public function save($id = null) { if ($this->perm->can_create == 'y') { if ($_POST) { if (@$_POST['id'] > 0) { $_POST['updated_by'] = $this->user->id; } else { $_POST['created_by'] = $this->user->id; } $data = new User_Type(); $data->from_array($_POST); $data->save(); $action = $_POST['id'] > 0 ? 'UPDATE' : 'CREATE'; save_logs($this->menu_id, $action, @$data->id, $action . ' ' . $data->title . ' User Type Detail'); $sperm['user_type_id'] = $data->id; $this->db->query("DELETE FROM acm_user_type_permission WHERE user_type_id = " . $data->id); $menus = new System_Menu(); $menus->where('url IS NOT NULL')->order_by("title", "ASC")->get(); foreach ($menus as $key => $menu_item) { $sperm['menu_id'] = $menu_item->id; $sperm['can_view'] = @$_POST['chk_' . $menu_item->id . '_view_access']; $sperm['can_create'] = @$_POST['chk_' . $menu_item->id . '_create_access']; $sperm['can_delete'] = @$_POST['chk_' . $menu_item->id . '_delete_access']; $sperm['can_access_all'] = @$_POST['chk_' . $menu_item->id . '_access_all']; $user_type_perm = new User_Type_Permission(); $user_type_perm->from_array($sperm); $user_type_perm->save(); } } } redirect("admin/settings/user_types"); }
function get_permission($menu_id, $user_type_id, $id = null, $is_parent = null) { $CI =& get_instance(); if ($id > 0) { $foo = new User_Type_Permission($id); } else { if ($user_type_id > 0 && $is_parent == null) { $foo = new User_Type_Permission(); $foo->where('menu_id = ' . $menu_id . ' AND user_type_id = ' . $user_type_id)->get(); } else { if ($is_parent == 'y') { $sql = "SELECT\n\t\t\t\t\t\tcount(*)nrec\n\t\t\t\t\tFROM\n\t\t\t\t\t\tacm_user_type_permission\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tuser_type_id = " . $user_type_id . "\n\t\t\t\t\tAND menu_id IN (\n\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\tid\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tacm_system_menus\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tparent_id = " . $menu_id . "\n\t\t\t\t\t)\n\t\t\t\t\tand can_view = 'y'"; $current_data = $CI->db->query($sql)->result(); $current_data = @$current_data[0]; $foo = $current_data->nrec; } else { $foo = new User_Type_Permission(0); } } } return $foo; }