public function actionManageRole() { $oper = $_POST['oper']; $role_id = empty($_POST['role_id']) ? $_POST['id'] : $_POST['role_id']; $role_name = $_POST['role_name']; $role_state = $_POST['role_state']; if ('Yes' == $role_state) { $role_state = 0; } else { $role_state = 1; } switch ($oper) { case 'add': $vcosAdminRole = new VcosAdminRole(); $vcosAdminRole->role_name = $role_name; $vcosAdminRole->role_state = $role_state; $vcosAdminRole->save(); break; case 'edit': $vcosAdminRole = VcosAdminRole::model()->findByPk($role_id); $vcosAdminRole->role_name = $role_name; $vcosAdminRole->role_state = $role_state; $vcosAdminRole->update(); break; case 'del': $vcosAdminRole = VcosAdminRole::model()->findByPk($role_id); $vcosAdminRole->delete(); break; default: break; } }
public function actionRole_add() { $this->setauth(); //检查有无权限 $role = new VcosAdminRole(); if ($_POST) { if ($_POST['role'] == '超级管理员') { die(Helper::show_message(yii::t('vcos', '你不能命名为超级管理员。'), Yii::app()->createUrl("Auth/role"))); } $a = explode(',', $_POST['hidden']); $num = count($a); unset($a[$num - 1]); if ($a[0] == '12') { unset($a[0]); } foreach ($a as $row) { $sql = "SELECT a.menu_id AS amenu_id ,a.parent_menu_id AS aparent_menu_id , b.menu_id AS bmenu_id ,b.parent_menu_id AS bparent_menu_id FROM vcos_permission_menux a, vcos_permission_menux b WHERE a.parent_menu_id = b.menu_id AND a.menu_id = {$row}"; $b = Yii::app()->m_db->createCommand($sql)->queryRow(); //跟住自id查找父目录的id, if ($b['bparent_menu_id'] != '0') { //当父目录不为顶级目录时继续查找父目录 $sql = "SELECT a.menu_id AS amenu_id ,a.parent_menu_id AS aparent_menu_id , b.menu_id AS bmenu_id ,b.parent_menu_id AS bparent_menu_id FROM vcos_permission_menux a, vcos_permission_menux b WHERE a.parent_menu_id = b.menu_id AND a.menu_id = {$b['bmenu_id']}"; $c = Yii::app()->m_db->createCommand($sql)->queryRow(); $permission[$c['bmenu_id']][$c['amenu_id']][] = $row; //封装第三级目录数组 } else { $permission[$b['bmenu_id']][] = $row; //封装第二级目录数组 } } $permission = json_encode($permission); $state = isset($_POST['state']) ? $_POST['state'] : '0'; if ($_POST['role'] != '' && $_POST['describe'] != '') { $role->role_name = $_POST['role']; $role->role_desc = $_POST['describe']; $role->permission_menu = $permission; $role->role_state = $state; if ($role->save() > 0) { Helper::show_message(yii::t('vcos', '添加成功。'), Yii::app()->createUrl("Auth/role")); } else { Helper::show_message(yii::t('vcos', '添加失败。')); } } else { Helper::show_message(yii::t('vcos', '添加失败。')); } } $permission_click = VcosPermissionClick::model()->findAll(); $this->render('role_add', array('permission_click' => $permission_click)); }