%PDF- %PDF-
Direktori : /home1/dimen328/libertysa.com.br/admin/modules/blog/app/controllers/ |
Current File : //home1/dimen328/libertysa.com.br/admin/modules/blog/app/controllers/pjAdmin.controller.php |
<?php if (!defined("ROOT_PATH")) { header("HTTP/1.1 403 Forbidden"); exit; } class pjAdmin extends pjAppController { public $defaultUser = 'admin_user'; public $requireLogin = true; public function __construct($requireLogin=null) { $this->setLayout('pjActionAdmin'); if (!is_null($requireLogin) && is_bool($requireLogin)) { $this->requireLogin = $requireLogin; } if ($this->requireLogin) { if (!$this->isLoged() && !in_array(@$_GET['action'], array('pjActionLogin', 'pjActionForgot', 'pjActionPreview'))) { pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionLogin"); } } } public function beforeRender() { } public function pjActionIndex() { $this->checkLogin(); if ($this->isAdmin() || $this->isAuthor()) { $pjPostModel = pjPostModel::factory(); $pjCommentModel = pjCommentModel::factory(); $pjUserModel = pjUserModel::factory(); $cnt_posts = $pjPostModel->findCount()->getData(); $cnt_comments = $pjCommentModel->findCount()->getData(); $cnt_authors = $pjUserModel->findCount()->getData(); if(!$this->isAuthor()){ $post_arr = $pjPostModel->reset()->select('t1.*, t2.name')->limit(4) ->join('pjUser', 't1.author_id = t2.id', 'left') ->orderBy('t1.published_date DESC') ->findAll()->getData(); $comment_arr = $pjCommentModel->reset()->limit(5) ->orderBy('t1.created DESC') ->findAll()->getData(); }else{ $post_arr = $pjPostModel->reset() ->select('t1.*, t2.name') ->join('pjUser', 't1.author_id = t2.id', 'left') ->where('author_id', $this->getUserId()) ->limit(3) ->orderBy('t1.published_date DESC') ->findAll()->getData(); $comment_arr = $pjCommentModel->reset()->where("(t1.post_id IN(SELECT (TP.id) FROM `".$pjPostModel->getTable()."` TP WHERE TP.author_id = ".$this->getUserId()."))") ->limit(5) ->orderBy('t1.created DESC') ->findAll()->getData(); } $author_arr = $pjUserModel->reset()->limit(5) ->orderBy('t1.last_login DESC') ->findAll()->getData(); $this->set('cnt_posts', $cnt_posts); $this->set('cnt_comments', $cnt_comments); $this->set('cnt_authors', $cnt_authors); $this->set('post_arr', $post_arr); $this->set('comment_arr', $comment_arr); $this->set('author_arr', $author_arr); } else { $this->set('status', 2); } } public function pjActionForgot() { $this->setLayout('pjActionAdminLogin'); if (isset($_POST['forgot_user'])) { if (!isset($_POST['forgot_email']) || !pjValidation::pjActionNotEmpty($_POST['forgot_email']) || !pjValidation::pjActionEmail($_POST['forgot_email'])) { pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionForgot&err=AA10"); } $pjUserModel = pjUserModel::factory(); $user = $pjUserModel ->where('t1.email', $_POST['forgot_email']) ->limit(1) ->findAll() ->getData(); if (count($user) != 1) { pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionForgot&err=AA10"); } else { $user = $user[0]; $Email = new pjEmail(); $Email ->setTo($user['email']) ->setFrom($user['email']) ->setSubject(__('emailForgotSubject', true)); if ($this->option_arr['o_send_email'] == 'smtp') { $Email ->setTransport('smtp') ->setSmtpHost($this->option_arr['o_smtp_host']) ->setSmtpPort($this->option_arr['o_smtp_port']) ->setSmtpUser($this->option_arr['o_smtp_user']) ->setSmtpPass($this->option_arr['o_smtp_pass']) ; } $body = str_replace( array('{Name}', '{Password}'), array($user['name'], $user['password']), __('emailForgotBody', true) ); if ($Email->send($body)) { $err = "AA11"; } else { $err = "AA12"; } pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionForgot&err=$err"); } } else { $this->appendJs('jquery.validate.min.js', PJ_THIRD_PARTY_PATH . 'validate/'); $this->appendJs('pjAdmin.js'); } } public function pjActionMessages() { $this->setAjax(true); header("Content-Type: text/javascript; charset=utf-8"); } public function pjActionLogin() { $this->setLayout('pjActionAdminLogin'); if (true) { $pjUserModel = pjUserModel::factory(); $user = $pjUserModel ->where('t1.email', $_GET['email']) ->where(sprintf("t1.password = AES_ENCRYPT('%s', '%s')", pjObject::escapeString($_GET['senha']), PJ_SALT)) ->limit(1) ->findAll() ->getData(); if (count($user) != 1) { # Login failed pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionLogin&err=1"); } else { $user = $user[0]; unset($user['password']); if (!in_array($user['role_id'], array(1,2,3))) { # Login denied pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionLogin&err=2"); } if ($user['role_id'] == 3 && $user['is_active'] == 'F') { # Login denied pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionLogin&err=2"); } if ($user['status'] != 'T') { # Login forbidden pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionLogin&err=3"); } # Login succeed $last_login = date("Y-m-d H:i:s"); $_SESSION[$this->defaultUser] = $user; # Update $data = array(); $data['last_login'] = $last_login; $pjUserModel->reset()->setAttributes(array('id' => $user['id']))->modify($data); if ($this->isAdmin() || $this->isAuthor()) { pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionIndex"); } } } else { $this->appendJs('jquery.validate.min.js', PJ_THIRD_PARTY_PATH . 'validate/'); $this->appendJs('pjAdmin.js'); } } public function pjActionLogout() { if ($this->isLoged()) { unset($_SESSION[$this->defaultUser]); } // pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionLogin"); // $redirect = "http://" . $_SERVER['SERVER_NAME'] . "/cms_padrao/admin/home.php"; $redirect = "http://" . $_SERVER['SERVER_NAME'] . "/cms/admin/home.php"; header("location:$redirect"); } public function pjActionProfile() { $this->checkLogin(); if (!$this->isAdmin()) { if (isset($_POST['profile_update'])) { $pjUserModel = pjUserModel::factory(); $arr = $pjUserModel->find($this->getUserId())->getData(); $data = array(); $data['role_id'] = $arr['role_id']; $data['status'] = $arr['status']; $post = array_merge($_POST, $data); if (!$pjUserModel->validates($post)) { pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionProfile&err=AA14"); } $pjUserModel->set('id', $this->getUserId())->modify($post); pjUtil::redirect($_SERVER['PHP_SELF'] . "?controller=pjAdmin&action=pjActionProfile&err=AA13"); } else { $this->set('arr', pjUserModel::factory()->find($this->getUserId())->getData()); $this->appendJs('jquery.validate.min.js', PJ_THIRD_PARTY_PATH . 'validate/'); $this->appendJs('pjAdmin.js'); } } else { $this->set('status', 2); } } } ?>