Beispiel #1
0
 /**
  * Сохраняет опции контроллера
  * @param string $controller_name
  * @param array $options
  * @return boolean
  */
 static function saveOptions($controller_name, $options)
 {
     $model = new cmsModel();
     $model->filterEqual('name', $controller_name);
     $model->updateFiltered('controllers', array('options' => $options));
     cmsCache::getInstance()->clean('controllers');
     return true;
 }
Beispiel #2
0
 /**
  * Сохраняет опции контроллера
  * @param string $controller_name
  * @param array $options
  * @return boolean
  */
 static function saveOptions($controller_name, $options)
 {
     $model = new cmsModel();
     $model->filterEqual('name', $controller_name);
     return $model->updateFiltered('controllers', array('options' => $options));
 }
Beispiel #3
0
 /**
  * Сохраняет значения правил для субъекта
  * @param string $subject Субъект действия правила
  * @param array $perms Правила и их значения
  */
 static function savePermissions($subject, $perms)
 {
     $model = new cmsModel();
     foreach ($perms as $rule_id => $values) {
         if (is_null($values)) {
             $model->filterEqual('subject', $subject)->filterEqual('rule_id', $rule_id)->deleteFiltered('perms_users');
             continue;
         }
         foreach ($values as $group_id => $value) {
             $model->filterEqual('subject', $subject)->filterEqual('rule_id', $rule_id)->filterEqual('group_id', $group_id)->lockFilters();
             if (!$value) {
                 $model->deleteFiltered('perms_users');
                 $model->unlockFilters();
                 $model->resetFilters();
                 continue;
             }
             $is_exists = $model->getFieldFiltered('perms_users', 'value');
             $model->unlockFilters();
             if ($is_exists) {
                 $model->updateFiltered('perms_users', array('rule_id' => $rule_id, 'group_id' => $group_id, 'subject' => $subject, 'value' => $value));
             } else {
                 $model->insert('perms_users', array('rule_id' => $rule_id, 'group_id' => $group_id, 'subject' => $subject, 'value' => $value));
             }
         }
         $model->resetFilters();
     }
 }