Index: branches/5.3.x/core/admin_templates/incs/config_blocks.tpl
===================================================================
--- branches/5.3.x/core/admin_templates/incs/config_blocks.tpl
+++ branches/5.3.x/core/admin_templates/incs/config_blocks.tpl
@@ -36,6 +36,46 @@
+
+
+
+
+
+
+
+
class="" onclick="update_checkbox(this, document.getElementById(''))">
Index: branches/5.3.x/core/install/english.lang
===================================================================
--- branches/5.3.x/core/install/english.lang
+++ branches/5.3.x/core/install/english.lang
@@ -1722,6 +1722,7 @@
TGFiZWw=
TXVsdGlwbGUgU2VsZWN0
UGFzc3dvcmQgZmllbGQ=
+ UGlja2Vy
UmFkaW8gYnV0dG9ucw==
UmFuZ2UgU2xpZGVy
RHJvcCBkb3duIGZpZWxk
Index: branches/5.3.x/core/kernel/db/db_tag_processor.php
===================================================================
--- branches/5.3.x/core/kernel/db/db_tag_processor.php
+++ branches/5.3.x/core/kernel/db/db_tag_processor.php
@@ -1207,6 +1207,9 @@
if ( isset($params['selected_only']) && $params['selected_only'] ) {
$options = $this->getSelectedOptions($options, $selected_option_keys);
}
+ elseif ( isset($params['unselected_only']) && $params['unselected_only'] ) {
+ $options = $this->getUnselectedOptions($options, $selected_option_keys);
+ }
$column_changed = false;
$option_number = $column_number = 1;
@@ -1279,6 +1282,27 @@
}
/**
+ * Returns only options, that have not been selected.
+ *
+ * @param array $options All options.
+ * @param array $selected_option_keys Selected options.
+ *
+ * @return array
+ */
+ protected function getUnselectedOptions(array $options, array $selected_option_keys)
+ {
+ $ret = array();
+
+ foreach ( $options as $option_key => $option_title ) {
+ if ( !$this->isOptionSelected($option_key, $selected_option_keys) ) {
+ $ret[$option_key] = $option_title;
+ }
+ }
+
+ return $ret;
+ }
+
+ /**
* Determines if given option is among selected ones.
*
* @param mixed $option_key Option key.
@@ -2157,6 +2181,7 @@
case 'select':
case 'multiselect':
case 'radio':
+ case 'picker':
if ($object->GetDBField('DirectOptions')) {
// used for custom fields
$options = $object->GetDBField('DirectOptions');
Index: branches/5.3.x/core/units/configuration/configuration_config.php
===================================================================
--- branches/5.3.x/core/units/configuration/configuration_config.php
+++ branches/5.3.x/core/units/configuration/configuration_config.php
@@ -101,7 +101,7 @@
),
'ElementType' => Array (
'type' => 'string',
- 'formatter' => 'kOptionsFormatter', 'options' => Array ('text' => 'la_type_text', 'select' => 'la_type_select', 'multiselect' => 'la_type_multiselect', 'radio' => 'la_type_radio', 'checkbox' => 'la_type_checkbox', 'password' => 'la_type_password', 'textarea' => 'la_type_textarea'), 'use_phrases' => 1,
+ 'formatter' => 'kOptionsFormatter', 'options' => Array ('text' => 'la_type_text', 'select' => 'la_type_select', 'multiselect' => 'la_type_multiselect', 'radio' => 'la_type_radio', 'checkbox' => 'la_type_checkbox', 'password' => 'la_type_password', 'textarea' => 'la_type_textarea', 'picker' => 'la_type_picker'), 'use_phrases' => 1,
'not_null' => 1, 'required' => 1, 'default' => ''
),
'Validation' => Array ('type' => 'string', 'default' => NULL),
@@ -123,4 +123,4 @@
'VirtualFields' => Array (
'DirectOptions' => Array ('type' => 'string', 'default' => ''),
),
-);
\ No newline at end of file
+);