Esempio n. 1
0
 public function loginAction()
 {
     $form = new Admin_Form_Login();
     $form->setAction($this->baseUrl . '/public/index/login');
     if ($this->_request->isPost() && $form->isValid($_POST)) {
         $uri = Digitalus_Filter_Post::get('uri');
         $username = Digitalus_Filter_Post::get('adminUsername');
         $password = Digitalus_Filter_Post::get('adminPassword');
         $auth = new Digitalus_Auth($username, $password);
         $result = $auth->authenticate();
         if (!$result) {
             $e = new Digitalus_View_Error();
             $e->add($this->view->getTranslation('The username or password you entered was not correct.'));
         } else {
             $uri = Digitalus_Toolbox_Page::getHomePageName();
             $this->_redirect($uri);
         }
     }
     # ---------------------------------------------------------------------------- #
     $this->page->content = array('label' => 'Auth', 'headline' => $this->view->getTranslation('Authorisation required'), 'content' => $this->view->partial('partials/login.phtml', array('form' => $form)));
     $this->page->defaultContent = $this->page->content;
     // load the view
     Digitalus_Builder::loadPage(null, 'load_view.xml', $this->page, $this->view);
     // render the page
     $this->view->page = $this->page;
     $this->view->layout()->page = $this->page->getParam('xhtml');
     $this->renderScript('index/index.phtml');
 }
Esempio n. 2
0
 /**
  * returns the complete user row for the currently logged in user
  * @return zend_db_row
  */
 public function getCurrentUser()
 {
     $currentUser = Digitalus_Auth::getIdentity();
     if ($currentUser) {
         return $this->find($currentUser->user_id)->current();
     }
 }
Esempio n. 3
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     // Kiem tra neu chua dang nhap thi bo qua
     $identity = Digitalus_Auth::getIdentity();
     if (!$identity) {
         return;
     }
     ////////////////////////////////////////
     //    	$this->_cache = ZendX_Cache_Manager::getInstance();
     $this->_cache = Digitalus_Cache_Manager::getInstance();
     // La la cac phuong thuc khac get() no se khong lay tu content tu cache ra
     if (!$request->isGet()) {
         self::$doNotCache = true;
         return;
     }
     $module = $request->getModuleName();
     $controller = $request->getControllerName();
     $action = $request->getActionName();
     $path = $request->getPathInfo();
     // co loi o day , xem link de biet cach sua
     $this->_key = md5($path);
     $this->_keyTags = array($module, "{$module}_{$controller}", "{$module}_{$controller}_{$action}");
     if (false !== ($data = $this->getCache())) {
         $response = $this->getResponse();
         $response->setBody($data['default']);
         $response->sendResponse();
         exit;
     }
 }
Esempio n. 4
0
 public function deleteBookmark($id)
 {
     if (empty($userName) || '' == $userName) {
         $identity = Digitalus_Auth::getIdentity();
         $userName = $identity->name;
     }
     $where[] = $this->_db->quoteInto('user_name = ?', $userName);
     $where[] = $this->_db->quoteInto('id = ?', $id);
     return $this->delete($where);
 }
Esempio n. 5
0
 public function deleteBookmark($id)
 {
     $identity = Digitalus_Auth::getIdentity();
     $userId = $identity->id;
     if ($userId > 0) {
         $where[] = $this->_db->quoteInto('parent_id = ?', $userId);
         $where[] = $this->_db->quoteInto('id=?', $id);
         $where[] = $this->_db->quoteInto('content_type=?', $this->_type);
         return $this->delete($where);
     }
 }
Esempio n. 6
0
 /**
  * this function sets up then loads the menu
  *
  * @param int $parentId
  * @param int $levels
  */
 public function __construct($parentId = 0)
 {
     $this->setView();
     $this->_initCache();
     $this->_identity = Digitalus_Auth::getIdentity();
     $this->_parentId = $parentId;
     // check whether Zend_Navigation is already registered
     if (!Zend_Registry::isRegistered('Zend_Navigation')) {
         $this->_load();
     }
 }
Esempio n. 7
0
 public function SelectAdminRole($name, $value, $attribs = false)
 {
     $objGroups = new Model_Groups();
     $rsGroups = $objGroups->fetchAll(null, 'level');
     $currentUser = Digitalus_Auth::getIdentity();
     //    	$group_admin_system = Model_Parameters::getParam('group_admin_system');
     $group_admin_system = Model_User::SUPERUSER_ROLE;
     foreach ($rsGroups as $rowGroup) {
         if ($rowGroup->role == $group_admin_system && $currentUser->role != $group_admin_system) {
             continue;
         }
         $data[$rowGroup->group_id] = $rowGroup->group_name;
     }
     //        $data['admin']      = $this->view->getTranslation('Site Administrator');
     //        $data['superadmin'] = $this->view->getTranslation('Super Administrator');
     return $this->view->formSelect($name, $value, $attribs, $data);
 }
Esempio n. 8
0
 /**
  * add the current request to the traffic log
  *
  */
 public function logHit()
 {
     $date = new Zend_Date();
     $data['timestamp'] = $date->get(Zend_Date::TIMESTAMP);
     $data['day'] = $date->get(Zend_Date::WEEKDAY_DIGIT);
     $data['week'] = $date->get(Zend_Date::WEEK);
     $data['month'] = $date->get(Zend_Date::MONTH);
     $data['year'] = $date->get(Zend_Date::YEAR);
     $data['page'] = $_SERVER['REQUEST_URI'];
     $data['ip'] = $_SERVER['REMOTE_ADDR'];
     //get the admin identity
     $user = Digitalus_Auth::getIdentity();
     if ($user) {
         $data['user_name'] = $user->name;
     }
     $this->insert($data);
 }
Esempio n. 9
0
 public function saveUsersNotes($notes, $userName = null)
 {
     if (empty($userName) || '' == $userName) {
         $identity = Digitalus_Auth::getIdentity();
         $userName = $identity->name;
     }
     $where[] = $this->_db->quoteInto('user_name = ?', $userName);
     $row = $this->fetchRow($where);
     if ($row) {
         $row->content = $notes;
         $row->save();
     } else {
         //the row does not exist.  create it
         $data = array('user_name' => $userName, 'content' => $notes);
         $this->insert($data);
     }
 }
Esempio n. 10
0
 public function saveUsersNotes($notes, $userId = null)
 {
     $identity = Digitalus_Auth::getIdentity();
     $userId = $identity->id;
     if ($userId > 0) {
         $where[] = $this->_db->quoteInto('parent_id = ?', $this->_namespace . '_' . $userId);
         $where[] = $this->_db->quoteInto('node = ?', $this->_type);
         $row = $this->fetchRow($where);
         if ($row) {
             $row->content = $notes;
             $row->save();
         } else {
             //the row does not exist.  create it
             $data = array('content' => $notes, 'node' => $this->_type, 'parent_id' => $this->_namespace . '_' . $userId);
             $this->insert($data);
         }
     }
 }
Esempio n. 11
0
 /**
  * validate the current user's request
  *
  * @param zend_controller_request $request
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $this->_identity = Digitalus_Auth::getIdentity();
     $controller = $request->controller;
     $module = $request->module;
     $controller = $controller;
     $action = $request->action;
     //go from more specific to less specific
     $moduleLevel = $module;
     $controllerLevel = $moduleLevel . '_' . $controller;
     $actionLevel = $controllerLevel . '_' . $action;
     if ($module != 'public' && $controller != 'public') {
         // Cac module quan ly admin
         if (!$this->_identity) {
             // Chua dang nhap
             $request->setModuleName($this->_noauth['module']);
             $request->setControllerName($this->_noauth['controller']);
             $request->setActionName($this->_noauth['action']);
             $request->setParam('authPage', 'login');
             return;
         }
         $this->_acl = new Digitalus_Acl();
         $role = $this->_identity->role;
         if ($this->_acl->has($actionLevel)) {
             $resource = $actionLevel;
         } elseif ($this->_acl->has($controllerLevel)) {
             $resource = $controllerLevel;
         } else {
             $resource = $moduleLevel;
         }
         if ($this->_acl->has($resource) && !$this->_acl->isAllowed($role, $resource)) {
             $request->setModuleName($this->_noacl['module']);
             $request->setControllerName($this->_noacl['controller']);
             $request->setActionName($this->_noacl['action']);
             $request->setParam('authPage', 'noauth');
         }
     } else {
         // Day la module public
     }
 }
Esempio n. 12
0
 /**
  * validate the current user's request
  *
  * @param Zend_Controller_Request_Abstract $request
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $this->_identity = Digitalus_Auth::getIdentity();
     $this->_acl = new Digitalus_Acl();
     $role = Model_Group::GUEST_ROLE;
     if (!empty($this->_identity)) {
         $role = $this->_identity->role;
     }
     $module = $request->module;
     $controller = $request->controller;
     $action = $request->action;
     if ($module != 'public' && $controller != 'public') {
         //go from more specific to less specific
         $moduleLevel = $module;
         $controllerLevel = $moduleLevel . '_' . $controller;
         $actionLevel = $controllerLevel . '_' . $action;
         if ($this->_acl->has($actionLevel)) {
             $resource = $actionLevel;
         } else {
             if ($this->_acl->has($controllerLevel)) {
                 $resource = $controllerLevel;
             } else {
                 $resource = $moduleLevel;
             }
         }
         if ($this->_acl->has($resource) && !$this->_acl->isAllowed($role, $resource)) {
             if (!$this->_identity || Model_Group::GUEST_ROLE == $role) {
                 $request->setModuleName($this->_noAuth['admin']['module']);
                 $request->setControllerName($this->_noAuth['admin']['controller']);
                 $request->setActionName($this->_noAuth['admin']['action']);
                 $request->setParam('authPage', 'login');
             } else {
                 $request->setModuleName($this->_noAcl['admin']['module']);
                 $request->setControllerName($this->_noAcl['admin']['controller']);
                 $request->setActionName($this->_noAcl['admin']['action']);
                 $request->setParam('authPage', 'noauth');
             }
         }
     } else {
         $resource = Digitalus_Toolbox_Page::getCurrentPageName();
         // write pageName to registry when coming from a page
         if ('index' == $controller && 'index' == $action) {
             Zend_Registry::set('Digitalus_Page_Name', $resource);
         }
         $resource = strtolower(Digitalus_Toolbox_String::replaceUnderscore($resource));
         // only check Acl if page is NOT homepage
         if (!empty($resource) && '' != $resource && Digitalus_Toolbox_Page::getHomePageName() != $resource) {
             if ($this->_acl->has($resource) && !$this->_acl->isAllowed($role, $resource)) {
                 if (!$this->_identity || Model_Group::GUEST_ROLE != $role) {
                     $request->setModuleName($this->_noAcl['public']['module']);
                     $request->setControllerName($this->_noAcl['public']['controller']);
                     $request->setActionName($this->_noAcl['public']['action']);
                     $request->setParam('authPage', 'login');
                 } else {
                     $request->setModuleName($this->_noAcl['public']['module']);
                     $request->setControllerName($this->_noAcl['public']['controller']);
                     $request->setActionName($this->_noAcl['public']['action']);
                     $request->setParam('authPage', 'noauth');
                 }
             }
         }
     }
 }
Esempio n. 13
0
 /**
  * The default public action - display login form and login
  *
  * @return void
  */
 public function indexAction()
 {
     $loginForm = new Admin_Form_Login();
     $loginForm->setAction($this->baseUrl . '/' . Digitalus_Toolbox_Page::getCurrentPageName(false));
     if ($this->_request->isPost() && $loginForm->isValid($_POST)) {
         $username = Digitalus_Filter_Post::get('adminUsername');
         $password = Digitalus_Filter_Post::get('adminPassword');
         $auth = new Digitalus_Auth($username, $password);
         $result = $auth->authenticate();
         if (is_null($result)) {
             $e = new Digitalus_View_Error();
             $e->add($this->view->getTranslation('The username or password you entered was not correct.'));
             #            } else {
             #                $this->_redirect(Digitalus_Toolbox_Page::getHomePageName());
         }
     }
     $this->view->form = $loginForm;
 }
Esempio n. 14
0
 /**
  * Logout action
  *
  * kills the authorized user object
  * then redirects to the main index page
  *
  * @return void
  */
 public function logoutAction()
 {
     Digitalus_Auth::destroy();
     Zend_Auth::getInstance()->clearIdentity();
     $this->_redirect('/');
 }
Esempio n. 15
0
 /**
  * returns the complete group row for the currently logged in group
  * @return zend_db_row
  */
 public function getCurrentUserRole()
 {
     $currentUser = Digitalus_Auth::getIdentity();
     if (!empty($currentUser) && isset($currentUser->role)) {
         return $currentUser->role;
     }
 }
Esempio n. 16
0
 /**
  * Login action
  *
  * kills the authorized user object
  * then redirects to the main index page
  *
  * @return void
  */
 public function logoutAction()
 {
     Digitalus_Auth::destroy();
     $this->_redirect('/');
 }
Esempio n. 17
0
 /**
  * returns the complete user row for the currently logged in user
  * @return Zend_Db_Row
  */
 public function getCurrentUser()
 {
     $currentUser = Digitalus_Auth::getIdentity();
     if (!empty($currentUser) && isset($currentUser->name) && Model_Group::GUEST_ROLE != $currentUser->name) {
         return $this->find($currentUser->name)->current();
     } else {
         return $currentUser;
     }
 }