Added the option to import JCB packages with GUID mapping. Resolved gh-657 to allow for painless fieldtype change in the field area.

This commit is contained in:
Llewellyn van der Merwe 2021-08-11 14:15:35 +02:00
parent 576eac1a5a
commit b64e423f51
Signed by: Llewellyn
GPG Key ID: EFC0C720A240551C
51 changed files with 345 additions and 155 deletions

View File

@ -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.10) 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.11) 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,13 +143,13 @@ 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*: 14th June, 2021
+ *Version*: 2.12.10
+ *Last Build*: 11th August, 2021
+ *Version*: 2.12.11
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **291956**
+ *Field count*: **1629**
+ *File count*: **1935**
+ *Line count*: **292146**
+ *Field count*: **1630**
+ *File count*: **1936**
+ *Folder count*: **322**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).

View File

@ -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.10) 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.11) 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,13 +143,13 @@ 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*: 14th June, 2021
+ *Version*: 2.12.10
+ *Last Build*: 11th August, 2021
+ *Version*: 2.12.11
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **291956**
+ *Field count*: **1629**
+ *File count*: **1935**
+ *Line count*: **292146**
+ *Field count*: **1630**
+ *File count*: **1936**
+ *Folder count*: **322**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).

View File

@ -761,20 +761,6 @@
max="100"
step="10"
/>
<!-- Export_language_strings Field. Type: Radio. (joomla) -->
<field
type="radio"
name="export_language_strings"
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Spacer_hr_nine Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_nine" hr="true" class="spacer_hr_nine" />
<!-- Assets_table_fix Field. Type: List. (joomla) -->
@ -839,6 +825,39 @@
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT</option>
</field>
</fieldset>
<fieldset
name="jcb_packages_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGES">
<!-- Import_guid_only Field. Type: Radio. (joomla) -->
<field
type="radio"
name="import_guid_only"
label="COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Export_language_strings Field. Type: Radio. (joomla) -->
<field
type="radio"
name="export_language_strings"
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
</fieldset>
<fieldset
name="development_method_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD">

View File

@ -176,12 +176,12 @@ class Get
* New Replace Code = /xxx[REPLACE<>$$$$]xxx/ /xxx[/REPLACE<>$$$$]xxx/
*
* //////////////////////////////// when JCB adds it back //////////////////////////////////
* JCB Add Inserted Code = /xxx[INSERTED$$$$]xxx//x23x/ /xxx[/INSERTED$$$$]xxx/
* JCB Add Replaced Code = /xxx[REPLACED$$$$]xxx//x25x/ /xxx[/REPLACED$$$$]xxx/
* JCB Add Inserted Code = /xxx[INSERTED$$$$]xxx//xx23xx/ /xxx[/INSERTED$$$$]xxx/
* JCB Add Replaced Code = /xxx[REPLACED$$$$]xxx//xx25xx/ /xxx[/REPLACED$$$$]xxx/
*
* /////////////////////////////// changeing existing custom code /////////////////////////
* Update Inserted Code = /xxx[INSERTED<>$$$$]xxx//x23x/ /xxx[/INSERTED<>$$$$]xxx/
* Update Replaced Code = /xxx[REPLACED<>$$$$]xxx//x25x/ /xxx[/REPLACED<>$$$$]xxx/
* Update Inserted Code = /xxx[INSERTED<>$$$$]xxx//xx23xx/ /xxx[/INSERTED<>$$$$]xxx/
* Update Replaced Code = /xxx[REPLACED<>$$$$]xxx//xx25xx/ /xxx[/REPLACED<>$$$$]xxx/
*
* The custom script placeholders - we use the (==) to avoid detection it should be (--)
* ###################################---> HTML <---#####################################
@ -11423,11 +11423,11 @@ class Get
switch ($type)
{
case 11:
//***[REPLACED$$$$]***//*1*/
//***[REPLACED$$$$]***//**1**/
if ($this->addPlaceholders === true)
{
return array(
'start' => '/***[REPLACED$$$$]***//*' . $id . '*/',
'start' => '/***[REPLACED$$$$]***//**' . $id . '**/',
'end' => '/***[/REPLACED$$$$]***/');
}
else
@ -11438,11 +11438,11 @@ class Get
}
break;
case 12:
//***[INSERTED$$$$]***//*1*/
//***[INSERTED$$$$]***//**1**/
if ($this->addPlaceholders === true)
{
return array(
'start' => '/***[INSERTED$$$$]***//*' . $id . '*/',
'start' => '/***[INSERTED$$$$]***//**' . $id . '**/',
'end' => '/***[/INSERTED$$$$]***/');
}
else

View File

@ -5042,7 +5042,7 @@ class Fields extends Structure
);
break;
case 4:
// WHMCS_ENCRYPTION_VDMKEY
// WHMCS_ENCRYPTION_VDMKEY (DUE REMOVAL)
$this->whmcsFieldModeling[$nameSingleCode][] = $name;
// Site settings of each field if needed
$this->buildSiteFieldData(

View File

@ -465,7 +465,7 @@ class Interpretation extends Fields
$bool[] = $this->_t(2) . "return false;";
$bool[] = $this->_t(1) . "}";
// return the genuine mentod statement
// return the genuine method statement
return implode(PHP_EOL, $bool);
}

View File

@ -2305,6 +2305,57 @@ abstract class ComponentbuilderHelper
return false;
}
/**
* get the ITEM of a GUID by table
*
* @param string $guid
* @param string $table
* @param string/array $what
*
* @return mix
*/
public static function getGUID ($guid, $table, $what = 'a.id')
{
// check if we have a string
if (self::validateGUID($guid))
{
// check if table already has this identifier
if (self::checkString($table))
{
// Get the database object and a new query object.
$db = \JFactory::getDbo();
$query = $db->getQuery(true);
if (self::checkArray($what))
{
$query->select($db->quoteName($what));
}
else
{
$query->select($what);
}
$query->from($db->quoteName('#__componentbuilder_' . (string) $table, 'a'))
->where($db->quoteName('a.guid') . ' = ' . $db->quote($guid));
// Set and query the database.
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
if (self::checkArray($what) || $what === 'a.*')
{
return $db->loadObject();
}
else
{
return $db->loadResult();
}
}
}
}
return false;
}
/**
* Validate the Globally Unique Identifier
*
@ -2423,7 +2474,7 @@ abstract class ComponentbuilderHelper
* @return array on success
*
*/
public static function getFieldTypeProperties($value, $type, $settings = array(), $xml = null, $db_defaults = false)
public static function getFieldTypeProperties($value, $type, $settings = array(), $xml = null, $dbDefaults = false)
{
// Get a db connection.
$db = JFactory::getDbo();
@ -2432,7 +2483,7 @@ abstract class ComponentbuilderHelper
$query = $db->getQuery(true);
$query->select($db->quoteName(array('properties', 'short_description', 'description')));
// load database default values
if ($db_defaults)
if ($dbDefaults)
{
$query->select($db->quoteName(array('datadefault', 'datadefault_other', 'datalenght', 'datalenght_other', 'datatype', 'has_defaults', 'indexes', 'null_switch', 'store')));
}
@ -2459,6 +2510,12 @@ abstract class ComponentbuilderHelper
$nr = 0;
// php tracker (we must try to load alteast 17 rows
$phpTracker = array();
// force load all properties
$forceAll = false;
if ($xml && strpos($xml, '..__FORCE_LOAD_ALL_PROPERTIES__..') !== false)
{
$forceAll = true;
}
// value to check since there are false and null values even 0 in the values returned
$confirmation = '8qvZHoyuFYQqpj0YQbc6F3o5DhBlmS-_-a8pmCZfOVSfANjkmV5LG8pCdAY2JNYu6cB';
// set the headers
@ -2504,7 +2561,7 @@ abstract class ComponentbuilderHelper
$field['subform']['properties'.$nr] = array('name' => $property['name'], 'value' => $settings[$property['name']], 'desc' => $property['description']);
}
}
elseif (!$xml || $confirmation !== $value)
elseif ($forceAll || !$xml || $confirmation !== $value)
{
// add the xml values
$field['values'] .= PHP_EOL."\t" . $property['name'] . '="' . ($confirmation !== $value) ? $value : $example .'" ';

View File

@ -1420,8 +1420,8 @@ COM_COMPONENTBUILDER_CLASS_EXTENDS_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_CLASS_EXTENDS_DETAILS="Details"
COM_COMPONENTBUILDER_CLASS_EXTENDS_EDIT="Editing the Class Extends"
COM_COMPONENTBUILDER_CLASS_EXTENDS_ERROR_UNIQUE_ALIAS="Another Class Extends has the same alias."
COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_DESCRIPTION="Extension type this class_extends belongs to."
COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_LABEL="Extension Type"
COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_DESCRIPTION="The type this class_extends belongs to."
COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_LABEL="Type"
COM_COMPONENTBUILDER_CLASS_EXTENDS_HEAD_DESCRIPTION="The class header to add any header values can be added."
COM_COMPONENTBUILDER_CLASS_EXTENDS_HEAD_LABEL="Class Header"
COM_COMPONENTBUILDER_CLASS_EXTENDS_ID="Id"
@ -1438,6 +1438,7 @@ COM_COMPONENTBUILDER_CLASS_EXTENDS_NEW="A New Class Extends"
COM_COMPONENTBUILDER_CLASS_EXTENDS_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_CLASS_EXTENDS_PERMISSION="Permissions"
COM_COMPONENTBUILDER_CLASS_EXTENDS_PLUGINS="plugins"
COM_COMPONENTBUILDER_CLASS_EXTENDS_POWERS="powers"
COM_COMPONENTBUILDER_CLASS_EXTENDS_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_CLASS_EXTENDS_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Class Extends to customise the alias."
COM_COMPONENTBUILDER_CLASS_EXTENDS_SELECT_AN_OPTION="Select an option"
@ -1512,8 +1513,8 @@ COM_COMPONENTBUILDER_CLASS_METHOD_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_CLASS_METHOD_DETAILS="Details"
COM_COMPONENTBUILDER_CLASS_METHOD_EDIT="Editing the Class Method"
COM_COMPONENTBUILDER_CLASS_METHOD_ERROR_UNIQUE_ALIAS="Another Class Method has the same alias."
COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_DESCRIPTION="Extension type this class_method belongs to."
COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_LABEL="Extension Type"
COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_DESCRIPTION="The type this class_method belongs to."
COM_COMPONENTBUILDER_CLASS_METHOD_EXTENSION_TYPE_LABEL="Type"
COM_COMPONENTBUILDER_CLASS_METHOD_GUID_DESCRIPTION="Globally Unique Identifier"
COM_COMPONENTBUILDER_CLASS_METHOD_GUID_HINT="Auto Generated"
COM_COMPONENTBUILDER_CLASS_METHOD_GUID_LABEL="GUID"
@ -1532,16 +1533,20 @@ COM_COMPONENTBUILDER_CLASS_METHOD_NEW="A New Class Method"
COM_COMPONENTBUILDER_CLASS_METHOD_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_CLASS_METHOD_PERMISSION="Permissions"
COM_COMPONENTBUILDER_CLASS_METHOD_PLUGINS="plugins"
COM_COMPONENTBUILDER_CLASS_METHOD_POWERS="powers"
COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE="private"
COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE_STATIC="private static"
COM_COMPONENTBUILDER_CLASS_METHOD_PROTECTED="protected"
COM_COMPONENTBUILDER_CLASS_METHOD_PROTECTED_STATIC="protected static"
COM_COMPONENTBUILDER_CLASS_METHOD_PUBLIC="public"
COM_COMPONENTBUILDER_CLASS_METHOD_PUBLIC_STATIC="public static"
COM_COMPONENTBUILDER_CLASS_METHOD_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_CLASS_METHOD_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Class Method to customise the alias."
COM_COMPONENTBUILDER_CLASS_METHOD_SELECT_AN_OPTION="Select an option"
COM_COMPONENTBUILDER_CLASS_METHOD_STATUS="Status"
COM_COMPONENTBUILDER_CLASS_METHOD_VERSION_DESC="A count of the number of times this Class Method has been revised."
COM_COMPONENTBUILDER_CLASS_METHOD_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_DESCRIPTION="The visibility of a function/method or property can be defined by prefixing the declaration with the keywords public, protected or private."
COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_DESCRIPTION="The visibility of a function/method or property can be defined by prefixing the declaration with the keywords public, protected or private. You also have the option to make function/method or property static."
COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_LABEL="Visibility"
COM_COMPONENTBUILDER_CLASS_PROPERTIES="Class Properties"
COM_COMPONENTBUILDER_CLASS_PROPERTIES_ACCESS="Class Properties Access"
@ -1605,13 +1610,13 @@ COM_COMPONENTBUILDER_CLASS_PROPERTY_CREATED_DATE_DESC="The date this Class Prope
COM_COMPONENTBUILDER_CLASS_PROPERTY_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_DESCRIPTION="Enter default value"
COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_HINT="Default Value Here"
COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_LABEL="Default"
COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_LABEL="default"
COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_MESSAGE="Error! Please add default value here."
COM_COMPONENTBUILDER_CLASS_PROPERTY_DETAILS="Details"
COM_COMPONENTBUILDER_CLASS_PROPERTY_EDIT="Editing the Class Property"
COM_COMPONENTBUILDER_CLASS_PROPERTY_ERROR_UNIQUE_ALIAS="Another Class Property has the same alias."
COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_DESCRIPTION="Extension type this class_property belongs to."
COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_LABEL="Extension Type"
COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_DESCRIPTION="The type this class_property belongs to."
COM_COMPONENTBUILDER_CLASS_PROPERTY_EXTENSION_TYPE_LABEL="Type"
COM_COMPONENTBUILDER_CLASS_PROPERTY_GUID_DESCRIPTION="Globally Unique Identifier"
COM_COMPONENTBUILDER_CLASS_PROPERTY_GUID_HINT="Auto Generated"
COM_COMPONENTBUILDER_CLASS_PROPERTY_GUID_LABEL="GUID"
@ -1630,16 +1635,20 @@ COM_COMPONENTBUILDER_CLASS_PROPERTY_NEW="A New Class Property"
COM_COMPONENTBUILDER_CLASS_PROPERTY_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PERMISSION="Permissions"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PLUGINS="plugins"
COM_COMPONENTBUILDER_CLASS_PROPERTY_POWERS="powers"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE="private"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE_STATIC="private static"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PROTECTED="protected"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PROTECTED_STATIC="protected static"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PUBLIC="public"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PUBLIC_STATIC="public static"
COM_COMPONENTBUILDER_CLASS_PROPERTY_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_CLASS_PROPERTY_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Class Property to customise the alias."
COM_COMPONENTBUILDER_CLASS_PROPERTY_SELECT_AN_OPTION="Select an option"
COM_COMPONENTBUILDER_CLASS_PROPERTY_STATUS="Status"
COM_COMPONENTBUILDER_CLASS_PROPERTY_VERSION_DESC="A count of the number of times this Class Property has been revised."
COM_COMPONENTBUILDER_CLASS_PROPERTY_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_DESCRIPTION="The visibility of a function/method or property can be defined by prefixing the declaration with the keywords public, protected or private."
COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_DESCRIPTION="The visibility of a function/method or property can be defined by prefixing the declaration with the keywords public, protected or private. You also have the option to make function/method or property static."
COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_LABEL="Visibility"
COM_COMPONENTBUILDER_CLEAR_TMP="Clear tmp"
COM_COMPONENTBUILDER_CLONE="Clone"
@ -3413,11 +3422,14 @@ COM_COMPONENTBUILDER_CONFIG_GLOBAL="Global"
COM_COMPONENTBUILDER_CONFIG_GLOBAL_DESC="The Global Parameters"
COM_COMPONENTBUILDER_CONFIG_GLOBAL_LABEL="Global"
COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD="Gradient"
COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_DESCRIPTION="Force that all JCB package import (search for local items) is done with GUID value only."
COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_LABEL="Import by GUID only!"
COM_COMPONENTBUILDER_CONFIG_INACTIVE="Inactive"
COM_COMPONENTBUILDER_CONFIG_INSTALL_DESCRIPTION="Component locally"
COM_COMPONENTBUILDER_CONFIG_INSTALL_LABEL="Install"
COM_COMPONENTBUILDER_CONFIG_INTELLIGENT_ADDREMOVEIF="Intelligent (add&remove+if)"
COM_COMPONENTBUILDER_CONFIG_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGES="JCB Packages"
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION="Here you can manage what package directories show in the JCB package import area."
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_LABEL="Directories"
COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL="Language"
@ -5130,8 +5142,6 @@ COM_COMPONENTBUILDER_FILTER_DYNAMIC_GET_ASCENDING="Dynamic Get ascending"
COM_COMPONENTBUILDER_FILTER_DYNAMIC_GET_DESCENDING="Dynamic Get descending"
COM_COMPONENTBUILDER_FILTER_EXTENDS_ASCENDING="Extends ascending"
COM_COMPONENTBUILDER_FILTER_EXTENDS_DESCENDING="Extends descending"
COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_ASCENDING="Extension Type ascending"
COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_DESCENDING="Extension Type descending"
COM_COMPONENTBUILDER_FILTER_FIELDS_CATEGORIES_ASCENDING="Fields Categories ascending"
COM_COMPONENTBUILDER_FILTER_FIELDS_CATEGORIES_DESCENDING="Fields Categories descending"
COM_COMPONENTBUILDER_FILTER_FIELDTYPES_CATEGORIES_ASCENDING="Fieldtypes Categories ascending"
@ -5284,7 +5294,6 @@ COM_COMPONENTBUILDER_FILTER_SELECT_COMPONENT="Select Component"
COM_COMPONENTBUILDER_FILTER_SELECT_DATA_TYPE="Select Data Type"
COM_COMPONENTBUILDER_FILTER_SELECT_DYNAMIC_GET="Select Dynamic Get"
COM_COMPONENTBUILDER_FILTER_SELECT_EXTENDS="Select Extends"
COM_COMPONENTBUILDER_FILTER_SELECT_EXTENSION_TYPE="Select Extension Type"
COM_COMPONENTBUILDER_FILTER_SELECT_FADE_IN_AFFECT="Select Fade In Affect"
COM_COMPONENTBUILDER_FILTER_SELECT_FIELDS_CATEGORIES="Select Fields Categories"
COM_COMPONENTBUILDER_FILTER_SELECT_FIELDTYPES_CATEGORIES="Select Fieldtypes Categories"
@ -5337,6 +5346,7 @@ COM_COMPONENTBUILDER_FOLDER="Folder"
COM_COMPONENTBUILDER_FOLDER_BSB_WAS_MOVED_TO_BSB="Folder <b>%s</b> was moved to <b>%s</b>"
COM_COMPONENTBUILDER_FOLDER_BSB_WAS_NOT_MOVED_TO_BSB="Folder <b>%s</b> was not moved to <b>%s</b>"
COM_COMPONENTBUILDER_FORCE_LOCAL_UPDATE="Force Local Update"
COM_COMPONENTBUILDER_FORCE_THAT_THIS_JCB_PACKAGE_IMPORT_SEARCH_FOR_LOCAL_ITEMS_TO_BE_DONE_WITH_GUID_VALUE_ONLY_IF_BMERGEB_IS_SET_TO_YES_ABOVE="Force that this JCB package import (search for local items) to be done with GUID value only, if <b>Merge</b> is set to yes above."
COM_COMPONENTBUILDER_FREEOPEN="Free/Open"
COM_COMPONENTBUILDER_FULL_WIDTH_IN_TAB="Full Width in Tab"
COM_COMPONENTBUILDER_FUNCTION_NAME_ALREADY_TAKEN_PLEASE_TRY_AGAIN="Function name already taken, please try again."
@ -5493,6 +5503,7 @@ COM_COMPONENTBUILDER_IAUTHORI_BSB="<i>Author:</i> <b>%s</b>"
COM_COMPONENTBUILDER_ICOMPANYI_BSB="<i>Company:</i> <b>%s</b>"
COM_COMPONENTBUILDER_ICON="Icon"
COM_COMPONENTBUILDER_IEMAILI_BSB="<i>Email:</i> <b>%s</b>"
COM_COMPONENTBUILDER_IMPORT_BY_GUID_ONLY="Import by GUID only!"
COM_COMPONENTBUILDER_IMPORT_CONTINUE="Continue"
COM_COMPONENTBUILDER_IMPORT_DATA="Import Data"
COM_COMPONENTBUILDER_IMPORT_DATA_DESC="Allows users in this group to import data."

View File

@ -604,7 +604,7 @@ class ComponentbuilderModelAjax extends JModelList
'before' => array('table' => 'admin_view', 'tables' => 'admin_views', 'id' => 'id', 'name' => 'system_name', 'text' => 'Admin View')
);
protected function checkRepeatableConversion(&$fieldsData, $fieldsArrayType, $id, $linked_id_name)
protected function checkRepeatableConversion($type, &$fieldsData, $fieldsArrayType, $id, $linked_id_name)
{
if (ComponentbuilderHelper::checkJson($fieldsData) && isset($this->conversionCheck[$fieldsArrayType]))
{
@ -624,7 +624,7 @@ class ComponentbuilderModelAjax extends JModelList
$objectUpdate = new stdClass();
$objectUpdate->{$linked_id_name} = (int) $id;
$objectUpdate->{$fieldsArrayType} = $fieldsData;
JFactory::getDbo()->updateObject('#__componentbuilder_'.$type, $objectUpdate, 'admin_view');
JFactory::getDbo()->updateObject('#__componentbuilder_' . $type, $objectUpdate, 'admin_view');
}
}
}
@ -1733,7 +1733,7 @@ class ComponentbuilderModelAjax extends JModelList
// check repeatable conversion
if (method_exists(__CLASS__, 'checkRepeatableConversion'))
{
$this->checkRepeatableConversion($fieldsData, $fieldName, $id, $idName);
$this->checkRepeatableConversion($type, $fieldsData, $fieldName, $id, $idName);
}
// get the table
$table = $this->getSubformTable($type, $fieldsData);
@ -2180,8 +2180,8 @@ class ComponentbuilderModelAjax extends JModelList
{
// reset the buttons bucket
$buttons = array();
// some helper for some fields
$helper = array('xml' => 'note_select_field_type');
// some helper for some fields (I am sorry)
$helper = array('xml' => 'note_filter_information');
// get input
$jinput = JFactory::getApplication()->input;
$return_here = $jinput->get('return_here', null, 'base64');
@ -2235,10 +2235,14 @@ class ComponentbuilderModelAjax extends JModelList
// check if field has string length
if (ComponentbuilderHelper::checkString($value))
{
$buttons[$key] = array();
// see if the field needs some help :)
$_key = (isset($helper[$key])) ? $helper[$key] : $key;
// build the buttons
$buttons[$_key] = array();
if (($button = $this->getButton('custom_code', 3)) && ComponentbuilderHelper::checkString($button))
{
$buttons[$key]['_create'] = $button;
$buttons[$_key]['_create'] = $button;
}
}
}
@ -2248,15 +2252,16 @@ class ComponentbuilderModelAjax extends JModelList
{
foreach ($bucket as $field => $customcodes)
{
$edit_icon = '<span class="icon-edit" aria-hidden="true"></span> ';
// see if the field needs some help :)
if (isset($helper[$field]))
{
$field = $helper[$field];
}
$field = (isset($helper[$field])) ? $helper[$field] : $field;
// set the edit icon
$edit_icon = '<span class="icon-edit" aria-hidden="true"></span> ';
// load the buttons found
foreach ($customcodes as $customcode)
{
// get the customcode name
$key = (array) explode('+', $customcode);
// see if we can get the button
if (!isset($buttons[$field][$key[0]]) && ($_id = ComponentbuilderHelper::getVar('custom_code', $key[0], 'function_name')) !== false
&& ($button = ComponentbuilderHelper::getEditTextButton($edit_icon . $key[0], $_id, 'custom_code', 'custom_codes', $return_here, 'com_componentbuilder', false, 'btn btn-small button-edit" style="margin: 0 0 5px 0;'))
&& ComponentbuilderHelper::checkString($button))
@ -3225,15 +3230,23 @@ class ComponentbuilderModelAjax extends JModelList
{
// first check field type
$_fieldType = ComponentbuilderHelper::getVar('field', $global['a_id'], 'id', 'fieldtype');
// only continue if field type is the same
if ($fieldtype == $_fieldType)
$xmlDB = ComponentbuilderHelper::getVar('field', $global['a_id'], 'id', 'xml');
// check if it is a string
if (ComponentbuilderHelper::checkString($xmlDB))
{
$xmlDB = ComponentbuilderHelper::getVar('field', $global['a_id'], 'id', 'xml');
// check if it is a string
if (ComponentbuilderHelper::checkString($xmlDB))
{
$xml = json_decode($xmlDB);
}
$xml = json_decode($xmlDB);
}
// remove the field type if not the same
if ($xml && $fieldtype != $_fieldType)
{
// unset some stuff
$pattern = array();
$pattern[] = '/type=".+?"/i'; // to force the new type to be set
$pattern[] = '/class=".+?"/i'; // to remove all classes
$pattern[] = '/type_php.+?".+?"/i'; // to remove any PHP code stuff
// also add a special switch to force adding all properties of the new type
$xml = preg_replace($pattern, '..__FORCE_LOAD_ALL_PROPERTIES__..', $xml);
}
}
return $xml;

View File

@ -163,6 +163,7 @@ class ComponentbuilderModelClass_extendings extends JModelList
{
$extension_typeArray = array(
0 => 'COM_COMPONENTBUILDER_CLASS_EXTENDS_SELECT_AN_OPTION',
'powers' => 'COM_COMPONENTBUILDER_CLASS_EXTENDS_POWERS',
'components' => 'COM_COMPONENTBUILDER_CLASS_EXTENDS_COMPONENTS',
'plugins' => 'COM_COMPONENTBUILDER_CLASS_EXTENDS_PLUGINS',
'modules' => 'COM_COMPONENTBUILDER_CLASS_EXTENDS_MODULES'

View File

@ -174,7 +174,10 @@ class ComponentbuilderModelClass_methods extends JModelList
$visibilityArray = array(
'public' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PUBLIC',
'protected' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PROTECTED',
'private' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE'
'private' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE',
'public static' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PUBLIC_STATIC',
'protected static' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PROTECTED_STATIC',
'private static' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE_STATIC'
);
// Now check if value is found in this array
if (isset($visibilityArray[$value]) && ComponentbuilderHelper::checkString($visibilityArray[$value]))
@ -187,6 +190,7 @@ class ComponentbuilderModelClass_methods extends JModelList
{
$extension_typeArray = array(
0 => 'COM_COMPONENTBUILDER_CLASS_METHOD_SELECT_AN_OPTION',
'powers' => 'COM_COMPONENTBUILDER_CLASS_METHOD_POWERS',
'components' => 'COM_COMPONENTBUILDER_CLASS_METHOD_COMPONENTS',
'plugins' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PLUGINS',
'modules' => 'COM_COMPONENTBUILDER_CLASS_METHOD_MODULES'

View File

@ -174,7 +174,10 @@ class ComponentbuilderModelClass_properties extends JModelList
$visibilityArray = array(
'public' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PUBLIC',
'protected' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PROTECTED',
'private' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE'
'private' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE',
'public static' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PUBLIC_STATIC',
'protected static' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PROTECTED_STATIC',
'private static' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE_STATIC'
);
// Now check if value is found in this array
if (isset($visibilityArray[$value]) && ComponentbuilderHelper::checkString($visibilityArray[$value]))
@ -187,6 +190,7 @@ class ComponentbuilderModelClass_properties extends JModelList
{
$extension_typeArray = array(
0 => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_SELECT_AN_OPTION',
'powers' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_POWERS',
'components' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_COMPONENTS',
'plugins' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PLUGINS',
'modules' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_MODULES'

View File

@ -51,7 +51,7 @@ class JFormFieldClassextendingsfilterextensiontype extends JFormFieldList
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_EXTENSION_TYPE') . ' -');
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
if ($results)
{

View File

@ -51,7 +51,7 @@ class JFormFieldClassmethodsfilterextensiontype extends JFormFieldList
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_EXTENSION_TYPE') . ' -');
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
if ($results)
{

View File

@ -51,7 +51,7 @@ class JFormFieldClasspropertiesfilterextensiontype extends JFormFieldList
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_EXTENSION_TYPE') . ' -');
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
if ($results)
{

View File

@ -153,8 +153,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_NAME_MESSAGE"

View File

@ -608,8 +608,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_MESSAGE"
@ -1788,8 +1786,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_CLASS_EXTENDS_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_CLASS_EXTENDS_NAME_MESSAGE"
@ -121,6 +119,8 @@
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_CLASS_EXTENDS_SELECT_AN_OPTION</option>
<option value="powers">
COM_COMPONENTBUILDER_CLASS_EXTENDS_POWERS</option>
<option value="components">
COM_COMPONENTBUILDER_CLASS_EXTENDS_COMPONENTS</option>
<option value="plugins">

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_CLASS_METHOD_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_CLASS_METHOD_NAME_MESSAGE"
@ -117,7 +115,7 @@
description="COM_COMPONENTBUILDER_CLASS_METHOD_VISIBILITY_DESCRIPTION"
class="list_class"
multiple="false"
filter="WORD"
filter="STRING"
required="true">
<!-- Option Set. -->
<option value="public">
@ -126,6 +124,12 @@
COM_COMPONENTBUILDER_CLASS_METHOD_PROTECTED</option>
<option value="private">
COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE</option>
<option value="public static">
COM_COMPONENTBUILDER_CLASS_METHOD_PUBLIC_STATIC</option>
<option value="protected static">
COM_COMPONENTBUILDER_CLASS_METHOD_PROTECTED_STATIC</option>
<option value="private static">
COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE_STATIC</option>
</field>
<!-- Extension_type Field. Type: List. (joomla) -->
<field
@ -139,6 +143,8 @@
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_CLASS_METHOD_SELECT_AN_OPTION</option>
<option value="powers">
COM_COMPONENTBUILDER_CLASS_METHOD_POWERS</option>
<option value="components">
COM_COMPONENTBUILDER_CLASS_METHOD_COMPONENTS</option>
<option value="plugins">

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_CLASS_PROPERTY_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_CLASS_PROPERTY_NAME_MESSAGE"
@ -117,7 +115,7 @@
description="COM_COMPONENTBUILDER_CLASS_PROPERTY_VISIBILITY_DESCRIPTION"
class="list_class"
multiple="false"
filter="WORD"
filter="STRING"
required="true">
<!-- Option Set. -->
<option value="public">
@ -126,6 +124,12 @@
COM_COMPONENTBUILDER_CLASS_PROPERTY_PROTECTED</option>
<option value="private">
COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE</option>
<option value="public static">
COM_COMPONENTBUILDER_CLASS_PROPERTY_PUBLIC_STATIC</option>
<option value="protected static">
COM_COMPONENTBUILDER_CLASS_PROPERTY_PROTECTED_STATIC</option>
<option value="private static">
COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE_STATIC</option>
</field>
<!-- Extension_type Field. Type: List. (joomla) -->
<field
@ -139,6 +143,8 @@
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_CLASS_PROPERTY_SELECT_AN_OPTION</option>
<option value="powers">
COM_COMPONENTBUILDER_CLASS_PROPERTY_POWERS</option>
<option value="components">
COM_COMPONENTBUILDER_CLASS_PROPERTY_COMPONENTS</option>
<option value="plugins">
@ -184,17 +190,17 @@
required="true"
button="true"
/>
<!-- Default Field. Type: Text. (joomla) -->
<!-- Default Field. Type: Textarea. (joomla) -->
<field
type="text"
type="textarea"
name="default"
label="COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_LABEL"
size="240"
maxlength="350"
rows="1"
cols="5"
description="COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_DESCRIPTION"
message="COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_MESSAGE"
class="text_area span12"
filter="STRING"
message="COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_MESSAGE"
hint="COM_COMPONENTBUILDER_CLASS_PROPERTY_DEFAULT_HINT"
/>
</fieldset>

View File

@ -125,8 +125,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_NAME_MESSAGE"

View File

@ -139,8 +139,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_NAME_MESSAGE"

View File

@ -116,8 +116,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NAME_MESSAGE"
@ -1120,8 +1118,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_DYNAMIC_GET_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_FIELD_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_FIELD_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_FIELDTYPE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_FIELDTYPE_NAME_MESSAGE"
@ -324,8 +322,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_FIELDTYPE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_FIELDTYPE_NAME_MESSAGE"

View File

@ -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="a.extension_type ASC">COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_ASCENDING</option>
<option value="a.extension_type DESC">COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_DESCENDING</option>
<option value="a.extension_type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
<option value="a.extension_type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
</field>

View File

@ -66,8 +66,8 @@
<option value="a.name DESC">COM_COMPONENTBUILDER_FILTER_NAME_DESCENDING</option>
<option value="a.visibility ASC">COM_COMPONENTBUILDER_FILTER_VISIBILITY_ASCENDING</option>
<option value="a.visibility DESC">COM_COMPONENTBUILDER_FILTER_VISIBILITY_DESCENDING</option>
<option value="a.extension_type ASC">COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_ASCENDING</option>
<option value="a.extension_type DESC">COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_DESCENDING</option>
<option value="a.extension_type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
<option value="a.extension_type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
</field>

View File

@ -66,8 +66,8 @@
<option value="a.name DESC">COM_COMPONENTBUILDER_FILTER_NAME_DESCENDING</option>
<option value="a.visibility ASC">COM_COMPONENTBUILDER_FILTER_VISIBILITY_ASCENDING</option>
<option value="a.visibility DESC">COM_COMPONENTBUILDER_FILTER_VISIBILITY_DESCENDING</option>
<option value="a.extension_type ASC">COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_ASCENDING</option>
<option value="a.extension_type DESC">COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_DESCENDING</option>
<option value="a.extension_type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
<option value="a.extension_type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
</field>

View File

@ -1202,8 +1202,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_MESSAGE"

View File

@ -832,8 +832,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_MESSAGE"

View File

@ -799,8 +799,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_LANGUAGE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_LANGUAGE_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_LAYOUT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_LAYOUT_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_LIBRARY_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_LIBRARY_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_SERVER_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_SERVER_NAME_MESSAGE"

View File

@ -116,8 +116,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_SITE_VIEW_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_SITE_VIEW_NAME_MESSAGE"
@ -1139,8 +1137,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_SITE_VIEW_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_SITE_VIEW_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_SNIPPET_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_SNIPPET_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_SNIPPET_TYPE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_SNIPPET_TYPE_NAME_MESSAGE"

View File

@ -102,8 +102,6 @@
maxlength="150"
description="COM_COMPONENTBUILDER_TEMPLATE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_TEMPLATE_NAME_MESSAGE"

View File

@ -72,6 +72,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
public $canmerge = 1;
public $importGuidOnly = 1;
public $postfix = false;
public $forceUpdate = 0;
public $hasKey = 0;
@ -224,6 +225,8 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
$this->moreInfo = $this->app->input->getInt('more_info', 0);
// allow merge
$this->canmerge = $this->app->input->getInt('canmerge', 1);
// forch GUID only search
$this->importGuidOnly = $this->app->input->getInt('import_guid_only', 0);
// has a key
$this->hasKey = $this->app->input->getInt('haskey', 0);
// die sleutle
@ -2671,6 +2674,20 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
$query->from($this->_db->quoteName('#__componentbuilder_' . $type, 'a'));
// only run query if where is set
$runQuery = false;
// we first try to get the item by GUID
if ($get == 1 && isset($item->guid))
{
if (($item = ComponentbuilderHelper::getGUID($item->guid, $type, 'a.*')) !== false)
{
return $item;
}
// check if we should continue the search
elseif ($this->importGuidOnly == 1)
{
return false;
}
}
// continue search
if ($get == 1 && isset($item->created) && isset($item->id) && (isset($item->name) || isset($item->system_name)))
{
// to prefent crazy mismatch with old IDs (I know very weired)

View File

@ -111,7 +111,7 @@ class ComponentbuilderModelJoomla_plugins extends JModelList
// extract the boilerplate class comment
$class['comment'] = ComponentbuilderHelper::extractBoilerplateClassComment($fooClass, $classExtends, 'plugins');
// set the extension type
$class['extension_type'] = 'plugins';
$class['target_type'] = 'plugins';
// store the class
$this->storePluginBoilerplate($tables['e'], $models['e'], $class, $app);
// work around

View File

@ -800,7 +800,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_class_property` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`comment` TEXT NOT NULL,
`default` VARCHAR(255) NOT NULL DEFAULT '',
`default` TEXT NOT NULL,
`extension_type` VARCHAR(64) NOT NULL DEFAULT '',
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`joomla_plugin_group` INT(11) NOT NULL DEFAULT 0,
@ -2124,7 +2124,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
(100, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Email (required)', 'NOT NULL', '', 24, '\"<field \\r\\n\\ttype=\\\"text\\\" \\r\\n\\tname=\\\"email\\\" \\r\\n\\tlabel=\\\"Email\\\" \\r\\n\\tsize=\\\"10\\\" \\r\\n\\tmaxlength=\\\"50\\\" \\r\\n\\tdescription=\\\"Enter Email\\\" \\r\\n\\tclass=\\\"text_area\\\"\\r\\n\\tfilter=\\\"STRING\\\" \\r\\n\\tvalidate=\\\"email\\\" \\r\\n\\trequired=\\\"true\\\"\\r\\n\\tmessage=\\\"Error! Please add email address here.\\\" \\r\\n\\thint=\\\"demo@example.com\\\" \\r\\n\\/>\"', 1, '2015-05-05 23:44:32', '2016-02-07 22:43:18', 4, '', 285, '10c1eccb-b3c3-4325-a056-45a72d116fd8'),
(158, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Image', 'NOT NULL', '', 12, '\"<field\\n\\ttype=\\\"media\\\"\\n\\tname=\\\"image\\\"\\n\\tlabel=\\\"Image\\\"\\n\\/>\"', 1, '2015-04-29 14:00:56', '2020-06-07 02:17:46', 2, '', 45, '0d6970af-b361-4f65-84f6-0eb0c5f09bad'),
(196, '', '', '', '', '', '', '', '', 64, '', 'VARCHAR', '', '', '', 'Mobile Phone', 'NOT NULL', '', 23, '\"<field type=\\\"text\\\" \\r\\nname=\\\"mobile_phone\\\" \\r\\nlabel=\\\"Mobile Phone\\\" \\r\\nsize=\\\"10\\\" \\r\\nmaxlength=\\\"50\\\" \\r\\ndefault=\\\"\\\" \\r\\ndescription=\\\"Enter Mobile Phone Number\\\" \\r\\nclass=\\\"text_area\\\" \\r\\nfilter=\\\"STRING\\\" \\r\\nvalidated=\\\"tel\\\" \\r\\nrequired=\\\"true\\\" \\r\\nmessage=\\\"Error! Please add mobile phone number here.\\\" \\r\\nhint=\\\"Mobile Phone Here\\\" \\/>\"', 1, '2015-04-07 22:12:58', '2016-03-28 14:00:02', 2, '', 7, '65933a19-243a-48b2-aae9-34e2da710051'),
(199, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', 2, '', '', 'Name (required)', 'NOT NULL', '', 24, '\"<field\\n\\ttype=\\\"text\\\"\\n\\tname=\\\"name\\\"\\n\\tlabel=\\\"Name\\\"\\n\\tsize=\\\"40\\\"\\n\\tmaxlength=\\\"150\\\"\\n\\tdescription=\\\"Enter Name Here\\\"\\n\\tclass=\\\"text_area\\\"\\n\\treadonly=\\\"false\\\"\\n\\tdisabled=\\\"false\\\"\\n\\trequired=\\\"true\\\"\\n\\tfilter=\\\"STRING\\\"\\n\\tmessage=\\\"Error! Please add name here.\\\"\\n\\thint=\\\"Name Here\\\"\\n\\/>\"', 1, '2015-03-19 17:30:59', '2020-06-01 23:44:08', 9, '', 4, '5d3d34dd-4876-4c6a-86ab-b4e162f22c08'),
(199, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', 2, '', '', 'Name (required)', 'NOT NULL', '', 24, '\"<field\\n\\ttype=\\\"text\\\"\\n\\tname=\\\"name\\\"\\n\\tlabel=\\\"Name\\\"\\n\\tsize=\\\"40\\\"\\n\\tmaxlength=\\\"150\\\"\\n\\tdescription=\\\"Enter Name Here\\\"\\n\\tclass=\\\"text_area\\\"\\n\\trequired=\\\"true\\\"\\n\\tfilter=\\\"STRING\\\"\\n\\tmessage=\\\"Error! Please add name here.\\\"\\n\\thint=\\\"Name Here\\\"\\n\\/>\"', 1, '2015-03-19 17:30:59', '2021-08-05 08:42:17', 10, '', 4, '5d3d34dd-4876-4c6a-86ab-b4e162f22c08'),
(203, '', '', '', '', '', '', '', '', 1, '', 'INT', '', '', '', 'Not Required', 'NOT NULL', '', 9, '\"<field\\n\\ttype=\\\"hidden\\\"\\n\\tname=\\\"not_required\\\"\\n\\tdefault=\\\"\\u4e00_\\u4e00\\\"\\n\\/>\"', 1, '2015-05-08 16:19:16', '2020-02-27 20:17:33', 13, '', 19, 'da5e6901-6958-40e5-a4f5-6822d6fe57ac'),
(280, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Website', 'NOT NULL', '', 27, '\"<field\\n\\ttype=\\\"url\\\"\\n\\tname=\\\"website\\\"\\n\\tlabel=\\\"Website\\\"\\n\\tsize=\\\"60\\\"\\n\\tmaxlength=\\\"150\\\"\\n\\tdescription=\\\"Enter website address\\\"\\n\\tclass=\\\"text_area\\\"\\n\\tfilter=\\\"url\\\"\\n\\tvalidated=\\\"url\\\"\\n\\tmessage=\\\"Error! Please add website here.\\\"\\n\\thint=\\\"http:\\/\\/www.example.com\\\"\\n\\tscheme=\\\"http,https\\\"\\n\\/>\"', 1, '2015-04-08 00:36:16', '2018-07-08 00:11:05', 2, '', 105, '6c3a6983-d1bf-4e5e-9e99-deea00b0cefd'),
(682, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add More', 'NOT NULL', '', 17, '\"<field \\r\\n\\ttype=\\\"radio\\\" \\r\\n\\tname=\\\"add\\\" \\r\\n\\tlabel=\\\"Add More\\\" \\r\\n\\tdescription=\\\"\\\" \\r\\n\\tclass=\\\"btn-group btn-group-yesno\\\" \\r\\n\\toption=\\\"1|Yes,0|No\\\" \\r\\n\\tdefault=\\\"0\\\" \\r\\n\\trequired=\\\"true\\\" \\r\\n\\/>\"', 1, '2015-08-05 01:18:20', '2018-03-30 09:30:45', 4, '', 196, 'a66389aa-2323-4f44-8c23-ff44969639be'),

View File

@ -0,0 +1 @@
ALTER TABLE `#__componentbuilder_class_property` CHANGE `default` `default` TEXT NOT NULL;

View File

@ -248,6 +248,31 @@ class ComponentbuilderViewImport_joomla_components extends JViewLegacy
$merge->setup($mergeXML,1);
// add to form
$form[] = $merge;
// get the import_guid_only radio field
$import_guid_only = JFormHelper::loadFieldType('radio',true);
// start import_guid_only xml
$import_guid_onlyXML = new SimpleXMLElement('<field/>');
// import_guid_only attributes
$import_guid_onlyAttributes = array(
'type' => 'radio',
'name' => 'import_guid_only',
'label' => 'COM_COMPONENTBUILDER_IMPORT_BY_GUID_ONLY',
'class' => 'btn-group btn-group-yesno',
'description' => 'COM_COMPONENTBUILDER_FORCE_THAT_THIS_JCB_PACKAGE_IMPORT_SEARCH_FOR_LOCAL_ITEMS_TO_BE_DONE_WITH_GUID_VALUE_ONLY_IF_BMERGEB_IS_SET_TO_YES_ABOVE',
'default' => '1');
// load the import_guid_only attributes
ComponentbuilderHelper::xmlAddAttributes($import_guid_onlyXML, $import_guid_onlyAttributes);
// set the import_guid_only options
$import_guid_onlyOptions = array(
'1' => 'COM_COMPONENTBUILDER_YES',
'0' => 'COM_COMPONENTBUILDER_NO');
// load the import_guid_only options
ComponentbuilderHelper::xmlAddOptions($import_guid_onlyXML, $import_guid_onlyOptions);
// setup the import_guid_only radio field
$import_guid_only->setup($import_guid_onlyXML, $this->params->get('import_guid_only', 0));
// add to form
$form[] = $import_guid_only;
if (!$this->packageInfo || ComponentbuilderHelper::getPackageComponentsKeyStatus($this->packageInfo))
{

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2" method="upgrade">
<name>COM_COMPONENTBUILDER</name>
<creationDate>14th June, 2021</creationDate>
<creationDate>11th August, 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.10</version>
<version>2.12.11</version>
<description><![CDATA[
<h1>Component Builder (v.2.12.10)</h1>
<h1>Component Builder (v.2.12.11)</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.

View File

@ -1036,4 +1036,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.11</version>
<infourl title="Component Builder!">http://www.joomlacomponentbuilder.com</infourl>
<downloads>
<downloadurl type="full" format="zip">http://domain.com/demo.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>

View File

@ -6614,7 +6614,7 @@ class com_componentbuilderInstallerScript
$query = $db->getQuery(true);
// Field to update.
$fields = array(
$db->quoteName('params') . ' = ' . $db->quote('{"autorName":"Llewellyn van der Merwe","autorEmail":"llewellyn@joomlacomponentbuilder.com","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","builder_gif_size":"480-272","add_menu_prefix":"1","menu_prefix":"»","minify":"0","language":"en-GB","percentagelanguageadd":"50","export_language_strings":"1","assets_table_fix":"1","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","development_method":"1","expansion":"0","return_options_build":"2","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","uikit_load":"1","uikit_min":"","uikit_style":""}'),
$db->quoteName('params') . ' = ' . $db->quote('{"autorName":"Llewellyn van der Merwe","autorEmail":"llewellyn@joomlacomponentbuilder.com","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","builder_gif_size":"480-272","add_menu_prefix":"1","menu_prefix":"»","minify":"0","language":"en-GB","percentagelanguageadd":"50","assets_table_fix":"1","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","import_guid_only":"1","export_language_strings":"1","development_method":"1","expansion":"0","return_options_build":"2","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","uikit_load":"1","uikit_min":"","uikit_style":""}'),
);
// Condition.
$conditions = array(
@ -9252,7 +9252,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.10 Was Successful! Let us know if anything is not working as expected.</h3>';
<h3>Upgrade to Version 2.12.11 Was Successful! Let us know if anything is not working as expected.</h3>';
// Set db if not set already.
if (!isset($db))

View File

@ -2302,6 +2302,57 @@ abstract class ComponentbuilderHelper
return false;
}
/**
* get the ITEM of a GUID by table
*
* @param string $guid
* @param string $table
* @param string/array $what
*
* @return mix
*/
public static function getGUID ($guid, $table, $what = 'a.id')
{
// check if we have a string
if (self::validateGUID($guid))
{
// check if table already has this identifier
if (self::checkString($table))
{
// Get the database object and a new query object.
$db = \JFactory::getDbo();
$query = $db->getQuery(true);
if (self::checkArray($what))
{
$query->select($db->quoteName($what));
}
else
{
$query->select($what);
}
$query->from($db->quoteName('#__componentbuilder_' . (string) $table, 'a'))
->where($db->quoteName('a.guid') . ' = ' . $db->quote($guid));
// Set and query the database.
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
if (self::checkArray($what) || $what === 'a.*')
{
return $db->loadObject();
}
else
{
return $db->loadResult();
}
}
}
}
return false;
}
/**
* Validate the Globally Unique Identifier
*
@ -2420,7 +2471,7 @@ abstract class ComponentbuilderHelper
* @return array on success
*
*/
public static function getFieldTypeProperties($value, $type, $settings = array(), $xml = null, $db_defaults = false)
public static function getFieldTypeProperties($value, $type, $settings = array(), $xml = null, $dbDefaults = false)
{
// Get a db connection.
$db = JFactory::getDbo();
@ -2429,7 +2480,7 @@ abstract class ComponentbuilderHelper
$query = $db->getQuery(true);
$query->select($db->quoteName(array('properties', 'short_description', 'description')));
// load database default values
if ($db_defaults)
if ($dbDefaults)
{
$query->select($db->quoteName(array('datadefault', 'datadefault_other', 'datalenght', 'datalenght_other', 'datatype', 'has_defaults', 'indexes', 'null_switch', 'store')));
}
@ -2456,6 +2507,12 @@ abstract class ComponentbuilderHelper
$nr = 0;
// php tracker (we must try to load alteast 17 rows
$phpTracker = array();
// force load all properties
$forceAll = false;
if ($xml && strpos($xml, '..__FORCE_LOAD_ALL_PROPERTIES__..') !== false)
{
$forceAll = true;
}
// value to check since there are false and null values even 0 in the values returned
$confirmation = '8qvZHoyuFYQqpj0YQbc6F3o5DhBlmS-_-a8pmCZfOVSfANjkmV5LG8pCdAY2JNYu6cB';
// set the headers
@ -2501,7 +2558,7 @@ abstract class ComponentbuilderHelper
$field['subform']['properties'.$nr] = array('name' => $property['name'], 'value' => $settings[$property['name']], 'desc' => $property['description']);
}
}
elseif (!$xml || $confirmation !== $value)
elseif ($forceAll || !$xml || $confirmation !== $value)
{
// add the xml values
$field['values'] .= PHP_EOL."\t" . $property['name'] . '="' . ($confirmation !== $value) ? $value : $example .'" ';

View File

@ -51,7 +51,7 @@ class ComponentbuilderRouter extends JComponentRouterBase
{
$view = $query['view'];
if (empty($query['Itemid']))
if (empty($query['Itemid']) && !(isset($view) && isset($query['id']) && ($view === 'api')))
{
$segments[] = $query['view'];
}