/**
  * 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');
     }
 }
Exemple #6
0
 /**
  * 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();
     }
 }