checkLicense(); /* Catch claim license requests */ if (config('ninja.environment') == 'selfhost' && request()->has('license_key')) { $license_key = request()->input('license_key'); $product_id = 3; $url = config('ninja.license_url')."/claim_license?license_key={$license_key}&product_id={$product_id}&get_date=true"; $data = trim(CurlUtils::get($url)); if ($data == Account::RESULT_FAILURE) { $error = [ 'message' => trans('texts.invalid_white_label_license'), 'errors' => new stdClass, ]; return response()->json($error, 400); } elseif ($data) { $date = date_create($data)->modify('+1 year'); if ($date < date_create()) { $error = [ 'message' => trans('texts.invalid_white_label_license'), 'errors' => new stdClass, ]; $account->plan_term = Account::PLAN_TERM_YEARLY; $account->plan_paid = null; $account->plan_expires = null; $account->plan = Account::PLAN_FREE; $account->save(); return response()->json($error, 400); } else { $account = auth()->user()->company()->account; $account->plan_term = Account::PLAN_TERM_YEARLY; $account->plan_paid = $data; $account->plan_expires = $date->format('Y-m-d'); $account->plan = Account::PLAN_WHITE_LABEL; $account->save(); $error = [ 'message' => trans('texts.bought_white_label'), 'errors' => new stdClass, ]; return response()->json($error, 200); } } else { $error = [ 'message' => trans('texts.white_label_license_error'), 'errors' => new stdClass, ]; return response()->json($error, 400); } } $error = [ 'message' => ctrans('texts.invoice_license_or_environment', ['environment' => config('ninja.environment')]), 'errors' => new stdClass, ]; return response()->json($error, 400); } private function checkLicense() { $account = auth()->user()->company()->account; if($account->plan == 'white_label' && Carbon::parse($account->plan_expires)->lt(now())){ $account->plan = null; $account->plan_expires = null; $account->save(); } } }