Esempio n. 1
0
             }
             $formarray = formToArray($formdata);
             if (isset($formarray['general'][$container])) {
                 $data = $formarray['general'][$container];
                 // TODO: to be better...
                 $ret = null;
                 $todel = Abstract_UserGroup_Preferences::loadByUserGroupId($group->getUniqueID(), 'general', $container);
                 foreach ($todel as $key2 => $value2) {
                     $ret = Abstract_UserGroup_Preferences::delete($group->getUniqueID(), 'general', $container, $value2->element_id);
                     if ($ret !== true) {
                         break;
                     }
                 }
                 foreach ($data as $element_id => $value) {
                     $ugp = new UserGroup_Preferences($group->getUniqueID(), 'general', $container, $element_id, $value);
                     $ret = Abstract_UserGroup_Preferences::save($ugp);
                     if ($ret !== true) {
                         break;
                     }
                 }
             }
         }
     }
 }
 if ($ret === true) {
     popup_info(_('Usergroup successfully modified'));
 } else {
     if ($ret === false) {
         popup_error(_('Failed to modify usergroup'));
     }
 }
Esempio n. 2
0
 public function users_group_settings_set($group_id_, $container_, $setting_, $value_)
 {
     $this->check_authorized('manageUsersGroups');
     $userGroupDB = UserGroupDB::getInstance();
     $group = $userGroupDB->import($group_id_);
     if (!is_object($group)) {
         Logger::error('api', sprintf('Failed to import Usergroup "%s"', $id_));
         return false;
     }
     $prefs = Preferences::getInstance();
     $session_settings_defaults = $prefs->getElements('general', $container_);
     if (!array_key_exists($setting_, $session_settings_defaults)) {
         return false;
     }
     $config_element = clone $session_settings_defaults[$setting_];
     $ugp = new UserGroup_Preferences($group->getUniqueID(), 'general', $container_, $setting_, $config_element->content);
     if (!is_null($value_)) {
         $ugp->value = $value_;
     }
     Abstract_UserGroup_Preferences::delete($group->getUniqueID(), 'general', $container_, $setting_);
     $ret = Abstract_UserGroup_Preferences::save($ugp);
     if (!$ret) {
         return false;
     }
     $this->log_action('users_group_settings_set', array('group' => $group->name, $container_ . '_' . $setting_ => array('old' => $session_settings_defaults[$setting_]->content, 'new' => $config_element->content)));
     return true;
 }