Better filters in admin areas of JCB. #664
10
README.md
10
README.md
@ -12,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
|
||||
|
||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.4) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.6) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||
|
||||
@ -143,12 +143,12 @@ TODO
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 3rd January, 2021
|
||||
+ *Version*: 2.12.4
|
||||
+ *Last Build*: 2nd February, 2021
|
||||
+ *Version*: 2.12.6
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **291460**
|
||||
+ *Field count*: **1609**
|
||||
+ *Line count*: **293026**
|
||||
+ *Field count*: **1611**
|
||||
+ *File count*: **1934**
|
||||
+ *Folder count*: **322**
|
||||
|
||||
|
@ -12,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
|
||||
|
||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.4) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.6) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||
|
||||
@ -143,12 +143,12 @@ TODO
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 3rd January, 2021
|
||||
+ *Version*: 2.12.4
|
||||
+ *Last Build*: 2nd February, 2021
|
||||
+ *Version*: 2.12.6
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **291460**
|
||||
+ *Field count*: **1609**
|
||||
+ *Line count*: **293026**
|
||||
+ *Field count*: **1611**
|
||||
+ *File count*: **1934**
|
||||
+ *Folder count*: **322**
|
||||
|
||||
|
@ -857,9 +857,9 @@
|
||||
min="1"
|
||||
showon="development_method:2">
|
||||
<form hidden="true" name="list_expansion_modal" repeat="true">
|
||||
<!-- Component Field. Type: Component. (custom) -->
|
||||
<!-- Component Field. Type: Joomlacomponent. (custom) -->
|
||||
<field
|
||||
type="component"
|
||||
type="joomlacomponent"
|
||||
name="component"
|
||||
label="COM_COMPONENTBUILDER_CONFIG_COMPONENT_LABEL"
|
||||
class="list_class"
|
||||
|
@ -45,6 +45,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
||||
$this->registerTask('getAjaxDisplay', 'ajax');
|
||||
$this->registerTask('getLinked', 'ajax');
|
||||
$this->registerTask('checkAliasField', 'ajax');
|
||||
$this->registerTask('checkCategoryField', 'ajax');
|
||||
$this->registerTask('templateDetails', 'ajax');
|
||||
$this->registerTask('getLayoutDetails', 'ajax');
|
||||
$this->registerTask('dbTableColumns', 'ajax');
|
||||
@ -768,6 +769,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'checkCategoryField':
|
||||
try
|
||||
{
|
||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||
$typeValue = $jinput->get('type', NULL, 'ALNUM');
|
||||
if($typeValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->checkCategoryField($typeValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = false;
|
||||
}
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback . "(".json_encode($result).");";
|
||||
}
|
||||
elseif($returnRaw)
|
||||
{
|
||||
echo json_encode($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($result).");";
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback."(".json_encode($e).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($e).");";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'templateDetails':
|
||||
try
|
||||
{
|
||||
|
@ -4724,6 +4724,31 @@ class Fields extends Structure
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
// if label was set use instead
|
||||
if (ComponentbuilderHelper::checkString($langLabel))
|
||||
{
|
||||
$listLangName = $langLabel;
|
||||
// get field label from the lang label
|
||||
if (isset($this->langContent[$this->lang][$langLabel]))
|
||||
{
|
||||
$listFieldName
|
||||
= $this->langContent[$this->lang][$langLabel];
|
||||
}
|
||||
else
|
||||
{
|
||||
// get it from the field xml string
|
||||
$listFieldName = (string) $this->setPlaceholders(
|
||||
ComponentbuilderHelper::getBetween(
|
||||
$field['settings']->xml, 'label="',
|
||||
'"'
|
||||
), $this->placeholders
|
||||
);
|
||||
}
|
||||
// make sure there is no html in the list field name
|
||||
$listFieldName = strip_tags($listFieldName);
|
||||
}
|
||||
else
|
||||
{
|
||||
// set lang (just in case)
|
||||
$listLangName = $langView . '_'
|
||||
@ -4734,10 +4759,6 @@ class Fields extends Structure
|
||||
$this->setLangContent(
|
||||
$this->lang, $listLangName, $listFieldName
|
||||
);
|
||||
// if label was set use instead
|
||||
if (ComponentbuilderHelper::checkString($langLabel))
|
||||
{
|
||||
$listLangName = $langLabel;
|
||||
}
|
||||
}
|
||||
// build the list values
|
||||
|
@ -23390,27 +23390,27 @@ class Interpretation extends Fields
|
||||
);
|
||||
}
|
||||
$catArray = array();
|
||||
// loop over all the admin views
|
||||
foreach ($this->componentData->admin_views as $view)
|
||||
{
|
||||
// set custom menu
|
||||
$menus .= $this->addCustomSubMenu($view, $codeName, $lang);
|
||||
$nameSingle = ComponentbuilderHelper::safeString(
|
||||
$view['settings']->name_single
|
||||
);
|
||||
$nameList = ComponentbuilderHelper::safeString(
|
||||
$view['settings']->name_list
|
||||
$menus .= $this->addCustomSubMenu(
|
||||
$view, $codeName, $lang
|
||||
);
|
||||
$nameSingleCode = $view['settings']->name_single_code;
|
||||
$nameListCode = $view['settings']->name_list_code;
|
||||
$nameUpper = ComponentbuilderHelper::safeString(
|
||||
$view['settings']->name_list, 'U'
|
||||
);
|
||||
// check if view is set to be in the sub-menu
|
||||
if (isset($view['submenu']) && $view['submenu'] == 1)
|
||||
{
|
||||
// setup access defaults
|
||||
$tab = "";
|
||||
$coreLoad = false;
|
||||
if (isset($this->permissionCore[$nameSingle]))
|
||||
if (isset($this->permissionCore[$nameSingleCode]))
|
||||
{
|
||||
$core = $this->permissionCore[$nameSingle];
|
||||
$core = $this->permissionCore[$nameSingleCode];
|
||||
$coreLoad = true;
|
||||
}
|
||||
// check if the item has permissions.
|
||||
@ -23420,14 +23420,14 @@ class Interpretation extends Fields
|
||||
$this->permissionBuilder['global'][$core['core.access']]
|
||||
)
|
||||
&& in_array(
|
||||
$nameSingle,
|
||||
$nameSingleCode,
|
||||
$this->permissionBuilder['global'][$core['core.access']]
|
||||
))
|
||||
{
|
||||
$menus .= PHP_EOL . $this->_t(2)
|
||||
. "if (\$user->authorise('" . $core['core.access']
|
||||
. "', 'com_" . $codeName
|
||||
. "') && \$user->authorise('" . $nameSingle
|
||||
. "') && \$user->authorise('" . $nameSingleCode
|
||||
. ".submenu', 'com_" . $codeName . "'))";
|
||||
$menus .= PHP_EOL . $this->_t(2) . "{";
|
||||
// add tab to lines to follow
|
||||
@ -23436,33 +23436,38 @@ class Interpretation extends Fields
|
||||
$menus .= PHP_EOL . $this->_t(2) . $tab
|
||||
. "JHtmlSidebar::addEntry(JText:" . ":_('" . $lang . "_"
|
||||
. $nameUpper . "'), 'index.php?option=com_" . $codeName
|
||||
. "&view=" . $nameList . "', \$submenu === '"
|
||||
. $nameList . "');";
|
||||
. "&view=" . $nameListCode . "', \$submenu === '"
|
||||
. $nameListCode . "');";
|
||||
$this->setLangContent(
|
||||
$this->lang, $lang . "_" . $nameUpper,
|
||||
$view['settings']->name_list
|
||||
);
|
||||
// check if category has another name
|
||||
if (isset($this->catOtherName[$nameList])
|
||||
if (isset($this->catOtherName[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$this->catOtherName[$nameList]
|
||||
$this->catOtherName[$nameListCode]
|
||||
))
|
||||
{
|
||||
$otherViews = $this->catOtherName[$nameList]['views'];
|
||||
$otherViews
|
||||
= $this->catOtherName[$nameListCode]['views'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$otherViews = $nameList;
|
||||
$otherViews = $nameListCode;
|
||||
}
|
||||
if (isset($this->categoryBuilder[$nameList])
|
||||
// first check if category sub-menu should be added
|
||||
// then check if view has category, if true add sub-menu for it
|
||||
if ($view['settings']->add_category_submenu == 1
|
||||
&& isset($this->categoryBuilder[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$this->categoryBuilder[$nameList]
|
||||
$this->categoryBuilder[$nameListCode]
|
||||
)
|
||||
&& !in_array($otherViews, $catArray))
|
||||
{
|
||||
// get the extension array
|
||||
$_extension_array = (array) explode(
|
||||
'.', $this->categoryBuilder[$nameList]['extension']
|
||||
'.',
|
||||
$this->categoryBuilder[$nameListCode]['extension']
|
||||
);
|
||||
// set the menu selection
|
||||
if (isset($_extension_array[1]))
|
||||
@ -23476,9 +23481,9 @@ class Interpretation extends Fields
|
||||
// now load the menus
|
||||
$menus .= PHP_EOL . $this->_t(2) . $tab
|
||||
. "JHtmlSidebar::addEntry(JText:" . ":_('"
|
||||
. $this->categoryBuilder[$nameList]['name']
|
||||
. $this->categoryBuilder[$nameListCode]['name']
|
||||
. "'), 'index.php?option=com_categories&view=categories&extension="
|
||||
. $this->categoryBuilder[$nameList]['extension']
|
||||
. $this->categoryBuilder[$nameListCode]['extension']
|
||||
. "', \$submenu === '" . $_menu . "');";
|
||||
// make sure we add a category only once
|
||||
$catArray[] = $otherViews;
|
||||
@ -23490,7 +23495,7 @@ class Interpretation extends Fields
|
||||
$this->permissionBuilder['global'][$core['core.access']]
|
||||
)
|
||||
&& in_array(
|
||||
$nameSingle,
|
||||
$nameSingleCode,
|
||||
$this->permissionBuilder['global'][$core['core.access']]
|
||||
))
|
||||
{
|
||||
@ -23508,13 +23513,13 @@ class Interpretation extends Fields
|
||||
. "JHtmlSidebar::addEntry(JText:" . ":_('" . $lang . "_"
|
||||
. $nameUpper
|
||||
. "_FIELDS'), 'index.php?option=com_fields&context=com_"
|
||||
. $codeName . "." . $nameSingle
|
||||
. $codeName . "." . $nameSingleCode
|
||||
. "', \$submenu === 'fields.fields');";
|
||||
$menus .= PHP_EOL . $this->_t(3)
|
||||
. "JHtmlSidebar::addEntry(JText:" . ":_('" . $lang . "_"
|
||||
. $nameUpper
|
||||
. "_FIELDS_GROUPS'), 'index.php?option=com_fields&view=groups&context=com_"
|
||||
. $codeName . "." . $nameSingle
|
||||
. $codeName . "." . $nameSingleCode
|
||||
. "', \$submenu === 'fields.groups');";
|
||||
$menus .= PHP_EOL . $this->_t(2) . "}";
|
||||
$this->setLangContent(
|
||||
@ -23527,9 +23532,10 @@ class Interpretation extends Fields
|
||||
$view['settings']->name_list . ' Field Groups'
|
||||
);
|
||||
// build uninstall script for fields
|
||||
$this->uninstallScriptBuilder[$nameSingle] = 'com_'
|
||||
. $codeName . '.' . $nameSingle;
|
||||
$this->uninstallScriptFields[$nameSingle] = $nameSingle;
|
||||
$this->uninstallScriptBuilder[$nameSingleCode] = 'com_'
|
||||
. $codeName . '.' . $nameSingleCode;
|
||||
$this->uninstallScriptFields[$nameSingleCode]
|
||||
= $nameSingleCode;
|
||||
}
|
||||
}
|
||||
if (isset($this->lastCustomSubMenu)
|
||||
|
@ -1970,7 +1970,6 @@ abstract class ComponentbuilderHelper
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* The array of dynamic content
|
||||
*
|
||||
@ -3669,7 +3668,7 @@ abstract class ComponentbuilderHelper
|
||||
protected static $fieldGroups = array(
|
||||
'default' => array(
|
||||
'accesslevel', 'cachehandler', 'calendar', 'captcha', 'category', 'checkbox', 'checkboxes', 'chromestyle',
|
||||
'color', 'combo', 'componentlayout', 'contentlanguage', 'contenttype', 'databaseconnection', // 'components', (TODO) must be added but still in use as a custom field in JCB
|
||||
'color', 'combo', 'componentlayout', 'contentlanguage', 'contenttype', 'databaseconnection', 'components',
|
||||
'editor', 'editors', 'email', 'file', 'file', 'filelist', 'folderlist', 'groupedlist', 'headertag', 'helpsite', 'hidden', 'imagelist',
|
||||
'integer', 'language', 'list', 'media', 'menu', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition',
|
||||
'moduletag', 'note', 'number', 'password', 'plugins', 'predefinedlist', 'radio', 'range', 'repeatable', 'rules',
|
||||
@ -3681,14 +3680,14 @@ abstract class ComponentbuilderHelper
|
||||
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
),
|
||||
'option' => array(
|
||||
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', // 'components', (TODO) must be added but still in use as a custom field in JCB
|
||||
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', 'components',
|
||||
'filelist', 'folderlist', 'imagelist', 'list', 'plugins', 'predefinedlist', 'radio', 'sessionhandler', 'sql', 'groupedlist'
|
||||
),
|
||||
'text' => array(
|
||||
'calendar', 'color', 'editor', 'email', 'number', 'password', 'range', 'tel', 'text', 'textarea', 'url'
|
||||
),
|
||||
'list' => array(
|
||||
'checkbox', 'checkboxes', 'list', 'radio', 'groupedlist'
|
||||
'checkbox', 'checkboxes', 'list', 'radio', 'groupedlist', 'combo'
|
||||
),
|
||||
'dynamic' => array(
|
||||
'category', 'file', 'filelist', 'folderlist', 'headertag', 'imagelist', 'integer', 'media', 'meter', 'rules', 'tag', 'timezone', 'user'
|
||||
@ -5907,6 +5906,571 @@ abstract class ComponentbuilderHelper
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get extensions grouped list xml
|
||||
**/
|
||||
public static function getExtensionGroupedListXml()
|
||||
{
|
||||
// the extension types
|
||||
$extensions = array(
|
||||
'joomla_component' => 'COM_COMPONENTBUILDER_COMPONENT',
|
||||
'joomla_module' => 'COM_COMPONENTBUILDER_MODULE',
|
||||
'joomla_plugin' => 'COM_COMPONENTBUILDER_PLUGIN'
|
||||
);
|
||||
// get the extension values
|
||||
foreach ($extensions as $extension => $label)
|
||||
{
|
||||
${$extension} = self::getByTypeTheIdsSystemNames($extension);
|
||||
}
|
||||
|
||||
$xml = new DOMDocument();
|
||||
$xml->formatOutput = true;
|
||||
|
||||
$root = $xml->createElement('field');
|
||||
$root->setAttributeNode(new DOMAttr('name', 'extension'));
|
||||
$root->setAttributeNode(new DOMAttr('type', 'groupedlist'));
|
||||
$root->setAttributeNode(new DOMAttr('onchange', 'this.form.submit();'));
|
||||
|
||||
$root
|
||||
->appendChild($xml->createElement('option', '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_EXTENSION') . ' -'))
|
||||
->setAttributeNode(new DOMAttr('value', ''));
|
||||
|
||||
foreach ($extensions as $extension => $label)
|
||||
{
|
||||
$extension_node = $xml->createElement('group');
|
||||
$extension_node->setAttributeNode(new DOMAttr('label', $label));
|
||||
if (!self::checkArray(${$extension}))
|
||||
{
|
||||
$extension_node
|
||||
->appendChild($xml->createElement('option', '- ' . JText::_('COM_COMPONENTBUILDER_NONE') . ' -'))
|
||||
->setAttributeNode(new DOMAttr('disabled', 'true'));
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (${$extension} as $id => $element)
|
||||
{
|
||||
$extension_node
|
||||
->appendChild($xml->createElement('option', $element))
|
||||
->setAttributeNode(new DOMAttr('value', $extension . '__' . $id));
|
||||
}
|
||||
}
|
||||
$root->appendChild($extension_node);
|
||||
}
|
||||
$xml->appendChild($root);
|
||||
return $xml->saveXML();
|
||||
}
|
||||
|
||||
/**
|
||||
* get by type the ids and system names
|
||||
**/
|
||||
public static function getByTypeTheIdsSystemNames($type, $limiter = null)
|
||||
{
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
$query
|
||||
->select($db->quoteName(array('id', 'system_name')))
|
||||
->from($db->quoteName('#__componentbuilder_' . $type))
|
||||
->where($db->quoteName('published') . ' >= 1')
|
||||
->order($db->quoteName('modified') . ' desc')
|
||||
->order($db->quoteName('created') . ' desc');
|
||||
// check if we have a limter for admin views
|
||||
if ($type === 'admin_view' && $limiter)
|
||||
{
|
||||
// first get all views
|
||||
$adminviewIds = array();
|
||||
// if this is a plugin or a module, then no views
|
||||
if (strpos($limiter, 'joomla_component') !== false)
|
||||
{
|
||||
$component = (int) str_replace('joomla_component__', '', $limiter);
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_admin_views', (int) $component, 'joomla_component', 'addadmin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['adminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['adminview']] = (int) $addView['adminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// now check if we still have admin views
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
$query->where($db->quoteName('id') . ' IN (' . implode(',', $adminviewIds) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
return $db->loadAssocList('id', 'system_name');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get any area linked IDs
|
||||
*/
|
||||
public static function getAreaLinkedIDs($extension, $type)
|
||||
{
|
||||
// What ever...
|
||||
if ($type === 'joomla_component_admin_views')
|
||||
{
|
||||
return self::getComponentAdminViewsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_component_custom_admin_views')
|
||||
{
|
||||
return self::getComponentCustomAdminViewsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_component_site_views')
|
||||
{
|
||||
return self::getComponentSiteViewsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_component')
|
||||
{
|
||||
return self::getComponentFieldsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_module')
|
||||
{
|
||||
return self::getModuleFieldsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_plugin')
|
||||
{
|
||||
return self::getPluginFieldsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'admin_view')
|
||||
{
|
||||
return self::getAdminViewFieldsIDs($extension);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component admin views IDs
|
||||
*/
|
||||
public static function getComponentAdminViewsIDs($id)
|
||||
{
|
||||
// get all this components views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_admin_views', (int) $id, 'joomla_component', 'addadmin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['adminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['adminview']] = (int) $addView['adminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
return array_values($adminviewIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component custom admin views IDs
|
||||
*/
|
||||
public static function getComponentCustomAdminViewsIDs($id)
|
||||
{
|
||||
// get all this components views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_custom_admin_views', (int) $id, 'joomla_component', 'addcustom_admin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['customadminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['customadminview']] = (int) $addView['customadminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
return array_values($adminviewIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component site views IDs
|
||||
*/
|
||||
public static function getComponentSiteViewsIDs($id)
|
||||
{
|
||||
// get all this components views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_site_views', (int) $id, 'joomla_component', 'addsite_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['siteview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['siteview']] = (int) $addView['siteview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
return array_values($adminviewIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component fields IDs
|
||||
*/
|
||||
public static function getComponentFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
// first get all views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_admin_views', (int) $id, 'joomla_component', 'addadmin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['adminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['adminview']] = (int) $addView['adminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have views
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
foreach ($adminviewIds as $adminView)
|
||||
{
|
||||
// get all the fields linked to the admin view
|
||||
if ($addFields = self::getVar('admin_fields', (int) $adminView, 'admin_view', 'addfields'))
|
||||
{
|
||||
if (self::checkJson($addFields))
|
||||
{
|
||||
$addFields = json_decode($addFields, true);
|
||||
if (self::checkArray($addFields))
|
||||
{
|
||||
foreach($addFields as $addField)
|
||||
{
|
||||
if (isset($addField['field']))
|
||||
{
|
||||
$fieldIds[(int) $addField['field']] = (int) $addField['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// get config values
|
||||
if ($addconfig = self::getVar('component_config', (int) $id, 'joomla_component', 'addconfig'))
|
||||
{
|
||||
if (self::checkJson($addconfig))
|
||||
{
|
||||
$addconfig = json_decode($addconfig, true);
|
||||
if (self::checkArray($addconfig))
|
||||
{
|
||||
foreach($addconfig as $addconf)
|
||||
{
|
||||
if (isset($addconf['field']))
|
||||
{
|
||||
$fieldIds[(int) $addconf['field']] = (int) $addconf['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a module fields IDs
|
||||
*/
|
||||
public static function getModuleFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
if ($fields = self::getVar('joomla_module', (int) $id, 'id', 'fields'))
|
||||
{
|
||||
if (self::checkJson($fields))
|
||||
{
|
||||
$fields = json_decode($fields, true);
|
||||
if (self::checkArray($fields))
|
||||
{
|
||||
foreach($fields as $form)
|
||||
{
|
||||
if (isset($form['fields']) && self::checkArray($form['fields']))
|
||||
{
|
||||
foreach ($form['fields'] as $field)
|
||||
{
|
||||
if (isset($field['field']))
|
||||
{
|
||||
$fieldIds[(int) $field['field']] = (int) $field['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a plugin fields IDs
|
||||
*/
|
||||
public static function getPluginFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
if ($fields = self::getVar('joomla_plugin', (int) $id, 'id', 'fields'))
|
||||
{
|
||||
if (self::checkJson($fields))
|
||||
{
|
||||
$fields = json_decode($fields, true);
|
||||
if (self::checkArray($fields))
|
||||
{
|
||||
foreach($fields as $form)
|
||||
{
|
||||
if (isset($form['fields']) && self::checkArray($form['fields']))
|
||||
{
|
||||
foreach ($form['fields'] as $field)
|
||||
{
|
||||
if (isset($field['field']))
|
||||
{
|
||||
$fieldIds[(int) $field['field']] = (int) $field['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get an admin view fields IDs
|
||||
*/
|
||||
public static function getAdminViewFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
// get all the fields linked to the admin view
|
||||
if ($addFields = self::getVar('admin_fields', (int) $id, 'admin_view', 'addfields'))
|
||||
{
|
||||
if (self::checkJson($addFields))
|
||||
{
|
||||
$addFields = json_decode($addFields, true);
|
||||
if (self::checkArray($addFields))
|
||||
{
|
||||
foreach($addFields as $addField)
|
||||
{
|
||||
if (isset($addField['field']))
|
||||
{
|
||||
$fieldIds[(int) $addField['field']] = (int) $addField['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get translation extension ids
|
||||
**/
|
||||
public static function getTranslationExtensionsIds($extension, $type)
|
||||
{
|
||||
// only allow these columns (extension types)
|
||||
$columns = array(
|
||||
'joomla_component' => 'components',
|
||||
'joomla_module' => 'modules',
|
||||
'joomla_plugin' => 'plugins'
|
||||
);
|
||||
// check if the column name is correct
|
||||
if (isset($columns[$type]))
|
||||
{
|
||||
$column = $columns[$type];
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
$query
|
||||
->select($db->quoteName(array('id', $column)))
|
||||
->from($db->quoteName('#__componentbuilder_language_translation'))
|
||||
->where($db->quoteName($column) . ' != ' . $db->quote(''));
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
$results = $db->loadAssocList();
|
||||
$matches = array();
|
||||
foreach ($results as $k => $v)
|
||||
{
|
||||
$value = json_decode($v[$column], true);
|
||||
if (in_array($extension, $value))
|
||||
{
|
||||
$matches[$v['id']] = $v['id'];
|
||||
}
|
||||
}
|
||||
// Checks that we found matches
|
||||
if (self::checkArray($matches))
|
||||
{
|
||||
return array_values($matches);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get translation ids
|
||||
**/
|
||||
public static function getTranslationIds($language, $translated = true)
|
||||
{
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
$query
|
||||
->select($db->quoteName('id'))
|
||||
->from($db->quoteName('#__componentbuilder_language_translation'));
|
||||
|
||||
// Build the where condition
|
||||
if ($translated === true) // Translated
|
||||
{
|
||||
if ($language === 'all')
|
||||
{
|
||||
if (($languages = self::getAvailableLanguages()) !== false)
|
||||
{
|
||||
$wheres = array();
|
||||
foreach ($languages as $k => $v)
|
||||
{
|
||||
$wheres[] = $db->quoteName('translation') . ' LIKE ' . $db->quote('%' . $k . '%');
|
||||
}
|
||||
$query->where($wheres);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$query->where($db->quoteName('translation') . ' LIKE ' . $db->quote('%' . $language . '%'));
|
||||
}
|
||||
}
|
||||
else // Not translated
|
||||
{
|
||||
if ($language === 'none')
|
||||
{
|
||||
$query->where(
|
||||
array(
|
||||
$db->quoteName('translation') . ' = ' . $db->quote(''),
|
||||
$db->quoteName('translation') . ' = ' . $db->quote('[]'),
|
||||
$db->quoteName('translation') . ' = ' . $db->quote('{}')
|
||||
), 'OR'
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$query->where($db->quoteName('translation') . ' NOT LIKE ' . $db->quote('%' . $language . '%'));
|
||||
}
|
||||
}
|
||||
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
return array_unique($db->loadColumn());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get available languages
|
||||
**/
|
||||
public static function getAvailableLanguages()
|
||||
{
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
$query
|
||||
->select($db->quoteName(array('langtag', 'name')))
|
||||
->from($db->quoteName('#__componentbuilder_language'))
|
||||
->where($db->quoteName('published') . ' = 1')
|
||||
->order($db->quoteName('name') . ' desc');
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
return $db->loadAssocList('langtag', 'name');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load the Composer Vendors
|
||||
*/
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -30,7 +30,9 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
||||
'alias_builder_type',
|
||||
'note_alias_builder_custom',
|
||||
'note_alias_builder_default',
|
||||
'alias_builder'
|
||||
'alias_builder',
|
||||
'note_category_menu_switch',
|
||||
'add_category_submenu'
|
||||
);
|
||||
|
||||
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
||||
|
@ -141,7 +141,9 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
'alias_builder_type',
|
||||
'note_alias_builder_custom',
|
||||
'note_alias_builder_default',
|
||||
'alias_builder'
|
||||
'alias_builder',
|
||||
'note_category_menu_switch',
|
||||
'add_category_submenu'
|
||||
),
|
||||
'right' => array(
|
||||
'note_create_edit_buttons'
|
||||
@ -295,82 +297,10 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$item->metadata = $registry->toArray();
|
||||
}
|
||||
|
||||
if (!empty($item->php_before_cancel))
|
||||
if (!empty($item->php_allowedit))
|
||||
{
|
||||
// base64 Decode php_before_cancel.
|
||||
$item->php_before_cancel = base64_decode($item->php_before_cancel);
|
||||
}
|
||||
|
||||
if (!empty($item->php_allowadd))
|
||||
{
|
||||
// base64 Decode php_allowadd.
|
||||
$item->php_allowadd = base64_decode($item->php_allowadd);
|
||||
}
|
||||
|
||||
if (!empty($item->php_save))
|
||||
{
|
||||
// base64 Decode php_save.
|
||||
$item->php_save = base64_decode($item->php_save);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getform))
|
||||
{
|
||||
// base64 Decode php_getform.
|
||||
$item->php_getform = base64_decode($item->php_getform);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_display))
|
||||
{
|
||||
// base64 Decode php_import_display.
|
||||
$item->php_import_display = base64_decode($item->php_import_display);
|
||||
}
|
||||
|
||||
if (!empty($item->php_before_delete))
|
||||
{
|
||||
// base64 Decode php_before_delete.
|
||||
$item->php_before_delete = base64_decode($item->php_before_delete);
|
||||
}
|
||||
|
||||
if (!empty($item->php_batchcopy))
|
||||
{
|
||||
// base64 Decode php_batchcopy.
|
||||
$item->php_batchcopy = base64_decode($item->php_batchcopy);
|
||||
}
|
||||
|
||||
if (!empty($item->php_before_publish))
|
||||
{
|
||||
// base64 Decode php_before_publish.
|
||||
$item->php_before_publish = base64_decode($item->php_before_publish);
|
||||
}
|
||||
|
||||
if (!empty($item->php_document))
|
||||
{
|
||||
// base64 Decode php_document.
|
||||
$item->php_document = base64_decode($item->php_document);
|
||||
}
|
||||
|
||||
if (!empty($item->sql))
|
||||
{
|
||||
// base64 Decode sql.
|
||||
$item->sql = base64_decode($item->sql);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_setdata))
|
||||
{
|
||||
// base64 Decode php_import_setdata.
|
||||
$item->php_import_setdata = base64_decode($item->php_import_setdata);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getlistquery))
|
||||
{
|
||||
// base64 Decode php_getlistquery.
|
||||
$item->php_getlistquery = base64_decode($item->php_getlistquery);
|
||||
}
|
||||
|
||||
if (!empty($item->php_before_save))
|
||||
{
|
||||
// base64 Decode php_before_save.
|
||||
$item->php_before_save = base64_decode($item->php_before_save);
|
||||
// base64 Decode php_allowedit.
|
||||
$item->php_allowedit = base64_decode($item->php_allowedit);
|
||||
}
|
||||
|
||||
if (!empty($item->php_postsavehook))
|
||||
@ -379,10 +309,28 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$item->php_postsavehook = base64_decode($item->php_postsavehook);
|
||||
}
|
||||
|
||||
if (!empty($item->php_allowedit))
|
||||
if (!empty($item->php_before_save))
|
||||
{
|
||||
// base64 Decode php_allowedit.
|
||||
$item->php_allowedit = base64_decode($item->php_allowedit);
|
||||
// base64 Decode php_before_save.
|
||||
$item->php_before_save = base64_decode($item->php_before_save);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getlistquery))
|
||||
{
|
||||
// base64 Decode php_getlistquery.
|
||||
$item->php_getlistquery = base64_decode($item->php_getlistquery);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_ext))
|
||||
{
|
||||
// base64 Decode php_import_ext.
|
||||
$item->php_import_ext = base64_decode($item->php_import_ext);
|
||||
}
|
||||
|
||||
if (!empty($item->php_after_publish))
|
||||
{
|
||||
// base64 Decode php_after_publish.
|
||||
$item->php_after_publish = base64_decode($item->php_after_publish);
|
||||
}
|
||||
|
||||
if (!empty($item->php_after_cancel))
|
||||
@ -397,12 +345,6 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$item->php_batchmove = base64_decode($item->php_batchmove);
|
||||
}
|
||||
|
||||
if (!empty($item->php_after_publish))
|
||||
{
|
||||
// base64 Decode php_after_publish.
|
||||
$item->php_after_publish = base64_decode($item->php_after_publish);
|
||||
}
|
||||
|
||||
if (!empty($item->php_after_delete))
|
||||
{
|
||||
// base64 Decode php_after_delete.
|
||||
@ -415,10 +357,76 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$item->php_import = base64_decode($item->php_import);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_ext))
|
||||
if (!empty($item->php_getitems_after_all))
|
||||
{
|
||||
// base64 Decode php_import_ext.
|
||||
$item->php_import_ext = base64_decode($item->php_import_ext);
|
||||
// base64 Decode php_getitems_after_all.
|
||||
$item->php_getitems_after_all = base64_decode($item->php_getitems_after_all);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getform))
|
||||
{
|
||||
// base64 Decode php_getform.
|
||||
$item->php_getform = base64_decode($item->php_getform);
|
||||
}
|
||||
|
||||
if (!empty($item->php_save))
|
||||
{
|
||||
// base64 Decode php_save.
|
||||
$item->php_save = base64_decode($item->php_save);
|
||||
}
|
||||
|
||||
if (!empty($item->php_allowadd))
|
||||
{
|
||||
// base64 Decode php_allowadd.
|
||||
$item->php_allowadd = base64_decode($item->php_allowadd);
|
||||
}
|
||||
|
||||
if (!empty($item->php_before_cancel))
|
||||
{
|
||||
// base64 Decode php_before_cancel.
|
||||
$item->php_before_cancel = base64_decode($item->php_before_cancel);
|
||||
}
|
||||
|
||||
if (!empty($item->php_batchcopy))
|
||||
{
|
||||
// base64 Decode php_batchcopy.
|
||||
$item->php_batchcopy = base64_decode($item->php_batchcopy);
|
||||
}
|
||||
|
||||
if (!empty($item->php_before_publish))
|
||||
{
|
||||
// base64 Decode php_before_publish.
|
||||
$item->php_before_publish = base64_decode($item->php_before_publish);
|
||||
}
|
||||
|
||||
if (!empty($item->php_before_delete))
|
||||
{
|
||||
// base64 Decode php_before_delete.
|
||||
$item->php_before_delete = base64_decode($item->php_before_delete);
|
||||
}
|
||||
|
||||
if (!empty($item->php_document))
|
||||
{
|
||||
// base64 Decode php_document.
|
||||
$item->php_document = base64_decode($item->php_document);
|
||||
}
|
||||
|
||||
if (!empty($item->sql))
|
||||
{
|
||||
// base64 Decode sql.
|
||||
$item->sql = base64_decode($item->sql);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_display))
|
||||
{
|
||||
// base64 Decode php_import_display.
|
||||
$item->php_import_display = base64_decode($item->php_import_display);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_setdata))
|
||||
{
|
||||
// base64 Decode php_import_setdata.
|
||||
$item->php_import_setdata = base64_decode($item->php_import_setdata);
|
||||
}
|
||||
|
||||
if (!empty($item->css_view))
|
||||
@ -487,40 +495,34 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$item->php_ajaxmethod = base64_decode($item->php_ajaxmethod);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getitem))
|
||||
{
|
||||
// base64 Decode php_getitem.
|
||||
$item->php_getitem = base64_decode($item->php_getitem);
|
||||
}
|
||||
|
||||
if (!empty($item->html_import_view))
|
||||
{
|
||||
// base64 Decode html_import_view.
|
||||
$item->html_import_view = base64_decode($item->html_import_view);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getitem))
|
||||
{
|
||||
// base64 Decode php_getitem.
|
||||
$item->php_getitem = base64_decode($item->php_getitem);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_headers))
|
||||
{
|
||||
// base64 Decode php_import_headers.
|
||||
$item->php_import_headers = base64_decode($item->php_import_headers);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getitems))
|
||||
{
|
||||
// base64 Decode php_getitems.
|
||||
$item->php_getitems = base64_decode($item->php_getitems);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_save))
|
||||
{
|
||||
// base64 Decode php_import_save.
|
||||
$item->php_import_save = base64_decode($item->php_import_save);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getitems_after_all))
|
||||
if (!empty($item->php_getitems))
|
||||
{
|
||||
// base64 Decode php_getitems_after_all.
|
||||
$item->php_getitems_after_all = base64_decode($item->php_getitems_after_all);
|
||||
// base64 Decode php_getitems.
|
||||
$item->php_getitems = base64_decode($item->php_getitems);
|
||||
}
|
||||
|
||||
if (!empty($item->addpermissions))
|
||||
@ -1595,82 +1597,10 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$data['ajax_input'] = '';
|
||||
}
|
||||
|
||||
// Set the php_before_cancel string to base64 string.
|
||||
if (isset($data['php_before_cancel']))
|
||||
// Set the php_allowedit string to base64 string.
|
||||
if (isset($data['php_allowedit']))
|
||||
{
|
||||
$data['php_before_cancel'] = base64_encode($data['php_before_cancel']);
|
||||
}
|
||||
|
||||
// Set the php_allowadd string to base64 string.
|
||||
if (isset($data['php_allowadd']))
|
||||
{
|
||||
$data['php_allowadd'] = base64_encode($data['php_allowadd']);
|
||||
}
|
||||
|
||||
// Set the php_save string to base64 string.
|
||||
if (isset($data['php_save']))
|
||||
{
|
||||
$data['php_save'] = base64_encode($data['php_save']);
|
||||
}
|
||||
|
||||
// Set the php_getform string to base64 string.
|
||||
if (isset($data['php_getform']))
|
||||
{
|
||||
$data['php_getform'] = base64_encode($data['php_getform']);
|
||||
}
|
||||
|
||||
// Set the php_import_display string to base64 string.
|
||||
if (isset($data['php_import_display']))
|
||||
{
|
||||
$data['php_import_display'] = base64_encode($data['php_import_display']);
|
||||
}
|
||||
|
||||
// Set the php_before_delete string to base64 string.
|
||||
if (isset($data['php_before_delete']))
|
||||
{
|
||||
$data['php_before_delete'] = base64_encode($data['php_before_delete']);
|
||||
}
|
||||
|
||||
// Set the php_batchcopy string to base64 string.
|
||||
if (isset($data['php_batchcopy']))
|
||||
{
|
||||
$data['php_batchcopy'] = base64_encode($data['php_batchcopy']);
|
||||
}
|
||||
|
||||
// Set the php_before_publish string to base64 string.
|
||||
if (isset($data['php_before_publish']))
|
||||
{
|
||||
$data['php_before_publish'] = base64_encode($data['php_before_publish']);
|
||||
}
|
||||
|
||||
// Set the php_document string to base64 string.
|
||||
if (isset($data['php_document']))
|
||||
{
|
||||
$data['php_document'] = base64_encode($data['php_document']);
|
||||
}
|
||||
|
||||
// Set the sql string to base64 string.
|
||||
if (isset($data['sql']))
|
||||
{
|
||||
$data['sql'] = base64_encode($data['sql']);
|
||||
}
|
||||
|
||||
// Set the php_import_setdata string to base64 string.
|
||||
if (isset($data['php_import_setdata']))
|
||||
{
|
||||
$data['php_import_setdata'] = base64_encode($data['php_import_setdata']);
|
||||
}
|
||||
|
||||
// Set the php_getlistquery string to base64 string.
|
||||
if (isset($data['php_getlistquery']))
|
||||
{
|
||||
$data['php_getlistquery'] = base64_encode($data['php_getlistquery']);
|
||||
}
|
||||
|
||||
// Set the php_before_save string to base64 string.
|
||||
if (isset($data['php_before_save']))
|
||||
{
|
||||
$data['php_before_save'] = base64_encode($data['php_before_save']);
|
||||
$data['php_allowedit'] = base64_encode($data['php_allowedit']);
|
||||
}
|
||||
|
||||
// Set the php_postsavehook string to base64 string.
|
||||
@ -1679,10 +1609,28 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$data['php_postsavehook'] = base64_encode($data['php_postsavehook']);
|
||||
}
|
||||
|
||||
// Set the php_allowedit string to base64 string.
|
||||
if (isset($data['php_allowedit']))
|
||||
// Set the php_before_save string to base64 string.
|
||||
if (isset($data['php_before_save']))
|
||||
{
|
||||
$data['php_allowedit'] = base64_encode($data['php_allowedit']);
|
||||
$data['php_before_save'] = base64_encode($data['php_before_save']);
|
||||
}
|
||||
|
||||
// Set the php_getlistquery string to base64 string.
|
||||
if (isset($data['php_getlistquery']))
|
||||
{
|
||||
$data['php_getlistquery'] = base64_encode($data['php_getlistquery']);
|
||||
}
|
||||
|
||||
// Set the php_import_ext string to base64 string.
|
||||
if (isset($data['php_import_ext']))
|
||||
{
|
||||
$data['php_import_ext'] = base64_encode($data['php_import_ext']);
|
||||
}
|
||||
|
||||
// Set the php_after_publish string to base64 string.
|
||||
if (isset($data['php_after_publish']))
|
||||
{
|
||||
$data['php_after_publish'] = base64_encode($data['php_after_publish']);
|
||||
}
|
||||
|
||||
// Set the php_after_cancel string to base64 string.
|
||||
@ -1697,12 +1645,6 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$data['php_batchmove'] = base64_encode($data['php_batchmove']);
|
||||
}
|
||||
|
||||
// Set the php_after_publish string to base64 string.
|
||||
if (isset($data['php_after_publish']))
|
||||
{
|
||||
$data['php_after_publish'] = base64_encode($data['php_after_publish']);
|
||||
}
|
||||
|
||||
// Set the php_after_delete string to base64 string.
|
||||
if (isset($data['php_after_delete']))
|
||||
{
|
||||
@ -1715,10 +1657,76 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$data['php_import'] = base64_encode($data['php_import']);
|
||||
}
|
||||
|
||||
// Set the php_import_ext string to base64 string.
|
||||
if (isset($data['php_import_ext']))
|
||||
// Set the php_getitems_after_all string to base64 string.
|
||||
if (isset($data['php_getitems_after_all']))
|
||||
{
|
||||
$data['php_import_ext'] = base64_encode($data['php_import_ext']);
|
||||
$data['php_getitems_after_all'] = base64_encode($data['php_getitems_after_all']);
|
||||
}
|
||||
|
||||
// Set the php_getform string to base64 string.
|
||||
if (isset($data['php_getform']))
|
||||
{
|
||||
$data['php_getform'] = base64_encode($data['php_getform']);
|
||||
}
|
||||
|
||||
// Set the php_save string to base64 string.
|
||||
if (isset($data['php_save']))
|
||||
{
|
||||
$data['php_save'] = base64_encode($data['php_save']);
|
||||
}
|
||||
|
||||
// Set the php_allowadd string to base64 string.
|
||||
if (isset($data['php_allowadd']))
|
||||
{
|
||||
$data['php_allowadd'] = base64_encode($data['php_allowadd']);
|
||||
}
|
||||
|
||||
// Set the php_before_cancel string to base64 string.
|
||||
if (isset($data['php_before_cancel']))
|
||||
{
|
||||
$data['php_before_cancel'] = base64_encode($data['php_before_cancel']);
|
||||
}
|
||||
|
||||
// Set the php_batchcopy string to base64 string.
|
||||
if (isset($data['php_batchcopy']))
|
||||
{
|
||||
$data['php_batchcopy'] = base64_encode($data['php_batchcopy']);
|
||||
}
|
||||
|
||||
// Set the php_before_publish string to base64 string.
|
||||
if (isset($data['php_before_publish']))
|
||||
{
|
||||
$data['php_before_publish'] = base64_encode($data['php_before_publish']);
|
||||
}
|
||||
|
||||
// Set the php_before_delete string to base64 string.
|
||||
if (isset($data['php_before_delete']))
|
||||
{
|
||||
$data['php_before_delete'] = base64_encode($data['php_before_delete']);
|
||||
}
|
||||
|
||||
// Set the php_document string to base64 string.
|
||||
if (isset($data['php_document']))
|
||||
{
|
||||
$data['php_document'] = base64_encode($data['php_document']);
|
||||
}
|
||||
|
||||
// Set the sql string to base64 string.
|
||||
if (isset($data['sql']))
|
||||
{
|
||||
$data['sql'] = base64_encode($data['sql']);
|
||||
}
|
||||
|
||||
// Set the php_import_display string to base64 string.
|
||||
if (isset($data['php_import_display']))
|
||||
{
|
||||
$data['php_import_display'] = base64_encode($data['php_import_display']);
|
||||
}
|
||||
|
||||
// Set the php_import_setdata string to base64 string.
|
||||
if (isset($data['php_import_setdata']))
|
||||
{
|
||||
$data['php_import_setdata'] = base64_encode($data['php_import_setdata']);
|
||||
}
|
||||
|
||||
// Set the css_view string to base64 string.
|
||||
@ -1787,40 +1795,34 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
||||
$data['php_ajaxmethod'] = base64_encode($data['php_ajaxmethod']);
|
||||
}
|
||||
|
||||
// Set the php_getitem string to base64 string.
|
||||
if (isset($data['php_getitem']))
|
||||
{
|
||||
$data['php_getitem'] = base64_encode($data['php_getitem']);
|
||||
}
|
||||
|
||||
// Set the html_import_view string to base64 string.
|
||||
if (isset($data['html_import_view']))
|
||||
{
|
||||
$data['html_import_view'] = base64_encode($data['html_import_view']);
|
||||
}
|
||||
|
||||
// Set the php_getitem string to base64 string.
|
||||
if (isset($data['php_getitem']))
|
||||
{
|
||||
$data['php_getitem'] = base64_encode($data['php_getitem']);
|
||||
}
|
||||
|
||||
// Set the php_import_headers string to base64 string.
|
||||
if (isset($data['php_import_headers']))
|
||||
{
|
||||
$data['php_import_headers'] = base64_encode($data['php_import_headers']);
|
||||
}
|
||||
|
||||
// Set the php_getitems string to base64 string.
|
||||
if (isset($data['php_getitems']))
|
||||
{
|
||||
$data['php_getitems'] = base64_encode($data['php_getitems']);
|
||||
}
|
||||
|
||||
// Set the php_import_save string to base64 string.
|
||||
if (isset($data['php_import_save']))
|
||||
{
|
||||
$data['php_import_save'] = base64_encode($data['php_import_save']);
|
||||
}
|
||||
|
||||
// Set the php_getitems_after_all string to base64 string.
|
||||
if (isset($data['php_getitems_after_all']))
|
||||
// Set the php_getitems string to base64 string.
|
||||
if (isset($data['php_getitems']))
|
||||
{
|
||||
$data['php_getitems_after_all'] = base64_encode($data['php_getitems_after_all']);
|
||||
$data['php_getitems'] = base64_encode($data['php_getitems']);
|
||||
}
|
||||
|
||||
// Set the Params Items to data
|
||||
|
@ -44,6 +44,51 @@ class ComponentbuilderModelAdmin_views extends JModelList
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the filter form - Override the parent method
|
||||
*
|
||||
* @param array $data data
|
||||
* @param boolean $loadData load current data
|
||||
*
|
||||
* @return \JForm|boolean The \JForm object or false on error
|
||||
*
|
||||
* @since JCB 2.12.5
|
||||
*/
|
||||
public function getFilterForm($data = array(), $loadData = true)
|
||||
{
|
||||
// load form from the parent class
|
||||
$form = parent::getFilterForm($data, $loadData);
|
||||
|
||||
// Create the "joomla_component" filter
|
||||
$attributes = array(
|
||||
'name' => 'joomla_component',
|
||||
'type' => 'list',
|
||||
'onchange' => 'this.form.submit();',
|
||||
);
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND') . ' -'
|
||||
);
|
||||
// check if we have joomla components
|
||||
if (($joomla_components = ComponentbuilderHelper::getByTypeTheIdsSystemNames('joomla_component')) !== false)
|
||||
{
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_COMPONENT') . ' -'
|
||||
);
|
||||
// make sure we do not lose the key values in normal merge
|
||||
$options = $options + $joomla_components;
|
||||
}
|
||||
|
||||
$form->setField(ComponentbuilderHelper::getFieldXML($attributes, $options),'filter');
|
||||
$form->setValue(
|
||||
'joomla_component',
|
||||
'filter',
|
||||
$this->state->get("filter.joomla_component")
|
||||
);
|
||||
array_push($this->filter_fields, 'joomla_component');
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to auto-populate the model state.
|
||||
*
|
||||
@ -301,6 +346,25 @@ class ComponentbuilderModelAdmin_views extends JModelList
|
||||
// From the componentbuilder_item table
|
||||
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_joomla_component, 'joomla_component_admin_views')) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
if (is_numeric($published))
|
||||
@ -345,7 +409,7 @@ class ComponentbuilderModelAdmin_views extends JModelList
|
||||
else
|
||||
{
|
||||
$search = $db->quote('%' . $db->escape($search) . '%');
|
||||
$query->where('(a.system_name LIKE '.$search.' OR a.name_single LIKE '.$search.' OR a.short_description LIKE '.$search.' OR a.name_list LIKE '.$search.' OR a.description LIKE '.$search.' OR a.type LIKE '.$search.')');
|
||||
$query->where('(a.system_name LIKE '.$search.' OR a.name_single LIKE '.$search.' OR a.short_description LIKE '.$search.' OR a.description LIKE '.$search.' OR a.type LIKE '.$search.' OR a.name_list LIKE '.$search.')');
|
||||
}
|
||||
}
|
||||
|
||||
@ -516,6 +580,25 @@ class ComponentbuilderModelAdmin_views extends JModelList
|
||||
{
|
||||
$query->where('a.id IN (' . implode(',',$pks) . ')');
|
||||
}
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_joomla_component, 'joomla_component_admin_views')) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Implement View Level Access
|
||||
if (!$user->authorise('core.options', 'com_componentbuilder'))
|
||||
{
|
||||
@ -546,48 +629,50 @@ class ComponentbuilderModelAdmin_views extends JModelList
|
||||
continue;
|
||||
}
|
||||
|
||||
// decode php_before_cancel
|
||||
$item->php_before_cancel = base64_decode($item->php_before_cancel);
|
||||
// decode php_allowadd
|
||||
$item->php_allowadd = base64_decode($item->php_allowadd);
|
||||
// decode php_save
|
||||
$item->php_save = base64_decode($item->php_save);
|
||||
// decode php_getform
|
||||
$item->php_getform = base64_decode($item->php_getform);
|
||||
// decode php_import_display
|
||||
$item->php_import_display = base64_decode($item->php_import_display);
|
||||
// decode php_before_delete
|
||||
$item->php_before_delete = base64_decode($item->php_before_delete);
|
||||
// decode php_batchcopy
|
||||
$item->php_batchcopy = base64_decode($item->php_batchcopy);
|
||||
// decode php_before_publish
|
||||
$item->php_before_publish = base64_decode($item->php_before_publish);
|
||||
// decode php_document
|
||||
$item->php_document = base64_decode($item->php_document);
|
||||
// decode sql
|
||||
$item->sql = base64_decode($item->sql);
|
||||
// decode php_import_setdata
|
||||
$item->php_import_setdata = base64_decode($item->php_import_setdata);
|
||||
// decode php_getlistquery
|
||||
$item->php_getlistquery = base64_decode($item->php_getlistquery);
|
||||
// decode php_before_save
|
||||
$item->php_before_save = base64_decode($item->php_before_save);
|
||||
// decode php_postsavehook
|
||||
$item->php_postsavehook = base64_decode($item->php_postsavehook);
|
||||
// decode php_allowedit
|
||||
$item->php_allowedit = base64_decode($item->php_allowedit);
|
||||
// decode php_postsavehook
|
||||
$item->php_postsavehook = base64_decode($item->php_postsavehook);
|
||||
// decode php_before_save
|
||||
$item->php_before_save = base64_decode($item->php_before_save);
|
||||
// decode php_getlistquery
|
||||
$item->php_getlistquery = base64_decode($item->php_getlistquery);
|
||||
// decode php_import_ext
|
||||
$item->php_import_ext = base64_decode($item->php_import_ext);
|
||||
// decode php_after_publish
|
||||
$item->php_after_publish = base64_decode($item->php_after_publish);
|
||||
// decode php_after_cancel
|
||||
$item->php_after_cancel = base64_decode($item->php_after_cancel);
|
||||
// decode php_batchmove
|
||||
$item->php_batchmove = base64_decode($item->php_batchmove);
|
||||
// decode php_after_publish
|
||||
$item->php_after_publish = base64_decode($item->php_after_publish);
|
||||
// decode php_after_delete
|
||||
$item->php_after_delete = base64_decode($item->php_after_delete);
|
||||
// decode php_import
|
||||
$item->php_import = base64_decode($item->php_import);
|
||||
// decode php_import_ext
|
||||
$item->php_import_ext = base64_decode($item->php_import_ext);
|
||||
// decode php_getitems_after_all
|
||||
$item->php_getitems_after_all = base64_decode($item->php_getitems_after_all);
|
||||
// decode php_getform
|
||||
$item->php_getform = base64_decode($item->php_getform);
|
||||
// decode php_save
|
||||
$item->php_save = base64_decode($item->php_save);
|
||||
// decode php_allowadd
|
||||
$item->php_allowadd = base64_decode($item->php_allowadd);
|
||||
// decode php_before_cancel
|
||||
$item->php_before_cancel = base64_decode($item->php_before_cancel);
|
||||
// decode php_batchcopy
|
||||
$item->php_batchcopy = base64_decode($item->php_batchcopy);
|
||||
// decode php_before_publish
|
||||
$item->php_before_publish = base64_decode($item->php_before_publish);
|
||||
// decode php_before_delete
|
||||
$item->php_before_delete = base64_decode($item->php_before_delete);
|
||||
// decode php_document
|
||||
$item->php_document = base64_decode($item->php_document);
|
||||
// decode sql
|
||||
$item->sql = base64_decode($item->sql);
|
||||
// decode php_import_display
|
||||
$item->php_import_display = base64_decode($item->php_import_display);
|
||||
// decode php_import_setdata
|
||||
$item->php_import_setdata = base64_decode($item->php_import_setdata);
|
||||
// decode css_view
|
||||
$item->css_view = base64_decode($item->css_view);
|
||||
// decode css_views
|
||||
@ -610,18 +695,16 @@ class ComponentbuilderModelAdmin_views extends JModelList
|
||||
$item->php_model_list = base64_decode($item->php_model_list);
|
||||
// decode php_ajaxmethod
|
||||
$item->php_ajaxmethod = base64_decode($item->php_ajaxmethod);
|
||||
// decode php_getitem
|
||||
$item->php_getitem = base64_decode($item->php_getitem);
|
||||
// decode html_import_view
|
||||
$item->html_import_view = base64_decode($item->html_import_view);
|
||||
// decode php_getitem
|
||||
$item->php_getitem = base64_decode($item->php_getitem);
|
||||
// decode php_import_headers
|
||||
$item->php_import_headers = base64_decode($item->php_import_headers);
|
||||
// decode php_getitems
|
||||
$item->php_getitems = base64_decode($item->php_getitems);
|
||||
// decode php_import_save
|
||||
$item->php_import_save = base64_decode($item->php_import_save);
|
||||
// decode php_getitems_after_all
|
||||
$item->php_getitems_after_all = base64_decode($item->php_getitems_after_all);
|
||||
// decode php_getitems
|
||||
$item->php_getitems = base64_decode($item->php_getitems);
|
||||
// unset the values we don't want exported.
|
||||
unset($item->asset_id);
|
||||
unset($item->checked_out);
|
||||
|
@ -396,6 +396,37 @@ class ComponentbuilderModelAjax extends JModelList
|
||||
return false;
|
||||
}
|
||||
|
||||
public function checkCategoryField($type)
|
||||
{
|
||||
// get the view name & id
|
||||
$values = $this->getViewID();
|
||||
if (!is_null($values['a_id']) && $values['a_id'] > 0 && strlen($values['a_view']) && in_array($values['a_view'], $this->allowedViewsArray))
|
||||
{
|
||||
// get the fields
|
||||
if ($fields = ComponentbuilderHelper::getVar('admin_fields', $values['a_id'], 'admin_view', 'addfields'))
|
||||
{
|
||||
// open the fields
|
||||
if (ComponentbuilderHelper::checkJson($fields))
|
||||
{
|
||||
$fields = json_decode($fields, true);
|
||||
if (ComponentbuilderHelper::checkArray($fields))
|
||||
{
|
||||
foreach($fields as $field)
|
||||
{
|
||||
if (isset($field['field']) &&
|
||||
($field_values = ComponentbuilderHelper::getFieldNameAndType($field['field'])) !== false &&
|
||||
$field_values['type'] === 'category' )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getDynamicScripts($type)
|
||||
{
|
||||
// get from global helper
|
||||
|
@ -42,6 +42,51 @@ class ComponentbuilderModelCustom_admin_views extends JModelList
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the filter form - Override the parent method
|
||||
*
|
||||
* @param array $data data
|
||||
* @param boolean $loadData load current data
|
||||
*
|
||||
* @return \JForm|boolean The \JForm object or false on error
|
||||
*
|
||||
* @since JCB 2.12.5
|
||||
*/
|
||||
public function getFilterForm($data = array(), $loadData = true)
|
||||
{
|
||||
// load form from the parent class
|
||||
$form = parent::getFilterForm($data, $loadData);
|
||||
|
||||
// Create the "joomla_component" filter
|
||||
$attributes = array(
|
||||
'name' => 'joomla_component',
|
||||
'type' => 'list',
|
||||
'onchange' => 'this.form.submit();',
|
||||
);
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND') . ' -'
|
||||
);
|
||||
// check if we have joomla components
|
||||
if (($joomla_components = ComponentbuilderHelper::getByTypeTheIdsSystemNames('joomla_component')) !== false)
|
||||
{
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_COMPONENT') . ' -'
|
||||
);
|
||||
// make sure we do not lose the key values in normal merge
|
||||
$options = $options + $joomla_components;
|
||||
}
|
||||
|
||||
$form->setField(ComponentbuilderHelper::getFieldXML($attributes, $options),'filter');
|
||||
$form->setValue(
|
||||
'joomla_component',
|
||||
'filter',
|
||||
$this->state->get("filter.joomla_component")
|
||||
);
|
||||
array_push($this->filter_fields, 'joomla_component');
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to auto-populate the model state.
|
||||
*
|
||||
@ -240,6 +285,25 @@ class ComponentbuilderModelCustom_admin_views extends JModelList
|
||||
// From the componentbuilder_item table
|
||||
$query->from($db->quoteName('#__componentbuilder_custom_admin_view', 'a'));
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_joomla_component, 'joomla_component_custom_admin_views')) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// From the componentbuilder_dynamic_get table.
|
||||
$query->select($db->quoteName('g.name','main_get_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.main_get') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
@ -309,6 +373,29 @@ class ComponentbuilderModelCustom_admin_views extends JModelList
|
||||
{
|
||||
$query->where('a.main_get = ' . $db->quote($db->escape($_main_get)));
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkArray($_main_get))
|
||||
{
|
||||
// Secure the array for the query
|
||||
$_main_get = array_map( function ($val) use(&$db) {
|
||||
if (is_numeric($val))
|
||||
{
|
||||
if (is_float($val))
|
||||
{
|
||||
return (float) $val;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (int) $val;
|
||||
}
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkString($val))
|
||||
{
|
||||
return $db->quote($db->escape($val));
|
||||
}
|
||||
}, $_main_get);
|
||||
// Filter by the Main_get Array.
|
||||
$query->where('a.main_get IN (' . implode(',', $_main_get) . ')');
|
||||
}
|
||||
// Filter by Add_php_ajax.
|
||||
$_add_php_ajax = $this->getState('filter.add_php_ajax');
|
||||
if (is_numeric($_add_php_ajax))
|
||||
@ -402,6 +489,25 @@ class ComponentbuilderModelCustom_admin_views extends JModelList
|
||||
{
|
||||
$query->where('a.id IN (' . implode(',',$pks) . ')');
|
||||
}
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_joomla_component, 'joomla_component_custom_admin_views')) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Implement View Level Access
|
||||
if (!$user->authorise('core.options', 'com_componentbuilder'))
|
||||
{
|
||||
@ -528,7 +634,18 @@ class ComponentbuilderModelCustom_admin_views extends JModelList
|
||||
$id .= ':' . $this->getState('filter.ordering');
|
||||
$id .= ':' . $this->getState('filter.created_by');
|
||||
$id .= ':' . $this->getState('filter.modified_by');
|
||||
$id .= ':' . $this->getState('filter.main_get');
|
||||
// Check if the value is an array
|
||||
$_main_get = $this->getState('filter.main_get');
|
||||
if (ComponentbuilderHelper::checkArray($_main_get))
|
||||
{
|
||||
$id .= ':' . implode(':', $_main_get);
|
||||
}
|
||||
// Check if this is only an number or string
|
||||
elseif (is_numeric($_main_get)
|
||||
|| ComponentbuilderHelper::checkString($_main_get))
|
||||
{
|
||||
$id .= ':' . $_main_get;
|
||||
}
|
||||
$id .= ':' . $this->getState('filter.add_php_ajax');
|
||||
$id .= ':' . $this->getState('filter.add_custom_button');
|
||||
$id .= ':' . $this->getState('filter.system_name');
|
||||
|
@ -45,6 +45,62 @@ class ComponentbuilderModelFields extends JModelList
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the filter form - Override the parent method
|
||||
*
|
||||
* @param array $data data
|
||||
* @param boolean $loadData load current data
|
||||
*
|
||||
* @return \JForm|boolean The \JForm object or false on error
|
||||
*
|
||||
* @since JCB 2.12.5
|
||||
*/
|
||||
public function getFilterForm($data = array(), $loadData = true)
|
||||
{
|
||||
// load form from the parent class
|
||||
$form = parent::getFilterForm($data, $loadData);
|
||||
|
||||
// Create the "extension" filter
|
||||
$form->setField(new SimpleXMLElement(
|
||||
ComponentbuilderHelper::getExtensionGroupedListXml()
|
||||
),'filter');
|
||||
$form->setValue(
|
||||
'extension',
|
||||
'filter',
|
||||
$this->state->get("filter.extension")
|
||||
);
|
||||
array_push($this->filter_fields, 'extension');
|
||||
|
||||
// Create the "admin_view" filter
|
||||
$attributes = array(
|
||||
'name' => 'admin_view',
|
||||
'type' => 'list',
|
||||
'onchange' => 'this.form.submit();',
|
||||
);
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_ADMIN_VIEWS_FOUND') . ' -'
|
||||
);
|
||||
// check if we have admin views (and limit to an extension if it is set)
|
||||
if (($admin_views = ComponentbuilderHelper::getByTypeTheIdsSystemNames('admin_view', $this->state->get("filter.extension"))) !== false)
|
||||
{
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_ADMIN_VIEW') . ' -'
|
||||
);
|
||||
// make sure we do not lose the key values in normal merge
|
||||
$options = $options + $admin_views;
|
||||
}
|
||||
|
||||
$form->setField(ComponentbuilderHelper::getFieldXML($attributes, $options),'filter');
|
||||
$form->setValue(
|
||||
'admin_view',
|
||||
'filter',
|
||||
$this->state->get("filter.admin_view")
|
||||
);
|
||||
array_push($this->filter_fields, 'admin_view');
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to auto-populate the model state.
|
||||
*
|
||||
@ -311,6 +367,52 @@ class ComponentbuilderModelFields extends JModelList
|
||||
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
|
||||
$query->join('LEFT', $db->quoteName('#__categories', 'c') . ' ON (' . $db->quoteName('a.catid') . ' = ' . $db->quoteName('c.id') . ')');
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
$field_ids = array();
|
||||
$get_ids = true;
|
||||
if ($get_ids && $filter_extension !== null && !empty($filter_extension))
|
||||
{
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($type_extension[1], $type_extension[0])) !== false)
|
||||
{
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "admin_view"
|
||||
$filter_admin_view = $this->state->get("filter.admin_view");
|
||||
if ($get_ids && $filter_admin_view !== null && !empty($filter_admin_view))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_admin_view, 'admin_view')) !== false)
|
||||
{
|
||||
// view will return less fields, so we ignore the component
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
// now check if we have IDs
|
||||
if ($get_ids && ComponentbuilderHelper::checkArray($field_ids))
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $field_ids) . ')');
|
||||
}
|
||||
}
|
||||
|
||||
// From the componentbuilder_fieldtype table.
|
||||
$query->select($db->quoteName('g.name','fieldtype_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_fieldtype', 'g') . ' ON (' . $db->quoteName('a.fieldtype') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
@ -529,6 +631,52 @@ class ComponentbuilderModelFields extends JModelList
|
||||
{
|
||||
$query->where('a.id IN (' . implode(',',$pks) . ')');
|
||||
}
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
$field_ids = array();
|
||||
$get_ids = true;
|
||||
if ($get_ids && $filter_extension !== null && !empty($filter_extension))
|
||||
{
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($type_extension[1], $type_extension[0])) !== false)
|
||||
{
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "admin_view"
|
||||
$filter_admin_view = $this->state->get("filter.admin_view");
|
||||
if ($get_ids && $filter_admin_view !== null && !empty($filter_admin_view))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_admin_view, 'admin_view')) !== false)
|
||||
{
|
||||
// view will return less fields, so we ignore the component
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
// now check if we have IDs
|
||||
if ($get_ids && ComponentbuilderHelper::checkArray($field_ids))
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $field_ids) . ')');
|
||||
}
|
||||
}
|
||||
// Implement View Level Access
|
||||
if (!$user->authorise('core.options', 'com_componentbuilder'))
|
||||
{
|
||||
|
@ -41,6 +41,9 @@ class JFormFieldAdminlistvieworderfields extends JFormFieldList
|
||||
$jinput = JFactory::getApplication()->input;
|
||||
// get the id
|
||||
$adminView = $jinput->getInt('id', 0);
|
||||
// set the field trackers
|
||||
$fieldIds = array();
|
||||
$sortIds = array();
|
||||
// check if we have an admin view
|
||||
if (is_numeric($adminView) && $adminView >= 1)
|
||||
{
|
||||
@ -58,7 +61,37 @@ class JFormFieldAdminlistvieworderfields extends JFormFieldList
|
||||
if (isset($addField['field']) && isset($addField['list']) && ($addField['list'] == 1 || $addField['list'] == 3)
|
||||
&& isset($addField['sort']) && $addField['sort'])
|
||||
{
|
||||
$fieldIds[] = (int) $addField['field'];
|
||||
$fieldIds[(int) $addField['field']] = (int) $addField['field'];
|
||||
}
|
||||
// do track all fields set as sorted
|
||||
if (isset($addField['field']) && isset($addField['sort']) && $addField['sort'])
|
||||
{
|
||||
$sortIds[(int) $addField['field']] = (int) $addField['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// get all the fields that are also having a relationship on the list view as sorted
|
||||
if ($addFields = ComponentbuilderHelper::getVar('admin_fields_relations', (int) $adminView, 'admin_view', 'addrelations'))
|
||||
{
|
||||
if (ComponentbuilderHelper::checkJson($addFields))
|
||||
{
|
||||
$addFields = json_decode($addFields, true);
|
||||
if (ComponentbuilderHelper::checkArray($addFields))
|
||||
{
|
||||
foreach($addFields as $addField)
|
||||
{
|
||||
// admin list view and ordering
|
||||
if (isset($addField['joinfields']) && ComponentbuilderHelper::checkArray($addField['joinfields']))
|
||||
{
|
||||
foreach($addField['joinfields'] as $joinfield)
|
||||
{
|
||||
if (isset($sortIds[$joinfield]))
|
||||
{
|
||||
$fieldIds[(int) $joinfield] = (int) $joinfield;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,10 @@ class JFormFieldAdminviewfolderlist extends JFormFieldList
|
||||
// now check if there are files in the folder
|
||||
if (JFolder::exists($localfolder) && $folders = JFolder::folders($localfolder))
|
||||
{
|
||||
if ($this->multiple === false)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_SELECT_AN_ADMIN_VIEW'));
|
||||
}
|
||||
foreach ($folders as $folder)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $folder, ComponentbuilderHelper::safeString($folder, 'W'));
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldAdminviewsfilteraddcustombutton extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTON') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTONS') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldAdminviewsfilteraddfadein extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_FADEIN') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_FADE_IN_AFFECT') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -1,57 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
JFormHelper::loadFieldClass('list');
|
||||
|
||||
/**
|
||||
* Components Form Field class for the Componentbuilder component
|
||||
*/
|
||||
class JFormFieldComponents extends JFormFieldList
|
||||
{
|
||||
/**
|
||||
* The components field type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $type = 'components';
|
||||
|
||||
/**
|
||||
* Method to get a list of options for a list input.
|
||||
*
|
||||
* @return array An array of JHtml options.
|
||||
*/
|
||||
protected function getOptions()
|
||||
{
|
||||
$db = JFactory::getDBO();
|
||||
$query = $db->getQuery(true);
|
||||
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','components_system_name')));
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_component', 'a'));
|
||||
$query->where($db->quoteName('a.published') . ' >= 1');
|
||||
$query->order('a.system_name ASC');
|
||||
$db->setQuery((string)$query);
|
||||
$items = $db->loadObjectList();
|
||||
$options = array();
|
||||
if ($items)
|
||||
{
|
||||
foreach($items as $item)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $item->id, $item->components_system_name);
|
||||
}
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
}
|
@ -51,7 +51,7 @@ class JFormFieldCustomadminviewsfilteraddcustombutton extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTON') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTONS') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldCustomcodesfiltercommenttype extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_COMMENT_TYPE') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_COMMENT_TYPE_USED_IN_PLACEHOLDER') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldCustomcodesfiltertype extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_TYPE') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldFieldsfilterdatatype extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_DATATYPE') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_DATA_TYPE') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldFieldsfilterindexes extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_INDEXES') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_INDEXES_TYPE') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldFieldsfilterstore extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_STORE') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_MODELING_METHOD') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -17,16 +17,16 @@ jimport('joomla.form.helper');
|
||||
JFormHelper::loadFieldClass('list');
|
||||
|
||||
/**
|
||||
* Component Form Field class for the Componentbuilder component
|
||||
* Joomlacomponent Form Field class for the Componentbuilder component
|
||||
*/
|
||||
class JFormFieldComponent extends JFormFieldList
|
||||
class JFormFieldJoomlacomponent extends JFormFieldList
|
||||
{
|
||||
/**
|
||||
* The component field type.
|
||||
* The joomlacomponent field type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $type = 'component';
|
||||
public $type = 'joomlacomponent';
|
||||
|
||||
/**
|
||||
* Override to add new button
|
@ -37,18 +37,18 @@ class JFormFieldJoomlacomponents extends JFormFieldList
|
||||
{
|
||||
$db = JFactory::getDBO();
|
||||
$query = $db->getQuery(true);
|
||||
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','joomla_component_system_name')));
|
||||
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','components_system_name')));
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_component', 'a'));
|
||||
$query->where($db->quoteName('a.published') . ' >= 1');
|
||||
$query->order('a.system_name ASC');
|
||||
$db->setQuery((string)$query);
|
||||
$items = $db->loadObjectList();
|
||||
$options = array();
|
||||
if ($items)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', 'Select an option');
|
||||
foreach($items as $item)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $item->id, $item->joomla_component_system_name);
|
||||
$options[] = JHtml::_('select.option', $item->id, $item->components_system_name);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,6 @@ class JFormFieldJoomlacomponentsfilterauthor extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_AUTHOR') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,6 @@ class JFormFieldJoomlacomponentsfiltercompanyname extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_COMPANYNAME') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldJoomlamodulesfiltertarget extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TARGET') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TARGET_AREA') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldLayoutsfilteraddphpview extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_VIEW') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_CUSTOM_VIEW_SCRIPT') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldLibrariesfiltertarget extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TARGET') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TARGET_FOLDER') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldLibrariesfiltertype extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE_BEHAVIOR') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -53,6 +53,7 @@ class JFormFieldListfields extends JFormFieldList
|
||||
// get the admin view ID
|
||||
$adminView = $jinput->getInt('refid', 0);
|
||||
}
|
||||
// make sure we have the admin view ID
|
||||
if (is_numeric($adminView) && $adminView >= 1)
|
||||
{
|
||||
// get all the fields linked to the admin view
|
||||
|
@ -44,6 +44,10 @@ class JFormFieldSiteviewfolderlist extends JFormFieldList
|
||||
// now check if there are files in the folder
|
||||
if (JFolder::exists($localfolder) && $folders = JFolder::folders($localfolder))
|
||||
{
|
||||
if ($this->multiple === false)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_SELECT_A_SITE_VIEW'));
|
||||
}
|
||||
foreach ($folders as $folder)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $folder, ComponentbuilderHelper::safeString($folder, 'W'));
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldSiteviewsfilteraddcustombutton extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTON') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTONS') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class JFormFieldTemplatesfilteraddphpview extends JFormFieldList
|
||||
|
||||
$results = $db->loadColumn();
|
||||
$_filter = array();
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_VIEW') . ' -');
|
||||
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_CUSTOM_VIEW_SCRIPT') . ' -');
|
||||
|
||||
if ($results)
|
||||
{
|
||||
|
@ -265,6 +265,52 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
|
||||
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
|
||||
$query->join('LEFT', $db->quoteName('#__categories', 'c') . ' ON (' . $db->quoteName('a.catid') . ' = ' . $db->quoteName('c.id') . ')');
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
$field_ids = array();
|
||||
$get_ids = true;
|
||||
if ($get_ids && $filter_extension !== null && !empty($filter_extension))
|
||||
{
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($type_extension[1], $type_extension[0])) !== false)
|
||||
{
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "admin_view"
|
||||
$filter_admin_view = $this->state->get("filter.admin_view");
|
||||
if ($get_ids && $filter_admin_view !== null && !empty($filter_admin_view))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_admin_view, 'admin_view')) !== false)
|
||||
{
|
||||
// view will return less fields, so we ignore the component
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
// now check if we have IDs
|
||||
if ($get_ids && ComponentbuilderHelper::checkArray($field_ids))
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $field_ids) . ')');
|
||||
}
|
||||
}
|
||||
|
||||
// From the componentbuilder_fieldtype table.
|
||||
$query->select($db->quoteName('g.name','fieldtype_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_fieldtype', 'g') . ' ON (' . $db->quoteName('a.fieldtype') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
|
@ -811,6 +811,8 @@ jQuery(document).ready(function()
|
||||
{
|
||||
// check if this view has alias field
|
||||
checkAliasField();
|
||||
// check if this view has category field
|
||||
checkCategoryField();
|
||||
// get the linked details
|
||||
getLinked();
|
||||
// set button
|
||||
@ -848,17 +850,16 @@ function checkAliasField() {
|
||||
});
|
||||
}
|
||||
|
||||
function checkAliasField_server(type){
|
||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.checkAliasField&format=json&raw=true&vdm="+vastDevMod);
|
||||
if(token.length > 0 && type > 0){
|
||||
var request = token+'=1&type=' + type;
|
||||
function checkCategoryField() {
|
||||
getCodeFrom_server(1, 'type', 'type', 'checkCategoryField').done(function(result) {
|
||||
if(result){
|
||||
// remove the notice
|
||||
jQuery('.note_create_edit_notice_p').remove();
|
||||
} else {
|
||||
// hide everything about category management
|
||||
jQuery('#jform_add_category_submenu').closest('.control-group').remove();
|
||||
jQuery('.note_category_menu_switch').closest('.control-group').remove();
|
||||
}
|
||||
return jQuery.ajax({
|
||||
type: 'GET',
|
||||
url: getUrl,
|
||||
dataType: 'json',
|
||||
data: request,
|
||||
jsonp: false
|
||||
});
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -93,9 +93,9 @@
|
||||
default="componentbuilder custom_code"
|
||||
/>
|
||||
<!-- Dynamic Fields. -->
|
||||
<!-- Component Field. Type: Component. (custom) -->
|
||||
<!-- Component Field. Type: Joomlacomponent. (custom) -->
|
||||
<field
|
||||
type="component"
|
||||
type="joomlacomponent"
|
||||
name="component"
|
||||
label="COM_COMPONENTBUILDER_CUSTOM_CODE_COMPONENT_LABEL"
|
||||
class="list_class"
|
||||
|
@ -86,8 +86,8 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.system_name ASC">COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_ASCENDING</option>
|
||||
<option value="a.system_name DESC">COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_DESCENDING</option>
|
||||
<option value="a.name_single ASC">COM_COMPONENTBUILDER_FILTER_NAME_SINGLE_ASCENDING</option>
|
||||
<option value="a.name_single DESC">COM_COMPONENTBUILDER_FILTER_NAME_SINGLE_DESCENDING</option>
|
||||
<option value="a.name_single ASC">COM_COMPONENTBUILDER_FILTER_NAME_SINGLE_RECORD_ASCENDING</option>
|
||||
<option value="a.name_single DESC">COM_COMPONENTBUILDER_FILTER_NAME_SINGLE_RECORD_DESCENDING</option>
|
||||
<option value="a.short_description ASC">COM_COMPONENTBUILDER_FILTER_SHORT_DESCRIPTION_ASCENDING</option>
|
||||
<option value="a.short_description DESC">COM_COMPONENTBUILDER_FILTER_SHORT_DESCRIPTION_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
|
@ -34,7 +34,8 @@
|
||||
type="maingets"
|
||||
name="main_get"
|
||||
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_LABEL"
|
||||
multiple="false"
|
||||
class="multipleMaingets"
|
||||
multiple="true"
|
||||
onchange="this.form.submit();"
|
||||
/>
|
||||
<field
|
||||
|
@ -31,7 +31,7 @@
|
||||
onchange="this.form.submit();"
|
||||
/>
|
||||
<field
|
||||
type="component"
|
||||
type="joomlacomponent"
|
||||
name="component"
|
||||
label="COM_COMPONENTBUILDER_CUSTOM_CODE_COMPONENT_LABEL"
|
||||
multiple="false"
|
||||
@ -78,14 +78,14 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="g.system_name ASC">COM_COMPONENTBUILDER_FILTER_COMPONENT_ASCENDING</option>
|
||||
<option value="g.system_name DESC">COM_COMPONENTBUILDER_FILTER_COMPONENT_DESCENDING</option>
|
||||
<option value="a.path ASC">COM_COMPONENTBUILDER_FILTER_PATH_ASCENDING</option>
|
||||
<option value="a.path DESC">COM_COMPONENTBUILDER_FILTER_PATH_DESCENDING</option>
|
||||
<option value="a.path ASC">COM_COMPONENTBUILDER_FILTER_FILE_PATH_ASCENDING</option>
|
||||
<option value="a.path DESC">COM_COMPONENTBUILDER_FILTER_FILE_PATH_DESCENDING</option>
|
||||
<option value="a.target ASC">COM_COMPONENTBUILDER_FILTER_TARGET_ASCENDING</option>
|
||||
<option value="a.target DESC">COM_COMPONENTBUILDER_FILTER_TARGET_DESCENDING</option>
|
||||
<option value="a.type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
|
||||
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
|
||||
<option value="a.comment_type ASC">COM_COMPONENTBUILDER_FILTER_COMMENT_TYPE_ASCENDING</option>
|
||||
<option value="a.comment_type DESC">COM_COMPONENTBUILDER_FILTER_COMMENT_TYPE_DESCENDING</option>
|
||||
<option value="a.type ASC">COM_COMPONENTBUILDER_FILTER_ADD_TYPE_ASCENDING</option>
|
||||
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_ADD_TYPE_DESCENDING</option>
|
||||
<option value="a.comment_type ASC">COM_COMPONENTBUILDER_FILTER_COMMENT_TYPE_USED_IN_PLACEHOLDER_ASCENDING</option>
|
||||
<option value="a.comment_type DESC">COM_COMPONENTBUILDER_FILTER_COMMENT_TYPE_USED_IN_PLACEHOLDER_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -96,16 +96,16 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.name ASC">COM_COMPONENTBUILDER_FILTER_NAME_ASCENDING</option>
|
||||
<option value="a.name DESC">COM_COMPONENTBUILDER_FILTER_NAME_DESCENDING</option>
|
||||
<option value="g.name ASC">COM_COMPONENTBUILDER_FILTER_FIELDTYPE_ASCENDING</option>
|
||||
<option value="g.name DESC">COM_COMPONENTBUILDER_FILTER_FIELDTYPE_DESCENDING</option>
|
||||
<option value="a.datatype ASC">COM_COMPONENTBUILDER_FILTER_DATATYPE_ASCENDING</option>
|
||||
<option value="a.datatype DESC">COM_COMPONENTBUILDER_FILTER_DATATYPE_DESCENDING</option>
|
||||
<option value="a.indexes ASC">COM_COMPONENTBUILDER_FILTER_INDEXES_ASCENDING</option>
|
||||
<option value="a.indexes DESC">COM_COMPONENTBUILDER_FILTER_INDEXES_DESCENDING</option>
|
||||
<option value="g.name ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
|
||||
<option value="g.name DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
|
||||
<option value="a.datatype ASC">COM_COMPONENTBUILDER_FILTER_DATA_TYPE_ASCENDING</option>
|
||||
<option value="a.datatype DESC">COM_COMPONENTBUILDER_FILTER_DATA_TYPE_DESCENDING</option>
|
||||
<option value="a.indexes ASC">COM_COMPONENTBUILDER_FILTER_INDEXES_TYPE_ASCENDING</option>
|
||||
<option value="a.indexes DESC">COM_COMPONENTBUILDER_FILTER_INDEXES_TYPE_DESCENDING</option>
|
||||
<option value="a.null_switch ASC">COM_COMPONENTBUILDER_FILTER_NULL_SWITCH_ASCENDING</option>
|
||||
<option value="a.null_switch DESC">COM_COMPONENTBUILDER_FILTER_NULL_SWITCH_DESCENDING</option>
|
||||
<option value="a.store ASC">COM_COMPONENTBUILDER_FILTER_STORE_ASCENDING</option>
|
||||
<option value="a.store DESC">COM_COMPONENTBUILDER_FILTER_STORE_DESCENDING</option>
|
||||
<option value="a.store ASC">COM_COMPONENTBUILDER_FILTER_MODELING_METHOD_ASCENDING</option>
|
||||
<option value="a.store DESC">COM_COMPONENTBUILDER_FILTER_MODELING_METHOD_DESCENDING</option>
|
||||
<option value="category_title ASC">COM_COMPONENTBUILDER_FILTER_FIELDS_CATEGORIES_ASCENDING</option>
|
||||
<option value="category_title DESC">COM_COMPONENTBUILDER_FILTER_FIELDS_CATEGORIES_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
|
@ -73,10 +73,10 @@
|
||||
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
|
||||
<option value="a.location ASC">COM_COMPONENTBUILDER_FILTER_LOCATION_ASCENDING</option>
|
||||
<option value="a.location DESC">COM_COMPONENTBUILDER_FILTER_LOCATION_DESCENDING</option>
|
||||
<option value="g. ASC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEW_ASCENDING</option>
|
||||
<option value="g. DESC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEW_DESCENDING</option>
|
||||
<option value="h. ASC">COM_COMPONENTBUILDER_FILTER_SITE_VIEW_ASCENDING</option>
|
||||
<option value="h. DESC">COM_COMPONENTBUILDER_FILTER_SITE_VIEW_DESCENDING</option>
|
||||
<option value="g. ASC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEWS_ASCENDING</option>
|
||||
<option value="g. DESC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEWS_DESCENDING</option>
|
||||
<option value="h. ASC">COM_COMPONENTBUILDER_FILTER_SITE_VIEWS_ASCENDING</option>
|
||||
<option value="h. DESC">COM_COMPONENTBUILDER_FILTER_SITE_VIEWS_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -34,14 +34,16 @@
|
||||
type="joomlacomponentsfiltercompanyname"
|
||||
name="companyname"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_LABEL"
|
||||
multiple="false"
|
||||
class="multipleJoomlacomponentsfiltercompanyname"
|
||||
multiple="true"
|
||||
onchange="this.form.submit();"
|
||||
/>
|
||||
<field
|
||||
type="joomlacomponentsfilterauthor"
|
||||
name="author"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL"
|
||||
multiple="false"
|
||||
class="multipleJoomlacomponentsfilterauthor"
|
||||
multiple="true"
|
||||
onchange="this.form.submit();"
|
||||
/>
|
||||
<input type="hidden" name="form_submited" value="1"/>
|
||||
@ -64,12 +66,16 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.system_name ASC">COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_ASCENDING</option>
|
||||
<option value="a.system_name DESC">COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_DESCENDING</option>
|
||||
<option value="a.name_code ASC">COM_COMPONENTBUILDER_FILTER_NAME_CODE_ASCENDING</option>
|
||||
<option value="a.name_code DESC">COM_COMPONENTBUILDER_FILTER_NAME_CODE_DESCENDING</option>
|
||||
<option value="a.name_code ASC">COM_COMPONENTBUILDER_FILTER_NAME_IN_CODE_ASCENDING</option>
|
||||
<option value="a.name_code DESC">COM_COMPONENTBUILDER_FILTER_NAME_IN_CODE_DESCENDING</option>
|
||||
<option value="a.short_description ASC">COM_COMPONENTBUILDER_FILTER_SHORT_DESCRIPTION_ASCENDING</option>
|
||||
<option value="a.short_description DESC">COM_COMPONENTBUILDER_FILTER_SHORT_DESCRIPTION_DESCENDING</option>
|
||||
<option value="a.companyname ASC">COM_COMPONENTBUILDER_FILTER_COMPANYNAME_ASCENDING</option>
|
||||
<option value="a.companyname DESC">COM_COMPONENTBUILDER_FILTER_COMPANYNAME_DESCENDING</option>
|
||||
<option value="a.companyname ASC">COM_COMPONENTBUILDER_FILTER_COMPANY_NAME_ASCENDING</option>
|
||||
<option value="a.companyname DESC">COM_COMPONENTBUILDER_FILTER_COMPANY_NAME_DESCENDING</option>
|
||||
<option value="a.created ASC">COM_COMPONENTBUILDER_FILTER_CREATED_DATE_ASCENDING</option>
|
||||
<option value="a.created DESC">COM_COMPONENTBUILDER_FILTER_CREATED_DATE_DESCENDING</option>
|
||||
<option value="a.modified ASC">COM_COMPONENTBUILDER_FILTER_MODIFIED_DATE_ASCENDING</option>
|
||||
<option value="a.modified DESC">COM_COMPONENTBUILDER_FILTER_MODIFIED_DATE_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -57,8 +57,8 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.name ASC">COM_COMPONENTBUILDER_FILTER_NAME_ASCENDING</option>
|
||||
<option value="a.name DESC">COM_COMPONENTBUILDER_FILTER_NAME_DESCENDING</option>
|
||||
<option value="g.name ASC">COM_COMPONENTBUILDER_FILTER_CLASS_EXTENDS_ASCENDING</option>
|
||||
<option value="g.name DESC">COM_COMPONENTBUILDER_FILTER_CLASS_EXTENDS_DESCENDING</option>
|
||||
<option value="g.name ASC">COM_COMPONENTBUILDER_FILTER_EXTENDS_ASCENDING</option>
|
||||
<option value="g.name DESC">COM_COMPONENTBUILDER_FILTER_EXTENDS_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -64,8 +64,8 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.system_name ASC">COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_ASCENDING</option>
|
||||
<option value="a.system_name DESC">COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_DESCENDING</option>
|
||||
<option value="g.name ASC">COM_COMPONENTBUILDER_FILTER_CLASS_EXTENDS_ASCENDING</option>
|
||||
<option value="g.name DESC">COM_COMPONENTBUILDER_FILTER_CLASS_EXTENDS_DESCENDING</option>
|
||||
<option value="g.name ASC">COM_COMPONENTBUILDER_FILTER_EXTENDS_ASCENDING</option>
|
||||
<option value="g.name DESC">COM_COMPONENTBUILDER_FILTER_EXTENDS_DESCENDING</option>
|
||||
<option value="h.name ASC">COM_COMPONENTBUILDER_FILTER_JOOMLA_PLUGIN_GROUP_ASCENDING</option>
|
||||
<option value="h.name DESC">COM_COMPONENTBUILDER_FILTER_JOOMLA_PLUGIN_GROUP_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
|
@ -48,8 +48,8 @@
|
||||
<option value="a.ordering DESC">JGRID_HEADING_ORDERING_DESC</option>
|
||||
<option value="a.published ASC">JSTATUS_ASC</option>
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.source ASC">COM_COMPONENTBUILDER_FILTER_SOURCE_ASCENDING</option>
|
||||
<option value="a.source DESC">COM_COMPONENTBUILDER_FILTER_SOURCE_DESCENDING</option>
|
||||
<option value="a.source ASC">COM_COMPONENTBUILDER_FILTER_SOURCE_STRING_ASCENDING</option>
|
||||
<option value="a.source DESC">COM_COMPONENTBUILDER_FILTER_SOURCE_STRING_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -50,8 +50,8 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.name ASC">COM_COMPONENTBUILDER_FILTER_NAME_ASCENDING</option>
|
||||
<option value="a.name DESC">COM_COMPONENTBUILDER_FILTER_NAME_DESCENDING</option>
|
||||
<option value="a.langtag ASC">COM_COMPONENTBUILDER_FILTER_LANGTAG_ASCENDING</option>
|
||||
<option value="a.langtag DESC">COM_COMPONENTBUILDER_FILTER_LANGTAG_DESCENDING</option>
|
||||
<option value="a.langtag ASC">COM_COMPONENTBUILDER_FILTER_LANGUAGE_TAG_ASCENDING</option>
|
||||
<option value="a.langtag DESC">COM_COMPONENTBUILDER_FILTER_LANGUAGE_TAG_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -71,10 +71,10 @@
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.name ASC">COM_COMPONENTBUILDER_FILTER_NAME_ASCENDING</option>
|
||||
<option value="a.name DESC">COM_COMPONENTBUILDER_FILTER_NAME_DESCENDING</option>
|
||||
<option value="a.target ASC">COM_COMPONENTBUILDER_FILTER_TARGET_ASCENDING</option>
|
||||
<option value="a.target DESC">COM_COMPONENTBUILDER_FILTER_TARGET_DESCENDING</option>
|
||||
<option value="a.type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
|
||||
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
|
||||
<option value="a.target ASC">COM_COMPONENTBUILDER_FILTER_TARGET_FOLDER_ASCENDING</option>
|
||||
<option value="a.target DESC">COM_COMPONENTBUILDER_FILTER_TARGET_FOLDER_DESCENDING</option>
|
||||
<option value="a.type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_BEHAVIOR_ASCENDING</option>
|
||||
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_BEHAVIOR_DESCENDING</option>
|
||||
<option value="a.description ASC">COM_COMPONENTBUILDER_FILTER_DESCRIPTION_ASCENDING</option>
|
||||
<option value="a.description DESC">COM_COMPONENTBUILDER_FILTER_DESCRIPTION_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
|
@ -48,10 +48,10 @@
|
||||
<option value="a.ordering DESC">JGRID_HEADING_ORDERING_DESC</option>
|
||||
<option value="a.published ASC">JSTATUS_ASC</option>
|
||||
<option value="a.published DESC">JSTATUS_DESC</option>
|
||||
<option value="a.target ASC">COM_COMPONENTBUILDER_FILTER_TARGET_ASCENDING</option>
|
||||
<option value="a.target DESC">COM_COMPONENTBUILDER_FILTER_TARGET_DESCENDING</option>
|
||||
<option value="a.value ASC">COM_COMPONENTBUILDER_FILTER_VALUE_ASCENDING</option>
|
||||
<option value="a.value DESC">COM_COMPONENTBUILDER_FILTER_VALUE_DESCENDING</option>
|
||||
<option value="a.target ASC">COM_COMPONENTBUILDER_FILTER_TARGET_STRING_PLACEHOLDER_ASCENDING</option>
|
||||
<option value="a.target DESC">COM_COMPONENTBUILDER_FILTER_TARGET_STRING_PLACEHOLDER_DESCENDING</option>
|
||||
<option value="a.value ASC">COM_COMPONENTBUILDER_FILTER_SET_STRING_VALUE_ASCENDING</option>
|
||||
<option value="a.value DESC">COM_COMPONENTBUILDER_FILTER_SET_STRING_VALUE_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -34,7 +34,8 @@
|
||||
type="maingets"
|
||||
name="main_get"
|
||||
label="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_LABEL"
|
||||
multiple="false"
|
||||
class="multipleMaingets"
|
||||
multiple="true"
|
||||
onchange="this.form.submit();"
|
||||
/>
|
||||
<field
|
||||
|
@ -12,16 +12,6 @@
|
||||
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
|
||||
readonly="true"
|
||||
/>
|
||||
<!-- Date Created Field. Type: Calendar (joomla) -->
|
||||
<field
|
||||
name="created"
|
||||
type="calendar"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_DATE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_DATE_DESC"
|
||||
size="22"
|
||||
format="%Y-%m-%d %H:%M:%S"
|
||||
filter="user_utc"
|
||||
/>
|
||||
<!-- User Created Field. Type: User (joomla) -->
|
||||
<field
|
||||
name="created_by"
|
||||
@ -42,10 +32,6 @@
|
||||
<option value="-2">
|
||||
JTRASHED</option>
|
||||
</field>
|
||||
<!-- Date Modified Field. Type: Calendar (joomla) -->
|
||||
<field name="modified" type="calendar" class="readonly"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_DATE_DESC"
|
||||
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
|
||||
<!-- User Modified Field. Type: User (joomla) -->
|
||||
<field name="modified_by" type="user"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_BY_LABEL"
|
||||
@ -170,6 +156,22 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_HINT"
|
||||
/>
|
||||
<!-- Php_admin_event Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_admin_event"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Php_site_event Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
@ -186,21 +188,15 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Css_admin Field. Type: Editor. (joomla) -->
|
||||
<!-- Created Field. Type: Calendar. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="css_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="css"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
type="calendar"
|
||||
name="created"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_DESCRIPTION"
|
||||
format="%Y-%m-%d %H:%M:%S"
|
||||
filter="user_utc"
|
||||
size="22"
|
||||
/>
|
||||
<!-- Php_helper_both Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
@ -218,12 +214,29 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Php_admin_event Field. Type: Editor. (joomla) -->
|
||||
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
|
||||
<!-- Debug_linenr Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="debug_linenr"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Php_preflight_install Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_admin_event"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_DESCRIPTION"
|
||||
name="php_preflight_install"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
@ -234,19 +247,65 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Sql_uninstall Field. Type: Textarea. (joomla) -->
|
||||
<!-- Php_method_uninstall Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="sql_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_LABEL"
|
||||
rows="30"
|
||||
type="editor"
|
||||
name="php_method_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_HINT"
|
||||
required="true"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Note_version_options_three Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_version_options_three" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_THREE_DESCRIPTION" class="alert alert-info note_version_options_three" showon="mvc_versiondate:3" />
|
||||
<!-- Css_admin Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="css_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="css"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Note_version_options_two Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_version_options_two" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_TWO_DESCRIPTION" class="alert alert-info note_version_options_two" showon="mvc_versiondate:2" />
|
||||
<!-- Note_version_options_one Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_version_options_one" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_ONE_DESCRIPTION" class="alert alert-info note_version_options_one" showon="mvc_versiondate:1" />
|
||||
<!-- Mvc_versiondate Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
name="mvc_versiondate"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MVC_VERSIONDATE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MVC_VERSIONDATE_DESCRIPTION"
|
||||
class="list_class"
|
||||
multiple="false"
|
||||
filter="int"
|
||||
required="true"
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_GLOBAL_VERSION</option>
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_VIEW_VERSION_DATE</option>
|
||||
<option value="2">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_ONLY_FIRST_TWO_NUMBER_OF_GLOBAL_VERSION_ONEZEROX</option>
|
||||
<option value="3">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_ONLY_FIRST_NUMBER_OF_GLOBAL_VERSION_ONEXX</option>
|
||||
</field>
|
||||
<!-- Remove_line_breaks Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -262,6 +321,23 @@
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Add_placeholders Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_placeholders"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PLACEHOLDERS_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PLACEHOLDERS_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="1"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Note_dynamic_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_dynamic_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_dynamic_dashboard" />
|
||||
<!-- Description Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
@ -290,145 +366,6 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Note_version_options_three Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_version_options_three" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_THREE_DESCRIPTION" class="alert alert-info note_version_options_three" showon="mvc_versiondate:3" />
|
||||
<!-- Debug_linenr Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="debug_linenr"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Note_version_options_two Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_version_options_two" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_TWO_DESCRIPTION" class="alert alert-info note_version_options_two" showon="mvc_versiondate:2" />
|
||||
<!-- Note_version_options_one Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_version_options_one" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_ONE_DESCRIPTION" class="alert alert-info note_version_options_one" showon="mvc_versiondate:1" />
|
||||
<!-- Mvc_versiondate Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
name="mvc_versiondate"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MVC_VERSIONDATE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MVC_VERSIONDATE_DESCRIPTION"
|
||||
class="list_class"
|
||||
multiple="false"
|
||||
filter="int"
|
||||
required="true"
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_GLOBAL_VERSION</option>
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_VIEW_VERSION_DATE</option>
|
||||
<option value="2">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_ONLY_FIRST_TWO_NUMBER_OF_GLOBAL_VERSION_ONEZEROX</option>
|
||||
<option value="3">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_ONLY_FIRST_NUMBER_OF_GLOBAL_VERSION_ONEXX</option>
|
||||
</field>
|
||||
<!-- Note_dynamic_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_dynamic_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_dynamic_dashboard" />
|
||||
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
|
||||
<!-- Php_preflight_install Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_preflight_install"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Crowdin_project_identifier Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="crowdin_project_identifier"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_MESSAGE"
|
||||
autocomplete="off"
|
||||
onchange="getTranslationToolDetails()"
|
||||
/>
|
||||
<!-- Php_method_uninstall Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_method_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Component_version Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="component_version"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_LABEL"
|
||||
size="40"
|
||||
maxlength="50"
|
||||
default="1.0.0"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_HINT"
|
||||
/>
|
||||
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
|
||||
<!-- Add_placeholders Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_placeholders"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PLACEHOLDERS_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PLACEHOLDERS_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="1"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Add_sales_server Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_sales_server"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SALES_SERVER_LABEL"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Author Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
@ -445,8 +382,19 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT"
|
||||
/>
|
||||
<!-- Note_buildcomp_dynamic_mysql Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_buildcomp_dynamic_mysql" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_DESCRIPTION" heading="h4" class="alert alert-info note_buildcomp_dynamic_mysql" />
|
||||
<!-- Sql_uninstall Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="sql_uninstall"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_LABEL"
|
||||
rows="30"
|
||||
cols="15"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="raw"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Email Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
@ -462,21 +410,8 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_HINT"
|
||||
/>
|
||||
<!-- Add_email_helper Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_email_helper"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
|
||||
<!-- Website Field. Type: Url. (joomla) -->
|
||||
<field
|
||||
type="url"
|
||||
@ -493,22 +428,8 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_HINT"
|
||||
/>
|
||||
<!-- Php_helper_admin Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_helper_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Note_buildcomp_dynamic_mysql Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_buildcomp_dynamic_mysql" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_MYSQL_DESCRIPTION" heading="h4" class="alert alert-info note_buildcomp_dynamic_mysql" />
|
||||
<!-- Add_license Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -524,22 +445,21 @@
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Php_helper_site Field. Type: Editor. (joomla) -->
|
||||
<!-- Add_email_helper Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_helper_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_DESCRIPTION"
|
||||
width="100%"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
type="radio"
|
||||
name="add_email_helper"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- License_type Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
@ -561,36 +481,36 @@
|
||||
<option value="4">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CUSTOM_USED_IN_CUSTOM_CODE</option>
|
||||
</field>
|
||||
<!-- Javascript Field. Type: Editor. (joomla) -->
|
||||
<!-- Php_helper_admin Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="javascript"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION"
|
||||
name="php_helper_admin"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="javascript"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Note_whmcs_lisencing_note Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_whmcs_lisencing_note" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_DESCRIPTION" heading="h4" class="alert alert-success note_whmcs_lisencing_note" />
|
||||
<!-- Css_site Field. Type: Editor. (joomla) -->
|
||||
<!-- Php_helper_site Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="css_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_DESCRIPTION"
|
||||
name="php_helper_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
height="550px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
rows="80"
|
||||
buttons="no"
|
||||
syntax="css"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
@ -608,8 +528,22 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_HINT"
|
||||
/>
|
||||
<!-- Note_botton_component_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_botton_component_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_botton_component_dashboard" />
|
||||
<!-- Javascript Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="javascript"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="javascript"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Whmcs_url Field. Type: Url. (joomla) -->
|
||||
<field
|
||||
type="url"
|
||||
@ -625,18 +559,18 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_HINT"
|
||||
/>
|
||||
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
|
||||
<!-- Css_site Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_preflight_update"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_DESCRIPTION"
|
||||
name="css_site"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
syntax="css"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
@ -656,6 +590,50 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_HINT"
|
||||
/>
|
||||
<!-- Note_botton_component_dashboard Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_botton_component_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_botton_component_dashboard" />
|
||||
<!-- License Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="license"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_LABEL"
|
||||
rows="7"
|
||||
cols="10"
|
||||
default="GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="HTML"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
name="php_preflight_update"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_DESCRIPTION"
|
||||
width="100%"
|
||||
height="450px"
|
||||
cols="15"
|
||||
rows="30"
|
||||
buttons="no"
|
||||
syntax="php"
|
||||
editor="codemirror|none"
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- Bom Field. Type: Filelist. (joomla) -->
|
||||
<field
|
||||
type="filelist"
|
||||
name="bom"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_LABEL"
|
||||
directory="administrator/components/com_componentbuilder/compiler"
|
||||
default="default.txt"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_DESCRIPTION"
|
||||
filter="\.txt"
|
||||
hide_none="true"
|
||||
hide_default="true"
|
||||
/>
|
||||
<!-- Php_postflight_update Field. Type: Editor. (joomla) -->
|
||||
<field
|
||||
type="editor"
|
||||
@ -672,19 +650,13 @@
|
||||
filter="raw"
|
||||
validate="code"
|
||||
/>
|
||||
<!-- License Field. Type: Textarea. (joomla) -->
|
||||
<!-- Image Field. Type: Media. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="license"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_LABEL"
|
||||
rows="7"
|
||||
cols="10"
|
||||
default="GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="HTML"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_HINT"
|
||||
required="true"
|
||||
type="media"
|
||||
name="image"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION"
|
||||
directory=""
|
||||
/>
|
||||
<!-- Sql Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
@ -699,54 +671,6 @@
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Bom Field. Type: Filelist. (joomla) -->
|
||||
<field
|
||||
type="filelist"
|
||||
name="bom"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_LABEL"
|
||||
directory="administrator/components/com_componentbuilder/compiler"
|
||||
default="default.txt"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_DESCRIPTION"
|
||||
filter="\.txt"
|
||||
hide_none="true"
|
||||
hide_default="true"
|
||||
/>
|
||||
<!-- Addreadme Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="addreadme"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDREADME_LABEL"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Image Field. Type: Media. (joomla) -->
|
||||
<field
|
||||
type="media"
|
||||
name="image"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION"
|
||||
directory=""
|
||||
/>
|
||||
<!-- Update_server_url Field. Type: Url. (joomla) -->
|
||||
<field
|
||||
type="url"
|
||||
name="update_server_url"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_LABEL"
|
||||
size="60"
|
||||
maxlength="150"
|
||||
default=""
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="url"
|
||||
validated="url"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_HINT"
|
||||
/>
|
||||
<!-- Copyright Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
@ -761,13 +685,79 @@
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Addreadme Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="addreadme"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDREADME_LABEL"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Add_sales_server Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="add_sales_server"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SALES_SERVER_LABEL"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
|
||||
</field>
|
||||
<!-- Update_server_url Field. Type: Url. (joomla) -->
|
||||
<field
|
||||
type="url"
|
||||
name="update_server_url"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_LABEL"
|
||||
size="60"
|
||||
maxlength="150"
|
||||
default=""
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_DESCRIPTION"
|
||||
class="text_area span12"
|
||||
filter="url"
|
||||
validated="url"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_HINT"
|
||||
/>
|
||||
<!-- Crowdin_project_identifier Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="crowdin_project_identifier"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_MESSAGE"
|
||||
autocomplete="off"
|
||||
onchange="getTranslationToolDetails()"
|
||||
/>
|
||||
<!-- Note_update_server_note_other Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_update_server_note_other" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_other" />
|
||||
<!-- Not_required Field. Type: Hidden. (joomla) -->
|
||||
<!-- Component_version Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="hidden"
|
||||
name="not_required"
|
||||
default="一_一"
|
||||
type="text"
|
||||
name="component_version"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_LABEL"
|
||||
size="40"
|
||||
maxlength="50"
|
||||
default="1.0.0"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="CMD"
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_HINT"
|
||||
/>
|
||||
<!-- Translation_tool Field. Type: List. (joomla) -->
|
||||
<field
|
||||
@ -783,8 +773,12 @@
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN</option>
|
||||
</field>
|
||||
<!-- Note_moved_views Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_moved_views" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_DESCRIPTION" heading="h4" class="alert alert-info note_moved_views" />
|
||||
<!-- Not_required Field. Type: Hidden. (joomla) -->
|
||||
<field
|
||||
type="hidden"
|
||||
name="not_required"
|
||||
default="一_一"
|
||||
/>
|
||||
<!-- Crowdin_username Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
@ -799,8 +793,8 @@
|
||||
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_MESSAGE"
|
||||
autocomplete="off"
|
||||
/>
|
||||
<!-- Spacer_hr_one Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||
<field type="spacer" name="spacer_hr_one" hr="true" class="spacer_hr_one" />
|
||||
<!-- Note_moved_views Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_moved_views" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MOVED_VIEWS_DESCRIPTION" heading="h4" class="alert alert-info note_moved_views" />
|
||||
<!-- Buildcompsql Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
@ -814,26 +808,10 @@
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_HINT"
|
||||
required="true"
|
||||
/>
|
||||
<!-- Spacer_hr_one Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||
<field type="spacer" name="spacer_hr_one" hr="true" class="spacer_hr_one" />
|
||||
<!-- Note_mysql_tweak_options Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_mysql_tweak_options" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_DESCRIPTION" heading="h4" class="alert alert-info note_mysql_tweak_options" />
|
||||
<!-- Addfootable Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
name="addfootable"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDFOOTABLE_LABEL"
|
||||
class="list_class"
|
||||
multiple="false"
|
||||
filter="INT"
|
||||
required="true"
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC</option>
|
||||
<option value="3">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_FOOTABLE_VTHREE</option>
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_FOOTABLE_VTWO</option>
|
||||
</field>
|
||||
<!-- Spacer_hr_two Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||
<field type="spacer" name="spacer_hr_two" hr="true" class="spacer_hr_two" />
|
||||
<!-- Add_php_helper_both Field. Type: Radio. (joomla) -->
|
||||
@ -1510,6 +1488,35 @@
|
||||
validate="guid"
|
||||
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_HINT"
|
||||
/>
|
||||
<!-- Addfootable Field. Type: List. (joomla) -->
|
||||
<field
|
||||
type="list"
|
||||
name="addfootable"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDFOOTABLE_LABEL"
|
||||
class="list_class"
|
||||
multiple="false"
|
||||
filter="INT"
|
||||
required="true"
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC</option>
|
||||
<option value="3">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_FOOTABLE_VTHREE</option>
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_FOOTABLE_VTWO</option>
|
||||
</field>
|
||||
<!-- Modified Field. Type: Calendar. (joomla) -->
|
||||
<field
|
||||
type="calendar"
|
||||
name="modified"
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_DESCRIPTION"
|
||||
readonly="true"
|
||||
format="%Y-%m-%d %H:%M:%S"
|
||||
filter="user_utc"
|
||||
size="22"
|
||||
/>
|
||||
<!-- Name Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
|
@ -127,9 +127,9 @@
|
||||
default="0"
|
||||
button="true"
|
||||
/>
|
||||
<!-- Components Field. Type: Components. (custom) -->
|
||||
<!-- Components Field. Type: Joomlacomponents. (custom) -->
|
||||
<field
|
||||
type="components"
|
||||
type="joomlacomponents"
|
||||
name="components"
|
||||
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_COMPONENTS_LABEL"
|
||||
class="list_class span12"
|
||||
|
@ -89,13 +89,13 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
||||
'css_site'
|
||||
)
|
||||
),
|
||||
'mysql' => array(
|
||||
'fullwidth' => array(
|
||||
'add_sql',
|
||||
'sql',
|
||||
'add_sql_uninstall',
|
||||
'sql_uninstall',
|
||||
'assets_table_fix'
|
||||
'readme' => array(
|
||||
'left' => array(
|
||||
'addreadme',
|
||||
'readme'
|
||||
),
|
||||
'right' => array(
|
||||
'note_readme'
|
||||
)
|
||||
),
|
||||
'dash_install' => array(
|
||||
@ -120,6 +120,15 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
||||
'php_method_uninstall'
|
||||
)
|
||||
),
|
||||
'mysql' => array(
|
||||
'fullwidth' => array(
|
||||
'add_sql',
|
||||
'sql',
|
||||
'add_sql_uninstall',
|
||||
'sql_uninstall',
|
||||
'assets_table_fix'
|
||||
)
|
||||
),
|
||||
'dynamic_integration' => array(
|
||||
'left' => array(
|
||||
'add_update_server',
|
||||
@ -141,15 +150,6 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
||||
'crowdin_account_api_key'
|
||||
)
|
||||
),
|
||||
'readme' => array(
|
||||
'left' => array(
|
||||
'addreadme',
|
||||
'readme'
|
||||
),
|
||||
'right' => array(
|
||||
'note_readme'
|
||||
)
|
||||
),
|
||||
'dynamic_build_beta' => array(
|
||||
'fullwidth' => array(
|
||||
'note_buildcomp_dynamic_mysql',
|
||||
@ -340,40 +340,22 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
||||
$item->metadata = $registry->toArray();
|
||||
}
|
||||
|
||||
if (!empty($item->php_site_event))
|
||||
{
|
||||
// base64 Decode php_site_event.
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
}
|
||||
|
||||
if (!empty($item->css_admin))
|
||||
{
|
||||
// base64 Decode css_admin.
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
}
|
||||
|
||||
if (!empty($item->php_helper_both))
|
||||
{
|
||||
// base64 Decode php_helper_both.
|
||||
$item->php_helper_both = base64_decode($item->php_helper_both);
|
||||
}
|
||||
|
||||
if (!empty($item->php_admin_event))
|
||||
{
|
||||
// base64 Decode php_admin_event.
|
||||
$item->php_admin_event = base64_decode($item->php_admin_event);
|
||||
}
|
||||
|
||||
if (!empty($item->sql_uninstall))
|
||||
if (!empty($item->php_site_event))
|
||||
{
|
||||
// base64 Decode sql_uninstall.
|
||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||
// base64 Decode php_site_event.
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
}
|
||||
|
||||
if (!empty($item->php_postflight_install))
|
||||
if (!empty($item->php_helper_both))
|
||||
{
|
||||
// base64 Decode php_postflight_install.
|
||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||
// base64 Decode php_helper_both.
|
||||
$item->php_helper_both = base64_decode($item->php_helper_both);
|
||||
}
|
||||
|
||||
if (!empty($item->php_preflight_install))
|
||||
@ -388,6 +370,24 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
||||
}
|
||||
|
||||
if (!empty($item->css_admin))
|
||||
{
|
||||
// base64 Decode css_admin.
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
}
|
||||
|
||||
if (!empty($item->php_postflight_install))
|
||||
{
|
||||
// base64 Decode php_postflight_install.
|
||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||
}
|
||||
|
||||
if (!empty($item->sql_uninstall))
|
||||
{
|
||||
// base64 Decode sql_uninstall.
|
||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||
}
|
||||
|
||||
if (!empty($item->php_helper_admin))
|
||||
{
|
||||
// base64 Decode php_helper_admin.
|
||||
@ -1413,40 +1413,22 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
||||
$data['addcontributors'] = '';
|
||||
}
|
||||
|
||||
// Set the php_site_event string to base64 string.
|
||||
if (isset($data['php_site_event']))
|
||||
{
|
||||
$data['php_site_event'] = base64_encode($data['php_site_event']);
|
||||
}
|
||||
|
||||
// Set the css_admin string to base64 string.
|
||||
if (isset($data['css_admin']))
|
||||
{
|
||||
$data['css_admin'] = base64_encode($data['css_admin']);
|
||||
}
|
||||
|
||||
// Set the php_helper_both string to base64 string.
|
||||
if (isset($data['php_helper_both']))
|
||||
{
|
||||
$data['php_helper_both'] = base64_encode($data['php_helper_both']);
|
||||
}
|
||||
|
||||
// Set the php_admin_event string to base64 string.
|
||||
if (isset($data['php_admin_event']))
|
||||
{
|
||||
$data['php_admin_event'] = base64_encode($data['php_admin_event']);
|
||||
}
|
||||
|
||||
// Set the sql_uninstall string to base64 string.
|
||||
if (isset($data['sql_uninstall']))
|
||||
// Set the php_site_event string to base64 string.
|
||||
if (isset($data['php_site_event']))
|
||||
{
|
||||
$data['sql_uninstall'] = base64_encode($data['sql_uninstall']);
|
||||
$data['php_site_event'] = base64_encode($data['php_site_event']);
|
||||
}
|
||||
|
||||
// Set the php_postflight_install string to base64 string.
|
||||
if (isset($data['php_postflight_install']))
|
||||
// Set the php_helper_both string to base64 string.
|
||||
if (isset($data['php_helper_both']))
|
||||
{
|
||||
$data['php_postflight_install'] = base64_encode($data['php_postflight_install']);
|
||||
$data['php_helper_both'] = base64_encode($data['php_helper_both']);
|
||||
}
|
||||
|
||||
// Set the php_preflight_install string to base64 string.
|
||||
@ -1461,6 +1443,24 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
||||
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
|
||||
}
|
||||
|
||||
// Set the css_admin string to base64 string.
|
||||
if (isset($data['css_admin']))
|
||||
{
|
||||
$data['css_admin'] = base64_encode($data['css_admin']);
|
||||
}
|
||||
|
||||
// Set the php_postflight_install string to base64 string.
|
||||
if (isset($data['php_postflight_install']))
|
||||
{
|
||||
$data['php_postflight_install'] = base64_encode($data['php_postflight_install']);
|
||||
}
|
||||
|
||||
// Set the sql_uninstall string to base64 string.
|
||||
if (isset($data['sql_uninstall']))
|
||||
{
|
||||
$data['sql_uninstall'] = base64_encode($data['sql_uninstall']);
|
||||
}
|
||||
|
||||
// Set the php_helper_admin string to base64 string.
|
||||
if (isset($data['php_helper_admin']))
|
||||
{
|
||||
|
@ -34,7 +34,9 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
'a.author','author',
|
||||
'a.system_name','system_name',
|
||||
'a.name_code','name_code',
|
||||
'a.short_description','short_description'
|
||||
'a.short_description','short_description',
|
||||
'a.created','created',
|
||||
'a.modified','modified'
|
||||
);
|
||||
}
|
||||
|
||||
@ -2114,9 +2116,6 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
|
||||
$this->setState('filter.created_by', $created_by);
|
||||
|
||||
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
|
||||
$this->setState('filter.created', $created);
|
||||
|
||||
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
|
||||
$this->setState('filter.sorting', $sorting);
|
||||
|
||||
@ -2158,6 +2157,20 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
$this->setState('filter.short_description', $short_description);
|
||||
}
|
||||
|
||||
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
|
||||
if ($formSubmited)
|
||||
{
|
||||
$created = $app->input->post->get('created');
|
||||
$this->setState('filter.created', $created);
|
||||
}
|
||||
|
||||
$modified = $this->getUserStateFromRequest($this->context . '.filter.modified', 'filter_modified');
|
||||
if ($formSubmited)
|
||||
{
|
||||
$modified = $app->input->post->get('modified');
|
||||
$this->setState('filter.modified', $modified);
|
||||
}
|
||||
|
||||
// List state information.
|
||||
parent::populateState($ordering, $direction);
|
||||
}
|
||||
@ -2284,6 +2297,29 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
{
|
||||
$query->where('a.companyname = ' . $db->quote($db->escape($_companyname)));
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkArray($_companyname))
|
||||
{
|
||||
// Secure the array for the query
|
||||
$_companyname = array_map( function ($val) use(&$db) {
|
||||
if (is_numeric($val))
|
||||
{
|
||||
if (is_float($val))
|
||||
{
|
||||
return (float) $val;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (int) $val;
|
||||
}
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkString($val))
|
||||
{
|
||||
return $db->quote($db->escape($val));
|
||||
}
|
||||
}, $_companyname);
|
||||
// Filter by the Companyname Array.
|
||||
$query->where('a.companyname IN (' . implode(',', $_companyname) . ')');
|
||||
}
|
||||
// Filter by Author.
|
||||
$_author = $this->getState('filter.author');
|
||||
if (is_numeric($_author))
|
||||
@ -2301,6 +2337,29 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
{
|
||||
$query->where('a.author = ' . $db->quote($db->escape($_author)));
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkArray($_author))
|
||||
{
|
||||
// Secure the array for the query
|
||||
$_author = array_map( function ($val) use(&$db) {
|
||||
if (is_numeric($val))
|
||||
{
|
||||
if (is_float($val))
|
||||
{
|
||||
return (float) $val;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (int) $val;
|
||||
}
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkString($val))
|
||||
{
|
||||
return $db->quote($db->escape($val));
|
||||
}
|
||||
}, $_author);
|
||||
// Filter by the Author Array.
|
||||
$query->where('a.author IN (' . implode(',', $_author) . ')');
|
||||
}
|
||||
|
||||
// Add the list ordering clause.
|
||||
$orderCol = $this->state->get('list.ordering', 'a.id');
|
||||
@ -2395,35 +2454,35 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
continue;
|
||||
}
|
||||
|
||||
// decode php_site_event
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
// decode css_admin
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
// decode php_helper_both
|
||||
$item->php_helper_both = base64_decode($item->php_helper_both);
|
||||
// decode php_admin_event
|
||||
$item->php_admin_event = base64_decode($item->php_admin_event);
|
||||
// decode sql_uninstall
|
||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||
// decode php_postflight_install
|
||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||
// decode php_site_event
|
||||
$item->php_site_event = base64_decode($item->php_site_event);
|
||||
// decode php_helper_both
|
||||
$item->php_helper_both = base64_decode($item->php_helper_both);
|
||||
// decode php_preflight_install
|
||||
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
||||
// decode php_method_uninstall
|
||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
||||
// decode css_admin
|
||||
$item->css_admin = base64_decode($item->css_admin);
|
||||
// decode php_postflight_install
|
||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||
// decode sql_uninstall
|
||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||
// decode php_helper_admin
|
||||
$item->php_helper_admin = base64_decode($item->php_helper_admin);
|
||||
// decode php_helper_site
|
||||
$item->php_helper_site = base64_decode($item->php_helper_site);
|
||||
// decode javascript
|
||||
$item->javascript = base64_decode($item->javascript);
|
||||
// decode css_site
|
||||
$item->css_site = base64_decode($item->css_site);
|
||||
if ($basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true)))
|
||||
{
|
||||
// decrypt whmcs_key
|
||||
$item->whmcs_key = $basic->decryptString($item->whmcs_key);
|
||||
}
|
||||
// decode javascript
|
||||
$item->javascript = base64_decode($item->javascript);
|
||||
// decode css_site
|
||||
$item->css_site = base64_decode($item->css_site);
|
||||
// decode php_preflight_update
|
||||
$item->php_preflight_update = base64_decode($item->php_preflight_update);
|
||||
// decode php_postflight_update
|
||||
@ -2526,11 +2585,35 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
||||
$id .= ':' . $this->getState('filter.ordering');
|
||||
$id .= ':' . $this->getState('filter.created_by');
|
||||
$id .= ':' . $this->getState('filter.modified_by');
|
||||
$id .= ':' . $this->getState('filter.companyname');
|
||||
$id .= ':' . $this->getState('filter.author');
|
||||
// Check if the value is an array
|
||||
$_companyname = $this->getState('filter.companyname');
|
||||
if (ComponentbuilderHelper::checkArray($_companyname))
|
||||
{
|
||||
$id .= ':' . implode(':', $_companyname);
|
||||
}
|
||||
// Check if this is only an number or string
|
||||
elseif (is_numeric($_companyname)
|
||||
|| ComponentbuilderHelper::checkString($_companyname))
|
||||
{
|
||||
$id .= ':' . $_companyname;
|
||||
}
|
||||
// Check if the value is an array
|
||||
$_author = $this->getState('filter.author');
|
||||
if (ComponentbuilderHelper::checkArray($_author))
|
||||
{
|
||||
$id .= ':' . implode(':', $_author);
|
||||
}
|
||||
// Check if this is only an number or string
|
||||
elseif (is_numeric($_author)
|
||||
|| ComponentbuilderHelper::checkString($_author))
|
||||
{
|
||||
$id .= ':' . $_author;
|
||||
}
|
||||
$id .= ':' . $this->getState('filter.system_name');
|
||||
$id .= ':' . $this->getState('filter.name_code');
|
||||
$id .= ':' . $this->getState('filter.short_description');
|
||||
$id .= ':' . $this->getState('filter.created');
|
||||
$id .= ':' . $this->getState('filter.modified');
|
||||
|
||||
return parent::getStoreId($id);
|
||||
}
|
||||
|
@ -37,6 +37,93 @@ class ComponentbuilderModelLanguage_translations extends JModelList
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the filter form - Override the parent method
|
||||
*
|
||||
* @param array $data data
|
||||
* @param boolean $loadData load current data
|
||||
*
|
||||
* @return \JForm|boolean The \JForm object or false on error
|
||||
*
|
||||
* @since JCB 2.12.5
|
||||
*/
|
||||
public function getFilterForm($data = array(), $loadData = true)
|
||||
{
|
||||
// load form from the parent class
|
||||
$form = parent::getFilterForm($data, $loadData);
|
||||
|
||||
// Create the "extension" filter
|
||||
$form->setField(new SimpleXMLElement(
|
||||
ComponentbuilderHelper::getExtensionGroupedListXml()
|
||||
),'filter');
|
||||
$form->setValue(
|
||||
'extension',
|
||||
'filter',
|
||||
$this->state->get("filter.extension")
|
||||
);
|
||||
array_push($this->filter_fields, 'extension');
|
||||
|
||||
// Create the "translated in" filter
|
||||
$attributes = array(
|
||||
'name' => 'translated',
|
||||
'type' => 'list',
|
||||
'onchange' => 'this.form.submit();',
|
||||
);
|
||||
// no languages found notice
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_LANGUAGES_FOUND') . ' -'
|
||||
);
|
||||
// check if we have languages set
|
||||
if (($languages = ComponentbuilderHelper::getAvailableLanguages()) !== false)
|
||||
{
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_TRANSLATED_IN') . ' -',
|
||||
'all' => JText::_('COM_COMPONENTBUILDER_EVERY_LANGUAGE')
|
||||
);
|
||||
|
||||
$options = array_merge($options, $languages);
|
||||
}
|
||||
|
||||
$form->setField(ComponentbuilderHelper::getFieldXML($attributes, $options),'filter');
|
||||
$form->setValue(
|
||||
'translated',
|
||||
'filter',
|
||||
$this->state->get("filter.translated")
|
||||
);
|
||||
array_push($this->filter_fields, 'translated');
|
||||
|
||||
// Create the "not translated in" filter
|
||||
$attributes = array(
|
||||
'name' => 'not_translated',
|
||||
'type' => 'list',
|
||||
'onchange' => 'this.form.submit();',
|
||||
);
|
||||
// no languages found notice
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_LANGUAGES_FOUND') . ' -'
|
||||
);
|
||||
// check if we have languages set
|
||||
if ($languages)
|
||||
{
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NOT_TRANSLATED_IN') . ' -',
|
||||
'none' => JText::_('COM_COMPONENTBUILDER_ANY_LANGUAGE')
|
||||
);
|
||||
|
||||
$options = array_merge($options, $languages);
|
||||
}
|
||||
|
||||
$form->setField(ComponentbuilderHelper::getFieldXML($attributes, $options),'filter');
|
||||
$form->setValue(
|
||||
'not_translated',
|
||||
'filter',
|
||||
$this->state->get("filter.not_translated")
|
||||
);
|
||||
array_push($this->filter_fields, 'not_translated');
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to auto-populate the model state.
|
||||
*
|
||||
@ -205,6 +292,57 @@ class ComponentbuilderModelLanguage_translations extends JModelList
|
||||
// From the componentbuilder_item table
|
||||
$query->from($db->quoteName('#__componentbuilder_language_translation', 'a'));
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "translated in"
|
||||
$filter_translated = $this->state->get("filter.translated");
|
||||
if ($filter_translated !== null && !empty($filter_translated))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getTranslationIds($filter_translated)) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "not translated in"
|
||||
$filter_not_translated = $this->state->get("filter.not_translated");
|
||||
if ($filter_not_translated !== null && !empty($filter_not_translated))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getTranslationIds($filter_not_translated, false)) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',',$ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
if ($filter_extension !== null && !empty($filter_extension))
|
||||
{
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($ids = ComponentbuilderHelper::getTranslationExtensionsIds($type_extension[1], $type_extension[0])) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
if (is_numeric($published))
|
||||
@ -312,6 +450,57 @@ class ComponentbuilderModelLanguage_translations extends JModelList
|
||||
{
|
||||
$query->where('a.id IN (' . implode(',',$pks) . ')');
|
||||
}
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "translated in"
|
||||
$filter_translated = $this->state->get("filter.translated");
|
||||
if ($filter_translated !== null && !empty($filter_translated))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getTranslationIds($filter_translated)) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "not translated in"
|
||||
$filter_not_translated = $this->state->get("filter.not_translated");
|
||||
if ($filter_not_translated !== null && !empty($filter_not_translated))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getTranslationIds($filter_not_translated, false)) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',',$ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
if ($filter_extension !== null && !empty($filter_extension))
|
||||
{
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($ids = ComponentbuilderHelper::getTranslationExtensionsIds($type_extension[1], $type_extension[0])) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Implement View Level Access
|
||||
if (!$user->authorise('core.options', 'com_componentbuilder'))
|
||||
{
|
||||
|
@ -43,6 +43,51 @@ class ComponentbuilderModelSite_views extends JModelList
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the filter form - Override the parent method
|
||||
*
|
||||
* @param array $data data
|
||||
* @param boolean $loadData load current data
|
||||
*
|
||||
* @return \JForm|boolean The \JForm object or false on error
|
||||
*
|
||||
* @since JCB 2.12.5
|
||||
*/
|
||||
public function getFilterForm($data = array(), $loadData = true)
|
||||
{
|
||||
// load form from the parent class
|
||||
$form = parent::getFilterForm($data, $loadData);
|
||||
|
||||
// Create the "joomla_component" filter
|
||||
$attributes = array(
|
||||
'name' => 'joomla_component',
|
||||
'type' => 'list',
|
||||
'onchange' => 'this.form.submit();',
|
||||
);
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND') . ' -'
|
||||
);
|
||||
// check if we have joomla components
|
||||
if (($joomla_components = ComponentbuilderHelper::getByTypeTheIdsSystemNames('joomla_component')) !== false)
|
||||
{
|
||||
$options = array(
|
||||
'' => '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_COMPONENT') . ' -'
|
||||
);
|
||||
// make sure we do not lose the key values in normal merge
|
||||
$options = $options + $joomla_components;
|
||||
}
|
||||
|
||||
$form->setField(ComponentbuilderHelper::getFieldXML($attributes, $options),'filter');
|
||||
$form->setValue(
|
||||
'joomla_component',
|
||||
'filter',
|
||||
$this->state->get("filter.joomla_component")
|
||||
);
|
||||
array_push($this->filter_fields, 'joomla_component');
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to auto-populate the model state.
|
||||
*
|
||||
@ -248,6 +293,25 @@ class ComponentbuilderModelSite_views extends JModelList
|
||||
// From the componentbuilder_item table
|
||||
$query->from($db->quoteName('#__componentbuilder_site_view', 'a'));
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_joomla_component, 'joomla_component_site_views')) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// From the componentbuilder_dynamic_get table.
|
||||
$query->select($db->quoteName('g.name','main_get_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.main_get') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
@ -317,6 +381,29 @@ class ComponentbuilderModelSite_views extends JModelList
|
||||
{
|
||||
$query->where('a.main_get = ' . $db->quote($db->escape($_main_get)));
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkArray($_main_get))
|
||||
{
|
||||
// Secure the array for the query
|
||||
$_main_get = array_map( function ($val) use(&$db) {
|
||||
if (is_numeric($val))
|
||||
{
|
||||
if (is_float($val))
|
||||
{
|
||||
return (float) $val;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (int) $val;
|
||||
}
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkString($val))
|
||||
{
|
||||
return $db->quote($db->escape($val));
|
||||
}
|
||||
}, $_main_get);
|
||||
// Filter by the Main_get Array.
|
||||
$query->where('a.main_get IN (' . implode(',', $_main_get) . ')');
|
||||
}
|
||||
// Filter by Add_php_ajax.
|
||||
$_add_php_ajax = $this->getState('filter.add_php_ajax');
|
||||
if (is_numeric($_add_php_ajax))
|
||||
@ -410,6 +497,25 @@ class ComponentbuilderModelSite_views extends JModelList
|
||||
{
|
||||
$query->where('a.id IN (' . implode(',',$pks) . ')');
|
||||
}
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
if (($ids = ComponentbuilderHelper::getAreaLinkedIDs($filter_joomla_component, 'joomla_component_site_views')) !== false)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Implement View Level Access
|
||||
if (!$user->authorise('core.options', 'com_componentbuilder'))
|
||||
{
|
||||
@ -536,7 +642,18 @@ class ComponentbuilderModelSite_views extends JModelList
|
||||
$id .= ':' . $this->getState('filter.ordering');
|
||||
$id .= ':' . $this->getState('filter.created_by');
|
||||
$id .= ':' . $this->getState('filter.modified_by');
|
||||
$id .= ':' . $this->getState('filter.main_get');
|
||||
// Check if the value is an array
|
||||
$_main_get = $this->getState('filter.main_get');
|
||||
if (ComponentbuilderHelper::checkArray($_main_get))
|
||||
{
|
||||
$id .= ':' . implode(':', $_main_get);
|
||||
}
|
||||
// Check if this is only an number or string
|
||||
elseif (is_numeric($_main_get)
|
||||
|| ComponentbuilderHelper::checkString($_main_get))
|
||||
{
|
||||
$id .= ':' . $_main_get;
|
||||
}
|
||||
$id .= ':' . $this->getState('filter.add_php_ajax');
|
||||
$id .= ':' . $this->getState('filter.add_custom_button');
|
||||
$id .= ':' . $this->getState('filter.system_name');
|
||||
|
File diff suppressed because one or more lines are too long
1
admin/sql/updates/mysql/2.12.4.sql
Normal file
1
admin/sql/updates/mysql/2.12.4.sql
Normal file
@ -0,0 +1 @@
|
||||
ALTER TABLE `#__componentbuilder_admin_view` ADD `add_category_submenu` TINYINT(1) NOT NULL DEFAULT 1 AFTER `asset_id`;
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
JHtml::_('behavior.tooltip');
|
||||
JHtml::_('behavior.multiselect');
|
||||
JHtml::_('dropdown.init');
|
||||
JHtml::_('formbehavior.chosen', '.multipleMaingets', null, array('placeholder_text_multiple' => '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_GET') . ' -'));
|
||||
JHtml::_('formbehavior.chosen', '.multipleAccessLevels', null, array('placeholder_text_multiple' => '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ACCESS') . ' -'));
|
||||
JHtml::_('formbehavior.chosen', 'select');
|
||||
if ($this->saveOrder)
|
||||
|
@ -187,7 +187,7 @@ class ComponentbuilderViewCustom_codes extends JViewLegacy
|
||||
if ($this->canBatch && $this->canCreate && $this->canEdit)
|
||||
{
|
||||
// Set Component System Name Selection
|
||||
$this->componentSystem_nameOptions = JFormHelper::loadFieldType('Component')->options;
|
||||
$this->componentSystem_nameOptions = JFormHelper::loadFieldType('Joomlacomponent')->options;
|
||||
// We do some sanitation for Component System Name filter
|
||||
if (ComponentbuilderHelper::checkArray($this->componentSystem_nameOptions) &&
|
||||
isset($this->componentSystem_nameOptions[0]->value) &&
|
||||
|
@ -15,6 +15,8 @@ defined('_JEXEC') or die('Restricted access');
|
||||
JHtml::_('behavior.tooltip');
|
||||
JHtml::_('behavior.multiselect');
|
||||
JHtml::_('dropdown.init');
|
||||
JHtml::_('formbehavior.chosen', '.multipleJoomlacomponentsfiltercompanyname', null, array('placeholder_text_multiple' => '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_COMPANY_NAME') . ' -'));
|
||||
JHtml::_('formbehavior.chosen', '.multipleJoomlacomponentsfilterauthor', null, array('placeholder_text_multiple' => '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_AUTHOR') . ' -'));
|
||||
JHtml::_('formbehavior.chosen', '.multipleAccessLevels', null, array('placeholder_text_multiple' => '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ACCESS') . ' -'));
|
||||
JHtml::_('formbehavior.chosen', 'select');
|
||||
if ($this->saveOrder)
|
||||
|
@ -296,6 +296,8 @@ class ComponentbuilderViewJoomla_components extends JViewLegacy
|
||||
'a.name_code' => JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_CODE_LABEL'),
|
||||
'a.short_description' => JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SHORT_DESCRIPTION_LABEL'),
|
||||
'a.companyname' => JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_LABEL'),
|
||||
'a.created' => JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_LABEL'),
|
||||
'a.modified' => JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_LABEL'),
|
||||
'a.id' => JText::_('JGRID_HEADING_ID')
|
||||
);
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
JHtml::_('behavior.tooltip');
|
||||
JHtml::_('behavior.multiselect');
|
||||
JHtml::_('dropdown.init');
|
||||
JHtml::_('formbehavior.chosen', '.multipleMaingets', null, array('placeholder_text_multiple' => '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_GET') . ' -'));
|
||||
JHtml::_('formbehavior.chosen', '.multipleAccessLevels', null, array('placeholder_text_multiple' => '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ACCESS') . ' -'));
|
||||
JHtml::_('formbehavior.chosen', 'select');
|
||||
if ($this->saveOrder)
|
||||
|
@ -1,15 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="component" version="3.2" method="upgrade">
|
||||
<name>COM_COMPONENTBUILDER</name>
|
||||
<creationDate>3rd January, 2021</creationDate>
|
||||
<creationDate>2nd February, 2021</creationDate>
|
||||
<author>Llewellyn van der Merwe</author>
|
||||
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
||||
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
||||
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||
<version>2.12.4</version>
|
||||
<version>2.12.6</version>
|
||||
<description><![CDATA[
|
||||
<h1>Component Builder (v.2.12.4)</h1>
|
||||
<h1>Component Builder (v.2.12.6)</h1>
|
||||
<div style="clear: both;"></div>
|
||||
<p>The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
||||
|
||||
|
@ -1019,4 +1019,21 @@
|
||||
<maintainerurl>http://www.joomlacomponentbuilder.com</maintainerurl>
|
||||
<targetplatform name="joomla" version="3.*"/>
|
||||
</update>
|
||||
<update>
|
||||
<name>Component Builder</name>
|
||||
<description>Builds Complex Joomla Components</description>
|
||||
<element>com_componentbuilder</element>
|
||||
<type>component</type>
|
||||
<version>2.12.6</version>
|
||||
<infourl title="Component Builder!">http://www.joomlacomponentbuilder.com</infourl>
|
||||
<downloads>
|
||||
<downloadurl type="full" format="zip">https://github.com/vdm-io/Joomla-Component-Builder/releases/download/v2.12.6/JCB_v2.12.6.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>stable</tag>
|
||||
</tags>
|
||||
<maintainer>Llewellyn van der Merwe</maintainer>
|
||||
<maintainerurl>http://www.joomlacomponentbuilder.com</maintainerurl>
|
||||
<targetplatform name="joomla" version="3.*"/>
|
||||
</update>
|
||||
</updates>
|
18
script.php
18
script.php
@ -6024,9 +6024,9 @@ class com_componentbuilderInstallerScript
|
||||
$joomla_component->type_title = 'Componentbuilder Joomla_component';
|
||||
$joomla_component->type_alias = 'com_componentbuilder.joomla_component';
|
||||
$joomla_component->table = '{"special": {"dbtable": "#__componentbuilder_joomla_component","key": "id","type": "Joomla_component","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
|
||||
$joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_site_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","php_site_event":"php_site_event","css_admin":"css_admin","php_helper_both":"php_helper_both","php_admin_event":"php_admin_event","sql_uninstall":"sql_uninstall","remove_line_breaks":"remove_line_breaks","description":"description","php_postflight_install":"php_postflight_install","debug_linenr":"debug_linenr","mvc_versiondate":"mvc_versiondate","php_preflight_install":"php_preflight_install","crowdin_project_identifier":"crowdin_project_identifier","php_method_uninstall":"php_method_uninstall","component_version":"component_version","add_placeholders":"add_placeholders","add_sales_server":"add_sales_server","author":"author","email":"email","add_email_helper":"add_email_helper","website":"website","php_helper_admin":"php_helper_admin","add_license":"add_license","php_helper_site":"php_helper_site","license_type":"license_type","javascript":"javascript","css_site":"css_site","whmcs_key":"whmcs_key","whmcs_url":"whmcs_url","php_preflight_update":"php_preflight_update","whmcs_buy_link":"whmcs_buy_link","php_postflight_update":"php_postflight_update","license":"license","sql":"sql","bom":"bom","addreadme":"addreadme","image":"image","update_server_url":"update_server_url","copyright":"copyright","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","addfootable":"addfootable","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_javascript":"add_javascript","add_menu_prefix":"add_menu_prefix","add_css_admin":"add_css_admin","menu_prefix":"menu_prefix","add_css_site":"add_css_site","dashboard_type":"dashboard_type","dashboard":"dashboard","toignore":"toignore","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","add_php_postflight_install":"add_php_postflight_install","export_key":"export_key","add_php_postflight_update":"add_php_postflight_update","joomla_source_link":"joomla_source_link","add_php_method_uninstall":"add_php_method_uninstall","export_buy_link":"export_buy_link","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","assets_table_fix":"assets_table_fix","readme":"readme","emptycontributors":"emptycontributors","add_update_server":"add_update_server","number":"number","update_server_target":"update_server_target","update_server":"update_server","sales_server":"sales_server","crowdin_project_api_key":"crowdin_project_api_key","crowdin_account_api_key":"crowdin_account_api_key","creatuserhelper":"creatuserhelper","buildcomp":"buildcomp","adduikit":"adduikit","guid":"guid","name":"name"}}';
|
||||
$joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_admin_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","php_admin_event":"php_admin_event","php_site_event":"php_site_event","php_helper_both":"php_helper_both","debug_linenr":"debug_linenr","php_preflight_install":"php_preflight_install","php_method_uninstall":"php_method_uninstall","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","description":"description","php_postflight_install":"php_postflight_install","author":"author","sql_uninstall":"sql_uninstall","email":"email","website":"website","add_license":"add_license","add_email_helper":"add_email_helper","license_type":"license_type","php_helper_admin":"php_helper_admin","php_helper_site":"php_helper_site","whmcs_key":"whmcs_key","javascript":"javascript","whmcs_url":"whmcs_url","css_site":"css_site","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","sql":"sql","copyright":"copyright","addreadme":"addreadme","add_sales_server":"add_sales_server","update_server_url":"update_server_url","crowdin_project_identifier":"crowdin_project_identifier","component_version":"component_version","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_javascript":"add_javascript","add_menu_prefix":"add_menu_prefix","add_css_admin":"add_css_admin","menu_prefix":"menu_prefix","add_css_site":"add_css_site","dashboard_type":"dashboard_type","dashboard":"dashboard","toignore":"toignore","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","add_php_postflight_install":"add_php_postflight_install","export_key":"export_key","add_php_postflight_update":"add_php_postflight_update","joomla_source_link":"joomla_source_link","add_php_method_uninstall":"add_php_method_uninstall","export_buy_link":"export_buy_link","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","assets_table_fix":"assets_table_fix","readme":"readme","emptycontributors":"emptycontributors","add_update_server":"add_update_server","number":"number","update_server_target":"update_server_target","update_server":"update_server","sales_server":"sales_server","crowdin_project_api_key":"crowdin_project_api_key","crowdin_account_api_key":"crowdin_account_api_key","creatuserhelper":"creatuserhelper","buildcomp":"buildcomp","adduikit":"adduikit","guid":"guid","addfootable":"addfootable","name":"name"}}';
|
||||
$joomla_component->router = 'ComponentbuilderHelperRoute::getJoomla_componentRoute';
|
||||
$joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","remove_line_breaks","debug_linenr","mvc_versiondate","add_placeholders","add_sales_server","add_email_helper","add_license","license_type","addreadme","translation_tool","addfootable","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","emptycontributors","add_update_server","number","update_server_target","update_server","sales_server","creatuserhelper","buildcomp","adduikit"],"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": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
|
||||
$joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","debug_linenr","mvc_versiondate","remove_line_breaks","add_placeholders","add_license","add_email_helper","license_type","addreadme","add_sales_server","translation_tool","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","emptycontributors","add_update_server","number","update_server_target","update_server","sales_server","creatuserhelper","buildcomp","adduikit","addfootable"],"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": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
|
||||
|
||||
// Set the object into the content types table.
|
||||
$joomla_component_Inserted = $db->insertObject('#__content_types', $joomla_component);
|
||||
@ -6060,9 +6060,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": "php_before_cancel","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","short_description":"short_description","php_before_cancel":"php_before_cancel","php_allowadd":"php_allowadd","php_save":"php_save","php_getform":"php_getform","name_list":"name_list","php_import_display":"php_import_display","icon":"icon","php_before_delete":"php_before_delete","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","icon_add":"icon_add","php_batchcopy":"php_batchcopy","mysql_table_row_format":"mysql_table_row_format","php_before_publish":"php_before_publish","type":"type","php_document":"php_document","sql":"sql","php_import_setdata":"php_import_setdata","php_getlistquery":"php_getlistquery","php_before_save":"php_before_save","php_postsavehook":"php_postsavehook","php_allowedit":"php_allowedit","php_after_cancel":"php_after_cancel","php_batchmove":"php_batchmove","php_after_publish":"php_after_publish","alias_builder_type":"alias_builder_type","php_after_delete":"php_after_delete","mysql_table_charset":"mysql_table_charset","source":"source","alias_builder":"alias_builder","php_import":"php_import","php_import_ext":"php_import_ext","add_css_view":"add_css_view","add_php_getlistquery":"add_php_getlistquery","css_view":"css_view","add_php_getform":"add_php_getform","add_css_views":"add_css_views","add_php_before_save":"add_php_before_save","css_views":"css_views","add_php_save":"add_php_save","add_javascript_view_file":"add_javascript_view_file","add_php_postsavehook":"add_php_postsavehook","javascript_view_file":"javascript_view_file","add_php_allowadd":"add_php_allowadd","add_javascript_view_footer":"add_javascript_view_footer","add_php_allowedit":"add_php_allowedit","javascript_view_footer":"javascript_view_footer","add_php_before_cancel":"add_php_before_cancel","add_javascript_views_file":"add_javascript_views_file","add_php_after_cancel":"add_php_after_cancel","javascript_views_file":"javascript_views_file","add_php_batchcopy":"add_php_batchcopy","add_javascript_views_footer":"add_javascript_views_footer","add_php_batchmove":"add_php_batchmove","javascript_views_footer":"javascript_views_footer","add_php_before_publish":"add_php_before_publish","add_custom_button":"add_custom_button","add_php_after_publish":"add_php_after_publish","add_php_before_delete":"add_php_before_delete","php_controller":"php_controller","add_php_after_delete":"add_php_after_delete","php_model":"php_model","add_php_document":"add_php_document","php_controller_list":"php_controller_list","mysql_table_engine":"mysql_table_engine","php_model_list":"php_model_list","mysql_table_collate":"mysql_table_collate","add_php_ajax":"add_php_ajax","add_sql":"add_sql","php_ajaxmethod":"php_ajaxmethod","add_php_getitem":"add_php_getitem","add_custom_import":"add_custom_import","php_getitem":"php_getitem","html_import_view":"html_import_view","add_php_getitems":"add_php_getitems","php_import_headers":"php_import_headers","php_getitems":"php_getitems","php_import_save":"php_import_save","add_php_getitems_after_all":"add_php_getitems_after_all","guid":"guid","php_getitems_after_all":"php_getitems_after_all"}}';
|
||||
$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": "php_allowedit","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","short_description":"short_description","php_allowedit":"php_allowedit","php_postsavehook":"php_postsavehook","php_before_save":"php_before_save","php_getlistquery":"php_getlistquery","php_import_ext":"php_import_ext","icon":"icon","php_after_publish":"php_after_publish","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","icon_add":"icon_add","php_after_cancel":"php_after_cancel","mysql_table_charset":"mysql_table_charset","php_batchmove":"php_batchmove","type":"type","php_after_delete":"php_after_delete","source":"source","php_import":"php_import","php_getitems_after_all":"php_getitems_after_all","php_getform":"php_getform","php_save":"php_save","php_allowadd":"php_allowadd","php_before_cancel":"php_before_cancel","php_batchcopy":"php_batchcopy","php_before_publish":"php_before_publish","alias_builder_type":"alias_builder_type","php_before_delete":"php_before_delete","php_document":"php_document","mysql_table_row_format":"mysql_table_row_format","alias_builder":"alias_builder","sql":"sql","php_import_display":"php_import_display","add_category_submenu":"add_category_submenu","php_import_setdata":"php_import_setdata","name_list":"name_list","add_php_getlistquery":"add_php_getlistquery","add_css_view":"add_css_view","add_php_getform":"add_php_getform","css_view":"css_view","add_php_before_save":"add_php_before_save","add_css_views":"add_css_views","add_php_save":"add_php_save","css_views":"css_views","add_php_postsavehook":"add_php_postsavehook","add_javascript_view_file":"add_javascript_view_file","add_php_allowadd":"add_php_allowadd","javascript_view_file":"javascript_view_file","add_php_allowedit":"add_php_allowedit","add_javascript_view_footer":"add_javascript_view_footer","add_php_before_cancel":"add_php_before_cancel","javascript_view_footer":"javascript_view_footer","add_php_after_cancel":"add_php_after_cancel","add_javascript_views_file":"add_javascript_views_file","add_php_batchcopy":"add_php_batchcopy","javascript_views_file":"javascript_views_file","add_php_batchmove":"add_php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","add_php_before_publish":"add_php_before_publish","javascript_views_footer":"javascript_views_footer","add_php_after_publish":"add_php_after_publish","add_custom_button":"add_custom_button","add_php_before_delete":"add_php_before_delete","add_php_after_delete":"add_php_after_delete","php_controller":"php_controller","add_php_document":"add_php_document","php_model":"php_model","mysql_table_engine":"mysql_table_engine","php_controller_list":"php_controller_list","mysql_table_collate":"mysql_table_collate","php_model_list":"php_model_list","add_sql":"add_sql","add_php_ajax":"add_php_ajax","php_ajaxmethod":"php_ajaxmethod","add_custom_import":"add_custom_import","add_php_getitem":"add_php_getitem","html_import_view":"html_import_view","php_getitem":"php_getitem","php_import_headers":"php_import_headers","add_php_getitems":"add_php_getitems","php_import_save":"php_import_save","php_getitems":"php_getitems","guid":"guid","add_php_getitems_after_all":"add_php_getitems_after_all"}}';
|
||||
$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"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_fadein","type","source","add_css_view","add_php_getlistquery","add_php_getform","add_css_views","add_php_before_save","add_php_save","add_javascript_view_file","add_php_postsavehook","add_php_allowadd","add_javascript_view_footer","add_php_allowedit","add_php_before_cancel","add_javascript_views_file","add_php_after_cancel","add_php_batchcopy","add_javascript_views_footer","add_php_batchmove","add_php_before_publish","add_custom_button","add_php_after_publish","add_php_before_delete","add_php_after_delete","add_php_document","add_php_ajax","add_sql","add_php_getitem","add_custom_import","add_php_getitems","add_php_getitems_after_all"],"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"}]}';
|
||||
$admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_fadein","type","source","add_category_submenu","add_php_getlistquery","add_css_view","add_php_getform","add_php_before_save","add_css_views","add_php_save","add_php_postsavehook","add_javascript_view_file","add_php_allowadd","add_php_allowedit","add_javascript_view_footer","add_php_before_cancel","add_php_after_cancel","add_javascript_views_file","add_php_batchcopy","add_php_batchmove","add_javascript_views_footer","add_php_before_publish","add_php_after_publish","add_custom_button","add_php_before_delete","add_php_after_delete","add_php_document","add_sql","add_php_ajax","add_custom_import","add_php_getitem","add_php_getitems","add_php_getitems_after_all"],"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);
|
||||
@ -7465,9 +7465,9 @@ class com_componentbuilderInstallerScript
|
||||
$joomla_component->type_title = 'Componentbuilder Joomla_component';
|
||||
$joomla_component->type_alias = 'com_componentbuilder.joomla_component';
|
||||
$joomla_component->table = '{"special": {"dbtable": "#__componentbuilder_joomla_component","key": "id","type": "Joomla_component","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
|
||||
$joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_site_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","php_site_event":"php_site_event","css_admin":"css_admin","php_helper_both":"php_helper_both","php_admin_event":"php_admin_event","sql_uninstall":"sql_uninstall","remove_line_breaks":"remove_line_breaks","description":"description","php_postflight_install":"php_postflight_install","debug_linenr":"debug_linenr","mvc_versiondate":"mvc_versiondate","php_preflight_install":"php_preflight_install","crowdin_project_identifier":"crowdin_project_identifier","php_method_uninstall":"php_method_uninstall","component_version":"component_version","add_placeholders":"add_placeholders","add_sales_server":"add_sales_server","author":"author","email":"email","add_email_helper":"add_email_helper","website":"website","php_helper_admin":"php_helper_admin","add_license":"add_license","php_helper_site":"php_helper_site","license_type":"license_type","javascript":"javascript","css_site":"css_site","whmcs_key":"whmcs_key","whmcs_url":"whmcs_url","php_preflight_update":"php_preflight_update","whmcs_buy_link":"whmcs_buy_link","php_postflight_update":"php_postflight_update","license":"license","sql":"sql","bom":"bom","addreadme":"addreadme","image":"image","update_server_url":"update_server_url","copyright":"copyright","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","addfootable":"addfootable","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_javascript":"add_javascript","add_menu_prefix":"add_menu_prefix","add_css_admin":"add_css_admin","menu_prefix":"menu_prefix","add_css_site":"add_css_site","dashboard_type":"dashboard_type","dashboard":"dashboard","toignore":"toignore","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","add_php_postflight_install":"add_php_postflight_install","export_key":"export_key","add_php_postflight_update":"add_php_postflight_update","joomla_source_link":"joomla_source_link","add_php_method_uninstall":"add_php_method_uninstall","export_buy_link":"export_buy_link","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","assets_table_fix":"assets_table_fix","readme":"readme","emptycontributors":"emptycontributors","add_update_server":"add_update_server","number":"number","update_server_target":"update_server_target","update_server":"update_server","sales_server":"sales_server","crowdin_project_api_key":"crowdin_project_api_key","crowdin_account_api_key":"crowdin_account_api_key","creatuserhelper":"creatuserhelper","buildcomp":"buildcomp","adduikit":"adduikit","guid":"guid","name":"name"}}';
|
||||
$joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_admin_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","php_admin_event":"php_admin_event","php_site_event":"php_site_event","php_helper_both":"php_helper_both","debug_linenr":"debug_linenr","php_preflight_install":"php_preflight_install","php_method_uninstall":"php_method_uninstall","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","description":"description","php_postflight_install":"php_postflight_install","author":"author","sql_uninstall":"sql_uninstall","email":"email","website":"website","add_license":"add_license","add_email_helper":"add_email_helper","license_type":"license_type","php_helper_admin":"php_helper_admin","php_helper_site":"php_helper_site","whmcs_key":"whmcs_key","javascript":"javascript","whmcs_url":"whmcs_url","css_site":"css_site","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","sql":"sql","copyright":"copyright","addreadme":"addreadme","add_sales_server":"add_sales_server","update_server_url":"update_server_url","crowdin_project_identifier":"crowdin_project_identifier","component_version":"component_version","translation_tool":"translation_tool","crowdin_username":"crowdin_username","buildcompsql":"buildcompsql","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_javascript":"add_javascript","add_menu_prefix":"add_menu_prefix","add_css_admin":"add_css_admin","menu_prefix":"menu_prefix","add_css_site":"add_css_site","dashboard_type":"dashboard_type","dashboard":"dashboard","toignore":"toignore","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","add_php_postflight_install":"add_php_postflight_install","export_key":"export_key","add_php_postflight_update":"add_php_postflight_update","joomla_source_link":"joomla_source_link","add_php_method_uninstall":"add_php_method_uninstall","export_buy_link":"export_buy_link","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","assets_table_fix":"assets_table_fix","readme":"readme","emptycontributors":"emptycontributors","add_update_server":"add_update_server","number":"number","update_server_target":"update_server_target","update_server":"update_server","sales_server":"sales_server","crowdin_project_api_key":"crowdin_project_api_key","crowdin_account_api_key":"crowdin_account_api_key","creatuserhelper":"creatuserhelper","buildcomp":"buildcomp","adduikit":"adduikit","guid":"guid","addfootable":"addfootable","name":"name"}}';
|
||||
$joomla_component->router = 'ComponentbuilderHelperRoute::getJoomla_componentRoute';
|
||||
$joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","remove_line_breaks","debug_linenr","mvc_versiondate","add_placeholders","add_sales_server","add_email_helper","add_license","license_type","addreadme","translation_tool","addfootable","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","emptycontributors","add_update_server","number","update_server_target","update_server","sales_server","creatuserhelper","buildcomp","adduikit"],"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": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
|
||||
$joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","debug_linenr","mvc_versiondate","remove_line_breaks","add_placeholders","add_license","add_email_helper","license_type","addreadme","add_sales_server","translation_tool","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","emptycontributors","add_update_server","number","update_server_target","update_server","sales_server","creatuserhelper","buildcomp","adduikit","addfootable"],"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": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
|
||||
|
||||
// Check if joomla_component type is already in content_type DB.
|
||||
$joomla_component_id = null;
|
||||
@ -7552,9 +7552,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": "php_before_cancel","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","short_description":"short_description","php_before_cancel":"php_before_cancel","php_allowadd":"php_allowadd","php_save":"php_save","php_getform":"php_getform","name_list":"name_list","php_import_display":"php_import_display","icon":"icon","php_before_delete":"php_before_delete","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","icon_add":"icon_add","php_batchcopy":"php_batchcopy","mysql_table_row_format":"mysql_table_row_format","php_before_publish":"php_before_publish","type":"type","php_document":"php_document","sql":"sql","php_import_setdata":"php_import_setdata","php_getlistquery":"php_getlistquery","php_before_save":"php_before_save","php_postsavehook":"php_postsavehook","php_allowedit":"php_allowedit","php_after_cancel":"php_after_cancel","php_batchmove":"php_batchmove","php_after_publish":"php_after_publish","alias_builder_type":"alias_builder_type","php_after_delete":"php_after_delete","mysql_table_charset":"mysql_table_charset","source":"source","alias_builder":"alias_builder","php_import":"php_import","php_import_ext":"php_import_ext","add_css_view":"add_css_view","add_php_getlistquery":"add_php_getlistquery","css_view":"css_view","add_php_getform":"add_php_getform","add_css_views":"add_css_views","add_php_before_save":"add_php_before_save","css_views":"css_views","add_php_save":"add_php_save","add_javascript_view_file":"add_javascript_view_file","add_php_postsavehook":"add_php_postsavehook","javascript_view_file":"javascript_view_file","add_php_allowadd":"add_php_allowadd","add_javascript_view_footer":"add_javascript_view_footer","add_php_allowedit":"add_php_allowedit","javascript_view_footer":"javascript_view_footer","add_php_before_cancel":"add_php_before_cancel","add_javascript_views_file":"add_javascript_views_file","add_php_after_cancel":"add_php_after_cancel","javascript_views_file":"javascript_views_file","add_php_batchcopy":"add_php_batchcopy","add_javascript_views_footer":"add_javascript_views_footer","add_php_batchmove":"add_php_batchmove","javascript_views_footer":"javascript_views_footer","add_php_before_publish":"add_php_before_publish","add_custom_button":"add_custom_button","add_php_after_publish":"add_php_after_publish","add_php_before_delete":"add_php_before_delete","php_controller":"php_controller","add_php_after_delete":"add_php_after_delete","php_model":"php_model","add_php_document":"add_php_document","php_controller_list":"php_controller_list","mysql_table_engine":"mysql_table_engine","php_model_list":"php_model_list","mysql_table_collate":"mysql_table_collate","add_php_ajax":"add_php_ajax","add_sql":"add_sql","php_ajaxmethod":"php_ajaxmethod","add_php_getitem":"add_php_getitem","add_custom_import":"add_custom_import","php_getitem":"php_getitem","html_import_view":"html_import_view","add_php_getitems":"add_php_getitems","php_import_headers":"php_import_headers","php_getitems":"php_getitems","php_import_save":"php_import_save","add_php_getitems_after_all":"add_php_getitems_after_all","guid":"guid","php_getitems_after_all":"php_getitems_after_all"}}';
|
||||
$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": "php_allowedit","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","short_description":"short_description","php_allowedit":"php_allowedit","php_postsavehook":"php_postsavehook","php_before_save":"php_before_save","php_getlistquery":"php_getlistquery","php_import_ext":"php_import_ext","icon":"icon","php_after_publish":"php_after_publish","add_fadein":"add_fadein","description":"description","icon_category":"icon_category","icon_add":"icon_add","php_after_cancel":"php_after_cancel","mysql_table_charset":"mysql_table_charset","php_batchmove":"php_batchmove","type":"type","php_after_delete":"php_after_delete","source":"source","php_import":"php_import","php_getitems_after_all":"php_getitems_after_all","php_getform":"php_getform","php_save":"php_save","php_allowadd":"php_allowadd","php_before_cancel":"php_before_cancel","php_batchcopy":"php_batchcopy","php_before_publish":"php_before_publish","alias_builder_type":"alias_builder_type","php_before_delete":"php_before_delete","php_document":"php_document","mysql_table_row_format":"mysql_table_row_format","alias_builder":"alias_builder","sql":"sql","php_import_display":"php_import_display","add_category_submenu":"add_category_submenu","php_import_setdata":"php_import_setdata","name_list":"name_list","add_php_getlistquery":"add_php_getlistquery","add_css_view":"add_css_view","add_php_getform":"add_php_getform","css_view":"css_view","add_php_before_save":"add_php_before_save","add_css_views":"add_css_views","add_php_save":"add_php_save","css_views":"css_views","add_php_postsavehook":"add_php_postsavehook","add_javascript_view_file":"add_javascript_view_file","add_php_allowadd":"add_php_allowadd","javascript_view_file":"javascript_view_file","add_php_allowedit":"add_php_allowedit","add_javascript_view_footer":"add_javascript_view_footer","add_php_before_cancel":"add_php_before_cancel","javascript_view_footer":"javascript_view_footer","add_php_after_cancel":"add_php_after_cancel","add_javascript_views_file":"add_javascript_views_file","add_php_batchcopy":"add_php_batchcopy","javascript_views_file":"javascript_views_file","add_php_batchmove":"add_php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","add_php_before_publish":"add_php_before_publish","javascript_views_footer":"javascript_views_footer","add_php_after_publish":"add_php_after_publish","add_custom_button":"add_custom_button","add_php_before_delete":"add_php_before_delete","add_php_after_delete":"add_php_after_delete","php_controller":"php_controller","add_php_document":"add_php_document","php_model":"php_model","mysql_table_engine":"mysql_table_engine","php_controller_list":"php_controller_list","mysql_table_collate":"mysql_table_collate","php_model_list":"php_model_list","add_sql":"add_sql","add_php_ajax":"add_php_ajax","php_ajaxmethod":"php_ajaxmethod","add_custom_import":"add_custom_import","add_php_getitem":"add_php_getitem","html_import_view":"html_import_view","php_getitem":"php_getitem","php_import_headers":"php_import_headers","add_php_getitems":"add_php_getitems","php_import_save":"php_import_save","php_getitems":"php_getitems","guid":"guid","add_php_getitems_after_all":"add_php_getitems_after_all"}}';
|
||||
$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"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_fadein","type","source","add_css_view","add_php_getlistquery","add_php_getform","add_css_views","add_php_before_save","add_php_save","add_javascript_view_file","add_php_postsavehook","add_php_allowadd","add_javascript_view_footer","add_php_allowedit","add_php_before_cancel","add_javascript_views_file","add_php_after_cancel","add_php_batchcopy","add_javascript_views_footer","add_php_batchmove","add_php_before_publish","add_custom_button","add_php_after_publish","add_php_before_delete","add_php_after_delete","add_php_document","add_php_ajax","add_sql","add_php_getitem","add_custom_import","add_php_getitems","add_php_getitems_after_all"],"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"}]}';
|
||||
$admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_fadein","type","source","add_category_submenu","add_php_getlistquery","add_css_view","add_php_getform","add_php_before_save","add_css_views","add_php_save","add_php_postsavehook","add_javascript_view_file","add_php_allowadd","add_php_allowedit","add_javascript_view_footer","add_php_before_cancel","add_php_after_cancel","add_javascript_views_file","add_php_batchcopy","add_php_batchmove","add_javascript_views_footer","add_php_before_publish","add_php_after_publish","add_custom_button","add_php_before_delete","add_php_after_delete","add_php_document","add_sql","add_php_ajax","add_custom_import","add_php_getitem","add_php_getitems","add_php_getitems_after_all"],"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;
|
||||
@ -9250,7 +9250,7 @@ class com_componentbuilderInstallerScript
|
||||
echo '<a target="_blank" href="http://www.joomlacomponentbuilder.com" title="Component Builder">
|
||||
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
|
||||
</a>
|
||||
<h3>Upgrade to Version 2.12.4 Was Successful! Let us know if anything is not working as expected.</h3>';
|
||||
<h3>Upgrade to Version 2.12.6 Was Successful! Let us know if anything is not working as expected.</h3>';
|
||||
|
||||
// Set db if not set already.
|
||||
if (!isset($db))
|
||||
|
@ -1967,7 +1967,6 @@ abstract class ComponentbuilderHelper
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* The array of dynamic content
|
||||
*
|
||||
@ -3666,7 +3665,7 @@ abstract class ComponentbuilderHelper
|
||||
protected static $fieldGroups = array(
|
||||
'default' => array(
|
||||
'accesslevel', 'cachehandler', 'calendar', 'captcha', 'category', 'checkbox', 'checkboxes', 'chromestyle',
|
||||
'color', 'combo', 'componentlayout', 'contentlanguage', 'contenttype', 'databaseconnection', // 'components', (TODO) must be added but still in use as a custom field in JCB
|
||||
'color', 'combo', 'componentlayout', 'contentlanguage', 'contenttype', 'databaseconnection', 'components',
|
||||
'editor', 'editors', 'email', 'file', 'file', 'filelist', 'folderlist', 'groupedlist', 'headertag', 'helpsite', 'hidden', 'imagelist',
|
||||
'integer', 'language', 'list', 'media', 'menu', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition',
|
||||
'moduletag', 'note', 'number', 'password', 'plugins', 'predefinedlist', 'radio', 'range', 'repeatable', 'rules',
|
||||
@ -3678,14 +3677,14 @@ abstract class ComponentbuilderHelper
|
||||
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
),
|
||||
'option' => array(
|
||||
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', // 'components', (TODO) must be added but still in use as a custom field in JCB
|
||||
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', 'components',
|
||||
'filelist', 'folderlist', 'imagelist', 'list', 'plugins', 'predefinedlist', 'radio', 'sessionhandler', 'sql', 'groupedlist'
|
||||
),
|
||||
'text' => array(
|
||||
'calendar', 'color', 'editor', 'email', 'number', 'password', 'range', 'tel', 'text', 'textarea', 'url'
|
||||
),
|
||||
'list' => array(
|
||||
'checkbox', 'checkboxes', 'list', 'radio', 'groupedlist'
|
||||
'checkbox', 'checkboxes', 'list', 'radio', 'groupedlist', 'combo'
|
||||
),
|
||||
'dynamic' => array(
|
||||
'category', 'file', 'filelist', 'folderlist', 'headertag', 'imagelist', 'integer', 'media', 'meter', 'rules', 'tag', 'timezone', 'user'
|
||||
@ -5904,6 +5903,571 @@ abstract class ComponentbuilderHelper
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get extensions grouped list xml
|
||||
**/
|
||||
public static function getExtensionGroupedListXml()
|
||||
{
|
||||
// the extension types
|
||||
$extensions = array(
|
||||
'joomla_component' => 'COM_COMPONENTBUILDER_COMPONENT',
|
||||
'joomla_module' => 'COM_COMPONENTBUILDER_MODULE',
|
||||
'joomla_plugin' => 'COM_COMPONENTBUILDER_PLUGIN'
|
||||
);
|
||||
// get the extension values
|
||||
foreach ($extensions as $extension => $label)
|
||||
{
|
||||
${$extension} = self::getByTypeTheIdsSystemNames($extension);
|
||||
}
|
||||
|
||||
$xml = new DOMDocument();
|
||||
$xml->formatOutput = true;
|
||||
|
||||
$root = $xml->createElement('field');
|
||||
$root->setAttributeNode(new DOMAttr('name', 'extension'));
|
||||
$root->setAttributeNode(new DOMAttr('type', 'groupedlist'));
|
||||
$root->setAttributeNode(new DOMAttr('onchange', 'this.form.submit();'));
|
||||
|
||||
$root
|
||||
->appendChild($xml->createElement('option', '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_EXTENSION') . ' -'))
|
||||
->setAttributeNode(new DOMAttr('value', ''));
|
||||
|
||||
foreach ($extensions as $extension => $label)
|
||||
{
|
||||
$extension_node = $xml->createElement('group');
|
||||
$extension_node->setAttributeNode(new DOMAttr('label', $label));
|
||||
if (!self::checkArray(${$extension}))
|
||||
{
|
||||
$extension_node
|
||||
->appendChild($xml->createElement('option', '- ' . JText::_('COM_COMPONENTBUILDER_NONE') . ' -'))
|
||||
->setAttributeNode(new DOMAttr('disabled', 'true'));
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (${$extension} as $id => $element)
|
||||
{
|
||||
$extension_node
|
||||
->appendChild($xml->createElement('option', $element))
|
||||
->setAttributeNode(new DOMAttr('value', $extension . '__' . $id));
|
||||
}
|
||||
}
|
||||
$root->appendChild($extension_node);
|
||||
}
|
||||
$xml->appendChild($root);
|
||||
return $xml->saveXML();
|
||||
}
|
||||
|
||||
/**
|
||||
* get by type the ids and system names
|
||||
**/
|
||||
public static function getByTypeTheIdsSystemNames($type, $limiter = null)
|
||||
{
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
$query
|
||||
->select($db->quoteName(array('id', 'system_name')))
|
||||
->from($db->quoteName('#__componentbuilder_' . $type))
|
||||
->where($db->quoteName('published') . ' >= 1')
|
||||
->order($db->quoteName('modified') . ' desc')
|
||||
->order($db->quoteName('created') . ' desc');
|
||||
// check if we have a limter for admin views
|
||||
if ($type === 'admin_view' && $limiter)
|
||||
{
|
||||
// first get all views
|
||||
$adminviewIds = array();
|
||||
// if this is a plugin or a module, then no views
|
||||
if (strpos($limiter, 'joomla_component') !== false)
|
||||
{
|
||||
$component = (int) str_replace('joomla_component__', '', $limiter);
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_admin_views', (int) $component, 'joomla_component', 'addadmin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['adminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['adminview']] = (int) $addView['adminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// now check if we still have admin views
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
$query->where($db->quoteName('id') . ' IN (' . implode(',', $adminviewIds) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
return $db->loadAssocList('id', 'system_name');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get any area linked IDs
|
||||
*/
|
||||
public static function getAreaLinkedIDs($extension, $type)
|
||||
{
|
||||
// What ever...
|
||||
if ($type === 'joomla_component_admin_views')
|
||||
{
|
||||
return self::getComponentAdminViewsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_component_custom_admin_views')
|
||||
{
|
||||
return self::getComponentCustomAdminViewsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_component_site_views')
|
||||
{
|
||||
return self::getComponentSiteViewsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_component')
|
||||
{
|
||||
return self::getComponentFieldsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_module')
|
||||
{
|
||||
return self::getModuleFieldsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'joomla_plugin')
|
||||
{
|
||||
return self::getPluginFieldsIDs($extension);
|
||||
}
|
||||
elseif ($type === 'admin_view')
|
||||
{
|
||||
return self::getAdminViewFieldsIDs($extension);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component admin views IDs
|
||||
*/
|
||||
public static function getComponentAdminViewsIDs($id)
|
||||
{
|
||||
// get all this components views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_admin_views', (int) $id, 'joomla_component', 'addadmin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['adminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['adminview']] = (int) $addView['adminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
return array_values($adminviewIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component custom admin views IDs
|
||||
*/
|
||||
public static function getComponentCustomAdminViewsIDs($id)
|
||||
{
|
||||
// get all this components views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_custom_admin_views', (int) $id, 'joomla_component', 'addcustom_admin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['customadminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['customadminview']] = (int) $addView['customadminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
return array_values($adminviewIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component site views IDs
|
||||
*/
|
||||
public static function getComponentSiteViewsIDs($id)
|
||||
{
|
||||
// get all this components views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_site_views', (int) $id, 'joomla_component', 'addsite_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['siteview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['siteview']] = (int) $addView['siteview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
return array_values($adminviewIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a component fields IDs
|
||||
*/
|
||||
public static function getComponentFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
// first get all views
|
||||
$adminviewIds = array();
|
||||
// get the views of this component
|
||||
if ($addViews = self::getVar('component_admin_views', (int) $id, 'joomla_component', 'addadmin_views'))
|
||||
{
|
||||
if (self::checkJson($addViews))
|
||||
{
|
||||
$addViews = json_decode($addViews, true);
|
||||
if (self::checkArray($addViews))
|
||||
{
|
||||
foreach($addViews as $addView)
|
||||
{
|
||||
if (isset($addView['adminview']))
|
||||
{
|
||||
$adminviewIds[(int) $addView['adminview']] = (int) $addView['adminview'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have views
|
||||
if (self::checkArray($adminviewIds))
|
||||
{
|
||||
foreach ($adminviewIds as $adminView)
|
||||
{
|
||||
// get all the fields linked to the admin view
|
||||
if ($addFields = self::getVar('admin_fields', (int) $adminView, 'admin_view', 'addfields'))
|
||||
{
|
||||
if (self::checkJson($addFields))
|
||||
{
|
||||
$addFields = json_decode($addFields, true);
|
||||
if (self::checkArray($addFields))
|
||||
{
|
||||
foreach($addFields as $addField)
|
||||
{
|
||||
if (isset($addField['field']))
|
||||
{
|
||||
$fieldIds[(int) $addField['field']] = (int) $addField['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// get config values
|
||||
if ($addconfig = self::getVar('component_config', (int) $id, 'joomla_component', 'addconfig'))
|
||||
{
|
||||
if (self::checkJson($addconfig))
|
||||
{
|
||||
$addconfig = json_decode($addconfig, true);
|
||||
if (self::checkArray($addconfig))
|
||||
{
|
||||
foreach($addconfig as $addconf)
|
||||
{
|
||||
if (isset($addconf['field']))
|
||||
{
|
||||
$fieldIds[(int) $addconf['field']] = (int) $addconf['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a module fields IDs
|
||||
*/
|
||||
public static function getModuleFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
if ($fields = self::getVar('joomla_module', (int) $id, 'id', 'fields'))
|
||||
{
|
||||
if (self::checkJson($fields))
|
||||
{
|
||||
$fields = json_decode($fields, true);
|
||||
if (self::checkArray($fields))
|
||||
{
|
||||
foreach($fields as $form)
|
||||
{
|
||||
if (isset($form['fields']) && self::checkArray($form['fields']))
|
||||
{
|
||||
foreach ($form['fields'] as $field)
|
||||
{
|
||||
if (isset($field['field']))
|
||||
{
|
||||
$fieldIds[(int) $field['field']] = (int) $field['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get a plugin fields IDs
|
||||
*/
|
||||
public static function getPluginFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
if ($fields = self::getVar('joomla_plugin', (int) $id, 'id', 'fields'))
|
||||
{
|
||||
if (self::checkJson($fields))
|
||||
{
|
||||
$fields = json_decode($fields, true);
|
||||
if (self::checkArray($fields))
|
||||
{
|
||||
foreach($fields as $form)
|
||||
{
|
||||
if (isset($form['fields']) && self::checkArray($form['fields']))
|
||||
{
|
||||
foreach ($form['fields'] as $field)
|
||||
{
|
||||
if (isset($field['field']))
|
||||
{
|
||||
$fieldIds[(int) $field['field']] = (int) $field['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get an admin view fields IDs
|
||||
*/
|
||||
public static function getAdminViewFieldsIDs($id)
|
||||
{
|
||||
// we start the field array
|
||||
$fieldIds = array();
|
||||
// get all the fields linked to the admin view
|
||||
if ($addFields = self::getVar('admin_fields', (int) $id, 'admin_view', 'addfields'))
|
||||
{
|
||||
if (self::checkJson($addFields))
|
||||
{
|
||||
$addFields = json_decode($addFields, true);
|
||||
if (self::checkArray($addFields))
|
||||
{
|
||||
foreach($addFields as $addField)
|
||||
{
|
||||
if (isset($addField['field']))
|
||||
{
|
||||
$fieldIds[(int) $addField['field']] = (int) $addField['field'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// check that we have fields
|
||||
if (self::checkArray($fieldIds))
|
||||
{
|
||||
return array_values($fieldIds);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get translation extension ids
|
||||
**/
|
||||
public static function getTranslationExtensionsIds($extension, $type)
|
||||
{
|
||||
// only allow these columns (extension types)
|
||||
$columns = array(
|
||||
'joomla_component' => 'components',
|
||||
'joomla_module' => 'modules',
|
||||
'joomla_plugin' => 'plugins'
|
||||
);
|
||||
// check if the column name is correct
|
||||
if (isset($columns[$type]))
|
||||
{
|
||||
$column = $columns[$type];
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
$query
|
||||
->select($db->quoteName(array('id', $column)))
|
||||
->from($db->quoteName('#__componentbuilder_language_translation'))
|
||||
->where($db->quoteName($column) . ' != ' . $db->quote(''));
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
$results = $db->loadAssocList();
|
||||
$matches = array();
|
||||
foreach ($results as $k => $v)
|
||||
{
|
||||
$value = json_decode($v[$column], true);
|
||||
if (in_array($extension, $value))
|
||||
{
|
||||
$matches[$v['id']] = $v['id'];
|
||||
}
|
||||
}
|
||||
// Checks that we found matches
|
||||
if (self::checkArray($matches))
|
||||
{
|
||||
return array_values($matches);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get translation ids
|
||||
**/
|
||||
public static function getTranslationIds($language, $translated = true)
|
||||
{
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
$query
|
||||
->select($db->quoteName('id'))
|
||||
->from($db->quoteName('#__componentbuilder_language_translation'));
|
||||
|
||||
// Build the where condition
|
||||
if ($translated === true) // Translated
|
||||
{
|
||||
if ($language === 'all')
|
||||
{
|
||||
if (($languages = self::getAvailableLanguages()) !== false)
|
||||
{
|
||||
$wheres = array();
|
||||
foreach ($languages as $k => $v)
|
||||
{
|
||||
$wheres[] = $db->quoteName('translation') . ' LIKE ' . $db->quote('%' . $k . '%');
|
||||
}
|
||||
$query->where($wheres);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$query->where($db->quoteName('translation') . ' LIKE ' . $db->quote('%' . $language . '%'));
|
||||
}
|
||||
}
|
||||
else // Not translated
|
||||
{
|
||||
if ($language === 'none')
|
||||
{
|
||||
$query->where(
|
||||
array(
|
||||
$db->quoteName('translation') . ' = ' . $db->quote(''),
|
||||
$db->quoteName('translation') . ' = ' . $db->quote('[]'),
|
||||
$db->quoteName('translation') . ' = ' . $db->quote('{}')
|
||||
), 'OR'
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$query->where($db->quoteName('translation') . ' NOT LIKE ' . $db->quote('%' . $language . '%'));
|
||||
}
|
||||
}
|
||||
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
return array_unique($db->loadColumn());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get available languages
|
||||
**/
|
||||
public static function getAvailableLanguages()
|
||||
{
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
$query
|
||||
->select($db->quoteName(array('langtag', 'name')))
|
||||
->from($db->quoteName('#__componentbuilder_language'))
|
||||
->where($db->quoteName('published') . ' = 1')
|
||||
->order($db->quoteName('name') . ' desc');
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
if ($db->getNumRows())
|
||||
{
|
||||
return $db->loadAssocList('langtag', 'name');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load the Composer Vendors
|
||||
*/
|
||||
|
@ -10,6 +10,7 @@ COM_COMPONENTBUILDER_BGET_THE_KEY_FROMB_A_SSA="<b>Get the key from</b> <a %s>%s<
|
||||
COM_COMPONENTBUILDER_BGET_THE_KEY_FROM_SB_FOR_A_SSA="<b>Get the key from %s</b> for <a %s>%s</a>"
|
||||
COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="Check your owner details, it has not been set. Open the JCB Global Options, go to the Company tab and add the correct company details there."
|
||||
COM_COMPONENTBUILDER_COMPANY_S="Company: %s"
|
||||
COM_COMPONENTBUILDER_COMPONENT="Component"
|
||||
COM_COMPONENTBUILDER_COMPONENT_DID_NOT_COMPILE="Component did not compile!"
|
||||
COM_COMPONENTBUILDER_COMPONENT_IS_NOT_PUBLISHED_OR_IS_CHECKED_OUT="Component is not published, or is checked out!"
|
||||
COM_COMPONENTBUILDER_COMPONENT_WAS_NOT_FOUND="Component was not found!"
|
||||
@ -50,7 +51,9 @@ COM_COMPONENTBUILDER_KEY_HAS_NOT_CHANGED="Key has not changed"
|
||||
COM_COMPONENTBUILDER_LICENSE_S="License: %s"
|
||||
COM_COMPONENTBUILDER_LINK="Link"
|
||||
COM_COMPONENTBUILDER_LOCAL="Local"
|
||||
COM_COMPONENTBUILDER_MODULE="Module"
|
||||
COM_COMPONENTBUILDER_NEW="New"
|
||||
COM_COMPONENTBUILDER_NONE="None"
|
||||
COM_COMPONENTBUILDER_NOT_FOUND_OR_ACCESS_DENIED="Not found or access denied!"
|
||||
COM_COMPONENTBUILDER_NO_ACCESS_GRANTED="No Access Granted!"
|
||||
COM_COMPONENTBUILDER_NO_COMPONENT_DETAILS_FOUND_SO_IT_IS_NOT_SAFE_TO_CONTINUE="No component details found, so it is not safe to continue!"
|
||||
@ -62,8 +65,10 @@ COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS="Package Owner Details"
|
||||
COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS_NOT_FOUND="Package owner details not found!"
|
||||
COM_COMPONENTBUILDER_PACKAGE_OWNER_NOT_SET="Package Owner Not Set"
|
||||
COM_COMPONENTBUILDER_PAIDLOCKED="Paid/Locked"
|
||||
COM_COMPONENTBUILDER_PLUGIN="Plugin"
|
||||
COM_COMPONENTBUILDER_PROPERTY="Property"
|
||||
COM_COMPONENTBUILDER_SBR_YOU_CAN_ADD_A_BGITHUB_ACCESS_TOKENB_TO_COMPONENTBUILDER_GLOBAL_OPTIONS_TO_MAKE_AUTHENTICATED_REQUESTS_TO_GITHUB_AN_ACCESS_TOKEN_WITH_ONLY_PUBLIC_ACCESS_WILL_DO_TO_RETRIEVE_S="%s<br />You can add a <b>gitHub Access Token</b> to Componentbuilder global options to make authenticated requests to gitHub. An access token with only public access will do to retrieve %s."
|
||||
COM_COMPONENTBUILDER_SELECT_EXTENSION="Select Extension"
|
||||
COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_BIMPORT_PROCESSB_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_BDOES_NOTB_HAVE_THE_KEY_THEY_CAN_SEE_BWHERE_TO_GET_ITB="Since the owner details are displayed during <b>import process</b> before adding the key, this way if the user/dev <b>does not</b> have the key they can see <b>where to get it</b>."
|
||||
COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_IMPORT_PROCESS_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_DOES_NOT_HAVE_THE_KEY_THEY_CAN_SEE_WHERE_TO_GET_IT="Since the owner details are displayed during import process before adding the key, this way if the user/dev does not have the key they can see where to get it."
|
||||
COM_COMPONENTBUILDER_SORRY_THIS_PLACEHOLDER_IS_ALREADY_IN_USE="Sorry this placeholder is already in use!"
|
||||
|
Loading…
Reference in New Issue
Block a user