/** * onViewBeforeRender * * @param Event $event * * @return void */ public function onViewBeforeRender(Event $event) { $view = $event['view']; if (!$view instanceof HtmlView) { return; } /** * @var HtmlView $view * @var BladeRenderer $renderer */ $name = $view->getName(); $renderer = $view->getRenderer(); $app = $view->getPackage()->app; // Prepare View data if ($this->warder->isFrontend()) { // Extends $view['warder'] = new Data(['extends' => $this->warder->get('frontend.view.extends', '_global.html'), 'langPrefix' => $this->warder->get('frontend.language.prefix', 'warder.'), 'package' => WarderHelper::getPackage()]); // Paths $renderer->addPath(WARDER_SOURCE . '/Templates/' . $name . '/' . $app->get('language.locale'), PriorityQueue::LOW - 25); $renderer->addPath(WARDER_SOURCE . '/Templates/' . $name . '/' . $app->get('language.default'), PriorityQueue::LOW - 25); $renderer->addPath(WARDER_SOURCE . '/Templates/' . $name, PriorityQueue::LOW - 25); } elseif ($this->warder->isAdmin()) { // Extends $view['warder'] = new Data(['extends' => $this->warder->get('admin.view.extends', '_global.html'), 'langPrefix' => $this->warder->get('admin.language.prefix', 'warder.'), 'package' => WarderHelper::getPackage()]); // Paths $renderer->addPath(WARDER_SOURCE_ADMIN . '/Templates/' . $name . '/' . $app->get('language.locale'), PriorityQueue::LOW - 25); $renderer->addPath(WARDER_SOURCE_ADMIN . '/Templates/' . $name . '/' . $app->get('language.default'), PriorityQueue::LOW - 25); $renderer->addPath(WARDER_SOURCE_ADMIN . '/Templates/' . $name, PriorityQueue::LOW - 25); } }
/** * onAfterInitialise * * @param Event $event * * @return void */ public function onAfterInitialise(Event $event) { if ($this->warder->app->isConsole()) { return; } $class = $this->warder->get('class.handler', 'Lyrasoft\\Warder\\Handler\\UserHandler'); User::setHandler(new $class($this->warder)); }
/** * authenticate * * @param Credential $credential * * @return integer */ public function authenticate(Credential $credential) { $loginName = $this->warder->getLoginName(); if (!$credential->{$loginName} || !$credential->password) { $this->status = Authentication::EMPTY_CREDENTIAL; return false; } /** @var UserData $user */ $user = User::get(array($loginName => $credential->{$loginName})); if ($user->isNull()) { $this->status = Authentication::USER_NOT_FOUND; return false; } if (!UserHelper::verifyPassword($credential->password, $user->password)) { $this->status = Authentication::INVALID_PASSWORD; return false; } $credential->bind($user); $this->status = Authentication::SUCCESS; return true; }
/** * processGithub * * @param \Hybrid_Provider_Adapter $adapter * @param Credential $credential * * @return Credential */ protected function processGitHub(\Hybrid_Provider_Adapter $adapter, Credential $credential) { $userProfile = $adapter->getUserProfile(); $loginName = $this->warder->getLoginName(); // Generate a temp username that usr can edit it later. if ($loginName != 'email') { $username = strtolower(str_replace(' ', '', $userProfile->displayName)) . '-' . $userProfile->identifier; $credential->{$loginName} = $username; } $credential->email = $userProfile->email; $credential->name = $userProfile->displayName; $credential->_loginName = 'email'; return $credential; }