Source of file AdminSecurity.php
Size: 2,511 Bytes - Last Modified: 2022-01-13T10:01:01+00:00
/var/www/docs.ssmods.com/process/src/code/AdminSecurity.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | <?php /** * Class AdminSecurity. */ class AdminSecurity extends Security { /** * @var array */ private static $allowed_actions = [ 'passwordsent', 'ChangePasswordForm', ]; /** * Template thats used to render the pages. * * @config * * @var string */ private static $template_main = 'AdminLogin'; /** * @return void */ public function init() { parent::init(); $access = new IpAccess($this->getRequest()->getIP()); if (!$access->hasAccess()) { $access->respondNoAccess($this); } if (Config::inst()->get('AdminLogin', 'UseTheme') !== true) { // this prevents loading frontend css and javscript files Object::useCustomClass('Page_Controller', 'AdminLoginPage_Controller'); Requirements::css('adminlogin/css/style.css'); } Object::useCustomClass('MemberLoginForm', 'AdminLoginForm'); } /** * @param null $action * * @return string */ public function Link($action = null) { return "AdminSecurity/$action"; } /** * @return string */ public static function isAdminLogin() { return strstr(self::getBackUrl(), '/admin/'); } /** * @return string */ public static function getBackUrl() { $request = Controller::curr()->getRequest(); if ($url = $request->requestVar('BackURL')) { return $url; } return ''; } /** * @param SS_HTTPRequest $request * * @return SS_HTTPResponse|HTMLText */ public function passwordsent($request) { return parent::passwordsent($request); } /** * @see Security::getPasswordResetLink() * We overload this, so we can add the BackURL to the password resetlink * * @param Member $member * @param string $autologinToken * * @return string */ public static function getPasswordResetLink($member, $autologinToken) { $autologinToken = urldecode($autologinToken); $selfControllerClass = __CLASS__; $selfController = new $selfControllerClass(); return $selfController->Link('changepassword')."?m={$member->ID}&t=$autologinToken"; } /** * @return ChangePasswordForm */ public function ChangePasswordForm() { return new ChangePasswordForm($this, 'ChangePasswordForm'); } } |