Resolved gh-341 that adds the feature to expand the custom field option far beyond the default. Moved the menu prefix option in to the Joomla component area -> tab -> Settings to allow each component to override the global setting.

This commit is contained in:
Llewellyn van der Merwe 2018-09-24 16:37:51 +02:00
parent e71ba204ca
commit 6ad253be44
No known key found for this signature in database
GPG Key ID: CAD7B16D27AF28C5
57 changed files with 1324 additions and 813 deletions

View File

@ -9,7 +9,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 safe 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.9.1) 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.9.3) 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)
@ -125,13 +125,13 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *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*: 20th September, 2018
+ *Version*: 2.9.1
+ *Last Build*: 24th September, 2018
+ *Version*: 2.9.3
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **193777**
+ *Field count*: **1081**
+ *File count*: **1273**
+ *Line count*: **194162**
+ *Field count*: **1084**
+ *File count*: **1274**
+ *Folder count*: **201**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).

View File

@ -9,7 +9,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 safe 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.9.1) 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.9.3) 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)
@ -125,13 +125,13 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *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*: 20th September, 2018
+ *Version*: 2.9.1
+ *Last Build*: 24th September, 2018
+ *Version*: 2.9.3
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **193777**
+ *Field count*: **1081**
+ *File count*: **1273**
+ *Line count*: **194162**
+ *Field count*: **1084**
+ *File count*: **1274**
+ *Folder count*: **201**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).

View File

@ -224,16 +224,16 @@
<action name="fieldtype.dashboard_add" title="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD_DESC" />
<action name="fieldtype.dashboard_list" title="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC" />
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
<action name="fieldtype..description" title="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC" />
<action name="fieldtype.edit" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC" />
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
<action name="fieldtype.edit.own" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC" />
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.state" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC" />
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
<action name="fieldtype.export" title="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC" />
<action name="fieldtype.import" title="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC" />
<action name="fieldtype..name" title="COM_COMPONENTBUILDER_FIELDTYPES_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC" />
<action name="fieldtype..properties" title="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC" />
<action name="fieldtype..short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.submenu" title="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU" description="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC" />
<action name="get_snippets.access" title="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC" />
<action name="get_snippets.custom_admin_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC" />
@ -522,10 +522,10 @@
<action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" />
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
<action name="fieldtype..name" title="COM_COMPONENTBUILDER_FIELDTYPES_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC" />
<action name="fieldtype..properties" title="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC" />
<action name="fieldtype..description" title="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC" />
<action name="fieldtype..short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
</section>
<section name="language_translation">

View File

@ -0,0 +1,35 @@
<?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 - 2018 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');
?>
###BOM###
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('###JFORM_extends###');
/**
* ###Type### Form Field class for the ###Component### component
*/
class JFormField###Type### extends JFormField###JFORM_EXTENDS###
{
/**
* The ###type### field type.
*
* @var string
*/
public $type = '###type###';###JFORM_TYPE_PHP###
}

View File

@ -400,6 +400,11 @@
"rename": "layoutmetadata",
"type": "layoutmetadata"
},
"JFormFieldCustom.php": {
"path": "c0mp0n3nt/admin/models/fields",
"rename": "JFormFieldCustom",
"type": "fieldcustom"
},
"JFormFieldList.php": {
"path": "c0mp0n3nt/admin/models/fields",
"rename": "JFormFieldList",

View File

@ -86,6 +86,7 @@
description="COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION"
class="list_class"
multiple="true"
default=""
showon="manage_jcb_package_directories:1">
<!-- Option Set. -->
<option value="vdm">
@ -116,7 +117,7 @@
label="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_LABEL"
size="30"
maxlength="30"
default="&#187;"
default="&amp;#187;"
description="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_DESCRIPTION"
class="text_area"
filter="SAFEHTML"
@ -741,6 +742,7 @@
name="placeholders"
label="COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_DESCRIPTION"
class="inputbox"
@ -804,6 +806,7 @@
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -861,6 +864,7 @@
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -879,6 +883,7 @@
label="COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -897,6 +902,7 @@
label="COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -915,6 +921,7 @@
label="COM_COMPONENTBUILDER_CONFIG_GIT_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_GIT_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -983,6 +990,7 @@
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_DESCRIPTION"
class="text_area"
required="true"

View File

@ -2635,46 +2635,56 @@ class Get
{
return $field['type_name'];
}
// set the type name
$type_name = ComponentbuilderHelper::safeString($field['settings']->type_name);
// check that we have the poperties
if (ComponentbuilderHelper::checkArray($field['settings']->properties))
{
foreach ($field['settings']->properties as $property)
{
if ($property['name'] === 'type')
// search for own custom fields
if (strpos($field['settings']->type_name, '@') !== false)
{
// set own custom field
$field['own_custom'] = $field['settings']->type_name;
$field['settings']->type_name = 'Custom';
}
// set the type name
$type_name = ComponentbuilderHelper::safeString($field['settings']->type_name);
// if custom (we must use the xml value)
if ($type_name === 'custom' || $type_name === 'customuser')
{
$type = ComponentbuilderHelper::safeString(ComponentbuilderHelper::getBetween($field['settings']->xml, 'type="', '"'));
}
// use field core type (name)
elseif (ComponentbuilderHelper::checkString($type_name) || (isset($property['example']) && ComponentbuilderHelper::checkString($property['example']) && $property['adjustable'] == 0))
else
{
// loop over properties looking for the type value
foreach ($field['settings']->properties as $property)
{
if ($property['name'] === 'type') // type field is never ajustable (unless custom)
{
// force the default value
if (isset($property['example']) && ComponentbuilderHelper::checkString($property['example']))
{
$type = ComponentbuilderHelper::safeString($property['example']);
}
// fallback on type name set in name field
elseif (ComponentbuilderHelper::checkString($type_name))
{
$type = $type_name;
}
// make sure none adjustable fields are set (should be same as above) (TODO) hmmm we need look at this again
elseif (isset($property['example']) && ComponentbuilderHelper::checkString($property['example']) && $property['adjustable'] == 0)
{
$type = $property['example'];
}
// fall back on the xml settings (not ideal)
else
{
$type = ComponentbuilderHelper::safeString(ComponentbuilderHelper::getBetween($xml, 'type="', '"'));
}
// exit foreach loop
break;
}
}
}
// check if the value is set
if (ComponentbuilderHelper::checkString($type))
{
// add the value
return $type;
}
// exit foreach loop
break;
}
}
}
// fall back to text
return 'text';

View File

@ -2051,6 +2051,11 @@ class Fields extends Structure
if (!ComponentbuilderHelper::fieldCheck($typeName))
{
$fieldAttributes['custom'] = array();
// is this an own custom field
if (isset($field['own_custom']))
{
$fieldAttributes['custom']['own_custom'] = $field['own_custom'];
}
$setCustom = true;
}
// setup a default field
@ -2093,19 +2098,18 @@ class Fields extends Structure
// replace the placeholders
$xmlValue = $this->setPlaceholders($xmlValue, $placeholders);
}
elseif (strpos($property['name'], 'type_php_') !== false && $setCustom)
// catch all PHP here
elseif (strpos($property['name'], 'type_php') !== false && $setCustom)
{
// set the line number
$phpLine = (int) str_replace('type_php_', '', $property['name']);
$phpLine = (int) preg_replace('/[^0-9]/', '', $property['name']);
// set the type key
$phpKey = (string) trim( str_replace('type_', '', preg_replace('/[0-9]+/', '', $property['name'])), '_');
// load the php for the custom field file
$fieldAttributes['custom']['php'][$phpLine] = ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"');
}
elseif (strpos($property['name'], 'type_phpx_') !== false && $setCustom)
{
// set the line number
$phpLine = (int) str_replace('type_phpx_', '', $property['name']);
// load the php for the custom field file
$fieldAttributes['custom']['phpx'][$phpLine] = ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"');
$fieldAttributes['custom'][$phpKey][$phpLine] =
$this->setDynamicValues(ComponentbuilderHelper::openValidBase64(
ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"')
));
}
elseif ($property['name'] === 'prime_php' && $setCustom)
{
@ -2286,6 +2290,12 @@ class Fields extends Structure
// now set the value
$fieldAttributes[$property['name']] = $xmlValue;
}
// validate that the default field is set
elseif ($property['name'] === 'default' && ($xmlValidateValue = ComponentbuilderHelper::getBetween($field['settings']->xml, 'default="', '"', 'none-set')) !== 'none-set')
{
// we must allow empty defaults
$fieldAttributes['default'] = $xmlValue;
}
}
// do some nice twigs beyond the default
if (isset($fieldAttributes['name']))
@ -2730,35 +2740,91 @@ class Fields extends Structure
public function setCustomFieldTypeFile($data, $view_name_list, $view_name_single)
{
// make sure it is not already been build or if it is prime
if ((isset($data['custom']['prime_php']) && $data['custom']['prime_php'] == 1) || !isset($this->fileContentDynamic['customfield_' . $data['type']]) || !ComponentbuilderHelper::checkArray($this->fileContentDynamic['customfield_' . $data['type']]))
if (isset($data['custom']) && isset($data['custom']['extends']) && ((isset($data['custom']['prime_php']) && $data['custom']['prime_php'] == 1) || !isset($this->fileContentDynamic['customfield_' . $data['type']]) || !ComponentbuilderHelper::checkArray($this->fileContentDynamic['customfield_' . $data['type']])))
{
// first build the custom field type file
$target = array('admin' => 'customfield');
$this->buildDynamique($target, 'field' . $data['custom']['extends'], $data['custom']['type']);
// set tab and break replacements
$tabBreak = array(
'\t' => $this->_t(1),
'\n' => PHP_EOL
);
// make field dynamic
// set the [[[PLACEHOLDER]]] options
$replace = array(
$this->hhh . 'TABLE' . $this->hhh => $data['custom']['table'],
$this->hhh . 'ID' . $this->hhh => $data['custom']['id'],
$this->hhh . 'TEXT' . $this->hhh => $data['custom']['text'],
$this->hhh . 'CODE_TEXT' . $this->hhh => $data['code'] . '_' . $data['custom']['text'],
$this->hhh . 'CODE' . $this->hhh => $data['code'],
$this->hhh . 'component' . $this->hhh => $this->fileContentStatic[$this->hhh . 'component' . $this->hhh],
$this->hhh . 'Component' . $this->hhh => $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh],
$this->hhh . 'view_type' . $this->hhh => $view_name_single . '_' . $data['type'],
$this->hhh . 'type' . $this->hhh => $data['type'],
$this->hhh . 'view' . $this->hhh => $view_name_single,
$this->hhh . 'views' . $this->hhh => $view_name_list
$this->bbb . 'TABLE' . $this->ddd => $data['custom']['table'],
$this->bbb . 'ID' . $this->ddd => $data['custom']['id'],
$this->bbb . 'TEXT' . $this->ddd => $data['custom']['text'],
$this->bbb . 'CODE_TEXT' . $this->ddd => $data['code'] . '_' . $data['custom']['text'],
$this->bbb . 'CODE' . $this->ddd => $data['code'],
$this->bbb . 'view_type' . $this->ddd => $view_name_single . '_' . $data['type'],
$this->bbb . 'type' . $this->ddd => $data['type'],
$this->bbb . 'com_component' . $this->ddd => (isset($data['custom']['component']) && ComponentbuilderHelper::checkString($data['custom']['component'])) ? ComponentbuilderHelper::safeString($data['custom']['component']) : 'com_' . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh],
// set the generic values
$this->bbb . 'component' . $this->ddd => $this->fileContentStatic[$this->hhh . 'component' . $this->hhh],
$this->bbb . 'Component' . $this->ddd => $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh],
$this->bbb . 'view' . $this->ddd => (isset($data['custom']['view']) && ComponentbuilderHelper::checkString($data['custom']['view'])) ? ComponentbuilderHelper::safeString($data['custom']['view']) : $view_name_single,
$this->bbb . 'views' . $this->ddd => (isset($data['custom']['views']) && ComponentbuilderHelper::checkString($data['custom']['views'])) ? ComponentbuilderHelper::safeString($data['custom']['views']) : $view_name_list
);
// now set the ###PLACEHOLDER### options
foreach ($replace as $replacekey => $replacevalue)
{
// update the key value
$replacekey = str_replace(array($this->bbb, $this->ddd), array($this->hhh, $this->hhh), $replacekey);
// now set the value
$replace[$replacekey] = $replacevalue;
}
// start loading the field type
$this->fileContentDynamic['customfield_' . $data['type']] = array();
// Type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'Type' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['type'], 'F');
// type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'type' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['type']);
// is this a own custom field
if (isset($data['custom']['own_custom']))
{
// make sure the button option notice is set to notify the developer that the button option is not available in own custom field types
if (isset($data['custom']['add_button']) && ($data['custom']['add_button'] === 'true' || 1 == $data['custom']['add_button']))
{
// set notice
$this->app->enqueueMessage(JText::_('The option to add a dynamic button is not available in <b>own custom field types</b>, you will have to custom code it.'), 'error');
}
// load another file
$target = array('admin' => 'customfield');
$this->buildDynamique($target, 'fieldcustom', $data['custom']['type']);
// JFORM_extens <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_extends' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['extends']);
// JFORM_EXTENDS <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_EXTENDS' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['extends'], 'F');
// JFORM_TYPE_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_TYPE_PHP' . $this->hhh] = PHP_EOL . PHP_EOL . $this->_t(1) . "//" . $this->setLine(__LINE__) . " A " . $data['custom']['own_custom'] . " Field";
// load the other PHP options
foreach (ComponentbuilderHelper::$phpFieldArray as $x)
{
// reset the php bucket
$phpBucket = '';
// only set if avaliable
if (isset($data['custom']['php' . $x]) && ComponentbuilderHelper::checkArray($data['custom']['php' . $x]))
{
foreach ($data['custom']['php' . $x] as $line => $code)
{
if (ComponentbuilderHelper::checkString($code))
{
$phpBucket .= PHP_EOL . $this->setPlaceholders($code, $tabBreak);
}
}
// JFORM_TYPE_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_TYPE_PHP' . $this->hhh] .= PHP_EOL . $this->setPlaceholders($phpBucket, $replace);
}
}
}
else
{
// first build the custom field type file
$target = array('admin' => 'customfield');
$this->buildDynamique($target, 'field' . $data['custom']['extends'], $data['custom']['type']);
// make sure the value is reset
$phpCode = '';
// now load the php script
if (isset($data['custom']['php']) && ComponentbuilderHelper::checkArray($data['custom']['php']))
{
// make sure the ar is reset
$phpCode = '';
foreach ($data['custom']['php'] as $line => $code)
{
if (ComponentbuilderHelper::checkString($code))
@ -2776,10 +2842,6 @@ class Fields extends Structure
// replace the placholders
$phpCode = $this->setPlaceholders($phpCode, $replace);
}
else
{
$phpCode = 'return null;';
}
// catch empty stuff
if (!ComponentbuilderHelper::checkString($phpCode))
{
@ -2788,11 +2850,11 @@ class Fields extends Structure
// some house cleaning for users
if ($data['custom']['extends'] === 'user')
{
// make sure the value is reset
$phpxCode = '';
// now load the php xclude script
if (ComponentbuilderHelper::checkArray($data['custom']['phpx']))
{
// make sure the ar is reset
$phpxCode = '';
foreach ($data['custom']['phpx'] as $line => $code)
{
if (ComponentbuilderHelper::checkString($code))
@ -2810,10 +2872,7 @@ class Fields extends Structure
// replace the placholders
$phpxCode = $this->setPlaceholders($phpxCode, $replace);
}
else
{
$phpxCode = 'return null;';
}
// catch empty stuff
if (!ComponentbuilderHelper::checkString($phpxCode))
{
$phpxCode = 'return null;';
@ -2828,7 +2887,6 @@ class Fields extends Structure
$this->setGroupControl[$data['type']] = $groupLangName;
// JFORM_GETGROUPS_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETGROUPS_PHP' . $this->hhh] = $phpCode;
// JFORM_GETEXCLUDED_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETEXCLUDED_PHP' . $this->hhh] = $phpxCode;
}
@ -2837,14 +2895,11 @@ class Fields extends Structure
// JFORM_GETOPTIONS_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETOPTIONS_PHP' . $this->hhh] = $phpCode;
}
// Type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'Type' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['type'], 'F');
// type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'type' . $this->hhh] = $data['custom']['type'];
// type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'ADD_BUTTON' . $this->hhh] = $this->setAddButtonToListField($data['custom']);
}
}
}
/**
* set Add Button To List Field (getInput tweak)

View File

@ -13358,17 +13358,37 @@ class Interpretation extends Fields
$lang = $this->langPrefix . '_MENU';
// set the code name
$codeName = ComponentbuilderHelper::safeString($this->componentData->name_code);
// set main menu name to lang
// default prefix is none
$prefix = '';
// check if local is set
if (isset($this->componentData->add_menu_prefix) && is_numeric($this->componentData->add_menu_prefix))
{
// set main menu prefix switch
$addPrefix = $this->componentData->add_menu_prefix;
if ($addPrefix == 1 && isset($this->componentData->menu_prefix) && ComponentbuilderHelper::checkString($this->componentData->menu_prefix))
{
$prefix = trim($this->componentData->menu_prefix) . ' ';
}
}
else
{
// set main menu prefix switch
$addPrefix = $this->params->get('add_menu_prefix', 1);
if ($addPrefix == 1)
{
$prefix = trim($this->params->get('menu_prefix', '&#187;'));
$this->langContent['adminsys'][$lang] = $prefix . ' ' . $this->componentData->name;
$prefix = trim($this->params->get('menu_prefix', '&#187;')) . ' ';
}
}
// add the prefix
if ($addPrefix == 1)
{
$this->langContent['adminsys'][$lang] = $prefix . $this->componentData->name;
}
else
{
$this->langContent['adminsys'][$lang] = $this->componentData->name;
}
// loop over the admin views
foreach ($this->componentData->admin_views as $view)
{
// set custom menu
@ -15401,7 +15421,7 @@ function vdm_dkim() {
foreach ($field['permission'] as $permission_id)
{
// set the permission key word
$permission_option = $permission_options[$permission_id];
$permission_option = $permission_options[ (int) $permission_id];
// reset the bucket
$fieldView = array();
// set the permission for this field

View File

@ -32,6 +32,11 @@ abstract class ComponentbuilderHelper
**/
public static $libraryNames = array(1 => 'No Library', 2 => 'Bootstrap v4', 3 => 'Uikit v3', 4 => 'Uikit v2', 5 => 'FooTable v2', 6 => 'FooTable v3');
/**
* Array of php fields Allowed (16)
**/
public static $phpFieldArray = array('', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'x');
/**
* The global params
**/
@ -670,7 +675,7 @@ abstract class ComponentbuilderHelper
if ($db->getNumRows())
{
$result = $db->loadObject();
$properties = json_decode($result->properties,true);
$properties = json_decode($result->properties, true);
$field = array(
'subform' => array(),
'nameListOptions' => array(),
@ -684,11 +689,11 @@ abstract class ComponentbuilderHelper
// value to check since there are false and null values even 0 in the values returned
$confirmation = '8qvZHoyuFYQqpj0YQbc6F3o5DhBlmS-_-a8pmCZfOVSfANjkmV5LG8pCdAY2JNYu6cB';
// set the headers
$field['values_description'] .= '<thead><tr><th class="uk-text-right">'.JText::_('COM_COMPONENTBUILDER_PROPERTY').'</th><th>'.JText::_('COM_COMPONENTBUILDER_EXAMPLE').'</th><th>'.JText::_('COM_COMPONENTBUILDER_DESCRIPTION').'</th></thead><tbody>';
$field['values_description'] .= '<thead><tr><th class="uk-text-right">' . JText::_('COM_COMPONENTBUILDER_PROPERTY') . '</th><th>' . JText::_('COM_COMPONENTBUILDER_EXAMPLE') . '</th><th>' . JText::_('COM_COMPONENTBUILDER_DESCRIPTION') . '</th></thead><tbody>';
foreach ($properties as $property)
{
$example = (isset($property['example']) && self::checkString($property['example'])) ? $property['example'] : '';
$field['values_description'] .= '<tr><td class="uk-text-right"><code>'.$property['name'].'</code></td><td>'.$example.'</td><td>'.$property['description'].'</td></tr>';
$field['values_description'] .= '<tr><td class="uk-text-right"><code>' . $property['name'] . '</code></td><td>' . $example . '</td><td>' . $property['description'] . '</td></tr>';
// check if we should load the value
$value = self::getValueFromXMLstring($xml, $property['name'], $confirmation);
// check if this is a php field
@ -709,7 +714,7 @@ abstract class ComponentbuilderHelper
if(self::checkArray($settings) && isset($settings[$property['name']]))
{
// add the xml values
$field['values'] .= PHP_EOL."\t".$property['name'].'="'.$settings[$property['name']].'" ';
$field['values'] .= PHP_EOL . "\t" . $property['name'] . '="'. $settings[$property['name']] . '" ';
// add the json values
if ($addPHP)
{
@ -723,7 +728,7 @@ abstract class ComponentbuilderHelper
elseif (!$xml || $confirmation !== $value)
{
// add the xml values
$field['values'] .= PHP_EOL."\t" . $property['name'] . '="'. ($confirmation !== $value) ? $value : $example .'" ';
$field['values'] .= PHP_EOL."\t" . $property['name'] . '="' . ($confirmation !== $value) ? $value : $example .'" ';
// add the json values
if ($addPHP)
{
@ -742,7 +747,7 @@ abstract class ComponentbuilderHelper
// increment the number
$nr++;
}
$field['values'] .= PHP_EOL."/>";
$field['values'] .= PHP_EOL . "/>";
$field['values_description'] .= '</tbody></table>';
// return found field options
return $field;
@ -750,11 +755,16 @@ abstract class ComponentbuilderHelper
return false;
}
public static function getValueFromXMLstring($xml, $get, $confirmation)
public static function getValueFromXMLstring(&$xml, &$get, $confirmation = '')
{
if (self::checkString($xml))
{
return self::getBetween($xml, $get.'="', '"', $confirmation);
// if we have a PHP value, we must base64 decode it
if (strpos($get, 'type_php') !== false)
{
return self::openValidBase64(self::getBetween($xml, $get.'="', '"', $confirmation));
}
return self::getBetween($xml, $get . '="', '"', $confirmation);
}
return $confirmation;
}
@ -2254,6 +2264,38 @@ abstract class ComponentbuilderHelper
return '<div>'.JText::_('COM_COMPONENTBUILDER_NO_COMPONENT_DETAILS_FOUND_SO_IT_IS_NOT_SAFE_TO_CONTINUE').'</div>';
}
/**
* open base64 string if stored as base64
*
* @param string $data The base64 string
* @param string $key We store the string with that suffix :)
*
* @return string The opened string
*
*/
public static function openValidBase64($data, $key = '__.o0=base64=Oo.__')
{
// check that we have a string
if (self::checkString($data))
{
// check if we have a key
if (self::checkString($key))
{
if (strpos($data, $key) !== false)
{
return base64_decode(str_replace($key, '', $data));
}
}
// fallback to this, not perfect method
elseif (base64_encode(base64_decode($data, true)) === $data)
{
return base64_decode($data);
}
}
return $data;
}
/**
* prepare base64 string for url
**/

View File

@ -3929,12 +3929,18 @@ COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST="Fieldtypes Dashboard List"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE="Fieldtypes Delete"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC="Allows the users in this group to delete delete fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION="Fieldtypes Description"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC="Allows the users in this group to description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT="Fieldtypes Edit"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC="Allows the users in this group to edit the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION="Fieldtypes Edit Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC="Allows the users in this group to edit description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME="Fieldtypes Edit Name"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC="Allows the users in this group to edit name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN="Fieldtypes Edit Own"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC="Allows the users in this group to edit edit own fieldtypes created by them"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES="Fieldtypes Edit Properties"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC="Allows the users in this group to edit properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION="Fieldtypes Edit Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC="Allows the users in this group to edit short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE="Fieldtypes Edit State"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC="Allows the users in this group to update the state of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION="Fieldtypes Edit Version"
@ -3943,8 +3949,6 @@ COM_COMPONENTBUILDER_FIELDTYPES_EXPORT="Fieldtypes Export"
COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC="Allows the users in this group to export export fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_NAME="Fieldtypes Name"
COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC="Allows the users in this group to name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_ARCHIVED="%s Fieldtypes archived."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_ARCHIVED_1="%s Fieldtype archived."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_CHECKED_IN_0="No Fieldtype successfully checked in."
@ -3962,10 +3966,6 @@ COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNFEATURED="%s Fieldtypes unfeatured."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNFEATURED_1="%s Fieldtype unfeatured."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNPUBLISHED="%s Fieldtypes unpublished."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNPUBLISHED_1="%s Fieldtype unpublished."
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES="Fieldtypes Properties"
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC="Allows the users in this group to properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION="Fieldtypes Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC="Allows the users in this group to short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPE_ADJUSTABLE_DESCRIPTION="Select if the value is adjustable.<br />If not the Value/Example will be enforced."
@ -4557,6 +4557,9 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JAVASCRIPT_LABEL="Add Javascript"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE="Add License"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_DESCRIPTION="Add the option to use the whmcs license add-on in the component."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_LABEL="Add WHMCS<br /><small>(license add-on)</small>"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_MENU_PREFIX="Add Menu Prefix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_MENU_PREFIX_DESCRIPTION="Would you like to add a prefix to the Joomla menu name of this component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_MENU_PREFIX_LABEL="Add Menu Prefix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_ADMIN="Add Php Helper Admin"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_ADMIN_LABEL="Add PHP (helper_admin Class)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH="Add Php Helper Both"
@ -4708,6 +4711,12 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE="License Type"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_DESCRIPTION="How should the license be implemented."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL="Implementation"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LOCK_DOWN_USE_USED_TO_VERIFY_OWNERSHIP="Lock Down Use (used to verify ownership)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX="Menu Prefix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_DESCRIPTION="Add the prefix you would like to use. Make sure that it is HTML Character Entities since it is being used in XML."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_HINT="&#187;"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_LABEL="Prefix<br />
<small><a href='https://dev.w3.org/html5/html-author/charref' target='_blank'>check this list out</a></small>"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_MESSAGE="Error! Please add some text here."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_BY_DESC="The last user that modified this Joomla Component."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_DATE_DESC="The date this Joomla Component was modified."
@ -4915,6 +4924,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_HINT="http://www.example
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_LABEL="Update Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_MESSAGE="Error! Please add url here."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_DESCRIPTION="How should we link to this contributor."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_GLOBAL="Use Global"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_GLOBAL_VERSION="Use Global Version"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_LABEL="Use"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_ONLY_FIRST_NUMBER_OF_GLOBAL_VERSION_ONEXX="Use Only First Number of Global Version (1.x.x)"

View File

@ -434,12 +434,18 @@ COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST="Fieldtypes Dashboard List"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE="Fieldtypes Delete"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC="Allows the users in this group to delete delete fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION="Fieldtypes Description"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC="Allows the users in this group to description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT="Fieldtypes Edit"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC="Allows the users in this group to edit the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION="Fieldtypes Edit Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC="Allows the users in this group to edit description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME="Fieldtypes Edit Name"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC="Allows the users in this group to edit name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN="Fieldtypes Edit Own"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC="Allows the users in this group to edit edit own fieldtypes created by them"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES="Fieldtypes Edit Properties"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC="Allows the users in this group to edit properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION="Fieldtypes Edit Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC="Allows the users in this group to edit short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE="Fieldtypes Edit State"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC="Allows the users in this group to update the state of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION="Fieldtypes Edit Version"
@ -448,12 +454,6 @@ COM_COMPONENTBUILDER_FIELDTYPES_EXPORT="Fieldtypes Export"
COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC="Allows the users in this group to export export fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_NAME="Fieldtypes Name"
COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC="Allows the users in this group to name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES="Fieldtypes Properties"
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC="Allows the users in this group to properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION="Fieldtypes Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC="Allows the users in this group to short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS="Field Run Expansion Button Access"
@ -678,7 +678,7 @@ COM_COMPONENTBUILDER_LIBRARIES_SUBMENU="Libraries Submenu"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU_DESC="Allows the users in this group to submenu of library"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS="Library Get Snippets Button Access"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_MENU="&#187; Component Builder"
COM_COMPONENTBUILDER_MENU="&#10003 Component Builder"
COM_COMPONENTBUILDER_MENU_ADMIN_VIEWS="Admin Views"
COM_COMPONENTBUILDER_MENU_COMPILER="Compiler"
COM_COMPONENTBUILDER_MENU_CUSTOM_ADMIN_VIEWS="Custom Admin Views"

View File

@ -15,7 +15,7 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
'spacer_hr_six',
'spacer_hr_seven',
'note_on_contributors',
'addcontributors',
'emptycontributors',

View File

@ -17,9 +17,12 @@ $form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
'note_component_files_folders',
'spacer_hr_four',
'add_menu_prefix',
'menu_prefix',
'spacer_hr_five',
'to_ignore_note',
'toignore',
'spacer_hr_five',
'spacer_hr_six',
'jcb_export_package_note',
'export_key',
'joomla_source_link',

View File

@ -907,10 +907,12 @@ class ComponentbuilderModelField extends JModelAdmin
$properties = $input->get('properties', null, 'ARRAY');
// get the extra properties
$extraproperties = $input->get('extraproperties', null, 'ARRAY');
// get the type phpx property
$typephpx = $input->get('property_type_phpx', null, 'RAW');
// get the type php property
$typephp = $input->get('property_type_php', null, 'RAW');
$typephp = array();
foreach (ComponentbuilderHelper::$phpFieldArray as $x)
{
$typephp[$x] = $input->get('property_type_php' . $x, null, 'RAW');
}
// make sure we have an array
if (ComponentbuilderHelper::checkArray($properties))
{
@ -919,7 +921,7 @@ class ComponentbuilderModelField extends JModelAdmin
foreach($properties as $property)
{
// make sure we have the correct values
if (ComponentbuilderHelper::checkArray($property) && isset($property['name']) && ComponentbuilderHelper::checkString($property['name']) && isset($property['value']))
if (ComponentbuilderHelper::checkArray($property) && isset($property['name']) && ComponentbuilderHelper::checkString($property['name']) && (isset($property['value']) || 'default' === $property['name']))
{
// fix the name (TODO)
// $property['name'] = ComponentbuilderHelper::safeString($property['name']);
@ -933,7 +935,7 @@ class ComponentbuilderModelField extends JModelAdmin
break;
}
// load the property
$bucket[] = "\t".$property['name'].'="'. str_replace('"', "&quot;", $property['value']).'"';
$bucket[] = "\t" . $property['name'] . '="' . str_replace('"', "&quot;", $property['value']) . '"';
}
}
// make sure we have an array
@ -945,26 +947,24 @@ class ComponentbuilderModelField extends JModelAdmin
if (ComponentbuilderHelper::checkArray($xproperty) && isset($xproperty['name']) && ComponentbuilderHelper::checkString($xproperty['name']) && isset($xproperty['value']))
{
// load the extra property
$bucket[] = "\t".ComponentbuilderHelper::safeString($xproperty['name']).'="'. str_replace('"', "&quot;", $xproperty['value']).'"';
$bucket[] = "\t" . ComponentbuilderHelper::safeString($xproperty['name']) . '="' . str_replace('"', "&quot;", $xproperty['value']) . '"';
}
}
}
// load the PHP
foreach ($typephp as $x => $phpvalue)
{
// make sure we have a string
if (ComponentbuilderHelper::checkString($typephp))
if (ComponentbuilderHelper::checkString($phpvalue))
{
// load the type_php property
$bucket[] = "\t".'type_php_1="'. str_replace('"', "'", $typephp).'"';
$bucket[] = "\t" . 'type_php' . $x . '_1="__.o0=base64=Oo.__' . base64_encode($phpvalue) . '"';
}
// make sure we have a string
if (ComponentbuilderHelper::checkString($typephpx))
{
// load the type_phpx property
$bucket[] = "\t".'type_phpx_1="'. str_replace('"', "'", $typephpx).'"';
}
// if the bucket has been loaded
if (ComponentbuilderHelper::checkArray($bucket))
{
$data['xml'] = "<field".PHP_EOL.implode(PHP_EOL, $bucket).PHP_EOL."/>";
$data['xml'] = "<field" . PHP_EOL . implode(PHP_EOL, $bucket) . PHP_EOL . "/>";
}
}

View File

@ -36,22 +36,23 @@ class JFormFieldAdminviews extends JFormFieldList
public function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','adminview_system_name')));
$query->from($db->quoteName('#__componentbuilder_admin_view', '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)
{
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','adminview_system_name')));
$query->from($db->quoteName('#__componentbuilder_admin_view', '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->adminview_system_name);
}
}
return $options;
}
return $options;
}
}

View File

@ -143,22 +143,23 @@ class JFormFieldFieldtypes extends JFormFieldList
public function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name'),array('id','fieldtype_name')));
$query->from($db->quoteName('#__componentbuilder_fieldtype', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name'),array('id','fieldtype_name')));
$query->from($db->quoteName('#__componentbuilder_fieldtype', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
$query->order('a.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->fieldtype_name);
}
}
return $options;
}
return $options;
}
}

View File

@ -376,6 +376,74 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
// Disable fields while saving.
$form->setFieldAttribute('created', 'filter', 'unset');
}
// Modify the form based on Edit Name access controls.
if ($id != 0 && (!$user->authorise('fieldtype.edit.name', 'com_componentbuilder.fieldtype.' . (int) $id))
|| ($id == 0 && !$user->authorise('fieldtype.edit.name', 'com_componentbuilder')))
{
// Disable fields for display.
$form->setFieldAttribute('name', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('name', 'readonly', 'true');
// If there is no value continue.
if (!$form->getValue('name'))
{
// Disable fields while saving.
$form->setFieldAttribute('name', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('name', 'required', 'false');
}
}
// Modify the form based on Edit Properties access controls.
if ($id != 0 && (!$user->authorise('fieldtype.edit.properties', 'com_componentbuilder.fieldtype.' . (int) $id))
|| ($id == 0 && !$user->authorise('fieldtype.edit.properties', 'com_componentbuilder')))
{
// Disable fields for display.
$form->setFieldAttribute('properties', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('properties', 'readonly', 'true');
// If there is no value continue.
if (!$form->getValue('properties'))
{
// Disable fields while saving.
$form->setFieldAttribute('properties', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('properties', 'required', 'false');
}
}
// Modify the form based on Edit Description access controls.
if ($id != 0 && (!$user->authorise('fieldtype.edit.description', 'com_componentbuilder.fieldtype.' . (int) $id))
|| ($id == 0 && !$user->authorise('fieldtype.edit.description', 'com_componentbuilder')))
{
// Disable fields for display.
$form->setFieldAttribute('description', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('description', 'readonly', 'true');
// If there is no value continue.
if (!$form->getValue('description'))
{
// Disable fields while saving.
$form->setFieldAttribute('description', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('description', 'required', 'false');
}
}
// Modify the form based on Edit Short Description access controls.
if ($id != 0 && (!$user->authorise('fieldtype.edit.short_description', 'com_componentbuilder.fieldtype.' . (int) $id))
|| ($id == 0 && !$user->authorise('fieldtype.edit.short_description', 'com_componentbuilder')))
{
// Disable fields for display.
$form->setFieldAttribute('short_description', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('short_description', 'readonly', 'true');
// If there is no value continue.
if (!$form->getValue('short_description'))
{
// Disable fields while saving.
$form->setFieldAttribute('short_description', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('short_description', 'required', 'false');
}
}
// Only load these values if no id is found
if (0 == $id)
{

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ADMIN_VIEW_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -170,6 +171,7 @@
label="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_HTML_LABEL"
rows="20"
cols="30"
default=""
class="text_area tab_html"
filter="raw"
hint="COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_HTML_HINT"

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADMIN_VIEW_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_ADDFIELDS_DESCRIPTION"
default=""
icon="list"
min="1">
<form hidden="true" name="list_addfields_modal" repeat="true">
@ -116,6 +118,7 @@
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_DESCRIPTION"
class="list_class fieldFull"
multiple="false"
default=""
required="false"
button="false"
/>
@ -156,6 +159,7 @@
name="title"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_TITLE_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_TITLE_DESCRIPTION"
class="inputbox"
@ -167,6 +171,7 @@
name="alias"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_ALIAS_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_ALIAS_DESCRIPTION"
class="inputbox"
@ -178,6 +183,7 @@
name="sort"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_SORT_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_SORT_DESCRIPTION"
class="inputbox"
@ -188,6 +194,7 @@
name="search"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_SEARCH_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_SEARCH_DESCRIPTION"
class="inputbox"
@ -198,6 +205,7 @@
name="filter"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_FILTER_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_FILTER_DESCRIPTION"
class="inputbox"
@ -208,6 +216,7 @@
name="link"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_LINK_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_LINK_DESCRIPTION"
class="inputbox"

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADMIN_VIEW_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addconditions_modal" repeat="true">
<!-- Target_field Field. Type: Targetfields. (custom) -->
@ -115,6 +117,7 @@
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_TARGET_FIELD_DESCRIPTION"
class="fieldMedium"
multiple="true"
default=""
required="false"
button="false"
/>
@ -163,6 +166,7 @@
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_MATCH_FIELD_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_MATCH_FIELD_DESCRIPTION"
multiple="false"
default=""
required="false"
button="false"
/>

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADMIN_VIEW_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ADDRELATIONS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addrelations_modal" repeat="true">
<!-- Listfield Field. Type: Listfields. (custom) -->
@ -115,6 +117,7 @@
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_LISTFIELD_DESCRIPTION"
class="fieldMedium"
multiple="false"
default=""
required="false"
onchange="getCodeGlueOptions(this)"
button="false"
@ -142,6 +145,7 @@
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_JOINFIELDS_DESCRIPTION"
class="fieldMedium"
multiple="true"
default=""
required="false"
onchange="getCodeGlueOptions(this)"
button="false"

View File

@ -92,6 +92,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_SYSTEM_NAME_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_ADMIN_VIEW_SYSTEM_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
@ -330,6 +331,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_ADDTABLES_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
default=""
icon="list">
<form hidden="true" name="list_addtables_modal" repeat="true">
<!-- Table Field. Type: Dbtables. (custom) -->
@ -441,7 +443,8 @@
class="list_class"
multiple="false"
filter="CMD"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="core.edit">
COM_COMPONENTBUILDER_ADMIN_VIEW_COREEDIT</option>
@ -533,6 +536,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ADDTABS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addtabs_modal" repeat="true">
<!-- Name Field. Type: Text. (joomla) -->
@ -617,6 +621,7 @@
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ADMINVIEW_DESCRIPTION"
class="fieldMedium"
multiple="false"
default=""
required="false"
button="false"
/>
@ -1268,7 +1273,8 @@
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ICOMOON_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="joomla">
COM_COMPONENTBUILDER_ADMIN_VIEW_JOOMLA</option>
@ -1714,6 +1720,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_METHOD_LABEL"
size="40"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_ADMIN_VIEW_METHOD_DESCRIPTION"
class="text_area"
required="false"
@ -1799,6 +1806,7 @@
name="source"
label="COM_COMPONENTBUILDER_ADMIN_VIEW_SOURCE_LABEL"
class="btn-group btn-group-yesno"
default=""
required="true">
<!-- Option Set. -->
<option value="1">
@ -1949,6 +1957,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_AJAX_INPUT_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
default=""
icon="list">
<form hidden="true" name="list_ajax_input_modal" repeat="true">
<!-- Value_name Field. Type: Text. (joomla) -->

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS_DESCRIPTION"
default=""
icon="list"
min="1">
<form hidden="true" name="list_addadmin_views_modal" repeat="true">
@ -116,6 +118,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_DESCRIPTION"
class="fieldMedium"
multiple="false"
default=""
required="false"
button="false"
/>
@ -127,7 +130,8 @@
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ICOMOON_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="joomla">
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA</option>
@ -567,6 +571,7 @@
name="dashboard_add"
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_DASHBOARD_ADD_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_DASHBOARD_ADD_DESCRIPTION"
class="inputbox"
@ -654,6 +659,7 @@
name="port"
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_PORT_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_PORT_DESCRIPTION"
class="inputbox"
@ -664,6 +670,7 @@
name="edit_create_site_view"
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_EDIT_CREATE_SITE_VIEW_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_EDIT_CREATE_SITE_VIEW_DESCRIPTION"
class="inputbox"

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_ADDCONFIG_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addconfig_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
@ -115,6 +117,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_FIELD_DESCRIPTION"
class="list_class fieldFull"
multiple="false"
default=""
required="false"
button="false"
/>

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -104,6 +105,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_ADDCUSTOMMENUS_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
default=""
icon="list">
<form hidden="true" name="list_addcustommenus_modal" repeat="true">
<!-- Name Field. Type: Text. (joomla) -->
@ -129,6 +131,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_NAME_CODE_LABEL"
size="40"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_NAME_CODE_DESCRIPTION"
class="text_area"
required="false"
@ -158,6 +161,7 @@
name="icon"
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_ICON_LABEL"
directory="images"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_ICON_DESCRIPTION"
hide_default="true"
/>
@ -202,6 +206,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_BEFORE_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
default=""
required="false"
button="false"
/>

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -104,6 +105,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_ADDCUSTOM_ADMIN_VIEWS_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
default=""
icon="list">
<form hidden="true" name="list_addcustom_admin_views_modal" repeat="true">
<!-- Customadminview Field. Type: Customadminviews. (custom) -->
@ -114,6 +116,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_CUSTOMADMINVIEW_DESCRIPTION"
class="fieldMedium"
multiple="false"
default=""
required="false"
button="false"
/>
@ -125,7 +128,8 @@
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_ICOMOON_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="joomla">
COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_JOOMLA</option>
@ -611,6 +615,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_ADMINVIEWS_DESCRIPTION"
class="fieldMedium"
multiple="true"
default=""
required="false"
button="false"
/>
@ -622,6 +627,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_BEFORE_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
default=""
required="false"
button="false"
/>

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -104,6 +105,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_DASHBOARD_TAB_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
default=""
icon="list"
filter="raw">
<form hidden="true" name="list_dashboard_tab_modal" repeat="true">
@ -146,6 +148,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_HTML_LABEL"
rows="20"
cols="30"
default=""
class="text_area tab_html"
filter="raw"
hint="COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_HTML_HINT"

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -107,6 +108,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_ADDFOLDERSFULLPATH_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfoldersfullpath_modal" repeat="true">
<!-- Folderpath Field. Type: Text. (joomla) -->
@ -116,6 +118,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_FOLDERPATH_LABEL"
size="70"
maxlength="300"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_FOLDERPATH_DESCRIPTION"
class="text_area"
required="false"
@ -145,6 +148,7 @@
name="rename"
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_RENAME_LABEL"
value="1"
default=""
required="false"
class="inputbox"
/>
@ -160,6 +164,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_ADDFILESFULLPATH_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfilesfullpath_modal" repeat="true">
<!-- Filepath Field. Type: Text. (joomla) -->
@ -169,6 +174,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_FILEPATH_LABEL"
size="70"
maxlength="300"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_FILEPATH_DESCRIPTION"
class="text_area"
required="false"
@ -198,6 +204,7 @@
name="notnew"
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_NOTNEW_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_NOTNEW_DESCRIPTION"
class="inputbox"
@ -214,6 +221,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_ADDFOLDERS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfolders_modal" repeat="true">
<!-- Folder Field. Type: Customfolderlist. (custom) -->
@ -250,6 +258,7 @@
name="rename"
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_RENAME_LABEL"
value="1"
default=""
required="false"
class="inputbox"
/>
@ -265,6 +274,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_ADDFILES_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfiles_modal" repeat="true">
<!-- File Field. Type: Customfilelist. (custom) -->
@ -301,6 +311,7 @@
name="notnew"
label="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_NOTNEW_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_NOTNEW_DESCRIPTION"
class="inputbox"

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_SQL_TWEAK_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_sql_tweak_modal" repeat="true">
<!-- Adminview Field. Type: Componentadminviews. (custom) -->
@ -115,6 +117,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_ADMINVIEW_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
default=""
required="false"
button="false"
/>
@ -144,7 +147,8 @@
class="list_class"
multiple="false"
filter="INT"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_SELECT_AN_OPTION</option>
@ -160,6 +164,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_IDS_LABEL"
rows="20"
cols="40"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_IDS_DESCRIPTION"
class="text_area ids_selection"
filter="raw"

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addsite_views_modal" repeat="true">
<!-- Siteview Field. Type: Siteviews. (custom) -->
@ -115,6 +117,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_SITEVIEW_DESCRIPTION"
class="fieldMedium"
multiple="false"
default=""
required="false"
button="false"
/>
@ -146,6 +149,7 @@
name="default_view"
label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_DEFAULT_VIEW_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_DEFAULT_VIEW_DESCRIPTION"
class="inputbox"
@ -167,6 +171,7 @@
name="public_access"
label="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_PUBLIC_ACCESS_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_PUBLIC_ACCESS_DESCRIPTION"
class="inputbox"

View File

@ -93,6 +93,7 @@
description="COM_COMPONENTBUILDER_COMPONENT_UPDATES_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
@ -105,6 +106,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_UPDATES_VERSION_UPDATE_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_version_update_modal" repeat="true">
<!-- Version Field. Type: Text. (joomla) -->
@ -114,6 +116,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_UPDATES_VERSION_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_UPDATES_VERSION_DESCRIPTION"
class="text_area"
readonly="false"
@ -130,6 +133,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_UPDATES_MYSQL_LABEL"
rows="30"
cols="15"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_UPDATES_MYSQL_DESCRIPTION"
class="text_area mysql_update"
filter="raw"
@ -143,6 +147,7 @@
label="COM_COMPONENTBUILDER_COMPONENT_UPDATES_URL_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_COMPONENT_UPDATES_URL_DESCRIPTION"
class="text_area version_url"
required="false"

View File

@ -92,6 +92,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SYSTEM_NAME_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SYSTEM_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
@ -137,6 +138,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_MAIN_GET_DESCRIPTION"
multiple="false"
default=""
required="true"
button="true"
/>
@ -318,6 +320,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CODENAME_LABEL"
size="80"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CODENAME_DESCRIPTION"
class="text_area"
filter="CMD"
@ -331,6 +334,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CUSTOM_GET_DESCRIPTION"
multiple="true"
default=""
/>
<!-- Js_document Field. Type: Editor. (joomla) -->
<field
@ -387,6 +391,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_AJAX_INPUT_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
default=""
icon="list">
<form hidden="true" name="list_ajax_input_modal" repeat="true">
<!-- Value_name Field. Type: Text. (joomla) -->
@ -598,6 +603,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DYNAMIC_GET_DESCRIPTION"
multiple="false"
default=""
required="false"
/>
<!-- Add_php_document Field. Type: Radio. (joomla) -->
@ -676,7 +682,8 @@
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ICOMOON_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="joomla">
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_JOOMLA</option>
@ -1122,6 +1129,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_METHOD_LABEL"
size="40"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_METHOD_DESCRIPTION"
class="text_area"
required="false"

View File

@ -177,6 +177,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_CODE_SYSTEM_NAME_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_CUSTOM_CODE_SYSTEM_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
@ -211,6 +212,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_LABEL"
size="50"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_DESCRIPTION"
class="text_area"
readonly="true"
@ -253,6 +255,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_LABEL"
size="50"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_DESCRIPTION"
class="text_area"
readonly="true"

View File

@ -110,7 +110,8 @@
class="list_class"
multiple="false"
filter="INT"
required="true">
required="true"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_DYNAMIC_GET_PLEASE_SELECT</option>
@ -160,6 +161,7 @@
description="COM_COMPONENTBUILDER_DYNAMIC_GET_DB_TABLE_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="false"
button="false"
/>
@ -407,6 +409,7 @@
label="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_MAIN_DESCRIPTION"
multiple="false"
default=""
required="true"
/>
<!-- Add_php_router_parse Field. Type: Radio. (joomla) -->
@ -578,6 +581,7 @@
description="COM_COMPONENTBUILDER_DYNAMIC_GET_DB_TABLE_MAIN_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
button="false"
/>
@ -943,7 +947,8 @@
class="list_class"
multiple="false"
filter="WORD"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="ASC">
COM_COMPONENTBUILDER_DYNAMIC_GET_ASCENDING</option>
@ -1161,6 +1166,7 @@
label="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_VIEW_TABLE_DESCRIPTION"
multiple="false"
default=""
required="false"
button="false"
/>

View File

@ -109,6 +109,7 @@
description="COM_COMPONENTBUILDER_FIELD_FIELDTYPE_DESCRIPTION"
class="btn-group"
multiple="false"
default=""
required="true"
button="true"
/>
@ -120,7 +121,8 @@
description="COM_COMPONENTBUILDER_FIELD_DATATYPE_DESCRIPTION"
class="btn-group"
multiple="false"
required="true">
required="true"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_FIELD_SELECT_AN_OPTION</option>
@ -216,6 +218,7 @@
name="catid"
label="COM_COMPONENTBUILDER_FIELD_CATID_LABEL"
extension="com_componentbuilder.fields"
default=""
description="COM_COMPONENTBUILDER_FIELD_CATID_DESCRIPTION"
class="inputbox"
/>
@ -290,7 +293,8 @@
label="COM_COMPONENTBUILDER_FIELD_DATALENGHT_LABEL"
description="COM_COMPONENTBUILDER_FIELD_DATALENGHT_DESCRIPTION"
class="btn-group"
multiple="false">
multiple="false"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_FIELD_NONE_SET</option>
@ -358,7 +362,8 @@
label="COM_COMPONENTBUILDER_FIELD_DATADEFAULT_LABEL"
description="COM_COMPONENTBUILDER_FIELD_DATADEFAULT_DESCRIPTION"
class="btn-group"
multiple="false">
multiple="false"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_FIELD_NONE</option>

View File

@ -221,6 +221,7 @@
name="catid"
label="COM_COMPONENTBUILDER_FIELDTYPE_CATID_LABEL"
extension="com_componentbuilder.fieldtypes"
default=""
description="COM_COMPONENTBUILDER_FIELDTYPE_CATID_DESCRIPTION"
class="inputbox"
/>

View File

@ -101,7 +101,8 @@
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_DESCRIPTION"
class="list_class"
multiple="false"
required="true">
required="true"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_HELP_DOCUMENT_SELECT_AN_OPTION</option>
@ -128,6 +129,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_LOCATION_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_LOCATION_DESCRIPTION"
class="btn-group"
default=""
required="true">
<!-- Option Set. -->
<option value="1">
@ -143,6 +145,7 @@
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
button="false"
/>
@ -154,6 +157,7 @@
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
button="false"
/>
@ -191,6 +195,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_URL_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_URL_DESCRIPTION"
class="text_area"
required="true"
@ -207,6 +212,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_TARGET_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_TARGET_DESCRIPTION"
class="btn-group"
default=""
required="true">
<!-- Option Set. -->
<option value="1">

File diff suppressed because it is too large Load Diff

View File

@ -108,6 +108,7 @@
label="COM_COMPONENTBUILDER_LANGUAGE_LANGTAG_LABEL"
size="10"
maxlength="10"
default=""
description="COM_COMPONENTBUILDER_LANGUAGE_LANGTAG_DESCRIPTION"
class="text_area"
filter="STRING"

View File

@ -119,6 +119,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_TRANSLATION_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_translation_modal" repeat="true">
<!-- Translation Field. Type: Textarea. (joomla) -->

View File

@ -124,6 +124,7 @@
label="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_DESCRIPTION"
multiple="false"
default=""
required="false"
button="true"
/>
@ -221,6 +222,7 @@
label="COM_COMPONENTBUILDER_LAYOUT_ALIAS_LABEL"
size="40"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_LAYOUT_ALIAS_DESCRIPTION"
class="text_area"
filter="CMD"

View File

@ -199,6 +199,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_ADDCONDITIONS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addconditions_modal" repeat="true">
<!-- File Field. Type: Libraryfiles. (custom) -->

View File

@ -105,6 +105,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_ADDCONFIG_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addconfig_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
@ -115,6 +116,7 @@
description="COM_COMPONENTBUILDER_LIBRARY_CONFIG_FIELD_DESCRIPTION"
class="list_class fieldFull"
multiple="false"
default=""
required="false"
button="false"
/>

View File

@ -107,6 +107,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ADDFOLDERSFULLPATH_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfoldersfullpath_modal" repeat="true">
<!-- Folderpath Field. Type: Text. (joomla) -->
@ -116,6 +117,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_FOLDERPATH_LABEL"
size="70"
maxlength="300"
default=""
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_FOLDERPATH_DESCRIPTION"
class="text_area"
required="false"
@ -145,6 +147,7 @@
name="rename"
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_RENAME_LABEL"
value="1"
default=""
required="false"
class="inputbox"
/>
@ -160,6 +163,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ADDFILESFULLPATH_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfilesfullpath_modal" repeat="true">
<!-- Filepath Field. Type: Text. (joomla) -->
@ -169,6 +173,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_FILEPATH_LABEL"
size="70"
maxlength="300"
default=""
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_FILEPATH_DESCRIPTION"
class="text_area"
required="false"
@ -198,6 +203,7 @@
name="notnew"
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_NOTNEW_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_NOTNEW_DESCRIPTION"
class="inputbox"
@ -214,6 +220,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ADDFOLDERS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfolders_modal" repeat="true">
<!-- Folder Field. Type: Customfolderlist. (custom) -->
@ -250,6 +257,7 @@
name="rename"
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_RENAME_LABEL"
value="1"
default=""
required="false"
class="inputbox"
/>
@ -265,6 +273,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ADDFILES_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfiles_modal" repeat="true">
<!-- File Field. Type: Customfilelist. (custom) -->
@ -301,6 +310,7 @@
name="notnew"
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_NOTNEW_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_NOTNEW_DESCRIPTION"
class="inputbox"
@ -317,6 +327,7 @@
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ADDURLS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addurls_modal" repeat="true">
<!-- Url Field. Type: Url. (joomla) -->
@ -326,6 +337,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_URL_LABEL"
size="150"
maxlength="250"
default=""
description="COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_URL_DESCRIPTION"
class="text_area"
required="false"

View File

@ -110,7 +110,8 @@
class="list_class"
multiple="false"
filter="INT"
required="true">
required="true"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_SERVER_SELECT_AN_OPTION</option>
@ -136,6 +137,7 @@
label="COM_COMPONENTBUILDER_SERVER_SIGNATURE_LABEL"
size="250"
maxlength="250"
default=""
description="COM_COMPONENTBUILDER_SERVER_SIGNATURE_DESCRIPTION"
class="text_area span12"
required="true"
@ -151,6 +153,7 @@
label="COM_COMPONENTBUILDER_SERVER_PRIVATE_KEY_LABEL"
rows="15"
cols="5"
default=""
description="COM_COMPONENTBUILDER_SERVER_PRIVATE_KEY_DESCRIPTION"
class="input-xxlarge span12"
hint="COM_COMPONENTBUILDER_SERVER_PRIVATE_KEY_HINT"
@ -162,6 +165,7 @@
name="secret"
label="COM_COMPONENTBUILDER_SERVER_SECRET_LABEL"
size="60"
default=""
description="COM_COMPONENTBUILDER_SERVER_SECRET_DESCRIPTION"
message="Error! Please add the passphrase here."
class="text_area"
@ -173,6 +177,7 @@
name="password"
label="COM_COMPONENTBUILDER_SERVER_PASSWORD_LABEL"
size="60"
default=""
description="COM_COMPONENTBUILDER_SERVER_PASSWORD_DESCRIPTION"
message="Error! Please add the password here."
class="text_area"
@ -204,7 +209,8 @@
class="list_class"
multiple="false"
filter="INT"
required="true">
required="true"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_SERVER_SELECT_AN_OPTION</option>
@ -258,6 +264,7 @@
label="COM_COMPONENTBUILDER_SERVER_HOST_LABEL"
size="40"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_SERVER_HOST_DESCRIPTION"
class="text_area"
required="true"
@ -272,6 +279,7 @@
label="COM_COMPONENTBUILDER_SERVER_USERNAME_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_SERVER_USERNAME_DESCRIPTION"
class="text_area"
required="true"

View File

@ -92,6 +92,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_SYSTEM_NAME_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_SITE_VIEW_SYSTEM_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
@ -137,6 +138,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_MAIN_GET_DESCRIPTION"
multiple="false"
default=""
required="true"
button="true"
/>
@ -239,6 +241,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_CODENAME_LABEL"
size="80"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_SITE_VIEW_CODENAME_DESCRIPTION"
class="text_area"
filter="CMD"
@ -326,6 +329,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_CUSTOM_GET_DESCRIPTION"
multiple="true"
default=""
/>
<!-- Php_model Field. Type: Editor. (joomla) -->
<field
@ -413,6 +417,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_AJAX_INPUT_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
default=""
icon="list">
<form hidden="true" name="list_ajax_input_modal" repeat="true">
<!-- Value_name Field. Type: Text. (joomla) -->
@ -590,6 +595,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_DYNAMIC_GET_DESCRIPTION"
multiple="false"
default=""
required="false"
/>
<!-- Php_ajaxmethod Field. Type: Editor. (joomla) -->
@ -726,7 +732,8 @@
description="COM_COMPONENTBUILDER_SITE_VIEW_ICOMOON_DESCRIPTION"
class="list_class fieldMedium"
multiple="false"
required="false">
required="false"
default="">
<!-- Option Set. -->
<option value="joomla">
COM_COMPONENTBUILDER_SITE_VIEW_JOOMLA</option>
@ -1172,6 +1179,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_METHOD_LABEL"
size="40"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_SITE_VIEW_METHOD_DESCRIPTION"
class="text_area"
required="false"

View File

@ -108,6 +108,7 @@
label="COM_COMPONENTBUILDER_SNIPPET_URL_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_SNIPPET_URL_DESCRIPTION"
class="text_area"
required="true"
@ -219,6 +220,7 @@
label="COM_COMPONENTBUILDER_SNIPPET_SNIPPET_LABEL"
rows="27"
cols="10"
default=""
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_SNIPPET_SNIPPET_HINT"

View File

@ -124,6 +124,7 @@
label="COM_COMPONENTBUILDER_TEMPLATE_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_TEMPLATE_DYNAMIC_GET_DESCRIPTION"
multiple="false"
default=""
required="false"
button="true"
/>
@ -221,6 +222,7 @@
label="COM_COMPONENTBUILDER_TEMPLATE_ALIAS_LABEL"
size="40"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_TEMPLATE_ALIAS_DESCRIPTION"
class="text_area"
filter="CMD"

View File

@ -86,60 +86,30 @@ 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->php_admin_event))
{
// base64 Decode php_admin_event.
$item->php_admin_event = base64_decode($item->php_admin_event);
}
if (!empty($item->php_method_uninstall))
{
// base64 Decode php_method_uninstall.
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
}
if (!empty($item->php_preflight_install))
{
// base64 Decode php_preflight_install.
$item->php_preflight_install = base64_decode($item->php_preflight_install);
}
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_both))
{
// base64 Decode php_helper_both.
$item->php_helper_both = base64_decode($item->php_helper_both);
}
if (!empty($item->php_helper_admin))
{
// base64 Decode php_helper_admin.
$item->php_helper_admin = base64_decode($item->php_helper_admin);
}
if (!empty($item->sql))
{
// base64 Decode sql.
$item->sql = base64_decode($item->sql);
}
if (!empty($item->php_preflight_update))
{
// base64 Decode php_preflight_update.
$item->php_preflight_update = base64_decode($item->php_preflight_update);
}
if (!empty($item->css_site))
{
// base64 Decode css_site.
$item->css_site = base64_decode($item->css_site);
}
if (!empty($item->php_helper_site))
{
// base64 Decode php_helper_site.
@ -152,36 +122,66 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
$item->javascript = base64_decode($item->javascript);
}
if (!empty($item->css_site))
{
// base64 Decode css_site.
$item->css_site = base64_decode($item->css_site);
}
if (!empty($item->php_preflight_update))
{
// base64 Decode php_preflight_update.
$item->php_preflight_update = base64_decode($item->php_preflight_update);
}
if (!empty($item->php_postflight_update))
{
// base64 Decode php_postflight_update.
$item->php_postflight_update = base64_decode($item->php_postflight_update);
}
if (!empty($item->sql))
{
// base64 Decode sql.
$item->sql = base64_decode($item->sql);
}
if (!empty($item->readme))
{
// base64 Decode readme.
$item->readme = base64_decode($item->readme);
}
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->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_preflight_install))
{
// base64 Decode php_preflight_install.
$item->php_preflight_install = base64_decode($item->php_preflight_install);
}
if (!empty($item->php_postflight_install))
{
// base64 Decode php_postflight_install.
$item->php_postflight_install = base64_decode($item->php_postflight_install);
}
if (!empty($item->php_method_uninstall))
{
// base64 Decode php_method_uninstall.
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
}
if (!empty($item->sql_uninstall))
{
// base64 Decode sql_uninstall.
$item->sql_uninstall = base64_decode($item->sql_uninstall);
}
if (!empty($item->buildcompsql))
{
// base64 Decode buildcompsql.
@ -1083,60 +1083,30 @@ 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 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 php_method_uninstall string to base64 string.
if (isset($data['php_method_uninstall']))
{
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
}
// Set the php_preflight_install string to base64 string.
if (isset($data['php_preflight_install']))
{
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
}
// 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_both string to base64 string.
if (isset($data['php_helper_both']))
{
$data['php_helper_both'] = base64_encode($data['php_helper_both']);
}
// Set the php_helper_admin string to base64 string.
if (isset($data['php_helper_admin']))
{
$data['php_helper_admin'] = base64_encode($data['php_helper_admin']);
}
// Set the sql string to base64 string.
if (isset($data['sql']))
{
$data['sql'] = base64_encode($data['sql']);
}
// Set the php_preflight_update string to base64 string.
if (isset($data['php_preflight_update']))
{
$data['php_preflight_update'] = base64_encode($data['php_preflight_update']);
}
// Set the css_site string to base64 string.
if (isset($data['css_site']))
{
$data['css_site'] = base64_encode($data['css_site']);
}
// Set the php_helper_site string to base64 string.
if (isset($data['php_helper_site']))
{
@ -1149,36 +1119,66 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
$data['javascript'] = base64_encode($data['javascript']);
}
// Set the css_site string to base64 string.
if (isset($data['css_site']))
{
$data['css_site'] = base64_encode($data['css_site']);
}
// Set the php_preflight_update string to base64 string.
if (isset($data['php_preflight_update']))
{
$data['php_preflight_update'] = base64_encode($data['php_preflight_update']);
}
// Set the php_postflight_update string to base64 string.
if (isset($data['php_postflight_update']))
{
$data['php_postflight_update'] = base64_encode($data['php_postflight_update']);
}
// Set the sql string to base64 string.
if (isset($data['sql']))
{
$data['sql'] = base64_encode($data['sql']);
}
// Set the readme string to base64 string.
if (isset($data['readme']))
{
$data['readme'] = base64_encode($data['readme']);
}
// 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 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_preflight_install string to base64 string.
if (isset($data['php_preflight_install']))
{
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
}
// 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 php_method_uninstall string to base64 string.
if (isset($data['php_method_uninstall']))
{
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
}
// Set the sql_uninstall string to base64 string.
if (isset($data['sql_uninstall']))
{
$data['sql_uninstall'] = base64_encode($data['sql_uninstall']);
}
// Set the buildcompsql string to base64 string.
if (isset($data['buildcompsql']))
{

View File

@ -1912,43 +1912,43 @@ class ComponentbuilderModelJoomla_components extends JModelList
continue;
}
// decode php_site_event
$item->php_site_event = base64_decode($item->php_site_event);
// decode php_admin_event
$item->php_admin_event = base64_decode($item->php_admin_event);
// decode php_method_uninstall
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
// decode php_preflight_install
$item->php_preflight_install = base64_decode($item->php_preflight_install);
// 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_both
$item->php_helper_both = base64_decode($item->php_helper_both);
// decode php_helper_admin
$item->php_helper_admin = base64_decode($item->php_helper_admin);
// decode sql
$item->sql = base64_decode($item->sql);
// decode php_preflight_update
$item->php_preflight_update = base64_decode($item->php_preflight_update);
// decode css_site
$item->css_site = base64_decode($item->css_site);
// 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);
// decode php_postflight_update
$item->php_postflight_update = base64_decode($item->php_postflight_update);
// decode readme
$item->readme = base64_decode($item->readme);
// 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);
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 php_preflight_update
$item->php_preflight_update = base64_decode($item->php_preflight_update);
// decode php_postflight_update
$item->php_postflight_update = base64_decode($item->php_postflight_update);
// decode sql
$item->sql = base64_decode($item->sql);
// decode readme
$item->readme = base64_decode($item->readme);
// 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_preflight_install
$item->php_preflight_install = base64_decode($item->php_preflight_install);
// decode php_postflight_install
$item->php_postflight_install = base64_decode($item->php_postflight_install);
// decode php_method_uninstall
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
// decode sql_uninstall
$item->sql_uninstall = base64_decode($item->sql_uninstall);
if ($basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
{
// decrypt export_key

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
ALTER TABLE `#__componentbuilder_joomla_component` ADD `add_menu_prefix` CHAR(1) NOT NULL DEFAULT '' AFTER `add_license`;
ALTER TABLE `#__componentbuilder_joomla_component` ADD `menu_prefix` VARCHAR(100) NOT NULL DEFAULT '' AFTER `license_type`;

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>20th September, 2018</creationDate>
<creationDate>24th September, 2018</creationDate>
<author>Llewellyn van der Merwe</author>
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
<copyright>Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<version>2.9.1</version>
<version>2.9.3</version>
<description><![CDATA[
<h1>Component Builder (v.2.9.1)</h1>
<h1>Component Builder (v.2.9.3)</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

@ -526,4 +526,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.9.3</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.9.3/JCB_v2.9.3.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

@ -3452,9 +3452,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","php_admin_event":"php_admin_event","debug_linenr":"debug_linenr","sales_server":"sales_server","add_update_server":"add_update_server","php_method_uninstall":"php_method_uninstall","php_preflight_install":"php_preflight_install","mvc_versiondate":"mvc_versiondate","add_placeholders":"add_placeholders","css_admin":"css_admin","description":"description","php_postflight_install":"php_postflight_install","copyright":"copyright","sql_uninstall":"sql_uninstall","adduikit":"adduikit","php_helper_both":"php_helper_both","author":"author","component_version":"component_version","add_email_helper":"add_email_helper","email":"email","php_helper_admin":"php_helper_admin","website":"website","php_helper_site":"php_helper_site","add_license":"add_license","javascript":"javascript","license_type":"license_type","css_site":"css_site","whmcs_key":"whmcs_key","php_preflight_update":"php_preflight_update","whmcs_url":"whmcs_url","php_postflight_update":"php_postflight_update","whmcs_buy_link":"whmcs_buy_link","sql":"sql","license":"license","readme":"readme","bom":"bom","update_server_target":"update_server_target","image":"image","update_server":"update_server","not_required":"not_required","buildcomp":"buildcomp","creatuserhelper":"creatuserhelper","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_css_admin":"add_css_admin","add_css_site":"add_css_site","toignore":"toignore","dashboard_type":"dashboard_type","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","export_key":"export_key","add_php_preflight_update":"add_php_preflight_update","joomla_source_link":"joomla_source_link","add_php_postflight_install":"add_php_postflight_install","export_buy_link":"export_buy_link","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","emptycontributors":"emptycontributors","addreadme":"addreadme","number":"number","update_server_url":"update_server_url","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql","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_helper_admin","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_helper_admin":"php_helper_admin","add_email_helper":"add_email_helper","debug_linenr":"debug_linenr","sql":"sql","php_preflight_update":"php_preflight_update","css_site":"css_site","description":"description","mvc_versiondate":"mvc_versiondate","add_placeholders":"add_placeholders","php_helper_site":"php_helper_site","javascript":"javascript","copyright":"copyright","author":"author","php_postflight_update":"php_postflight_update","email":"email","readme":"readme","website":"website","buildcomp":"buildcomp","add_license":"add_license","adduikit":"adduikit","license_type":"license_type","php_helper_both":"php_helper_both","php_admin_event":"php_admin_event","whmcs_key":"whmcs_key","php_site_event":"php_site_event","whmcs_url":"whmcs_url","css_admin":"css_admin","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_install":"php_preflight_install","bom":"bom","php_postflight_install":"php_postflight_install","image":"image","php_method_uninstall":"php_method_uninstall","update_server_target":"update_server_target","sql_uninstall":"sql_uninstall","update_server":"update_server","add_update_server":"add_update_server","component_version":"component_version","not_required":"not_required","sales_server":"sales_server","creatuserhelper":"creatuserhelper","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_menu_prefix":"add_menu_prefix","add_javascript":"add_javascript","menu_prefix":"menu_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","dashboard_type":"dashboard_type","toignore":"toignore","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","export_key":"export_key","add_php_postflight_install":"add_php_postflight_install","joomla_source_link":"joomla_source_link","add_php_postflight_update":"add_php_postflight_update","export_buy_link":"export_buy_link","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","addreadme":"addreadme","emptycontributors":"emptycontributors","number":"number","update_server_url":"update_server_url","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql","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","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","debug_linenr","sales_server","add_update_server","mvc_versiondate","add_placeholders","adduikit","add_email_helper","add_license","license_type","update_server_target","update_server","not_required","buildcomp","creatuserhelper","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","emptycontributors","addreadme","number","add_sales_server"],"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": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_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","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_email_helper","debug_linenr","mvc_versiondate","add_placeholders","buildcomp","add_license","adduikit","license_type","update_server_target","update_server","add_update_server","not_required","sales_server","creatuserhelper","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","addreadme","emptycontributors","number","add_sales_server"],"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": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"}]}';
// Set the object into the content types table.
$joomla_component_Inserted = $db->insertObject('#__content_types', $joomla_component);
@ -3898,9 +3898,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","php_admin_event":"php_admin_event","debug_linenr":"debug_linenr","sales_server":"sales_server","add_update_server":"add_update_server","php_method_uninstall":"php_method_uninstall","php_preflight_install":"php_preflight_install","mvc_versiondate":"mvc_versiondate","add_placeholders":"add_placeholders","css_admin":"css_admin","description":"description","php_postflight_install":"php_postflight_install","copyright":"copyright","sql_uninstall":"sql_uninstall","adduikit":"adduikit","php_helper_both":"php_helper_both","author":"author","component_version":"component_version","add_email_helper":"add_email_helper","email":"email","php_helper_admin":"php_helper_admin","website":"website","php_helper_site":"php_helper_site","add_license":"add_license","javascript":"javascript","license_type":"license_type","css_site":"css_site","whmcs_key":"whmcs_key","php_preflight_update":"php_preflight_update","whmcs_url":"whmcs_url","php_postflight_update":"php_postflight_update","whmcs_buy_link":"whmcs_buy_link","sql":"sql","license":"license","readme":"readme","bom":"bom","update_server_target":"update_server_target","image":"image","update_server":"update_server","not_required":"not_required","buildcomp":"buildcomp","creatuserhelper":"creatuserhelper","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_css_admin":"add_css_admin","add_css_site":"add_css_site","toignore":"toignore","dashboard_type":"dashboard_type","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","export_key":"export_key","add_php_preflight_update":"add_php_preflight_update","joomla_source_link":"joomla_source_link","add_php_postflight_install":"add_php_postflight_install","export_buy_link":"export_buy_link","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","emptycontributors":"emptycontributors","addreadme":"addreadme","number":"number","update_server_url":"update_server_url","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql","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_helper_admin","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_helper_admin":"php_helper_admin","add_email_helper":"add_email_helper","debug_linenr":"debug_linenr","sql":"sql","php_preflight_update":"php_preflight_update","css_site":"css_site","description":"description","mvc_versiondate":"mvc_versiondate","add_placeholders":"add_placeholders","php_helper_site":"php_helper_site","javascript":"javascript","copyright":"copyright","author":"author","php_postflight_update":"php_postflight_update","email":"email","readme":"readme","website":"website","buildcomp":"buildcomp","add_license":"add_license","adduikit":"adduikit","license_type":"license_type","php_helper_both":"php_helper_both","php_admin_event":"php_admin_event","whmcs_key":"whmcs_key","php_site_event":"php_site_event","whmcs_url":"whmcs_url","css_admin":"css_admin","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_install":"php_preflight_install","bom":"bom","php_postflight_install":"php_postflight_install","image":"image","php_method_uninstall":"php_method_uninstall","update_server_target":"update_server_target","sql_uninstall":"sql_uninstall","update_server":"update_server","add_update_server":"add_update_server","component_version":"component_version","not_required":"not_required","sales_server":"sales_server","creatuserhelper":"creatuserhelper","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_menu_prefix":"add_menu_prefix","add_javascript":"add_javascript","menu_prefix":"menu_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","dashboard_type":"dashboard_type","toignore":"toignore","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","export_key":"export_key","add_php_postflight_install":"add_php_postflight_install","joomla_source_link":"joomla_source_link","add_php_postflight_update":"add_php_postflight_update","export_buy_link":"export_buy_link","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","add_sql_uninstall":"add_sql_uninstall","addreadme":"addreadme","emptycontributors":"emptycontributors","number":"number","update_server_url":"update_server_url","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql","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","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","debug_linenr","sales_server","add_update_server","mvc_versiondate","add_placeholders","adduikit","add_email_helper","add_license","license_type","update_server_target","update_server","not_required","buildcomp","creatuserhelper","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","emptycontributors","addreadme","number","add_sales_server"],"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": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_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","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_email_helper","debug_linenr","mvc_versiondate","add_placeholders","buildcomp","add_license","adduikit","license_type","update_server_target","update_server","add_update_server","not_required","sales_server","creatuserhelper","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","addreadme","emptycontributors","number","add_sales_server"],"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": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"}]}';
// Check if joomla_component type is already in content_type DB.
$joomla_component_id = null;
@ -5116,7 +5116,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.9.1 Was Successful! Let us know if anything is not working as expected.</h3>';
<h3>Upgrade to Version 2.9.3 Was Successful! Let us know if anything is not working as expected.</h3>';
}
}

View File

@ -32,6 +32,11 @@ abstract class ComponentbuilderHelper
**/
public static $libraryNames = array(1 => 'No Library', 2 => 'Bootstrap v4', 3 => 'Uikit v3', 4 => 'Uikit v2', 5 => 'FooTable v2', 6 => 'FooTable v3');
/**
* Array of php fields Allowed (16)
**/
public static $phpFieldArray = array('', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'x');
/**
* The global params
**/
@ -670,7 +675,7 @@ abstract class ComponentbuilderHelper
if ($db->getNumRows())
{
$result = $db->loadObject();
$properties = json_decode($result->properties,true);
$properties = json_decode($result->properties, true);
$field = array(
'subform' => array(),
'nameListOptions' => array(),
@ -684,11 +689,11 @@ abstract class ComponentbuilderHelper
// value to check since there are false and null values even 0 in the values returned
$confirmation = '8qvZHoyuFYQqpj0YQbc6F3o5DhBlmS-_-a8pmCZfOVSfANjkmV5LG8pCdAY2JNYu6cB';
// set the headers
$field['values_description'] .= '<thead><tr><th class="uk-text-right">'.JText::_('COM_COMPONENTBUILDER_PROPERTY').'</th><th>'.JText::_('COM_COMPONENTBUILDER_EXAMPLE').'</th><th>'.JText::_('COM_COMPONENTBUILDER_DESCRIPTION').'</th></thead><tbody>';
$field['values_description'] .= '<thead><tr><th class="uk-text-right">' . JText::_('COM_COMPONENTBUILDER_PROPERTY') . '</th><th>' . JText::_('COM_COMPONENTBUILDER_EXAMPLE') . '</th><th>' . JText::_('COM_COMPONENTBUILDER_DESCRIPTION') . '</th></thead><tbody>';
foreach ($properties as $property)
{
$example = (isset($property['example']) && self::checkString($property['example'])) ? $property['example'] : '';
$field['values_description'] .= '<tr><td class="uk-text-right"><code>'.$property['name'].'</code></td><td>'.$example.'</td><td>'.$property['description'].'</td></tr>';
$field['values_description'] .= '<tr><td class="uk-text-right"><code>' . $property['name'] . '</code></td><td>' . $example . '</td><td>' . $property['description'] . '</td></tr>';
// check if we should load the value
$value = self::getValueFromXMLstring($xml, $property['name'], $confirmation);
// check if this is a php field
@ -709,7 +714,7 @@ abstract class ComponentbuilderHelper
if(self::checkArray($settings) && isset($settings[$property['name']]))
{
// add the xml values
$field['values'] .= PHP_EOL."\t".$property['name'].'="'.$settings[$property['name']].'" ';
$field['values'] .= PHP_EOL . "\t" . $property['name'] . '="'. $settings[$property['name']] . '" ';
// add the json values
if ($addPHP)
{
@ -723,7 +728,7 @@ abstract class ComponentbuilderHelper
elseif (!$xml || $confirmation !== $value)
{
// add the xml values
$field['values'] .= PHP_EOL."\t" . $property['name'] . '="'. ($confirmation !== $value) ? $value : $example .'" ';
$field['values'] .= PHP_EOL."\t" . $property['name'] . '="' . ($confirmation !== $value) ? $value : $example .'" ';
// add the json values
if ($addPHP)
{
@ -742,7 +747,7 @@ abstract class ComponentbuilderHelper
// increment the number
$nr++;
}
$field['values'] .= PHP_EOL."/>";
$field['values'] .= PHP_EOL . "/>";
$field['values_description'] .= '</tbody></table>';
// return found field options
return $field;
@ -750,11 +755,16 @@ abstract class ComponentbuilderHelper
return false;
}
public static function getValueFromXMLstring($xml, $get, $confirmation)
public static function getValueFromXMLstring(&$xml, &$get, $confirmation = '')
{
if (self::checkString($xml))
{
return self::getBetween($xml, $get.'="', '"', $confirmation);
// if we have a PHP value, we must base64 decode it
if (strpos($get, 'type_php') !== false)
{
return self::openValidBase64(self::getBetween($xml, $get.'="', '"', $confirmation));
}
return self::getBetween($xml, $get . '="', '"', $confirmation);
}
return $confirmation;
}
@ -2254,6 +2264,38 @@ abstract class ComponentbuilderHelper
return '<div>'.JText::_('COM_COMPONENTBUILDER_NO_COMPONENT_DETAILS_FOUND_SO_IT_IS_NOT_SAFE_TO_CONTINUE').'</div>';
}
/**
* open base64 string if stored as base64
*
* @param string $data The base64 string
* @param string $key We store the string with that suffix :)
*
* @return string The opened string
*
*/
public static function openValidBase64($data, $key = '__.o0=base64=Oo.__')
{
// check that we have a string
if (self::checkString($data))
{
// check if we have a key
if (self::checkString($key))
{
if (strpos($data, $key) !== false)
{
return base64_decode(str_replace($key, '', $data));
}
}
// fallback to this, not perfect method
elseif (base64_encode(base64_decode($data, true)) === $data)
{
return base64_decode($data);
}
}
return $data;
}
/**
* prepare base64 string for url
**/