Example #1
0
 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;
     }
 }
Example #2
0
 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));
 }