Exemple #1
0
 /**
  * Ajax request to save new configuration settings.
  */
 public function save_settings()
 {
     AccessControl::check_permission(AccessControl::PERM_CHANGE_NOTIFICATION_SETTINGS);
     $params = new ParamStruct();
     $params->add_required_param('settings', PDT_ARR);
     $params->fill();
     if (!$params->is_valid()) {
         AjaxModul::return_code(AjaxModul::ERROR_INVALID_PARAMETER);
     }
     db::getInstance()->begin();
     foreach ($params->settings as $key => $val) {
         $this->config->set_value($key, $val, 'notify');
     }
     db::getInstance()->commit();
     AjaxModul::return_code(AjaxModul::SUCCESS);
 }
Exemple #2
0
 /**
  * Add/Change a group.
  */
 public function group_add()
 {
     AccessControl::check_permission(AccessControl::PERM_MANAGE_USERS);
     $params = new ParamStruct();
     $params->add_param('old_name', PDT_STRING, '');
     $params->add_required_param('name', PDT_STRING);
     $params->add_param('permissions', PDT_ARR, array());
     $params->fill();
     if (!$params->is_valid()) {
         AjaxModul::return_code(AjaxModul::ERROR_INVALID_PARAMETER);
     }
     $old = $params->old_name;
     if ($params->name !== $old && AccessControl::getInstance()->get_config()->group_exists($params->name)) {
         AjaxModul::return_code(AjaxModul::ERROR_INVALID_PARAMETER, null, true, 'This group already exists.');
     }
     if (empty($old)) {
         $result = $this->access_control->get_config()->group_add($params->name);
     } else {
         $this->access_control->get_config()->group_revoke_all_permission($old);
         $result = $this->access_control->get_config()->group_change($old, $params->name);
     }
     foreach ($params->permissions as $permission) {
         $this->access_control->get_config()->group_grant_permission($params->name, $permission);
     }
     if ($result) {
         AjaxModul::return_code(AjaxModul::SUCCESS);
     }
     AjaxModul::return_code(AjaxModul::ERROR_DEFAULT, null, true, 'Could not add or update the user');
 }