/** * Busca todas as informações do usuário logado * @return array contendo nome de usuário, tipo e imagem de perfil do usuário logado */ public function getUserLoggedInformation() { $this->session->start(); $user = Users::findFirstByUser_id($this->session->get("user_id")); $user_name = explode(" ", $user->user_name); $vars['user'] = $user_name[0]; $vars['user_type_id'] = $user->user_type_id; $vars['user_img'] = $user->user_img; return $vars; }
/** * Envia uma nova senha para o email do usuário * @return boolean true em caso de sucesso ou false em caso de falha */ public function sendNewPasswordAction() { $this->view->disable(); $email = $this->request->getPost("email"); $user = Users::findFirstByUser_email($email); $libmail = setMailLibrary(); if (!empty($user)) { $new_password = $this->uid(8); $user->user_passwd = sha1(md5($new_password)); $user->save(); return $libMail->sendMessage("Nova senha - Pluton", array($email), 'Olá, sua nova senha de acesso ao sistema é: ' . $new_password); } }
/** * Carrega a tela inicial de configurações */ public function indexAction() { $this->session->start(); $user = Users::findFirstByUser_id($this->session->get("user_id")); if ($user->user_type_id <= 2) { $vars = $this->getUserLoggedInformation(); //Busca informações da conta google $google_account = GoogleAccounts::findFirst(); if (!empty($google_account)) { $vars['google_account_login'] = $google_account->google_account_login; $vars['google_account_key_file_name'] = $google_account->google_account_key_file_name; $vars['google_analytics_script'] = $google_account->google_analytics_script; $vars['google_analytics_active'] = $google_account->google_analytics_active; $vars['google_adsense_active'] = $google_account->google_adsense_active; } //Busca informações da página do facebook $fb_page = FacebookPages::findFirst(); if ($fb_page != NULL) { $vars['fb_page_name'] = $fb_page->facebook_page_name; $vars['fb_active'] = $fb_page->facebook_active; } //Busca informações do twitter $tw_account = TwitterAccounts::findFirst(); if (!empty($tw_account)) { $vars['tw_account_app_id'] = $tw_account->twitter_account_app_id; $vars['tw_account_app_secret'] = $tw_account->twitter_account_app_secret; $vars['tw_account_username'] = $tw_account->twitter_account_username; $vars['tw_active'] = $tw_account->twitter_active; } //Busca as preferências do blog $preferences = Blogs::findFirst(); if (!empty($preferences)) { $vars['title'] = $preferences->blog_name; $vars['url'] = $preferences->blog_url; $vars['mail'] = $preferences->blog_mail; $vars['mail_active'] = $preferences->blog_send_mail; $vars['blog_about'] = $preferences->blog_about; $vars['menus'] = $this->getSideBarMenus(); } //Caso haja dados de conta a ser exibido seta as váriaveis para exibição na view if (!empty($vars)) { $this->view->setVars($vars); } $this->view->render("settings", "index"); } else { $this->response->redirect(URL_PROJECT . "admin"); } }
/** * Carrega tabela com uma lista dos plugins instalados */ public function listPluginsAction() { $this->session->start(); if ($this->session->get("user_id") != NULL) { $vars = $this->getUserLoggedInformation(); $vars['menus'] = $this->getSideBarMenus(); $usr = Users::findFirstByUser_id($this->session->get("user_id")); if ($usr->user_type_id <= 2) { $plugins = Plugin::find()->toArray(); foreach ($plugins as $id => $plugin) { $menus[$id] = Menu::findFirstByMenu_id($plugin['menu_id'])->toArray(); } $vars['menu'] = $menus; $vars['plugins'] = $plugins; } } $this->view->setVars($vars); }
/** * Carrega uma tabela listando as postagens existentes no sistema */ public function listPostsAction() { $this->session->start(); if ($this->session->get('user_id') != NULL) { $vars = $this->getUserLoggedInformation(); $user = Users::findFirstByUser_id($this->session->get('user_id')); if ($user->user_type_id < 3) { $posts = Posts::find(array("order" => "post_date_posted DESC")); } elseif ($user->user_type_id == 3) { $usr = Users::find(array("conditions" => "user_type_id > :user_type_id: OR user_id = :user_id: ", "bind" => array("user_type_id" => $user->user_type_id, "user_id" => $user->user_id))); foreach ($usr as $u) { $arr_id_users[] = $u->user_id; } $string_users = implode(",", $arr_id_users); $posts = Posts::find(array("conditions" => "post_author IN ({$string_users})", "order" => "post_date_posted DESC")); } else { $posts = Posts::findByPost_author($user->user_id); } $vars['menus'] = $this->getSideBarMenus(); $vars['posts'] = $posts; $vars['categories'] = $this->getCategoriesByPost($posts); $this->view->setVars($vars); $this->view->render("post", "listPosts"); } else { $this->response->redirect(URL_PROJECT . 'admin'); } }
/** * Verifica se existe usuário cadastrado com o login ou email informados * @param string $user_login login do novo usuaŕio * @param string $user_email email do novo usuário * @return boolean Verdadeiro caso usuário exista ou falso caso contrário */ public function userExists($user_name, $user_login, $user_email) { $user = Users::query()->where("user_name = :user_name:")->orWhere("user_login = :user_login:"******"user_email = :user_email:")->bind(array("user_name" => $user_name, "user_login" => $user_login, "user_email" => $user_email))->execute(); $result = $user->getFirst(); return !empty($result); }
/** * Efetua a "instalação" do sistema; Criando o usuário Super-Administrador e o blog */ public function installPlutonAction() { //Informa que a action não possui nenhuma view para exibição $this->view->disable(); $blog_name = $this->request->getPost('blog_name'); $user_name = $this->request->getPost('user_name'); $user_email = $this->request->getPost('user_email'); $user_login = $this->request->getPost('user_login'); $user_passwd = sha1(md5($this->request->getPost('user_passwd'))); /** * Insere os dados necessários no banco de dados para utilização inicial do sistema */ try { $success = $this->createUsersTypes(); $success = $success ? $this->createPostsStatus() : false; $layout_id = $success ? Layouts::createLayout() : false; $success = $layout_id != 0 ? Blogs::createBlog($blog_name, $layout_id, false) : false; $blog = Blogs::findFirst(); $success = $success ? Users::createUser($user_name, $user_email, $user_login, $user_passwd, 1, NULL, $blog->blog_id) : false; $user = Users::findFirst(); $success = $success ? UserBlog::createUserBlog($user->user_id, $blog->blog_id) : false; $success = $success ? $this->createMenus() : false; $data['message'] = $success ? 'Sistema Instalado Com sucesso!' : 'Ocorreu um erro durante a instalação. Por favor tente novamente'; $data['success'] = $success; echo json_encode($data); } catch (\PDOException $e) { $data['success'] = false; $data['message'] = "Ocorreu um erro: " . $e; echo json_encode($data); } }
/** * Utiliza o método BaseController::uid() para gerar um nome para a imagem de perfil a ser salva. * @return string nome da imagem */ public function getImgName() { $img_name = $this->uid(); $result = Users::findFirstByuser_img($img_name); if (empty($result)) { return $img_name; } else { $this->getImgName(); } }