summaryrefslogtreecommitdiffstats
path: root/modules-available/baseconfig/page.inc.php
diff options
context:
space:
mode:
authorChristian Klinger2016-07-19 15:15:41 +0200
committerChristian Klinger2016-07-19 15:15:41 +0200
commitfe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2 (patch)
tree0d0a95417c45487b35b1ebce4a9827f380413f4e /modules-available/baseconfig/page.inc.php
parentMerging some refactoring + new filter functionality. (diff)
downloadslx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.tar.gz
slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.tar.xz
slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.zip
use bootstrap-multiselect for multilist and selectize for multiinput.
Diffstat (limited to 'modules-available/baseconfig/page.inc.php')
-rw-r--r--modules-available/baseconfig/page.inc.php27
1 files changed, 22 insertions, 5 deletions
diff --git a/modules-available/baseconfig/page.inc.php b/modules-available/baseconfig/page.inc.php
index 056dbab1..2f2aa7ab 100644
--- a/modules-available/baseconfig/page.inc.php
+++ b/modules-available/baseconfig/page.inc.php
@@ -170,7 +170,8 @@ class Page_BaseConfig extends Page
$settings[$var['catid']]['settings'][$key]['displayvalue'] = $var['defaultvalue'];
}
$settings[$var['catid']]['settings'][$key] += array(
- 'item' => $this->makeInput($var['validator'], $key, $settings[$var['catid']]['settings'][$key]['displayvalue']),
+ 'item' => $this->makeInput($var['validator'], $key, $settings[$var['catid']]['settings'][$key]['displayvalue'], $settings[$var['catid']]['settings'][$key]['shadows']
+ ),
'description' => Util::markup(Dictionary::translateFileModule($var['module'], 'config-variables', $key))
);
}
@@ -244,12 +245,22 @@ class Page_BaseConfig extends Page
* @param type $validator
* @return boolean
*/
- private function makeInput($validator, $setting, $current)
+ private function makeInput($validator, $setting, $current, $shadows)
{
+
+ $shadowjs = "";
+ if(!empty($shadows)) {
+ $shadowjs = " data-shadows=\"$shadows\"";
+ }
+
+ error_log(print_r($shadows, true));
+
$parts = explode(':', $validator, 2);
- if ($parts[0] === 'list') {
+ if ($parts[0] === 'list' || $parts[0] == 'multilist') {
$items = explode('|', $parts[1]);
- $ret = '<select name="setting[' . $setting . ']" class="form-control">';
+ $multiple = $parts[0] == 'multilist';
+ $extras = $multiple ? ' multiple class="multilist"' : 'class="form-control"';
+ $ret = '<select id="' .$setting . '" name="setting[' . $setting . ']" ' . $extras . $shadowjs . '>';
foreach ($items as $item) {
if ($item === $current) {
$ret .= '<option selected="selected">' . $item . '</option>';
@@ -259,6 +270,12 @@ class Page_BaseConfig extends Page
}
return $ret . '</select>';
}
+ /* multiinput: enter multiple free-form strings*/
+ if (strtolower($validator) == 'multiinput') {
+ return '<input id="' . $setting . '"name="setting[' . $setting . ']" ' . $shadowjs . ' class="multiinput" value="' . $current . '"></input>';
+ }
+
+
// Password field guessing
if (stripos($validator, 'password') !== false) {
$type = Property::getPasswordFieldType();
@@ -266,7 +283,7 @@ class Page_BaseConfig extends Page
$type = 'text';
}
// Fallback: single line input
- return '<input type="' . $type . '" name="setting[' . $setting . ']" class="form-control" size="30" value="' . $current . '">';
+ return '<input type="' . $type . '" id="' .$setting . '" name="setting[' . $setting . ']"' . $shadowjs . ' class="form-control" size="30" value="' . $current . '">';
}
}