/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/MembershipAuthorization.php (2702B)
client = $client; $this->settingStore = $settingStore; $this->request = $request; $this->url = rtrim(url('/'), '/'); } /** * @return boolean */ public function authorize(): bool { try { if (!filter_var($this->url, FILTER_VALIDATE_URL)) { return false; } if ($this->isInvalidDomain()) { return false; } $authorizeDate = $this->settingStore->get('membership_authorization_at'); if (!$authorizeDate) { return $this->processAuthorize(); } $authorizeDate = Carbon::createFromFormat('Y-m-d H:i:s', $authorizeDate); if (now()->diffInDays($authorizeDate) > 7) { return $this->processAuthorize(); } return true; } catch (Exception $exception) { return false; } } /** * @return bool */ protected function isInvalidDomain(): bool { if (filter_var($this->url, FILTER_VALIDATE_IP)) { return true; } $blacklistDomains = [ 'localhost', '.local', '.test', '127.0.0.1', '192.', 'mail.', '8000', ]; foreach ($blacklistDomains as $blacklistDomain) { if (Str::contains($this->url, $blacklistDomain)) { return true; } } return false; } /** * @return bool */ protected function processAuthorize(): bool { $this->client->post('https://botble.com/membership/authorize', [ 'form_params' => [ 'website' => $this->url, ], ]); $this->settingStore ->set('membership_authorization_at', now()->toDateTimeString()) ->save(); return true; } }