Compare commits

...

55 Commits

Author SHA1 Message Date
a422ea7fcc Fix bug in the custom field where the JText::( missing and _ 2020-12-13 13:44:04 +02:00
838aa1208b Added more compiler messages to give info on how the assets table fix works if needed. 2020-12-12 08:24:57 +02:00
b3ab6337d2 Added the new Intelligent fix to the assets table rules column (the new default). This will add the fix only if needed, and removes it only if no longer needed, with messages that tell the end-user what it has done. Resolves gh-616 2020-12-11 04:05:48 +02:00
ef5480fc7f Fixed the filter array checking in the getStoredId method for categories as well. 2020-12-10 17:56:47 +02:00
360c61f5da Fixed the filter array checking in the getStoredId method. 2020-12-10 06:16:01 +02:00
029c3f423e Fixed gh-620 issue to set the correct sql xml closing tag. 2020-12-10 03:34:26 +02:00
b65d868a86 Added the GUI switch to control the adding of the asset table fix. gh-616 2020-12-10 03:31:30 +02:00
a05efdbb33 Sets the code name of custom views before the model even, so it can be used in the event. 2020-12-08 06:32:39 +02:00
4d0097f8e4 Fixed Warning: Invalid argument supplied for foreach() in ../html/libraries/cms/html/select.php on line 592 by adding empty select option. 2020-12-07 17:44:16 +02:00
dfbd2b2a6d Resolve gh-609 to make sure that custom code set in a field that gets linked to a module will get added to the module. 2020-12-05 08:17:54 +02:00
e7670a1edd Removed legacy code from site views, that is no longer needed. Resolved gh-612 2020-12-04 01:12:13 +02:00
06c97afa05 Added filters above the admin list views to resolve gh-378 2020-12-03 07:26:49 +02:00
83e4562d62 Fixed the access filter in query. Fixed the array to int helper use. Added the correct language strings to category and access filters. gh-378 2020-12-03 02:13:49 +02:00
4339ca00b3 Added sql to the uninstall sql to remove changes made to the assets table on uninstall of a component. resolved gh-616 2020-12-01 06:07:38 +02:00
bbee45ccab Fixed the file naming colution for the new filters. gh-378 Use the new select language string in filters. 2020-11-30 19:25:45 +02:00
732521b3ab Fixed gcategory column naming issue in array query. 2020-11-30 18:49:12 +02:00
3324576c95 Added the category code to the new filters area. gh-378 Update the direction default the descending. 2020-11-30 17:31:11 +02:00
f20039b390 Added getListViewDefaultOrdering method to compiler. Moved getFieldDatabaseName to the get class of the compiler. Updated the setFieldFilterListSet method. Imporved the filter query code to ignore empty values. gh-378 2020-11-30 05:59:45 +02:00
9d9c8e664e Moved the default static code of the admin list views to compiler. gh-378 2020-11-29 05:43:24 +02:00
9947113857 Added the getCustomFieldCode, setFieldFilterSet, setFieldFilterListSet, setFilterFieldFile methods to the field compiler area. Refactored few other methods and added setDefaultSidebarFilterHelper, setCategorySidebarFilterHelper, setBatchDisplayHelper, setDefaultBatchHelper, setCategoryBatchHelper methods in the integration area of the compiler. Improved the header ser feature and added the setCategoryBatchHelper method. gh-378 2020-11-29 02:00:20 +02:00
302328c92a Add getFieldsetXML and getFieldXMLString method to build fields in compiler gh-378. Refactoring the compiler to use camelcase for view code names. 2020-11-28 21:33:39 +02:00
5db5ac7bbb Refactored the setFilterFields and setStoredId in the compiler as still part of the new filter option improvement. gh-378 2020-11-21 08:01:26 +02:00
2490123095 Updated the contribute area in README. Added the multi filter query method, and adapted the setFilterQuery method for the new filter options. gh-378 2020-11-21 07:07:18 +02:00
d7233a1420 Added the admin filter type switch to compiler gh-378. Moved the name_single and name_list to the view->name_list and view->name_list_code in the compiler (refactoring). 2020-11-21 07:06:34 +02:00
e7104d9c1c Added the new field changes for the new filter implementation. gh-378 2020-11-21 07:03:48 +02:00
d4997abd37 Fixed gh-609 so that JS and CSS from fields are added to module. Also formated the class with auto code reformat in phpstorm. 2020-11-06 07:06:38 +02:00
d66fd2a83b Stable Release 2.11.7 2020-10-29 15:49:04 +02:00
54e4f96edf Added the needed changes to the core compiler to manage dynamic headers per/controller via pro-member-plugin. gh-548 2020-10-26 22:30:51 +02:00
2ea64446af Added the needed changes to the core compiler to manage dynamic headers per/model via pro-member-plugin. gh-548 2020-10-21 05:10:19 +02:00
3d5ff09969 Added more placeholder options for the pagination area in site views. gh-578 2020-10-11 05:26:51 +02:00
8190e72902 Resolved gh-600 so that the SQL set in the Admin view will exported with the JCB package. 2020-10-11 04:02:00 +02:00
8a87d8977a Resolved gh-603 to make sure the code has HTML placholder style, in round trip development. 2020-10-07 00:54:33 +02:00
ac86c8c56b Update the user updater helper method to all password change, since Joomla changed the user save method in the user class. 2020-09-18 07:18:04 +02:00
2fa1d15939 Resolved gh-596 so that the language strings needed for publishing failure is also added. 2020-09-15 19:15:36 +02:00
dd3aaddf62 added the database update scripts for the new changes. 2020-09-15 19:02:49 +02:00
68769604dd Resolved gh-598 to allow empty prefix as default. 2020-09-15 18:59:20 +02:00
d062e03a04 Added the overide option to the linked admin views. Added the option to remove line breaks in all langguage strings. Increased the field size to MEDIUMTEXT for the default input in joomla_module custom_admin_view and site_view. 2020-08-19 02:54:09 +02:00
c32baff933 Update e_Interpretation.php 2020-08-13 09:02:14 -05:00
3c5928caa9 Update e_Interpretation.php
When field default is DATETIME or CURRENT_TIMESTAMP, the SQL is constructed out of order.  The default gets inserted before the NULL/NOT NULL string.  One line fix - YAY!
2020-08-13 08:53:57 -05:00
861347318d Fixed the Categories link on the dashboard to follow the new single list view naming convention. 2020-08-13 03:03:56 +02:00
3ca4c3c3d6 Fixed gh-583 spelling mistake in JError::raiseWaring(..) 2020-08-08 17:06:42 +02:00
3fa87a2ccc Added the SAFEHTML filter to the copyright textarea of the Joomla components. 2020-08-08 15:29:51 +02:00
98f1821914 Added the option to exclude language strings from JCB package exports. 2020-07-28 06:14:49 +02:00
53f0abc0e2 Added the security policy. 2020-07-26 18:35:19 +02:00
05da68f1ae Resolved gh-576 to allow empty filter options. 2020-07-26 18:21:08 +02:00
6bb23fc6ee Improved the export feature to allow bulk custom overide, and dynamic behaviour towards larger sets. Added function name to custom buttons as a class for CSS styling. 2020-07-24 06:11:38 +02:00
27de9a83a5 Removed the fallback for empty description on title field.Improved the createUser method to allow custom methodd registerUser to create a user. Fixed the empty not_required field issue. 2020-07-18 21:36:05 +02:00
3a5681ce43 Added option to dynamicly set the sub-form layout from global options. Fixed bug in compiler that caused index warning. 2020-07-13 04:52:06 +02:00
25afc31e7f fixed greateUser logic to use the admin and site creation modes in correct way. Fixed language import issue that cause header mismatching. Added the option to add header values to the custom-custom fields. 2020-07-11 03:35:13 +02:00
a394638aff Fixed gh-570 to add the correct custom field placeholder type, which is PHP and not HTML. 2020-07-07 21:42:43 +02:00
354565d96a Major improment to user helper methods. Fixed custom field building options to allow options to be set. Fixed gh-569 to use correct paths in module custom fields and rules. Imporved the fancy date helper methods. Added the new Text::_() languange string search for language strings. Add the option to add header custom code to custom fields. 2020-07-07 17:13:04 +02:00
e86ab88f5c Fixed gh-571 compiler path errors. 2020-06-25 21:22:30 +02:00
90f48bd5fa Updated paypal donation link in readme note. 2020-06-02 00:49:30 +02:00
70635ff6f0 Added notice to the compiler where it detects mismatching category view target names. Added the update script for categories in JCB. Made adjustments all across JCB to act according to gh-561 implementation. 2020-05-30 20:49:13 +02:00
f2b2228dd7 Fixed gh-565 by removing the old PHPExcel_IOFactory and adding the new. Updated the subform layout for verious subforms in JCB for beter display. Change the helper category naming conventions for better integration with Joomla fields. gh-561 2020-05-29 03:01:07 +02:00
561 changed files with 26216 additions and 15746 deletions

View File

@ -10,9 +10,9 @@ This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder
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.
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!
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.11.2) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.3) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -133,7 +133,6 @@ Get involved on the forums, and the GitHub issues, and you can even help us deve
TODO
======
- Add automatic (REST) API ability for all components build with [JCB](http://joomlacomponentbuilder.com). So we can link any component build with JCB to an Android/Apple APP.
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](http://joomlacomponentbuilder.com).
- Team collaborative development across [JCB](http://joomlacomponentbuilder.com) installations offline and online.
- Documentation (maintained by the community) for [JCB](http://joomlacomponentbuilder.com). (help us select the best system for this)
@ -144,20 +143,21 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 25th May, 2020
+ *Version*: 2.11.2
+ *Last Build*: 13th December, 2020
+ *Version*: 2.12.3
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **282168**
+ *Field count*: **1522**
+ *File count*: **1783**
+ *Folder count*: **295**
+ *Line count*: **290479**
+ *Field count*: **1555**
+ *File count*: **1923**
+ *Folder count*: **316**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
## Contributors
This project exists thanks to all the people who contribute.
This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder).
[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors)
@ -178,4 +178,15 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/10/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/10/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/11/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/11/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/12/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/12/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/13/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/13/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/14/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/14/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/15/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/15/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/16/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/16/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/17/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/17/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/18/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/18/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/19/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/19/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/20/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/20/website)

7
SECURITY.md Normal file
View File

@ -0,0 +1,7 @@
# Security Policy
## Reporting a Vulnerability
Report all security issues on the JCB website, and not on GitHub.
### [joomlacomponentbuilder.com/report-security-issues](http://joomlacomponentbuilder.com/report-security-issues)

View File

@ -10,9 +10,9 @@ This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder
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.
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!
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.11.2) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.3) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -133,7 +133,6 @@ Get involved on the forums, and the GitHub issues, and you can even help us deve
TODO
======
- Add automatic (REST) API ability for all components build with [JCB](http://joomlacomponentbuilder.com). So we can link any component build with JCB to an Android/Apple APP.
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](http://joomlacomponentbuilder.com).
- Team collaborative development across [JCB](http://joomlacomponentbuilder.com) installations offline and online.
- Documentation (maintained by the community) for [JCB](http://joomlacomponentbuilder.com). (help us select the best system for this)
@ -144,20 +143,21 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 25th May, 2020
+ *Version*: 2.11.2
+ *Last Build*: 13th December, 2020
+ *Version*: 2.12.3
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **282168**
+ *Field count*: **1522**
+ *File count*: **1783**
+ *Folder count*: **295**
+ *Line count*: **290479**
+ *Field count*: **1555**
+ *File count*: **1923**
+ *Folder count*: **316**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
## Contributors
This project exists thanks to all the people who contribute.
This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder).
[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors)
@ -178,4 +178,15 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/10/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/10/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/11/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/11/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/12/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/12/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/13/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/13/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/14/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/14/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/15/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/15/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/16/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/16/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/17/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/17/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/18/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/18/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/19/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/19/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/20/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/20/website)

View File

@ -16,7 +16,7 @@
@author ###AUTHOR### <###AUTHORWEBSITE###>###CONTRIBUTORS###
@copyright ###COPYRIGHT###
@license ###LICENSE###
###SHORT_DESCRIPTION###
/----------------------------------------------------------------------------------------------------------------------------------*/

View File

@ -51,8 +51,8 @@ class ###Component###Model###Component### extends JModelList
$viewName = $name;
$alt = $name;
$url = $url;
$image = $name.'.'.$type;
$name = 'COM_###COMPONENT###_DASHBOARD_'.###Component###Helper::safeString($name,'U');
$image = $name . '.' . $type;
$name = 'COM_###COMPONENT###_DASHBOARD_' . ###Component###Helper::safeString($name,'U');
}
}
// internal views
@ -74,17 +74,27 @@ class ###Component###Model###Component### extends JModelList
switch($action)
{
case 'add':
$url = 'index.php?option=com_###component###&view='.$name.'&layout=edit';
$image = $name.'_'.$action.'.'.$type;
$alt = $name.'&nbsp;'.$action;
$url = 'index.php?option=com_###component###&view=' . $name . '&layout=edit';
$image = $name . '_' . $action. '.' . $type;
$alt = $name . '&nbsp;' . $action;
$name = 'COM_###COMPONENT###_DASHBOARD_'.###Component###Helper::safeString($name,'U').'_ADD';
$add = true;
break;
default:
$url = 'index.php?option=com_categories&view=categories&extension=com_###component###.'.$name;
$image = $name.'_'.$action.'.'.$type;
$alt = $name.'&nbsp;'.$action;
$name = 'COM_###COMPONENT###_DASHBOARD_'.###Component###Helper::safeString($name,'U').'_'.###Component###Helper::safeString($action,'U');
// check for new convention (more stable)
if (strpos($action, '_qpo0O0oqp_') !== false)
{
list($action, $extension) = (array) explode('_qpo0O0oqp_', $action);
$extension = str_replace('_po0O0oq_', '.', $extension);
}
else
{
$extension = 'com_###component###.' . $name;
}
$url = 'index.php?option=com_categories&view=categories&extension=' . $extension;
$image = $name . '_' . $action . '.' . $type;
$alt = $viewName . '&nbsp;' . $action;
$name = 'COM_###COMPONENT###_DASHBOARD_' . ###Component###Helper::safeString($name,'U') . '_' . ###Component###Helper::safeString($action,'U');
break;
}
}
@ -92,9 +102,9 @@ class ###Component###Model###Component### extends JModelList
{
$viewName = $name;
$alt = $name;
$url = 'index.php?option=com_###component###&view='.$name;
$image = $name.'.'.$type;
$name = 'COM_###COMPONENT###_DASHBOARD_'.###Component###Helper::safeString($name,'U');
$url = 'index.php?option=com_###component###&view=' . $name;
$image = $name . '.' . $type;
$name = 'COM_###COMPONENT###_DASHBOARD_' . ###Component###Helper::safeString($name,'U');
$hover = false;
}
}
@ -102,8 +112,8 @@ class ###Component###Model###Component### extends JModelList
{
$viewName = $view;
$alt = $view;
$url = 'index.php?option=com_###component###&view='.$view;
$image = $view.'.png';
$url = 'index.php?option=com_###component###&view=' . $view;
$image = $view . '.png';
$name = ucwords($view).'<br /><br />';
$hover = false;
}
@ -115,7 +125,7 @@ class ###Component###Model###Component### extends JModelList
$dashboard_list = false;
$accessTo = '';
$accessAdd = '';
// acces checking start
// access checking start
$accessCreate = (isset($viewAccess[$viewName.'.create'])) ? ###Component###Helper::checkString($viewAccess[$viewName.'.create']):false;
$accessAccess = (isset($viewAccess[$viewName.'.access'])) ? ###Component###Helper::checkString($viewAccess[$viewName.'.access']):false;
// set main controllers
@ -130,7 +140,7 @@ class ###Component###Model###Component### extends JModelList
{
$accessAdd = 'core.create';
}
// check if acces to view is set
// check if access to view is set
if ($accessAccess)
{
$accessTo = $viewAccess[$viewName.'.access'];

View File

@ -18,6 +18,7 @@ defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Language;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;###ADMIN_HELPER_CLASS_HEADER###

View File

@ -20,7 +20,7 @@ defined('_JEXEC') or die('Restricted access');
/**
* ###Component### ###View### Component Category Tree
*/
class ###Component######Views###Categories extends JCategories
class ###Component######View###Categories extends JCategories
{
/**
* Class constructor
@ -31,7 +31,7 @@ class ###Component######Views###Categories extends JCategories
public function __construct($options = array())
{
$options['table'] = '#__###component###_###view###';
$options['extension'] = 'com_###component###.###views###';
$options['extension'] = 'com_###component###.###view###';
parent::__construct($options);
}

View File

@ -18,6 +18,7 @@ defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Language;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;###SITE_HELPER_CLASS_HEADER###

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###ADMIN_VIEWS_CONTROLLER_HEADER###
/**
* ###Views### Controller

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###CUSTOM_ADMIN_VIEWS_CONTROLLER_HEADER###
/**
* ###SViews### Controller

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###ADMIN_VIEW_CONTROLLER_HEADER###
/**
* ###View### Controller

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###SITE_VIEW_CONTROLLER_HEADER###
/**
* ###Component### ###SView### Controller

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###SITE_ADMIN_VIEW_CONTROLLER_HEADER###
/**
* ###View### Controller

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###CUSTOM_ADMIN_VIEW_CONTROLLER_HEADER###
/**
* ###Component### ###SView### Controller

View File

@ -17,9 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import the ###JFORM_extends### field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('###JFORM_extends###');
###JFORM_TYPE_HEADER###
/**
* ###Type### Form Field class for the ###Component### component

View File

@ -17,9 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
###ADMIN_VIEW_MODEL_HEADER###
/**
* ###Component### ###View### Model

View File

@ -17,9 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
###SITE_ADMIN_VIEW_MODEL_HEADER###
/**
* ###Component### ###View### Model

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###CUSTOM_ADMIN_VIEW_MODEL_HEADER###
/**
* ###Component### ###SView### Model
@ -108,13 +108,13 @@ class ###Component###Model###SView### extends JModelItem
{
try
{###CUSTOM_ADMIN_GET_ITEM###
}
}
catch (Exception $e)
{
if ($e->getCode() == 404)
{
// Need to go thru the error handler to allow Redirect to work.
JError::raiseWaring(404, $e->getMessage());
JError::raiseWarning(404, $e->getMessage());
}
else
{

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###SITE_VIEW_MODEL_HEADER###
/**
* ###Component### ###SView### Model
@ -107,7 +107,7 @@ class ###Component###Model###SView### extends JModelItem
if ($e->getCode() == 404)
{
// Need to go thru the error handler to allow Redirect to work.
JError::raiseWaring(404, $e->getMessage());
JError::raiseWarning(404, $e->getMessage());
}
else
{

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###ADMIN_VIEWS_MODEL_HEADER###
/**
* ###Views### Model
@ -35,11 +35,17 @@ class ###Component###Model###Views### extends JModelList
parent::__construct($config);
}###ADMIN_CUSTOM_BUTTONS_METHOD_LIST###
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -49,26 +55,7 @@ class ###Component###Model###Views### extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
###POPULATESTATE###
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
}###POPULATESTATE###
// List state information.
parent::populateState($ordering, $direction);

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###CUSTOM_ADMIN_VIEWS_MODEL_HEADER###
/**
* ###Component### Model for ###SViews###

View File

@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Utilities\ArrayHelper;
###SITE_VIEWS_MODEL_HEADER###
/**
* ###Component### Model for ###SViews###

View File

@ -82,10 +82,7 @@ class ###Component###View###View### extends JViewLegacy
* Setting the toolbar
*/
protected function addToolBar()
{
// adding the joomla edit toolbar to the front
JLoader::register('JToolbarHelper', JPATH_ADMINISTRATOR.'/includes/toolbar.php');
###ADDTOOLBAR###
{###ADDTOOLBAR###
// now initiate the toolbar
$this->toolbar = JToolbar::getInstance();
}

View File

@ -39,7 +39,7 @@ class ###Component###View###Views### extends JViewLegacy
$this->pagination = $this->get('Pagination');
$this->state = $this->get('State');
$this->user = JFactory::getUser();###ADMIN_DIPLAY_METHOD###
$this->saveOrder = $this->listOrder == 'ordering';
$this->saveOrder = $this->listOrder == 'a.ordering';
// set the return here value
$this->return_here = urlencode(base64_encode((string) JUri::getInstance()));
// get global action permissions
@ -139,40 +139,7 @@ class ###Component###View###Views### extends JViewLegacy
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
{
JToolBarHelper::preferences('com_###component###');
}
if ($this->canState)
{
JHtmlSidebar::addFilter(
JText::_('JOPTION_SELECT_PUBLISHED'),
'filter_published',
JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true)
);
// only load if batch allowed
if ($this->canBatch)
{
JHtmlBatch_::addListSelection(
JText::_('COM_###COMPONENT###_KEEP_ORIGINAL_STATE'),
'batch[published]',
JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('all' => false)), 'value', 'text', '', true)
);
}
}
JHtmlSidebar::addFilter(
JText::_('JOPTION_SELECT_ACCESS'),
'filter_access',
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
JHtmlBatch_::addListSelection(
JText::_('COM_###COMPONENT###_KEEP_ORIGINAL_ACCESS'),
'batch[access]',
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text')
);
}###CATEGORYFILTER######OTHERFILTERS###
}###FILTERFIELDDISPLAYHELPER######BATCHDISPLAYHELPER###
}
/**

View File

@ -46,9 +46,7 @@ class ###Component###View###SViews### extends JViewLegacy
* Setting the toolbar
*/
protected function addToolBar()
{
// adding the joomla toolbar to the front
JLoader::register('JToolbarHelper', JPATH_ADMINISTRATOR.'/includes/toolbar.php');###SITE_CUSTOM_BUTTONS###
{###SITE_CUSTOM_BUTTONS###
// set help url for this view if found
$help_url = ###Component###Helper::getHelpUrl('###sviews###');

View File

@ -46,9 +46,7 @@ class ###Component###View###SView### extends JViewLegacy
* Setting the toolbar
*/
protected function addToolBar()
{
// adding the joomla toolbar to the front
JLoader::register('JToolbarHelper', JPATH_ADMINISTRATOR.'/includes/toolbar.php');###SITE_CUSTOM_BUTTONS###
{###SITE_CUSTOM_BUTTONS###
// set help url for this view if found
$help_url = ###Component###Helper::getHelpUrl('###sview###');

View File

@ -17,74 +17,11 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access'); ###LICENSE_LOCKED_DEFINED###
// load tooltip behavior
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
JHtml::_('dropdown.init');
JHtml::_('formbehavior.chosen', 'select');
###ADMIN_VIEWS_HEADER###
if ($this->saveOrder)
{
$saveOrderingUrl = 'index.php?option=com_###component###&task=###views###.saveOrderAjax&tmpl=component';
JHtml::_('sortablelist.sortable', '###view###List', 'adminForm', strtolower($this->listDirn), $saveOrderingUrl);
}
?>
<script type="text/javascript">
Joomla.orderTable = function()
{
table = document.getElementById("sortTable");
direction = document.getElementById("directionTable");
order = table.options[table.selectedIndex].value;
if (order != '<?php echo $this->listOrder; ?>')
{
dirn = 'asc';
}
else
{
dirn = direction.options[direction.selectedIndex].value;
}
Joomla.tableOrdering(order, dirn, '');
}
</script>
<form action="<?php echo JRoute::_('index.php?option=com_###component###&view=###views###'); ?>" method="post" name="adminForm" id="adminForm">
<?php if(!empty( $this->sidebar)): ?>
<div id="j-sidebar-container" class="span2">
<?php echo $this->sidebar; ?>
</div>
<div id="j-main-container" class="span10">
<?php else : ?>
<div id="j-main-container">
<?php endif; ?>
<?php if (empty($this->items)): ?>
<?php echo $this->loadTemplate('toolbar');?>
<div class="alert alert-no-items">
<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<?php echo $this->loadTemplate('toolbar');?>
<table class="table table-striped" id="###view###List">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<?php //Load the batch processing form. ?>
<?php if ($this->canCreate && $this->canEdit) : ?>
<?php echo JHtml::_(
'bootstrap.renderModal',
'collapseModal',
array(
'title' => JText::_('COM_###COMPONENT###_###VIEWS###_BATCH_OPTIONS'),
'footer' => $this->loadTemplate('batch_footer')
),
$this->loadTemplate('batch_body')
); ?>
<?php endif; ?>
<input type="hidden" name="filter_order" value="<?php echo $this->listOrder; ?>" />
<input type="hidden" name="filter_order_Dir" value="<?php echo $this->listDirn; ?>" />
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo JHtml::_('form.token'); ?>
</form>###VIEWS_FOOTER_SCRIPT###
###VIEWS_DEFAULT_BODY######VIEWS_FOOTER_SCRIPT###

View File

@ -15,13 +15,9 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED######CUSTOM_ADMIN_CODE_BODY###
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive');
###CUSTOM_ADMIN_VIEW_HEADER######CUSTOM_ADMIN_CODE_BODY###
?>
<?php if ($this->canDo->get('###sview###.access')): ?>###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT###
<?php $urlId = (isset($this->item->id)) ? '&id='. (int) $this->item->id : ''; ?>

View File

@ -15,13 +15,9 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED######CUSTOM_ADMIN_CODE_BODY###
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive');
###CUSTOM_ADMIN_VIEWS_HEADER######CUSTOM_ADMIN_CODE_BODY###
?>
<?php if ($this->canDo->get('###sview###.access')): ?>###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT###
###CUSTOM_ADMIN_TOP_FORM######CUSTOM_ADMIN_BODY######CUSTOM_ADMIN_BOTTOM_FORM###

View File

@ -15,7 +15,8 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED######SITE_CODE_BODY###
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
###SITE_VIEWS_HEADER######SITE_CODE_BODY###
?>
###SITE_TOP_FORM######SITE_TOP_BUTTON######SITE_BODY######SITE_BOTTOM_BUTTON######SITE_BOTTOM_FORM###

View File

@ -15,7 +15,8 @@ defined('_JEXEC') or die('Restricted access');
###BOM###
// No direct access to this file
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED######SITE_CODE_BODY###
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
###SITE_VIEW_HEADER######SITE_CODE_BODY###
?>
###SITE_TOP_FORM######SITE_TOP_BUTTON######SITE_BODY######SITE_BOTTOM_BUTTON######SITE_BOTTOM_FORM###

View File

@ -17,11 +17,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive');
###ADMIN_VIEW_HEADER###
$componentParams = $this->params; // will be removed just use $this->params instead
?>
###EDITBODYFADEIN###

View File

@ -17,16 +17,11 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive');
JHtml::_('behavior.tabstate');
JHtml::_('behavior.calendar');
$componentParams = $this->params; // will be removed just use $this->params instead
###SITE_ADMIN__VIEW_HEADER###
?>
<div class="###component###-###view###">
<?php echo $this->toolbar->render(); ?>
<form action="<?php echo JRoute::_('index.php?option=com_###component###&layout=edit&id='. (int) $this->item->id . $this->referral); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
###EDITBODY###
</form>###EDITBODYSCRIPT###
</form>
</div>###EDITBODYSCRIPT###

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addrulepath="/administrator/components/com_###component###/models/rules"
addfieldpath="/administrator/components/com_###component###/models/fields"
>
###FIELDFILTERSETS###
###FIELDLISTSETS###
</form>

View File

@ -1,11 +1 @@
###INSTALL###
--
-- Always insure this column rules is large enough for all the access control values.
--
ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control.';
--
-- Always insure this column name is large enough for long component and view names.
--
ALTER TABLE `#__assets` CHANGE `name` `name` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The unique name for the asset.';

View File

@ -0,0 +1,20 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
###BOM###
// No direct access to this file
defined('JPATH_BASE') or die('Restricted access');###ADMIN_LAYOUT_CODE###
?>###ADMIN_LAYOUT_BODY###

View File

@ -269,6 +269,11 @@
"rename": false,
"type": "dashboard"
},
"filter_forms.xml": {
"path": "c0mp0n3nt/admin/models/forms",
"rename": "filter_forms",
"type": "filter"
},
"module_forms.xml": {
"path": "c0mp0n3nt/admin/models/forms",
"rename": "module_forms",
@ -376,6 +381,11 @@
"rename": "JFormRule",
"type": "rule"
},
"layout_admin.php": {
"path": "c0mp0n3nt/admin/layouts",
"rename": "layout_admin",
"type": "layout"
},
"layoutitems.php": {
"path": "c0mp0n3nt/admin/layouts/VIEW",
"rename": "layoutitems",

View File

@ -1 +1 @@
###UNINSTALL###
###UNINSTALL###

View File

@ -47,6 +47,71 @@
/>
<field type="spacer" name="spacerHistory" hr="true" />
<!-- Subform_layouts Field. Type: Subform. (joomla) -->
<field
type="subform"
name="subform_layouts"
label="COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
buttons="add,remove,move"
description="COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION"
icon="list"
max="9"
min="1">
<form hidden="true" name="list_subform_layouts_modal" repeat="true">
<!-- View_field Field. Type: List. (joomla) -->
<field
type="list"
name="view_field"
label="COM_COMPONENTBUILDER_CONFIG_VIEW_FIELD_LABEL"
class="list_class"
multiple="false"
filter="CMD"
required="true"
default="default">
<!-- Option Set. -->
<option value="default">
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
<option value="admin_custom_tabs.tabs">
COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS</option>
<option value="admin_fields.addfields">
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_ADDFIELDS</option>
<option value="admin_fields_conditions.addconditions">
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS</option>
<option value="admin_fields_relations.addrelations">
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_RELATIONS_ADDRELATIONS</option>
<option value="component_admin_views.addadmin_views">
COM_COMPONENTBUILDER_CONFIG_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS</option>
<option value="component_custom_admin_views.addcustom_admin_views">
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_VIEWS_ADDCUSTOM_ADMIN_VIEWS</option>
<option value="component_site_views.addsite_views">
COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS</option>
<option value="dynamic_get.join_db_table">
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE</option>
<option value="dynamic_get.join_view_table">
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_VIEW_TABLE</option>
</field>
<!-- Layout Field. Type: List. (joomla) -->
<field
type="list"
name="layout"
label="COM_COMPONENTBUILDER_CONFIG_LAYOUT_LABEL"
class="list_class"
multiple="false"
filter="CMD"
required="true"
default="joomla.form.field.subform.repeatable-table">
<!-- Option Set. -->
<option value="joomla.form.field.subform.repeatable-table">
COM_COMPONENTBUILDER_CONFIG_REPEATABLETABLE_JOOMLA</option>
<option value="joomla.form.field.subform.repeatable">
COM_COMPONENTBUILDER_CONFIG_REPEATABLE_JOOMLA</option>
<option value="repeatablejcb">
COM_COMPONENTBUILDER_CONFIG_REPEATABLE_UIKIT</option>
</field>
</form>
</field>
<!-- Editor Field. Type: Plugins. (joomla) -->
<field
type="plugins"
@ -57,16 +122,6 @@
folder="editors"
filter="cmd"
/>
<!-- Compiler_plugin Field. Type: Plugins. (joomla) -->
<field
type="plugins"
name="compiler_plugin"
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_DESCRIPTION"
multiple="true"
folder="extension"
filter="cmd"
/>
<!-- Github_access_token Field. Type: Text. (joomla) -->
<field
type="text"
@ -119,54 +174,6 @@
</field>
<!-- Spacer_hr_two Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_two" hr="true" class="spacer_hr_two" />
<!-- Add_menu_prefix Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_menu_prefix"
label="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Menu_prefix Field. Type: Text. (joomla) -->
<field
type="text"
name="menu_prefix"
label="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_LABEL"
size="30"
maxlength="30"
default="&amp;#187;"
description="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_DESCRIPTION"
class="text_area"
filter="SAFEHTML"
message="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_MESSAGE"
hint="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_HINT"
autocomplete="on"
showon="add_menu_prefix:1"
/>
<!-- Spacer_hr_three Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_three" hr="true" class="spacer_hr_three" />
<!-- Minify Field. Type: Radio. (joomla) -->
<field
type="radio"
name="minify"
label="COM_COMPONENTBUILDER_CONFIG_MINIFY_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_MINIFY_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Spacer_hr_four Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_four" hr="true" class="spacer_hr_four" />
<!-- Set_browser_storage Field. Type: Radio. (joomla) -->
<field
type="radio"
@ -218,82 +225,8 @@
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NEVER_UPDATE</option>
</field>
<!-- Spacer_hr_five Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_five" hr="true" class="spacer_hr_five" />
<!-- Note_language_global Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_language_global" label="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_DESCRIPTION" heading="h4" class="alert alert-info note_language_global" />
<!-- Language Field. Type: Lang. (custom) -->
<field
type="lang"
name="language"
label="COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL"
class="list_class"
multiple="false"
default="en-GB"
required="true"
button="true"
/>
<!-- Percentagelanguageadd Field. Type: Number. (joomla) -->
<field
type="number"
name="percentagelanguageadd"
label="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_LABEL"
default="50"
description="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION"
class="text_area"
required="true"
min="10"
max="100"
step="10"
/>
<!-- Spacer_hr_six Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_six" hr="true" class="spacer_hr_six" />
<!-- Compiler_field_builder_type Field. Type: List. (joomla) -->
<field
type="list"
name="compiler_field_builder_type"
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION"
class="list_class"
filter="INT"
required="true"
default="2">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_SIMPLEXMLELEMENT_CLASS</option>
</field>
<!-- Field_name_builder Field. Type: Radio. (joomla) -->
<field
type="radio"
name="field_name_builder"
label="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC</option>
</field>
<!-- Type_name_builder Field. Type: Radio. (joomla) -->
<field
type="radio"
name="type_name_builder"
label="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT</option>
</field>
<!-- Spacer_hr_seven Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_seven" hr="true" class="spacer_hr_seven" />
<!-- Spacer_hr_three Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_three" hr="true" class="spacer_hr_three" />
<!-- Api Field. Type: User. (joomla) -->
<field
type="user"
@ -301,8 +234,8 @@
label="COM_COMPONENTBUILDER_CONFIG_API_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION"
/>
<!-- Spacer_hr_eight Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_eight" hr="true" class="spacer_hr_eight" />
<!-- Spacer_hr_four Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_four" hr="true" class="spacer_hr_four" />
<field name="autorTitle"
type="spacer"
label="COM_COMPONENTBUILDER_CONFIG_AUTHOR"
@ -720,6 +653,174 @@
default=""
/>
</fieldset>
<fieldset
name="compiler_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_COMPILER">
<!-- Compiler_plugin Field. Type: Plugins. (joomla) -->
<field
type="plugins"
name="compiler_plugin"
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_DESCRIPTION"
multiple="true"
folder="extension"
filter="cmd"
/>
<!-- Spacer_hr_five Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_five" hr="true" class="spacer_hr_five" />
<!-- Add_menu_prefix Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_menu_prefix"
label="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Menu_prefix Field. Type: Text. (joomla) -->
<field
type="text"
name="menu_prefix"
label="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_LABEL"
size="30"
maxlength="30"
default=""
description="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_DESCRIPTION"
class="text_area"
filter="SAFEHTML"
message="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_MESSAGE"
hint="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_HINT"
autocomplete="on"
showon="add_menu_prefix:1"
/>
<!-- Spacer_hr_six Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_six" hr="true" class="spacer_hr_six" />
<!-- Minify Field. Type: Radio. (joomla) -->
<field
type="radio"
name="minify"
label="COM_COMPONENTBUILDER_CONFIG_MINIFY_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_MINIFY_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Spacer_hr_seven Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_seven" hr="true" class="spacer_hr_seven" />
<!-- Note_language_global Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_language_global" label="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_DESCRIPTION" heading="h4" class="alert alert-info note_language_global" />
<!-- Language Field. Type: Lang. (custom) -->
<field
type="lang"
name="language"
label="COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL"
class="list_class"
multiple="false"
default="en-GB"
required="true"
button="true"
/>
<!-- Percentagelanguageadd Field. Type: Number. (joomla) -->
<field
type="number"
name="percentagelanguageadd"
label="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_LABEL"
default="50"
description="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION"
class="text_area"
required="true"
min="10"
max="100"
step="10"
/>
<!-- Export_language_strings Field. Type: Radio. (joomla) -->
<field
type="radio"
name="export_language_strings"
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Spacer_hr_eight Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_eight" hr="true" class="spacer_hr_eight" />
<!-- Assets_table_fix Field. Type: List. (joomla) -->
<field
type="list"
name="assets_table_fix"
label="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_DESCRIPTION"
class="list_class"
multiple="false"
default="2">
<!-- Option Set. -->
<option value="0">
COM_COMPONENTBUILDER_CONFIG_DO_NOT_ADD_FIX_EVER</option>
<option value="1">
COM_COMPONENTBUILDER_CONFIG_SQL_ADDREMOVE</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_INTELLIGENT_ADDREMOVEIF</option>
</field>
<!-- Compiler_field_builder_type Field. Type: List. (joomla) -->
<field
type="list"
name="compiler_field_builder_type"
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION"
class="list_class"
filter="INT"
required="true"
default="2">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_SIMPLEXMLELEMENT_CLASS</option>
</field>
<!-- Field_name_builder Field. Type: Radio. (joomla) -->
<field
type="radio"
name="field_name_builder"
label="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC</option>
</field>
<!-- Type_name_builder Field. Type: Radio. (joomla) -->
<field
type="radio"
name="type_name_builder"
label="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
<option value="2">
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT</option>
</field>
</fieldset>
<fieldset
name="development_method_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD">

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerAdmin_views extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Admin_views');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerClass_methods extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Class_methods');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerClass_properties extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Class_properties');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerCustom_admin_views extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Custom_admin_views');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerCustom_codes extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Custom_codes');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerDynamic_gets extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Dynamic_gets');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerFields extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Fields');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerFieldtypes extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Fieldtypes');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerHelp_documents extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Help_documents');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Joomla_components');
// get the data to export
@ -391,7 +391,7 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$subject = JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDER_BACKUP_KEY');
// email the message
componentbuilderEmail::send($email, $subject, componentbuilderEmail::setTableBody($message, $subject), $plainText, 1);
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_EMAIL_WITH_THE_NEW_KEY_WAS_SEND');
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_EMAIL_WITH_THE_NEW_KEY_WAS_SENT');
}
else
{

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerLanguage_translations extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Language_translations');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerLanguages extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Languages');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerLayouts extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Layouts');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerPlaceholders extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Placeholders');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerServers extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Servers');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerSite_views extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Site_views');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerSnippets extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Snippets');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerTemplates extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Templates');
// get the data to export

View File

@ -55,7 +55,7 @@ class ComponentbuilderControllerValidation_rules extends JControllerAdmin
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
ArrayHelper::toInteger($pks);
$pks = ArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Validation_rules');
// get the data to export

View File

@ -111,7 +111,7 @@ class Compiler extends Infusion
// Trigger Event: jcb_ce_onBeforeUpdateFiles
$this->triggerEvent(
'jcb_ce_onBeforeUpdateFiles',
array(&$this->componentContext, $this)
array(&$this->componentContext, &$this)
);
// now update the files
if (!$this->updateFiles())
@ -121,7 +121,7 @@ class Compiler extends Infusion
// Trigger Event: jcb_ce_onBeforeGetCustomCode
$this->triggerEvent(
'jcb_ce_onBeforeGetCustomCode',
array(&$this->componentContext, $this)
array(&$this->componentContext, &$this)
);
// now insert into the new files
if ($this->getCustomCode())
@ -129,7 +129,7 @@ class Compiler extends Infusion
// Trigger Event: jcb_ce_onBeforeAddCustomCode
$this->triggerEvent(
'jcb_ce_onBeforeAddCustomCode',
array(&$this->componentContext, $this)
array(&$this->componentContext, &$this)
);
$this->addCustomCode();
@ -137,7 +137,7 @@ class Compiler extends Infusion
// Trigger Event: jcb_ce_onBeforeSetLangFileData
$this->triggerEvent(
'jcb_ce_onBeforeSetLangFileData',
array(&$this->componentContext, $this)
array(&$this->componentContext, &$this)
);
// set the lang data now
$this->setLangFileData();
@ -190,13 +190,69 @@ class Compiler extends Infusion
{
$this->app->enqueueMessage(
JText::sprintf(
'The <b>%s</b> language has %s&#37; translated. Was addeded %s',
'The <b>%s</b> language has %s&#37; translated. Was added %s',
$tag, $percentage, $whyAddedLang
), 'Notice'
);
}
}
}
// set assets table column fix type messages
$message_fix['intelligent'] = JText::_(
'The <b>intelligent</b> fix only updates the #__assets table\'s column when it detects that it is too small for the worse case. The intelligent fix also only reverse the #__assets table\'s update on uninstall of the component if it detects that no other component needs the rules column to be larger any longer. This options also shows a notice to the end user of all that it does to the #__assets table on installation and uninstalling of the component.'
);
$message_fix['sql'] = JText::_(
'The <b>SQL</b> fix updates the #__assets table\'s column size on installation of the component and reverses it back to the Joomla default on uninstall of the component.'
);
// set assets table rules column notice
if ($this->addAssetsTableFix)
{
$this->app->enqueueMessage(
JText::_('<hr /><h3>Assets Table Notice</h3>'), 'Notice'
);
$asset_table_fix_type = ($this->addAssetsTableFix == 2)
? 'intelligent' : 'sql';
$this->app->enqueueMessage(
JText::sprintf(
'The #__assets table <b>%s</b> fix has been added to this component. %s',
$asset_table_fix_type,
$message_fix[$asset_table_fix_type]
), 'Notice'
);
}
// set assets table rules column Warning
elseif ($this->accessSize >= 30)
{
$this->app->enqueueMessage(
JText::_('<hr /><h3>Assets Table Warning</h3>'), 'Warning'
);
$this->app->enqueueMessage(
JText::sprintf(
'The Joomla #__assets table\'s rules column has to be fixed for this component to work coherently. JCB has detected that in worse case the rules column in the #__assets table may require <b>%s</b> characters, and yet the Joomla default is only <b>varchar(5120)</b>. JCB has three option to resolve this issue, first <b>use less permissions</b> in your component, second use the <b>SQL</b> fix, or the <b>intelligent</b> fix. %s %s',
$this->accessWorseCase, $message_fix['intelligent'],
$message_fix['sql']
), 'Warning'
);
}
// set assets table name column warning if not set
if (!$this->addAssetsTableFix && $this->addAssetsTableNameFix)
{
// only add if not already added
if ($this->accessSize < 30)
{
$this->app->enqueueMessage(
JText::_('<hr /><h3>Assets Table Warning</h3>'),
'Warning'
);
}
$this->app->enqueueMessage(
JText::sprintf(
'The Joomla #__assets table\'s name column has to be fixed for this component to work correctly. JCB has detected that the #__assets table name column will need to be enlarged because this component\'s own naming convention is larger than varchar(50) which is the Joomla default. JCB has three option to resolve this issue, first <b>shorter names</b> for your component and/or its admin views, second use the <b>SQL</b> fix, or the <b>intelligent</b> fix. %s %s',
$message_fix['intelligent'],
$message_fix['sql']
), 'Warning'
);
}
// move the update server into place
$this->setUpdateServer();
// set the global counters

File diff suppressed because it is too large Load Diff

View File

@ -501,16 +501,8 @@ class Structure extends Get
$this->dynamicPaths[$module->key] = $module->folder_path;
// make sure there is no old build
$this->removeFolder($module->folder_path);
// creat the main component folder
if (!JFolder::exists($module->folder_path))
{
JFolder::create($module->folder_path);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name, $this->compilerPath
);
}
// creat the main module folder
$this->createFolder($module->folder_path);
// set main mod file
$fileDetails = array('path' => $module->folder_path . '/'
. $module->file_name . '.php',
@ -592,15 +584,7 @@ class Structure extends Get
// count the file created
$this->fileCount++;
// set tmpl folder
if (!JFolder::exists($module->folder_path . '/tmpl'))
{
JFolder::create($module->folder_path . '/tmpl');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name . '/tmpl', $this->compilerPath
);
}
$this->createFolder($module->folder_path . '/tmpl');
// set default file
$fileDetails = array('path' => $module->folder_path
. '/tmpl/default.php',
@ -652,32 +636,116 @@ class Structure extends Get
// count the file created
$this->fileCount++;
}
// set fields & rules folders if needed
// set the folders target path
$target_path = '';
if ($module->target_client === 'administrator')
{
$target_path = '/administrator';
}
// check if we have custom fields needed for scripts
$module->add_scripts_field = false;
$field_script_bucket = array();
// add any css from the fields
if (($css = $this->getCustomScriptBuilder(
'css_view', $module->key
)) !== null
&& ComponentbuilderHelper::checkString($css))
{
// make sure this script does not have PHP
if (strpos($css, '<?php') === false)
{
// make sure the field is added
$module->add_scripts_field = true;
// create the css folder
$this->createFolder($module->folder_path . '/css');
// add the CSS file
$fileDetails = array('path' => $module->folder_path
. '/css/mod_admin.css',
'name' => 'mod_admin.css',
'zip' => 'mod_admin.css');
$this->writeFile(
$fileDetails['path'],
$this->hhh . 'BOM' . $this->hhh . PHP_EOL
. PHP_EOL . $css
);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
// add the field script
$field_script_bucket[] = $this->_t(2) . "//"
. $this->setLine(__LINE__) . " Custom CSS";
$field_script_bucket[] = $this->_t(2)
. "\$document->addStyleSheet('" . $target_path
. "/modules/" . $module->folder_name
. "/css/mod_admin.css', ['version' => 'auto', 'relative' => true]);";
}
}
// add any JavaScript from the fields
if (($javascript = $this->getCustomScriptBuilder(
'view_footer', $module->key
)) !== null
&& ComponentbuilderHelper::checkString($javascript))
{
// make sure this script does not have PHP
if (strpos($javascript, '<?php') === false)
{
// make sure the field is added
$module->add_scripts_field = true;
// add the JavaScript file
$this->createFolder($module->folder_path . '/js');
// add the CSS file
$fileDetails = array('path' => $module->folder_path
. '/js/mod_admin.js',
'name' => 'mod_admin.js',
'zip' => 'mod_admin.js');
$this->writeFile(
$fileDetails['path'],
$this->hhh . 'BOM' . $this->hhh . PHP_EOL
. PHP_EOL . $javascript
);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
// add the field script
$field_script_bucket[] = $this->_t(2) . "//"
. $this->setLine(__LINE__) . " Custom JS";
$field_script_bucket[] = $this->_t(2)
. "\$document->addScript('" . $target_path
. "/modules/" . $module->folder_name
. "/js/mod_admin.js', ['version' => 'auto', 'relative' => true]);";
}
}
// set fields folders if needed
if ($module->add_scripts_field
|| (isset($module->fields_rules_paths)
&& $module->fields_rules_paths == 2))
{
// create fields folder
$this->createFolder($module->folder_path . '/fields');
// add the custom script field
if ($module->add_scripts_field)
{
$fileDetails = array('path' => $module->folder_path
. '/fields/modadminvvvvvvvdm.php',
'name' => 'modadminvvvvvvvdm.php',
'zip' => 'modadminvvvvvvvdm.php');
$this->writeFile(
$fileDetails['path'],
$this->getModAdminVvvvvvvdm(
$field_script_bucket
)
);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
}
}
// set rules folders if needed
if (isset($module->fields_rules_paths)
&& $module->fields_rules_paths == 2)
{
// create fields folder
if (!JFolder::exists($module->folder_path . '/fields'))
{
JFolder::create($module->folder_path . '/fields');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name . '/fields',
$this->compilerPath
);
}
// create rules folder
if (!JFolder::exists($module->folder_path . '/rules'))
{
JFolder::create($module->folder_path . '/rules');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name . '/rules',
$this->compilerPath
);
}
$this->createFolder($module->folder_path . '/rules');
}
// set forms folder if needed
if (isset($module->form_files)
@ -686,16 +754,7 @@ class Structure extends Get
))
{
// create forms folder
if (!JFolder::exists($module->folder_path . '/forms'))
{
JFolder::create($module->folder_path . '/forms');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name . '/forms',
$this->compilerPath
);
}
$this->createFolder($module->folder_path . '/forms');
// set the template files
foreach ($module->form_files as $file => $fields)
{
@ -705,7 +764,7 @@ class Structure extends Get
'name' => $file . '.xml',
'zip' => 'forms/' . $file
. '.xml');
// biuld basic XML
// build basic XML
$xml = '<?xml version="1.0" encoding="utf-8"?>';
$xml .= PHP_EOL . '<!--' . $this->setLine(__LINE__)
. ' default paths of ' . $file
@ -848,31 +907,11 @@ class Structure extends Get
if ($module->add_sql || $module->add_sql_uninstall)
{
// create SQL folder
if (!JFolder::exists($module->folder_path . '/sql'))
{
JFolder::create($module->folder_path . '/sql');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name . '/sql',
$this->compilerPath
);
}
$this->createFolder($module->folder_path . '/sql');
// create mysql folder
if (!JFolder::exists(
$this->createFolder(
$module->folder_path . '/sql/mysql'
))
{
JFolder::create(
$module->folder_path . '/sql/mysql'
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name . '/sql/mysql',
$this->compilerPath
);
}
);
// now set the install file
if ($module->add_sql)
{
@ -896,24 +935,11 @@ class Structure extends Get
}
}
// creat the language folder
if (!JFolder::exists($module->folder_path . '/language'))
{
JFolder::create($module->folder_path . '/language');
// count the folder created
$this->folderCount++;
// also the lang tag
if (!JFolder::exists(
$module->folder_path . '/language/' . $this->langTag
))
{
JFolder::create(
$module->folder_path . '/language/'
. $this->langTag
);
// count the folder created
$this->folderCount++;
}
}
$this->createFolder($module->folder_path . '/language');
// also create the lang tag folder
$this->createFolder(
$module->folder_path . '/language/' . $this->langTag
);
// check if this lib has files
if (isset($module->files)
&& ComponentbuilderHelper::checkArray($module->files))
@ -974,20 +1000,9 @@ class Structure extends Get
$path = '';
}
// create sub media path if not set
if (!JFolder::exists(
$this->createFolder(
$module->folder_path . $path
))
{
JFolder::create(
$module->folder_path . $path
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$module->folder_name . $path,
$this->compilerPath
);
}
);
// set the path to module file
$url['path'] = $module->folder_path . $path
. '/' . $fileName; // we need this for later
@ -1034,15 +1049,7 @@ class Structure extends Get
// make sure there is no old build
$this->removeFolder($plugin->folder_path);
// creat the main component folder
if (!JFolder::exists($plugin->folder_path))
{
JFolder::create($plugin->folder_path);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$plugin->folder_name, $this->compilerPath
);
}
$this->createFolder($plugin->folder_path);
// set main class file
$fileDetails = array('path' => $plugin->folder_path . '/'
. $plugin->file_name . '.php',
@ -1111,27 +1118,9 @@ class Structure extends Get
&& $plugin->fields_rules_paths == 2)
{
// create fields folder
if (!JFolder::exists($plugin->folder_path . '/fields'))
{
JFolder::create($plugin->folder_path . '/fields');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$plugin->folder_name . '/fields',
$this->compilerPath
);
}
$this->createFolder($plugin->folder_path . '/fields');
// create rules folder
if (!JFolder::exists($plugin->folder_path . '/rules'))
{
JFolder::create($plugin->folder_path . '/rules');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$plugin->folder_name . '/rules',
$this->compilerPath
);
}
$this->createFolder($plugin->folder_path . '/rules');
}
// set forms folder if needed
if (isset($plugin->form_files)
@ -1140,16 +1129,7 @@ class Structure extends Get
))
{
// create forms folder
if (!JFolder::exists($plugin->folder_path . '/forms'))
{
JFolder::create($plugin->folder_path . '/forms');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$plugin->folder_name . '/forms',
$this->compilerPath
);
}
$this->createFolder($plugin->folder_path . '/forms');
// set the template files
foreach ($plugin->form_files as $file => $fields)
{
@ -1304,31 +1284,11 @@ class Structure extends Get
if ($plugin->add_sql || $plugin->add_sql_uninstall)
{
// create SQL folder
if (!JFolder::exists($plugin->folder_path . '/sql'))
{
JFolder::create($plugin->folder_path . '/sql');
// count the folder created
$this->folderCount++;
$this->indexHTML(
$plugin->folder_name . '/sql',
$this->compilerPath
);
}
$this->createFolder($plugin->folder_path . '/sql');
// create mysql folder
if (!JFolder::exists(
$this->createFolder(
$plugin->folder_path . '/sql/mysql'
))
{
JFolder::create(
$plugin->folder_path . '/sql/mysql'
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$plugin->folder_name . '/sql/mysql',
$this->compilerPath
);
}
);
// now set the install file
if ($plugin->add_sql)
{
@ -1351,25 +1311,12 @@ class Structure extends Get
$this->fileCount++;
}
}
// creat the language folder
if (!JFolder::exists($plugin->folder_path . '/language'))
{
JFolder::create($plugin->folder_path . '/language');
// count the folder created
$this->folderCount++;
// also the lang tag
if (!JFolder::exists(
$plugin->folder_path . '/language/' . $this->langTag
))
{
JFolder::create(
$plugin->folder_path . '/language/'
. $this->langTag
);
// count the folder created
$this->folderCount++;
}
}
// creat the language folder path
$this->createFolder($plugin->folder_path . '/language');
// also creat the lang tag folder path
$this->createFolder(
$plugin->folder_path . '/language/' . $this->langTag
);
// check if this lib has files
if (isset($plugin->files)
&& ComponentbuilderHelper::checkArray($plugin->files))
@ -1429,21 +1376,10 @@ class Structure extends Get
{
$path = '';
}
// create sub media path if not set
if (!JFolder::exists(
// create sub media media folder path if not set
$this->createFolder(
$plugin->folder_path . $path
))
{
JFolder::create(
$plugin->folder_path . $path
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$plugin->folder_name . $path,
$this->compilerPath
);
}
);
// set the path to plugin file
$url['path'] = $plugin->folder_path . $path
. '/' . $fileName; // we need this for later
@ -1459,6 +1395,31 @@ class Structure extends Get
}
}
/**
* Create Path if not exist
*
* @return void
*/
private function createFolder($path)
{
// check if the path exist
if (!JFolder::exists(
$path
))
{
// create the path
JFolder::create(
$path
);
// count the folder created
$this->folderCount++;
// add index.html (boring I know)
$this->indexHTML(
$path, ''
);
}
}
/**
* Build the Libraries files, folders, url's and config
*
@ -1483,13 +1444,7 @@ class Structure extends Get
$this->indexHTML('');
}
// create media path if not set
if (!JFolder::exists($this->componentPath . '/media'))
{
JFolder::create($this->componentPath . '/media');
// count the folder created
$this->folderCount++;
$this->indexHTML('/media');
}
$this->createFolder($this->componentPath . '/media');
foreach ($this->libraries as $id => &$library)
{
if (ComponentbuilderHelper::checkObject($library))
@ -1542,17 +1497,9 @@ class Structure extends Get
))
{
// create media/lib path if not set
if (!JFolder::exists(
$this->createFolder(
$this->componentPath . $mediaPath
))
{
JFolder::create(
$this->componentPath . $mediaPath
);
// count the folder created
$this->folderCount++;
$this->indexHTML($mediaPath);
}
);
// add local folder
$addLocalFolder = true;
// set file name
@ -1575,18 +1522,9 @@ class Structure extends Get
$path = '';
}
// create sub media path if not set
if (!JFolder::exists(
$this->createFolder(
$this->componentPath . $mediaPath . $path
))
{
JFolder::create(
$this->componentPath . $mediaPath
. $path
);
// count the folder created
$this->folderCount++;
$this->indexHTML($mediaPath . $path);
}
);
// set the path to library file
$url['path'] = $mediaPath . $path . '/'
. $fileName; // we need this for later
@ -1808,47 +1746,22 @@ class Structure extends Get
// now build all folders needed for this component
foreach ($this->joomlaVersionData->create as $main => $folders)
{
if (!JFolder::exists($this->componentPath . '/' . $main))
{
JFolder::create($this->componentPath . '/' . $main);
// count the folder created
$this->folderCount++;
$this->indexHTML($main);
}
$this->createFolder($this->componentPath . '/' . $main);
if (ComponentbuilderHelper::checkObject($folders))
{
foreach ($folders as $sub => $subFolders)
{
if (!JFolder::exists(
$this->createFolder(
$this->componentPath . '/' . $main . '/' . $sub
))
{
JFolder::create(
$this->componentPath . '/' . $main . '/' . $sub
);
// count the folder created
$this->folderCount++;
$this->indexHTML($main . '/' . $sub);
}
);
if (ComponentbuilderHelper::checkObject($subFolders))
{
foreach ($subFolders as $sub_2 => $subFolders_2)
{
if (!JFolder::exists(
$this->createFolder(
$this->componentPath . '/' . $main . '/'
. $sub . '/' . $sub_2
))
{
JFolder::create(
$this->componentPath . '/' . $main . '/'
. $sub . '/' . $sub_2
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$main . '/' . $sub . '/' . $sub_2
);
}
);
if (ComponentbuilderHelper::checkObject(
$subFolders_2
))
@ -1857,25 +1770,11 @@ class Structure extends Get
$subFolders_2 as $sub_3 => $subFolders_3
)
{
if (!JFolder::exists(
$this->createFolder(
$this->componentPath . '/' . $main
. '/' . $sub . '/' . $sub_2 . '/'
. $sub_3
))
{
JFolder::create(
$this->componentPath . '/'
. $main . '/' . $sub . '/'
. $sub_2 . '/' . $sub_3
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$main . '/' . $sub . '/'
. $sub_2 . '/' . $sub_3
);
}
);
if (ComponentbuilderHelper::checkObject(
$subFolders_3
))
@ -1885,28 +1784,12 @@ class Structure extends Get
$subFolders_4
)
{
if (!JFolder::exists(
$this->createFolder(
$this->componentPath . '/'
. $main . '/' . $sub . '/'
. $sub_2 . '/' . $sub_3
. '/' . $sub_4
))
{
JFolder::create(
$this->componentPath
. '/' . $main . '/'
. $sub . '/' . $sub_2
. '/' . $sub_3 . '/'
. $sub_4
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$main . '/' . $sub . '/'
. $sub_2 . '/' . $sub_3
. '/' . $sub_4
);
}
);
if (ComponentbuilderHelper::checkObject(
$subFolders_4
))
@ -1916,7 +1799,7 @@ class Structure extends Get
=> $subFolders_5
)
{
if (!JFolder::exists(
$this->createFolder(
$this->componentPath
. '/' . $main . '/'
. $sub . '/'
@ -1924,28 +1807,7 @@ class Structure extends Get
. $sub_3 . '/'
. $sub_4 . '/'
. $sub_5
))
{
JFolder::create(
$this->componentPath
. '/' . $main
. '/' . $sub
. '/' . $sub_2
. '/' . $sub_3
. '/' . $sub_4
. '/' . $sub_5
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$main . '/'
. $sub . '/'
. $sub_2 . '/'
. $sub_3 . '/'
. $sub_4 . '/'
. $sub_5
);
}
);
if (ComponentbuilderHelper::checkObject(
$subFolders_5
))
@ -1956,11 +1818,12 @@ class Structure extends Get
$subFolders_6
)
{
if (!JFolder::exists(
$this->createFolder(
$this->componentPath
. '/'
. $main
. '/' . $sub
. '/'
. $sub
. '/'
. $sub_2
. '/'
@ -1971,43 +1834,7 @@ class Structure extends Get
. $sub_5
. '/'
. $sub_6
))
{
JFolder::create(
$this->componentPath
. '/'
. $main
. '/'
. $sub
. '/'
. $sub_2
. '/'
. $sub_3
. '/'
. $sub_4
. '/'
. $sub_5
. '/'
. $sub_6
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$main
. '/'
. $sub
. '/'
. $sub_2
. '/'
. $sub_3
. '/'
. $sub_4
. '/'
. $sub_5
. '/'
. $sub_6
);
}
);
if (ComponentbuilderHelper::checkObject(
$subFolders_6
))
@ -2020,7 +1847,7 @@ class Structure extends Get
$subFolders_7
)
{
if (!JFolder::exists(
$this->createFolder(
$this->componentPath
. '/'
. $main
@ -2038,47 +1865,7 @@ class Structure extends Get
. $sub_6
. '/'
. $sub_7
))
{
JFolder::create(
$this->componentPath
. '/'
. $main
. '/'
. $sub
. '/'
. $sub_2
. '/'
. $sub_3
. '/'
. $sub_4
. '/'
. $sub_5
. '/'
. $sub_6
. '/'
. $sub_7
);
// count the folder created
$this->folderCount++;
$this->indexHTML(
$main
. '/'
. $sub
. '/'
. $sub_2
. '/'
. $sub_3
. '/'
. $sub_4
. '/'
. $sub_5
. '/'
. $sub_6
. '/'
. $sub_7
);
}
);
}
}
}
@ -2556,7 +2343,8 @@ class Structure extends Get
public function moveFieldsRules($field, $path)
{
// check if we have a subform or repeatable field
if ($field['type_name'] === 'subform' || $field['type_name'] === 'repeatable')
if ($field['type_name'] === 'subform'
|| $field['type_name'] === 'repeatable')
{
// since we could have a custom field or rule inside
$this->moveMultiFieldsRules($field, $path);
@ -2624,7 +2412,7 @@ class Structure extends Get
* move the fields and Rules of multi fields
*
* @param array $multi_field The field data
* @param string $path The path to move to
* @param string $path The path to move to
*
* @return void
*
@ -2632,13 +2420,21 @@ class Structure extends Get
protected function moveMultiFieldsRules($multi_field, $path)
{
// get the fields ids
$ids = array_map( 'trim', explode(',', ComponentbuilderHelper::getBetween($multi_field['settings']->xml, 'fields="', '"')));
$ids = array_map(
'trim',
explode(
',',
ComponentbuilderHelper::getBetween(
$multi_field['settings']->xml, 'fields="', '"'
)
)
);
if (ComponentbuilderHelper::checkArray($ids))
{
foreach ($ids as $id)
{
// setup the field
$field = array();
$field = array();
$field['field'] = $id;
$this->setFieldDetails($field);
// move field and rules if needed
@ -2835,10 +2631,24 @@ class Structure extends Get
{
$path = $details->path;
}
$zipPath = str_replace('c0mp0n3nt/', '', $path);
$path = str_replace(
'c0mp0n3nt/', $this->componentPath . '/', $path
);
// make sure we have component to replace
if (strpos($path, 'c0mp0n3nt') !== false)
{
$zipPath = str_replace('c0mp0n3nt/', '', $path);
$path = str_replace(
'c0mp0n3nt/', $this->componentPath . '/', $path
);
}
else
{
$this->app->enqueueMessage(
JText::sprintf(
'<hr /><h3>c0mp0n3nt issue found</h3><p>The path (%s) could not be used.</p>',
$path
), 'Error'
);
continue;
}
// setup the folder
if (!JFolder::exists($path))
@ -2878,7 +2688,7 @@ class Structure extends Get
// move the file to its place
JFile::copy(
$this->templatePath . '/' . $item,
$path . '/' . $new, '', true
$path . '/' . $new
);
// count the file created
$this->fileCount++;
@ -2906,7 +2716,7 @@ class Structure extends Get
/**
* set the Joomla Version Data
*
* @return oject The version data
* @return object The version data
*
*/
private function setJoomlaVersionData()
@ -2934,9 +2744,10 @@ class Structure extends Get
'rename' => 1);
$this->componentData->folders[] = $importView;
// move the phpspreadsheet Folder (TODO we must move this to a library package)
$PHPExcel = array('folderpath' => 'JPATH_LIBRARIES/phpspreadsheet/vendor',
'path' => '/libraries/phpspreadsheet/',
'rename' => 0);
$PHPExcel
= array('folderpath' => 'JPATH_LIBRARIES/phpspreadsheet/vendor',
'path' => '/libraries/phpspreadsheet/',
'rename' => 0);
$this->componentData->folders[] = $PHPExcel;
}
if (2 == $this->uikit || 1 == $this->uikit)
@ -3227,14 +3038,14 @@ class Structure extends Get
{
if ('component' === $root)
{
$root = $this->componentPath;
$root = $this->componentPath . '/';
}
// use path if exist
if (strlen($path) > 0)
{
JFile::copy(
$this->templatePath . '/index.html',
$root . '/' . $path . '/index.html'
$root . $path . '/index.html'
);
// count the file created
$this->fileCount++;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Language;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use PhpOffice\PhpSpreadsheet\IOFactory;
@ -56,7 +57,7 @@ abstract class ComponentbuilderHelper
/**
* Array of php fields Allowed (16)
**/
public static $phpFieldArray = array('', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'x');
public static $phpFieldArray = array('', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'x', 'HEADER');
/**
* The global params
@ -2964,7 +2965,15 @@ abstract class ComponentbuilderHelper
$script['setdata'][] = self::_t(3) . "\$jinput = JFactory::getApplication()->input;";
$script['setdata'][] = self::_t(3) . "foreach(\$target_headers as \$header)";
$script['setdata'][] = self::_t(3) . "{";
$script['setdata'][] = self::_t(4) . "\$data['target_headers'][\$header] = \$jinput->getString(\$header, null);";
$script['setdata'][] = self::_t(4) . "if ((\$column = \$jinput->getString(\$header, false)) !== false ||";
$script['setdata'][] = self::_t(5) . "(\$column = \$jinput->getString(strtolower(\$header), false)) !== false)";
$script['setdata'][] = self::_t(4) . "{";
$script['setdata'][] = self::_t(5) . "\$data['target_headers'][\$header] = \$column;";
$script['setdata'][] = self::_t(4) . "}";
$script['setdata'][] = self::_t(4) . "else";
$script['setdata'][] = self::_t(4) . "{";
$script['setdata'][] = self::_t(5) . "\$data['target_headers'][\$header] = null;";
$script['setdata'][] = self::_t(4) . "}";
$script['setdata'][] = self::_t(3) . "}";
$script['setdata'][] = self::_t(3) . "// set the data";
$script['setdata'][] = self::_t(3) . "if(isset(\$package['dir']))";
@ -5534,14 +5543,61 @@ abstract class ComponentbuilderHelper
*
*/
public static function getEditURL(&$item, $view, $views, $ref = '', $component = 'com_componentbuilder', $jRoute = true)
{
// build record
$record = new stdClass();
// check if user can edit
if (self::canEditItem($record, $item, $view, $views, $component))
{
// set the edit link
if ($jRoute)
{
return JRoute::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref);
}
return "index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref;
}
return false;
}
/**
* Can Edit (either any, or own)
*
* @param int $item The item to edit
* @param string $view The type of item to edit
* @param string $views The list view controller name
* @param string $component The component these views belong to
*
* @return bool if user can edit returns true els
*
*/
public static function allowEdit(&$item, $view, $views, $component = 'com_componentbuilder')
{
// build record
$record = new stdClass();
return self::canEditItem($record, $item, $view, $views, $component);
}
/**
* Can Edit (either any, or own)
*
* @param int $item The item to edit
* @param string $view The type of item to edit
* @param string $views The list view controller name
* @param string $component The component these views belong to
*
* @return bool if user can edit returns true els
*
*/
protected static function canEditItem(&$record, &$item, $view, $views, $component = 'com_componentbuilder')
{
// make sure the user has access to view
if (!JFactory::getUser()->authorise($view. '.access', $component))
{
return false;
}
// build record
$record = new stdClass();
// we start with false.
$can_edit = false;
// check that we have the ID
if (self::checkObject($item) && isset($item->id))
{
@ -5571,25 +5627,14 @@ abstract class ComponentbuilderHelper
// get user action permission to edit
$action = self::getActions($view, $record, $views, 'edit', str_replace('com_', '', $component));
// check if the view permission is set
if (($edit = $action->get($view . '.edit', 'none-set')) === 'none-set')
if (($can_edit = $action->get($view . '.edit', 'none-set')) === 'none-set')
{
// fall back on the core permission then
$edit = $action->get('core.edit', 'none-set');
}
// can edit
if ($edit)
{
// set the edit link
if ($jRoute)
{
return JRoute::_("index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref);
}
return "index.php?option=" . $component . "&view=" . $views . "&task=" . $view . ".edit&id=" . $record->id . $ref;
// fall back on the core permission then (this can be an issue)
$can_edit = ($action->get('core.edit', false) || $action->get('core.edit.own', false));
}
}
return false;
return $can_edit;
}
/**
* set subform type table
@ -5632,9 +5677,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice fancy date
*/
public static function fancyDate($date)
public static function fancyDate($date, $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5644,9 +5689,9 @@ abstract class ComponentbuilderHelper
/**
* get date based in period past
*/
public static function fancyDynamicDate($date)
public static function fancyDynamicDate($date, $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5670,9 +5715,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice fancy day time and date
*/
public static function fancyDayTimeDate($time)
public static function fancyDayTimeDate($time, $check_stamp = true)
{
if (!self::isValidTimeStamp($time))
if ($check_stamp && !self::isValidTimeStamp($time))
{
$time = strtotime($time);
}
@ -5682,9 +5727,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice fancy time and date
*/
public static function fancyDateTime($time)
public static function fancyDateTime($time, $check_stamp = true)
{
if (!self::isValidTimeStamp($time))
if ($check_stamp && !self::isValidTimeStamp($time))
{
$time = strtotime($time);
}
@ -5694,9 +5739,9 @@ abstract class ComponentbuilderHelper
/**
* Change to nice hour:minutes time
*/
public static function fancyTime($time)
public static function fancyTime($time, $check_stamp = true)
{
if (!self::isValidTimeStamp($time))
if ($check_stamp && !self::isValidTimeStamp($time))
{
$time = strtotime($time);
}
@ -5706,9 +5751,9 @@ abstract class ComponentbuilderHelper
/**
* set the date day as Sunday through Saturday
*/
public static function setDayName($date)
public static function setDayName($date, $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5718,9 +5763,9 @@ abstract class ComponentbuilderHelper
/**
* set the date month as January through December
*/
public static function setMonthName($date)
public static function setMonthName($date, $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5730,9 +5775,9 @@ abstract class ComponentbuilderHelper
/**
* set the date day as 1st
*/
public static function setDay($date)
public static function setDay($date, $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5742,9 +5787,9 @@ abstract class ComponentbuilderHelper
/**
* set the date month as 5
*/
public static function setMonth($date)
public static function setMonth($date, $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5754,9 +5799,9 @@ abstract class ComponentbuilderHelper
/**
* set the date year as 2004 (for charts)
*/
public static function setYear($date)
public static function setYear($date, $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5766,9 +5811,9 @@ abstract class ComponentbuilderHelper
/**
* set the date as 2004/05 (for charts)
*/
public static function setYearMonth($date, $spacer = '/')
public static function setYearMonth($date, $spacer = '/', $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
@ -5778,15 +5823,27 @@ abstract class ComponentbuilderHelper
/**
* set the date as 2004/05/03 (for charts)
*/
public static function setYearMonthDay($date, $spacer = '/')
public static function setYearMonthDay($date, $spacer = '/', $check_stamp = true)
{
if (!self::isValidTimeStamp($date))
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
return date('Y' . $spacer . 'm' . $spacer . 'd', $date);
}
/**
* set the date as 03/05/2004
*/
public static function setDayMonthYear($date, $spacer = '/', $check_stamp = true)
{
if ($check_stamp && !self::isValidTimeStamp($date))
{
$date = strtotime($date);
}
return date('d' . $spacer . 'm' . $spacer . 'Y', $date);
}
/**
* Check if string is a valid time stamp
*/
@ -5797,6 +5854,57 @@ abstract class ComponentbuilderHelper
&& ($timestamp >= ~PHP_INT_MAX);
}
/**
* Check if string is a valid date
* https://www.php.net/manual/en/function.checkdate.php#113205
*/
public static function isValidateDate($date, $format = 'Y-m-d H:i:s')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
/**
* The subform layouts
**/
protected static $subformLayouts = false;
/**
* get the subform layout
*
* @input string The view name
* @input string The string name
*
* @returns string on success
**/
public static function getSubformLayout($view, $field, $default = 'repeatablejcb')
{
// get global values
if (self::$subformLayouts === false)
{
self::$subformLayouts = JComponentHelper::getParams('com_componentbuilder')->get('subform_layouts', false);
}
// check what we found (else) return default
if (self::checkObject(self::$subformLayouts))
{
// looking for
$target = $view . '.' . $field;
foreach (self::$subformLayouts as $subform)
{
if ($target === $subform->view_field)
{
return $subform->layout;
}
elseif ('default' === $subform->view_field)
{
$default = $subform->layout;
}
}
}
return $default;
}
/**
* Load the Composer Vendors
@ -6033,12 +6141,12 @@ abstract class ComponentbuilderHelper
if ($user->authorise('field.access', 'com_componentbuilder') && $user->authorise('field.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FIELDS'), 'index.php?option=com_componentbuilder&view=fields', $submenu === 'fields');
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fields', $submenu === 'categories.fields');
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.field', $submenu === 'categories.field');
}
if ($user->authorise('fieldtype.access', 'com_componentbuilder') && $user->authorise('fieldtype.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FIELDTYPES'), 'index.php?option=com_componentbuilder&view=fieldtypes', $submenu === 'fieldtypes');
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_FIELDTYPES_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fieldtypes', $submenu === 'categories.fieldtypes');
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_FIELDTYPES_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fieldtype', $submenu === 'categories.fieldtype');
}
if ($user->authorise('language_translation.access', 'com_componentbuilder') && $user->authorise('language_translation.submenu', 'com_componentbuilder'))
{
@ -6201,6 +6309,8 @@ abstract class ComponentbuilderHelper
->setLastModifiedBy($modified)
->setTitle($title)
->setSubject($subjectTab);
// The file type
$file_type = 'Xls';
// set description
if ($description)
{
@ -6240,21 +6350,46 @@ abstract class ComponentbuilderHelper
));
// Add some data
if (self::checkArray($rows))
if (($size = self::checkArray($rows)) !== false)
{
$i = 1;
foreach ($rows as $array){
// Based on data size we adapt the behaviour.
$xls_mode = 1;
if ($size > 3000)
{
$xls_mode = 3;
$file_type = 'Csv';
}
elseif ($size > 2000)
{
$xls_mode = 2;
}
// Set active sheet and get it.
$active_sheet = $spreadsheet->setActiveSheetIndex(0);
foreach ($rows as $array)
{
$a = 'A';
foreach ($array as $value){
$spreadsheet->setActiveSheetIndex(0)->setCellValue($a.$i, $value);
if ($i == 1){
$spreadsheet->getActiveSheet()->getColumnDimension($a)->setAutoSize(true);
$spreadsheet->getActiveSheet()->getStyle($a.$i)->applyFromArray($headerStyles);
$spreadsheet->getActiveSheet()->getStyle($a.$i)->getAlignment()->setHorizontal(PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
} elseif ($a === 'A'){
$spreadsheet->getActiveSheet()->getStyle($a.$i)->applyFromArray($sideStyles);
} else {
$spreadsheet->getActiveSheet()->getStyle($a.$i)->applyFromArray($normalStyles);
foreach ($array as $value)
{
$active_sheet->setCellValue($a.$i, $value);
if ($xls_mode != 3)
{
if ($i == 1)
{
$active_sheet->getColumnDimension($a)->setAutoSize(true);
$active_sheet->getStyle($a.$i)->applyFromArray($headerStyles);
$active_sheet->getStyle($a.$i)->getAlignment()->setHorizontal(PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
}
elseif ($a === 'A')
{
$active_sheet->getStyle($a.$i)->applyFromArray($sideStyles);
}
elseif ($xls_mode == 1)
{
$active_sheet->getStyle($a.$i)->applyFromArray($normalStyles);
}
}
$a++;
}
@ -6274,7 +6409,7 @@ abstract class ComponentbuilderHelper
// Redirect output to a client's web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
header('Content-Disposition: attachment;filename="' . $fileName . '.' . strtolower($file_type) .'"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
@ -6285,7 +6420,7 @@ abstract class ComponentbuilderHelper
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$writer = IOFactory::createWriter($spreadsheet, 'Xls');
$writer = IOFactory::createWriter($spreadsheet, $file_type);
$writer->save('php://output');
jexit();
}

View File

@ -7,6 +7,7 @@ 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)"
COM_COMPONENTBUILDER_ADD="Add"
COM_COMPONENTBUILDER_ADD_ACCESS="Add Access"
COM_COMPONENTBUILDER_ADD_CORRESPONDING_LINE_NUMBERS_TO_THE_DYNAMIC_COMMENTS_SO_TO_SEE_WHERE_IN_THE_COMPILER_THE_LINES_OF_CODE_WAS_BUILD_THIS_WILL_HELP_IF_YOU_NEED_TO_GET_MORE_TECHNICAL_WITH_AN_ISSUE_ON_GITHUB_OR_EVEN_FOR_YOUR_OWN_DEBUGGING="Add corresponding line numbers to the dynamic comments, so to see where in the compiler the lines of code was build. This will help if you need to get more technical with an issue on github, or even for your own debugging."
COM_COMPONENTBUILDER_ADD_CUSTOM_CODE_PLACEHOLDERS="Add Custom Code Placeholders"
@ -46,6 +47,8 @@ COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_CHECKED_IN_1="%d Admin Custom Ta
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_CHECKED_IN_MORE="%d Admins Custom Tabs successfully checked in."
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_DELETED="%s Admins Custom Tabs deleted."
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_DELETED_1="%s Admin Custom Tabs deleted."
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_FAILED_PUBLISHING="%s Admins Custom Tabs failed publishing."
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_FAILED_PUBLISHING_1="%s Admin Custom Tabs failed publishing."
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_FEATURED="%s Admins Custom Tabs featured."
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_FEATURED_1="%s Admin Custom Tabs featured."
COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_N_ITEMS_PUBLISHED="%s Admins Custom Tabs published."
@ -93,6 +96,8 @@ COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_CHECKED_IN_1="%d Admin Fie
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_CHECKED_IN_MORE="%d Admins Fields Conditions successfully checked in."
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_DELETED="%s Admins Fields Conditions deleted."
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_DELETED_1="%s Admin Fields Conditions deleted."
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_FAILED_PUBLISHING="%s Admins Fields Conditions failed publishing."
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_FAILED_PUBLISHING_1="%s Admin Fields Conditions failed publishing."
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_FEATURED="%s Admins Fields Conditions featured."
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_FEATURED_1="%s Admin Fields Conditions featured."
COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_N_ITEMS_PUBLISHED="%s Admins Fields Conditions published."
@ -126,6 +131,8 @@ COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_CHECKED_IN_1="%d Admin Fields success
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_CHECKED_IN_MORE="%d Admins Fields successfully checked in."
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_DELETED="%s Admins Fields deleted."
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_DELETED_1="%s Admin Fields deleted."
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_FAILED_PUBLISHING="%s Admins Fields failed publishing."
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_FAILED_PUBLISHING_1="%s Admin Fields failed publishing."
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_FEATURED="%s Admins Fields featured."
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_FEATURED_1="%s Admin Fields featured."
COM_COMPONENTBUILDER_ADMINS_FIELDS_N_ITEMS_PUBLISHED="%s Admins Fields published."
@ -166,6 +173,8 @@ COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_CHECKED_IN_1="%d Admin Fiel
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_CHECKED_IN_MORE="%d Admins Fields Relations successfully checked in."
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_DELETED="%s Admins Fields Relations deleted."
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_DELETED_1="%s Admin Fields Relations deleted."
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_FAILED_PUBLISHING="%s Admins Fields Relations failed publishing."
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_FAILED_PUBLISHING_1="%s Admin Fields Relations failed publishing."
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_FEATURED="%s Admins Fields Relations featured."
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_FEATURED_1="%s Admin Fields Relations featured."
COM_COMPONENTBUILDER_ADMINS_FIELDS_RELATIONS_N_ITEMS_PUBLISHED="%s Admins Fields Relations published."
@ -304,7 +313,7 @@ COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD="Field"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELDS="Fields"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_DESCRIPTION="Select a field"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FIELD_LABEL="Field"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FILTER_DESCRIPTION="Select if the field is to be used as a filter in list view, if shown."
COM_COMPONENTBUILDER_ADMIN_FIELDS_FILTER_DESCRIPTION="Should this field be used as a filter in list view, if shown."
COM_COMPONENTBUILDER_ADMIN_FIELDS_FILTER_LABEL="Filter"
COM_COMPONENTBUILDER_ADMIN_FIELDS_FULL_WIDTH_IN_TAB="Full Width in Tab"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ID="Id"
@ -319,6 +328,7 @@ 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_NO="No"
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."
@ -400,6 +410,8 @@ 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="Version"
COM_COMPONENTBUILDER_ADMIN_FIELDS_VIEW="View"
COM_COMPONENTBUILDER_ADMIN_FIELDS_YES_MULTI="Yes (multi)"
COM_COMPONENTBUILDER_ADMIN_FIELDS_YES_SINGLE="Yes (single)"
COM_COMPONENTBUILDER_ADMIN_VIEW="Admin View"
COM_COMPONENTBUILDER_ADMIN_VIEWS="Admin Views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS="Admin Views Access"
@ -441,6 +453,8 @@ COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_1="%d Admin View successfull
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_MORE="%d Admin Views successfully checked in."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_DELETED="%s Admin Views deleted."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_DELETED_1="%s Admin View deleted."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING="%s Admin Views failed publishing."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING_1="%s Admin View failed publishing."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_FEATURED="%s Admin Views featured."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_FEATURED_1="%s Admin View featured."
COM_COMPONENTBUILDER_ADMIN_VIEWS_N_ITEMS_PUBLISHED="%s Admin Views published."
@ -1467,6 +1481,8 @@ COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_CHECKED_IN_1="%d Class Extends suc
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_CHECKED_IN_MORE="%d Class Extendings successfully checked in."
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_DELETED="%s Class Extendings deleted."
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_DELETED_1="%s Class Extends deleted."
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_FAILED_PUBLISHING="%s Class Extendings failed publishing."
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_FAILED_PUBLISHING_1="%s Class Extends failed publishing."
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_FEATURED="%s Class Extendings featured."
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_FEATURED_1="%s Class Extends featured."
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_N_ITEMS_PUBLISHED="%s Class Extendings published."
@ -1498,8 +1514,8 @@ COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE="Extension Type"
COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_DESCRIPTION="Extension type this class_extends belongs to."
COM_COMPONENTBUILDER_CLASS_EXTENDS_EXTENSION_TYPE_LABEL="Extension Type"
COM_COMPONENTBUILDER_CLASS_EXTENDS_HEAD="Head"
COM_COMPONENTBUILDER_CLASS_EXTENDS_HEAD_DESCRIPTION="The class head, where JLoader, namespace and use is added, so that class being extended will work."
COM_COMPONENTBUILDER_CLASS_EXTENDS_HEAD_LABEL="Class Head"
COM_COMPONENTBUILDER_CLASS_EXTENDS_HEAD_DESCRIPTION="The class header to add any header values can be added."
COM_COMPONENTBUILDER_CLASS_EXTENDS_HEAD_LABEL="Class Header"
COM_COMPONENTBUILDER_CLASS_EXTENDS_ID="Id"
COM_COMPONENTBUILDER_CLASS_EXTENDS_MODIFIED_BY_DESC="The last user that modified this Class Extends."
COM_COMPONENTBUILDER_CLASS_EXTENDS_MODIFIED_BY_LABEL="Modified By"
@ -1556,6 +1572,8 @@ COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_CHECKED_IN_1="%d Class Method success
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_CHECKED_IN_MORE="%d Class Methods successfully checked in."
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_DELETED="%s Class Methods deleted."
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_DELETED_1="%s Class Method deleted."
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_FAILED_PUBLISHING="%s Class Methods failed publishing."
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_FAILED_PUBLISHING_1="%s Class Method failed publishing."
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_FEATURED="%s Class Methods featured."
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_FEATURED_1="%s Class Method featured."
COM_COMPONENTBUILDER_CLASS_METHODS_N_ITEMS_PUBLISHED="%s Class Methods published."
@ -1660,6 +1678,8 @@ COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_CHECKED_IN_1="%d Class Property su
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_CHECKED_IN_MORE="%d Class Properties successfully checked in."
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_DELETED="%s Class Properties deleted."
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_DELETED_1="%s Class Property deleted."
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_FAILED_PUBLISHING="%s Class Properties failed publishing."
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_FAILED_PUBLISHING_1="%s Class Property failed publishing."
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_FEATURED="%s Class Properties featured."
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_FEATURED_1="%s Class Property featured."
COM_COMPONENTBUILDER_CLASS_PROPERTIES_N_ITEMS_PUBLISHED="%s Class Properties published."
@ -1785,6 +1805,8 @@ COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_1="%d Component A
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_MORE="%d Components Admin Views successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_DELETED="%s Components Admin Views deleted."
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_DELETED_1="%s Component Admin Views deleted."
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING="%s Components Admin Views failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING_1="%s Component Admin Views failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_FEATURED="%s Components Admin Views featured."
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_FEATURED_1="%s Component Admin Views featured."
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_N_ITEMS_PUBLISHED="%s Components Admin Views published."
@ -1825,6 +1847,8 @@ COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_CHECKED_IN_1="%d Component Config
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_CHECKED_IN_MORE="%d Components Config successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_DELETED="%s Components Config deleted."
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_DELETED_1="%s Component Config deleted."
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_FAILED_PUBLISHING="%s Components Config failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_FAILED_PUBLISHING_1="%s Component Config failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_FEATURED="%s Components Config featured."
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_FEATURED_1="%s Component Config featured."
COM_COMPONENTBUILDER_COMPONENTS_CONFIG_N_ITEMS_PUBLISHED="%s Components Config published."
@ -1865,6 +1889,8 @@ COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_CHECKED_IN_1="%d Comp
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_CHECKED_IN_MORE="%d Components Custom Admin Menus successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_DELETED="%s Components Custom Admin Menus deleted."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_DELETED_1="%s Component Custom Admin Menus deleted."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_FAILED_PUBLISHING="%s Components Custom Admin Menus failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_FAILED_PUBLISHING_1="%s Component Custom Admin Menus failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_FEATURED="%s Components Custom Admin Menus featured."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_FEATURED_1="%s Component Custom Admin Menus featured."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_N_ITEMS_PUBLISHED="%s Components Custom Admin Menus published."
@ -1905,6 +1931,8 @@ COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_1="%d Comp
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_MORE="%d Components Custom Admin Views successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_DELETED="%s Components Custom Admin Views deleted."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_DELETED_1="%s Component Custom Admin Views deleted."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING="%s Components Custom Admin Views failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING_1="%s Component Custom Admin Views failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_FEATURED="%s Components Custom Admin Views featured."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_FEATURED_1="%s Component Custom Admin Views featured."
COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_VIEWS_N_ITEMS_PUBLISHED="%s Components Custom Admin Views published."
@ -1945,6 +1973,8 @@ COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_CHECKED_IN_1="%d Component Das
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_CHECKED_IN_MORE="%d Components Dashboard successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_DELETED="%s Components Dashboard deleted."
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_DELETED_1="%s Component Dashboard deleted."
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_FAILED_PUBLISHING="%s Components Dashboard failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_FAILED_PUBLISHING_1="%s Component Dashboard failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_FEATURED="%s Components Dashboard featured."
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_FEATURED_1="%s Component Dashboard featured."
COM_COMPONENTBUILDER_COMPONENTS_DASHBOARD_N_ITEMS_PUBLISHED="%s Components Dashboard published."
@ -1985,6 +2015,8 @@ COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_CHECKED_IN_1="%d Component
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_CHECKED_IN_MORE="%d Components Files & Folders successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_DELETED="%s Components Files & Folders deleted."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_DELETED_1="%s Component Files & Folders deleted."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_FAILED_PUBLISHING="%s Components Files & Folders failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_FAILED_PUBLISHING_1="%s Component Files & Folders failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_FEATURED="%s Components Files & Folders featured."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_FEATURED_1="%s Component Files & Folders featured."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_PUBLISHED="%s Components Files & Folders published."
@ -2025,6 +2057,8 @@ COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_CHECKED_IN_1="%d Component Modul
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_CHECKED_IN_MORE="%d Components Modules successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_DELETED="%s Components Modules deleted."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_DELETED_1="%s Component Modules deleted."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_FAILED_PUBLISHING="%s Components Modules failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_FAILED_PUBLISHING_1="%s Component Modules failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_FEATURED="%s Components Modules featured."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_FEATURED_1="%s Component Modules featured."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_PUBLISHED="%s Components Modules published."
@ -2065,6 +2099,8 @@ COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_CHECKED_IN_1="%d Component
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_CHECKED_IN_MORE="%d Components mysql Tweaks successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_DELETED="%s Components mysql Tweaks deleted."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_DELETED_1="%s Component mysql Tweaks deleted."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_FAILED_PUBLISHING="%s Components mysql Tweaks failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_FAILED_PUBLISHING_1="%s Component mysql Tweaks failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_FEATURED="%s Components mysql Tweaks featured."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_FEATURED_1="%s Component mysql Tweaks featured."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_N_ITEMS_PUBLISHED="%s Components mysql Tweaks published."
@ -2105,6 +2141,8 @@ COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_CHECKED_IN_1="%d Component
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_CHECKED_IN_MORE="%d Components Placeholders successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_DELETED="%s Components Placeholders deleted."
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_DELETED_1="%s Component Placeholders deleted."
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_FAILED_PUBLISHING="%s Components Placeholders failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_FAILED_PUBLISHING_1="%s Component Placeholders failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_FEATURED="%s Components Placeholders featured."
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_FEATURED_1="%s Component Placeholders featured."
COM_COMPONENTBUILDER_COMPONENTS_PLACEHOLDERS_N_ITEMS_PUBLISHED="%s Components Placeholders published."
@ -2145,6 +2183,8 @@ COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_CHECKED_IN_1="%d Component Plugi
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_CHECKED_IN_MORE="%d Components Plugins successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_DELETED="%s Components Plugins deleted."
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_DELETED_1="%s Component Plugins deleted."
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_FAILED_PUBLISHING="%s Components Plugins failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_FAILED_PUBLISHING_1="%s Component Plugins failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_FEATURED="%s Components Plugins featured."
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_FEATURED_1="%s Component Plugins featured."
COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_N_ITEMS_PUBLISHED="%s Components Plugins published."
@ -2185,6 +2225,8 @@ COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_CHECKED_IN_1="%d Component Si
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_CHECKED_IN_MORE="%d Components Site Views successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_DELETED="%s Components Site Views deleted."
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_DELETED_1="%s Component Site Views deleted."
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_FAILED_PUBLISHING="%s Components Site Views failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_FAILED_PUBLISHING_1="%s Component Site Views failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_FEATURED="%s Components Site Views featured."
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_FEATURED_1="%s Component Site Views featured."
COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_N_ITEMS_PUBLISHED="%s Components Site Views published."
@ -2225,6 +2267,8 @@ COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_CHECKED_IN_1="%d Component Updat
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_CHECKED_IN_MORE="%d Components Updates successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_DELETED="%s Components Updates deleted."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_DELETED_1="%s Component Updates deleted."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_FAILED_PUBLISHING="%s Components Updates failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_FAILED_PUBLISHING_1="%s Component Updates failed publishing."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_FEATURED="%s Components Updates featured."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_FEATURED_1="%s Component Updates featured."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_PUBLISHED="%s Components Updates published."
@ -2236,6 +2280,7 @@ COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_UNFEATURED_1="%s Component Updat
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_UNPUBLISHED="%s Components Updates unpublished."
COM_COMPONENTBUILDER_COMPONENTS_UPDATES_N_ITEMS_UNPUBLISHED_1="%s Component Updates unpublished."
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS="Component Admin Views"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ABOVE_NEW="Above (new)"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ACCESS_DESCRIPTION="Select if this view<br />should use access."
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ACCESS_LABEL="Add Access"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADD="Add"
@ -2341,6 +2386,8 @@ COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FILE_MINUS="File Minus"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FILE_REMOVE="File Remove"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FILE_TWO="File 2"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FILTER="Filter"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FILTER_DESCRIPTION="Select the type of filter to use in this list view."
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FILTER_LABEL="Filter Type"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FIRST="First"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FLAG="Flag"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_FLAG_THREE="Flag 3"
@ -2458,6 +2505,7 @@ COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SHARE="Share"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SHARE_ALT="Share Alt"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SHIELD="Shield"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SHUFFLE="Shuffle"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SIDE_OLD="Side (old)"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SIGNUP="Signup"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SMILEY="Smiley"
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_SMILEY_NEUTRAL="Smiley Neutral"
@ -3234,11 +3282,19 @@ COM_COMPONENTBUILDER_CONDITIONS="Conditions"
COM_COMPONENTBUILDER_CONFIG_ACTIVE="Active"
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION="Would you like to add a prefix to the Joomla menu name of your components"
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL="Add Menu Prefix"
COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS="Admin Custom Tabs (tabs)"
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_ADDFIELDS="Admin Fields (addfields)"
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS="Admin Fields Conditions (addconditions)"
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_RELATIONS_ADDRELATIONS="Admin Fields Relations (addrelations)"
COM_COMPONENTBUILDER_CONFIG_ALMOST_FLAT_LOAD="Almost Flat"
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC="Alphanumeric"
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT="Alphanumeric+dot"
COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION="This User will be used to log the API call."
COM_COMPONENTBUILDER_CONFIG_API_LABEL="API User"
COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_DESCRIPTION="How to apply the assets table fix in JCB.<br />
SQL (add&remove) this is the <b>default</b> which adds the SQL fix and removes it once the component is uninstalled.<br />
Intelligent (add&remove+if) same as default, but on uninstall will only remove this fix if no other component needs it. Note that this option will only work with other components that also use the <b>intelligent path</b>."
COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_LABEL="Assets Table Fix"
COM_COMPONENTBUILDER_CONFIG_AUTHOR="Author Info"
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_DESC="The email address of the author of this component."
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_LABEL="Author Email"
@ -3326,6 +3382,7 @@ COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_SIX="Never"
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_THREE="Once a day"
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_TWO="Every twelve hours"
COM_COMPONENTBUILDER_CONFIG_COMPANY="Company"
COM_COMPONENTBUILDER_CONFIG_COMPILER="Compiler"
COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION="Select the method to use when building the xml fields in the compiler. The <b>SimpleXMLElement Class</b> is best practice, and <b>String Manipulation</b> is faster and works without special extensions."
COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL="Field Builder Type<br /><small>(in compiler)</small>"
COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_DESCRIPTION="Here you can set the path to the compiler folder"
@ -3335,7 +3392,10 @@ COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_MESSAGE="Error! Please add some
COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_DESCRIPTION="Select the plugin you would like to use in JCB's compiler"
COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_LABEL="Activate Compiler Plugins"
COM_COMPONENTBUILDER_CONFIG_COMPONENT="Component"
COM_COMPONENTBUILDER_CONFIG_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS="Component Admin Views (addadmin_views)"
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_VIEWS_ADDCUSTOM_ADMIN_VIEWS="Component Custom Admin Views (addcustom_admin_views)"
COM_COMPONENTBUILDER_CONFIG_COMPONENT_LABEL="Component"
COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS="Component Site Views (addsite_views)"
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION="Here you can set the path to where all components are backed up to."
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_HINT="/home/user/fullbackup"
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_LABEL="Cronjob Backup Folder Path"
@ -3378,6 +3438,9 @@ COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_DESCRIPTION="This is the TXT value to use
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_HINT="v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY"
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_LABEL="Value"
COM_COMPONENTBUILDER_CONFIG_DONT_LOAD="Not"
COM_COMPONENTBUILDER_CONFIG_DO_NOT_ADD_FIX_EVER="Do not add fix ever"
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE="Dynamic Get (join_db_table)"
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_VIEW_TABLE="Dynamic Get (join_view_table)"
COM_COMPONENTBUILDER_CONFIG_EDITOR_DESCRIPTION="Select the editor you would like to use as the JCB global editor for all custom coding areas."
COM_COMPONENTBUILDER_CONFIG_EDITOR_LABEL="Select an editor"
COM_COMPONENTBUILDER_CONFIG_EMAILFROM_DESCRIPTION="The global email address that will be used to send system email."
@ -3446,6 +3509,8 @@ COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_DESCRIPTION="Enter Email"
COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_HINT="Email Here"
COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_LABEL="Email"
COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_MESSAGE="Error! Please email address here."
COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_DESCRIPTION="All the export of language strings during JCB package export."
COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL="Export Language Strings"
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_DESCRIPTION="Add License Here"
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_HINT="Add License Here"
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_LABEL="License"
@ -3481,10 +3546,12 @@ COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD="Gradient"
COM_COMPONENTBUILDER_CONFIG_INACTIVE="Inactive"
COM_COMPONENTBUILDER_CONFIG_INSTALL_DESCRIPTION="Component locally"
COM_COMPONENTBUILDER_CONFIG_INSTALL_LABEL="Install"
COM_COMPONENTBUILDER_CONFIG_INTELLIGENT_ADDREMOVEIF="Intelligent (add&remove+if)"
COM_COMPONENTBUILDER_CONFIG_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION="Here you can manage what package directories show in the JCB package import area."
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_LABEL="Directories"
COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL="Language"
COM_COMPONENTBUILDER_CONFIG_LAYOUT_LABEL="Layout"
COM_COMPONENTBUILDER_CONFIG_LOCAL_FOLDER="Local Folder"
COM_COMPONENTBUILDER_CONFIG_MAILER_DESCRIPTION="Select what mailer you would like to use to send emails."
COM_COMPONENTBUILDER_CONFIG_MAILER_LABEL="Mailer"
@ -3567,6 +3634,9 @@ COM_COMPONENTBUILDER_CONFIG_PHP_MAIL="PHP Mail"
COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_DESCRIPTION="Should JCB insert the custom code placeholders? This is only applicable if this component has custom code."
COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_LABEL="Add Custom Code Placeholders"
COM_COMPONENTBUILDER_CONFIG_REMOTE_SERVER="Remote Server"
COM_COMPONENTBUILDER_CONFIG_REPEATABLETABLE_JOOMLA="Repeatable-table (joomla)"
COM_COMPONENTBUILDER_CONFIG_REPEATABLE_JOOMLA="Repeatable (Joomla)"
COM_COMPONENTBUILDER_CONFIG_REPEATABLE_UIKIT="Repeatable (UIkit)"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_DESCRIPTION="Text displayed in the header &quot;Reply To:&quot; field when replying to the site email. Usually the the person that receives the response. (leave blank for none)"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_HINT="Reply Name Here"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_LABEL="Reply to Name"
@ -3598,10 +3668,13 @@ COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_LABEL="SMTP Security"
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_DESCRIPTION="Enter the username for access to the SMTP host."
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_HINT="email@demo.com"
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_LABEL="SMTP Username"
COM_COMPONENTBUILDER_CONFIG_SQL_ADDREMOVE="SQL (add&remove)"
COM_COMPONENTBUILDER_CONFIG_SSL="SSL"
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_DESCRIPTION="How long should the data that is stored in the browser memory remain unchanged before it is removed and updated."
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_LABEL="Update Cycle"
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION="String Manipulation"
COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION="Select the sub-form layouts you would like to use."
COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_LABEL="Sub-form Layouts"
COM_COMPONENTBUILDER_CONFIG_TLS="TLS"
COM_COMPONENTBUILDER_CONFIG_TRUE="True"
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like <em>1</em> becomes <b>one</b>.<br />Alphanumeric+dot keeps the numbers unconverted unless it is at the beginning of the field name, and allows for a dot (.) to be used in the type name for namespacing."
@ -3616,6 +3689,7 @@ COM_COMPONENTBUILDER_CONFIG_UIKIT_MIN_LABEL="Load Minified"
COM_COMPONENTBUILDER_CONFIG_UIKIT_STYLE_DESC="Set the css style that should be used."
COM_COMPONENTBUILDER_CONFIG_UIKIT_STYLE_LABEL="css Style"
COM_COMPONENTBUILDER_CONFIG_VDM_PACKAGES="VDM Packages"
COM_COMPONENTBUILDER_CONFIG_VIEW_FIELD_LABEL="View & Field"
COM_COMPONENTBUILDER_CONFIG_YES="Yes"
COM_COMPONENTBUILDER_CONFIRMATION_STEP_BEFORE_IMPORTING="Confirmation Step Before Importing!"
COM_COMPONENTBUILDER_CONTEXT="Context"
@ -3669,6 +3743,8 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_1="%d Custom Admin Vi
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_CHECKED_IN_MORE="%d Custom Admin Views successfully checked in."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_DELETED="%s Custom Admin Views deleted."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_DELETED_1="%s Custom Admin View deleted."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING="%s Custom Admin Views failed publishing."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_FAILED_PUBLISHING_1="%s Custom Admin View failed publishing."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_FEATURED="%s Custom Admin Views featured."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_FEATURED_1="%s Custom Admin View featured."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_N_ITEMS_PUBLISHED="%s Custom Admin Views published."
@ -4127,6 +4203,8 @@ COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_CHECKED_IN_1="%d Custom Code successfu
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_CHECKED_IN_MORE="%d Custom Codes successfully checked in."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_DELETED="%s Custom Codes deleted."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_DELETED_1="%s Custom Code deleted."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_FAILED_PUBLISHING="%s Custom Codes failed publishing."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_FAILED_PUBLISHING_1="%s Custom Code failed publishing."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_FEATURED="%s Custom Codes featured."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_FEATURED_1="%s Custom Code featured."
COM_COMPONENTBUILDER_CUSTOM_CODES_N_ITEMS_PUBLISHED="%s Custom Codes published."
@ -4430,6 +4508,8 @@ COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_CHECKED_IN_1="%d Dynamic Get successfu
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_CHECKED_IN_MORE="%d Dynamic Gets successfully checked in."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_DELETED="%s Dynamic Gets deleted."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_DELETED_1="%s Dynamic Get deleted."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_FAILED_PUBLISHING="%s Dynamic Gets failed publishing."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_FAILED_PUBLISHING_1="%s Dynamic Get failed publishing."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_FEATURED="%s Dynamic Gets featured."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_FEATURED_1="%s Dynamic Get featured."
COM_COMPONENTBUILDER_DYNAMIC_GETS_N_ITEMS_PUBLISHED="%s Dynamic Gets published."
@ -4495,6 +4575,8 @@ COM_COMPONENTBUILDER_DYNAMIC_GET_DIRECTION_LABEL="Ordering Direction"
COM_COMPONENTBUILDER_DYNAMIC_GET_E="e"
COM_COMPONENTBUILDER_DYNAMIC_GET_EDIT="Editing the Dynamic Get"
COM_COMPONENTBUILDER_DYNAMIC_GET_EE="ee"
COM_COMPONENTBUILDER_DYNAMIC_GET_EMPTY_DESCRIPTION="Empty"
COM_COMPONENTBUILDER_DYNAMIC_GET_EMPTY_LABEL="Allow"
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL="equal"
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_OR_NOT="equal or not"
COM_COMPONENTBUILDER_DYNAMIC_GET_ERROR_UNIQUE_ALIAS="Another Dynamic Get has the same alias."
@ -4731,7 +4813,7 @@ COM_COMPONENTBUILDER_EDIT_VERSIONS_DESC="Allows users in this group to edit vers
COM_COMPONENTBUILDER_EDIT_VIEW="Edit View"
COM_COMPONENTBUILDER_EMAIL="Email"
COM_COMPONENTBUILDER_EMAIL_S="Email %s"
COM_COMPONENTBUILDER_EMAIL_WITH_THE_NEW_KEY_WAS_SEND="Email with the new key was send"
COM_COMPONENTBUILDER_EMAIL_WITH_THE_NEW_KEY_WAS_SENT="Email with the new key was sent"
COM_COMPONENTBUILDER_EMCOMPANYEM_BSB="<em>Company:</em> <b>%s</b>"
COM_COMPONENTBUILDER_EMCOPYRIGHTEM_BSB="<em>Copyright:</em> <b>%s</b>"
COM_COMPONENTBUILDER_EMEMAILEM_BSB="<em>Email:</em> <b>%s</b>"
@ -4793,6 +4875,8 @@ COM_COMPONENTBUILDER_FIELDS_N_ITEMS_CHECKED_IN_1="%d Field successfully checked
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_CHECKED_IN_MORE="%d Fields successfully checked in."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_DELETED="%s Fields deleted."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_DELETED_1="%s Field deleted."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_FAILED_PUBLISHING="%s Fields failed publishing."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_FAILED_PUBLISHING_1="%s Field failed publishing."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_FEATURED="%s Fields featured."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_FEATURED_1="%s Field featured."
COM_COMPONENTBUILDER_FIELDS_N_ITEMS_PUBLISHED="%s Fields published."
@ -4838,6 +4922,8 @@ COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_CHECKED_IN_1="%d Fieldtype successfully
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_CHECKED_IN_MORE="%d Fieldtypes successfully checked in."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_DELETED="%s Fieldtypes deleted."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_DELETED_1="%s Fieldtype deleted."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_FAILED_PUBLISHING="%s Fieldtypes failed publishing."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_FAILED_PUBLISHING_1="%s Fieldtype failed publishing."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_FEATURED="%s Fieldtypes featured."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_FEATURED_1="%s Fieldtype featured."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_PUBLISHED="%s Fieldtypes published."
@ -5258,6 +5344,214 @@ COM_COMPONENTBUILDER_FILE_BSB_WAS_MOVED_TO_BSB="File <b>%s</b> was moved to <b>%
COM_COMPONENTBUILDER_FILE_BSB_WAS_NOT_MOVED_TO_BSB="File <b>%s</b> was not moved to <b>%s</b>"
COM_COMPONENTBUILDER_FILE_BSB_WAS_SUCCESSFULLY_UNLOCKED="File <b>%s</b> was successfully unlocked!"
COM_COMPONENTBUILDER_FILTER="Filter"
COM_COMPONENTBUILDER_FILTER_ADMIN_VIEW_ASCENDING="Admin View ascending"
COM_COMPONENTBUILDER_FILTER_ADMIN_VIEW_DESCENDING="Admin View descending"
COM_COMPONENTBUILDER_FILTER_CLASS_EXTENDS_ASCENDING="Class Extends ascending"
COM_COMPONENTBUILDER_FILTER_CLASS_EXTENDS_DESCENDING="Class Extends descending"
COM_COMPONENTBUILDER_FILTER_COMMENT_TYPE_ASCENDING="Comment Type ascending"
COM_COMPONENTBUILDER_FILTER_COMMENT_TYPE_DESCENDING="Comment Type descending"
COM_COMPONENTBUILDER_FILTER_COMPANYNAME_ASCENDING="Companyname ascending"
COM_COMPONENTBUILDER_FILTER_COMPANYNAME_DESCENDING="Companyname descending"
COM_COMPONENTBUILDER_FILTER_COMPONENT_ASCENDING="Component ascending"
COM_COMPONENTBUILDER_FILTER_COMPONENT_DESCENDING="Component descending"
COM_COMPONENTBUILDER_FILTER_CONTEXT_ASCENDING="Context ascending"
COM_COMPONENTBUILDER_FILTER_CONTEXT_DESCENDING="Context descending"
COM_COMPONENTBUILDER_FILTER_DATATYPE_ASCENDING="Datatype ascending"
COM_COMPONENTBUILDER_FILTER_DATATYPE_DESCENDING="Datatype descending"
COM_COMPONENTBUILDER_FILTER_DESCRIPTION_ASCENDING="Description ascending"
COM_COMPONENTBUILDER_FILTER_DESCRIPTION_DESCENDING="Description descending"
COM_COMPONENTBUILDER_FILTER_DYNAMIC_GET_ASCENDING="Dynamic Get ascending"
COM_COMPONENTBUILDER_FILTER_DYNAMIC_GET_DESCENDING="Dynamic Get descending"
COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_ASCENDING="Extension Type ascending"
COM_COMPONENTBUILDER_FILTER_EXTENSION_TYPE_DESCENDING="Extension Type descending"
COM_COMPONENTBUILDER_FILTER_FIELDS_CATEGORIES_ASCENDING="Fields Categories ascending"
COM_COMPONENTBUILDER_FILTER_FIELDS_CATEGORIES_DESCENDING="Fields Categories descending"
COM_COMPONENTBUILDER_FILTER_FIELDTYPES_CATEGORIES_ASCENDING="Fieldtypes Categories ascending"
COM_COMPONENTBUILDER_FILTER_FIELDTYPES_CATEGORIES_DESCENDING="Fieldtypes Categories descending"
COM_COMPONENTBUILDER_FILTER_FIELDTYPE_ASCENDING="Fieldtype ascending"
COM_COMPONENTBUILDER_FILTER_FIELDTYPE_DESCENDING="Fieldtype descending"
COM_COMPONENTBUILDER_FILTER_GETTYPE_ASCENDING="Gettype ascending"
COM_COMPONENTBUILDER_FILTER_GETTYPE_DESCENDING="Gettype descending"
COM_COMPONENTBUILDER_FILTER_HEADING_ASCENDING="Heading ascending"
COM_COMPONENTBUILDER_FILTER_HEADING_DESCENDING="Heading descending"
COM_COMPONENTBUILDER_FILTER_INDEXES_ASCENDING="Indexes ascending"
COM_COMPONENTBUILDER_FILTER_INDEXES_DESCENDING="Indexes descending"
COM_COMPONENTBUILDER_FILTER_JOOMLA_PLUGIN_GROUP_ASCENDING="Joomla Plugin Group ascending"
COM_COMPONENTBUILDER_FILTER_JOOMLA_PLUGIN_GROUP_DESCENDING="Joomla Plugin Group descending"
COM_COMPONENTBUILDER_FILTER_LANGTAG_ASCENDING="Langtag ascending"
COM_COMPONENTBUILDER_FILTER_LANGTAG_DESCENDING="Langtag descending"
COM_COMPONENTBUILDER_FILTER_LIBRARY_ASCENDING="Library ascending"
COM_COMPONENTBUILDER_FILTER_LIBRARY_DESCENDING="Library descending"
COM_COMPONENTBUILDER_FILTER_LOCATION_ASCENDING="Location ascending"
COM_COMPONENTBUILDER_FILTER_LOCATION_DESCENDING="Location descending"
COM_COMPONENTBUILDER_FILTER_MAIN_GET_ASCENDING="Main Get ascending"
COM_COMPONENTBUILDER_FILTER_MAIN_GET_DESCENDING="Main Get descending"
COM_COMPONENTBUILDER_FILTER_MAIN_SOURCE_ASCENDING="Main Source ascending"
COM_COMPONENTBUILDER_FILTER_MAIN_SOURCE_DESCENDING="Main Source descending"
COM_COMPONENTBUILDER_FILTER_NAME_ASCENDING="Name ascending"
COM_COMPONENTBUILDER_FILTER_NAME_CODE_ASCENDING="Name Code ascending"
COM_COMPONENTBUILDER_FILTER_NAME_CODE_DESCENDING="Name Code descending"
COM_COMPONENTBUILDER_FILTER_NAME_DESCENDING="Name descending"
COM_COMPONENTBUILDER_FILTER_NAME_SINGLE_ASCENDING="Name Single ascending"
COM_COMPONENTBUILDER_FILTER_NAME_SINGLE_DESCENDING="Name Single descending"
COM_COMPONENTBUILDER_FILTER_NULL_SWITCH_ASCENDING="Null Switch ascending"
COM_COMPONENTBUILDER_FILTER_NULL_SWITCH_DESCENDING="Null Switch descending"
COM_COMPONENTBUILDER_FILTER_PATH_ASCENDING="Path ascending"
COM_COMPONENTBUILDER_FILTER_PATH_DESCENDING="Path descending"
COM_COMPONENTBUILDER_FILTER_PROTOCOL_ASCENDING="Protocol ascending"
COM_COMPONENTBUILDER_FILTER_PROTOCOL_DESCENDING="Protocol descending"
COM_COMPONENTBUILDER_FILTER_PUBLISHED="Status"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_ADMINS_CUSTOM_TABS="Status options for admins custom tabs"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_ADMINS_FIELDS="Status options for admins fields"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_ADMINS_FIELDS_CONDITIONS="Status options for admins fields conditions"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_ADMINS_FIELDS_RELATIONS="Status options for admins fields relations"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_ADMIN_VIEWS="Status options for admin views"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_CLASS_EXTENDINGS="Status options for class extendings"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_CLASS_METHODS="Status options for class methods"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_CLASS_PROPERTIES="Status options for class properties"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_ADMIN_VIEWS="Status options for components admin views"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_CONFIG="Status options for components config"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_CUSTOM_ADMIN_MENUS="Status options for components custom admin menus"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_CUSTOM_ADMIN_VIEWS="Status options for components custom admin views"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_DASHBOARD="Status options for components dashboard"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_FILES_FOLDERS="Status options for components files folders"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_MODULES="Status options for components modules"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_MYSQL_TWEAKS="Status options for components mysql tweaks"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_PLACEHOLDERS="Status options for components placeholders"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_PLUGINS="Status options for components plugins"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_SITE_VIEWS="Status options for components site views"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_COMPONENTS_UPDATES="Status options for components updates"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_CUSTOM_ADMIN_VIEWS="Status options for custom admin views"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_CUSTOM_CODES="Status options for custom codes"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_DYNAMIC_GETS="Status options for dynamic gets"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_FIELDS="Status options for fields"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_FIELDTYPES="Status options for fieldtypes"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_HELP_DOCUMENTS="Status options for help documents"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_COMPONENTS="Status options for joomla components"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_MODULES="Status options for joomla modules"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_MODULES_FILES_FOLDERS_URLS="Status options for joomla modules files folders urls"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_MODULES_UPDATES="Status options for joomla modules updates"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_PLUGINS="Status options for joomla plugins"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_PLUGINS_FILES_FOLDERS_URLS="Status options for joomla plugins files folders urls"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_PLUGINS_UPDATES="Status options for joomla plugins updates"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_JOOMLA_PLUGIN_GROUPS="Status options for joomla plugin groups"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_LANGUAGES="Status options for languages"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_LANGUAGE_TRANSLATIONS="Status options for language translations"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_LAYOUTS="Status options for layouts"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_LIBRARIES="Status options for libraries"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_LIBRARIES_CONFIG="Status options for libraries config"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_LIBRARIES_FILES_FOLDERS_URLS="Status options for libraries files folders urls"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_PLACEHOLDERS="Status options for placeholders"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_SERVERS="Status options for servers"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_SITE_VIEWS="Status options for site views"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_SNIPPETS="Status options for snippets"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_SNIPPET_TYPES="Status options for snippet types"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_TEMPLATES="Status options for templates"
COM_COMPONENTBUILDER_FILTER_PUBLISHED_VALIDATION_RULES="Status options for validation rules"
COM_COMPONENTBUILDER_FILTER_SEARCH="Searchjoomla components"
COM_COMPONENTBUILDER_FILTER_SEARCH_ADMINS_CUSTOM_TABS="Search the admin custom tabs items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_ADMINS_FIELDS="Search the admin fields items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_ADMINS_FIELDS_CONDITIONS="Search the admin fields conditions items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_ADMINS_FIELDS_RELATIONS="Search the admin fields relations items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_ADMIN_VIEWS="Search the admin view items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_CLASS_EXTENDINGS="Search the class extends items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_CLASS_METHODS="Search the class method items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_CLASS_PROPERTIES="Search the class property items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_ADMIN_VIEWS="Search the component admin views items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_CONFIG="Search the component config items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_CUSTOM_ADMIN_MENUS="Search the component custom admin menus items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_CUSTOM_ADMIN_VIEWS="Search the component custom admin views items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_DASHBOARD="Search the component dashboard items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_FILES_FOLDERS="Search the component files folders items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_MODULES="Search the component modules items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_MYSQL_TWEAKS="Search the component mysql tweaks items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_PLACEHOLDERS="Search the component placeholders items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_PLUGINS="Search the component plugins items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_SITE_VIEWS="Search the component site views items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_COMPONENTS_UPDATES="Search the component updates items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_CUSTOM_ADMIN_VIEWS="Search the custom admin view items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_CUSTOM_CODES="Search the custom code items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_DYNAMIC_GETS="Search the dynamic get items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_FIELDS="Search the field items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_FIELDTYPES="Search the fieldtype items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_HELP_DOCUMENTS="Search the help document items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_COMPONENTS="Search the joomla component items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_MODULES="Search the joomla module items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_MODULES_FILES_FOLDERS_URLS="Search the joomla module files folders urls items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_MODULES_UPDATES="Search the joomla module updates items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_PLUGINS="Search the joomla plugin items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_PLUGINS_FILES_FOLDERS_URLS="Search the joomla plugin files folders urls items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_PLUGINS_UPDATES="Search the joomla plugin updates items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_JOOMLA_PLUGIN_GROUPS="Search the joomla plugin group items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_LANGUAGES="Search the language items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_LANGUAGE_TRANSLATIONS="Search the language translation items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_LAYOUTS="Search the layout items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_LIBRARIES="Search the library items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_LIBRARIES_CONFIG="Search the library config items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_LIBRARIES_FILES_FOLDERS_URLS="Search the library files folders urls items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_PLACEHOLDERS="Search the placeholder items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_SERVERS="Search the server items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_SITE_VIEWS="Search the site view items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_SNIPPETS="Search the snippet items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_SNIPPET_TYPES="Search the snippet type items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_TEMPLATES="Search the template items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SEARCH_VALIDATION_RULES="Search the validation rule items. Prefix with ID: to search for an item by ID."
COM_COMPONENTBUILDER_FILTER_SELECT_ACCESS="Select Access"
COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTON="Select Add Custom Button"
COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_IMPORT="Select Add Custom Import"
COM_COMPONENTBUILDER_FILTER_SELECT_ADD_FADEIN="Select Add Fadein"
COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_AJAX="Select Add Php Ajax"
COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_VIEW="Select Add Php View"
COM_COMPONENTBUILDER_FILTER_SELECT_ADMIN_VIEW="Select Admin View"
COM_COMPONENTBUILDER_FILTER_SELECT_AUTHOR="Select Author"
COM_COMPONENTBUILDER_FILTER_SELECT_CLASS_EXTENDS="Select Class Extends"
COM_COMPONENTBUILDER_FILTER_SELECT_COMMENT_TYPE="Select Comment Type"
COM_COMPONENTBUILDER_FILTER_SELECT_COMPANYNAME="Select Companyname"
COM_COMPONENTBUILDER_FILTER_SELECT_COMPONENT="Select Component"
COM_COMPONENTBUILDER_FILTER_SELECT_DATATYPE="Select Datatype"
COM_COMPONENTBUILDER_FILTER_SELECT_DYNAMIC_GET="Select Dynamic Get"
COM_COMPONENTBUILDER_FILTER_SELECT_EXTENSION_TYPE="Select Extension Type"
COM_COMPONENTBUILDER_FILTER_SELECT_FIELDS_CATEGORIES="Select Fields Categories"
COM_COMPONENTBUILDER_FILTER_SELECT_FIELDTYPE="Select Fieldtype"
COM_COMPONENTBUILDER_FILTER_SELECT_FIELDTYPES_CATEGORIES="Select Fieldtypes Categories"
COM_COMPONENTBUILDER_FILTER_SELECT_GETTYPE="Select Gettype"
COM_COMPONENTBUILDER_FILTER_SELECT_HOW="Select How"
COM_COMPONENTBUILDER_FILTER_SELECT_INDEXES="Select Indexes"
COM_COMPONENTBUILDER_FILTER_SELECT_JOOMLA_PLUGIN_GROUP="Select Joomla Plugin Group"
COM_COMPONENTBUILDER_FILTER_SELECT_LIBRARY="Select Library"
COM_COMPONENTBUILDER_FILTER_SELECT_LOCATION="Select Location"
COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_GET="Select Main Get"
COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_SOURCE="Select Main Source"
COM_COMPONENTBUILDER_FILTER_SELECT_NAME="Select Name"
COM_COMPONENTBUILDER_FILTER_SELECT_NULL_SWITCH="Select Null Switch"
COM_COMPONENTBUILDER_FILTER_SELECT_PROTOCOL="Select Protocol"
COM_COMPONENTBUILDER_FILTER_SELECT_SITE_VIEW="Select Site View"
COM_COMPONENTBUILDER_FILTER_SELECT_STORE="Select Store"
COM_COMPONENTBUILDER_FILTER_SELECT_TARGET="Select Target"
COM_COMPONENTBUILDER_FILTER_SELECT_TYPE="Select Type"
COM_COMPONENTBUILDER_FILTER_SELECT_VISIBILITY="Select Visibility"
COM_COMPONENTBUILDER_FILTER_SHORT_DESCRIPTION_ASCENDING="Short Description ascending"
COM_COMPONENTBUILDER_FILTER_SHORT_DESCRIPTION_DESCENDING="Short Description descending"
COM_COMPONENTBUILDER_FILTER_SITE_VIEW_ASCENDING="Site View ascending"
COM_COMPONENTBUILDER_FILTER_SITE_VIEW_DESCENDING="Site View descending"
COM_COMPONENTBUILDER_FILTER_SOURCE_ASCENDING="Source ascending"
COM_COMPONENTBUILDER_FILTER_SOURCE_DESCENDING="Source descending"
COM_COMPONENTBUILDER_FILTER_STORE_ASCENDING="Store ascending"
COM_COMPONENTBUILDER_FILTER_STORE_DESCENDING="Store descending"
COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_ASCENDING="System Name ascending"
COM_COMPONENTBUILDER_FILTER_SYSTEM_NAME_DESCENDING="System Name descending"
COM_COMPONENTBUILDER_FILTER_TARGET_ASCENDING="Target ascending"
COM_COMPONENTBUILDER_FILTER_TARGET_DESCENDING="Target descending"
COM_COMPONENTBUILDER_FILTER_TITLE_ASCENDING="Title ascending"
COM_COMPONENTBUILDER_FILTER_TITLE_DESCENDING="Title descending"
COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING="Type ascending"
COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING="Type descending"
COM_COMPONENTBUILDER_FILTER_URL_ASCENDING="Url ascending"
COM_COMPONENTBUILDER_FILTER_URL_DESCENDING="Url descending"
COM_COMPONENTBUILDER_FILTER_VALUE_ASCENDING="Value ascending"
COM_COMPONENTBUILDER_FILTER_VALUE_DESCENDING="Value descending"
COM_COMPONENTBUILDER_FILTER_VISIBILITY_ASCENDING="Visibility ascending"
COM_COMPONENTBUILDER_FILTER_VISIBILITY_DESCENDING="Visibility descending"
COM_COMPONENTBUILDER_FOLDER="Folder"
COM_COMPONENTBUILDER_FOLDER_BSB_WAS_MOVED_TO_BSB="Folder <b>%s</b> was moved to <b>%s</b>"
COM_COMPONENTBUILDER_FOLDER_BSB_WAS_NOT_MOVED_TO_BSB="Folder <b>%s</b> was not moved to <b>%s</b>"
@ -5336,6 +5630,8 @@ COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_CHECKED_IN_1="%d Help Document succe
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_CHECKED_IN_MORE="%d Help Documents successfully checked in."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_DELETED="%s Help Documents deleted."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_DELETED_1="%s Help Document deleted."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_FAILED_PUBLISHING="%s Help Documents failed publishing."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_FAILED_PUBLISHING_1="%s Help Document failed publishing."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_FEATURED="%s Help Documents featured."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_FEATURED_1="%s Help Document featured."
COM_COMPONENTBUILDER_HELP_DOCUMENTS_N_ITEMS_PUBLISHED="%s Help Documents published."
@ -5535,6 +5831,8 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_CHECKED_IN_1="%d Joomla Component
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_CHECKED_IN_MORE="%d Joomla Components successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_DELETED="%s Joomla Components deleted."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_DELETED_1="%s Joomla Component deleted."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_FAILED_PUBLISHING="%s Joomla Components failed publishing."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Component failed publishing."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_FEATURED="%s Joomla Components featured."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_FEATURED_1="%s Joomla Component featured."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_PUBLISHED="%s Joomla Components published."
@ -5609,6 +5907,11 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UIKIT_VTWO="Add Uikit v2"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER="Add Update Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER_LABEL="Add Update Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADMIN_VIEWS="Admin Views"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ASSETS_TABLE_FIX="Assets Table Fix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ASSETS_TABLE_FIX_DESCRIPTION="How to apply the assets table fix in JCB.<br />
SQL (add&remove) this is the <b>default</b> which adds the SQL fix and removes it once the component is uninstalled.<br />
Intelligent (add&remove+if) same as default, but on uninstall will only remove this fix if no other component needs it. Note that this option will only work with other components that also use the <b>intelligent path</b>."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ASSETS_TABLE_FIX_LABEL="Assets Table Fix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR="Author"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_DESCRIPTION="The Author's Name &amp; Surname."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT="Author Name &amp; Surname Here"
@ -5694,6 +5997,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_DESCRIPTION="Add Description H
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_HINT="Add Description Here"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_LABEL="Description"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DETAILS="Details"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DO_NOT_ADD_FIX_EVER="Do not add fix ever"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC="Dynamic"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_BUILD_BETA="Dynamic Build (beta)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_INTEGRATION="Dynamic Integration"
@ -5730,6 +6034,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION="The component image (pr
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL="Component Image"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC="Allows the users in this group to access the import jcb packages button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_INTELLIGENT_ADDREMOVEIF="Intelligent (add&remove+if)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT="Javascript"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION="Add JavaScript for the entire back-end. Do not add the script tags."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL="Javascript"
@ -5871,7 +6176,7 @@ Project duration: **###projectWeekTime### weeks** or **###projectMonthTime### mo
## Donations<br />
<br />
If you want to support this project, please consider donating:<br />
* PayPal: [paypal.me/asseblief](https://www.paypal.me/asseblief) (Asseblief = Please) in Afrikaans<br />
* PayPal: [paypal.me/donationgeek](https://www.paypal.me/donationgeek)<br />
* Bitcoin: 18vURxYpPFjvNk8BnUy1ovCAyQmY3MzkSf<br />
* Ethereum: 0x9548144662b47327c954f3e214edb96662d51218
</code></div>"
@ -5926,6 +6231,9 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL="Global Helper Site E
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README="Readme"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL="README.md"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS="Remove Line Breaks"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_DESCRIPTION="Should we remove all line breaks (&quot;\r&quot;, &quot;\n&quot;) from all language strings in this component."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL="Remove line breaks<br /><small>from language strings</small>"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS="Joomla Component Run Expansion Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER="Sales Server"
@ -5943,6 +6251,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SHOW_DESCRIPTION="Select where you want th
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SHOW_LABEL="Show"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SITE_VIEWS="Site Views"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL="Sql"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_ADDREMOVE="SQL (add&remove)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_DESCRIPTION="Add your MySQL here!"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT="// Add MySQL Table Dump Here"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_LABEL="MySQL - (Install)"
@ -6069,6 +6378,8 @@ COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_1="%d
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_MORE="%d Joomla Modules Files, Folders & URLs successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_DELETED="%s Joomla Modules Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_DELETED_1="%s Joomla Module Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_FAILED_PUBLISHING="%s Joomla Modules Files, Folders & URLs failed publishing."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Module Files, Folders & URLs failed publishing."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_FEATURED="%s Joomla Modules Files, Folders & URLs featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_FEATURED_1="%s Joomla Module Files, Folders & URLs featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_PUBLISHED="%s Joomla Modules Files, Folders & URLs published."
@ -6086,6 +6397,8 @@ COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_CHECKED_IN_1="%d Joomla Module succe
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_CHECKED_IN_MORE="%d Joomla Modules successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_DELETED="%s Joomla Modules deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_DELETED_1="%s Joomla Module deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_FAILED_PUBLISHING="%s Joomla Modules failed publishing."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Module failed publishing."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_FEATURED="%s Joomla Modules featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_FEATURED_1="%s Joomla Module featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_PUBLISHED="%s Joomla Modules published."
@ -6128,6 +6441,8 @@ COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_CHECKED_IN_1="%d Joomla Modu
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_CHECKED_IN_MORE="%d Joomla Modules Updates successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_DELETED="%s Joomla Modules Updates deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_DELETED_1="%s Joomla Module Updates deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_FAILED_PUBLISHING="%s Joomla Modules Updates failed publishing."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Module Updates failed publishing."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_FEATURED="%s Joomla Modules Updates featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_FEATURED_1="%s Joomla Module Updates featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_PUBLISHED="%s Joomla Modules Updates published."
@ -6553,6 +6868,8 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_1="%d
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_MORE="%d Joomla Plugins Files, Folders & URLs successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_DELETED="%s Joomla Plugins Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_DELETED_1="%s Joomla Plugin Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_FAILED_PUBLISHING="%s Joomla Plugins Files, Folders & URLs failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Plugin Files, Folders & URLs failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_FEATURED="%s Joomla Plugins Files, Folders & URLs featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_FEATURED_1="%s Joomla Plugin Files, Folders & URLs featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_FILES_FOLDERS_URLS_N_ITEMS_PUBLISHED="%s Joomla Plugins Files, Folders & URLs published."
@ -6570,6 +6887,8 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_CHECKED_IN_1="%d Joomla Plugin succe
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_CHECKED_IN_MORE="%d Joomla Plugins successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_DELETED="%s Joomla Plugins deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_DELETED_1="%s Joomla Plugin deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_FAILED_PUBLISHING="%s Joomla Plugins failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Plugin failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_FEATURED="%s Joomla Plugins featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_FEATURED_1="%s Joomla Plugin featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_N_ITEMS_PUBLISHED="%s Joomla Plugins published."
@ -6612,6 +6931,8 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_CHECKED_IN_1="%d Joomla Plug
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_CHECKED_IN_MORE="%d Joomla Plugins Updates successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_DELETED="%s Joomla Plugins Updates deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_DELETED_1="%s Joomla Plugin Updates deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_FAILED_PUBLISHING="%s Joomla Plugins Updates failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Plugin Updates failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_FEATURED="%s Joomla Plugins Updates featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_FEATURED_1="%s Joomla Plugin Updates featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_N_ITEMS_PUBLISHED="%s Joomla Plugins Updates published."
@ -6820,6 +7141,8 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_CHECKED_IN_1="%d Joomla Plugin
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_CHECKED_IN_MORE="%d Joomla Plugin Groups successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_DELETED="%s Joomla Plugin Groups deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_DELETED_1="%s Joomla Plugin Group deleted."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_FAILED_PUBLISHING="%s Joomla Plugin Groups failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_FAILED_PUBLISHING_1="%s Joomla Plugin Group failed publishing."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_FEATURED="%s Joomla Plugin Groups featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_FEATURED_1="%s Joomla Plugin Group featured."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_N_ITEMS_PUBLISHED="%s Joomla Plugin Groups published."
@ -6862,8 +7185,8 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GUID_DESCRIPTION="Globally Unique Identifier"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GUID_HINT="Auto Generated"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GUID_LABEL="GUID"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_HEAD="Head"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_HEAD_DESCRIPTION="The class head, where JLoader, namespace and use is added, so that class being extended will work."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_HEAD_LABEL="Class Head"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_HEAD_DESCRIPTION="The class header to add any header values can be added."
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_HEAD_LABEL="Class Header"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ID="Id"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP="Joomla Plugin Group"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_JOOMLA_PLUGIN_GROUP_LABEL="Joomla Plugin Group"
@ -7060,6 +7383,8 @@ COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_CHECKED_IN_1="%d Language successfully ch
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_CHECKED_IN_MORE="%d Languages successfully checked in."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_DELETED="%s Languages deleted."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_DELETED_1="%s Language deleted."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_FAILED_PUBLISHING="%s Languages failed publishing."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_FAILED_PUBLISHING_1="%s Language failed publishing."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_FEATURED="%s Languages featured."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_FEATURED_1="%s Language featured."
COM_COMPONENTBUILDER_LANGUAGES_N_ITEMS_PUBLISHED="%s Languages published."
@ -7135,6 +7460,8 @@ COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_CHECKED_IN_1="%d Language Tra
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_CHECKED_IN_MORE="%d Language Translations successfully checked in."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_DELETED="%s Language Translations deleted."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_DELETED_1="%s Language Translation deleted."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_FAILED_PUBLISHING="%s Language Translations failed publishing."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_FAILED_PUBLISHING_1="%s Language Translation failed publishing."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_FEATURED="%s Language Translations featured."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_FEATURED_1="%s Language Translation featured."
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_N_ITEMS_PUBLISHED="%s Language Translations published."
@ -7223,6 +7550,8 @@ COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_CHECKED_IN_1="%d Layout successfully checke
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_CHECKED_IN_MORE="%d Layouts successfully checked in."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_DELETED="%s Layouts deleted."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_DELETED_1="%s Layout deleted."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_FAILED_PUBLISHING="%s Layouts failed publishing."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_FAILED_PUBLISHING_1="%s Layout failed publishing."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_FEATURED="%s Layouts featured."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_FEATURED_1="%s Layout featured."
COM_COMPONENTBUILDER_LAYOUTS_N_ITEMS_PUBLISHED="%s Layouts published."
@ -7341,6 +7670,8 @@ COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_CHECKED_IN_1="%d Library Config su
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_CHECKED_IN_MORE="%d Libraries Config successfully checked in."
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_DELETED="%s Libraries Config deleted."
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_DELETED_1="%s Library Config deleted."
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_FAILED_PUBLISHING="%s Libraries Config failed publishing."
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_FAILED_PUBLISHING_1="%s Library Config failed publishing."
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_FEATURED="%s Libraries Config featured."
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_FEATURED_1="%s Library Config featured."
COM_COMPONENTBUILDER_LIBRARIES_CONFIG_N_ITEMS_PUBLISHED="%s Libraries Config published."
@ -7395,6 +7726,8 @@ COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_1="%d Libra
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_MORE="%d Libraries Files, Folders & URLs successfully checked in."
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_DELETED="%s Libraries Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_DELETED_1="%s Library Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_FAILED_PUBLISHING="%s Libraries Files, Folders & URLs failed publishing."
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_FAILED_PUBLISHING_1="%s Library Files, Folders & URLs failed publishing."
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_FEATURED="%s Libraries Files, Folders & URLs featured."
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_FEATURED_1="%s Library Files, Folders & URLs featured."
COM_COMPONENTBUILDER_LIBRARIES_FILES_FOLDERS_URLS_N_ITEMS_PUBLISHED="%s Libraries Files, Folders & URLs published."
@ -7412,6 +7745,8 @@ COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_CHECKED_IN_1="%d Library successfully che
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_CHECKED_IN_MORE="%d Libraries successfully checked in."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_DELETED="%s Libraries deleted."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_DELETED_1="%s Library deleted."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_FAILED_PUBLISHING="%s Libraries failed publishing."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_FAILED_PUBLISHING_1="%s Library failed publishing."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_FEATURED="%s Libraries featured."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_FEATURED_1="%s Library featured."
COM_COMPONENTBUILDER_LIBRARIES_N_ITEMS_PUBLISHED="%s Libraries published."
@ -7717,6 +8052,7 @@ COM_COMPONENTBUILDER_MODEL_AFTER_MODELLING="Model (after modelling)"
COM_COMPONENTBUILDER_MODEL_BEFORE_MODELLING="Model (before modelling)"
COM_COMPONENTBUILDER_MODULE="Module"
COM_COMPONENTBUILDER_MODULES="Modules"
COM_COMPONENTBUILDER_MOVE="Move"
COM_COMPONENTBUILDER_NAME="Name"
COM_COMPONENTBUILDER_NAME_ASC="Name (Asc)"
COM_COMPONENTBUILDER_NAME_DESC="Name (Desc)"
@ -7816,6 +8152,8 @@ COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_CHECKED_IN_1="%d Placeholder successfu
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_CHECKED_IN_MORE="%d Placeholders successfully checked in."
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_DELETED="%s Placeholders deleted."
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_DELETED_1="%s Placeholder deleted."
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_FAILED_PUBLISHING="%s Placeholders failed publishing."
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_FAILED_PUBLISHING_1="%s Placeholder failed publishing."
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_FEATURED="%s Placeholders featured."
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_FEATURED_1="%s Placeholder featured."
COM_COMPONENTBUILDER_PLACEHOLDERS_N_ITEMS_PUBLISHED="%s Placeholders published."
@ -7913,6 +8251,7 @@ COM_COMPONENTBUILDER_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT="Ready to compile a component"
COM_COMPONENTBUILDER_REFRESH="Refresh"
COM_COMPONENTBUILDER_RELEASED_THIS="released this"
COM_COMPONENTBUILDER_REMOVE="Remove"
COM_COMPONENTBUILDER_RENAME="Rename"
COM_COMPONENTBUILDER_REPORT_AN_ISSUE_BSB="Report an issue: <b>%s</b>"
COM_COMPONENTBUILDER_REQUIRES_THE_VALUE_ENTERED_BE_ONE_OF_THE_OPTIONS_IN_AN_ELEMENT_OF_TYPEQUOTLISTQUOT_THAT_IS_THAT_THE_ELEMENT_IS_A_SELECT_LIST="Requires the value entered be one of the options in an element of type=&quot;list&quot;: that is, that the element is a select list."
@ -7973,6 +8312,8 @@ COM_COMPONENTBUILDER_SERVERS_N_ITEMS_CHECKED_IN_1="%d Server successfully checke
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_CHECKED_IN_MORE="%d Servers successfully checked in."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_DELETED="%s Servers deleted."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_DELETED_1="%s Server deleted."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_FAILED_PUBLISHING="%s Servers failed publishing."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_FAILED_PUBLISHING_1="%s Server failed publishing."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_FEATURED="%s Servers featured."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_FEATURED_1="%s Server featured."
COM_COMPONENTBUILDER_SERVERS_N_ITEMS_PUBLISHED="%s Servers published."
@ -8135,6 +8476,8 @@ COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_CHECKED_IN_1="%d Site View successfully
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_CHECKED_IN_MORE="%d Site Views successfully checked in."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_DELETED="%s Site Views deleted."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_DELETED_1="%s Site View deleted."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_FAILED_PUBLISHING="%s Site Views failed publishing."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_FAILED_PUBLISHING_1="%s Site View failed publishing."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_FEATURED="%s Site Views featured."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_FEATURED_1="%s Site View featured."
COM_COMPONENTBUILDER_SITE_VIEWS_N_ITEMS_PUBLISHED="%s Site Views published."
@ -8597,6 +8940,8 @@ COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_CHECKED_IN_1="%d Snippet successfully chec
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_CHECKED_IN_MORE="%d Snippets successfully checked in."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_DELETED="%s Snippets deleted."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_DELETED_1="%s Snippet deleted."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_FAILED_PUBLISHING="%s Snippets failed publishing."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_FAILED_PUBLISHING_1="%s Snippet failed publishing."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_FEATURED="%s Snippets featured."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_FEATURED_1="%s Snippet featured."
COM_COMPONENTBUILDER_SNIPPETS_N_ITEMS_PUBLISHED="%s Snippets published."
@ -8706,6 +9051,8 @@ COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_CHECKED_IN_1="%d Snippet Type success
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_CHECKED_IN_MORE="%d Snippet Types successfully checked in."
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_DELETED="%s Snippet Types deleted."
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_DELETED_1="%s Snippet Type deleted."
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_FAILED_PUBLISHING="%s Snippet Types failed publishing."
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_FAILED_PUBLISHING_1="%s Snippet Type failed publishing."
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_FEATURED="%s Snippet Types featured."
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_FEATURED_1="%s Snippet Type featured."
COM_COMPONENTBUILDER_SNIPPET_TYPES_N_ITEMS_PUBLISHED="%s Snippet Types published."
@ -8841,6 +9188,8 @@ COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_CHECKED_IN_1="%d Template successfully ch
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_CHECKED_IN_MORE="%d Templates successfully checked in."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_DELETED="%s Templates deleted."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_DELETED_1="%s Template deleted."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_FAILED_PUBLISHING="%s Templates failed publishing."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_FAILED_PUBLISHING_1="%s Template failed publishing."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_FEATURED="%s Templates featured."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_FEATURED_1="%s Template featured."
COM_COMPONENTBUILDER_TEMPLATES_N_ITEMS_PUBLISHED="%s Templates published."
@ -8939,6 +9288,7 @@ COM_COMPONENTBUILDER_THE_ADMIN_FIELDS="The admin fields"
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_CONDITIONS="The admin fields conditions"
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_RELATIONS="The admin fields relations"
COM_COMPONENTBUILDER_THE_AVAILABLE_VALIDATION_RULES_FOR_THE_VALIDATE_ATTRIBUTE_ARE="The available validation rules for the validate attribute are:"
COM_COMPONENTBUILDER_THE_BMULTI_FILTERB_SELECTION_OPTION_ALLOWS_THE_USER_TO_SELECT_MORE_THEN_ONE_VALUE_IN_THIS_FILTERFIELD_PLEASE_NOTE_THAT_THIS_OPTION_BONLY_WORKSB_WITH_THE_BNEWB_FILTERS_THAT_LOAD_ABOVE_THE_ADMIN_LIST_VIEW_YOU_CAN_SELECT_THE_NEW_FILTER_OPTION_WHENWHERE_YOU_ADD_THE_VIEW_TO_THE_COMPONENT="The <b>multi filter</b> selection option allows the user to select more then one value in this filter/field. Please note that this option <b>only works</b> with the <b>new</b> filters that load above the admin list view. You can select the new filter option when/where you add the view to the component."
COM_COMPONENTBUILDER_THE_BNONE_DBB_OPTION_WILL_REMOVE_THIS_FIELD_FROM_BEING_SAVED_IN_THE_DATABASE="The <b>None DB</b> option will remove this field from being saved in the database."
COM_COMPONENTBUILDER_THE_BONLY_IN_ADMIN_LIST_VIEWB_OPTION_WILL_ONLY_ADD_THIS_FIELD_TO_THE_ADMIN_LIST_VIEW_NOT_TO_ANY_LINKED_VIEWS="The <b>Only in Admin List View</b> option will only Add this field to the admin list view, not to any linked views."
COM_COMPONENTBUILDER_THE_BONLY_IN_LINKED_LIST_VIEWSB_OPTION_WILL_ONLY_ADD_THIS_FIELD_TO_THE_LINKED_LIST_VIEW_IF_THIS_VIEW_GETS_LINKED_TO_OTHER_VIEW_NOT_TO_THIS_ADMIN_LIST_VIEW="The <b>Only in Linked List Views</b> option will only Add this field to the linked list view, if this view gets linked to other view, not to this admin list view."
@ -8948,6 +9298,7 @@ COM_COMPONENTBUILDER_THE_BSB_FILE_COULD_NOT_BE_MOVED_TO_BSB_SERVER="The <b>%s</b
COM_COMPONENTBUILDER_THE_BSB_LIBRARYCLASS_IS_NOT_AVAILABLE_THIS_LIBRARYCLASS_SHOULD_HAVE_BEEN_ADDED_TO_YOUR_BLIBRARIESPHPSECLIBVENDORB_FOLDER_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_INFO="The <b>%s</b> library\class is not available! This library\class should have been added to your <b>libraries/phpseclib/vendor</b> folder. Please contact your system administrator for more info!"
COM_COMPONENTBUILDER_THE_BSB_LIBRARY_CAN_NOT_BE_DELETED_OR_THINGS_WILL_BREAK="The <b>%s</b> library can not be deleted, or things will break."
COM_COMPONENTBUILDER_THE_BSHOW_IN_ALL_LIST_VIEWSB_OPTION_WILL_ADD_THIS_FIELD_TO_ALL_LIST_VIEWS_ADMIN_AMP_LINKED="The <b>Show in All List Views</b> option will Add this field to all list views, admin &amp; linked."
COM_COMPONENTBUILDER_THE_BSINGLE_FILTERB_SELECTION_OPTION_ALLOWS_THE_USER_TO_SELECT_JUST_ONE_VALUE_IN_THIS_FILTERFIELD="The <b>single filter</b> selection option allows the user to select just one value in this filter/field."
COM_COMPONENTBUILDER_THE_COMPONENT_ADMIN_VIEWS="The component admin views"
COM_COMPONENTBUILDER_THE_COMPONENT_CONFIG="The component config"
COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_MENUS="The component custom admin menus"
@ -9104,6 +9455,8 @@ COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_CHECKED_IN_1="%d Validation Rule s
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_CHECKED_IN_MORE="%d Validation Rules successfully checked in."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_DELETED="%s Validation Rules deleted."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_DELETED_1="%s Validation Rule deleted."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_FAILED_PUBLISHING="%s Validation Rules failed publishing."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_FAILED_PUBLISHING_1="%s Validation Rule failed publishing."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_FEATURED="%s Validation Rules featured."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_FEATURED_1="%s Validation Rule featured."
COM_COMPONENTBUILDER_VALIDATION_RULES_N_ITEMS_PUBLISHED="%s Validation Rules published."

View File

@ -13,7 +13,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vyffields;
$items = $displayData->vycfields;
$user = JFactory::getUser();
$id = $displayData->item->id;
// set the edit URL
@ -118,31 +118,31 @@ $can = ComponentbuilderHelper::getActions('field');
<?php echo JText::_($item->store); ?>
</td>
<td>
<?php if ($user->authorise('core.edit', 'com_componentbuilder.fields.category.' . (int)$item->catid)): ?>
<a href="index.php?option=com_categories&task=category.edit&id=<?php echo (int)$item->catid; ?>&extension=com_componentbuilder.fields"><?php echo $displayData->escape($item->category_title); ?></a>
<?php if ($user->authorise('core.edit', 'com_componentbuilder.field.category.' . (int)$item->catid)): ?>
<a href="index.php?option=com_categories&task=category.edit&id=<?php echo (int)$item->catid; ?>&extension=com_componentbuilder.field"><?php echo $displayData->escape($item->category_title); ?></a>
<?php else: ?>
<?php echo $displayData->escape($item->category_title); ?>
<?php endif; ?>
</td>
<?php if ($item->published == 1):?>
<?php if ($item->published == 1): ?>
<td class="center" data-sort-value="1">
<span class="status-metro status-published" title="<?php echo JText::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>
</span>
</td>
<?php elseif ($item->published == 0):?>
<?php elseif ($item->published == 0): ?>
<td class="center" data-sort-value="2">
<span class="status-metro status-inactive" title="<?php echo JText::_('COM_COMPONENTBUILDER_INACTIVE'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_INACTIVE'); ?>
</span>
</td>
<?php elseif ($item->published == 2):?>
<?php elseif ($item->published == 2): ?>
<td class="center" data-sort-value="3">
<span class="status-metro status-archived" title="<?php echo JText::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>
</span>
</td>
<?php elseif ($item->published == -2):?>
<?php elseif ($item->published == -2): ?>
<td class="center" data-sort-value="4">
<span class="status-metro status-trashed" title="<?php echo JText::_('COM_COMPONENTBUILDER_TRASHED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_TRASHED'); ?>

View File

@ -31,13 +31,13 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'component_version',
'debug_linenr',
'add_placeholders',
'remove_line_breaks',
'mvc_versiondate',
'note_version_options_one',
'note_version_options_two',
'note_version_options_three',
'short_description',
'description',
'copyright'
'description'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();

View File

@ -38,7 +38,8 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'whmcs_buy_link',
'license',
'bom',
'image'
'image',
'copyright'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();

View File

@ -29,7 +29,8 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'add_sql',
'sql',
'add_sql_uninstall',
'sql_uninstall'
'sql_uninstall',
'assets_table_fix'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();

View File

@ -0,0 +1,95 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('JPATH_BASE') or die('Restricted access');
/**
* Make thing clear
*
* @var JForm $tmpl The Empty form for template
* @var array $forms Array of JForm instances for render the rows
* @var bool $multiple The multiple state for the form field
* @var int $min Count of minimum repeating in multiple mode
* @var int $max Count of maximum repeating in multiple mode
* @var string $fieldname The field name
* @var string $control The forms control
* @var string $label The field label
* @var string $description The field description
* @var array $buttons Array of the buttons that will be rendered
* @var bool $groupByFieldset Whether group the subform fields by it`s fieldset
*/
extract($displayData);
// Add script
JHtml::_('jquery.ui', array('core', 'sortable'));
JHtml::_('script', 'system/subform-repeatable.js', array('version' => 'auto', 'relative' => true));
$sublayout = 'sectionjcb';
?>
<div class="row-fluid">
<div class="subform-repeatable-wrapper subform-layout">
<div class="subform-repeatable"
data-bt-add="a.group-add-<?php echo $unique_subform_id; ?>"
data-bt-remove="a.group-remove-<?php echo $unique_subform_id; ?>"
data-bt-move="a.group-move-<?php echo $unique_subform_id; ?>"
data-repeatable-element="div.subform-repeatable-jcb-group-<?php echo $unique_subform_id; ?>"
data-minimum="<?php echo $min; ?>" data-maximum="<?php echo $max; ?>"
>
<?php if (!empty($buttons['add'])) : ?>
<div class="btn-toolbar">
<div class="btn-group">
<a class="btn btn-mini button btn-success group-add group-add-<?php echo $unique_subform_id; ?>" aria-label="<?php echo JText::_('COM_COMPONENTBUILDER_ADD'); ?>">
<span class="icon-plus" aria-hidden="true"></span>
</a>
</div>
</div>
<?php endif; ?>
<?php
foreach ($forms as $k => $form) :
echo JLayoutHelper::render(
$sublayout,
array(
'form' => $form,
'basegroup' => $fieldname,
'group' => $fieldname . $k,
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id
)
);
endforeach;
?>
<?php if ($multiple) : ?>
<template class="subform-repeatable-template-section" style="display: none;"><?php
// Use str_replace to escape HTML in a simple way, it need for IE compatibility, and should be removed later
echo str_replace(
array('<', '>'),
array('SUBFORMLT', 'SUBFORMGT'),
trim(
JLayoutHelper::render(
$sublayout,
array(
'form' => $tmpl,
'basegroup' => $fieldname,
'group' => $fieldname . 'X',
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id
)
)
)
);
?></template>
<?php endif; ?>
</div>
</div>
</div>

View File

@ -0,0 +1,62 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('JPATH_BASE') or die('Restricted access');
/**
* Make thing clear
*
* @var JForm $form The form instance for render the section
* @var string $basegroup The base group name
* @var string $group Current group name
* @var array $buttons Array of the buttons that will be rendered
*/
extract($displayData);
?>
<div
class="subform-repeatable-group subform-repeatable-jcb-group-<?php echo $unique_subform_id; ?>"
data-base-name="<?php echo $basegroup; ?>"
data-group="<?php echo $group; ?>"
>
<?php if (!empty($buttons)) : ?>
<div class="btn-toolbar text-right">
<div class="btn-group">
<?php if (!empty($buttons['add'])) : ?>
<a class="btn btn-mini button btn-success group-add group-add-<?php echo $unique_subform_id; ?>" aria-label="<?php echo JText::_('COM_COMPONENTBUILDER_ADD'); ?>">
<span class="icon-plus" aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['remove'])) : ?>
<a class="btn btn-mini button btn-danger group-remove group-remove-<?php echo $unique_subform_id; ?>" aria-label="<?php echo JText::_('COM_COMPONENTBUILDER_REMOVE'); ?>">
<span class="icon-minus" aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['move'])) : ?>
<a class="btn btn-mini button btn-primary group-move group-move-<?php echo $unique_subform_id; ?>" aria-label="<?php echo JText::_('COM_COMPONENTBUILDER_MOVE'); ?>">
<span class="icon-move" aria-hidden="true"></span>
</a>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
<div data-uk-grid-margin="" class="uk-grid">
<?php foreach ($form->getGroup('') as $field) : ?>
<div class="uk-width-medium-1-4 uk-width-large-1-5">
<div class="uk-panel">
<?php echo $field->renderField(); ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>

View File

@ -13,7 +13,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vyplinked_components;
$items = $displayData->vymlinked_components;
$user = JFactory::getUser();
$id = $displayData->item->id;
// set the edit URL
@ -217,25 +217,25 @@ else
<?php endif; ?>
</div>
</td>
<?php if ($item->published == 1):?>
<?php if ($item->published == 1): ?>
<td class="center" data-sort-value="1">
<span class="status-metro status-published" title="<?php echo JText::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>
</span>
</td>
<?php elseif ($item->published == 0):?>
<?php elseif ($item->published == 0): ?>
<td class="center" data-sort-value="2">
<span class="status-metro status-inactive" title="<?php echo JText::_('COM_COMPONENTBUILDER_INACTIVE'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_INACTIVE'); ?>
</span>
</td>
<?php elseif ($item->published == 2):?>
<?php elseif ($item->published == 2): ?>
<td class="center" data-sort-value="3">
<span class="status-metro status-archived" title="<?php echo JText::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>
</span>
</td>
<?php elseif ($item->published == -2):?>
<?php elseif ($item->published == -2): ?>
<td class="center" data-sort-value="4">
<span class="status-metro status-trashed" title="<?php echo JText::_('COM_COMPONENTBUILDER_TRASHED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_TRASHED'); ?>

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -225,6 +225,9 @@ class ComponentbuilderModelAdmin_custom_tabs extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
// update the tabs (sub form) layout
$form->setFieldAttribute('tabs', 'layout', ComponentbuilderHelper::getSubformLayout('admin_custom_tabs', 'tabs'));
return $form;
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -246,6 +246,9 @@ class ComponentbuilderModelAdmin_fields extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
// update the addfields (sub form) layout
$form->setFieldAttribute('addfields', 'layout', ComponentbuilderHelper::getSubformLayout('admin_fields', 'addfields'));
return $form;
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -246,6 +246,9 @@ class ComponentbuilderModelAdmin_fields_conditions extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
// update the addconditions (sub form) layout
$form->setFieldAttribute('addconditions', 'layout', ComponentbuilderHelper::getSubformLayout('admin_fields_conditions', 'addconditions'));
return $form;
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -308,6 +308,9 @@ class ComponentbuilderModelAdmin_fields_relations extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
// update the addrelations (sub form) layout
$form->setFieldAttribute('addrelations', 'layout', ComponentbuilderHelper::getSubformLayout('admin_fields_relations', 'addrelations'));
return $form;
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -800,8 +800,8 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
}
// Only load the GUID if new item
if (0 == $id)
// Only load the GUID if new item (or empty)
if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@ -984,7 +984,7 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -1491,8 +1491,15 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
}
// Set the GUID if empty or not valid
if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "admin_view", $data['id']))
if (empty($data['guid']) && $data['id'] > 0)
{
// get the existing one
$data['guid'] = (string) ComponentbuilderHelper::getVar('admin_view', $data['id'], 'id', 'guid');
}
// Set the GUID if empty or not valid
while (!ComponentbuilderHelper::validGUID($data['guid'], "admin_view", $data['id']))
{
// must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}

View File

@ -26,27 +26,34 @@ class ComponentbuilderModelAdmin_views extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'a.system_name','system_name',
'a.name_single','name_single',
'a.short_description','short_description',
'a.add_fadein','add_fadein',
'a.type','type',
'a.add_custom_button','add_custom_button',
'a.add_php_ajax','add_php_ajax',
'a.add_custom_import','add_custom_import'
'a.add_custom_import','add_custom_import',
'a.system_name','system_name',
'a.name_single','name_single',
'a.short_description','short_description'
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -56,48 +63,88 @@ class ComponentbuilderModelAdmin_views extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$system_name = $this->getUserStateFromRequest($this->context . '.filter.system_name', 'filter_system_name');
$this->setState('filter.system_name', $system_name);
}
$name_single = $this->getUserStateFromRequest($this->context . '.filter.name_single', 'filter_name_single');
$this->setState('filter.name_single', $name_single);
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$short_description = $this->getUserStateFromRequest($this->context . '.filter.short_description', 'filter_short_description');
$this->setState('filter.short_description', $short_description);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$add_fadein = $this->getUserStateFromRequest($this->context . '.filter.add_fadein', 'filter_add_fadein');
$this->setState('filter.add_fadein', $add_fadein);
if ($formSubmited)
{
$add_fadein = $app->input->post->get('add_fadein');
$this->setState('filter.add_fadein', $add_fadein);
}
$type = $this->getUserStateFromRequest($this->context . '.filter.type', 'filter_type');
$this->setState('filter.type', $type);
if ($formSubmited)
{
$type = $app->input->post->get('type');
$this->setState('filter.type', $type);
}
$add_custom_button = $this->getUserStateFromRequest($this->context . '.filter.add_custom_button', 'filter_add_custom_button');
$this->setState('filter.add_custom_button', $add_custom_button);
if ($formSubmited)
{
$add_custom_button = $app->input->post->get('add_custom_button');
$this->setState('filter.add_custom_button', $add_custom_button);
}
$add_php_ajax = $this->getUserStateFromRequest($this->context . '.filter.add_php_ajax', 'filter_add_php_ajax');
$this->setState('filter.add_php_ajax', $add_php_ajax);
if ($formSubmited)
{
$add_php_ajax = $app->input->post->get('add_php_ajax');
$this->setState('filter.add_php_ajax', $add_php_ajax);
}
$add_custom_import = $this->getUserStateFromRequest($this->context . '.filter.add_custom_import', 'filter_add_custom_import');
$this->setState('filter.add_custom_import', $add_custom_import);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
if ($formSubmited)
{
$add_custom_import = $app->input->post->get('add_custom_import');
$this->setState('filter.add_custom_import', $add_custom_import);
}
$system_name = $this->getUserStateFromRequest($this->context . '.filter.system_name', 'filter_system_name');
if ($formSubmited)
{
$system_name = $app->input->post->get('system_name');
$this->setState('filter.system_name', $system_name);
}
$name_single = $this->getUserStateFromRequest($this->context . '.filter.name_single', 'filter_name_single');
if ($formSubmited)
{
$name_single = $app->input->post->get('name_single');
$this->setState('filter.name_single', $name_single);
}
$short_description = $this->getUserStateFromRequest($this->context . '.filter.short_description', 'filter_short_description');
if ($formSubmited)
{
$short_description = $app->input->post->get('short_description');
$this->setState('filter.short_description', $short_description);
}
// List state information.
parent::populateState($ordering, $direction);
@ -269,9 +316,17 @@ class ComponentbuilderModelAdmin_views extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -295,29 +350,112 @@ class ComponentbuilderModelAdmin_views extends JModelList
}
// Filter by Add_fadein.
if ($add_fadein = $this->getState('filter.add_fadein'))
$_add_fadein = $this->getState('filter.add_fadein');
if (is_numeric($_add_fadein))
{
$query->where('a.add_fadein = ' . $db->quote($db->escape($add_fadein)));
if (is_float($_add_fadein))
{
$query->where('a.add_fadein = ' . (float) $_add_fadein);
}
else
{
$query->where('a.add_fadein = ' . (int) $_add_fadein);
}
}
elseif (ComponentbuilderHelper::checkString($_add_fadein))
{
$query->where('a.add_fadein = ' . $db->quote($db->escape($_add_fadein)));
}
// Filter by Type.
if ($type = $this->getState('filter.type'))
$_type = $this->getState('filter.type');
if (is_numeric($_type))
{
$query->where('a.type = ' . $db->quote($db->escape($type)));
if (is_float($_type))
{
$query->where('a.type = ' . (float) $_type);
}
else
{
$query->where('a.type = ' . (int) $_type);
}
}
elseif (ComponentbuilderHelper::checkString($_type))
{
$query->where('a.type = ' . $db->quote($db->escape($_type)));
}
elseif (ComponentbuilderHelper::checkArray($_type))
{
// Secure the array for the query
$_type = array_map( function ($val) use(&$db) {
if (is_numeric($val))
{
if (is_float($val))
{
return (float) $val;
}
else
{
return (int) $val;
}
}
elseif (ComponentbuilderHelper::checkString($val))
{
return $db->quote($db->escape($val));
}
}, $_type);
// Filter by the Type Array.
$query->where('a.type IN (' . implode(',', $_type) . ')');
}
// Filter by Add_custom_button.
if ($add_custom_button = $this->getState('filter.add_custom_button'))
$_add_custom_button = $this->getState('filter.add_custom_button');
if (is_numeric($_add_custom_button))
{
$query->where('a.add_custom_button = ' . $db->quote($db->escape($add_custom_button)));
if (is_float($_add_custom_button))
{
$query->where('a.add_custom_button = ' . (float) $_add_custom_button);
}
else
{
$query->where('a.add_custom_button = ' . (int) $_add_custom_button);
}
}
elseif (ComponentbuilderHelper::checkString($_add_custom_button))
{
$query->where('a.add_custom_button = ' . $db->quote($db->escape($_add_custom_button)));
}
// Filter by Add_php_ajax.
if ($add_php_ajax = $this->getState('filter.add_php_ajax'))
$_add_php_ajax = $this->getState('filter.add_php_ajax');
if (is_numeric($_add_php_ajax))
{
$query->where('a.add_php_ajax = ' . $db->quote($db->escape($add_php_ajax)));
if (is_float($_add_php_ajax))
{
$query->where('a.add_php_ajax = ' . (float) $_add_php_ajax);
}
else
{
$query->where('a.add_php_ajax = ' . (int) $_add_php_ajax);
}
}
elseif (ComponentbuilderHelper::checkString($_add_php_ajax))
{
$query->where('a.add_php_ajax = ' . $db->quote($db->escape($_add_php_ajax)));
}
// Filter by Add_custom_import.
if ($add_custom_import = $this->getState('filter.add_custom_import'))
$_add_custom_import = $this->getState('filter.add_custom_import');
if (is_numeric($_add_custom_import))
{
$query->where('a.add_custom_import = ' . $db->quote($db->escape($add_custom_import)));
if (is_float($_add_custom_import))
{
$query->where('a.add_custom_import = ' . (float) $_add_custom_import);
}
else
{
$query->where('a.add_custom_import = ' . (int) $_add_custom_import);
}
}
elseif (ComponentbuilderHelper::checkString($_add_custom_import))
{
$query->where('a.add_custom_import = ' . $db->quote($db->escape($_add_custom_import)));
}
// Add the list ordering clause.
@ -342,7 +480,7 @@ class ComponentbuilderModelAdmin_views extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
if (ComponentbuilderHelper::checkArray($pks))
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@ -360,7 +498,24 @@ class ComponentbuilderModelAdmin_views extends JModelList
// From the componentbuilder_admin_view table
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
$query->where('a.id IN (' . implode(',',$pks) . ')');
// The bulk export path
if ('bulk' === $pks)
{
$query->where('a.id > 0');
}
// A large array of ID's will not work out well
elseif ($pks_size > 500)
{
// Use lowest ID
$query->where('a.id >= ' . (int) min($pks));
// Use highest ID
$query->where('a.id <= ' . (int) max($pks));
}
// The normal default path
else
{
$query->where('a.id IN (' . implode(',',$pks) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
@ -524,17 +679,40 @@ class ComponentbuilderModelAdmin_views extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.system_name');
$id .= ':' . $this->getState('filter.name_single');
$id .= ':' . $this->getState('filter.short_description');
$id .= ':' . $this->getState('filter.add_fadein');
$id .= ':' . $this->getState('filter.type');
// Check if the value is an array
$_type = $this->getState('filter.type');
if (ComponentbuilderHelper::checkArray($_type))
{
$id .= ':' . implode(':', $_type);
}
// Check if this is only an number or string
elseif (is_numeric($_type)
|| ComponentbuilderHelper::checkString($_type))
{
$id .= ':' . $_type;
}
$id .= ':' . $this->getState('filter.add_custom_button');
$id .= ':' . $this->getState('filter.add_php_ajax');
$id .= ':' . $this->getState('filter.add_custom_import');
$id .= ':' . $this->getState('filter.add_custom_import');
$id .= ':' . $this->getState('filter.system_name');
$id .= ':' . $this->getState('filter.name_single');
$id .= ':' . $this->getState('filter.short_description');
return parent::getStoreId($id);
}

View File

@ -26,6 +26,7 @@ class ComponentbuilderModelAdmins_custom_tabs extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by'
@ -34,11 +35,17 @@ class ComponentbuilderModelAdmins_custom_tabs extends JModelList
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -48,27 +55,33 @@ class ComponentbuilderModelAdmins_custom_tabs extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
// List state information.
parent::populateState($ordering, $direction);
}
@ -149,9 +162,17 @@ class ComponentbuilderModelAdmins_custom_tabs extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -162,7 +183,7 @@ class ComponentbuilderModelAdmins_custom_tabs extends JModelList
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'asc');
$orderDirn = $this->state->get('list.direction', 'desc');
if ($orderCol != '')
{
$query->order($db->escape($orderCol . ' ' . $orderDirn));
@ -183,6 +204,18 @@ class ComponentbuilderModelAdmins_custom_tabs extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -26,6 +26,7 @@ class ComponentbuilderModelAdmins_fields extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by'
@ -34,11 +35,17 @@ class ComponentbuilderModelAdmins_fields extends JModelList
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -48,27 +55,33 @@ class ComponentbuilderModelAdmins_fields extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
// List state information.
parent::populateState($ordering, $direction);
}
@ -149,9 +162,17 @@ class ComponentbuilderModelAdmins_fields extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -162,7 +183,7 @@ class ComponentbuilderModelAdmins_fields extends JModelList
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'asc');
$orderDirn = $this->state->get('list.direction', 'desc');
if ($orderCol != '')
{
$query->order($db->escape($orderCol . ' ' . $orderDirn));
@ -183,6 +204,18 @@ class ComponentbuilderModelAdmins_fields extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -26,6 +26,7 @@ class ComponentbuilderModelAdmins_fields_conditions extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by'
@ -34,11 +35,17 @@ class ComponentbuilderModelAdmins_fields_conditions extends JModelList
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -48,27 +55,33 @@ class ComponentbuilderModelAdmins_fields_conditions extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
// List state information.
parent::populateState($ordering, $direction);
}
@ -149,9 +162,17 @@ class ComponentbuilderModelAdmins_fields_conditions extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -162,7 +183,7 @@ class ComponentbuilderModelAdmins_fields_conditions extends JModelList
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'asc');
$orderDirn = $this->state->get('list.direction', 'desc');
if ($orderCol != '')
{
$query->order($db->escape($orderCol . ' ' . $orderDirn));
@ -183,6 +204,18 @@ class ComponentbuilderModelAdmins_fields_conditions extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -26,6 +26,7 @@ class ComponentbuilderModelAdmins_fields_relations extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by'
@ -34,11 +35,17 @@ class ComponentbuilderModelAdmins_fields_relations extends JModelList
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -48,27 +55,33 @@ class ComponentbuilderModelAdmins_fields_relations extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
// List state information.
parent::populateState($ordering, $direction);
}
@ -149,9 +162,17 @@ class ComponentbuilderModelAdmins_fields_relations extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -162,7 +183,7 @@ class ComponentbuilderModelAdmins_fields_relations extends JModelList
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'asc');
$orderDirn = $this->state->get('list.direction', 'desc');
if ($orderCol != '')
{
$query->order($db->escape($orderCol . ' ' . $orderDirn));
@ -183,6 +204,18 @@ class ComponentbuilderModelAdmins_fields_relations extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -2494,7 +2494,7 @@ class ComponentbuilderModelAjax extends JModelList
'php_batchmove', 'php_before_delete', 'php_before_publish', 'php_before_save', 'php_controller',
'php_controller_list', 'php_document', 'php_getitem', 'php_getitems', 'php_getitems_after_all',
'php_getlistquery', 'php_import', 'php_import_display', 'php_import_ext', 'php_import_headers', 'php_getform',
'php_import_save', 'php_import_setdata', 'php_model', 'php_model_list', 'php_postsavehook', 'php_save'),
'php_import_save', 'php_import_setdata', 'php_model', 'php_model_list', 'php_postsavehook', 'php_save', 'sql'),
'views' => 'admin_views',
'not_base64' => array(),
'name' => 'system_name'

View File

@ -26,21 +26,28 @@ class ComponentbuilderModelClass_extendings extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'a.name','name',
'a.extension_type','extension_type'
'a.extension_type','extension_type',
'a.name','name'
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -50,30 +57,46 @@ class ComponentbuilderModelClass_extendings extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$name = $this->getUserStateFromRequest($this->context . '.filter.name', 'filter_name');
$this->setState('filter.name', $name);
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$extension_type = $this->getUserStateFromRequest($this->context . '.filter.extension_type', 'filter_extension_type');
$this->setState('filter.extension_type', $extension_type);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
if ($formSubmited)
{
$extension_type = $app->input->post->get('extension_type');
$this->setState('filter.extension_type', $extension_type);
}
$name = $this->getUserStateFromRequest($this->context . '.filter.name', 'filter_name');
if ($formSubmited)
{
$name = $app->input->post->get('name');
$this->setState('filter.name', $name);
}
// List state information.
parent::populateState($ordering, $direction);
@ -187,9 +210,17 @@ class ComponentbuilderModelClass_extendings extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -213,14 +244,26 @@ class ComponentbuilderModelClass_extendings extends JModelList
}
// Filter by Extension_type.
if ($extension_type = $this->getState('filter.extension_type'))
$_extension_type = $this->getState('filter.extension_type');
if (is_numeric($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($extension_type)));
if (is_float($_extension_type))
{
$query->where('a.extension_type = ' . (float) $_extension_type);
}
else
{
$query->where('a.extension_type = ' . (int) $_extension_type);
}
}
elseif (ComponentbuilderHelper::checkString($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($_extension_type)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'asc');
$orderDirn = $this->state->get('list.direction', 'desc');
if ($orderCol != '')
{
$query->order($db->escape($orderCol . ' ' . $orderDirn));
@ -241,11 +284,23 @@ class ComponentbuilderModelClass_extendings extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.name');
$id .= ':' . $this->getState('filter.extension_type');
$id .= ':' . $this->getState('filter.extension_type');
$id .= ':' . $this->getState('filter.name');
return parent::getStoreId($id);
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -342,8 +342,8 @@ class ComponentbuilderModelClass_method extends JModelAdmin
}
// Only load the GUID if new item
if (0 == $id)
// Only load the GUID if new item (or empty)
if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@ -526,7 +526,7 @@ class ComponentbuilderModelClass_method extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -972,8 +972,15 @@ class ComponentbuilderModelClass_method extends JModelAdmin
$data['name'] = ComponentbuilderHelper::safeClassFunctionName($data['name']);
// Set the GUID if empty or not valid
if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "class_method", $data['id']))
if (empty($data['guid']) && $data['id'] > 0)
{
// get the existing one
$data['guid'] = (string) ComponentbuilderHelper::getVar('class_method', $data['id'], 'id', 'guid');
}
// Set the GUID if empty or not valid
while (!ComponentbuilderHelper::validGUID($data['guid'], "class_method", $data['id']))
{
// must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}

View File

@ -26,22 +26,29 @@ class ComponentbuilderModelClass_methods extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'a.name','name',
'a.visibility','visibility',
'a.extension_type','extension_type'
'a.extension_type','extension_type',
'a.name','name'
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -51,33 +58,53 @@ class ComponentbuilderModelClass_methods extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$name = $this->getUserStateFromRequest($this->context . '.filter.name', 'filter_name');
$this->setState('filter.name', $name);
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$visibility = $this->getUserStateFromRequest($this->context . '.filter.visibility', 'filter_visibility');
$this->setState('filter.visibility', $visibility);
if ($formSubmited)
{
$visibility = $app->input->post->get('visibility');
$this->setState('filter.visibility', $visibility);
}
$extension_type = $this->getUserStateFromRequest($this->context . '.filter.extension_type', 'filter_extension_type');
$this->setState('filter.extension_type', $extension_type);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
if ($formSubmited)
{
$extension_type = $app->input->post->get('extension_type');
$this->setState('filter.extension_type', $extension_type);
}
$name = $this->getUserStateFromRequest($this->context . '.filter.name', 'filter_name');
if ($formSubmited)
{
$name = $app->input->post->get('name');
$this->setState('filter.name', $name);
}
// List state information.
parent::populateState($ordering, $direction);
@ -211,9 +238,17 @@ class ComponentbuilderModelClass_methods extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -237,14 +272,38 @@ class ComponentbuilderModelClass_methods extends JModelList
}
// Filter by Visibility.
if ($visibility = $this->getState('filter.visibility'))
$_visibility = $this->getState('filter.visibility');
if (is_numeric($_visibility))
{
$query->where('a.visibility = ' . $db->quote($db->escape($visibility)));
if (is_float($_visibility))
{
$query->where('a.visibility = ' . (float) $_visibility);
}
else
{
$query->where('a.visibility = ' . (int) $_visibility);
}
}
elseif (ComponentbuilderHelper::checkString($_visibility))
{
$query->where('a.visibility = ' . $db->quote($db->escape($_visibility)));
}
// Filter by Extension_type.
if ($extension_type = $this->getState('filter.extension_type'))
$_extension_type = $this->getState('filter.extension_type');
if (is_numeric($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($extension_type)));
if (is_float($_extension_type))
{
$query->where('a.extension_type = ' . (float) $_extension_type);
}
else
{
$query->where('a.extension_type = ' . (int) $_extension_type);
}
}
elseif (ComponentbuilderHelper::checkString($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($_extension_type)));
}
// Add the list ordering clause.
@ -269,7 +328,7 @@ class ComponentbuilderModelClass_methods extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
if (ComponentbuilderHelper::checkArray($pks))
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@ -287,7 +346,24 @@ class ComponentbuilderModelClass_methods extends JModelList
// From the componentbuilder_class_method table
$query->from($db->quoteName('#__componentbuilder_class_method', 'a'));
$query->where('a.id IN (' . implode(',',$pks) . ')');
// The bulk export path
if ('bulk' === $pks)
{
$query->where('a.id > 0');
}
// A large array of ID's will not work out well
elseif ($pks_size > 500)
{
// Use lowest ID
$query->where('a.id >= ' . (int) min($pks));
// Use highest ID
$query->where('a.id <= ' . (int) max($pks));
}
// The normal default path
else
{
$query->where('a.id IN (' . implode(',',$pks) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
@ -381,12 +457,24 @@ class ComponentbuilderModelClass_methods extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.name');
$id .= ':' . $this->getState('filter.visibility');
$id .= ':' . $this->getState('filter.extension_type');
$id .= ':' . $this->getState('filter.extension_type');
$id .= ':' . $this->getState('filter.name');
return parent::getStoreId($id);
}

View File

@ -26,22 +26,29 @@ class ComponentbuilderModelClass_properties extends JModelList
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'a.name','name',
'a.visibility','visibility',
'a.extension_type','extension_type'
'a.extension_type','extension_type',
'a.name','name'
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
@ -51,33 +58,53 @@ class ComponentbuilderModelClass_properties extends JModelList
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$name = $this->getUserStateFromRequest($this->context . '.filter.name', 'filter_name');
$this->setState('filter.name', $name);
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$visibility = $this->getUserStateFromRequest($this->context . '.filter.visibility', 'filter_visibility');
$this->setState('filter.visibility', $visibility);
if ($formSubmited)
{
$visibility = $app->input->post->get('visibility');
$this->setState('filter.visibility', $visibility);
}
$extension_type = $this->getUserStateFromRequest($this->context . '.filter.extension_type', 'filter_extension_type');
$this->setState('filter.extension_type', $extension_type);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
if ($formSubmited)
{
$extension_type = $app->input->post->get('extension_type');
$this->setState('filter.extension_type', $extension_type);
}
$name = $this->getUserStateFromRequest($this->context . '.filter.name', 'filter_name');
if ($formSubmited)
{
$name = $app->input->post->get('name');
$this->setState('filter.name', $name);
}
// List state information.
parent::populateState($ordering, $direction);
@ -211,9 +238,17 @@ class ComponentbuilderModelClass_properties extends JModelList
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $access);
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
@ -237,14 +272,38 @@ class ComponentbuilderModelClass_properties extends JModelList
}
// Filter by Visibility.
if ($visibility = $this->getState('filter.visibility'))
$_visibility = $this->getState('filter.visibility');
if (is_numeric($_visibility))
{
$query->where('a.visibility = ' . $db->quote($db->escape($visibility)));
if (is_float($_visibility))
{
$query->where('a.visibility = ' . (float) $_visibility);
}
else
{
$query->where('a.visibility = ' . (int) $_visibility);
}
}
elseif (ComponentbuilderHelper::checkString($_visibility))
{
$query->where('a.visibility = ' . $db->quote($db->escape($_visibility)));
}
// Filter by Extension_type.
if ($extension_type = $this->getState('filter.extension_type'))
$_extension_type = $this->getState('filter.extension_type');
if (is_numeric($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($extension_type)));
if (is_float($_extension_type))
{
$query->where('a.extension_type = ' . (float) $_extension_type);
}
else
{
$query->where('a.extension_type = ' . (int) $_extension_type);
}
}
elseif (ComponentbuilderHelper::checkString($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($_extension_type)));
}
// Add the list ordering clause.
@ -269,7 +328,7 @@ class ComponentbuilderModelClass_properties extends JModelList
public function getExportData($pks, $user = null)
{
// setup the query
if (ComponentbuilderHelper::checkArray($pks))
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
@ -287,7 +346,24 @@ class ComponentbuilderModelClass_properties extends JModelList
// From the componentbuilder_class_property table
$query->from($db->quoteName('#__componentbuilder_class_property', 'a'));
$query->where('a.id IN (' . implode(',',$pks) . ')');
// The bulk export path
if ('bulk' === $pks)
{
$query->where('a.id > 0');
}
// A large array of ID's will not work out well
elseif ($pks_size > 500)
{
// Use lowest ID
$query->where('a.id >= ' . (int) min($pks));
// Use highest ID
$query->where('a.id <= ' . (int) max($pks));
}
// The normal default path
else
{
$query->where('a.id IN (' . implode(',',$pks) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
@ -379,12 +455,24 @@ class ComponentbuilderModelClass_properties extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.name');
$id .= ':' . $this->getState('filter.visibility');
$id .= ':' . $this->getState('filter.extension_type');
$id .= ':' . $this->getState('filter.extension_type');
$id .= ':' . $this->getState('filter.name');
return parent::getStoreId($id);
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -333,8 +333,8 @@ class ComponentbuilderModelClass_property extends JModelAdmin
}
// Only load the GUID if new item
if (0 == $id)
// Only load the GUID if new item (or empty)
if (0 == $id || !($val = $form->getValue('guid')))
{
$form->setValue('guid', null, ComponentbuilderHelper::GUID());
}
@ -517,7 +517,7 @@ class ComponentbuilderModelClass_property extends JModelAdmin
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -963,8 +963,15 @@ class ComponentbuilderModelClass_property extends JModelAdmin
$data['name'] = ComponentbuilderHelper::safeClassFunctionName($data['name']);
// Set the GUID if empty or not valid
if (isset($data['guid']) && !ComponentbuilderHelper::validGUID($data['guid'], "class_property", $data['id']))
if (empty($data['guid']) && $data['id'] > 0)
{
// get the existing one
$data['guid'] = (string) ComponentbuilderHelper::getVar('class_property', $data['id'], 'id', 'guid');
}
// Set the GUID if empty or not valid
while (!ComponentbuilderHelper::validGUID($data['guid'], "class_property", $data['id']))
{
// must always be set
$data['guid'] = (string) ComponentbuilderHelper::GUID();
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -257,6 +257,9 @@ class ComponentbuilderModelComponent_admin_views extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
// update the addadmin_views (sub form) layout
$form->setFieldAttribute('addadmin_views', 'layout', ComponentbuilderHelper::getSubformLayout('component_admin_views', 'addadmin_views'));
return $form;
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**
@ -257,6 +257,9 @@ class ComponentbuilderModelComponent_custom_admin_views extends JModelAdmin
$form->setValue($redirectedField, null, $redirectedValue);
}
}
// update the addcustom_admin_views (sub form) layout
$form->setFieldAttribute('addcustom_admin_views', 'layout', ComponentbuilderHelper::getSubformLayout('component_custom_admin_views', 'addcustom_admin_views'));
return $form;
}

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -12,8 +12,8 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

Some files were not shown because too many files have changed in this diff Show More