/home/techb158/immovalet.com/vendor/botble/platform/base/src/Supports
NameSizeModeActions
Action.php9550644editdlrm
ActionHookEvent.php21360644editdlrm
Assets.php23640644editdlrm
Avatar.php88450644editdlrm
BaseSeeder.php14380644editdlrm
BreadcrumbsGenerator.php17290644editdlrm
BreadcrumbsManager.php49300644editdlrm
Core.php73240644editdlrm
CustomResourceRegistrar.php31050644editdlrm
DashboardMenu.php60210644editdlrm
Editor.php13410644editdlrm
EmailAbstract.php18170644editdlrm
EmailHandler.php115100644editdlrm
Enum.php55020644editdlrm
Filter.php13240644editdlrm
Gravatar.php5320644editdlrm
Helper.php71290644editdlrm
Language.php176930644editdlrm
MacroableModels.php37510644editdlrm
MembershipAuthorization.php27020644editdlrm
MetaBox.php87200644editdlrm
MountManager.php39940644editdlrm
PageTitle.php6680644editdlrm
PclZip.php2144990644editdlrm
RepositoryHelper.php8190644editdlrm
SortItemsWithChildrenHelper.php22810644editdlrm
SystemManagement.php41620644editdlrm
Edit: /home/techb158/immovalet.com/vendor/botble/platform/base/src/Supports/Core.php (7324B)
apiUrl = 'https://license.botble.com'; $this->apiKey = 'CAF4B17F6D3F656125F9'; $this->verificationPeriod = 1; $this->licenseFile = storage_path('.license'); $core = get_file_data(core_path('core.json')); if ($core) { $this->productId = Arr::get($core, 'productId'); $this->verifyType = Arr::get($core, 'source'); $this->apiUrl = Arr::get($core, 'apiUrl', $this->apiUrl); $this->apiKey = Arr::get($core, 'apiKey', $this->apiKey); } $this->apiUrl = rtrim($this->apiUrl, '/'); } /** * @return string */ public function getLicenseFilePath() { return $this->licenseFile; } /** * @param string $license * @param string $client * @param bool $createLicense * @return array */ public function activateLicense($license, $client, $createLicense = true) { $data = [ 'product_id' => $this->productId, 'license_code' => $license, 'client_name' => $client, 'verify_type' => $this->verifyType, ]; $response = $this->callApi($this->apiUrl . '/api/activate_license', $data); if (!empty($createLicense)) { if ($response['status']) { $license = trim($response['lic_response']); file_put_contents($this->licenseFile, $license, LOCK_EX); } else { @chmod($this->licenseFile, 0777); if (is_writeable($this->licenseFile)) { unlink($this->licenseFile); } } } return $response; } /** * @param string $url * @param string $data * @return array */ protected function callApi(string $url, array $data = []) { $client = new Client(['verify' => false]); try { $result = $client->post($url, [ 'headers' => [ 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'LB-API-KEY' => $this->apiKey, 'LB-URL' => rtrim(url('/'), '/'), 'LB-IP' => Helper::getIpFromThirdParty(), 'LB-LANG' => 'english', ], 'json' => $data, ]); } catch (Exception $exception) { return [ 'status' => false, 'message' => $exception->getMessage(), ]; } if (!$result && config('app.debug')) { return [ 'status' => false, 'message' => 'Server is unavailable at the moment, please try again.', ]; } $result = json_decode($result->getBody(), true); if (!$result['status']) { if (config('app.debug')) { return $result; } return [ 'status' => false, 'message' => 'Server returned an invalid response, please contact support.', ]; } return $result; } /** * @param bool $timeBasedCheck * @param bool $license * @param bool $client * @return array */ public function verifyLicense($timeBasedCheck = false, $license = false, $client = false) { $data = [ 'product_id' => $this->productId, 'license_file' => null, 'license_code' => null, 'client_name' => null, ]; if (!empty($license) && !empty($client)) { $data = [ 'product_id' => $this->productId, 'license_file' => null, 'license_code' => $license, 'client_name' => $client, ]; } elseif ($this->checkLocalLicenseExist()) { $data = [ 'product_id' => $this->productId, 'license_file' => file_get_contents($this->licenseFile), 'license_code' => null, 'client_name' => null, ]; } $response = [ 'status' => true, 'message' => 'Verified! Thanks for purchasing our product.', ]; if ($timeBasedCheck && $this->verificationPeriod > 0) { $type = (int)$this->verificationPeriod; $today = date('d-m-Y'); if (!session($this->sessionKey)) { session([$this->sessionKey => '00-00-0000']); } $typeText = $type . ' days'; if ($type == 1) { $typeText = '1 day'; } elseif ($type == 3) { $typeText = '3 days'; } elseif ($type == 7) { $typeText = '1 week'; } if (strtotime($today) >= strtotime(session($this->sessionKey))) { $response = $this->callApi($this->apiUrl . '/api/verify_license', $data); if ($response['status'] == true) { $tomorrow = date('d-m-Y', strtotime($today . ' + ' . $typeText)); session([$this->sessionKey => $tomorrow]); } } return $response; } return $this->callApi($this->apiUrl . '/api/verify_license', $data); } /** * @return bool */ public function checkLocalLicenseExist() { return is_file($this->licenseFile); } /** * @param bool $license * @param bool $client * @return array */ public function deactivateLicense($license = false, $client = false) { $data = []; if (!empty($license) && !empty($client)) { $data = [ 'product_id' => $this->productId, 'license_file' => null, 'license_code' => $license, 'client_name' => $client, ]; } elseif (is_file($this->licenseFile)) { $data = [ 'product_id' => $this->productId, 'license_file' => file_get_contents($this->licenseFile), 'license_code' => null, 'client_name' => null, ]; } $response = $this->callApi($this->apiUrl . '/api/deactivate_license', $data); if ($response['status']) { session()->forget($this->sessionKey); @chmod($this->licenseFile, 0777); if (is_writeable($this->licenseFile)) { unlink($this->licenseFile); } } return $response; } }