/** * Execute the controller. * * @return mixed Return executed result. * * @throws \LogicException * @throws \RuntimeException */ public function execute() { if (UserHelper::isLogin()) { Ioc::getApplication()->redirect(Router::build('admin:dashboard')); } $model = new LoginModel(); $session = Ioc::getSession(); $user = $this->input->getVar('user'); $result = $model->login($user['username'], $user['password']); $package = $this->getPackage(); $redirect = $session->get('login.redirect.url'); if ($result) { $url = $redirect ? base64_decode($redirect) : $package->get('redirect.login'); $msg = Language::translate('Login Success'); } else { $router = Ioc::getRouter(); $url = $router->build($this->package->getRoutingPrefix() . ':login'); $msg = Language::translate('Login Fail'); } $uri = new Uri($url); if (!$uri->getScheme()) { $url = $this->app->get('uri.base.full') . $url; } $session->remove('login.redirect.url'); $this->setRedirect($url, $msg); return true; }
/** * onBeforeRouting * * @param Event $event * * @return void * * @throws \Exception */ public function onBeforeRouting(Event $event) { $app = Ioc::getApplication(); $uri = $app->initUri(); $uri = new Uri(strtolower($uri->full)); $host = $uri->getHost(); $host = explode('.', $host); array_pop($host); array_pop($host); $alias = implode('.', $host); $alias = trim(str_replace('.', '', $alias)); // If is main domain but logged in, go to admin if (!$alias && UserHelper::isLogin()) { $app->set('client', 'admin'); return; } // Has subdomain, means it is users' blog if ($alias) { $blogMapper = new DataMapper('blogs'); $blog = $blogMapper->findOne(['alias' => $alias]); if ($blog->isNull()) { throw new \Exception('Blog not found', 404); } Ioc::getContainer('front')->set('current.blog', $blog); $app->set('client', 'front'); return; } // Main domain, got to site $app->set('client', 'site'); }
/** * Execute the controller. * * @return mixed Return executed result. * * @throws \LogicException * @throws \RuntimeException */ public function execute() { try { $id = $this->input->get('id'); if ($id) { $author = Author::getAuthor($id); $author->image = "0"; (new DataMapper('authors'))->updateOne($author, 'id'); } } catch (\Exception $e) { $response = new Response(); $response->setBody(json_encode(['error' => $e->getMessage()])); $response->setMimeType('text/json'); $response->respond(); exit; } $return = new Registry(); $return['success'] = true; $return['image'] = UserHelper::getGavatar('*****@*****.**', 400); $response = new Response(); $response->setBody((string) $return); $response->setMimeType('text/json'); $response->respond(); exit; }
/** * getAvatar * * @param int $pk * * @return string */ public static function getAvatar($pk = null, $size = 48) { $user = UserHelper::get($pk); if ($user->image) { return $user->image; } return static::getGavatar($user->email, $size); }
/** * onAfterRouting * * @param Event $event * * @return void */ public function onAfterRouting(Event $event) { $app = Ioc::getApplication(); $controller = Ioc::get('main.controller'); if ($controller->getPackage() instanceof AdminPackage) { // Check is logged-in or redirect to login page UserHelper::checkLogin(); } }
/** * Execute the controller. * * @return mixed Return executed result. * * @throws \LogicException * @throws \RuntimeException */ public function execute() { if (UserHelper::isLogin()) { Ioc::getApplication()->redirect(Router::build('admin:dashboard')); } $model = new LoginModel(); $view = new LoginHtmlView(); $view['form'] = $model->getForm(); return $view->render(); }
/** * Execute the controller. * * @return mixed Return executed result. * * @throws \LogicException * @throws \RuntimeException */ public function execute() { if (UserHelper::isLogin()) { Ioc::getApplication()->redirect(Router::build('admin:dashboard')); } $model = new RegistrationModel(); $view = new RegistrationHtmlView(); $session = Ioc::getSession(); $view['item'] = $session['register.form.data'] ?: array(); $view['item'] = new Data($view['item']); return $view->render(); }
/** * Execute the controller. * * @return mixed Return executed result. * * @throws \LogicException * @throws \RuntimeException */ public function execute() { $query = $this->input->getString('query'); $query = trim($query); if (!$query) { return; } $queries = explode(' ', $query); $mapper = new DataMapper('users'); $conditions = []; $q = Ioc::getDatabase()->getQuery(true); foreach ($queries as $query) { if (!trim($query)) { continue; } $query = $q->quote('%' . $query . '%'); $conditions[] = 'username LIKE ' . $query; $conditions[] = 'fullname LIKE ' . $query; $conditions[] = 'email LIKE ' . $query; } $conditions = new QueryElement('()', $conditions, ' OR '); $users = $mapper->find([(string) $conditions], 'username', 0, 10); $suggestions = []; $tmpl = <<<VALUE <div> \t<img width="48" height="48" class="find-author-avatar pull-left" src="%s" alt=""/> \t<div class="find-author-name">%s <small>%s</small></div> \t<small>%s</small> \t<div class="clearfix"></div> </div> VALUE; foreach ($users as $user) { $suggestions[] = ['value' => sprintf($tmpl, UserHelper::getAvatar($user->id), $user->fullname, $user->username, $user->email), 'data' => $user->username]; } $response = new Response(); $response->setBody(json_encode(['suggestions' => $suggestions])); $response->setMimeType('text/json'); $response->respond(); exit; return true; }
/** * Execute the controller. * * @return mixed Return executed result. * * @throws \LogicException * @throws \RuntimeException */ public function execute() { $user = User::get(); try { $user->image = "0"; User::save($user); } catch (\Exception $e) { $response = new Response(); $response->setBody(json_encode(['error' => $e->getMessage()])); $response->setMimeType('text/json'); $response->respond(); exit; } $return = new Registry(); $return['success'] = true; $return['image'] = UserHelper::getAvatar($user->id, 650); $response = new Response(); $response->setBody((string) $return); $response->setMimeType('text/json'); $response->respond(); exit; }
/** * prepareData * * @param \Windwalker\Data\Data $data * * @return void */ protected function prepareData($data) { $data['avatar'] = UserHelper::getAvatar(User::get()->id, 650); }
/** * getAvatar * * @param integer $pk * @param integer $size * * @return string */ public static function getAvatar($pk, $size = 48) { if ($pk instanceof Data) { $author = $pk; } else { $author = static::getAuthor($pk); } if (!$author->user) { return $author->image ?: UserHelper::getGavatar('*****@*****.**', $size); } return UserHelper::getAvatar($author->user, $size); }