Example #1
0
 public function profileAction()
 {
     $this->disableLayout();
     $request = $this->getRequest();
     $id = $request->getParam('id');
     $user = Modules_Core_Services_User::getById($id);
     $this->view->user = $user;
     $width = $request->getParam('width');
     $align = strtolower($request->getParam('align'));
     switch ($align) {
         case 'left':
             $margin = '8px 0';
             break;
         case 'right':
             $margin = '8px 0 8px auto';
             break;
         case 'center':
             $margin = '8px auto';
         default:
             break;
     }
     $this->view->margin = $margin;
     $this->view->id = $id;
     $this->view->width = $width;
     $this->view->align = $align;
     header('Content-type: application/x-javascript');
 }
Example #2
0
 public function editAction()
 {
     $request = $this->getRequest();
     $userId = $request->getParam('user_id');
     $user = Modules_Core_Services_User::getById($userId);
     if (null == $user) {
         throw new Exception();
     }
     /**
      * Hide user password 
      */
     $user['password'] = null;
     $this->view->userData = $user;
     $roles = Modules_Core_Services_Role::getAllRoles();
     $this->view->roles = $roles;
     if ($request->isPost()) {
         $userData = $request->getPost('user');
         $userData = Modules_Core_Services_User::validate($userData);
         /**
          * Check user exist 
          */
         if ($userData['username'] && Modules_Core_Services_User::getByUsername($userData['username'], $userId)) {
             $userData['messages_error'] = true;
             $userData['messages']['username'] = '******';
         }
         /**
          * Check user exist 
          */
         if ($userData['email'] && Modules_Core_Services_User::getByEmail($userData['email'], $userId)) {
             $userData['messages_error'] = true;
             $userData['messages']['email'] = 'user_email_exist';
         }
         if (isset($userData['messages_error']) && $userData['messages_error']) {
             $this->view->errorMessages = $userData['messages'];
             $userData['user_id'] = $userId;
             $this->view->userData = $userData;
             return;
         }
         $salt = $user['salt'];
         $user = array('user_id' => $userId, 'username' => $userData['username'], 'password' => md5(md5($userData['password']) . $salt), 'email' => $this->view->STRING->escape($userData['email']), 'fullname' => $this->view->STRING->escape($userData['fullname']), 'salt' => $salt, 'status' => $this->view->STRING->escape($userData['status']), 'role_id' => $userData['role_id']);
         Modules_Core_Services_User::update($user);
         Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('user_actions_edit_success'));
         $this->redirect($this->view->url('core_user_edit', $user));
     }
 }
Example #3
0
 public function userAction()
 {
     $request = $this->getRequest();
     $userId = $request->getParam('user_id');
     $user = Modules_Core_Services_User::getById($userId);
     if (null == $user) {
         return;
     }
     $this->view->user = $user;
     $act = $request->getParam('act');
     if ($request->isPost()) {
         $this->setNoRender();
         $this->disableLayout();
         $mod = $request->getPost('mod');
         $this->view->mod = $mod;
         $controllers = Modules_Core_Services_Action::getDbActionsByModule($mod);
         switch ($act) {
             case 'save':
                 /**
                  *	Reset rule for user 
                  */
                 Modules_Core_Services_Rule::reset('user', $user['user_id'], $mod);
                 $actions = $request->getPost('actions');
                 if ($controllers) {
                     foreach ($controllers as $index => $controller) {
                         if ($controller['actions']) {
                             foreach ($controller['actions'] as $indexAction => $controllerAction) {
                                 $allow = 0;
                                 if ($actions) {
                                     foreach ($actions as $action) {
                                         if ($mod . '_' . $controller['controller_id'] . '_' . $controllerAction['action_id'] == $action) {
                                             $allow = 1;
                                         }
                                     }
                                 }
                                 $rule = array('module_id' => $mod, 'controller_id' => $controller['controller_id'], 'action_id' => $controllerAction['action_id'], 'object_type' => 'user', 'object_id' => $user['user_id'], 'allow' => $allow);
                                 $ruleId = Modules_Core_Services_Rule::add($rule);
                             }
                         }
                     }
                 }
                 $this->getResponse()->setBody('RESULT_OK');
                 return;
                 break;
             default:
                 $dbUserRules = Modules_Core_Services_Rule::getRules('user', $user['user_id']);
                 $dbRoleRules = Modules_Core_Services_Rule::getRules('role', $user['role_id']);
                 $dbRules = array_merge($dbUserRules, $dbRoleRules);
                 $this->view->dbRules = $dbRules;
                 $this->view->controllers = $controllers;
                 $viewFile = ROOT_DIR . DS . 'templates' . DS . $this->view->APP_TEMPLATE . DS . 'modules' . DS . 'core' . DS . 'permission' . DS . 'user.ajax.phtml';
                 $response = $this->view->render($viewFile);
                 $this->getResponse()->setBody($response);
                 return;
                 break;
         }
     }
     $modules = Modules_Core_Services_Module::getModulesInstalled();
     /**
      * Add module core to the top array 
      */
     $modules = array_pad($modules, -count($modules) - 1, array('module_id' => 'core'));
     $this->view->modules = $modules;
 }