Exemplo n.º 1
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new ActionsRoles('create');
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['ActionsRoles'])) {
         $model->attributes = $_POST['ActionsRoles'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model, 'actions' => $this->listActionsCanAccess));
 }
Exemplo n.º 2
0
 public function addGroupRoles($post, $roles = NULL)
 {
     try {
         $allow_actions = $deny_actions = array();
         foreach ($post as $key => $value) {
             if ($value == 'allow') {
                 $allow_actions[] = $key;
             }
             if ($value == 'deny') {
                 $deny_actions[] = $key;
             }
         }
         $allow_actions = implode(',', $allow_actions);
         $deny_actions = implode(',', $deny_actions);
         if ($roles == NULL) {
             $roles = Yii::app()->session['roles'];
         }
         $allow_actionsRole = ActionsRoles::model()->find('controller_id = ' . $this->id . ' and roles_id = ' . $roles . ' and can_access like "allow"');
         $deny_actionsRole = ActionsRoles::model()->find('controller_id = ' . $this->id . ' and roles_id = ' . $roles . ' and can_access like "deny"');
         if ($allow_actionsRole) {
             $allow_actionsRole->actions = $allow_actions;
         } else {
             $allow_actionsRole = new ActionsRoles();
             $allow_actionsRole->roles_id = $roles;
             $allow_actionsRole->controller_id = $this->id;
             $allow_actionsRole->can_access = 'allow';
             $allow_actionsRole->actions = $allow_actions;
         }
         if ($deny_actionsRole) {
             $deny_actionsRole->actions = $deny_actions;
         } else {
             $deny_actionsRole = new ActionsRoles();
             $deny_actionsRole->roles_id = $roles;
             $deny_actionsRole->controller_id = $this->id;
             $deny_actionsRole->can_access = 'deny';
             $deny_actionsRole->actions = $deny_actions;
         }
         $allow_actionsRole->save();
         $deny_actionsRole->save();
     } catch (Exception $e) {
         Yii::log("Exception " . print_r($e, true), 'error');
         throw new CHttpException("Exception " . print_r($e, true));
     }
 }