Add `ISelectOptionOptionType` interface
authorMatthias Schmidt <gravatronics@live.com>
Fri, 27 Jul 2018 07:31:11 +0000 (09:31 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Fri, 27 Jul 2018 07:31:11 +0000 (09:31 +0200)
Close #2725

wcfsetup/install/files/lib/system/option/ISelectOptionOptionType.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/option/RadioButtonOptionType.class.php

diff --git a/wcfsetup/install/files/lib/system/option/ISelectOptionOptionType.class.php b/wcfsetup/install/files/lib/system/option/ISelectOptionOptionType.class.php
new file mode 100644 (file)
index 0000000..c0ffd48
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+namespace wcf\system\option;
+
+/**
+ * Every option type whose values can only be selected from a pre-defined list of
+ * options has to implemenent this interface.
+ *
+ * The pre-defined list of options has to be available via the option database
+ * object's `selectOption` property.
+ * 
+ * @author     Matthias Schmidt
+ * @copyright  2001-2018 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    WoltLabSuite\Core\System\Option
+ * @since      3.2
+ */
+interface ISelectOptionOptionType {}
index 43127acae5e001f01b9e7f678b7cae79f7a8cc71..861dee6498c04fbb4dcf3e877c7762a4e8d075f6 100644 (file)
@@ -17,7 +17,7 @@ use wcf\util\StringUtil;
  * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package    WoltLabSuite\Core\System\Option
  */
-class RadioButtonOptionType extends AbstractOptionType implements ISearchableConditionUserOption {
+class RadioButtonOptionType extends AbstractOptionType implements ISearchableConditionUserOption, ISelectOptionOptionType {
        /**
         * name of the template that contains the form element of this option type
         * @var string