';
if(isset($settings[$property['name']]))
{
diff --git a/admin/language/en-GB/en-GB.com_componentbuilder.ini b/admin/language/en-GB/en-GB.com_componentbuilder.ini
index 7060bf9d5..24bcd70fc 100644
--- a/admin/language/en-GB/en-GB.com_componentbuilder.ini
+++ b/admin/language/en-GB/en-GB.com_componentbuilder.ini
@@ -348,6 +348,12 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_DESCRIPTION="Select an admin view"
COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_LABEL="View"
COM_COMPONENTBUILDER_ADMIN_VIEW_AJAX_INPUT="Ajax Input"
COM_COMPONENTBUILDER_ADMIN_VIEW_AJAX_INPUT_LABEL="Ajax Input"
+COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER="Alias Builder"
+COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_DESCRIPTION="Select the field/s you would like to use to build the alias."
+COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_LABEL="Alias Builder"
+COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_TYPE="Alias Builder Type"
+COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_TYPE_DESCRIPTION="How should the alias be build for this view"
+COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_TYPE_LABEL="Alias Builder Type"
COM_COMPONENTBUILDER_ADMIN_VIEW_ALNUM="ALNUM"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARCHIVE="Archive"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARRAY="ARRAY"
@@ -431,6 +437,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_CSS_VIEW_DESCRIPTION="Add your CSS here! [Do not
COM_COMPONENTBUILDER_ADMIN_VIEW_CSS_VIEW_HINT="// CSS for the edit view"
COM_COMPONENTBUILDER_ADMIN_VIEW_CSS_VIEW_LABEL="CSS"
COM_COMPONENTBUILDER_ADMIN_VIEW_CUBE="Cube"
+COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM="Custom"
COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM_BUTTON="Custom Button"
COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM_BUTTONS="Custom Buttons"
COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM_BUTTON_LABEL="Custom Buttons"
@@ -596,11 +603,15 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_NO="No"
COM_COMPONENTBUILDER_ADMIN_VIEW_NONE="None"
COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_ADVANCED_IMPORT_DESCRIPTION="
The scripts that are automatic added to the input fields below is identical to the default import scripts used. Adapt them to your own custom needs.
"
COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_ADVANCED_IMPORT_LABEL="Advanced notice."
+COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_ALIAS_BUILDER_CUSTOM_DESCRIPTION="The custom behaviour allows you to select what field/s must be used to build the alias."
+COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_ALIAS_BUILDER_CUSTOM_LABEL="Custom Alias Behaviour"
+COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_ALIAS_BUILDER_DEFAULT_DESCRIPTION="The default behaviour uses the title field to build that alias, and if no title field is found uses the date."
+COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_ALIAS_BUILDER_DEFAULT_LABEL="Default Alias Behaviour"
COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_BEGINNER_IMPORT_DESCRIPTION="
Please do not change this area unless you would like to add special import to this view that goes beyond the default import concept that Component Builder already does automatic if this view is set to have import & export in the component area where this view is linked to the component.
Welcome to the new improved fields and conditions layout.
We had to remove the repeatable fields layouts since Joomla has depreciated it. With this new improved layout we trust your experience will be better then ever before.
You can still watch the tutorials, and though it was made during the time repeatable fields were still being used, the various concepts and layouts still look mostly the same.
Welcome to the new improved fields and conditions layout.
We had to remove the repeatable fields layouts since Joomla has depreciated it. With this new improved layout we trust your experience will be better then ever before.
You can still watch the tutorials, and though it was made during the time repeatable fields were still being used, the various concepts and layouts still look mostly the same.
');
}
})
}
diff --git a/admin/models/forms/joomla_component.js b/admin/models/forms/joomla_component.js
index 786e02498..618bf90e7 100644
--- a/admin/models/forms/joomla_component.js
+++ b/admin/models/forms/joomla_component.js
@@ -994,10 +994,10 @@ function addButtonID(type, where, size){
});
}
-function addButton_server(type){
+function addButton_server(type, size){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&vdm="+vastDevMod);
if(token.length > 0 && type.length > 0){
- var request = 'token='+token+'&type='+type;
+ var request = 'token='+token+'&type='+type+'&size='+size;
}
return jQuery.ajax({
type: 'GET',
@@ -1007,10 +1007,16 @@ function addButton_server(type){
jsonp: 'callback'
});
}
-function addButton(type,where){
- addButton_server(type).done(function(result) {
+function addButton(type, where, size){
+ // just to insure that default behaviour still works
+ size = typeof size !== 'undefined' ? size : 1;
+ addButton_server(type, size).done(function(result) {
if(result){
- addData(result,'#jform_'+where);
+ if (2 == size) {
+ jQuery('#'+where).html(result);
+ } else {
+ addData(result, '#jform_'+where);
+ }
}
})
}
diff --git a/admin/models/forms/language_translation.js b/admin/models/forms/language_translation.js
index 12192c8bd..5c7deecd7 100644
--- a/admin/models/forms/language_translation.js
+++ b/admin/models/forms/language_translation.js
@@ -34,10 +34,10 @@ function addData(result,where){
jQuery(result).insertAfter(jQuery(where).closest('.control-group'));
}
-function addButton_server(type){
+function addButton_server(type, size){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&vdm="+vastDevMod);
if(token.length > 0 && type.length > 0){
- var request = 'token='+token+'&type='+type;
+ var request = 'token='+token+'&type='+type+'&size='+size;
}
return jQuery.ajax({
type: 'GET',
@@ -47,10 +47,16 @@ function addButton_server(type){
jsonp: 'callback'
});
}
-function addButton(type,where){
- addButton_server(type).done(function(result) {
+function addButton(type, where, size){
+ // just to insure that default behaviour still works
+ size = typeof size !== 'undefined' ? size : 1;
+ addButton_server(type, size).done(function(result) {
if(result){
- addData(result,'#jform_'+where);
+ if (2 == size) {
+ jQuery('#'+where).html(result);
+ } else {
+ addData(result, '#jform_'+where);
+ }
}
})
}
diff --git a/admin/models/forms/library.js b/admin/models/forms/library.js
index 05d3bbc30..b06f35d92 100644
--- a/admin/models/forms/library.js
+++ b/admin/models/forms/library.js
@@ -453,10 +453,10 @@ function addButtonID(type, where, size){
});
}
-function addButton_server(type){
+function addButton_server(type, size){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&vdm="+vastDevMod);
if(token.length > 0 && type.length > 0){
- var request = 'token='+token+'&type='+type;
+ var request = 'token='+token+'&type='+type+'&size='+size;
}
return jQuery.ajax({
type: 'GET',
@@ -466,10 +466,16 @@ function addButton_server(type){
jsonp: 'callback'
});
}
-function addButton(type,where){
- addButton_server(type).done(function(result) {
+function addButton(type, where, size){
+ // just to insure that default behaviour still works
+ size = typeof size !== 'undefined' ? size : 1;
+ addButton_server(type, size).done(function(result) {
if(result){
- addData(result,'#jform_'+where);
+ if (2 == size) {
+ jQuery('#'+where).html(result);
+ } else {
+ addData(result, '#jform_'+where);
+ }
}
})
}
diff --git a/admin/models/help_document.php b/admin/models/help_document.php
index df8a7e30a..738bd6c0f 100644
--- a/admin/models/help_document.php
+++ b/admin/models/help_document.php
@@ -849,7 +849,7 @@ class ComponentbuilderModelHelp_document extends JModelAdmin
// Automatic handling of alias for empty fields
if (in_array($input->get('task'), array('apply', 'save', 'save2new')) && (int) $input->get('id') == 0)
{
- if ($data['alias'] == null)
+ if ($data['alias'] == null || empty($data['alias']))
{
if (JFactory::getConfig()->get('unicodeslugs') == 1)
{
@@ -867,8 +867,7 @@ class ComponentbuilderModelHelp_document extends JModelAdmin
$msg = JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_SAVE_WARNING');
}
- list($title, $alias) = $this->_generateNewTitle($data['alias'], $data['title']);
- $data['alias'] = $alias;
+ $data['alias'] = $this->_generateNewTitle($data['alias']);
if (isset($msg))
{
@@ -923,26 +922,49 @@ class ComponentbuilderModelHelp_document extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title/s & alias.
*
- * @param string $alias The alias.
- * @param string $title The title.
+ * @param string $alias The alias.
+ * @param string/array $title The title.
*
- * @return array Contains the modified title and alias.
+ * @return array/string Contains the modified title/s and/or alias.
*
*/
- protected function _generateNewTitle($alias, $title)
+ protected function _generateNewTitle($alias, $title = null)
{
- // Alter the title & alias
+ // Alter the title/s & alias
$table = $this->getTable();
while ($table->load(array('alias' => $alias)))
{
- $title = JString::increment($title);
+ // Check if this is an array of titles
+ if (ComponentbuilderHelper::checkArray($title))
+ {
+ foreach($title as $nr => &$_title)
+ {
+ $_title = JString::increment($_title);
+ }
+ }
+ // Make sure we have a title
+ elseif ($title)
+ {
+ $title = JString::increment($title);
+ }
$alias = JString::increment($alias, 'dash');
}
-
- return array($title, $alias);
+ // Check if this is an array of titles
+ if (ComponentbuilderHelper::checkArray($title))
+ {
+ $title[] = $alias;
+ return $title;
+ }
+ // Make sure we have a title
+ elseif ($title)
+ {
+ return array($title, $alias);
+ }
+ // We only had an alias
+ return $alias;
}
}
diff --git a/admin/models/joomla_component.php b/admin/models/joomla_component.php
index d6f5cceab..19edf160d 100644
--- a/admin/models/joomla_component.php
+++ b/admin/models/joomla_component.php
@@ -1233,9 +1233,9 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/language.php b/admin/models/language.php
index eeac5ce26..7022e7509 100644
--- a/admin/models/language.php
+++ b/admin/models/language.php
@@ -826,9 +826,9 @@ class ComponentbuilderModelLanguage extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/language_translation.php b/admin/models/language_translation.php
index 1b79e0f1c..98d084811 100644
--- a/admin/models/language_translation.php
+++ b/admin/models/language_translation.php
@@ -885,9 +885,9 @@ class ComponentbuilderModelLanguage_translation extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/layout.php b/admin/models/layout.php
index d5d61b192..c379ae4e2 100644
--- a/admin/models/layout.php
+++ b/admin/models/layout.php
@@ -885,7 +885,7 @@ class ComponentbuilderModelLayout extends JModelAdmin
// Automatic handling of alias for empty fields
if (in_array($input->get('task'), array('apply', 'save', 'save2new')) && (int) $input->get('id') == 0)
{
- if ($data['alias'] == null)
+ if ($data['alias'] == null || empty($data['alias']))
{
if (JFactory::getConfig()->get('unicodeslugs') == 1)
{
@@ -903,8 +903,7 @@ class ComponentbuilderModelLayout extends JModelAdmin
$msg = JText::_('COM_COMPONENTBUILDER_LAYOUT_SAVE_WARNING');
}
- list($name, $alias) = $this->_generateNewTitle($data['alias'], $data['name']);
- $data['alias'] = $alias;
+ $data['alias'] = $this->_generateNewTitle($data['alias']);
if (isset($msg))
{
@@ -959,26 +958,49 @@ class ComponentbuilderModelLayout extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title/s & alias.
*
- * @param string $alias The alias.
- * @param string $title The title.
+ * @param string $alias The alias.
+ * @param string/array $title The title.
*
- * @return array Contains the modified title and alias.
+ * @return array/string Contains the modified title/s and/or alias.
*
*/
- protected function _generateNewTitle($alias, $title)
+ protected function _generateNewTitle($alias, $title = null)
{
- // Alter the title & alias
+ // Alter the title/s & alias
$table = $this->getTable();
while ($table->load(array('alias' => $alias)))
{
- $title = JString::increment($title);
+ // Check if this is an array of titles
+ if (ComponentbuilderHelper::checkArray($title))
+ {
+ foreach($title as $nr => &$_title)
+ {
+ $_title = JString::increment($_title);
+ }
+ }
+ // Make sure we have a title
+ elseif ($title)
+ {
+ $title = JString::increment($title);
+ }
$alias = JString::increment($alias, 'dash');
}
-
- return array($title, $alias);
+ // Check if this is an array of titles
+ if (ComponentbuilderHelper::checkArray($title))
+ {
+ $title[] = $alias;
+ return $title;
+ }
+ // Make sure we have a title
+ elseif ($title)
+ {
+ return array($title, $alias);
+ }
+ // We only had an alias
+ return $alias;
}
}
diff --git a/admin/models/library.php b/admin/models/library.php
index 74a191ccb..869c3a030 100644
--- a/admin/models/library.php
+++ b/admin/models/library.php
@@ -1026,9 +1026,9 @@ class ComponentbuilderModelLibrary extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/library_config.php b/admin/models/library_config.php
index d95ad520d..6255dff06 100644
--- a/admin/models/library_config.php
+++ b/admin/models/library_config.php
@@ -849,9 +849,9 @@ class ComponentbuilderModelLibrary_config extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/library_files_folders_urls.php b/admin/models/library_files_folders_urls.php
index a92590104..6730d5ce1 100644
--- a/admin/models/library_files_folders_urls.php
+++ b/admin/models/library_files_folders_urls.php
@@ -933,9 +933,9 @@ class ComponentbuilderModelLibrary_files_folders_urls extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/server.php b/admin/models/server.php
index e8100c398..18a3839b2 100644
--- a/admin/models/server.php
+++ b/admin/models/server.php
@@ -1064,9 +1064,9 @@ class ComponentbuilderModelServer extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/site_view.php b/admin/models/site_view.php
index 4acbd47aa..7082ed1ac 100644
--- a/admin/models/site_view.php
+++ b/admin/models/site_view.php
@@ -1163,9 +1163,9 @@ class ComponentbuilderModelSite_view extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/snippet.php b/admin/models/snippet.php
index 56aa7e8fc..73ae5a0bb 100644
--- a/admin/models/snippet.php
+++ b/admin/models/snippet.php
@@ -856,9 +856,9 @@ class ComponentbuilderModelSnippet extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/snippet_type.php b/admin/models/snippet_type.php
index 09d0d7d41..729455483 100644
--- a/admin/models/snippet_type.php
+++ b/admin/models/snippet_type.php
@@ -826,9 +826,9 @@ class ComponentbuilderModelSnippet_type extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/models/template.php b/admin/models/template.php
index e9dddf35b..52805d544 100644
--- a/admin/models/template.php
+++ b/admin/models/template.php
@@ -885,7 +885,7 @@ class ComponentbuilderModelTemplate extends JModelAdmin
// Automatic handling of alias for empty fields
if (in_array($input->get('task'), array('apply', 'save', 'save2new')) && (int) $input->get('id') == 0)
{
- if ($data['alias'] == null)
+ if ($data['alias'] == null || empty($data['alias']))
{
if (JFactory::getConfig()->get('unicodeslugs') == 1)
{
@@ -903,8 +903,7 @@ class ComponentbuilderModelTemplate extends JModelAdmin
$msg = JText::_('COM_COMPONENTBUILDER_TEMPLATE_SAVE_WARNING');
}
- list($name, $alias) = $this->_generateNewTitle($data['alias'], $data['name']);
- $data['alias'] = $alias;
+ $data['alias'] = $this->_generateNewTitle($data['alias']);
if (isset($msg))
{
@@ -959,26 +958,49 @@ class ComponentbuilderModelTemplate extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title/s & alias.
*
- * @param string $alias The alias.
- * @param string $title The title.
+ * @param string $alias The alias.
+ * @param string/array $title The title.
*
- * @return array Contains the modified title and alias.
+ * @return array/string Contains the modified title/s and/or alias.
*
*/
- protected function _generateNewTitle($alias, $title)
+ protected function _generateNewTitle($alias, $title = null)
{
- // Alter the title & alias
+ // Alter the title/s & alias
$table = $this->getTable();
while ($table->load(array('alias' => $alias)))
{
- $title = JString::increment($title);
+ // Check if this is an array of titles
+ if (ComponentbuilderHelper::checkArray($title))
+ {
+ foreach($title as $nr => &$_title)
+ {
+ $_title = JString::increment($_title);
+ }
+ }
+ // Make sure we have a title
+ elseif ($title)
+ {
+ $title = JString::increment($title);
+ }
$alias = JString::increment($alias, 'dash');
}
-
- return array($title, $alias);
+ // Check if this is an array of titles
+ if (ComponentbuilderHelper::checkArray($title))
+ {
+ $title[] = $alias;
+ return $title;
+ }
+ // Make sure we have a title
+ elseif ($title)
+ {
+ return array($title, $alias);
+ }
+ // We only had an alias
+ return $alias;
}
}
diff --git a/admin/models/validation_rule.php b/admin/models/validation_rule.php
index c6b95d2fb..6f3c00444 100644
--- a/admin/models/validation_rule.php
+++ b/admin/models/validation_rule.php
@@ -864,9 +864,9 @@ class ComponentbuilderModelValidation_rule extends JModelAdmin
}
/**
- * Method to change the title & alias.
+ * Method to change the title
*
- * @param string $title The title.
+ * @param string $title The title.
*
* @return array Contains the modified title and alias.
*
diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql
index 7fffdf017..24126ea64 100644
--- a/admin/sql/install.mysql.utf8.sql
+++ b/admin/sql/install.mysql.utf8.sql
@@ -161,6 +161,8 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_view` (
`addtables` TEXT NOT NULL,
`addtabs` TEXT NOT NULL,
`ajax_input` TEXT NOT NULL,
+ `alias_builder` VARCHAR(255) NOT NULL DEFAULT '',
+ `alias_builder_type` CHAR NOT NULL DEFAULT '',
`css_view` TEXT NOT NULL,
`css_views` TEXT NOT NULL,
`custom_button` TEXT NOT NULL,
@@ -227,25 +229,26 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_view` (
KEY `idx_state` (`published`),
KEY `idx_name_single` (`name_single`),
KEY `idx_name_list` (`name_list`),
- KEY `idx_add_php_after_publish` (`add_php_after_publish`),
KEY `idx_add_php_batchmove` (`add_php_batchmove`),
KEY `idx_add_php_allowedit` (`add_php_allowedit`),
KEY `idx_add_php_save` (`add_php_save`),
KEY `idx_add_php_getlistquery` (`add_php_getlistquery`),
+ KEY `idx_add_sql` (`add_sql`),
KEY `idx_type` (`type`),
KEY `idx_add_fadein` (`add_fadein`),
+ KEY `idx_add_php_after_publish` (`add_php_after_publish`),
KEY `idx_add_php_after_delete` (`add_php_after_delete`),
- KEY `idx_add_sql` (`add_sql`),
+ KEY `idx_add_php_getitems_after_all` (`add_php_getitems_after_all`),
KEY `idx_add_php_before_save` (`add_php_before_save`),
KEY `idx_add_php_postsavehook` (`add_php_postsavehook`),
KEY `idx_add_php_batchcopy` (`add_php_batchcopy`),
KEY `idx_add_php_before_publish` (`add_php_before_publish`),
KEY `idx_add_php_before_delete` (`add_php_before_delete`),
KEY `idx_add_php_document` (`add_php_document`),
- KEY `idx_add_css_view` (`add_css_view`),
KEY `idx_add_custom_import` (`add_custom_import`),
+ KEY `idx_add_php_getitem` (`add_php_getitem`),
KEY `idx_add_php_getitems` (`add_php_getitems`),
- KEY `idx_add_php_getitems_after_all` (`add_php_getitems_after_all`),
+ KEY `idx_add_css_view` (`add_css_view`),
KEY `idx_add_css_views` (`add_css_views`),
KEY `idx_add_javascript_view_file` (`add_javascript_view_file`),
KEY `idx_add_javascript_view_footer` (`add_javascript_view_footer`),
@@ -253,8 +256,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_view` (
KEY `idx_add_javascript_views_footer` (`add_javascript_views_footer`),
KEY `idx_add_custom_button` (`add_custom_button`),
KEY `idx_source` (`source`),
- KEY `idx_add_php_ajax` (`add_php_ajax`),
- KEY `idx_add_php_getitem` (`add_php_getitem`)
+ KEY `idx_add_php_ajax` (`add_php_ajax`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `#__componentbuilder_custom_admin_view` (
@@ -1517,7 +1519,7 @@ INSERT INTO `#__componentbuilder_fieldtype` (`id`, `catid`, `description`, `name
(24, '', 'The text form field type provides a text box for data entry. If the field has a value saved, this value is displayed when the page is first loaded. If not, the default value (if any) is selected.', 'Text', '{\"properties0\":{\"name\":\"type\",\"example\":\"text\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be text.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mytextvalue\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Enter some text\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"size\",\"example\":\"10\",\"adjustable\":\"1\",\"description\":\"(optional) is the width of the text box in characters. If omitted the width is determined by the browser. The value of size does not limit the number of characters that may be entered.\"},\"properties4\":{\"name\":\"maxlength\",\"example\":\"50\",\"adjustable\":\"1\",\"description\":\"(optional) limits the number of characters that may be entered.\"},\"properties5\":{\"name\":\"default\",\"example\":\"Some text\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"properties6\":{\"name\":\"description\",\"example\":\"Enter some description\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties7\":{\"name\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties8\":{\"name\":\"readonly\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties9\":{\"name\":\"disabled\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties10\":{\"name\":\"required\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties11\":{\"name\":\"filter\",\"example\":\"STRING\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties12\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties13\":{\"name\":\"field\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) used in validation of \\\"equals\\\" to link the field to match.\"},\"properties14\":{\"name\":\"message\",\"example\":\"Error! Please add some text here.\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) The error message that will be displayed instead of the default message.\"},\"properties15\":{\"name\":\"hint\",\"example\":\"Your Name Here\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) The placeholder to display inside the text box.\"},\"properties16\":{\"name\":\"autocomplete\",\"example\":\"on\",\"adjustable\":\"1\",\"description\":\"(optional) The autocomplete state for the form field. If \'off\' element will not be automatically completed by browser.\"},\"properties17\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+\"},\"properties18\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a text box for data entry.', '', 1, 8, '', ''),
(25, '', 'The textarea form field type provides a text area for entry of multi-line text. If the field has a value saved, this value is displayed when the page is first loaded. If not, the default value (if any) is selected.', 'Textarea', '{\"properties0\":{\"name\":\"type\",\"example\":\"textarea\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be textarea.\"},\"properties1\":{\"name\":\"name\",\"example\":\"mytextarea\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Enter some text\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"rows\",\"example\":\"10\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the height of the visible text area in lines. If omitted the width is determined by the browser. The value of rows does not limit the number of lines that may be entered.\"},\"properties4\":{\"name\":\"cols\",\"example\":\"5\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the width of the visible text area in characters. If omitted the width is determined by the browser. The value of cols does not limit the number of characters that may be entered.\"},\"properties5\":{\"name\":\"default\",\"example\":\"default text\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"properties6\":{\"name\":\"description\",\"example\":\"Text Area\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties16\":{\"name\":\"message\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties7\":{\"name\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties8\":{\"name\":\"filter\",\"example\":\"raw\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties9\":{\"name\":\"hint\",\"example\":\"\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) The placeholder to display inside the textarea.\"},\"properties10\":{\"name\":\"required\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties17\":{\"name\":\"validate\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties11\":{\"name\":\"readonly\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties12\":{\"name\":\"disabled\",\"example\":\"false\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties13\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+\"},\"properties14\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a text area for entry of multi-line text.', '', 1, 6, '', ''),
(26, '', 'The timezones form field type provides a drop down list of time zones. If the field has a value saved, this value is displayed when the page is first loaded. If not, the default value (if any) is selected.', 'Timezone', '{\"properties0\":{\"name\":\"type\",\"example\":\"timezone\",\"adjustable\":\"0\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) must be timezone.\"},\"properties1\":{\"name\":\"name\",\"example\":\"timezone\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Timezone\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the default time zone. For example, use \'-10\' for \'(UTC -10:00) Hawaii\'.\"},\"properties4\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties5\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) show this field on the bases of the value in another field.\"}}', 'provides a drop down list of time zones.', '', 1, 2, '', ''),
-(27, '', 'This field essentially is a text field with the type of url. If a fully qualified url (that is one with a scheme and domain such as http://example.com) is entered and it uses idn (that is uses characters that are non ascii such as ê or Ψ) it will translat', 'URL', '{\"properties0\":{\"name\":\"type\",\"example\":\"url\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be url.\"},\"properties1\":{\"name\":\"name\",\"example\":\"website\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Website\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"size\",\"example\":\"10\",\"adjustable\":\"1\",\"description\":\"(optional) is the width of the text box in characters. If omitted the width is determined by the browser. The value of size does not limit the number of characters that may be entered.\"},\"properties4\":{\"name\":\"maxlength\",\"example\":\"50\",\"adjustable\":\"1\",\"description\":\"(optional) limits the number of characters that may be entered.\"},\"properties5\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"properties6\":{\"name\":\"description\",\"example\":\"Enter website address\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties7\":{\"name\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties8\":{\"name\":\"readonly\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties9\":{\"name\":\"disabled\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties10\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties11\":{\"name\":\"filter\",\"example\":\"url\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties12\":{\"name\":\"validated\",\"example\":\"url\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties13\":{\"name\":\"message\",\"example\":\"Error! Please add website here.\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties14\":{\"name\":\"hint\",\"example\":\"Your Website Here\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) The placeholder to display inside the text box.\"},\"properties15\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+\"},\"properties16\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a URL text input field.', '', 1, 5, '', ''),
+(27, '', 'This field essentially is a text field with the type of url. If a fully qualified url (that is one with a scheme and domain such as http://example.com) is entered and it uses idn (that is uses characters that are non ascii such as ê or Ψ) it will translat', 'URL', '{\"properties0\":{\"name\":\"type\",\"example\":\"url\",\"mandatory\":\"1\",\"description\":\"(mandatory) must be url.\"},\"properties1\":{\"name\":\"name\",\"example\":\"website\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Website\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"size\",\"example\":\"10\",\"adjustable\":\"1\",\"description\":\"(optional) is the width of the text box in characters. If omitted the width is determined by the browser. The value of size does not limit the number of characters that may be entered.\"},\"properties4\":{\"name\":\"maxlength\",\"example\":\"50\",\"adjustable\":\"1\",\"description\":\"(optional) limits the number of characters that may be entered.\"},\"properties5\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) (not translatable) is the default value.\"},\"properties6\":{\"name\":\"description\",\"example\":\"Enter website address\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties7\":{\"name\":\"class\",\"example\":\"text_area\",\"adjustable\":\"1\",\"description\":\"(optional) is a CSS class name for the HTML form field. If omitted this will default to \'text_area\'.\"},\"properties8\":{\"name\":\"readonly\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value\"},\"properties9\":{\"name\":\"disabled\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field cannot be changed and will automatically inherit the default value - it will also not submit\"},\"properties10\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties11\":{\"name\":\"filter\",\"example\":\"url\",\"adjustable\":\"1\",\"description\":\"(optional) allow the system to save certain html tags or raw data.\"},\"properties12\":{\"name\":\"validated\",\"example\":\"url\",\"adjustable\":\"1\",\"description\":\"(optional) The validation method for the form field. This value will determine which method is used to validate the value for a field.\"},\"properties18\":{\"name\":\"scheme\",\"example\":\"http,https,mailto\",\"adjustable\":\"1\",\"description\":\"(optional) Validates that the value is a URL with a valid scheme (which can be restricted by the optional comma-separated field \'scheme\'), and passes a basic syntax check.\"},\"properties13\":{\"name\":\"message\",\"example\":\"Error! Please add website here.\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as error on validation.\"},\"properties14\":{\"name\":\"hint\",\"example\":\"Your Website Here\",\"adjustable\":\"1\",\"translatable\":\"1\",\"description\":\"(optional) The placeholder to display inside the text box.\"},\"properties15\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) Allows you to hide the field based on the value(s) of another field; for Joomla 3.2.4+\"},\"properties16\":{\"name\":\"onchange\",\"example\":\"\",\"adjustable\":\"1\",\"description\":\"(optional) HTML equivalent attribute (javascript use)\"}}', 'provides a URL text input field.', '', 1, 6, '', ''),
(28, '', 'The user form field type provides a modal select box of users.', 'User', '{\"properties0\":{\"name\":\"type\",\"example\":\"user\",\"adjustable\":\"0\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) must be user.\"},\"properties1\":{\"name\":\"name\",\"example\":\"user\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) is the unique name of the field. This must match the name of the query results column that contains the values that will be shown to the user in the drop-down list, unless a different name is specified in the value_field attribute.\"},\"properties2\":{\"name\":\"label\",\"example\":\"User\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties4\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a CSS class name for the HTML form field.\"},\"properties5\":{\"name\":\"size\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the width of the text box in characters. If omitted the width is determined by the browser. The value of size does not limit the number of characters that may be entered.\"},\"properties6\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) The field must be filled before submitting the form.\"},\"properties7\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) show this field on the bases of the value in another field.\"}}', 'provides a modal list of users.', '', 1, 2, '', ''),
(29, '', 'The usergroup form field type provides a modal select box of user groups.', 'Usergroup', '{\"properties0\":{\"name\":\"type\",\"example\":\"usergroup\",\"adjustable\":\"0\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) must be usergroup.\"},\"properties1\":{\"name\":\"name\",\"example\":\"usergroup\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) is the unique name of the field. This must match the name of the query results column that contains the values that will be shown to the user in the drop-down list, unless a different name is specified in the value_field attribute.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Group\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"description\",\"example\":\"Select a group\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties4\":{\"name\":\"class\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a CSS class name for the HTML form field.\"},\"properties5\":{\"name\":\"size\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the width of the text box in characters. If omitted the width is determined by the browser. The value of size does not limit the number of characters that may be entered.\"},\"properties6\":{\"name\":\"required\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the field required true if yes.\"},\"properties7\":{\"name\":\"multiple\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) If set to multiple then allows more than one usergroup to be selected.\"},\"properties8\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) show this field on the bases of the value in another field.\"}}', 'provides a drop down list of user groups.', '', 1, 2, '', ''),
(30, '', 'The filelist form field type provides a drop down list of files from a specified directory. If the field has a saved value this is selected when the page is first loaded. If not, the default value (if any) is selected.\r\n\r\nBy default, the first item on the', 'Filelist', '{\"properties0\":{\"name\":\"type\",\"example\":\"filelist\",\"adjustable\":\"0\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) must be filelist.\"},\"properties1\":{\"name\":\"name\",\"example\":\"myfile\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"0\",\"description\":\"(mandatory) is the unique name of the field.\"},\"properties2\":{\"name\":\"label\",\"example\":\"Select a file\",\"adjustable\":\"1\",\"mandatory\":\"1\",\"translatable\":\"1\",\"description\":\"(mandatory) (translatable) is the descriptive title of the field.\"},\"properties3\":{\"name\":\"directory\",\"example\":\"images\\/stories\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the filesystem path to the directory containing the files to be listed. If omitted the directory given by JPATH_ROOT is assumed.\"},\"properties4\":{\"name\":\"default\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is the default file name.\"},\"properties5\":{\"name\":\"description\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"1\",\"description\":\"(optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.\"},\"properties6\":{\"name\":\"filter\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a regular expression string which is used to filter the list of files selected for inclusion in the drop-down list. If omitted, all files in the directory are included. The filter argument expression is applied before the exclude argument expression. For information on constructing regular expressions see Regular expressions in parameter arguments.\"},\"properties7\":{\"name\":\"exclude\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a regular expression string which is used to exclude files from the list. The exclude argument expression is applied after the filter argument expression. For information on constructing regular expressions see Regular expressions in parameter arguments.\"},\"properties8\":{\"name\":\"stripext\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a Boolean argument. If true then file name extensions will be stripped from the file names listed. Also note that the file name will be saved without the extension too.\"},\"properties9\":{\"name\":\"hide_none\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a Boolean argument. If true, the \'- Do not use -\' item is omitted from the drop-down list.\"},\"properties10\":{\"name\":\"hide_default\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) is a Boolean argument. If true, the \'- Use default -\' item is omitted from the drop-down list.\"},\"properties11\":{\"name\":\"showon\",\"example\":\"\",\"adjustable\":\"1\",\"mandatory\":\"0\",\"translatable\":\"0\",\"description\":\"(optional) show this field on the bases of the value in another field.\"}}', 'Provides a drop down list of files from a specified directory.', '', 1, 2, '', 1),
diff --git a/admin/sql/updates/mysql/2.7.0.sql b/admin/sql/updates/mysql/2.7.0.sql
index 6255f148a..eb2dbc933 100644
--- a/admin/sql/updates/mysql/2.7.0.sql
+++ b/admin/sql/updates/mysql/2.7.0.sql
@@ -25,3 +25,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_validation_rule` (
KEY `idx_state` (`published`),
KEY `idx_name` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
+
+ALTER TABLE `#__componentbuilder_admin_view` ADD `alias_builder` VARCHAR(255) NOT NULL DEFAULT '' AFTER `ajax_input`;
+
+ALTER TABLE `#__componentbuilder_admin_view` ADD `alias_builder_type` CHAR NOT NULL DEFAULT '' AFTER `alias_builder`;
diff --git a/admin/views/field/tmpl/edit.php b/admin/views/field/tmpl/edit.php
index 1a68d6621..e717e7537 100644
--- a/admin/views/field/tmpl/edit.php
+++ b/admin/views/field/tmpl/edit.php
@@ -339,6 +339,23 @@ jQuery(document).ready(function() {
}
});
+
+function JRouter(link) {
+isSite())
+ {
+ echo 'var url = "'.JURI::root().'";';
+ }
+ else
+ {
+ echo 'var url = "";';
+ }
+?>
+ return url+link;
+}
+
// nice little dot trick :)
jQuery(document).ready( function($) {
var x=0;
diff --git a/componentbuilder.xml b/componentbuilder.xml
index 0236645dd..201cc73ff 100644
--- a/componentbuilder.xml
+++ b/componentbuilder.xml
@@ -1,7 +1,7 @@
COM_COMPONENTBUILDER
- 27th March, 2018
+ 28th March, 2018Llewellyn van der Merwellewellyn@joomlacomponentbuilder.comhttp://joomlacomponentbuilder.com
diff --git a/script.php b/script.php
index cfb509417..2cacf1a0a 100644
--- a/script.php
+++ b/script.php
@@ -3308,9 +3308,9 @@ class com_componentbuilderInstallerScript
$admin_view->type_title = 'Componentbuilder Admin_view';
$admin_view->type_alias = 'com_componentbuilder.admin_view';
$admin_view->table = '{"special": {"dbtable": "#__componentbuilder_admin_view","key": "id","type": "Admin_view","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
- $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","add_php_after_publish":"add_php_after_publish","add_php_batchmove":"add_php_batchmove","add_php_allowedit":"add_php_allowedit","add_php_save":"add_php_save","add_php_getlistquery":"add_php_getlistquery","php_import_save":"php_import_save","type":"type","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","add_php_after_delete":"add_php_after_delete","not_required":"not_required","add_sql":"add_sql","html_import_view":"html_import_view","icon_add":"icon_add","add_php_before_save":"add_php_before_save","add_php_postsavehook":"add_php_postsavehook","add_php_batchcopy":"add_php_batchcopy","add_php_before_publish":"add_php_before_publish","add_php_before_delete":"add_php_before_delete","add_php_document":"add_php_document","add_css_view":"add_css_view","add_custom_import":"add_custom_import","add_php_getitems":"add_php_getitems","php_import_headers":"php_import_headers","add_php_getitems_after_all":"add_php_getitems_after_all","css_view":"css_view","icon":"icon","php_getitems":"php_getitems","add_css_views":"add_css_views","php_getitems_after_all":"php_getitems_after_all","css_views":"css_views","php_getlistquery":"php_getlistquery","add_javascript_view_file":"add_javascript_view_file","php_before_save":"php_before_save","javascript_view_file":"javascript_view_file","php_save":"php_save","add_javascript_view_footer":"add_javascript_view_footer","php_postsavehook":"php_postsavehook","javascript_view_footer":"javascript_view_footer","php_allowedit":"php_allowedit","add_javascript_views_file":"add_javascript_views_file","php_batchcopy":"php_batchcopy","javascript_views_file":"javascript_views_file","php_batchmove":"php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","php_before_publish":"php_before_publish","javascript_views_footer":"javascript_views_footer","php_after_publish":"php_after_publish","add_custom_button":"add_custom_button","php_before_delete":"php_before_delete","php_after_delete":"php_after_delete","php_controller":"php_controller","php_document":"php_document","php_model":"php_model","source":"source","php_controller_list":"php_controller_list","sql":"sql","php_model_list":"php_model_list","add_php_ajax":"add_php_ajax","php_import_display":"php_import_display","php_ajaxmethod":"php_ajaxmethod","php_import":"php_import","php_import_setdata":"php_import_setdata","add_php_getitem":"add_php_getitem","php_import_ext":"php_import_ext","php_getitem":"php_getitem"}}';
+ $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","add_php_batchmove":"add_php_batchmove","add_php_allowedit":"add_php_allowedit","add_php_save":"add_php_save","add_php_getlistquery":"add_php_getlistquery","icon_add":"icon_add","html_import_view":"html_import_view","add_sql":"add_sql","type":"type","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","add_php_after_publish":"add_php_after_publish","not_required":"not_required","add_php_after_delete":"add_php_after_delete","php_import_save":"php_import_save","add_php_getitems_after_all":"add_php_getitems_after_all","add_php_before_save":"add_php_before_save","add_php_postsavehook":"add_php_postsavehook","add_php_batchcopy":"add_php_batchcopy","add_php_before_publish":"add_php_before_publish","alias_builder_type":"alias_builder_type","add_php_before_delete":"add_php_before_delete","add_php_document":"add_php_document","alias_builder":"alias_builder","add_custom_import":"add_custom_import","add_php_getitem":"add_php_getitem","php_import_headers":"php_import_headers","add_php_getitems":"add_php_getitems","icon":"icon","php_getitem":"php_getitem","php_getitems":"php_getitems","add_css_view":"add_css_view","php_getitems_after_all":"php_getitems_after_all","css_view":"css_view","php_getlistquery":"php_getlistquery","add_css_views":"add_css_views","php_before_save":"php_before_save","css_views":"css_views","php_save":"php_save","add_javascript_view_file":"add_javascript_view_file","php_postsavehook":"php_postsavehook","javascript_view_file":"javascript_view_file","php_allowedit":"php_allowedit","add_javascript_view_footer":"add_javascript_view_footer","php_batchcopy":"php_batchcopy","javascript_view_footer":"javascript_view_footer","php_batchmove":"php_batchmove","add_javascript_views_file":"add_javascript_views_file","php_before_publish":"php_before_publish","javascript_views_file":"javascript_views_file","php_after_publish":"php_after_publish","add_javascript_views_footer":"add_javascript_views_footer","php_before_delete":"php_before_delete","javascript_views_footer":"javascript_views_footer","php_after_delete":"php_after_delete","add_custom_button":"add_custom_button","php_document":"php_document","source":"source","php_controller":"php_controller","sql":"sql","php_model":"php_model","php_controller_list":"php_controller_list","php_import_display":"php_import_display","php_model_list":"php_model_list","php_import":"php_import","add_php_ajax":"add_php_ajax","php_import_setdata":"php_import_setdata","php_ajaxmethod":"php_ajaxmethod","php_import_ext":"php_import_ext"}}';
$admin_view->router = 'ComponentbuilderHelperRoute::getAdmin_viewRoute';
- $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_php_after_publish","add_php_batchmove","add_php_allowedit","add_php_save","add_php_getlistquery","type","add_fadein","add_php_after_delete","not_required","add_sql","add_php_before_save","add_php_postsavehook","add_php_batchcopy","add_php_before_publish","add_php_before_delete","add_php_document","add_css_view","add_custom_import","add_php_getitems","add_php_getitems_after_all","add_css_views","add_javascript_view_file","add_javascript_view_footer","add_javascript_views_file","add_javascript_views_footer","add_custom_button","source","add_php_ajax","add_php_getitem"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}';
+ $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_php_batchmove","add_php_allowedit","add_php_save","add_php_getlistquery","add_sql","type","add_fadein","add_php_after_publish","not_required","add_php_after_delete","add_php_getitems_after_all","add_php_before_save","add_php_postsavehook","add_php_batchcopy","add_php_before_publish","add_php_before_delete","add_php_document","add_custom_import","add_php_getitem","add_php_getitems","add_css_view","add_css_views","add_javascript_view_file","add_javascript_view_footer","add_javascript_views_file","add_javascript_views_footer","add_custom_button","source","add_php_ajax"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "alias_builder","targetTable": "#__componentbuilder_field","targetColumn": "id","displayColumn": "name"}]}';
// Set the object into the content types table.
$admin_view_Inserted = $db->insertObject('#__content_types', $admin_view);
@@ -3747,9 +3747,9 @@ class com_componentbuilderInstallerScript
$admin_view->type_title = 'Componentbuilder Admin_view';
$admin_view->type_alias = 'com_componentbuilder.admin_view';
$admin_view->table = '{"special": {"dbtable": "#__componentbuilder_admin_view","key": "id","type": "Admin_view","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
- $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","add_php_after_publish":"add_php_after_publish","add_php_batchmove":"add_php_batchmove","add_php_allowedit":"add_php_allowedit","add_php_save":"add_php_save","add_php_getlistquery":"add_php_getlistquery","php_import_save":"php_import_save","type":"type","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","add_php_after_delete":"add_php_after_delete","not_required":"not_required","add_sql":"add_sql","html_import_view":"html_import_view","icon_add":"icon_add","add_php_before_save":"add_php_before_save","add_php_postsavehook":"add_php_postsavehook","add_php_batchcopy":"add_php_batchcopy","add_php_before_publish":"add_php_before_publish","add_php_before_delete":"add_php_before_delete","add_php_document":"add_php_document","add_css_view":"add_css_view","add_custom_import":"add_custom_import","add_php_getitems":"add_php_getitems","php_import_headers":"php_import_headers","add_php_getitems_after_all":"add_php_getitems_after_all","css_view":"css_view","icon":"icon","php_getitems":"php_getitems","add_css_views":"add_css_views","php_getitems_after_all":"php_getitems_after_all","css_views":"css_views","php_getlistquery":"php_getlistquery","add_javascript_view_file":"add_javascript_view_file","php_before_save":"php_before_save","javascript_view_file":"javascript_view_file","php_save":"php_save","add_javascript_view_footer":"add_javascript_view_footer","php_postsavehook":"php_postsavehook","javascript_view_footer":"javascript_view_footer","php_allowedit":"php_allowedit","add_javascript_views_file":"add_javascript_views_file","php_batchcopy":"php_batchcopy","javascript_views_file":"javascript_views_file","php_batchmove":"php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","php_before_publish":"php_before_publish","javascript_views_footer":"javascript_views_footer","php_after_publish":"php_after_publish","add_custom_button":"add_custom_button","php_before_delete":"php_before_delete","php_after_delete":"php_after_delete","php_controller":"php_controller","php_document":"php_document","php_model":"php_model","source":"source","php_controller_list":"php_controller_list","sql":"sql","php_model_list":"php_model_list","add_php_ajax":"add_php_ajax","php_import_display":"php_import_display","php_ajaxmethod":"php_ajaxmethod","php_import":"php_import","php_import_setdata":"php_import_setdata","add_php_getitem":"add_php_getitem","php_import_ext":"php_import_ext","php_getitem":"php_getitem"}}';
+ $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","add_php_batchmove":"add_php_batchmove","add_php_allowedit":"add_php_allowedit","add_php_save":"add_php_save","add_php_getlistquery":"add_php_getlistquery","icon_add":"icon_add","html_import_view":"html_import_view","add_sql":"add_sql","type":"type","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","add_php_after_publish":"add_php_after_publish","not_required":"not_required","add_php_after_delete":"add_php_after_delete","php_import_save":"php_import_save","add_php_getitems_after_all":"add_php_getitems_after_all","add_php_before_save":"add_php_before_save","add_php_postsavehook":"add_php_postsavehook","add_php_batchcopy":"add_php_batchcopy","add_php_before_publish":"add_php_before_publish","alias_builder_type":"alias_builder_type","add_php_before_delete":"add_php_before_delete","add_php_document":"add_php_document","alias_builder":"alias_builder","add_custom_import":"add_custom_import","add_php_getitem":"add_php_getitem","php_import_headers":"php_import_headers","add_php_getitems":"add_php_getitems","icon":"icon","php_getitem":"php_getitem","php_getitems":"php_getitems","add_css_view":"add_css_view","php_getitems_after_all":"php_getitems_after_all","css_view":"css_view","php_getlistquery":"php_getlistquery","add_css_views":"add_css_views","php_before_save":"php_before_save","css_views":"css_views","php_save":"php_save","add_javascript_view_file":"add_javascript_view_file","php_postsavehook":"php_postsavehook","javascript_view_file":"javascript_view_file","php_allowedit":"php_allowedit","add_javascript_view_footer":"add_javascript_view_footer","php_batchcopy":"php_batchcopy","javascript_view_footer":"javascript_view_footer","php_batchmove":"php_batchmove","add_javascript_views_file":"add_javascript_views_file","php_before_publish":"php_before_publish","javascript_views_file":"javascript_views_file","php_after_publish":"php_after_publish","add_javascript_views_footer":"add_javascript_views_footer","php_before_delete":"php_before_delete","javascript_views_footer":"javascript_views_footer","php_after_delete":"php_after_delete","add_custom_button":"add_custom_button","php_document":"php_document","source":"source","php_controller":"php_controller","sql":"sql","php_model":"php_model","php_controller_list":"php_controller_list","php_import_display":"php_import_display","php_model_list":"php_model_list","php_import":"php_import","add_php_ajax":"add_php_ajax","php_import_setdata":"php_import_setdata","php_ajaxmethod":"php_ajaxmethod","php_import_ext":"php_import_ext"}}';
$admin_view->router = 'ComponentbuilderHelperRoute::getAdmin_viewRoute';
- $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_php_after_publish","add_php_batchmove","add_php_allowedit","add_php_save","add_php_getlistquery","type","add_fadein","add_php_after_delete","not_required","add_sql","add_php_before_save","add_php_postsavehook","add_php_batchcopy","add_php_before_publish","add_php_before_delete","add_php_document","add_css_view","add_custom_import","add_php_getitems","add_php_getitems_after_all","add_css_views","add_javascript_view_file","add_javascript_view_footer","add_javascript_views_file","add_javascript_views_footer","add_custom_button","source","add_php_ajax","add_php_getitem"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}';
+ $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_php_batchmove","add_php_allowedit","add_php_save","add_php_getlistquery","add_sql","type","add_fadein","add_php_after_publish","not_required","add_php_after_delete","add_php_getitems_after_all","add_php_before_save","add_php_postsavehook","add_php_batchcopy","add_php_before_publish","add_php_before_delete","add_php_document","add_custom_import","add_php_getitem","add_php_getitems","add_css_view","add_css_views","add_javascript_view_file","add_javascript_view_footer","add_javascript_views_file","add_javascript_views_footer","add_custom_button","source","add_php_ajax"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "alias_builder","targetTable": "#__componentbuilder_field","targetColumn": "id","displayColumn": "name"}]}';
// Check if admin_view type is already in content_type DB.
$admin_view_id = null;
diff --git a/site/helpers/componentbuilder.php b/site/helpers/componentbuilder.php
index d8a8cad2e..7b13bcd61 100644
--- a/site/helpers/componentbuilder.php
+++ b/site/helpers/componentbuilder.php
@@ -697,7 +697,7 @@ abstract class ComponentbuilderHelper
$field['values_description'] .= '