/** * add or update module_admin * @param array $data * @return bool */ public static function saveModule($data) { $module = $data['moduleId'] ? static::findOne($data['moduleId']) : ''; if (!$module) { $module = new ModuleAdmin(); } $module->moduleName = $data['moduleName']; $module->module = $data['module'] ?: '#'; $module->controller = $data['controller']; $module->method = $data['method']; $module->description = $data['description']; $module->url = $data['url']; $module->app = $data['app']; $module->nav_bar = $data['nav_bar']; $module->save(); static::savePrivilege($module); return $module; }
/** * 模块管理(删除) */ public function actionDeletemodule() { $request = \Yii::$app->request; $identity = Identity::checkIdentity('deletemodule', '/app-backend/backend/adminmanage/deletemodule'); if (is_array($identity)) { return $identity; } $moduleId = $request->_get('moduleId', 0); if (!$moduleId) { return ['code' => 1, 'msg' => '数据非法', 'data' => []]; } $res = ModuleAdmin::deleteAll('moduleId=' . $moduleId); if ($res !== false) { return ['code' => 0, 'msg' => '操作成功', 'data' => []]; } else { return ['code' => 2, 'msg' => '操作失败,请重试', 'data' => []]; } }
/** * 组权限分配 */ public function actionPrivilege() { $view = \Yii::$app->view->params['moduleName'] = '管理员分组'; $search = \Yii::$app->request->_get('search', ''); $where = 1; if ($search) { $where .= ' AND moduleName LIKE \'%' . $search . '%\''; } $module = ModuleAdmin::find()->where($where); $groupId = \Yii::$app->request->_get('groupId', ''); $pageSize = \Yii::$app->params['pageSize']; $total = $module->count(); $pagination = new Pagination(['defaultPageSize' => $pageSize, 'totalCount' => $total]); $data = $module->asArray()->offset($pagination->offset)->limit($pagination->limit)->orderBy('convert(nav_bar using gbk) ASC,createTime DESC')->all(); $privilegedata = GroupPrivilegeAdmin::find()->where('groupId=' . $groupId)->asArray()->All(); foreach ($data as &$modules) { foreach ($privilegedata as $privilege) { if ($modules['moduleId'] == $privilege['moduleId']) { $modules['isAble'] = 1; } } } $data = EasyHelpers::kGroup($data, 'nav_bar'); $token = Token::getToken(); $userId = \Yii::$app->user->id; $saveprivilegeIdentity = EasyHelpers::dataEncrypt('saveprivilege,' . $userId); return $this->render('privilege', ['data' => $data, 'groupId' => $groupId, 'search' => $search, 'token' => $token, 'pagination' => $pagination, 'saveprivilegeIdentity' => $saveprivilegeIdentity]); }