Few Fixes and Improved the Admin Fields Relations #326

Merged
Llewellyn merged 5 commits from staging into master 2018-07-30 13:21:39 +00:00
30 changed files with 707 additions and 488 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.8.4) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.5) 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,11 +125,11 @@ 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*: 10th July, 2018
+ *Version*: 2.8.4
+ *Last Build*: 30th July, 2018
+ *Version*: 2.8.5
+ *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*: **186333**
+ *Line count*: **186360**
+ *Field count*: **1059**
+ *File count*: **1239**
+ *Folder count*: **197**

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.8.4) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.5) 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,11 +125,11 @@ 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*: 10th July, 2018
+ *Version*: 2.8.4
+ *Last Build*: 30th July, 2018
+ *Version*: 2.8.5
+ *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*: **186333**
+ *Line count*: **186360**
+ *Field count*: **1059**
+ *File count*: **1239**
+ *Folder count*: **197**

View File

@ -209,16 +209,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" />
@ -505,10 +505,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.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..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.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
</section>
<section name="language_translation">

View File

@ -248,16 +248,16 @@ abstract class ###Component###Helper
{
if ($external)
{
if ($name = self::getVar(null, $val, $id, $name, '=', $table))
if ($_name = self::getVar(null, $val, $id, $name, '=', $table))
{
$names[] = $name;
$names[] = $_name;
}
}
else
{
if ($name = self::getVar($table, $val, $id, $name))
if ($_name = self::getVar($table, $val, $id, $name))
{
$names[] = $name;
$names[] = $_name;
}
}
}
@ -979,7 +979,7 @@ abstract class ###Component###Helper
*
* @returns string on success
**/
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true)
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true, $keepOnlyCharacters = true)
{
if ($replaceNumbers === true)
{
@ -1008,7 +1008,16 @@ abstract class ###Component###Helper
$string = trim($string);
$string = preg_replace('/'.$spacer.'+/', ' ', $string);
$string = preg_replace('/\s+/', ' ', $string);
$string = preg_replace("/[^A-Za-z ]/", '', $string);
// remove all and keep only characters
if ($keepOnlyCharacters)
{
$string = preg_replace("/[^A-Za-z ]/", '', $string);
}
// keep both numbers and characters
else
{
$string = preg_replace("/[^A-Za-z0-9 ]/", '', $string);
}
// select final adaptations
if ($type === 'L' || $type === 'strtolower')
{

View File

@ -138,17 +138,17 @@ abstract class ###Component###Email
$replyto = $conf->get('replyto');
$replytoname = $conf->get('replytoname');
}
// Set global sender
$mail->setSender(array($mailfrom, $fromname));
// set the global reply-to if found
if ($replyto && $replytoname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $replyto, $replytoname ) );
$mail->addReplyTo($replyto, $replytoname);
}
// Set global sender
$mail->setSender(array($mailfrom, $fromname));
// Default mailer is to use PHP's mail function
switch ($mailer)
{
@ -196,9 +196,6 @@ abstract class ###Component###Email
// set component params
$conf = self::getConfig();
// do some house cleaning
$mail->ClearReplyTos();
// set if we have override
if ($mailfrom && $fromname)
{

View File

@ -58,16 +58,16 @@ abstract class ###Component###Helper
{
if ($external)
{
if ($name = self::getVar(null, $val, $id, $name, '=', $table))
if ($_name = self::getVar(null, $val, $id, $name, '=', $table))
{
$names[] = $name;
$names[] = $_name;
}
}
else
{
if ($name = self::getVar($table, $val, $id, $name))
if ($_name = self::getVar($table, $val, $id, $name))
{
$names[] = $name;
$names[] = $_name;
}
}
}
@ -971,7 +971,7 @@ abstract class ###Component###Helper
*
* @returns string on success
**/
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true)
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true, $keepOnlyCharacters = true)
{
if ($replaceNumbers === true)
{
@ -1000,7 +1000,16 @@ abstract class ###Component###Helper
$string = trim($string);
$string = preg_replace('/'.$spacer.'+/', ' ', $string);
$string = preg_replace('/\s+/', ' ', $string);
$string = preg_replace("/[^A-Za-z ]/", '', $string);
// remove all and keep only characters
if ($keepOnlyCharacters)
{
$string = preg_replace("/[^A-Za-z ]/", '', $string);
}
// keep both numbers and characters
else
{
$string = preg_replace("/[^A-Za-z0-9 ]/", '', $string);
}
// select final adaptations
if ($type === 'L' || $type === 'strtolower')
{

View File

@ -33,6 +33,31 @@ class ComponentbuilderControllerJoomla_component extends JControllerForm
{
$this->view_list = 'Joomla_components'; // safeguard for setting the return view listing to the main view.
parent::__construct($config);
}
public function refresh()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// check if import is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('joomla_component.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder'))
{
$session = JFactory::getSession();
$session->set('backto_VDM_IMPORT', 'joomla_components');
$session->set('dataType_VDM_IMPORTINTO', 'smart_package');
// clear the session
ComponentbuilderHelper::set('vdmGithubPackages', null);
ComponentbuilderHelper::set('communityGithubPackages', null);
// Redirect to import view.
$message = JText::_('COM_COMPONENTBUILDER_YOU_CAN_NOW_SELECT_THE_COMPONENT_BZIPB_PACKAGE_YOU_WOULD_LIKE_TO_IMPORTBR_SMALLPLEASE_NOTE_THAT_SMART_COMPONENT_IMPORT_ONLY_WORKS_WITH_THE_FOLLOWING_FORMAT_BZIPBSMALL');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=import_joomla_components&target=smartPackage', false), $message);
return;
}
// Redirect to the list screen with error.
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error');
return;
}
/**

View File

@ -355,6 +355,8 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
public function cloner()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// Get the model
$model = $this->getModel('Joomla_components');
// check if export is allowed for this user.

View File

@ -494,6 +494,13 @@ class Get
*/
public $fieldRelations = array();
/**
* Default Fields
*
* @var array
*/
public $defaultFields = array('created', 'created_by', 'modified', 'modified_by', 'published', 'ordering', 'access', 'version', 'hits', 'id');
/**
* The list join fields
*
@ -1540,112 +1547,123 @@ class Get
$view->addfields = (isset($view->addfields) && ComponentbuilderHelper::checkJson($view->addfields)) ? json_decode($view->addfields, true) : null;
if (ComponentbuilderHelper::checkArray($view->addfields))
{
$ignoreFields = array();
// load the field data
$view->fields = array_map(function($field) use($name_single, $name_list, &$ignoreFields)
{
// set hash
static $hash = 123467890; // (TODO) I found this making duplicates
// load hash
$field['hash'] = md5($field['field'] . $hash);
// increment hash
$hash++;
// set the settings
$field['settings'] = $this->getFieldData($field['field'], $name_single, $name_list);
// set real field name
$field['base_name'] = $this->getFieldName($field);
// set code name for field type
$field['type_name'] = $this->getFieldType($field);
// check if value is array
if (isset($field['permission']) && !ComponentbuilderHelper::checkArray($field['permission']) && is_numeric($field['permission']) && $field['permission'] > 0)
{
$field['permission'] = array($field['permission']);
}
// check if this field is a default field OR
// check if this is none database related field
if (in_array($field['base_name'], $this->defaultFields) ||
ComponentbuilderHelper::fieldCheck($field['type_name'], 'spacer') ||
(isset($field['list']) && $field['list'] == 2)) // 2 = none database
{
$ignoreFields[$field['field']] = $field['field'];
}
// set unigue name keeper
$this->setUniqueNameCounter($field['base_name'], $name_list);
// return field
return $field;
}, array_values($view->addfields));
// build update SQL
if ($old_view = $this->getHistoryWatch('admin_fields', $view->addfields_id))
{
// add new fields were added
if (isset($old_view->addfields) && ComponentbuilderHelper::checkJson($old_view->addfields))
{
$this->setUpdateSQL(json_decode($old_view->addfields, true), $view->addfields, 'field', $name_single);
$this->setUpdateSQL(json_decode($old_view->addfields, true), $view->addfields, 'field', $name_single, $ignoreFields);
}
// clear this data
unset($old_view);
}
if (ComponentbuilderHelper::checkArray($view->addfields))
// sort the fields acording to order
usort($view->fields, function($a, $b)
{
// load the field data
$view->fields = array_map(function($field) use($name_single, $name_list)
if (isset($a['order_list']) && isset($b['order_list']))
{
// set hash
static $hash = 123467890; // (TODO) I found this making duplicates
// load hash
$field['hash'] = md5($field['field'] . $hash);
// increment hash
$hash++;
// set the settings
$field['settings'] = $this->getFieldData($field['field'], $name_single, $name_list);
// set real field name
$field['base_name'] = $this->getFieldName($field);
// set unigue name keeper
$this->setUniqueNameCounter($field['base_name'], $name_list);
// return field
return $field;
}, array_values($view->addfields));
// sort the fields acording to order
usort($view->fields, function($a, $b)
{
if (isset($a['order_list']) && isset($b['order_list']))
if ($a['order_list'] != 0 && $b['order_list'] != 0)
{
return $a['order_list'] - $b['order_list'];
}
elseif ($b['order_list'] != 0 && $a['order_list'] == 0)
{
if ($a['order_list'] != 0 && $b['order_list'] != 0)
{
return $a['order_list'] - $b['order_list'];
}
elseif ($b['order_list'] != 0 && $a['order_list'] == 0)
{
return 1;
}
elseif ($a['order_list'] != 0 && $b['order_list'] == 0)
{
return 0;
}
return 1;
}
return 0;
});
// do some house cleaning (for fields)
foreach ($view->fields as $field)
{
// so first we lock the field name in
$field_name = $this->getFieldName($field, $name_list);
// check if the field changed since the last compilation
if (ComponentbuilderHelper::checkObject($field['settings']->history))
elseif ($a['order_list'] != 0 && $b['order_list'] == 0)
{
// check if the datatype changed
if (isset($field['settings']->history->datatype))
return 0;
}
return 1;
}
return 0;
});
// do some house cleaning (for fields)
foreach ($view->fields as $field)
{
// so first we lock the field name in
$field_name = $this->getFieldName($field, $name_list);
// check if the field changed since the last compilation (default fields never change and are always added)
if (!isset($ignoreFields[$field['field']]) && ComponentbuilderHelper::checkObject($field['settings']->history))
{
// check if the datatype changed
if (isset($field['settings']->history->datatype))
{
$this->setUpdateSQL($field['settings']->history->datatype, $field['settings']->datatype, 'field.datatype', $name_single . '.' . $field_name);
}
// check if the datatype lenght changed
if (isset($field['settings']->history->datalenght) && isset($field['settings']->history->datalenght_other))
{
$this->setUpdateSQL($field['settings']->history->datalenght . $field['settings']->history->datalenght_other, $field['settings']->datalenght . $field['settings']->datalenght_other, 'field.lenght', $name_single . '.' . $field_name);
}
// check if the name changed
if (isset($field['settings']->history->xml) && ComponentbuilderHelper::checkJson($field['settings']->history->xml))
{
// only run if this is not an alias or a tag
if ((!isset($field['alias']) || !$field['alias']) && 'tag' !== $field['settings']->type_name)
{
$this->setUpdateSQL($field['settings']->history->datatype, $field['settings']->datatype, 'field.datatype', $name_single . '.' . $field_name);
}
// check if the datatype lenght changed
if (isset($field['settings']->history->datalenght) && isset($field['settings']->history->datalenght_other))
{
$this->setUpdateSQL($field['settings']->history->datalenght . $field['settings']->history->datalenght_other, $field['settings']->datalenght . $field['settings']->datalenght_other, 'field.lenght', $name_single . '.' . $field_name);
}
// check if the name changed
if (isset($field['settings']->history->xml) && ComponentbuilderHelper::checkJson($field['settings']->history->xml))
{
// only run if this is not an alias or a tag
if ((!isset($field['alias']) || !$field['alias']) && 'tag' !== $field['settings']->type_name)
{
// build temp field bucket
$tmpfield = array();
$tmpfield['settings'] = new stdClass();
// convert the xml json string to normal string
$tmpfield['settings']->xml = $this->setDynamicValues(json_decode($field['settings']->history->xml));
// add properties from current field as it is generic
$tmpfield['settings']->properties = $field['settings']->properties;
// add the old name
$tmpfield['settings']->name = $field['settings']->history->name;
// add the field type from current field since it is generic
$tmpfield['settings']->type_name = $field['settings']->type_name;
// get the old name
$old_field_name = $this->getFieldName($tmpfield);
// build temp field bucket
$tmpfield = array();
$tmpfield['settings'] = new stdClass();
// convert the xml json string to normal string
$tmpfield['settings']->xml = $this->setDynamicValues(json_decode($field['settings']->history->xml));
// add properties from current field as it is generic
$tmpfield['settings']->properties = $field['settings']->properties;
// add the old name
$tmpfield['settings']->name = $field['settings']->history->name;
// add the field type from current field since it is generic
$tmpfield['settings']->type_name = $field['settings']->type_name;
// get the old name
$old_field_name = $this->getFieldName($tmpfield);
// only run this if not a multi field
if (!isset($this->uniqueNames[$name_list]['names'][$field_name]))
{
// this only works when the field is not multiple of the same field
$this->setUpdateSQL($old_field_name, $field_name, 'field.name', $name_single . '.' . $field_name);
}
elseif ($old_field_name !== $field_name)
{
// give a notice atleast that the multi fields could have changed and no DB update was done
$this->app->enqueueMessage(JText::sprintf('You have a field called <b>%s</b> that has been added multiple times to the <b>%s</b> view, the name of that field has changed to <b>%s</b>. Normaly we would automaticly add the update SQL to your component, but with multiple fields this does not work automaticly since it could be that noting changed and it just seems like it did. Therefore you will have to do this manualy if it actualy did change!', $field_name, $name_single, $old_field_name), 'Notice');
}
// remove tmp
unset($tmpfield);
// only run this if not a multi field
if (!isset($this->uniqueNames[$name_list]['names'][$field_name]))
{
// this only works when the field is not multiple of the same field
$this->setUpdateSQL($old_field_name, $field_name, 'field.name', $name_single . '.' . $field_name);
}
elseif ($old_field_name !== $field_name)
{
// give a notice atleast that the multi fields could have changed and no DB update was done
$this->app->enqueueMessage(JText::sprintf('You have a field called <b>%s</b> that has been added multiple times to the <b>%s</b> view, the name of that field has changed to <b>%s</b>. Normaly we would automaticly add the update SQL to your component, but with multiple fields this does not work automaticly since it could be that noting changed and it just seems like it did. Therefore you will have to do this manualy if it actualy did change!', $field_name, $name_single, $old_field_name), 'Notice');
}
// remove tmp
unset($tmpfield);
}
}
}
@ -1741,23 +1759,28 @@ class Get
foreach ($view->addrelations as $nr => $relationsValue)
{
// only add if list view field is selected and joind fields are set
if (isset($relationsValue['listfield']) &&
is_numeric($relationsValue['listfield']) &&
$relationsValue['listfield'] > 0 &&
isset($relationsValue['joinfields']) &&
ComponentbuilderHelper::checkArray($relationsValue['joinfields']))
if (isset($relationsValue['listfield']) && is_numeric($relationsValue['listfield']) && $relationsValue['listfield'] > 0 &&
isset($relationsValue['area']) && is_numeric($relationsValue['area']) && $relationsValue['area'] > 0)
{
// do a dynamic update on the set values
if (isset($relationsValue['set']) && ComponentbuilderHelper::checkString($relationsValue['set']))
{
$relationsValue['set'] = $this->setDynamicValues($relationsValue['set']);
}
// load the field relations
$this->fieldRelations[$name_list][(int) $relationsValue['listfield']] = $relationsValue;
// load the list joints
foreach ($relationsValue['joinfields'] as $join)
// check that the arrays are set
if (!isset($this->fieldRelations[$name_list][(int) $relationsValue['listfield']]) || !ComponentbuilderHelper::checkArray($this->fieldRelations[$name_list][(int) $relationsValue['listfield']]))
{
$this->listJoinBuilder[$name_list][(int) $join] = (int) $join;
$this->fieldRelations[$name_list][(int) $relationsValue['listfield']] = array();
}
// load the field relations
$this->fieldRelations[$name_list][ (int) $relationsValue['listfield']][ (int) $relationsValue['area']] = $relationsValue;
// load the list joints
if (isset($relationsValue['joinfields']) && ComponentbuilderHelper::checkArray($relationsValue['joinfields']))
{
foreach ($relationsValue['joinfields'] as $join)
{
$this->listJoinBuilder[$name_list][(int) $join] = (int) $join;
}
}
// set header over-ride
if (isset($relationsValue['column_name']) && ComponentbuilderHelper::checkString($relationsValue['column_name']))
@ -2318,7 +2341,7 @@ class Get
if ($this->validationRules[$validationRule] = ComponentbuilderHelper::getVar('validation_rule', $validationRule, 'name', 'php'))
{
// open and set the validation rule
$this->validationRules[$validationRule] = $this->setDynamicValues(base64_decode($this->validationRules[$validationRule]));
$this->validationRules[$validationRule] = $this->setPlaceholders($this->setDynamicValues(base64_decode($this->validationRules[$validationRule])), $this->placeholders);
}
else
{
@ -2498,6 +2521,11 @@ class Get
*/
public function getFieldType(&$field)
{
// check if we have done this already
if (isset($field['type_name']))
{
return $field['type_name'];
}
// set the type name
$type_name = ComponentbuilderHelper::safeString($field['settings']->type_name);
// check that we have the poperties
@ -2507,16 +2535,17 @@ class Get
{
if ($property['name'] === 'type')
{
// 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
elseif (ComponentbuilderHelper::checkString($type_name))
// use field core type (name)
elseif (ComponentbuilderHelper::checkString($type_name) || (isset($property['example']) && ComponentbuilderHelper::checkString($property['example']) && $property['adjustable'] == 0))
{
$type = $type_name;
}
// make sure none adjustable fields are set (should be same as above)
// 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'];
@ -3022,11 +3051,12 @@ class Get
* @param mix $new The new values
* @param string $type The type of values
* @param int $key The id/key where values changed
* @param array $ignore The ids to ignore
*
* @return void
*
*/
protected function setUpdateSQL($old, $new, $type, $key = null)
protected function setUpdateSQL($old, $new, $type, $key = null, $ignore = null)
{
// check if there were new items added
if (ComponentbuilderHelper::checkArray($new) && ComponentbuilderHelper::checkArray($old))
@ -3037,8 +3067,14 @@ class Get
foreach ($new[$type] as $item)
{
$newItem = true;
// check if this is an id to ignore
if (ComponentbuilderHelper::checkArray($ignore) && in_array($item, $ignore))
{
// don't add ignored ids
$newItem = false;
}
// check if this is old repeatable field
if (isset($old[$type]) && ComponentbuilderHelper::checkArray($old[$type]))
elseif (isset($old[$type]) && ComponentbuilderHelper::checkArray($old[$type]))
{
if (!in_array($item, $old[$type]))
{
@ -3084,12 +3120,18 @@ class Get
{
foreach ($new as $item)
{
// search to see if this is a new value
$newItem = true;
if (isset($item[$type]))
{
// search to see if this is a new value
$newItem = true;
// check if this is an id to ignore
if (ComponentbuilderHelper::checkArray($ignore) && in_array($item[$type], $ignore))
{
// don't add ignored ids
$newItem = false;
}
// check if this is old repeatable field
if (isset($old[$type]) && ComponentbuilderHelper::checkArray($old[$type]))
elseif (isset($old[$type]) && ComponentbuilderHelper::checkArray($old[$type]))
{
if (in_array($item[$type], $old[$type]))
{
@ -3120,16 +3162,12 @@ class Get
{
$newItem = false;
}
}
else
{
break;
}
// add if new
if ($newItem)
{
// we have a new item, lets add to SQL
$this->setAddSQL($type, $item[$type], $key);
// add if new
if ($newItem)
{
// we have a new item, lets add to SQL
$this->setAddSQL($type, $item[$type], $key);
}
}
}
}
@ -3886,7 +3924,7 @@ class Get
* @param string $method_key The method unique key
* @param string $view_code The code name of the view
* @param string $string The data string
* @param string || INT $asset The asset in question
* @param string $asset The asset in question
* @param string $as The as string
* @param int $row_type The row type
* @param string $type The target type (db||view)
@ -3920,20 +3958,19 @@ class Get
{
if (strpos($line, 'AS') !== false)
{
list($get, $key) = explode("AS", $line);
$lineArray = explode("AS", $line);
}
elseif (strpos($line, 'as') !== false)
{
list($get, $key) = explode("as", $line);
$lineArray = explode("as", $line);
}
else
{
$get = $line;
$key = null;
$lineArray = array($line, null);
}
// set the get and key
$get = trim($get);
$key = trim($key);
$get = trim($lineArray[0]);
$key = trim($lineArray[1]);
// only add the view (we must adapt this)
if (isset($this->getAsLookup[$method_key][$get]) && 'a' != $as && 1 == $row_type && 'view' === $type && strpos('#' . $key, '#' . $view . '_') === false)
{
@ -3955,10 +3992,18 @@ class Get
$this->getAsLookup[$method_key][$get] = $key;
$keys[] = $this->db->quote($key);
}
// make sure we have the view name
if (ComponentbuilderHelper::checkString($view))
{
// prep the field name
$field = str_replace($as . '.', '', $get);
$this->siteFields[$view][$field][$method_key] = array('site' => $view_code, 'get' => $get, 'as' => $as, 'key' => $key);
// make sure the array is set
if (!isset($this->siteFields[$view][$field]))
{
$this->siteFields[$view][$field] = array();
}
// load to the site fields memory bucket
$this->siteFields[$view][$field][$method_key . '___' . $as] = array('site' => $view_code, 'get' => $get, 'as' => $as, 'key' => $key);
}
}
}

View File

@ -319,13 +319,6 @@ class Fields extends Structure
*/
public $fieldsNames = array();
/**
* Default Fields
*
* @var array
*/
public $defaultFields = array('created', 'created_by', 'modified', 'modified_by', 'published', 'ordering', 'access', 'version', 'hits', 'id');
/**
* Default Fields set to publishing
*
@ -749,6 +742,7 @@ class Fields extends Structure
'name' => 'id',
'type' => 'text',
'class' => 'readonly',
'readonly' => "true",
'label' => 'JGLOBAL_FIELD_ID_LABEL',
'description' => 'JGLOBAL_FIELD_ID_DESC',
'size' => 10,
@ -1993,8 +1987,12 @@ class Fields extends Structure
$textareas = array('textarea', 'editor');
if (isset($this->siteFields[$view][$field]) && ComponentbuilderHelper::checkArray($this->siteFields[$view][$field]))
{
foreach ($this->siteFields[$view][$field] as $code => $array)
foreach ($this->siteFields[$view][$field] as $codeString => $array)
{
// get the code array
$codeArray = explode('___', $codeString);
// set the code
$code = trim($codeArray[0]);
// set the decoding methods
if (in_array($set, $decode))
{
@ -2048,6 +2046,7 @@ class Fields extends Structure
// reset array
$fieldAttributes = array();
$setCustom = false;
$setReadonly = false;
// setup joomla default fields
if (!ComponentbuilderHelper::fieldCheck($typeName))
{
@ -2175,6 +2174,11 @@ class Fields extends Structure
{
// set read only
$xmlValue = 'true';
// trip the switch for readonly
if ($property['name'] === 'readonly')
{
$setReadonly = true;
}
}
elseif ($property['name'] === 'multiple')
{
@ -2314,6 +2318,11 @@ class Fields extends Structure
$fieldAttributes['validate'] = ComponentbuilderHelper::safeString($validationRule);
}
}
// make sure ID is always readonly
if ($fieldAttributes['name'] === 'id' && !$setReadonly)
{
$fieldAttributes['readonly'] = 'true';
}
}
}
return $fieldAttributes;
@ -2487,11 +2496,15 @@ class Fields extends Structure
'options' => $options);
}
// update the field relations
if (isset($this->fieldRelations[$view_name_list]) && isset($this->fieldRelations[$view_name_list][(int) $field['field']]))
if (isset($this->fieldRelations[$view_name_list]) && isset($this->fieldRelations[$view_name_list][(int) $field['field']])
&& ComponentbuilderHelper::checkArray($this->fieldRelations[$view_name_list][(int) $field['field']]))
{
$this->fieldRelations[$view_name_list][(int) $field['field']]['type'] = $typeName;
$this->fieldRelations[$view_name_list][(int) $field['field']]['code'] = $name;
$this->fieldRelations[$view_name_list][(int) $field['field']]['custom'] = $custom;
foreach ($this->fieldRelations[$view_name_list][(int) $field['field']] as $area => &$field_values)
{
$field_values['type'] = $typeName;
$field_values['code'] = $name;
$field_values['custom'] = $custom;
}
}
// set the hidden field of this view
if ($typeName === 'hidden')

View File

@ -165,6 +165,27 @@ class Interpretation extends Fields
*/
protected $hasCatIdRequest = array();
/**
* All fields with permissions
*
* @var array
*/
protected $permissionFields = array();
/**
* Custom Admin View List Link
*
* @var array
*/
protected $customAdminViewListLink = array();
/**
* load Tracker of fields to fix
*
* @var array
*/
protected $loadTracker = array();
/**
* View Has Id Request
*
@ -1613,8 +1634,13 @@ class Interpretation extends Fields
{
foreach ($filters as $field => $ter)
{
if (strpos($get['selection']['select'], $ter['table_key']) !== false)
// build load counter
$key = md5('setCustomViewFieldDecodeFilter' . $code . $get['key'] . $string . $ter['table_key']);
// check if we should load this again
if (strpos($get['selection']['select'], $ter['table_key']) !== false && !isset($this->loadTracker[$key]))
{
// set the key
$this->loadTracker[$key] = $key;
$as = '';
$felt = '';
list($as, $felt) = array_map('trim', explode('.', $ter['table_key']));
@ -1729,8 +1755,13 @@ class Interpretation extends Fields
$fieldDecode = '';
foreach ($checker as $field => $array)
{
if (strpos($get['selection']['select'], $field) !== false && ComponentbuilderHelper::checkArray($array['decode']))
// build load counter
$key = md5('setCustomViewFieldDecode' . $code . $get['key'] . $string . $field);
// check if we should load this again
if (strpos($get['selection']['select'], $field) !== false && !isset($this->loadTracker[$key]) && ComponentbuilderHelper::checkArray($array['decode']))
{
// set the key
$this->loadTracker[$key] = $key;
// insure it is unique
$array['decode'] = (array) array_unique(array_reverse((array) $array['decode']));
// now loop the array
@ -1763,7 +1794,7 @@ class Interpretation extends Fields
}
// build decoder string
$fieldDecode .= $if . PHP_EOL . $this->_t(1) . $tab . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Decode " . $field;
$fieldDecode .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "//" . $this->setLine(__LINE__) . " Check if we can decode " . $field .$if . PHP_EOL . $this->_t(1) . $tab . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Decode " . $field;
$fieldDecode .= PHP_EOL . $this->_t(1) . $tab . $this->_t(2) . $decoder . PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "}";
}
}
@ -1778,8 +1809,13 @@ class Interpretation extends Fields
$context = 'com_' . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . '.' . $code;
foreach ($checker as $field => $array)
{
if (strpos($get['selection']['select'], $field) !== false)
// build load counter
$key = md5('setCustomViewFieldonContentPrepareChecker' . $code . $get['key'] . $string . $field);
// check if we should load this again
if (strpos($get['selection']['select'], $field) !== false && !isset($this->loadTracker[$key]))
{
// set the key
$this->loadTracker[$key] = $key;
// build decoder string
if (!$runplugins)
{
@ -1795,7 +1831,10 @@ class Interpretation extends Fields
}
}
// load dispatcher
$this->JEventDispatcher = array($this->hhh . 'DISPATCHER' . $this->hhh => ($runplugins ?: ''));
if ($runplugins)
{
$this->JEventDispatcher = array($this->hhh . 'DISPATCHER' . $this->hhh => $runplugins);
}
// return content prepare fix
return $fieldPrepare;
}
@ -1805,8 +1844,13 @@ class Interpretation extends Fields
$fieldUikit = '';
foreach ($checker as $field => $array)
{
if (strpos($get['selection']['select'], $field) !== false)
// build load counter
$key = md5('setCustomViewFieldUikitChecker' . $code . $get['key'] . $string . $field);
// check if we should load this again
if (strpos($get['selection']['select'], $field) !== false && !isset($this->loadTracker[$key]))
{
// set the key
$this->loadTracker[$key] = $key;
// only load for uikit version 2 (TODO) we may need to add another check here
if (2 == $this->uikit || 1 == $this->uikit)
{
@ -2632,6 +2676,7 @@ class Interpretation extends Fields
public function setCustomViewCustomItemMethods(&$main_get, $code)
{
$methods = '';
$this->JEventDispatcher = '';
// first set the needed item/s methods
if (ComponentbuilderHelper::checkObject($main_get))
{
@ -3938,9 +3983,9 @@ class Interpretation extends Fields
if (2 == $this->uikit)
{
$setter .= PHP_EOL . PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Load uikit version.";
$setter .= PHP_EOL . $this->_t(2) . "\$uikitVersion = \$this->params->get('uikit_version', 2);";
$setter .= PHP_EOL . $this->_t(2) . "\$this->uikitVersion = \$this->params->get('uikit_version', 2);";
$setter .= PHP_EOL . PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Use Uikit Version 2";
$setter .= PHP_EOL . $this->_t(2) . "if (2 == \$uikitVersion)";
$setter .= PHP_EOL . $this->_t(2) . "if (2 == \$this->uikitVersion)";
$setter .= PHP_EOL . $this->_t(2) . "{";
$tabV = $this->_t(1);
}
@ -4055,7 +4100,7 @@ class Interpretation extends Fields
{
$setter .= PHP_EOL . $this->_t(2) . "}";
$setter .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Use Uikit Version 3";
$setter .= PHP_EOL . $this->_t(2) . "elseif (3 == \$uikitVersion)";
$setter .= PHP_EOL . $this->_t(2) . "elseif (3 == \$this->uikitVersion)";
$setter .= PHP_EOL . $this->_t(2) . "{";
}
// add version 3 fiels to page
@ -6485,7 +6530,7 @@ class Interpretation extends Fields
if ($firstTimeBeingAdded) // TODO we must improve this to allow more items to be targeted instead of just the first item :)
{
// get custom admin view buttons
$customAdminViewButtons = $this->getCustomAdminViewButtons($item, $viewName_single, $viewName_list, $coreLoad);
$customAdminViewButtons = $this->getCustomAdminViewButtons($viewName_list);
// make sure the custom admin view buttons are only added once
$firstTimeBeingAdded = false;
}
@ -6558,18 +6603,13 @@ class Interpretation extends Fields
protected function getListItemBuilder($item, $viewName_single, $viewName_list, &$itemClass, $doNotEscape, $coreLoad, $core, $class = true, $ref = null, $escape = '$this->escape', $user = '$this->user', $refview = null)
{
// check if we have relation fields
if (isset($this->fieldRelations[$viewName_list]) &&
isset($this->fieldRelations[$viewName_list][(int) $item['id']]) &&
isset($this->fieldRelations[$viewName_list][(int) $item['id']]['area']) &&
$this->fieldRelations[$viewName_list][(int) $item['id']]['area'] == 2 &&
isset($this->fieldRelations[$viewName_list][(int) $item['id']]['joinfields']) &&
ComponentbuilderHelper::checkArray($this->fieldRelations[$viewName_list][(int) $item['id']]['joinfields']))
if (isset($this->fieldRelations[$viewName_list]) && isset($this->fieldRelations[$viewName_list][(int) $item['id']]) && isset($this->fieldRelations[$viewName_list][(int) $item['id']][2]))
{
// set the fields array
$field = array();
// use custom code
$useCustomCode = (isset($this->fieldRelations[$viewName_list][(int) $item['id']]['join_type']) && $this->fieldRelations[$viewName_list][(int) $item['id']]['join_type'] == 2 &&
isset($this->fieldRelations[$viewName_list][(int) $item['id']]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']]['set']));
$useCustomCode = (isset($this->fieldRelations[$viewName_list][(int) $item['id']][2]['join_type']) && $this->fieldRelations[$viewName_list][(int) $item['id']][2]['join_type'] == 2 &&
isset($this->fieldRelations[$viewName_list][(int) $item['id']][2]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']][2]['set']));
// load the main list view field
$field['[field=' . (int) $item['id'] . ']'] = $this->getListItem($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core, false, $ref, $escape, $user, $refview);
// code name
@ -6578,17 +6618,21 @@ class Interpretation extends Fields
$field['$item->{' . (int) $item['id'] . '}'] = '$item->' . $item['code'];
}
// now load the relations
foreach ($this->fieldRelations[$viewName_list][(int) $item['id']]['joinfields'] as $join)
if (isset($this->fieldRelations[$viewName_list][(int) $item['id']][2]['joinfields']) &&
ComponentbuilderHelper::checkArray($this->fieldRelations[$viewName_list][(int) $item['id']][2]['joinfields']))
{
$blankClass = '';
if (isset($this->listJoinBuilder[$viewName_list]) && isset($this->listJoinBuilder[$viewName_list][(int) $join]))
foreach ($this->fieldRelations[$viewName_list][(int) $item['id']][2]['joinfields'] as $join)
{
// code block
$field['[field=' . (int) $join . ']'] = $this->getListItem($this->listJoinBuilder[$viewName_list][(int) $join], $viewName_single, $viewName_list, $blankClass, $doNotEscape, $coreLoad, $core, false, $ref, $escape, $user, $refview);
// code name
if (isset($this->listJoinBuilder[$viewName_list][(int) $join]['code']) && $useCustomCode)
$blankClass = '';
if (isset($this->listJoinBuilder[$viewName_list]) && isset($this->listJoinBuilder[$viewName_list][(int) $join]))
{
$field['$item->{' . (int) $join . '}'] = '$item->' . $this->listJoinBuilder[$viewName_list][(int) $join]['code'];
// code block
$field['[field=' . (int) $join . ']'] = $this->getListItem($this->listJoinBuilder[$viewName_list][(int) $join], $viewName_single, $viewName_list, $blankClass, $doNotEscape, $coreLoad, $core, false, $ref, $escape, $user, $refview);
// code name
if (isset($this->listJoinBuilder[$viewName_list][(int) $join]['code']) && $useCustomCode)
{
$field['$item->{' . (int) $join . '}'] = '$item->' . $this->listJoinBuilder[$viewName_list][(int) $join]['code'];
}
}
}
}
@ -6596,12 +6640,12 @@ class Interpretation extends Fields
if ($useCustomCode)
{
// custom code
return PHP_EOL . $this->_t(3) . "<div>" . $this->setPlaceholders(str_replace(array_keys($field), array_values($field), $this->fieldRelations[$viewName_list][(int) $item['id']]['set']), $this->placeholders) . PHP_EOL . $this->_t(3) . "</div>";
return PHP_EOL . $this->_t(3) . "<div>" . $this->setPlaceholders(str_replace(array_keys($field), array_values($field), $this->fieldRelations[$viewName_list][(int) $item['id']][2]['set']), $this->placeholders) . PHP_EOL . $this->_t(3) . "</div>";
}
elseif (isset($this->fieldRelations[$viewName_list][(int) $item['id']]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']]['set']))
elseif (isset($this->fieldRelations[$viewName_list][(int) $item['id']]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']][2]['set']))
{
// concatenate
return PHP_EOL . $this->_t(3) . "<div>" . implode($this->fieldRelations[$viewName_list][(int) $item['id']]['set'], $field) . PHP_EOL . $this->_t(3) . "</div>";
return PHP_EOL . $this->_t(3) . "<div>" . implode($this->fieldRelations[$viewName_list][(int) $item['id']][2]['set'], $field) . PHP_EOL . $this->_t(3) . "</div>";
}
// default
return PHP_EOL . $this->_t(3) . "<div>" . implode('', $field) . PHP_EOL . $this->_t(3) . "</div>";
@ -7868,7 +7912,7 @@ class Interpretation extends Fields
if ($firstTimeBeingAdded) // TODO we must improve this to allow more items to be targeted instead of just the first item :)
{
// get custom admin view buttons
$customAdminViewButtons = $this->getCustomAdminViewButtons($item, $viewName_single, $viewName_list, $coreLoad, $ref);
$customAdminViewButtons = $this->getCustomAdminViewButtons($viewName_list, $ref);
// make sure the custom admin view buttons are only added once
$firstTimeBeingAdded = false;
}
@ -10899,30 +10943,27 @@ class Interpretation extends Fields
// handel the fields permissions
if (isset($this->permissionFields[$viewName_single]) && ComponentbuilderHelper::checkArray($this->permissionFields[$viewName_single]))
{
foreach ($this->permissionFields[$viewName_single] as $fieldName => $fieldType)
foreach ($this->permissionFields[$viewName_single] as $fieldName => $permission_options)
{
$allow[] = $this->_t(2) . "//" . $this->setLine(__LINE__) . " Modify the form based on Edit " . ComponentbuilderHelper::safeString($fieldName, 'W') . " access controls.";
$allow[] = $this->_t(2) . "if (\$id != 0 && (!\$user->authorise('" . $viewName_single . ".edit." . $fieldName . "', 'com_" . $component . "." . $viewName_single . ".' . (int) \$id))";
$allow[] = $this->_t(3) . "|| (\$id == 0 && !\$user->authorise('" . $viewName_single . ".edit." . $fieldName . "', 'com_" . $component . "')))";
$allow[] = $this->_t(2) . "{";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable fields for display.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'disabled', 'true');";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable fields for display.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'readonly', 'true');";
if ('radio' === $fieldType || 'repeatable' === $fieldType)
foreach($permission_options as $permission_option => $fieldType)
{
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable radio button for display.";
$allow[] = $this->_t(3) . "\$class = \$form->getFieldAttribute('" . $fieldName . "', 'class', '');";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'class', \$class.' disabled no-click');";
switch ($permission_option)
{
case 'edit':
$this->setPermissionEditFields($allow, $viewName_single, $fieldName, $fieldType, $component);
break;
case 'access':
$this->setPermissionAccessFields($allow, $viewName_single, $fieldName, $fieldType, $component);
break;
case 'view':
$this->setPermissionViewFields($allow, $viewName_single, $fieldName, $fieldType, $component);
break;
case 'edit.own':
case 'access.own':
// this must still be build (TODO)
break;
}
}
$allow[] = $this->_t(3) . "if (!\$form->getValue('" . $fieldName . "'))";
$allow[] = $this->_t(3) . "{";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'filter', 'unset');";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'required', 'false');";
$allow[] = $this->_t(3) . "}";
$allow[] = $this->_t(2) . "}";
}
}
// add the redirect trick to set the field of origin
@ -10945,6 +10986,63 @@ class Interpretation extends Fields
return implode(PHP_EOL, $allow);
}
protected function setPermissionEditFields(&$allow, $viewName_single, $fieldName, $fieldType, $component)
{
$allow[] = $this->_t(2) . "//" . $this->setLine(__LINE__) . " Modify the form based on Edit " . ComponentbuilderHelper::safeString($fieldName, 'W') . " access controls.";
$allow[] = $this->_t(2) . "if (\$id != 0 && (!\$user->authorise('" . $viewName_single . ".edit." . $fieldName . "', 'com_" . $component . "." . $viewName_single . ".' . (int) \$id))";
$allow[] = $this->_t(3) . "|| (\$id == 0 && !\$user->authorise('" . $viewName_single . ".edit." . $fieldName . "', 'com_" . $component . "')))";
$allow[] = $this->_t(2) . "{";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable fields for display.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'disabled', 'true');";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable fields for display.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'readonly', 'true');";
if ('radio' === $fieldType || 'repeatable' === $fieldType)
{
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable radio button for display.";
$allow[] = $this->_t(3) . "\$class = \$form->getFieldAttribute('" . $fieldName . "', 'class', '');";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'class', \$class.' disabled no-click');";
}
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " If there is no value continue.";
$allow[] = $this->_t(3) . "if (!\$form->getValue('" . $fieldName . "'))";
$allow[] = $this->_t(3) . "{";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'filter', 'unset');";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'required', 'false');";
$allow[] = $this->_t(3) . "}";
$allow[] = $this->_t(2) . "}";
}
protected function setPermissionAccessFields(&$allow, $viewName_single, $fieldName, $fieldType, $component)
{
$allow[] = $this->_t(2) . "//" . $this->setLine(__LINE__) . " Modify the from the form based on " . ComponentbuilderHelper::safeString($fieldName, 'W') . " access controls.";
$allow[] = $this->_t(2) . "if (\$id != 0 && (!\$user->authorise('" . $viewName_single . ".access." . $fieldName . "', 'com_" . $component . "." . $viewName_single . ".' . (int) \$id))";
$allow[] = $this->_t(3) . "|| (\$id == 0 && !\$user->authorise('" . $viewName_single . ".access." . $fieldName . "', 'com_" . $component . "')))";
$allow[] = $this->_t(2) . "{";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Remove the field";
$allow[] = $this->_t(3) . "\$form->removeField('" . $fieldName . "');";
$allow[] = $this->_t(2) . "}";
}
protected function setPermissionViewFields(&$allow, $viewName_single, $fieldName, $fieldType, $component)
{
$allow[] = $this->_t(2) . "//" . $this->setLine(__LINE__) . " Modify the form based on View " . ComponentbuilderHelper::safeString($fieldName, 'W') . " access controls.";
$allow[] = $this->_t(2) . "if (\$id != 0 && (!\$user->authorise('" . $viewName_single . ".view." . $fieldName . "', 'com_" . $component . "." . $viewName_single . ".' . (int) \$id))";
$allow[] = $this->_t(3) . "|| (\$id == 0 && !\$user->authorise('" . $viewName_single . ".view." . $fieldName . "', 'com_" . $component . "')))";
$allow[] = $this->_t(2) . "{";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Make the field hidded.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'type', 'hidden');";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " If there is no value continue.";
$allow[] = $this->_t(3) . "if (!\$form->getValue('" . $fieldName . "'))";
$allow[] = $this->_t(3) . "{";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'filter', 'unset');";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'required', 'false');";
$allow[] = $this->_t(3) . "}";
$allow[] = $this->_t(2) . "}";
}
public function setJmodelAdminAllowEdit($viewName_single, $viewName_list)
{
@ -11840,11 +11938,14 @@ class Interpretation extends Fields
// load the relations before modeling
if (isset($this->fieldRelations[$viewName_list]) && ComponentbuilderHelper::checkArray($this->fieldRelations[$viewName_list]))
{
foreach ($this->fieldRelations[$viewName_list] as $field)
foreach ($this->fieldRelations[$viewName_list] as $field_id => $fields)
{
if (isset($field['area']) && $field['area'] == 1 && isset($field['code']))
foreach ($fields as $area => $field)
{
$fix .= $this->setModelFieldRelation($field, $viewName_list);
if ($area == 1 && isset($field['code']))
{
$fix .= $this->setModelFieldRelation($field, $viewName_list, $tab);
}
}
}
}
@ -12058,11 +12159,14 @@ class Interpretation extends Fields
// load the relations after modeling
if (isset($this->fieldRelations[$viewName_list]) && ComponentbuilderHelper::checkArray($this->fieldRelations[$viewName_list]))
{
foreach ($this->fieldRelations[$viewName_list] as $field)
foreach ($this->fieldRelations[$viewName_list] as $fields)
{
if (isset($field['area']) && $field['area'] == 3 && isset($field['code']))
foreach ($fields as $area => $field)
{
$fix .= $this->setModelFieldRelation($field, $viewName_list);
if ($area == 3 && isset($field['code']))
{
$fix .= $this->setModelFieldRelation($field, $viewName_list, $tab);
}
}
}
}
@ -12115,7 +12219,7 @@ class Interpretation extends Fields
return $script . $forEachStart . $fix;
}
protected function setModelFieldRelation($item, $viewName_list)
protected function setModelFieldRelation($item, $viewName_list, $tab)
{
$fix = '';
// set fields
@ -12123,9 +12227,12 @@ class Interpretation extends Fields
// set list field name
$field['$item->{' . (int) $item['listfield'] . '}'] = '$item->' . $item['code'];
// load joint field names
foreach ($item['joinfields'] as $join)
if (isset($item['joinfields']) && ComponentbuilderHelper::checkArray($item['joinfields']))
{
$field['$item->{' . (int) $join . '}'] = '$item->' . $this->listJoinBuilder[$viewName_list][(int) $join]['code'];
foreach ($item['joinfields'] as $join)
{
$field['$item->{' . (int) $join . '}'] = '$item->' . $this->listJoinBuilder[$viewName_list][(int) $join]['code'];
}
}
// set based on join_type
if ($item['join_type'] == 2)
@ -12140,7 +12247,7 @@ class Interpretation extends Fields
$fix .= PHP_EOL . $this->_t(1) . $tab . $this->_t(3) . "//" . $this->setLine(__LINE__) . " concatenate these fields";
$fix .= PHP_EOL . $this->_t(1) . $tab . $this->_t(3) . "\$item->" . $item['code'] . ' = ' . implode(" . '" . str_replace("'", '&apos;', $item['set']) . "' . ", $field) . ';';
}
return $fix;
return $this->setPlaceholders($fix, $this->placeholders);
}
public function setSelectionTranslationFix($views, $Component, $tab = '')
@ -14892,7 +14999,6 @@ function vdm_dkim() {
$this->addCustomButtonPermissions($view['settings'], $view['settings']->name_single, $nameView);
if ($nameView != 'component')
{
// add menu controll view that has menus options
foreach ($menuControllers as $menuController)
{
@ -14922,41 +15028,53 @@ function vdm_dkim() {
// check if there are fields
if (ComponentbuilderHelper::checkArray($view['settings']->fields))
{
// field permission options
$permission_options = array(1 => 'edit', 2 => 'access', 3 => 'view');
// check the fields for their permission settings
foreach ($view['settings']->fields as $field)
{
// see if field require permissions to be set
if (isset($field['permission']) && $field['permission'])
if (isset($field['permission']) && ComponentbuilderHelper::checkArray($field['permission']))
{
if (ComponentbuilderHelper::checkArray($field['settings']->properties))
{
foreach ($field['settings']->properties as $property)
{
if ($property['name'] === 'type')
{
$propertyType = $property;
}
}
$fieldType = $this->getFieldType($field);
$fieldName = $this->getFieldName($field, $nameViews);
$fieldView = array();
// set the permission for this field
$fieldView['action'] = 'view.edit.' . $fieldName;
$fieldView['implementation'] = '3';
if (ComponentbuilderHelper::checkArray($view['settings']->permissions))
// loop the permission options
foreach ($field['permission'] as $permission_id)
{
array_push($view['settings']->permissions, $fieldView);
}
else
{
$view['settings']->permissions = array();
$view['settings']->permissions[] = $fieldView;
}
// insure that no default field get loaded
if (!in_array($fieldName, $this->defaultFields))
{
// load to global field permission set
$this->permissionFields[$nameView][$fieldName] = $fieldType;
// set the permission key word
$permission_option = $permission_options[$permission_id];
// reset the bucket
$fieldView = array();
// set the permission for this field
$fieldView['action'] = 'view.' . $permission_option . '.' . $fieldName;
$fieldView['implementation'] = '3';
// check if persmissions was laready set
if (isset($view['settings']->permissions) && ComponentbuilderHelper::checkArray($view['settings']->permissions))
{
array_push($view['settings']->permissions, $fieldView);
}
else
{
$view['settings']->permissions = array();
$view['settings']->permissions[] = $fieldView;
}
// insure that no default field get loaded
if (!in_array($fieldName, $this->defaultFields))
{
// make sure the array is set
if (!isset($this->permissionFields[$nameView]) || !ComponentbuilderHelper::checkArray($this->permissionFields[$nameView]))
{
$this->permissionFields[$nameView] = array();
}
if (!isset($this->permissionFields[$nameView][$fieldName]) || !ComponentbuilderHelper::checkArray($this->permissionFields[$nameView][$fieldName]))
{
$this->permissionFields[$nameView][$fieldName] = array();
}
// load to global field permission set
$this->permissionFields[$nameView][$fieldName][$permission_option] = $fieldType;
}
}
}
}
@ -15114,6 +15232,7 @@ function vdm_dkim() {
$w_NameList = $view['settings']->name;
$w_NameSingle = $view['settings']->name;
}
// set the title based on the name builder
switch ($nameBuilder)
{
case 'edit':
@ -15192,7 +15311,7 @@ function vdm_dkim() {
// set edit title
$permission['title'] = $W_NameList . ' ' . ComponentbuilderHelper::safeString($customName, 'W');
// set edit description
$permission['description'] = ' Allows the users in this group to update the ' . ComponentbuilderHelper::safeString($customName, 'w') . ' of the ' . $w_NameSingle;
$permission['description'] = ' Allows the users in this group to ' . ComponentbuilderHelper::safeString($customName, 'w') . ' of ' . $w_NameSingle;
break;
}
// if core is not used update all core strings

View File

@ -4226,16 +4226,16 @@ abstract class ComponentbuilderHelper
{
if ($external)
{
if ($name = self::getVar(null, $val, $id, $name, '=', $table))
if ($_name = self::getVar(null, $val, $id, $name, '=', $table))
{
$names[] = $name;
$names[] = $_name;
}
}
else
{
if ($name = self::getVar($table, $val, $id, $name))
if ($_name = self::getVar($table, $val, $id, $name))
{
$names[] = $name;
$names[] = $_name;
}
}
}
@ -4957,7 +4957,7 @@ abstract class ComponentbuilderHelper
*
* @returns string on success
**/
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true)
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true, $keepOnlyCharacters = true)
{
if ($replaceNumbers === true)
{
@ -4986,7 +4986,16 @@ abstract class ComponentbuilderHelper
$string = trim($string);
$string = preg_replace('/'.$spacer.'+/', ' ', $string);
$string = preg_replace('/\s+/', ' ', $string);
$string = preg_replace("/[^A-Za-z ]/", '', $string);
// remove all and keep only characters
if ($keepOnlyCharacters)
{
$string = preg_replace("/[^A-Za-z ]/", '', $string);
}
// keep both numbers and characters
else
{
$string = preg_replace("/[^A-Za-z0-9 ]/", '', $string);
}
// select final adaptations
if ($type === 'L' || $type === 'strtolower')
{

View File

@ -121,17 +121,17 @@ abstract class ComponentbuilderEmail
$replyto = $conf->get('replyto');
$replytoname = $conf->get('replytoname');
}
// Set global sender
$mail->setSender(array($mailfrom, $fromname));
// set the global reply-to if found
if ($replyto && $replytoname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $replyto, $replytoname ) );
$mail->addReplyTo($replyto, $replytoname);
}
// Set global sender
$mail->setSender(array($mailfrom, $fromname));
// Default mailer is to use PHP's mail function
switch ($mailer)
{
@ -179,9 +179,6 @@ abstract class ComponentbuilderEmail
// set component params
$conf = self::getConfig();
// do some house cleaning
$mail->ClearReplyTos();
// set if we have override
if ($mailfrom && $fromname)
{

View File

@ -3,6 +3,7 @@ COM_COMPONENTBUILDER_ABOVE_TABS="Above Tabs"
COM_COMPONENTBUILDER_ACCEPTS_AN_EMAIL_ADDRESS_SATISFIES_A_BASIC_SYNTAX_CHECK_IN_THE_PATTERN_OF_QUOTXYZZQUOT_WITH_NO_INVALID_CHARACTERS="Accepts an email address satisfies a basic syntax check in the pattern of &quot;x@y.zz&quot;, with no invalid characters."
COM_COMPONENTBUILDER_ACCEPTS_ONLY_EMPTY_VALUES_CONVERTED_TO_ZERO_AND_STRINGS_IN_THE_FORM_RGB_OR_RRGGBB_WHERE_R_G_AND_B_ARE_HEX_VALUES="Accepts only empty values (converted to '#000000') and strings in the form '#RGB' or '#RRGGBB' where R, G, and B are hex values."
COM_COMPONENTBUILDER_ACCEPTS_ONLY_THE_VALUES_ZERO_ONE_TRUE_OR_FALSE_CASEINSENSITIVE="Accepts only the values '0', '1', 'true' or 'false' (case-insensitive)."
COM_COMPONENTBUILDER_ACCESS="Access"
COM_COMPONENTBUILDER_ACCESS_BULK_TOOLS="Access Bulk Tools"
COM_COMPONENTBUILDER_ACCESS_DENIED="Access denied!"
COM_COMPONENTBUILDER_ACTIVE_ONLY_FOUR_TEXT_FIELD="Active (only 4 text_field)"
@ -138,6 +139,7 @@ COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_UNPUBLISHED_1="%s Admin Fie
COM_COMPONENTBUILDER_ADMIN_BEHAVIOUR="Admin Behaviour"
COM_COMPONENTBUILDER_ADMIN_FIELDS="Admin Fields"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ABOVE_TABS="Above Tabs"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ACCESS="Access"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ADDFIELDS="Addfields"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ADDFIELDS_DESCRIPTION="Setup fields for this view."
COM_COMPONENTBUILDER_ADMIN_FIELDS_ADDFIELDS_LABEL="Fields"
@ -234,7 +236,6 @@ COM_COMPONENTBUILDER_ADMIN_FIELDS_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_ADMIN_FIELDS_MODIFIED_DATE_DESC="The date this Admin Fields was modified."
COM_COMPONENTBUILDER_ADMIN_FIELDS_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NEW="A New Admin Fields"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NONE="None"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NONE_DB="None DB"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NOTE_ON_VIEWS_DESCRIPTION="id, asset_id, state, access, ordering, created_by, created, modified_by, modified, checked_out, checked_out_time, version, hits, metakey, metadesc, metadata (you don't need to add them again)<br />For more help <a href='https://youtu.be/CdSKSCTzmRA?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=32m28s' target='_blank'>please watch this tutorial</a>."
COM_COMPONENTBUILDER_ADMIN_FIELDS_NOTE_ON_VIEWS_LABEL="The following fields are added by default to all views."
@ -313,6 +314,7 @@ COM_COMPONENTBUILDER_ADMIN_FIELDS_TITLE_LABEL="Title"
COM_COMPONENTBUILDER_ADMIN_FIELDS_UNDERNEATH_TABS="Underneath Tabs"
COM_COMPONENTBUILDER_ADMIN_FIELDS_VERSION_DESC="A count of the number of times this Admin Fields has been revised."
COM_COMPONENTBUILDER_ADMIN_FIELDS_VERSION_LABEL="Revision"
COM_COMPONENTBUILDER_ADMIN_FIELDS_VIEW="View"
COM_COMPONENTBUILDER_ADMIN_VIEW="Admin View"
COM_COMPONENTBUILDER_ADMIN_VIEWS="Admin Views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS="Admin Views Access"
@ -324,9 +326,9 @@ COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC="Allows users in this group to u
COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE="Admin Views Create"
COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC="Allows the users in this group to create create admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD="Admin Views Dashboard Add"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST="Admin Views Dashboard List"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE="Admin Views Delete"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC="Allows the users in this group to delete delete admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT="Admin Views Edit"
@ -363,7 +365,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_UNFEATURED_1="%s Admin View unfeatured.
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_UNPUBLISHED="%s Admin Views unpublished."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_UNPUBLISHED_1="%s Admin View unpublished."
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU="Admin Views Submenu"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of admin view"
COM_COMPONENTBUILDER_ADMIN_VIEW_ACTION_DESCRIPTION="Enter Action Name Here"
COM_COMPONENTBUILDER_ADMIN_VIEW_ACTION_LABEL="Action Name"
COM_COMPONENTBUILDER_ADMIN_VIEW_ADD="Add"
@ -1001,8 +1003,8 @@ COM_COMPONENTBUILDER_BACKUP_WAS_DONE_SUCCESSFULLY="Backup was done successfully"
COM_COMPONENTBUILDER_BACK_TO_LIBRARIES="Back to Libraries"
COM_COMPONENTBUILDER_BADMIN_FIELDS_RELATIONSB_IDS_MISMATCH_IN_BFIELDSB_AND_WAS_NOT_UPDATED_IN_THE_CUSTOM_CODE="<b>Admin fields relations</b> id:%s mismatch in <b>field:%s</b>, and was not updated in the custom code."
COM_COMPONENTBUILDER_BASIC_TUTORIAL_ON_GIT_BSB="Basic Tutorial on git: <b>%s</b>"
COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_THIS_PACKAGE_BFAILEDB_CHECKSUM_VALIDATION_THIS_COULD_BE_A_SERIOUS_SECURITY_BREACH_DO_NOT_CONTINUE="<b>Best to not continue!</b><br />This package <b>FAILED</b> checksum validation, this could be a serious security breach! DO NOT CONTINUE!!!"
COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_WE_COULD_NOT_LOAD_THE_CHECKSUM_FOR_THIS_PACKAGE_AND_SO_NO_VALIDATION_WAS_POSSIBLE_THIS_MAY_BE_DUE_TO_YOUR_NETWORK_OR_A_CHANGE_TO_THAT_PACKAGE_NAME="<b>Best to not continue!</b><br />We could not load the checksum for this package, and so no validation was possible. This may be due to your network, or a change to that package name."
COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_YOU_CAN_REFRESH_AND_TRY_AGAINBR_BUT_NOTE_THAT_THIS_PACKAGE_BFAILEDB_CHECKSUM_VALIDATION_THIS_COULD_BE_A_SERIOUS_SECURITY_BREACH_DO_NOT_CONTINUE="<b>Best to not continue!</b><br />You can Refresh and try again.<br />But note that this package <b>FAILED</b> checksum validation, this could be a serious security breach! DO NOT CONTINUE!!!"
COM_COMPONENTBUILDER_BCUSTOM_FILESB_NOT_MOVED_TO_CORRECT_LOCATION="<b>Custom files</b> not moved to correct location!"
COM_COMPONENTBUILDER_BEHIND="Behind"
COM_COMPONENTBUILDER_BEHIND_MEANS_YOUR_BLOCAL_SNIPPETB_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_HAS_A_BOLDER_MODIFIED_DATEB_THEN_THE_COMMUNITY_SNIPPET_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE="Behind means your <b>local snippet</b> (with the same name, library and type) has a <b>older modified date</b> then the community snippet (with the same name, library and type)."
@ -1046,10 +1048,10 @@ COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC=" Allows the users in this group to ac
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clear tmp button."
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the Compiler"
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
COM_COMPONENTBUILDER_COMPILER_DESC="The compiler"
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to update the submenu of the Compiler"
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
COM_COMPONENTBUILDER_COMPILE_COMPONENT="Compile Component"
COM_COMPONENTBUILDER_COMPONENTS="Components"
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS="Components Admin Views"
@ -2671,9 +2673,9 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE_DESC="Allows users in this gro
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_CREATE="Custom Admin Views Create"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_CREATE_DESC="Allows the users in this group to create create custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD="Custom Admin Views Dashboard Add"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST="Custom Admin Views Dashboard List"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DELETE="Custom Admin Views Delete"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DELETE_DESC="Allows the users in this group to delete delete custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT="Custom Admin Views Edit"
@ -2706,7 +2708,7 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_UNFEATURED_1="%s Custom Admin Vi
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_UNPUBLISHED="%s Custom Admin Views unpublished."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_UNPUBLISHED_1="%s Custom Admin View unpublished."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU="Custom Admin Views Submenu"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ADDRESS="Address"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ADD_CSS="Add Css"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ADD_CSS_DOCUMENT="Add Css Document"
@ -3115,7 +3117,7 @@ COM_COMPONENTBUILDER_CUSTOM_CODES_BATCH_USE_DESC="Allows users in this group to
COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE="Custom Codes Create"
COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE_DESC="Allows the users in this group to create create custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST="Custom Codes Dashboard List"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_DELETE="Custom Codes Delete"
COM_COMPONENTBUILDER_CUSTOM_CODES_DELETE_DESC="Allows the users in this group to delete delete custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT="Custom Codes Edit"
@ -3152,7 +3154,7 @@ COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_UNFEATURED_1="%s Custom Code unfeature
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_UNPUBLISHED="%s Custom Codes unpublished."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_UNPUBLISHED_1="%s Custom Code unpublished."
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU="Custom Codes Submenu"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC="Allows the users in this group to update the submenu of the custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC="Allows the users in this group to submenu of custom code"
COM_COMPONENTBUILDER_CUSTOM_CODE_CODE="Code"
COM_COMPONENTBUILDER_CUSTOM_CODE_CODE_DESCRIPTION="Add your custom code here. <b>Do Not Add The Placeholders Here</b>, it will be added to the code dynamically!"
COM_COMPONENTBUILDER_CUSTOM_CODE_CODE_LABEL="Custom code"
@ -3400,9 +3402,9 @@ COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE_DESC="Allows users in this group to
COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE="Dynamic Gets Create"
COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE_DESC="Allows the users in this group to create create dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD="Dynamic Gets Dashboard Add"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST="Dynamic Gets Dashboard List"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DELETE="Dynamic Gets Delete"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DELETE_DESC="Allows the users in this group to delete delete dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT="Dynamic Gets Edit"
@ -3435,7 +3437,7 @@ COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_UNFEATURED_1="%s Dynamic Get unfeature
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_UNPUBLISHED="%s Dynamic Gets unpublished."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_UNPUBLISHED_1="%s Dynamic Get unpublished."
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU="Dynamic Gets Submenu"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to submenu of dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GET_A="a"
COM_COMPONENTBUILDER_DYNAMIC_GET_AA="aa"
COM_COMPONENTBUILDER_DYNAMIC_GET_ABACUS="Abacus"
@ -3694,6 +3696,7 @@ COM_COMPONENTBUILDER_DYNAMIC_GET_Z="z"
COM_COMPONENTBUILDER_DYNAMIC_GET_ZZ="zz"
COM_COMPONENTBUILDER_EDIT="Edit"
COM_COMPONENTBUILDER_EDITCREATE_SITE_VIEW="Edit/Create Site View"
COM_COMPONENTBUILDER_EDITING="Editing"
COM_COMPONENTBUILDER_EDIT_CREATED_BY="Edit Created By"
COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC=" Allows users in this group to edit created by."
COM_COMPONENTBUILDER_EDIT_CREATED_DATE="Edit Created Date"
@ -3742,9 +3745,9 @@ COM_COMPONENTBUILDER_FIELDS_BATCH_USE_DESC="Allows users in this group to use ba
COM_COMPONENTBUILDER_FIELDS_CREATE="Fields Create"
COM_COMPONENTBUILDER_FIELDS_CREATE_DESC="Allows the users in this group to create create fields"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD="Fields Dashboard Add"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the field"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of field"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST="Fields Dashboard List"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the field"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of field"
COM_COMPONENTBUILDER_FIELDS_DELETE="Fields Delete"
COM_COMPONENTBUILDER_FIELDS_DELETE_DESC="Allows the users in this group to delete delete fields"
COM_COMPONENTBUILDER_FIELDS_EDIT="Fields Edit"
@ -3777,7 +3780,7 @@ COM_COMPONENTBUILDER_FIELDS_N_ITEMS_UNFEATURED_1="%s Field unfeatured."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_UNPUBLISHED="%s Fields unpublished."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_UNPUBLISHED_1="%s Field unpublished."
COM_COMPONENTBUILDER_FIELDS_SUBMENU="Fields Submenu"
COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC="Allows the users in this group to update the submenu of the field"
COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC="Allows the users in this group to submenu of field"
COM_COMPONENTBUILDER_FIELDTYPE="Fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES="Fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_ACCESS="Fieldtypes Access"
@ -3789,23 +3792,17 @@ COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE_DESC="Allows users in this group to us
COM_COMPONENTBUILDER_FIELDTYPES_CREATE="Fieldtypes Create"
COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC="Allows the users in this group to create create fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD="Fieldtypes Dashboard Add"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST="Fieldtypes Dashboard List"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the fieldtype"
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 update the edit description of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME="Fieldtypes Edit Name"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC="Allows the users in this group to update the edit name of the 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 update the edit properties of the 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 update the edit short description of the 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"
@ -3814,6 +3811,8 @@ 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."
@ -3831,8 +3830,12 @@ 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 update the submenu of the fieldtype"
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."
COM_COMPONENTBUILDER_FIELDTYPE_ADJUSTABLE_LABEL="Adjustable"
COM_COMPONENTBUILDER_FIELDTYPE_CATID_DESCRIPTION="select one of the following categories"
@ -4133,7 +4136,7 @@ COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC=" Allows the users in this group t
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets Custom Admin Views Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the custom admin views button."
COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST="Get Snippets Dashboard List"
COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_DESC="The compiler"
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS="Get Snippets Layouts Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the layouts button."
@ -4144,7 +4147,7 @@ COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS_DESC=" Allows the use
COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS="Get Snippets Snippets Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the snippets button."
COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU="Get Snippets Submenu"
COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU_DESC="Allows the users in this group to submenu of Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS="Get Snippets Templates Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS_DESC=" Allows the users in this group to access the templates button."
COM_COMPONENTBUILDER_GET_THE_SNIPPET_FROM_GITHUB_AND_INSTALL_IT_LOCALLY="Get the snippet from gitHub and install it locally"
@ -4165,7 +4168,7 @@ COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE_DESC="Allows users in this group t
COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE="Help Documents Create"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE_DESC="Allows the users in this group to create create help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST="Help Documents Dashboard List"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DELETE="Help Documents Delete"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DELETE_DESC="Allows the users in this group to delete delete help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT="Help Documents Edit"
@ -4198,7 +4201,7 @@ COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_UNFEATURED_1="%s Help Document unfea
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_UNPUBLISHED="%s Help Documents unpublished."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_UNPUBLISHED_1="%s Help Document unpublished."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU="Help Documents Submenu"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC="Allows the users in this group to submenu of help document"
COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN="Admin"
COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW="Admin View"
COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_DESCRIPTION="Select the view being target."
@ -4353,9 +4356,9 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC="Allows users in this grou
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE="Joomla Components Create"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE_DESC="Allows the users in this group to create create joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD="Joomla Components Dashboard Add"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST="Joomla Components Dashboard List"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE="Joomla Components Delete"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE_DESC="Allows the users in this group to delete delete joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT="Joomla Components Edit"
@ -4388,7 +4391,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_UNFEATURED_1="%s Joomla Component
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_UNPUBLISHED="%s Joomla Components unpublished."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_UNPUBLISHED_1="%s Joomla Component unpublished."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU="Joomla Components Submenu"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC="Allows the users in this group to submenu of joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDCONTRIBUTORS="Addcontributors"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDCONTRIBUTORS_DESCRIPTION="Setup contributors for the component."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDCONTRIBUTORS_LABEL="Contributors"
@ -4853,7 +4856,7 @@ COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_UNFEATURED_1="%s Language unfeatured."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_UNPUBLISHED="%s Languages unpublished."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_UNPUBLISHED_1="%s Language unpublished."
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU="Languages Submenu"
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC="Allows the users in this group to update the submenu of the language"
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC="Allows the users in this group to submenu of language"
COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS="Language Build Button Access"
COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS_DESC=" Allows the users in this group to access the build button."
COM_COMPONENTBUILDER_LANGUAGE_CREATED_BY_DESC="The user that created this Language."
@ -4895,7 +4898,7 @@ COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE_DESC="Allows users in this
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE="Language Translations Create"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE_DESC="Allows the users in this group to create create language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST="Language Translations Dashboard List"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE="Language Translations Delete"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE_DESC="Allows the users in this group to delete delete language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT="Language Translations Edit"
@ -4928,7 +4931,7 @@ COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_UNFEATURED_1="%s Language Tra
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_UNPUBLISHED="%s Language Translations unpublished."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_UNPUBLISHED_1="%s Language Translation unpublished."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU="Language Translations Submenu"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC="Allows the users in this group to update the submenu of the language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC="Allows the users in this group to submenu of language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_COMPONENTS="Components"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_COMPONENTS_LABEL="Components"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_CREATED_BY_DESC="The user that created this Language Translation."
@ -4977,9 +4980,9 @@ COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC="Allows users in this group to use b
COM_COMPONENTBUILDER_LAYOUTS_CREATE="Layouts Create"
COM_COMPONENTBUILDER_LAYOUTS_CREATE_DESC="Allows the users in this group to create create layouts"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD="Layouts Dashboard Add"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST="Layouts Dashboard List"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of layout"
COM_COMPONENTBUILDER_LAYOUTS_DELETE="Layouts Delete"
COM_COMPONENTBUILDER_LAYOUTS_DELETE_DESC="Allows the users in this group to delete delete layouts"
COM_COMPONENTBUILDER_LAYOUTS_EDIT="Layouts Edit"
@ -5012,7 +5015,7 @@ COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_UNFEATURED_1="%s Layout unfeatured."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_UNPUBLISHED="%s Layouts unpublished."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_UNPUBLISHED_1="%s Layout unpublished."
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU="Layouts Submenu"
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the layout"
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU_DESC="Allows the users in this group to submenu of layout"
COM_COMPONENTBUILDER_LAYOUT_ADD_PHP_VIEW="Add Php View"
COM_COMPONENTBUILDER_LAYOUT_ADD_PHP_VIEW_LABEL="Add PHP (custom view script)"
COM_COMPONENTBUILDER_LAYOUT_ALIAS="Alias"
@ -5132,7 +5135,7 @@ COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_UNPUBLISHED_1="%s Library Config u
COM_COMPONENTBUILDER_LIBRARIES_CREATE="Libraries Create"
COM_COMPONENTBUILDER_LIBRARIES_CREATE_DESC="Allows the users in this group to create create libraries"
COM_COMPONENTBUILDER_LIBRARIES_DASHBOARD_LIST="Libraries Dashboard List"
COM_COMPONENTBUILDER_LIBRARIES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the library"
COM_COMPONENTBUILDER_LIBRARIES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of library"
COM_COMPONENTBUILDER_LIBRARIES_DELETE="Libraries Delete"
COM_COMPONENTBUILDER_LIBRARIES_DELETE_DESC="Allows the users in this group to delete delete libraries"
COM_COMPONENTBUILDER_LIBRARIES_EDIT="Libraries Edit"
@ -5201,7 +5204,7 @@ COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_UNFEATURED_1="%s Library unfeatured."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_UNPUBLISHED="%s Libraries unpublished."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_UNPUBLISHED_1="%s Library unpublished."
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU="Libraries Submenu"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU_DESC="Allows the users in this group to update the submenu of the library"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU_DESC="Allows the users in this group to submenu of library"
COM_COMPONENTBUILDER_LIBRARY="Library"
COM_COMPONENTBUILDER_LIBRARY_ACTIVE_ONLY_FOUR_TEXT_FIELD="Active (only 4 text_field)"
COM_COMPONENTBUILDER_LIBRARY_ADDCONDITIONS="Addconditions"
@ -5491,6 +5494,7 @@ COM_COMPONENTBUILDER_NEW_ISSUE="New Issue"
COM_COMPONENTBUILDER_NEW_MEANS_THAT_WE_COULD_NOT_FIND_A_LOCAL_SNIPPET_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_AND_SO_HAVE_MARKED_THIS_SNIPPET_AS_NEW="New means that we could not find a local snippet with the same name, library and type, and so have marked this snippet as new."
COM_COMPONENTBUILDER_NEW_NOTICE="New Notice"
COM_COMPONENTBUILDER_NO="No"
COM_COMPONENTBUILDER_NONE="None"
COM_COMPONENTBUILDER_NONE_DB="None DB"
COM_COMPONENTBUILDER_NONE_SELECTED="None selected"
COM_COMPONENTBUILDER_NOTICE_BOARD="Notice Board"
@ -5595,7 +5599,7 @@ COM_COMPONENTBUILDER_SERVERS_BATCH_USE_DESC="Allows users in this group to use b
COM_COMPONENTBUILDER_SERVERS_CREATE="Servers Create"
COM_COMPONENTBUILDER_SERVERS_CREATE_DESC="Allows the users in this group to create create servers"
COM_COMPONENTBUILDER_SERVERS_DASHBOARD_LIST="Servers Dashboard List"
COM_COMPONENTBUILDER_SERVERS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the server"
COM_COMPONENTBUILDER_SERVERS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of server"
COM_COMPONENTBUILDER_SERVERS_DELETE="Servers Delete"
COM_COMPONENTBUILDER_SERVERS_DELETE_DESC="Allows the users in this group to delete delete servers"
COM_COMPONENTBUILDER_SERVERS_EDIT="Servers Edit"
@ -5632,7 +5636,7 @@ COM_COMPONENTBUILDER_SERVERS_N_ITEMS_UNFEATURED_1="%s Server unfeatured."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_UNPUBLISHED="%s Servers unpublished."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_UNPUBLISHED_1="%s Server unpublished."
COM_COMPONENTBUILDER_SERVERS_SUBMENU="Servers Submenu"
COM_COMPONENTBUILDER_SERVERS_SUBMENU_DESC="Allows the users in this group to update the submenu of the server"
COM_COMPONENTBUILDER_SERVERS_SUBMENU_DESC="Allows the users in this group to submenu of server"
COM_COMPONENTBUILDER_SERVER_AUTHENTICATION="Authentication"
COM_COMPONENTBUILDER_SERVER_AUTHENTICATION_DESCRIPTION="Select the authentication type to use with SFTP."
COM_COMPONENTBUILDER_SERVER_AUTHENTICATION_LABEL="Authentication Type"
@ -5756,9 +5760,9 @@ COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE_DESC="Allows users in this group to us
COM_COMPONENTBUILDER_SITE_VIEWS_CREATE="Site Views Create"
COM_COMPONENTBUILDER_SITE_VIEWS_CREATE_DESC="Allows the users in this group to create create site views"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD="Site Views Dashboard Add"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST="Site Views Dashboard List"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DELETE="Site Views Delete"
COM_COMPONENTBUILDER_SITE_VIEWS_DELETE_DESC="Allows the users in this group to delete delete site views"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT="Site Views Edit"
@ -5791,7 +5795,7 @@ COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_UNFEATURED_1="%s Site View unfeatured."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_UNPUBLISHED="%s Site Views unpublished."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_UNPUBLISHED_1="%s Site View unpublished."
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU="Site Views Submenu"
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of site view"
COM_COMPONENTBUILDER_SITE_VIEW_ADDRESS="Address"
COM_COMPONENTBUILDER_SITE_VIEW_ADD_CSS="Add Css"
COM_COMPONENTBUILDER_SITE_VIEW_ADD_CSS_DOCUMENT="Add Css Document"
@ -6209,7 +6213,7 @@ COM_COMPONENTBUILDER_SNIPPETS_COULD_NOT_BE_UPDATEDSAVED="Snippets could not be u
COM_COMPONENTBUILDER_SNIPPETS_CREATE="Snippets Create"
COM_COMPONENTBUILDER_SNIPPETS_CREATE_DESC="Allows the users in this group to create create snippets"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST="Snippets Dashboard List"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the snippet"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of snippet"
COM_COMPONENTBUILDER_SNIPPETS_DELETE="Snippets Delete"
COM_COMPONENTBUILDER_SNIPPETS_DELETE_DESC="Allows the users in this group to delete delete snippets"
COM_COMPONENTBUILDER_SNIPPETS_EDIT="Snippets Edit"
@ -6242,7 +6246,7 @@ COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_UNFEATURED_1="%s Snippet unfeatured."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_UNPUBLISHED="%s Snippets unpublished."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_UNPUBLISHED_1="%s Snippet unpublished."
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU="Snippets Submenu"
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the snippet"
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU_DESC="Allows the users in this group to submenu of snippet"
COM_COMPONENTBUILDER_SNIPPET_CONTRIBUTOR="Contributor"
COM_COMPONENTBUILDER_SNIPPET_CONTRIBUTOR_COMPANY="Contributor Company"
COM_COMPONENTBUILDER_SNIPPET_CONTRIBUTOR_COMPANY_DESCRIPTION="The contributor company name"
@ -6438,9 +6442,9 @@ COM_COMPONENTBUILDER_TEMPLATES_BATCH_USE_DESC="Allows users in this group to use
COM_COMPONENTBUILDER_TEMPLATES_CREATE="Templates Create"
COM_COMPONENTBUILDER_TEMPLATES_CREATE_DESC="Allows the users in this group to create create templates"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD="Templates Dashboard Add"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the template"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of template"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST="Templates Dashboard List"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the template"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of template"
COM_COMPONENTBUILDER_TEMPLATES_DELETE="Templates Delete"
COM_COMPONENTBUILDER_TEMPLATES_DELETE_DESC="Allows the users in this group to delete delete templates"
COM_COMPONENTBUILDER_TEMPLATES_EDIT="Templates Edit"
@ -6473,7 +6477,7 @@ COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_UNFEATURED_1="%s Template unfeatured."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_UNPUBLISHED="%s Templates unpublished."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_UNPUBLISHED_1="%s Template unpublished."
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU="Templates Submenu"
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC="Allows the users in this group to update the submenu of the template"
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC="Allows the users in this group to submenu of template"
COM_COMPONENTBUILDER_TEMPLATE_ADD_PHP_VIEW="Add Php View"
COM_COMPONENTBUILDER_TEMPLATE_ADD_PHP_VIEW_LABEL="Add PHP (custom view script)"
COM_COMPONENTBUILDER_TEMPLATE_ALIAS="Alias"
@ -6637,7 +6641,7 @@ COM_COMPONENTBUILDER_VALIDATION_RULES_BATCH_USE_DESC="Allows users in this group
COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE="Validation Rules Create"
COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE_DESC="Allows the users in this group to create create validation rules"
COM_COMPONENTBUILDER_VALIDATION_RULES_DASHBOARD_LIST="Validation Rules Dashboard List"
COM_COMPONENTBUILDER_VALIDATION_RULES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the validation rule"
COM_COMPONENTBUILDER_VALIDATION_RULES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of validation rule"
COM_COMPONENTBUILDER_VALIDATION_RULES_DELETE="Validation Rules Delete"
COM_COMPONENTBUILDER_VALIDATION_RULES_DELETE_DESC="Allows the users in this group to delete delete validation rules"
COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT="Validation Rules Edit"
@ -6670,7 +6674,7 @@ COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_UNFEATURED_1="%s Validation Rule u
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_UNPUBLISHED="%s Validation Rules unpublished."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_UNPUBLISHED_1="%s Validation Rule unpublished."
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU="Validation Rules Submenu"
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC="Allows the users in this group to update the submenu of the validation rule"
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC="Allows the users in this group to submenu of validation rule"
COM_COMPONENTBUILDER_VALIDATION_RULE_CREATED_BY_DESC="The user that created this Validation Rule."
COM_COMPONENTBUILDER_VALIDATION_RULE_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_VALIDATION_RULE_CREATED_DATE_DESC="The date this Validation Rule was created."

View File

@ -66,9 +66,9 @@ COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC="Allows users in this group to u
COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE="Admin Views Create"
COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC="Allows the users in this group to create create admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD="Admin Views Dashboard Add"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST="Admin Views Dashboard List"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE="Admin Views Delete"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC="Allows the users in this group to delete delete admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT="Admin Views Edit"
@ -88,15 +88,15 @@ COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT_DESC="Allows the users in this group to
COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT="Admin Views Import"
COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC="Allows the users in this group to import import admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU="Admin Views Submenu"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of admin view"
COM_COMPONENTBUILDER_COMPILER_ACCESS="Compiler Access"
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC=" Allows the users in this group to access compiler."
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clear tmp button."
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the Compiler"
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to update the submenu of the Compiler"
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS="Components Admin Views Access"
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS_DESC="Allows the users in this group to access access components admin views"
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_BATCH_USE="Components Admin Views Batch Use"
@ -285,9 +285,9 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE_DESC="Allows users in this gro
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_CREATE="Custom Admin Views Create"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_CREATE_DESC="Allows the users in this group to create create custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD="Custom Admin Views Dashboard Add"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST="Custom Admin Views Dashboard List"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DELETE="Custom Admin Views Delete"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DELETE_DESC="Allows the users in this group to delete delete custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT="Custom Admin Views Edit"
@ -303,7 +303,7 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EXPORT_DESC="Allows the users in this gr
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT="Custom Admin Views Import"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT_DESC="Allows the users in this group to import import custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU="Custom Admin Views Submenu"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_GET_SNIPPETS_BUTTON_ACCESS="Custom Admin View Get Snippets Button Access"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS="Custom Codes Access"
@ -313,7 +313,7 @@ COM_COMPONENTBUILDER_CUSTOM_CODES_BATCH_USE_DESC="Allows users in this group to
COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE="Custom Codes Create"
COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE_DESC="Allows the users in this group to create create custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST="Custom Codes Dashboard List"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_DELETE="Custom Codes Delete"
COM_COMPONENTBUILDER_CUSTOM_CODES_DELETE_DESC="Allows the users in this group to delete delete custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT="Custom Codes Edit"
@ -333,7 +333,7 @@ COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT_DESC="Allows the users in this group to
COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT="Custom Codes Import"
COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT_DESC="Allows the users in this group to import import custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU="Custom Codes Submenu"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC="Allows the users in this group to update the submenu of the custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC="Allows the users in this group to submenu of custom code"
COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS="Dynamic Gets Access"
COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS_DESC="Allows the users in this group to access access dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE="Dynamic Gets Batch Use"
@ -341,9 +341,9 @@ COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE_DESC="Allows users in this group to
COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE="Dynamic Gets Create"
COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE_DESC="Allows the users in this group to create create dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD="Dynamic Gets Dashboard Add"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST="Dynamic Gets Dashboard List"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DELETE="Dynamic Gets Delete"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DELETE_DESC="Allows the users in this group to delete delete dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT="Dynamic Gets Edit"
@ -359,7 +359,7 @@ COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT_DESC="Allows the users in this group to
COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT="Dynamic Gets Import"
COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC="Allows the users in this group to import import dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU="Dynamic Gets Submenu"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to submenu of dynamic get"
COM_COMPONENTBUILDER_EDIT_CREATED_BY="Edit Created By"
COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC=" Allows users in this group to edit created by."
COM_COMPONENTBUILDER_EDIT_CREATED_DATE="Edit Created Date"
@ -375,9 +375,9 @@ COM_COMPONENTBUILDER_FIELDS_BATCH_USE_DESC="Allows users in this group to use ba
COM_COMPONENTBUILDER_FIELDS_CREATE="Fields Create"
COM_COMPONENTBUILDER_FIELDS_CREATE_DESC="Allows the users in this group to create create fields"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD="Fields Dashboard Add"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the field"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of field"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST="Fields Dashboard List"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the field"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of field"
COM_COMPONENTBUILDER_FIELDS_DELETE="Fields Delete"
COM_COMPONENTBUILDER_FIELDS_DELETE_DESC="Allows the users in this group to delete delete fields"
COM_COMPONENTBUILDER_FIELDS_EDIT="Fields Edit"
@ -393,7 +393,7 @@ COM_COMPONENTBUILDER_FIELDS_EXPORT_DESC="Allows the users in this group to expor
COM_COMPONENTBUILDER_FIELDS_IMPORT="Fields Import"
COM_COMPONENTBUILDER_FIELDS_IMPORT_DESC="Allows the users in this group to import import fields"
COM_COMPONENTBUILDER_FIELDS_SUBMENU="Fields Submenu"
COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC="Allows the users in this group to update the submenu of the field"
COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC="Allows the users in this group to submenu of field"
COM_COMPONENTBUILDER_FIELDTYPES_ACCESS="Fieldtypes Access"
COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC="Allows the users in this group to access access fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE="Fieldtypes Batch Use"
@ -401,23 +401,17 @@ COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE_DESC="Allows users in this group to us
COM_COMPONENTBUILDER_FIELDTYPES_CREATE="Fieldtypes Create"
COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC="Allows the users in this group to create create fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD="Fieldtypes Dashboard Add"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST="Fieldtypes Dashboard List"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the fieldtype"
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 update the edit description of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME="Fieldtypes Edit Name"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC="Allows the users in this group to update the edit name of the 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 update the edit properties of the 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 update the edit short description of the 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"
@ -426,14 +420,20 @@ 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 update the submenu of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS="Get Snippets Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC=" Allows the users in this group to access get snippets."
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets Custom Admin Views Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the custom admin views button."
COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST="Get Snippets Dashboard List"
COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS="Get Snippets Layouts Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the layouts button."
COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS="Get Snippets Libraries Button Access"
@ -443,7 +443,7 @@ COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS_DESC=" Allows the use
COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS="Get Snippets Snippets Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the snippets button."
COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU="Get Snippets Submenu"
COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU_DESC="Allows the users in this group to submenu of Get Snippets"
COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS="Get Snippets Templates Button Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS_DESC=" Allows the users in this group to access the templates button."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS="Help Documents Access"
@ -453,7 +453,7 @@ COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE_DESC="Allows users in this group t
COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE="Help Documents Create"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE_DESC="Allows the users in this group to create create help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST="Help Documents Dashboard List"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DELETE="Help Documents Delete"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DELETE_DESC="Allows the users in this group to delete delete help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT="Help Documents Edit"
@ -469,7 +469,7 @@ COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT_DESC="Allows the users in this group
COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT="Help Documents Import"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT_DESC="Allows the users in this group to import import help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU="Help Documents Submenu"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC="Allows the users in this group to submenu of help document"
COM_COMPONENTBUILDER_IMPORT_DATA="Import Data"
COM_COMPONENTBUILDER_IMPORT_DATA_DESC=" Allows users in this group to import data."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS="Joomla Components Access"
@ -479,9 +479,9 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC="Allows users in this grou
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE="Joomla Components Create"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE_DESC="Allows the users in this group to create create joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD="Joomla Components Dashboard Add"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST="Joomla Components Dashboard List"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE="Joomla Components Delete"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE_DESC="Allows the users in this group to delete delete joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT="Joomla Components Edit"
@ -497,7 +497,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC="Allows the users in this
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION="Joomla Components Edit Version"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU="Joomla Components Submenu"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC="Allows the users in this group to submenu of joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS="Joomla Component Backup Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the backup button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS="Joomla Component Clone Button Access"
@ -527,7 +527,7 @@ COM_COMPONENTBUILDER_LANGUAGES_EXPORT_DESC="Allows the users in this group to ex
COM_COMPONENTBUILDER_LANGUAGES_IMPORT="Languages Import"
COM_COMPONENTBUILDER_LANGUAGES_IMPORT_DESC="Allows the users in this group to import import languages"
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU="Languages Submenu"
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC="Allows the users in this group to update the submenu of the language"
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC="Allows the users in this group to submenu of language"
COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS="Language Build Button Access"
COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS_DESC=" Allows the users in this group to access the build button."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS="Language Translations Access"
@ -537,7 +537,7 @@ COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE_DESC="Allows users in this
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE="Language Translations Create"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE_DESC="Allows the users in this group to create create language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST="Language Translations Dashboard List"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE="Language Translations Delete"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE_DESC="Allows the users in this group to delete delete language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT="Language Translations Edit"
@ -553,7 +553,7 @@ COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EXPORT_DESC="Allows the users in this
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT="Language Translations Import"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT_DESC="Allows the users in this group to import import language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU="Language Translations Submenu"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC="Allows the users in this group to update the submenu of the language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC="Allows the users in this group to submenu of language translation"
COM_COMPONENTBUILDER_LAYOUTS_ACCESS="Layouts Access"
COM_COMPONENTBUILDER_LAYOUTS_ACCESS_DESC="Allows the users in this group to access access layouts"
COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE="Layouts Batch Use"
@ -561,9 +561,9 @@ COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC="Allows users in this group to use b
COM_COMPONENTBUILDER_LAYOUTS_CREATE="Layouts Create"
COM_COMPONENTBUILDER_LAYOUTS_CREATE_DESC="Allows the users in this group to create create layouts"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD="Layouts Dashboard Add"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST="Layouts Dashboard List"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of layout"
COM_COMPONENTBUILDER_LAYOUTS_DELETE="Layouts Delete"
COM_COMPONENTBUILDER_LAYOUTS_DELETE_DESC="Allows the users in this group to delete delete layouts"
COM_COMPONENTBUILDER_LAYOUTS_EDIT="Layouts Edit"
@ -579,7 +579,7 @@ COM_COMPONENTBUILDER_LAYOUTS_EXPORT_DESC="Allows the users in this group to expo
COM_COMPONENTBUILDER_LAYOUTS_IMPORT="Layouts Import"
COM_COMPONENTBUILDER_LAYOUTS_IMPORT_DESC="Allows the users in this group to import import layouts"
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU="Layouts Submenu"
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the layout"
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU_DESC="Allows the users in this group to submenu of layout"
COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS="Layout Get Snippets Button Access"
COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_LIBRARIES_ACCESS="Libraries Access"
@ -609,7 +609,7 @@ COM_COMPONENTBUILDER_LIBRARIES_CONFIG_EDIT_VERSION_DESC="Allows users in this gr
COM_COMPONENTBUILDER_LIBRARIES_CREATE="Libraries Create"
COM_COMPONENTBUILDER_LIBRARIES_CREATE_DESC="Allows the users in this group to create create libraries"
COM_COMPONENTBUILDER_LIBRARIES_DASHBOARD_LIST="Libraries Dashboard List"
COM_COMPONENTBUILDER_LIBRARIES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the library"
COM_COMPONENTBUILDER_LIBRARIES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of library"
COM_COMPONENTBUILDER_LIBRARIES_DELETE="Libraries Delete"
COM_COMPONENTBUILDER_LIBRARIES_DELETE_DESC="Allows the users in this group to delete delete libraries"
COM_COMPONENTBUILDER_LIBRARIES_EDIT="Libraries Edit"
@ -641,7 +641,7 @@ COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_STATE_DESC="Allows the us
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_VERSION="Libraries Files Folders Urls Edit Version"
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version libraries files folders urls"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU="Libraries Submenu"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU_DESC="Allows the users in this group to update the submenu of the library"
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"
@ -668,7 +668,7 @@ COM_COMPONENTBUILDER_SERVERS_BATCH_USE_DESC="Allows users in this group to use b
COM_COMPONENTBUILDER_SERVERS_CREATE="Servers Create"
COM_COMPONENTBUILDER_SERVERS_CREATE_DESC="Allows the users in this group to create create servers"
COM_COMPONENTBUILDER_SERVERS_DASHBOARD_LIST="Servers Dashboard List"
COM_COMPONENTBUILDER_SERVERS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the server"
COM_COMPONENTBUILDER_SERVERS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of server"
COM_COMPONENTBUILDER_SERVERS_DELETE="Servers Delete"
COM_COMPONENTBUILDER_SERVERS_DELETE_DESC="Allows the users in this group to delete delete servers"
COM_COMPONENTBUILDER_SERVERS_EDIT="Servers Edit"
@ -688,7 +688,7 @@ COM_COMPONENTBUILDER_SERVERS_EXPORT_DESC="Allows the users in this group to expo
COM_COMPONENTBUILDER_SERVERS_IMPORT="Servers Import"
COM_COMPONENTBUILDER_SERVERS_IMPORT_DESC="Allows the users in this group to import import servers"
COM_COMPONENTBUILDER_SERVERS_SUBMENU="Servers Submenu"
COM_COMPONENTBUILDER_SERVERS_SUBMENU_DESC="Allows the users in this group to update the submenu of the server"
COM_COMPONENTBUILDER_SERVERS_SUBMENU_DESC="Allows the users in this group to submenu of server"
COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS="Site Views Access"
COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS_DESC="Allows the users in this group to access access site views"
COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE="Site Views Batch Use"
@ -696,9 +696,9 @@ COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE_DESC="Allows users in this group to us
COM_COMPONENTBUILDER_SITE_VIEWS_CREATE="Site Views Create"
COM_COMPONENTBUILDER_SITE_VIEWS_CREATE_DESC="Allows the users in this group to create create site views"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD="Site Views Dashboard Add"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST="Site Views Dashboard List"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DELETE="Site Views Delete"
COM_COMPONENTBUILDER_SITE_VIEWS_DELETE_DESC="Allows the users in this group to delete delete site views"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT="Site Views Edit"
@ -714,7 +714,7 @@ COM_COMPONENTBUILDER_SITE_VIEWS_EXPORT_DESC="Allows the users in this group to e
COM_COMPONENTBUILDER_SITE_VIEWS_IMPORT="Site Views Import"
COM_COMPONENTBUILDER_SITE_VIEWS_IMPORT_DESC="Allows the users in this group to import import site views"
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU="Site Views Submenu"
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of site view"
COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS="Site View Get Snippets Button Access"
COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_SNIPPETS_ACCESS="Snippets Access"
@ -724,7 +724,7 @@ COM_COMPONENTBUILDER_SNIPPETS_BATCH_USE_DESC="Allows users in this group to use
COM_COMPONENTBUILDER_SNIPPETS_CREATE="Snippets Create"
COM_COMPONENTBUILDER_SNIPPETS_CREATE_DESC="Allows the users in this group to create create snippets"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST="Snippets Dashboard List"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the snippet"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of snippet"
COM_COMPONENTBUILDER_SNIPPETS_DELETE="Snippets Delete"
COM_COMPONENTBUILDER_SNIPPETS_DELETE_DESC="Allows the users in this group to delete delete snippets"
COM_COMPONENTBUILDER_SNIPPETS_EDIT="Snippets Edit"
@ -740,7 +740,7 @@ COM_COMPONENTBUILDER_SNIPPETS_EXPORT_DESC="Allows the users in this group to exp
COM_COMPONENTBUILDER_SNIPPETS_IMPORT="Snippets Import"
COM_COMPONENTBUILDER_SNIPPETS_IMPORT_DESC="Allows the users in this group to import import snippets"
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU="Snippets Submenu"
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the snippet"
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU_DESC="Allows the users in this group to submenu of snippet"
COM_COMPONENTBUILDER_SNIPPET_GET_SNIPPETS_BUTTON_ACCESS="Snippet Get Snippets Button Access"
COM_COMPONENTBUILDER_SNIPPET_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_SNIPPET_SHARE_SNIPPETS_BUTTON_ACCESS="Snippet Share Snippets Button Access"
@ -768,9 +768,9 @@ COM_COMPONENTBUILDER_TEMPLATES_BATCH_USE_DESC="Allows users in this group to use
COM_COMPONENTBUILDER_TEMPLATES_CREATE="Templates Create"
COM_COMPONENTBUILDER_TEMPLATES_CREATE_DESC="Allows the users in this group to create create templates"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD="Templates Dashboard Add"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the template"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of template"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST="Templates Dashboard List"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the template"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of template"
COM_COMPONENTBUILDER_TEMPLATES_DELETE="Templates Delete"
COM_COMPONENTBUILDER_TEMPLATES_DELETE_DESC="Allows the users in this group to delete delete templates"
COM_COMPONENTBUILDER_TEMPLATES_EDIT="Templates Edit"
@ -786,7 +786,7 @@ COM_COMPONENTBUILDER_TEMPLATES_EXPORT_DESC="Allows the users in this group to ex
COM_COMPONENTBUILDER_TEMPLATES_IMPORT="Templates Import"
COM_COMPONENTBUILDER_TEMPLATES_IMPORT_DESC="Allows the users in this group to import import templates"
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU="Templates Submenu"
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC="Allows the users in this group to update the submenu of the template"
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC="Allows the users in this group to submenu of template"
COM_COMPONENTBUILDER_TEMPLATE_GET_SNIPPETS_BUTTON_ACCESS="Template Get Snippets Button Access"
COM_COMPONENTBUILDER_TEMPLATE_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_USE_BATCH="Use Batch"
@ -798,7 +798,7 @@ COM_COMPONENTBUILDER_VALIDATION_RULES_BATCH_USE_DESC="Allows users in this group
COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE="Validation Rules Create"
COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE_DESC="Allows the users in this group to create create validation rules"
COM_COMPONENTBUILDER_VALIDATION_RULES_DASHBOARD_LIST="Validation Rules Dashboard List"
COM_COMPONENTBUILDER_VALIDATION_RULES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the validation rule"
COM_COMPONENTBUILDER_VALIDATION_RULES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of validation rule"
COM_COMPONENTBUILDER_VALIDATION_RULES_DELETE="Validation Rules Delete"
COM_COMPONENTBUILDER_VALIDATION_RULES_DELETE_DESC="Allows the users in this group to delete delete validation rules"
COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT="Validation Rules Edit"
@ -814,4 +814,4 @@ COM_COMPONENTBUILDER_VALIDATION_RULES_EXPORT_DESC="Allows the users in this grou
COM_COMPONENTBUILDER_VALIDATION_RULES_IMPORT="Validation Rules Import"
COM_COMPONENTBUILDER_VALIDATION_RULES_IMPORT_DESC="Allows the users in this group to import import validation rules"
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU="Validation Rules Submenu"
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC="Allows the users in this group to update the submenu of the validation rule"
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC="Allows the users in this group to submenu of validation rule"

View File

@ -428,7 +428,7 @@ class ComponentbuilderModelAjax extends JModelList
'search' => 'setYesNo',
'filter' => 'setYesNo',
'link' => 'setYesNo',
'permission' => 'setYesNo',
'permission' => 'setPermissions',
'tab' => 'setTabName',
'alignment' => 'setAlignmentName',
'target_field' => 'setItemNames',
@ -852,6 +852,42 @@ class ComponentbuilderModelAjax extends JModelList
return JText::_('COM_COMPONENTBUILDER_NO_ITEM_FOUND');
}
protected function setPermissions($header, $values)
{
// check if value is array
if (!ComponentbuilderHelper::checkArray($values))
{
$values = array($values);
}
// check if value is array
if (ComponentbuilderHelper::checkArray($values))
{
// Editing, Access, View
$bucket = array();
foreach ($values as $value)
{
switch ($value)
{
case 1:
$bucket[] = JText::_('COM_COMPONENTBUILDER_EDITING');
break;
case 2:
$bucket[] = JText::_('COM_COMPONENTBUILDER_ACCESS');
break;
case 3:
$bucket[] = JText::_('COM_COMPONENTBUILDER_VIEW');
break;
}
}
// check if value is array
if (ComponentbuilderHelper::checkArray($bucket))
{
return implode(', ', $bucket);
}
}
return JText::_('COM_COMPONENTBUILDER_NONE');
}
protected function setJoinType($header, $value)
{
switch ($value)
@ -2625,11 +2661,18 @@ class ComponentbuilderModelAjax extends JModelList
elseif ($type == 2)
{
// build fields array
$fields = array_map( function ($id) {
return (int) $id;
}, (array) explode(',', $joinfields));
// add the list field to array
array_unshift($fields, (int) $listfield);
if ('none' !== $joinfields)
{
$fields = array_map( function ($id) {
return (int) $id;
}, (array) explode(',', $joinfields));
// add the list field to array
array_unshift($fields, (int) $listfield);
}
else
{
$fields = array((int) $listfield);
}
// get field names
$names = array_map( function ($id) {
return '[' . $id . ']=> ' . ComponentbuilderHelper::getVar('field', $id, 'id', 'name');

View File

@ -930,7 +930,7 @@ class ComponentbuilderModelField extends JModelAdmin
if (ComponentbuilderHelper::checkString($typephpx))
{
// load the type_phpx property
$bucket[] = "\t".'type_phpx_1="'. str_replace('"', "'", $typephp).'"';
$bucket[] = "\t".'type_phpx_1="'. str_replace('"', "'", $typephpx).'"';
}
// if the bucket has been loaded
if (ComponentbuilderHelper::checkArray($bucket))

View File

@ -88,6 +88,7 @@ class JFormFieldListfields extends JFormFieldList
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->name);

View File

@ -373,70 +373,6 @@ 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 (!$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 (!$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 (!$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 (!$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

@ -270,14 +270,16 @@
name="permission"
label="COM_COMPONENTBUILDER_ADMIN_FIELDS_PERMISSION_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_FIELDS_PERMISSION_DESCRIPTION"
class="fieldMid"
multiple="false"
class="fieldMedium"
multiple="true"
required="false">
<!-- Option Set. -->
<option value="0">
COM_COMPONENTBUILDER_ADMIN_FIELDS_NONE</option>
<option value=" 1">
<option value="1">
COM_COMPONENTBUILDER_ADMIN_FIELDS_EDITING</option>
<option value="2">
COM_COMPONENTBUILDER_ADMIN_FIELDS_ACCESS</option>
<option value="3">
COM_COMPONENTBUILDER_ADMIN_FIELDS_VIEW</option>
</field>
</form>
</field>

View File

@ -20,14 +20,14 @@ function getCodeGlueOptions(field) {
var subID = target[0]+'__'+target[1];
// get listfield value
var listfield = jQuery('#'+subID+'__listfield').val();
// get joinfields values
var joinfields = jQuery('#'+subID+'__joinfields').val();
// get type value
var type = jQuery('#'+subID+'__join_type').val();
// get area value
var area = jQuery('#'+subID+'__area').val();
// check that values are set
if (_isSet(listfield) && _isSet(joinfields) && _isSet(type) && _isSet(area)) {
if (_isSet(listfield) && _isSet(type) && _isSet(area)) {
// get joinfields values
var joinfields = jQuery('#'+subID+'__joinfields').val();
// get codeGlueOptions
getCodeGlueOptions_server(listfield, joinfields, type, area).done(function(result) {
if(result){
@ -43,7 +43,11 @@ function getCodeGlueOptions(field) {
function getCodeGlueOptions_server(listfield, joinfields, type, area){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getCodeGlueOptions&format=json";
if(token.length > 0 && listfield > 0 && joinfields.length >= 1 && type > 0 && area > 0) {
// make sure the joinfields are set
if (!_isSet(joinfields)) {
joinfields = 'none';
}
if(token.length > 0 && listfield > 0 && type > 0 && area > 0) {
var request = 'token='+token+'&listfield='+listfield+'&type='+type+'&area='+area+'&joinfields='+joinfields;
}
return jQuery.ajax({

View File

@ -107,9 +107,6 @@ class ComponentbuilderModelGet_snippets extends JModelList
// Insure all item fields are adapted where needed.
if (ComponentbuilderHelper::checkArray($items))
{
// Load the JEvent Dispatcher
JPluginHelper::importPlugin('content');
$this->_dispatcher = JEventDispatcher::getInstance();
foreach ($items as $nr => &$item)
{
// Always create a slug for sef URL's

View File

@ -300,7 +300,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
// set error
if (!$checksum)
{
$checksumMessage = JText::_('COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_THIS_PACKAGE_BFAILEDB_CHECKSUM_VALIDATION_THIS_COULD_BE_A_SERIOUS_SECURITY_BREACH_DO_NOT_CONTINUE');
$checksumMessage = JText::_('COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_YOU_CAN_REFRESH_AND_TRY_AGAINBR_BUT_NOTE_THAT_THIS_PACKAGE_BFAILEDB_CHECKSUM_VALIDATION_THIS_COULD_BE_A_SERIOUS_SECURITY_BREACH_DO_NOT_CONTINUE');
$checksumStatus = 'error';
}
}

View File

@ -36,13 +36,14 @@ JHtml::_('behavior.keepalive');
<?php else: ?>
Joomla.submitbutton = function(task)
{
if ('refresh' === task){
if ('joomla_component.refresh' === task){
jQuery('#loading').css('display', 'block');
// clear the history
jQuery.jStorage.flush();
// now start the update
autoJCBpackageInfo();
jQuery('#loading').hide();
// also clear the session memory around the component list
Joomla.submitform(task);
} else {
var form = document.getElementById('adminForm');
// do field validation
@ -280,7 +281,7 @@ jQuery(document).ready(function($) {
<?php echo JHtml::_('bootstrap.addTab', 'jcbImportTab', 'url_vdm', JText::_('COM_COMPONENTBUILDER_VDM_PACKAGES', true)); ?>
<div class="span12" id="vdm_packages_installer">
<div class="alert alert-success">
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA', 'href="https://vdm.bz/jcb-package-support" target="_blank" title="Should any of these packages fail to import please let us know, some need a key of course."'); ?></p>
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know, some need a key of course."'); ?></p>
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE_A_S_GET_A_KEY_TODAYA', 'href="https://github.com/vdm-io/JCB-Packages" target="_blank" title="gitHub Reposetory"', 'href="http://vdm.bz/jcb-packages" target="_blank" title="get a key to import the paid packages."'); ?></p>
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_HOW_TO_GET_A_S_FREE_KEYSA_FROM_VDM', 'href="https://vdm.bz/how-to-get-free-vdm-package-keys" target="_blank" title="see how easy it is to get access keys from VDM"'); ?></p>
</div>
@ -295,7 +296,7 @@ jQuery(document).ready(function($) {
<div class="form-actions">
<input type="button" class="btn btn-primary" value="<?php echo JText::_('COM_COMPONENTBUILDER_GET_PACKAGE'); ?>" onclick="Joomla.submitbuttonVDM()" />&nbsp;&nbsp;&nbsp;<small><span class="icon-shield"> </span><?php echo JText::_('COM_COMPONENTBUILDER_OFFICIAL_VDM_PACKAGES'); ?></small>
</div>
<div class="control-group"><small><?php echo JText::sprintf('COM_COMPONENTBUILDER_A_S_SPAN_CLASSICONFLAG_SPANREPORT_BROKEN_PACKAGEA', 'href="https://vdm.bz/jcb-package-support" target="_blank" title="Should any of these packages fail to import please let us know"'); ?></small></div>
<div class="control-group"><small><?php echo JText::sprintf('COM_COMPONENTBUILDER_A_S_SPAN_CLASSICONFLAG_SPANREPORT_BROKEN_PACKAGEA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know"'); ?></small></div>
</fieldset>
</div>
<div id="vdm_packages_display">
@ -311,7 +312,7 @@ jQuery(document).ready(function($) {
<?php echo JHtml::_('bootstrap.addTab', 'jcbImportTab', 'url_jcb', JText::_('COM_COMPONENTBUILDER_JCB_COMMUNITY_PACKAGES', true)); ?>
<div class="span12" id="jcb_packages_installer">
<div class="alert alert-success">
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA', 'href="https://vdm.bz/jcb-package-support" target="_blank" title="Should any of these packages fail to import please let us know, some need a key of course."'); ?></p>
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know, some need a key of course."'); ?></p>
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE', 'href="https://github.com/vdm-io/JCB-Community-Packages" target="_blank" title="gitHub Reposetory"'); ?></p>
<p><?php echo JText::sprintf('COM_COMPONENTBUILDER_ADD_YOUR_OWN_JCB_PACKAGES_TO_THE_COMMUNITY_A_S_GITHUBA_REPOSITORYBR_WATCH_THIS_A_S_TUTORIALA_TO_SEE_HOW', 'href="https://github.com/vdm-io/JCB-Community-Packages" target="_blank" title="gitHub Reposetory"', 'href="https://vdm.bz/add-jcb-community-package" target="_blank" title="watch the quick tutorial on how to add your own packages to this list of community packages"'); ?></p>
</div>
@ -326,7 +327,7 @@ jQuery(document).ready(function($) {
<div class="form-actions">
<input type="button" class="btn btn-primary" value="<?php echo JText::_('COM_COMPONENTBUILDER_GET_PACKAGE'); ?>" onclick="Joomla.submitbuttonJCB()" />&nbsp;&nbsp;&nbsp;<small><span class="icon-shield"> </span><?php echo JText::_('COM_COMPONENTBUILDER_COMMUNITY_PACKAGES'); ?></small>
</div>
<div class="control-group"><small><?php echo JText::sprintf('COM_COMPONENTBUILDER_A_S_SPAN_CLASSICONFLAG_SPANREPORT_BROKEN_PACKAGEA', 'href="https://vdm.bz/jcb-package-support" target="_blank" title="Should any of these packages fail to import please let us know"'); ?></small></div>
<div class="control-group"><small><?php echo JText::sprintf('COM_COMPONENTBUILDER_A_S_SPAN_CLASSICONFLAG_SPANREPORT_BROKEN_PACKAGEA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know"'); ?></small></div>
</fieldset>
</div>
<div id="jcb_packages_display">

View File

@ -59,7 +59,7 @@ class ComponentbuilderViewImport_joomla_components extends JViewLegacy
// add title to the page
JToolbarHelper::title(JText::_('COM_COMPONENTBUILDER_JCB_PACKAGE_IMPORT'),'upload');
// add refesh button.
JToolBarHelper::custom('refresh', 'refresh', '', 'COM_COMPONENTBUILDER_REFRESH', false);
JToolBarHelper::custom('joomla_component.refresh', 'refresh', '', 'COM_COMPONENTBUILDER_REFRESH', false);
}
// get the session object
$session = JFactory::getSession();

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>10th July, 2018</creationDate>
<creationDate>30th July, 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.8.4</version>
<version>2.8.5</version>
<description><![CDATA[
<h1>Component Builder (v.2.8.4)</h1>
<h1>Component Builder (v.2.8.5)</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

@ -429,10 +429,10 @@
<description>Builds Complex Joomla Components</description>
<element>com_componentbuilder</element>
<type>component</type>
<version>2.8.4</version>
<version>2.8.5</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.8.4/JCB_v2.8.4.zip</downloadurl>
<downloadurl type="full" format="zip">https://github.com/vdm-io/Joomla-Component-Builder/releases/download/v2.8.5/JCB_v2.8.5.zip</downloadurl>
</downloads>
<tags>
<tag>stable</tag>

View File

@ -4991,7 +4991,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.8.4 Was Successful! Let us know if anything is not working as expected.</h3>';
<h3>Upgrade to Version 2.8.5 Was Successful! Let us know if anything is not working as expected.</h3>';
}
}

View File

@ -3604,16 +3604,16 @@ abstract class ComponentbuilderHelper
{
if ($external)
{
if ($name = self::getVar(null, $val, $id, $name, '=', $table))
if ($_name = self::getVar(null, $val, $id, $name, '=', $table))
{
$names[] = $name;
$names[] = $_name;
}
}
else
{
if ($name = self::getVar($table, $val, $id, $name))
if ($_name = self::getVar($table, $val, $id, $name))
{
$names[] = $name;
$names[] = $_name;
}
}
}
@ -4691,7 +4691,7 @@ abstract class ComponentbuilderHelper
*
* @returns string on success
**/
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true)
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true, $keepOnlyCharacters = true)
{
if ($replaceNumbers === true)
{
@ -4720,7 +4720,16 @@ abstract class ComponentbuilderHelper
$string = trim($string);
$string = preg_replace('/'.$spacer.'+/', ' ', $string);
$string = preg_replace('/\s+/', ' ', $string);
$string = preg_replace("/[^A-Za-z ]/", '', $string);
// remove all and keep only characters
if ($keepOnlyCharacters)
{
$string = preg_replace("/[^A-Za-z ]/", '', $string);
}
// keep both numbers and characters
else
{
$string = preg_replace("/[^A-Za-z0-9 ]/", '', $string);
}
// select final adaptations
if ($type === 'L' || $type === 'strtolower')
{

View File

@ -122,9 +122,6 @@ class ComponentbuilderModelApi extends JModelItem
$app->redirect(JURI::root());
return false;
}
// Load the JEvent Dispatcher
JPluginHelper::importPlugin('content');
$this->_dispatcher = JEventDispatcher::getInstance();
// set data object to item.
$this->_item[$pk] = $data;