示例#1
0
             $formdata = array();
             $sep = '___';
             $sepkey = 'general' . $sep . $container;
             foreach ($_REQUEST as $key2 => $value2) {
                 if (substr($key2, 0, strlen($sepkey)) == $sepkey) {
                     $formdata[$key2] = $value2;
                 }
             }
             $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;
                     }
                 }
             }
         }
     }
 }
示例#2
0
 public function users_group_settings_remove($group_id_, $container_, $setting_)
 {
     $this->check_authorized('manageUsersGroups');
     $userGroupDB = UserGroupDB::getInstance();
     $group = $userGroupDB->import($group_id_);
     if (!is_object($group)) {
         return false;
     }
     $prefs = Preferences::getInstance();
     $session_settings_defaults = $prefs->getElements('general', $container_);
     if (!array_key_exists($setting_, $session_settings_defaults)) {
         return false;
     }
     $ret = Abstract_UserGroup_Preferences::delete($group->getUniqueID(), 'general', $container_, $setting_);
     if (!$ret) {
         return false;
     }
     $this->log_action('users_group_settings_remove', array('group' => $group->name, $container_ . '_' . $setting_ => null));
     return true;
 }