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); }
/** * 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); }