Fixed outstanding option types
authorMarcel Werk <burntime@woltlab.com>
Wed, 16 Nov 2011 17:45:29 +0000 (18:45 +0100)
committerMarcel Werk <burntime@woltlab.com>
Wed, 16 Nov 2011 17:45:29 +0000 (18:45 +0100)
com.woltlab.wcf/template/optionTypeBoolean.tpl
com.woltlab.wcf/template/optionTypeMultiselect.tpl
com.woltlab.wcf/template/optionTypeRadiobuttons.tpl
com.woltlab.wcf/template/optionTypeSelect.tpl
com.woltlab.wcf/template/optionTypeTextarea.tpl
wcfsetup/install/files/acp/templates/optionTypeMultiselect.tpl
wcfsetup/install/files/lib/system/option/MultiselectOptionType.class.php

index 905ef437588416551cf5475daa0547ecfad0e43d..52501107311d4799bffe961175e0d2831494c6f4 100644 (file)
@@ -1,3 +1 @@
-<input {if $optionData.enableOptions}onclick="{@$optionData.enableOptions}" {/if}
-id="{$optionData.optionName}" type="checkbox" name="values[{$optionData.optionName}]" value="1"
-{if $optionData.optionValue}checked="checked" {/if}/>
\ No newline at end of file
+<input type="checkbox" id="{$option->optionName}" {if $value} checked="checked"{/if} name="values[{$option->optionName}]" value="1" {if $disableOptions || $enableOptions}class="enablesOptions" data-disable-options="[ {@$disableOptions}]" data-enable-options="[ {@$enableOptions}]" {/if} />
index 11bbeb1156f5dc6666b11ccfdd25e468430a11a1..3c8ce8570df07446b60b844728278411b0abe6da 100644 (file)
@@ -1,5 +1,5 @@
-<select name="values[{$optionData.optionName}][]" id="{$optionData.optionName}" multiple="multiple" size="{if $options|count > 10}10{else}{@$options|count}{/if}">
-{foreach from=$options item=option key=key}
-       <option value="{$key}"{if $key|in_array:$optionData.optionValue} selected="selected"{/if}>{lang}{@$option}{/lang}</option>
+<select id="{$option->optionName}" name="values[{$option->optionName}][]" multiple="multiple" size="{if $selectOptions|count > 10}10{else}{@$selectOptions|count}{/if}">
+{foreach from=$selectOptions key=key item=selectOption}
+       <option value="{$key}"{if $key|in_array:$value} selected="selected"{/if}>{lang}{@$selectOption}{/lang}</option>
 {/foreach}
-</select>
\ No newline at end of file
+</select>
index 0162d06019a0239ae9d9277840424ac941a22769..744a94841e719409ecf04f0bcf4cbe99cf699d99 100644 (file)
@@ -1,10 +1,9 @@
-<ul class="formOptionsLong">
-       {foreach from=$options item=option key=key}
-               <li>
-                       <label><input {if $option.enableOptions}onclick="if (IS_SAFARI) {@$option.enableOptions}" onfocus="{@$option.enableOptions}" {/if}
-                       type="radio" name="values[{$optionData.optionName}]" value="{$key}"
-                       {if $optionData.optionValue == $key}checked="checked" {/if}/>
-                       {lang}{@$option.value}{/lang}</label>
-               </li>
-       {/foreach}
-</ul>
\ No newline at end of file
+<fieldset>
+       <dl>
+               {foreach from=$selectOptions key=key item=selectOption}
+                       <dd>
+                               <label><input type="radio" name="values[{$option->optionName}]" value="{$key}" {if $value == $key} checked="checked"{/if} {if $disableOptions[$key]|isset || $enableOptions[$key]|isset}class="enablesOptions" data-disable-options="[ {@$disableOptions[$key]}]" data-enable-options="[ {@$enableOptions[$key]}]"{/if} /> {lang}{@$selectOption}{/lang}</label>
+                       </dd>
+               {/foreach}
+       </dl>
+</fieldset>
index 255cd2fad6f78db86f22aee3409a1beafc1c8d27..caa4a50af8907ca407036f3cd6404db5500cc686 100644 (file)
@@ -1,5 +1,5 @@
-<select name="values[{$optionData.optionName}]" id="{$optionData.optionName}">
-{foreach from=$options item=option key=key}
-       <option value="{$key}"{if $optionData.optionValue == $key} selected="selected"{/if}>{lang}{@$option}{/lang}</option>
+<select id="{$option->optionName}" name="values[{$option->optionName}]">
+{foreach from=$selectOptions key=key item=selectOption}
+       <option value="{$key}"{if $value == $key} selected="selected"{/if}>{lang}{@$selectOption}{/lang}</option>
 {/foreach}
 </select>
\ No newline at end of file
index 85fd945abe78acd645e746a5fb3172fa58186383..657ee51ebae849c49beb7a74295f7fa6e6e9ca67 100644 (file)
@@ -1 +1 @@
-<textarea id="{$optionData.optionName}" cols="40" rows="10" name="values[{$optionData.optionName}]">{$optionData.optionValue}</textarea>
\ No newline at end of file
+<textarea id="{$option->optionName}" name="values[{$option->optionName}]" cols="40" rows="10">{$value}</textarea>
\ No newline at end of file
index cc32ba7d24f2f556f7cbf80cc79299e841bd912f..3c8ce8570df07446b60b844728278411b0abe6da 100644 (file)
@@ -1,5 +1,5 @@
-<select id="{$optionData.optionName}" name="values[{$optionData.optionName}][]" multiple="multiple" size="{if $options|count > 10}10{else}{@$options|count}{/if}">
-{foreach from=$options item=option key=key}
-       <option value="{$key}"{if $key|in_array:$optionData.optionValue} selected="selected"{/if}>{lang}{@$option}{/lang}</option>
+<select id="{$option->optionName}" name="values[{$option->optionName}][]" multiple="multiple" size="{if $selectOptions|count > 10}10{else}{@$selectOptions|count}{/if}">
+{foreach from=$selectOptions key=key item=selectOption}
+       <option value="{$key}"{if $key|in_array:$value} selected="selected"{/if}>{lang}{@$selectOption}{/lang}</option>
 {/foreach}
-</select>
\ No newline at end of file
+</select>
index 1db2609c93833940632a46c7d70b5108bf1fb56d..329ff7b93bd25f2a88461ac374e03c52cb980d56 100644 (file)
@@ -5,7 +5,6 @@ use wcf\system\database\util\PreparedStatementConditionBuilder;
 use wcf\system\exception\UserInputException;
 use wcf\system\WCF;
 use wcf\util\ArrayUtil;
-use wcf\util\OptionUtil;
 
 /**
  * MultiselectOptionType is an implementation of IOptionType for multiple 'select' tags.
@@ -21,21 +20,11 @@ class MultiselectOptionType extends SelectOptionType {
        /**
         * @see wcf\system\option\IOptionType::getFormElement()
         */
-       public function getFormElement(array &$optionData) {
-               if (!isset($optionData['optionValue'])) {
-                       if (isset($optionData['defaultValue'])) $optionData['optionValue'] = explode("\n", $optionData['defaultValue']);
-                       else $optionData['optionValue'] = array();
-               }
-               else if (!is_array($optionData['optionValue'])) {
-                       $optionData['optionValue'] = explode("\n", $optionData['optionValue']);
-               }
-               
-               // get options
-               $options = OptionUtil::parseSelectOptions($optionData['selectOptions']);
-               
+       public function getFormElement(Option $option, $value) {
                WCF::getTPL()->assign(array(
-                       'optionData' => $optionData,
-                       'options' => $options
+                       'option' => $option,
+                       'selectOptions' => $option->parseSelectOptions(),
+                       'value' => explode("\n", $value)
                ));
                return WCF::getTPL()->fetch('optionTypeMultiselect');
        }
@@ -43,33 +32,28 @@ class MultiselectOptionType extends SelectOptionType {
        /**
         * @see wcf\system\option\IOptionType::validate()
         */
-       public function validate(array $optionData, $newValue) {
+       public function validate(Option $option, $newValue) {
                if (!is_array($newValue)) $newValue = array();
-               $options = OptionUtil::parseSelectOptions($optionData['selectOptions']);
+               $options = $option->parseSelectOptions();
                foreach ($newValue as $value) {
-                       if (!isset($options[$value])) throw new UserInputException($optionData['optionName'], 'validationFailed');
+                       if (!isset($options[$value])) {
+                               throw new UserInputException($option->optionName, 'validationFailed');
+                       }
                }
        }
        
        /**
         * @see wcf\system\option\IOptionType::getData()
         */
-       public function getData(array $optionData, $newValue) {
+       public function getData(Option $option, $newValue) {
                if (!is_array($newValue)) $newValue = array();
                return implode("\n", $newValue);
        }
        
-       /**
-        * @see wcf\system\option\ISearchableUserOption::getSearchFormElement()
-        */
-       public function getSearchFormElement(array &$optionData) {
-               return $this->getFormElement($optionData);
-       }
-       
        /**
         * @see wcf\system\option\ISearchableUserOption::getCondition()
         */
-       public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $options, $value) {
+       public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value) {
                if (!is_array($value) || !count($value)) return false;
                $value = ArrayUtil::trim($value);
                if (!count($value)) return false;