Пример #1
0
 public function saveUserPermission()
 {
     $this->load->library('session');
     $userDao = new ScrudDao('crud_users', $this->db);
     $pDao = new ScrudDao('crud_user_permissions', $this->db);
     $data = $this->input->post('data');
     $this->db->query('TRUNCATE TABLE `crud_user_permissions`');
     if (count($data) > 0) {
         foreach ($data as $k => $v) {
             $user = array();
             $user['user_manage_flag'] = $v['user_manage_flag'];
             $userDao->update($user, array('id = ?', array($v['user_id'])));
             $crudAuth = $this->session->userdata('CRUD_AUTH');
             if ($v['user_id'] == $crudAuth['id']) {
                 $crudAuth['user_manage_flag'] = $v['user_manage_flag'];
                 $this->session->set_userdata('CRUD_AUTH', $crudAuth);
             }
             if (count($v['tables']) > 0) {
                 $tables = $v['tables'];
                 foreach ($tables as $k1 => $v1) {
                     if (count($v1['permission_type']) > 0) {
                         foreach ($v1['permission_type'] as $permission) {
                             if ((int) $permission > 0) {
                                 $p = array();
                                 $p['user_id'] = $v['user_id'];
                                 $p['table_name'] = $v1['table_name'];
                                 $p['permission_type'] = $permission;
                                 $pDao->save($p);
                             }
                         }
                     }
                 }
             }
         }
     }
     $ary = array(1, 2, 3, 4);
     foreach ($data as $k => $v) {
         foreach ($ary as $v1) {
             if ($v['user_manage_flag'] == 1 || $v['user_manage_flag'] == 3) {
                 $p = array();
                 $p['user_id'] = $v['user_id'];
                 $p['table_name'] = 'crud_users';
                 $p['permission_type'] = $v1;
                 $pDao->save($p);
             }
         }
     }
     foreach ($data as $k => $v) {
         foreach ($ary as $v1) {
             if ($v['user_manage_flag'] == 1 || $v['user_manage_flag'] == 3) {
                 $p = array();
                 $p['user_id'] = $v['user_id'];
                 $p['table_name'] = 'crud_groups';
                 $p['permission_type'] = $v1;
                 $pDao->save($p);
             }
         }
     }
 }
Пример #2
0
 public function saveUserPermission()
 {
     $this->load->library('session');
     $userDao = new ScrudDao('crud_users', $this->db);
     $pDao = new ScrudDao('crud_user_permissions', $this->db);
     $data = $this->input->post('data');
     $this->db->delete('crud_user_permissions', array('user_id' => $data[0]['user_id']));
     if (count($data) > 0) {
         foreach ($data as $k => $v) {
             $user = array();
             $user['user_manage_flag'] = $v['user_manage_flag'];
             $user['user_setting_management'] = $v['user_setting_management'];
             $user['user_global_access'] = $v['user_global_access'];
             $userDao->update($user, array('id = ?', array($v['user_id'])));
             $crudAuth = $this->session->userdata('CRUD_AUTH');
             if ($v['user_id'] == $crudAuth['id']) {
                 $crudAuth['user_manage_flag'] = $v['user_manage_flag'];
                 $crudAuth['user_setting_management'] = $v['user_setting_management'];
                 $crudAuth['user_global_access'] = $v['user_global_access'];
             }
             if (count($v['coms']) > 0) {
                 $coms = $v['coms'];
                 foreach ($coms as $k1 => $v1) {
                     if (count($v1['permission_type']) > 0) {
                         foreach ($v1['permission_type'] as $permission) {
                             if ((int) $permission > 0) {
                                 $p = array();
                                 $p['user_id'] = $v['user_id'];
                                 $p['com_id'] = $v1['com_id'];
                                 $p['permission_type'] = $permission;
                                 $pDao->save($p);
                             }
                         }
                     }
                 }
             }
         }
     }
 }