Exemplo n.º 1
0
 public function action_edit($role_id = 0)
 {
     $role_id = intval($role_id);
     if ($role_id <= 0) {
         Request::instance()->redirect('/admin/role/index');
     }
     $role = BLL_Role::getById($role_id);
     if (!$role) {
         Request::instance()->redirect('/admin/role/index');
     }
     $data = array();
     if (Request::$method == "POST") {
         if (intval($_POST['role_id']) != $role_id) {
             Request::instance()->redirect('/admin/role/index');
         }
         $post = $role->validate_update($_POST);
         if ($post->check()) {
             $post_values = $post->as_array();
             $role->name = $post_values['name'];
             $role->description = $post_values['description'];
             $role->updated_at = date("y-m-d h:i:s");
             $role->save();
             Request::instance()->redirect('/admin/role/index');
         } else {
             $_POST = $post->as_array();
             $data['errors'] = $post->errors('admin/role/form');
         }
     }
     $this->template->title = __("Sửa nhóm tài khoản");
     $this->template->section_title = __("Sửa nhóm tài khoản");
     $data['role'] = $role;
     $this->template->content = View::factory('admin/role/edit', $data);
 }
Exemplo n.º 2
0
 /**
  * Change user roles
  * @param <type> $user_id
  */
 public function action_role($user_id)
 {
     $user_id = intval($user_id);
     $data = array();
     $user = BLL_User::getUserWithRoleById($user_id);
     if (!$user) {
         Request::instance()->redirect('admin/user/index');
     }
     if (Request::$method == 'POST' && isset($_POST['user_id'])) {
         //print_r($_POST);die();
         $_id = intval($_POST['user_id']);
         if ($_id != $user_id) {
             Request::instance()->redirect('admin/user/role/' . $user_id);
         }
         #check role "login" exists
         $check = false;
         if (is_array($user['Roles'])) {
             foreach ($user['Roles'] as $index => $role) {
                 if ($role['name'] == 'login') {
                     $check = true;
                     break;
                 }
             }
         }
         # if not existed => insert login role
         if (!$check) {
             $lnk = new RolesUsers();
             $lnk->user_id = $user_id;
             $lnk->role_id = BLL_Role::getInstance()->findOneBy('name', 'login')->id;
             $lnk->save();
         }
         BLL_User::deleteUserRoles($user_id);
         if (isset($_POST['roles']) && count($_POST['roles']) > 0) {
             foreach ($_POST['roles'] as $index => $role_id) {
                 //print_r($role_id);
                 $lnk = new RolesUsers();
                 $lnk->user_id = $user_id;
                 $lnk->role_id = $role_id;
                 $lnk->save();
             }
         }
         Request::instance()->redirect('admin/user/index');
     }
     $data['user'] = $user;
     $this->template->section_title = __("Sửa quyền tài khoản");
     $this->template->title = __("Sửa quyền tài khoản");
     //$data['user_id'] = $user_id;
     $data['roles'] = BLL_Role::getAllRoles();
     //print_r($data['user']);
     $this->template->content = View::factory('admin/user/role', $data);
 }