Fixed namespace
authorMatthias Schmidt <gravatronics@live.com>
Mon, 15 Aug 2011 14:48:38 +0000 (16:48 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Tue, 16 Aug 2011 11:34:08 +0000 (13:34 +0200)
21 files changed:
wcfsetup/install/files/lib/acp/form/UserGroupAddForm.class.php
wcfsetup/install/files/lib/system/cache/builder/UserGroupPermissionCacheBuilder.class.php
wcfsetup/install/files/lib/system/option/user/group/BooleanUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/IUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/InfiniteIntegerUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/InfiniteInverseIntegerUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/IntegerUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/InverseIntegerUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/TextUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/TextareaUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/user/group/UserGroupsUserGroupOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/userGroup/BooleanUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/IUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/InfiniteIntegerUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/InfiniteInverseIntegerUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/IntegerUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/InverseIntegerUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/TextUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/TextareaUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/option/userGroup/UserGroupsUserGroupOptionType.class.php [deleted file]
wcfsetup/install/files/lib/system/package/plugin/UserGroupOptionsPackageInstallationPlugin.class.php

index 6b152416ff033834638f2d9e639005ca5e778810..650565b9bd2a19d9925a0ecb03806cb9be2a333d 100755 (executable)
@@ -187,14 +187,14 @@ class UserGroupAddForm extends AbstractOptionListForm {
         */
        protected function getTypeObject($type) {
                if (!isset($this->typeObjects[$type])) {
-                       $className = 'wcf\system\option\userGroup\\'.StringUtil::firstCharToUpperCase($type).'UserGroupOptionType';
+                       $className = 'wcf\system\option\user\group\\'.StringUtil::firstCharToUpperCase($type).'UserGroupOptionType';
                        
                        // create instance
                        if (!class_exists($className)) {
                                throw new SystemException("unable to find class '".$className."'");
                        }
-                       if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\userGroup\IUserGroupOptionType')) {
-                               throw new SystemException("'".$className."' should implement wcf\system\option\userGroup\IUserGroupOptionType");
+                       if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\user\group\IUserGroupOptionType')) {
+                               throw new SystemException("'".$className."' should implement wcf\system\option\user\group\IUserGroupOptionType");
                        }
                        $this->typeObjects[$type] = new $className();
                }
index 805be58e87bb5dcf72b5ecf4e9c17a2f7f2ff611..84991b01f5dbe6f505021f49cb8dc9be4efddd80 100644 (file)
@@ -100,18 +100,18 @@ class UserGroupPermissionCacheBuilder implements ICacheBuilder {
         * Returns an object of the requested group option type.
         * 
         * @param       string                  $type
-        * @return      wcf\system\option\userGroup\IUserGroupOptionType
+        * @return      wcf\system\option\user\group\IUserGroupOptionType
         */
        protected function getTypeObject($type) {
                if (!isset($this->typeObjects[$type])) {
-                       $className = 'wcf\system\option\userGroup\\'.StringUtil::firstCharToUpperCase($type).'UserGroupOptionType';
+                       $className = 'wcf\system\option\user\group\\'.StringUtil::firstCharToUpperCase($type).'UserGroupOptionType';
                        
                        // validate class
                        if (!class_exists($className)) {
                                throw new SystemException("unable to find class '".$className."'");
                        }
-                       if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\userGroup\IUserGroupOptionType')) {
-                               throw new SystemException("'".$className."' should implement wcf\system\option\userGroup\IUserGroupOptionType");
+                       if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\user\group\IUserGroupOptionType')) {
+                               throw new SystemException("'".$className."' should implement wcf\system\option\user\group\IUserGroupOptionType");
                        }
                        
                        // create instance
diff --git a/wcfsetup/install/files/lib/system/option/user/group/BooleanUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/BooleanUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..43cf644
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+namespace wcf\system\option\user\group;
+use wcf\system\option\BooleanOptionType;
+
+/**
+ * BooleanUserGroupOptionType is an implementation of IUserGroupOptionType for boolean values.
+ * The merge of option values returns true, if at least one value is true. Otherwise false.
+ *
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class BooleanUserGroupOptionType extends BooleanOptionType implements IUserGroupOptionType {
+       /**
+        * @see wcf\system\option\user\group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               foreach ($values as $value) {
+                       if ($value) return true;
+               }
+
+               return false;
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/IUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/IUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..447bac5
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+namespace wcf\system\option\user\group;
+use wcf\system\option\IOptionType;
+
+/**
+ * Any group permission type should implement this interface.
+ *
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+interface IUserGroupOptionType extends IOptionType {
+       /**
+        * Merges the different values of an option to a single value.
+        * 
+        * @param       array           $values
+        * @return      mixed
+        */
+       public function merge(array $values);
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/InfiniteIntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/InfiniteIntegerUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..bbe1d6e
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+namespace wcf\system\option\user\group;
+
+/**
+ * InfiniteIntegerUserGroupOptionType is an implementation of IUserGroupOptionType
+ * for integer values with the infinite option.
+ * The merge of option values returns true, if at least one value is -1. Otherwise
+ * it returns the highest value.
+ * 
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class InfiniteIntegerUserGroupOptionType extends IntegerUserGroupOptionType {
+       /**
+        * @see wcf\system\option\user\group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               if (in_array(-1, $values)) return -1;
+               return parent::merge($values);
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/InfiniteInverseIntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/InfiniteInverseIntegerUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..4d7bdc2
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+namespace wcf\system\option\user\group;
+
+/**
+ * InfiniteInverseIntegerUserGroupOptionType is an implementation of IUserGroupOptionType
+ * for integer values.
+ * The merge of option values returns -1 if all values are -1 otherwise the lowest value.
+ *
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class InfiniteInverseIntegerUserGroupOptionType extends InverseIntegerUserGroupOptionType {
+       /**
+        * @see wcf\system\option\user\group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               foreach ($values as $key => $value) {
+                       if ($value == -1) unset($values[$key]);
+               }
+               
+               if (count($values) == 0) return -1;
+               return min($values);
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/IntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/IntegerUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..9d8c087
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+namespace wcf\system\option\user\group;
+use wcf\system\option\IntegerOptionType;
+
+/**
+ * IntegerUserGroupOptionType is an implementation of IUserGroupOptionType for integer values.
+ * The merge of option values returns the highest value.
+ * 
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class IntegerUserGroupOptionType extends IntegerOptionType implements IUserGroupOptionType {
+       /**
+        * @see wcf\system\option\user.group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               return max($values);
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/InverseIntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/InverseIntegerUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..48408ba
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+namespace wcf\system\option\user\group;
+use wcf\system\option\IntegerOptionType;
+
+/**
+ * InverseIntegerUserGroupOptionType is an implementation of IUserGroupOptionType for integer values.
+ * The merge of option values returns the lowest value.
+ *
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class InverseIntegerUserGroupOptionType extends IntegerOptionType implements IUserGroupOptionType {
+       /**
+        * @see wcf\system\option\user\group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               return min($values);
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/TextUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/TextUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..729ad21
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+namespace wcf\system\option\user\group;
+use wcf\system\option\TextOptionType;
+
+/**
+ * TextUserGroupOptionType is an implementation of IUserGroupOptionType for text values.
+ * The merge of option values returns merge of all text values.
+ * 
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class TextUserGroupOptionType extends TextOptionType implements IUserGroupOptionType {
+       /**
+        * @see wcf\system\option\user\group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               $result = '';
+               
+               foreach ($values as $value) {
+                       if (!empty($result)) $result .= "\n";
+                       $result .= $value;
+               }
+
+               return $result;
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/TextareaUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/TextareaUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..8135486
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+namespace wcf\system\option\user\group;
+use wcf\system\option\TextareaOptionType;
+
+/**
+ * TextareaUserGroupOptionType is an implementation of IUserGroupOptionType for
+ * text values.
+ * The merge of option values returns merge of all text values.
+ * 
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class TextareaUserGroupOptionType extends TextareaOptionType implements IUserGroupOptionType {
+       /**
+        * @see wcf\system\option\user\group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               $result = '';
+               
+               foreach ($values as $value) {
+                       if (!empty($result)) $result .= "\n";
+                       $result .= $value;
+               }
+
+               return $result;
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/user/group/UserGroupsUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/user/group/UserGroupsUserGroupOptionType.class.php
new file mode 100644 (file)
index 0000000..1c53a47
--- /dev/null
@@ -0,0 +1,82 @@
+<?php
+namespace wcf\system\option\user\Group;
+use wcf\data\option\Option;
+use wcf\data\user\group\UserGroup;
+use wcf\system\option\AbstractOptionType;
+use wcf\util\ArrayUtil;
+use wcf\util\StringUtil;
+
+/**
+ * UserGroupsUserGroupOptionType generates a select-list of all available user groups.
+ *
+ * @author     Marcel Werk
+ * @copyright  2001-2011 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage system.option.user.group
+ * @category   Community Framework
+ */
+class UserGroupsUserGroupOptionType extends AbstractOptionType implements IUserGroupOptionType {
+       /**
+        * @see wcf\system\option\IOptionType::getFormElement()
+        */
+       public function getFormElement(Option $option, $value) {
+               // get selected group
+               $selectedGroups = explode(',', $value);
+               
+               // get all groups
+               $groups = UserGroup::getGroupsByType();
+               
+               // generate html
+               $html = '';
+               foreach ($groups as $group) {
+                       $html .= '<label><input type="checkbox" name="values['.StringUtil::encodeHTML($option->optionName).'][]" value="'.$group->groupID.'" '.(in_array($group->groupID, $selectedGroups) ? 'checked="checked" ' : '').'/> '.StringUtil::encodeHTML($group->groupName).'</label>';
+               }
+               
+               return $html;
+       }
+       
+       /**
+        * @see wcf\system\option\IOptionType::validate()
+        */
+       public function validate(Option $option, $newValue) {
+               // get all groups
+               $groups = UserGroup::getGroupsByType();
+               
+               // get new value
+               if (!is_array($newValue)) $newValue = array();
+               $selectedGroups = ArrayUtil::toIntegerArray($newValue);
+               
+               // check groups
+               foreach ($selectedGroups as $groupID) {
+                       if (!isset($groups[$groupID])) {
+                               throw new UserInputException($option->optionName, 'validationFailed');
+                       }
+               }
+       }
+       
+       /**
+        * @see wcf\system\option\IOptionType::getData()
+        */
+       public function getData(Option $option, $newValue) {
+               if (!is_array($newValue)) $newValue = array();
+               $newValue = ArrayUtil::toIntegerArray($newValue);
+               sort($newValue, SORT_NUMERIC);
+               return implode(',', $newValue);
+       }
+       
+       /**
+        * @see wcf\system\option\user\group\IUserGroupOptionType::merge()
+        */
+       public function merge(array $values) {
+               $result = array();
+               foreach ($values as $value) {
+                       $value = explode(',', $value);
+                       $result = array_merge($result, $value);
+               }
+               
+               $result = array_unique($result);
+
+               return implode(',', $result);
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/BooleanUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/BooleanUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 82e3019..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-use wcf\system\option\BooleanOptionType;
-
-/**
- * BooleanUserGroupOptionType is an implementation of IUserGroupOptionType for boolean values.
- * The merge of option values returns true, if at least one value is true. Otherwise false.
- *
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class BooleanUserGroupOptionType extends BooleanOptionType implements IUserGroupOptionType {
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               foreach ($values as $value) {
-                       if ($value) return true;
-               }
-
-               return false;
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/IUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/IUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 1700ca5..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-use wcf\system\option\IOptionType;
-
-/**
- * Any group permission type should implement this interface.
- *
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-interface IUserGroupOptionType extends IOptionType {
-       /**
-        * Merges the different values of an option to a single value.
-        * 
-        * @param       array           $values
-        * @return      mixed
-        */
-       public function merge(array $values);
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/InfiniteIntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/InfiniteIntegerUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 3175416..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-
-/**
- * InfiniteIntegerUserGroupOptionType is an implementation of IUserGroupOptionType
- * for integer values with the infinite option.
- * The merge of option values returns true, if at least one value is -1. Otherwise
- * it returns the highest value.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class InfiniteIntegerUserGroupOptionType extends IntegerUserGroupOptionType {
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               if (in_array(-1, $values)) return -1;
-               return parent::merge($values);
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/InfiniteInverseIntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/InfiniteInverseIntegerUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 33a1543..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-
-/**
- * InfiniteInverseIntegerUserGroupOptionType is an implementation of IUserGroupOptionType
- * for integer values.
- * The merge of option values returns -1 if all values are -1 otherwise the lowest value.
- *
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class InfiniteInverseIntegerUserGroupOptionType extends InverseIntegerUserGroupOptionType {
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               foreach ($values as $key => $value) {
-                       if ($value == -1) unset($values[$key]);
-               }
-               
-               if (count($values) == 0) return -1;
-               return min($values);
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/IntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/IntegerUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 4ff7b8f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-use wcf\system\option\IntegerOptionType;
-
-/**
- * IntegerUserGroupOptionType is an implementation of IUserGroupOptionType for integer values.
- * The merge of option values returns the highest value.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class IntegerUserGroupOptionType extends IntegerOptionType implements IUserGroupOptionType {
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               return max($values);
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/InverseIntegerUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/InverseIntegerUserGroupOptionType.class.php
deleted file mode 100644 (file)
index e05c19e..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-use wcf\system\option\IntegerOptionType;
-
-/**
- * InverseIntegerUserGroupOptionType is an implementation of IUserGroupOptionType for integer values.
- * The merge of option values returns the lowest value.
- *
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class InverseIntegerUserGroupOptionType extends IntegerOptionType implements IUserGroupOptionType {
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               return min($values);
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/TextUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/TextUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 03a2e21..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-use wcf\system\option\TextOptionType;
-
-/**
- * TextUserGroupOptionType is an implementation of IUserGroupOptionType for text values.
- * The merge of option values returns merge of all text values.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class TextUserGroupOptionType extends TextOptionType implements IUserGroupOptionType {
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               $result = '';
-               
-               foreach ($values as $value) {
-                       if (!empty($result)) $result .= "\n";
-                       $result .= $value;
-               }
-
-               return $result;
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/TextareaUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/TextareaUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 87bd510..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-use wcf\system\option\TextareaOptionType;
-
-/**
- * TextareaUserGroupOptionType is an implementation of IUserGroupOptionType for
- * text values.
- * The merge of option values returns merge of all text values.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class TextareaUserGroupOptionType extends TextareaOptionType implements IUserGroupOptionType {
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               $result = '';
-               
-               foreach ($values as $value) {
-                       if (!empty($result)) $result .= "\n";
-                       $result .= $value;
-               }
-
-               return $result;
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/option/userGroup/UserGroupsUserGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/userGroup/UserGroupsUserGroupOptionType.class.php
deleted file mode 100644 (file)
index 7d6e00a..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-namespace wcf\system\option\userGroup;
-use wcf\data\option\Option;
-use wcf\data\user\group\UserGroup;
-use wcf\system\option\AbstractOptionType;
-use wcf\util\ArrayUtil;
-use wcf\util\StringUtil;
-
-/**
- * UserGroupsUserGroupOptionType generates a select-list of all available user groups.
- *
- * @author     Marcel Werk
- * @copyright  2001-2011 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.option.userGroup
- * @category   Community Framework
- */
-class UserGroupsUserGroupOptionType extends AbstractOptionType implements IUserGroupOptionType {
-       /**
-        * @see wcf\system\option\IOptionType::getFormElement()
-        */
-       public function getFormElement(Option $option, $value) {
-               // get selected group
-               $selectedGroups = explode(',', $value);
-               
-               // get all groups
-               $groups = UserGroup::getGroupsByType();
-               
-               // generate html
-               $html = '';
-               foreach ($groups as $group) {
-                       $html .= '<label><input type="checkbox" name="values['.StringUtil::encodeHTML($option->optionName).'][]" value="'.$group->groupID.'" '.(in_array($group->groupID, $selectedGroups) ? 'checked="checked" ' : '').'/> '.StringUtil::encodeHTML($group->groupName).'</label>';
-               }
-               
-               return $html;
-       }
-       
-       /**
-        * @see wcf\system\option\IOptionType::validate()
-        */
-       public function validate(Option $option, $newValue) {
-               // get all groups
-               $groups = UserGroup::getGroupsByType();
-               
-               // get new value
-               if (!is_array($newValue)) $newValue = array();
-               $selectedGroups = ArrayUtil::toIntegerArray($newValue);
-               
-               // check groups
-               foreach ($selectedGroups as $groupID) {
-                       if (!isset($groups[$groupID])) {
-                               throw new UserInputException($option->optionName, 'validationFailed');
-                       }
-               }
-       }
-       
-       /**
-        * @see wcf\system\option\IOptionType::getData()
-        */
-       public function getData(Option $option, $newValue) {
-               if (!is_array($newValue)) $newValue = array();
-               $newValue = ArrayUtil::toIntegerArray($newValue);
-               sort($newValue, SORT_NUMERIC);
-               return implode(',', $newValue);
-       }
-       
-       /**
-        * @see wcf\system\option\userGroup\IUserGroupOptionType::merge()
-        */
-       public function merge(array $values) {
-               $result = array();
-               foreach ($values as $value) {
-                       $value = explode(',', $value);
-                       $result = array_merge($result, $value);
-               }
-               
-               $result = array_unique($result);
-
-               return implode(',', $result);
-       }
-}
index c906ff73a2b6cc50f44896200a8b5a8d144f5541..e8953f821577b5059f2d4d2165f49a28ccc3222a 100644 (file)
@@ -62,7 +62,7 @@ class UserGroupOptionsPackageInstallationPlugin extends AbstractOptionPackageIns
                if (isset($option['options'])) $options = $option['options'];
                
                // check if optionType exists
-               $className = 'wcf\system\option\userGroup\\'.StringUtil::firstCharToUpperCase($optionType).'UserGroupOptionType';
+               $className = 'wcf\system\option\user\group\\'.StringUtil::firstCharToUpperCase($optionType).'UserGroupOptionType';
                if (!class_exists($className)) {
                        throw new SystemException("unable to find class '".$className."'");
                }