Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
ddeb02de74 | |||
e003be492c | |||
fb7b5027c2 | |||
7a902d454a | |||
bd716ae7ef | |||
e074d3b5ce | |||
f1a054c0e7 | |||
e037d29935 | |||
b60803ef7b | |||
aceda7bae2 | |||
111aa4a3de | |||
9742991690 | |||
2c1903508c | |||
384c403ae4 | |||
6e0bcc0ae2 | |||
3ad9ae8b8f | |||
5e36ede2ac | |||
cb355feaf4 | |||
9b1f111251 | |||
4cead46ac4 | |||
25c632065a |
32
README.md
32
README.md
@ -1,4 +1,5 @@
|
||||
# Component Builder (2.4.4)
|
||||
# Joomla Component Builder (JCB)
|
||||
[](https://github.com/vdm-io/Joomla-Component-Builder/releases) [](https://github.com/vdm-io/Joomla-Component-Builder/releases)
|
||||
|
||||
This is a [Joomla 3.x](http://www.joomla.org/) component.
|
||||
|
||||
@ -8,7 +9,7 @@ The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanc
|
||||
|
||||
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.4) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.10) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
@ -75,14 +76,14 @@ Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
# Get Access to Video Tutorials
|
||||
|
||||
> **You can purchase more demo content for Component Builder including access to training & help video tutorials:**
|
||||
> **You can purchase more [demo content](http://vdm.bz/jcb-packages) for Component Builder including access to training & help video tutorials:**
|
||||
|
||||
+ Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demo.zip) _(free)_
|
||||
+ Advance Demo Component* get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demoAdvanced.zip) _(buy key)_
|
||||
+ Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_sermondistributor.zip) _(buy key)_
|
||||
+ Location Data* see the build on [github](https://github.com/vdm-io/Joomla-Location-Data) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_locationData.zip) _(buy key)_
|
||||
+ Help View Integration*
|
||||
+ Training & Help Videos* tutorials in the component included.
|
||||
+ *Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demo.zip) _(free)_
|
||||
+ *Advance Demo Component* get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demoAdvanced.zip) _([buy key](http://vdm.bz/get-advance-demo-key))_
|
||||
+ *Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_sermondistributor.zip) _([buy key](http://vdm.bz/get-sermon-distributor-key))_
|
||||
+ *Location Data* see the build on [github](https://github.com/vdm-io/Joomla-Location-Data) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_locationData.zip) _([buy key](http://vdm.bz/get-location-data-key))_
|
||||
+ *Help View Integration*
|
||||
+ *Training & Help Videos* tutorials in the component included.
|
||||
|
||||
[**GET ACCESS NOW!**](http://vdm.bz/component-builder)
|
||||
|
||||
@ -107,12 +108,12 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 26th April, 2017
|
||||
+ *Version*: 2.4.4
|
||||
+ *Last Build*: 12th August, 2017
|
||||
+ *Version*: 2.4.10
|
||||
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
|
||||
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
+ *Line count*: **105968**
|
||||
+ *File count*: **641**
|
||||
+ *Line count*: **106298**
|
||||
+ *File count*: **651**
|
||||
+ *Folder count*: **115**
|
||||
|
||||
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
|
||||
@ -121,5 +122,6 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
## Donations
|
||||
|
||||
Come on buy me a coffee :)
|
||||
* PayPal: pay@vdm.io
|
||||
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
|
||||
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
|
||||
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s
|
||||
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823
|
@ -1,4 +1,5 @@
|
||||
# Component Builder (2.4.4)
|
||||
# Joomla Component Builder (JCB)
|
||||
[](https://github.com/vdm-io/Joomla-Component-Builder/releases) [](https://github.com/vdm-io/Joomla-Component-Builder/releases)
|
||||
|
||||
This is a [Joomla 3.x](http://www.joomla.org/) component.
|
||||
|
||||
@ -8,7 +9,7 @@ The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanc
|
||||
|
||||
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.4) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.10) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
@ -75,14 +76,14 @@ Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
# Get Access to Video Tutorials
|
||||
|
||||
> **You can purchase more demo content for Component Builder including access to training & help video tutorials:**
|
||||
> **You can purchase more [demo content](http://vdm.bz/jcb-packages) for Component Builder including access to training & help video tutorials:**
|
||||
|
||||
+ Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demo.zip) _(free)_
|
||||
+ Advance Demo Component* get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demoAdvanced.zip) _(buy key)_
|
||||
+ Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_sermondistributor.zip) _(buy key)_
|
||||
+ Location Data* see the build on [github](https://github.com/vdm-io/Joomla-Location-Data) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_locationData.zip) _(buy key)_
|
||||
+ Help View Integration*
|
||||
+ Training & Help Videos* tutorials in the component included.
|
||||
+ *Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demo.zip) _(free)_
|
||||
+ *Advance Demo Component* get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demoAdvanced.zip) _([buy key](http://vdm.bz/get-advance-demo-key))_
|
||||
+ *Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_sermondistributor.zip) _([buy key](http://vdm.bz/get-sermon-distributor-key))_
|
||||
+ *Location Data* see the build on [github](https://github.com/vdm-io/Joomla-Location-Data) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_locationData.zip) _([buy key](http://vdm.bz/get-location-data-key))_
|
||||
+ *Help View Integration*
|
||||
+ *Training & Help Videos* tutorials in the component included.
|
||||
|
||||
[**GET ACCESS NOW!**](http://vdm.bz/component-builder)
|
||||
|
||||
@ -107,12 +108,12 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 26th April, 2017
|
||||
+ *Version*: 2.4.4
|
||||
+ *Last Build*: 12th August, 2017
|
||||
+ *Version*: 2.4.10
|
||||
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
|
||||
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
+ *Line count*: **105968**
|
||||
+ *File count*: **641**
|
||||
+ *Line count*: **106298**
|
||||
+ *File count*: **651**
|
||||
+ *Folder count*: **115**
|
||||
|
||||
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
|
||||
@ -121,5 +122,6 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
## Donations
|
||||
|
||||
Come on buy me a coffee :)
|
||||
* PayPal: pay@vdm.io
|
||||
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
|
||||
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
|
||||
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s
|
||||
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 111 of this MVC
|
||||
@build 17th July, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_view.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 111 of this MVC
|
||||
@build 17th July, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_views.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 48 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 53 of this MVC
|
||||
@build 5th August, 2017
|
||||
@created 1st February, 2017
|
||||
@package Component Builder
|
||||
@subpackage compiler.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_view.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_views.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage dashboard.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 84 of this MVC
|
||||
@build 4th May, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_get.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 84 of this MVC
|
||||
@build 4th May, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_gets.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 37 of this MVC
|
||||
@build 3rd February, 2017
|
||||
@version @update number 38 of this MVC
|
||||
@build 28th May, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage field.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 37 of this MVC
|
||||
@build 3rd February, 2017
|
||||
@version @update number 38 of this MVC
|
||||
@build 28th May, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fields.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtype.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtypes.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 338 of this MVC
|
||||
@build 7th August, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 338 of this MVC
|
||||
@build 7th August, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 77 of this MVC
|
||||
@build 30th May, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layout.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 77 of this MVC
|
||||
@build 30th May, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layouts.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_view.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_views.css
|
||||
|
@ -52,7 +52,10 @@ class ###Component###View###Component### extends JViewLegacy
|
||||
// Assign data to the view
|
||||
$this->icons = $this->get('Icons');
|
||||
$this->contributors = ###Component###Helper::getContributors();###DASH_GET_CUSTOM_DATA###
|
||||
|
||||
|
||||
// get the manifest details of the component
|
||||
$this->manifest = ###Component###Helper::manifest();
|
||||
|
||||
// Set the toolbar
|
||||
$this->addToolBar();
|
||||
|
||||
@ -87,15 +90,19 @@ class ###Component###View###Component### extends JViewLegacy
|
||||
/**
|
||||
* Method to set up the document properties
|
||||
*
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function setDocument()
|
||||
{
|
||||
$document = JFactory::getDocument();
|
||||
|
||||
|
||||
// add dashboard style sheets
|
||||
$document->addStyleSheet(JURI::root() . "administrator/components/com_###component###/assets/css/dashboard.css");
|
||||
|
||||
|
||||
// set page title
|
||||
$document->setTitle(JText::_('COM_###COMPONENT###_DASHBOARD'));
|
||||
|
||||
// add manifest to page JavaScript
|
||||
$document->addScriptDeclaration("var manifest = jQuery.parseJSON('" . json_encode($this->manifest) . "');", "text/javascript");
|
||||
}
|
||||
}
|
||||
|
@ -706,7 +706,8 @@ abstract class ###Component###Helper
|
||||
// If you don't need to handle multi-byte characters
|
||||
// you can use preg_replace rather than mb_ereg_replace
|
||||
// Thanks @Łukasz Rysiak!
|
||||
$string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
// $string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
$string = preg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
// http://stackoverflow.com/a/2021729/1429677
|
||||
return preg_replace('/\s+/', ' ', $string);
|
||||
}
|
||||
|
@ -698,7 +698,8 @@ abstract class ###Component###Helper
|
||||
// If you don't need to handle multi-byte characters
|
||||
// you can use preg_replace rather than mb_ereg_replace
|
||||
// Thanks @Łukasz Rysiak!
|
||||
$string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
// $string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
$string = preg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
// http://stackoverflow.com/a/2021729/1429677
|
||||
return preg_replace('/\s+/', ' ', $string);
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ class ###Component###View###Views### extends JViewLegacy
|
||||
{
|
||||
JToolbarHelper::trash('###views###.trash');
|
||||
}###EXPORTBUTTON###
|
||||
}###IMPORTBUTTON###
|
||||
}###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST### ###IMPORTBUTTON###
|
||||
|
||||
// set help url for this view if found
|
||||
$help_url = ###Component###Helper::getHelpUrl('###views###');
|
||||
|
@ -29,29 +29,27 @@ defined('_JEXEC') or die('Restricted access');
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
$manifest = ###Component###Helper::manifest();
|
||||
|
||||
?>
|
||||
<img alt="<?php echo JText::_('COM_###COMPONENT###'); ?>" src="components/com_###component###/assets/images/component-300.###COMP_IMAGE_TYPE###">
|
||||
<ul class="list-striped">
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_VERSION'); ?>:</b> <?php echo $manifest->version; ?></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_DATE'); ?>:</b> <?php echo $manifest->creationDate; ?></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_AUTHOR'); ?>:</b> <a href="mailto:<?php echo $manifest->authorEmail; ?>"><?php echo $manifest->author; ?></a></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_WEBSITE'); ?>:</b> <a href="<?php echo $manifest->authorUrl; ?>" target="_blank"><?php echo $manifest->authorUrl; ?></a></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_LICENSE'); ?>:</b> <?php echo $manifest->license; ?></li>
|
||||
<li><b><?php echo $manifest->copyright; ?></b></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_VERSION'); ?>:</b> <?php echo $this->manifest->version; ?> <span class="update-notice"></span></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_DATE'); ?>:</b> <?php echo $this->manifest->creationDate; ?></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_AUTHOR'); ?>:</b> <a href="mailto:<?php echo $this->manifest->authorEmail; ?>"><?php echo $this->manifest->author; ?></a></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_WEBSITE'); ?>:</b> <a href="<?php echo $this->manifest->authorUrl; ?>" target="_blank"><?php echo $this->manifest->authorUrl; ?></a></li>
|
||||
<li><b><?php echo JText::_('COM_###COMPONENT###_LICENSE'); ?>:</b> <?php echo $this->manifest->license; ?></li>
|
||||
<li><b><?php echo $this->manifest->copyright; ?></b></li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
<?php if(###Component###Helper::checkArray($this->contributors)): ?>
|
||||
<?php if(count($this->contributors) > 1): ?>
|
||||
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTORS'); ?></h3>
|
||||
<?php else: ?>
|
||||
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTOR'); ?></h3>
|
||||
<?php endif; ?>
|
||||
<ul class="list-striped">
|
||||
<?php foreach($this->contributors as $contributor): ?>
|
||||
<li><b><?php echo $contributor['title']; ?>:</b> <?php echo $contributor['name']; ?></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
<?php if(count($this->contributors) > 1): ?>
|
||||
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTORS'); ?></h3>
|
||||
<?php else: ?>
|
||||
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTOR'); ?></h3>
|
||||
<?php endif; ?>
|
||||
<ul class="list-striped">
|
||||
<?php foreach($this->contributors as $contributor): ?>
|
||||
<li><b><?php echo $contributor['title']; ?>:</b> <?php echo $contributor['name']; ?></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
<?php endif; ?>
|
@ -29,7 +29,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
class HeaderCheck
|
||||
class ###component###HeaderCheck
|
||||
{
|
||||
function js_loaded($script_name)
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
class HeaderCheck
|
||||
class ###component###HeaderCheck
|
||||
{
|
||||
function js_loaded($script_name)
|
||||
{
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage controller.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 111 of this MVC
|
||||
@build 17th July, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_view.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 111 of this MVC
|
||||
@build 17th July, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_views.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage ajax.json.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 48 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 53 of this MVC
|
||||
@build 5th August, 2017
|
||||
@created 1st February, 2017
|
||||
@package Component Builder
|
||||
@subpackage compiler.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_view.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_views.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 84 of this MVC
|
||||
@build 4th May, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_get.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 84 of this MVC
|
||||
@build 4th May, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_gets.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 37 of this MVC
|
||||
@build 3rd February, 2017
|
||||
@version @update number 38 of this MVC
|
||||
@build 28th May, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage field.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 37 of this MVC
|
||||
@build 3rd February, 2017
|
||||
@version @update number 38 of this MVC
|
||||
@build 28th May, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fields.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtype.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 13 of this MVC
|
||||
@build 13th June, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtypes.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage help.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage import.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage import_joomla_components.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 338 of this MVC
|
||||
@build 7th August, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 338 of this MVC
|
||||
@build 7th August, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 77 of this MVC
|
||||
@build 30th May, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layout.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 77 of this MVC
|
||||
@build 30th May, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layouts.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_view.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@build 17th July, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_views.php
|
||||
|
232
admin/custom/timeago.js
Normal file
232
admin/custom/timeago.js
Normal file
@ -0,0 +1,232 @@
|
||||
/**
|
||||
* Timeago is a jQuery plugin that makes it easy to support automatically
|
||||
* updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
|
||||
*
|
||||
* @name timeago
|
||||
* @version 1.5.4
|
||||
* @requires jQuery v1.2.3+
|
||||
* @author Ryan McGeary
|
||||
* @license MIT License - http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* For usage and examples, visit:
|
||||
* http://timeago.yarp.com/
|
||||
*
|
||||
* Copyright (c) 2008-2017, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
|
||||
*/
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(['jquery'], factory);
|
||||
} else if (typeof module === 'object' && typeof module.exports === 'object') {
|
||||
factory(require('jquery'));
|
||||
} else {
|
||||
// Browser globals
|
||||
factory(jQuery);
|
||||
}
|
||||
}(function ($) {
|
||||
$.timeago = function(timestamp) {
|
||||
if (timestamp instanceof Date) {
|
||||
return inWords(timestamp);
|
||||
} else if (typeof timestamp === "string") {
|
||||
return inWords($.timeago.parse(timestamp));
|
||||
} else if (typeof timestamp === "number") {
|
||||
return inWords(new Date(timestamp));
|
||||
} else {
|
||||
return inWords($.timeago.datetime(timestamp));
|
||||
}
|
||||
};
|
||||
var $t = $.timeago;
|
||||
|
||||
$.extend($.timeago, {
|
||||
settings: {
|
||||
refreshMillis: 60000,
|
||||
allowPast: true,
|
||||
allowFuture: false,
|
||||
localeTitle: false,
|
||||
cutoff: 0,
|
||||
autoDispose: true,
|
||||
strings: {
|
||||
prefixAgo: null,
|
||||
prefixFromNow: null,
|
||||
suffixAgo: "ago",
|
||||
suffixFromNow: "from now",
|
||||
inPast: 'any moment now',
|
||||
seconds: "less than a minute",
|
||||
minute: "about a minute",
|
||||
minutes: "%d minutes",
|
||||
hour: "about an hour",
|
||||
hours: "about %d hours",
|
||||
day: "a day",
|
||||
days: "%d days",
|
||||
month: "about a month",
|
||||
months: "%d months",
|
||||
year: "about a year",
|
||||
years: "%d years",
|
||||
wordSeparator: " ",
|
||||
numbers: []
|
||||
}
|
||||
},
|
||||
|
||||
inWords: function(distanceMillis) {
|
||||
if (!this.settings.allowPast && ! this.settings.allowFuture) {
|
||||
throw 'timeago allowPast and allowFuture settings can not both be set to false.';
|
||||
}
|
||||
|
||||
var $l = this.settings.strings;
|
||||
var prefix = $l.prefixAgo;
|
||||
var suffix = $l.suffixAgo;
|
||||
if (this.settings.allowFuture) {
|
||||
if (distanceMillis < 0) {
|
||||
prefix = $l.prefixFromNow;
|
||||
suffix = $l.suffixFromNow;
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.settings.allowPast && distanceMillis >= 0) {
|
||||
return this.settings.strings.inPast;
|
||||
}
|
||||
|
||||
var seconds = Math.abs(distanceMillis) / 1000;
|
||||
var minutes = seconds / 60;
|
||||
var hours = minutes / 60;
|
||||
var days = hours / 24;
|
||||
var years = days / 365;
|
||||
|
||||
function substitute(stringOrFunction, number) {
|
||||
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
|
||||
var value = ($l.numbers && $l.numbers[number]) || number;
|
||||
return string.replace(/%d/i, value);
|
||||
}
|
||||
|
||||
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
|
||||
seconds < 90 && substitute($l.minute, 1) ||
|
||||
minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
|
||||
minutes < 90 && substitute($l.hour, 1) ||
|
||||
hours < 24 && substitute($l.hours, Math.round(hours)) ||
|
||||
hours < 42 && substitute($l.day, 1) ||
|
||||
days < 30 && substitute($l.days, Math.round(days)) ||
|
||||
days < 45 && substitute($l.month, 1) ||
|
||||
days < 365 && substitute($l.months, Math.round(days / 30)) ||
|
||||
years < 1.5 && substitute($l.year, 1) ||
|
||||
substitute($l.years, Math.round(years));
|
||||
|
||||
var separator = $l.wordSeparator || "";
|
||||
if ($l.wordSeparator === undefined) { separator = " "; }
|
||||
return $.trim([prefix, words, suffix].join(separator));
|
||||
},
|
||||
|
||||
parse: function(iso8601) {
|
||||
var s = $.trim(iso8601);
|
||||
s = s.replace(/\.\d+/,""); // remove milliseconds
|
||||
s = s.replace(/-/,"/").replace(/-/,"/");
|
||||
s = s.replace(/T/," ").replace(/Z/," UTC");
|
||||
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
|
||||
s = s.replace(/([\+\-]\d\d)$/," $100"); // +09 -> +0900
|
||||
return new Date(s);
|
||||
},
|
||||
datetime: function(elem) {
|
||||
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
|
||||
return $t.parse(iso8601);
|
||||
},
|
||||
isTime: function(elem) {
|
||||
// jQuery's `is()` doesn't play well with HTML5 in IE
|
||||
return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
|
||||
}
|
||||
});
|
||||
|
||||
// functions that can be called via $(el).timeago('action')
|
||||
// init is default when no action is given
|
||||
// functions are called with context of a single element
|
||||
var functions = {
|
||||
init: function() {
|
||||
functions.dispose.call(this);
|
||||
var refresh_el = $.proxy(refresh, this);
|
||||
refresh_el();
|
||||
var $s = $t.settings;
|
||||
if ($s.refreshMillis > 0) {
|
||||
this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis);
|
||||
}
|
||||
},
|
||||
update: function(timestamp) {
|
||||
var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp);
|
||||
$(this).data('timeago', { datetime: date });
|
||||
if ($t.settings.localeTitle) {
|
||||
$(this).attr("title", date.toLocaleString());
|
||||
}
|
||||
refresh.apply(this);
|
||||
},
|
||||
updateFromDOM: function() {
|
||||
$(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) });
|
||||
refresh.apply(this);
|
||||
},
|
||||
dispose: function () {
|
||||
if (this._timeagoInterval) {
|
||||
window.clearInterval(this._timeagoInterval);
|
||||
this._timeagoInterval = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.timeago = function(action, options) {
|
||||
var fn = action ? functions[action] : functions.init;
|
||||
if (!fn) {
|
||||
throw new Error("Unknown function name '"+ action +"' for timeago");
|
||||
}
|
||||
// each over objects here and call the requested function
|
||||
this.each(function() {
|
||||
fn.call(this, options);
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
function refresh() {
|
||||
var $s = $t.settings;
|
||||
|
||||
//check if it's still visible
|
||||
if ($s.autoDispose && !$.contains(document.documentElement,this)) {
|
||||
//stop if it has been removed
|
||||
$(this).timeago("dispose");
|
||||
return this;
|
||||
}
|
||||
|
||||
var data = prepareData(this);
|
||||
|
||||
if (!isNaN(data.datetime)) {
|
||||
if ( $s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) {
|
||||
$(this).text(inWords(data.datetime));
|
||||
} else {
|
||||
if ($(this).attr('title').length > 0) {
|
||||
$(this).text($(this).attr('title'));
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
function prepareData(element) {
|
||||
element = $(element);
|
||||
if (!element.data("timeago")) {
|
||||
element.data("timeago", { datetime: $t.datetime(element) });
|
||||
var text = $.trim(element.text());
|
||||
if ($t.settings.localeTitle) {
|
||||
element.attr("title", element.data('timeago').datetime.toLocaleString());
|
||||
} else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
|
||||
element.attr("title", text);
|
||||
}
|
||||
}
|
||||
return element.data("timeago");
|
||||
}
|
||||
|
||||
function inWords(date) {
|
||||
return $t.inWords(distance(date));
|
||||
}
|
||||
|
||||
function distance(date) {
|
||||
return (new Date().getTime() - date.getTime());
|
||||
}
|
||||
|
||||
// fix for IE6 suckage
|
||||
document.createElement("abbr");
|
||||
document.createElement("time");
|
||||
}));
|
@ -476,7 +476,20 @@ class Get
|
||||
* @var array
|
||||
*/
|
||||
public $siteFields = array();
|
||||
|
||||
|
||||
/**
|
||||
* The add SQL
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $addSQL = array();
|
||||
|
||||
/**
|
||||
* The update SQL
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $updateSQL = array();
|
||||
|
||||
/***
|
||||
* Constructor
|
||||
@ -518,6 +531,27 @@ class Get
|
||||
}
|
||||
// get the component data
|
||||
$this->componentData = $this->getComponentData();
|
||||
// make sure we have a version
|
||||
if (strpos($this->componentData->component_version, '.') === FALSE)
|
||||
{
|
||||
$this->componentData->component_version = '1.0.0';
|
||||
}
|
||||
// update the version
|
||||
if (!isset($this->componentData->old_component_version)
|
||||
&& (ComponentbuilderHelper::checkArray($this->addSQL) || ComponentbuilderHelper::checkArray($this->updateSQL)))
|
||||
{
|
||||
// set the new version
|
||||
$version = (array) explode('.', $this->componentData->component_version);
|
||||
// get last key
|
||||
end($version);
|
||||
$key = key($version);
|
||||
// just increment the last
|
||||
$version[$key]++;
|
||||
// set the old version
|
||||
$this->componentData->old_component_version = $this->componentData->component_version;
|
||||
// set the new version, and set update switch
|
||||
$this->componentData->component_version = implode('.', $version);
|
||||
}
|
||||
// set the percentage when a language can be added
|
||||
$this->percentageLanguageAdd = (int) $this->params->get('percentagelanguageadd', 50);
|
||||
|
||||
@ -591,6 +625,7 @@ class Get
|
||||
}
|
||||
unset($component->addfolders);
|
||||
}
|
||||
|
||||
// ser the addfiles data
|
||||
$addfiles = json_decode($component->addfiles,true);
|
||||
if (ComponentbuilderHelper::checkArray($addfiles))
|
||||
@ -657,6 +692,7 @@ class Get
|
||||
|
||||
// set the admin_view data
|
||||
$admin_views = json_decode($component->addadmin_views,true);
|
||||
|
||||
if (ComponentbuilderHelper::checkArray($admin_views))
|
||||
{
|
||||
foreach ($admin_views as $option => $values)
|
||||
@ -830,6 +866,25 @@ class Get
|
||||
$component->version_update[$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// build update SQL
|
||||
if ($old_component = $this->getHistoryWatch('joomla_component', $this->componentID))
|
||||
{
|
||||
// add new views if found
|
||||
if (isset($old_component->addadmin_views) && ComponentbuilderHelper::checkJson($old_component->addadmin_views))
|
||||
{
|
||||
$this->setUpdateSQL(json_decode($old_component->addadmin_views, true), $admin_views, 'adminview');
|
||||
}
|
||||
// check if a new version was manualy set
|
||||
$old_component_version = preg_replace('/[^0-9.]+/', '', $old_component->component_version);
|
||||
if ($old_component_version != $this->component_version)
|
||||
{
|
||||
// yes, this is a new version, this mean there may be manual sql and must be checked and updated
|
||||
$component->old_component_version = $old_component_version;
|
||||
}
|
||||
// clear this data
|
||||
unset($old_component);
|
||||
}
|
||||
|
||||
// add_css
|
||||
@ -1106,6 +1161,22 @@ class Get
|
||||
unset($view->addlinked_views);
|
||||
$tables = json_decode($view->addtables,true);
|
||||
unset($view->addtables);
|
||||
// build update SQL
|
||||
if ($old_view = $this->getHistoryWatch('admin_view', $id))
|
||||
{
|
||||
// add new fields were added
|
||||
if (isset($old_view->addfields) && ComponentbuilderHelper::checkJson($old_view->addfields))
|
||||
{
|
||||
$this->setUpdateSQL(json_decode($old_view->addfields, true), $fields, 'field', $name_single);
|
||||
}
|
||||
// check if the view name changed
|
||||
if (ComponentbuilderHelper::checkString($old_view->name_single))
|
||||
{
|
||||
$this->setUpdateSQL(ComponentbuilderHelper::safeString($old_view->name_single), $name_single, 'table_name', $name_single);
|
||||
}
|
||||
// clear this data
|
||||
unset($old_view);
|
||||
}
|
||||
// sort the values
|
||||
if (ComponentbuilderHelper::checkArray($tables))
|
||||
{
|
||||
@ -1430,6 +1501,7 @@ class Get
|
||||
unset($view->sql);
|
||||
}
|
||||
}
|
||||
// store this view to class object
|
||||
$this->_adminViewData[$id] = $view;
|
||||
}
|
||||
// return the found view data
|
||||
@ -1689,6 +1761,9 @@ class Get
|
||||
$this->basicEncryption = true;
|
||||
}
|
||||
|
||||
// get the last used version
|
||||
$field->history = $this->getHistoryWatch('field', $id);
|
||||
|
||||
$this->_fieldData[$id] = $field;
|
||||
}
|
||||
else
|
||||
@ -2151,6 +2226,210 @@ class Get
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* check if an update SQL is needed
|
||||
*
|
||||
* @param mix $old The old values
|
||||
* @param mix $new The new values
|
||||
* @param string $type The type of values
|
||||
* @param int $key The id/key where values changed
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
protected function setUpdateSQL($old, $new, $type, $key = null)
|
||||
{
|
||||
// check if there were new items added
|
||||
if (isset($new[$type]) && ComponentbuilderHelper::checkArray($new[$type])
|
||||
&& isset($old[$type]) && ComponentbuilderHelper::checkArray($old[$type]))
|
||||
{
|
||||
foreach ($new[$type] as $item)
|
||||
{
|
||||
if (!in_array($item, $old[$type]))
|
||||
{
|
||||
// we have a new item, lets add to SQL
|
||||
if (!isset($this->addSQL[$type]) || !ComponentbuilderHelper::checkArray($this->addSQL[$type]))
|
||||
{
|
||||
$this->addSQL[$type] = array();
|
||||
}
|
||||
// add key if found
|
||||
if ($key)
|
||||
{
|
||||
if (!isset($this->addSQL[$type][$key]) || !ComponentbuilderHelper::checkArray($this->addSQL[$type][$key]))
|
||||
{
|
||||
$this->addSQL[$type][$key] = array();
|
||||
}
|
||||
$this->addSQL[$type][$key][] = (int) $item;
|
||||
}
|
||||
else
|
||||
{
|
||||
// convert adminview id to name
|
||||
if ('adminview' === $type)
|
||||
{
|
||||
$this->addSQL[$type][] = ComponentbuilderHelper::safeString($this->getAdminViewData($item)->name_single);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->addSQL[$type][] = (int) item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ($key && ComponentbuilderHelper::checkString($new)
|
||||
&& ComponentbuilderHelper::checkString($old)
|
||||
&& $new !== $old)
|
||||
{
|
||||
// the string changed, lets add to SQL update
|
||||
if (!isset($this->updateSQL[$type]) || !ComponentbuilderHelper::checkArray($this->updateSQL[$type]))
|
||||
{
|
||||
$this->updateSQL[$type] = array();
|
||||
}
|
||||
// set at key
|
||||
$this->updateSQL[$type][$key] = array('old' => $old, 'new' => $new);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Item History values
|
||||
*
|
||||
* @param string $type The type of item
|
||||
* @param int $id The item ID
|
||||
*
|
||||
* @return oject The history
|
||||
*
|
||||
*/
|
||||
protected function getHistoryWatch($type, $id)
|
||||
{
|
||||
// quick class object to store old history object
|
||||
$this->tmpHistory = null;
|
||||
// Create a new query object.
|
||||
$query = $this->db->getQuery(true);
|
||||
|
||||
$query->select('h.*');
|
||||
$query->from('#__ucm_history AS h');
|
||||
$query->where($this->db->quoteName('h.ucm_item_id') . ' = '. (int) $id);
|
||||
// Join over the content type for the type id
|
||||
$query->join('LEFT', '#__content_types AS ct ON ct.type_id = h.ucm_type_id');
|
||||
$query->where('ct.type_alias = ' . $this->db->quote('com_componentbuilder.'.$type));
|
||||
$query->order('h.save_date DESC');
|
||||
$this->db->setQuery($query, 0, 1);
|
||||
$this->db->execute();
|
||||
if ($this->db->getNumRows())
|
||||
{
|
||||
// new version of this item found
|
||||
// so we need to mark it as the last compiled version
|
||||
$newActive = $this->db->loadObject();
|
||||
// set the new version watch
|
||||
$this->setHistoryWatch($newActive, 1);
|
||||
}
|
||||
// Get last compiled verion
|
||||
$query = $this->db->getQuery(true);
|
||||
|
||||
$query->select('h.*');
|
||||
$query->from('#__ucm_history AS h');
|
||||
$query->where($this->db->quoteName('h.ucm_item_id') . ' = ' . (int) $id);
|
||||
$query->where('h.keep_forever = 1');
|
||||
$query->where('h.version_note LIKE ' . $this->db->quote('%component%'));
|
||||
// make sure it does not return the active version
|
||||
if (isset($newActive) && isset($newActive->version_id))
|
||||
{
|
||||
$query->where('h.version_id != ' . (int) $newActive->version_id);
|
||||
}
|
||||
// Join over the content type for the type id
|
||||
$query->join('LEFT', '#__content_types AS ct ON ct.type_id = h.ucm_type_id');
|
||||
$query->where('ct.type_alias = ' . $this->db->quote('com_componentbuilder.'.$type));
|
||||
$query->order('h.save_date DESC');
|
||||
$this->db->setQuery($query);
|
||||
$this->db->execute();
|
||||
if ($this->db->getNumRows())
|
||||
{
|
||||
// the old active version was found
|
||||
// so we may need to do an SQL update
|
||||
// and unmark the old compiled version
|
||||
$oldActives = $this->db->loadObjectList();
|
||||
foreach ($oldActives as $oldActive)
|
||||
{
|
||||
// remove old version watch
|
||||
$this->setHistoryWatch($oldActive, 0);
|
||||
}
|
||||
}
|
||||
// return the last used history record or null.
|
||||
return $this->tmpHistory;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Item History Watch
|
||||
*
|
||||
* @param Object $object The history object
|
||||
* @param int $action The action to take
|
||||
* 0 = remove watch
|
||||
* 1 = add watch
|
||||
* @param string $type The type of item
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
protected function setHistoryWatch($object, $action)
|
||||
{
|
||||
// check the note
|
||||
if (ComponentbuilderHelper::checkJson($object->version_note))
|
||||
{
|
||||
$version_note = json_decode($object->version_note, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$version_note = array('component' => array());
|
||||
}
|
||||
// set watch
|
||||
switch ($action)
|
||||
{
|
||||
case 0:
|
||||
// remove watch
|
||||
if(isset($version_note['component']) && ($key = array_search($this->componentID, $version_note['component'])) !== false)
|
||||
{
|
||||
// last version that was used to build/compile
|
||||
$this->tmpHistory = json_decode($object->version_data);
|
||||
// remove it from this component
|
||||
unset($version_note['component'][$key]);
|
||||
}
|
||||
else
|
||||
{
|
||||
// since it was not found, no need to update anything
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
// add watch
|
||||
if (!in_array($this->componentID, $version_note['component']))
|
||||
{
|
||||
$version_note['component'][] = $this->componentID;
|
||||
}
|
||||
else
|
||||
{
|
||||
// since it is there already, no need to update anything
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// check if we need to still keep this locked
|
||||
if (isset($version_note['component']) && ComponentbuilderHelper::checkArray($version_note['component']))
|
||||
{
|
||||
// insure component ids are only added once per item
|
||||
$version_note['component'] = array_unique($version_note['component']);
|
||||
// we may change this, little risky (but since JCB does not have history notes it should be okay for now)
|
||||
$object->version_note = json_encode($version_note);
|
||||
$object->keep_forever = '1';
|
||||
}
|
||||
else
|
||||
{
|
||||
$object->version_note = '';
|
||||
$object->keep_forever = '0';
|
||||
}
|
||||
// run the update
|
||||
return $this->db->updateObject('#__ucm_history', $object, 'version_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Template and Layout Data
|
||||
*
|
||||
|
@ -721,16 +721,19 @@ class Structure extends Get
|
||||
*/
|
||||
public function getLastModifiedDate($view)
|
||||
{
|
||||
if (isset($view['settings']->modified) && ComponentbuilderHelper::checkString($view['settings']->modified))
|
||||
// first set the main date
|
||||
if (isset($view['settings']->modified)
|
||||
&& ComponentbuilderHelper::checkString($view['settings']->modified)
|
||||
&& '0000-00-00 00:00:00' !== $view['settings']->modified)
|
||||
{
|
||||
// first set the main date
|
||||
$date = strtotime($view['settings']->modified);
|
||||
}
|
||||
else
|
||||
{
|
||||
// first set the main date
|
||||
// use todays date
|
||||
$date = strtotime("now");
|
||||
}
|
||||
// search for the last modified date
|
||||
if (isset($view['adminview']))
|
||||
{
|
||||
$id = $view['adminview'].'admin';
|
||||
@ -741,7 +744,9 @@ class Structure extends Get
|
||||
{
|
||||
foreach ($view['settings']->fields as $field)
|
||||
{
|
||||
if (isset($field['settings']) && ComponentbuilderHelper::checkObject($field['settings']) && isset($field['settings']->modified))
|
||||
if (isset($field['settings']) && ComponentbuilderHelper::checkObject($field['settings'])
|
||||
&& isset($field['settings']->modified) && ComponentbuilderHelper::checkString($field['settings']->modified)
|
||||
&& '0000-00-00 00:00:00' !== $field['settings']->modified)
|
||||
{
|
||||
$anotherDate = strtotime($field['settings']->modified);
|
||||
if ($anotherDate > $date)
|
||||
@ -759,7 +764,9 @@ class Structure extends Get
|
||||
// now check if value has been set
|
||||
if (!isset($this->lastModifiedDate[$id]))
|
||||
{
|
||||
if (isset($view['settings']->main_get->modified))
|
||||
if (isset($view['settings']->main_get->modified)
|
||||
&& ComponentbuilderHelper::checkString($view['settings']->main_get->modified)
|
||||
&& '0000-00-00 00:00:00' !== $view['settings']->main_get->modified)
|
||||
{
|
||||
$anotherDate = strtotime($view['settings']->main_get->modified);
|
||||
if ($anotherDate > $date)
|
||||
@ -775,7 +782,9 @@ class Structure extends Get
|
||||
// now check if value has been set
|
||||
if (!isset($this->lastModifiedDate[$id]))
|
||||
{
|
||||
if (isset($view['settings']->main_get->modified))
|
||||
if (isset($view['settings']->main_get->modified)
|
||||
&& ComponentbuilderHelper::checkString($view['settings']->main_get->modified)
|
||||
&& '0000-00-00 00:00:00' !== $view['settings']->main_get->modified)
|
||||
{
|
||||
$anotherDate = strtotime($view['settings']->main_get->modified);
|
||||
if ($anotherDate > $date)
|
||||
|
@ -61,6 +61,13 @@ class Fields extends Structure
|
||||
*/
|
||||
public $layoutBuilder = array();
|
||||
|
||||
/**
|
||||
* used to fix the zero order
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $zeroOrderFix = array();
|
||||
|
||||
/**
|
||||
* Site field data
|
||||
*
|
||||
@ -229,6 +236,13 @@ class Fields extends Structure
|
||||
*/
|
||||
public $jsonStringBuilder = array();
|
||||
|
||||
/**
|
||||
* Json String Builder for return values to array
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $jsonItemBuilderArray = array();
|
||||
|
||||
/**
|
||||
* Json Item Builder
|
||||
*
|
||||
@ -463,7 +477,6 @@ class Fields extends Structure
|
||||
{
|
||||
$dynamcfields .= $this->setDynamicField($field, $view, $view['settings']->type, $langView, $viewName, $listViewName, $spacerCounter, $this->placeholders, $dbkey, true);
|
||||
}
|
||||
|
||||
// set the defautl fields
|
||||
$fieldSet = array();
|
||||
$fieldSet[] = '<fieldset name="details">';
|
||||
@ -761,8 +774,8 @@ class Fields extends Structure
|
||||
}
|
||||
elseif ($this->defaultField($typeName, 'special'))
|
||||
{
|
||||
// set the repeatable field
|
||||
if ($typeName === 'repeatable')
|
||||
// set the repeatable field or subform field
|
||||
if ($typeName === 'repeatable' || $typeName === 'subform')
|
||||
{
|
||||
if ($build)
|
||||
{
|
||||
@ -1026,6 +1039,93 @@ class Fields extends Structure
|
||||
$fieldSet .= PHP_EOL."\t\t\t</fields>";
|
||||
$fieldSet .= PHP_EOL."\t\t</field>";
|
||||
}
|
||||
// set the subform fields (it is a repeatable without the modal)
|
||||
elseif ($typeName === 'subform')
|
||||
{
|
||||
// now add to the field set
|
||||
$fieldSet .= PHP_EOL."\t\t<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
|
||||
$fieldSet .= PHP_EOL."\t\t<field";
|
||||
$fieldsSet = array();
|
||||
foreach ($fieldAttributes as $property => $value)
|
||||
{
|
||||
if ($property != 'fields')
|
||||
{
|
||||
$fieldSet .= PHP_EOL."\t\t\t" . $property . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
$fieldSet .= ">";
|
||||
$fieldSet .= PHP_EOL."\t\t\t" . '<form hidden="true" name="list_' . $fieldAttributes['name'] . '_modal" repeat="true">';
|
||||
if (strpos($fieldAttributes['fields'], ',') !== false)
|
||||
{
|
||||
// mulitpal fields
|
||||
$fieldsSets = (array) explode(',', $fieldAttributes['fields']);
|
||||
}
|
||||
elseif (is_numeric($fieldAttributes['fields']))
|
||||
{
|
||||
// single field
|
||||
$fieldsSets[] = (int) $fieldAttributes['fields'];
|
||||
}
|
||||
// only continue if we have a field set
|
||||
if (ComponentbuilderHelper::checkArray($fieldsSets))
|
||||
{
|
||||
foreach ($fieldsSets as $fieldId)
|
||||
{
|
||||
// get the field data
|
||||
$fieldData = array();
|
||||
$fieldData['settings'] = $this->getFieldData($fieldId, $viewName);
|
||||
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
|
||||
{
|
||||
$r_name = ComponentbuilderHelper::safeString($fieldData['settings']->name);
|
||||
$r_typeName = ComponentbuilderHelper::safeString($fieldData['settings']->type_name);
|
||||
$r_multiple = false;
|
||||
$r_langLabel = '';
|
||||
// add the tabs needed
|
||||
$taber = "\t\t";
|
||||
// get field values
|
||||
$r_fieldValues = $this->setFieldAttributes($fieldData, $view, $r_name, $r_typeName, $r_multiple, $r_langLabel, $langView, $spacerCounter, $listViewName, $viewName, $placeholders, true);
|
||||
// check if values were set
|
||||
if (ComponentbuilderHelper::checkArray($r_fieldValues))
|
||||
{
|
||||
//reset options array
|
||||
$r_optionArray = array();
|
||||
if ($this->defaultField($r_typeName, 'option'))
|
||||
{
|
||||
// now add to the field set
|
||||
$fieldSet .= $this->setField('option', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
|
||||
}
|
||||
elseif ($this->defaultField($r_typeName, 'plain'))
|
||||
{
|
||||
// now add to the field set
|
||||
$fieldSet .= $this->setField('plain', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkArray($r_fieldValues['custom']))
|
||||
{
|
||||
// add to custom
|
||||
$custom = $r_fieldValues['custom'];
|
||||
unset($r_fieldValues['custom']);
|
||||
// now add to the field set
|
||||
$fieldSet .= $this->setField('custom', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
|
||||
// set lang (just incase)
|
||||
$r_listLangName = $langView . '_' . ComponentbuilderHelper::safeString($r_name, 'U');
|
||||
// add to lang array
|
||||
$this->langContent[$this->lang][$r_listLangName] = ComponentbuilderHelper::safeString($r_name, 'W');
|
||||
// if label was set use instead
|
||||
if (ComponentbuilderHelper::checkString($r_langLabel))
|
||||
{
|
||||
$r_listLangName = $r_langLabel;
|
||||
}
|
||||
// set the custom array
|
||||
$data = array('type' => $r_typeName, 'code' => $r_name, 'lang' => $r_listLangName, 'custom' => $custom);
|
||||
// set the custom field file
|
||||
$this->setCustomFieldTypeFile($data, $listViewName, $viewName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$fieldSet .= PHP_EOL."\t\t\t</form>";
|
||||
$fieldSet .= PHP_EOL."\t\t</field>";
|
||||
}
|
||||
}
|
||||
elseif ($setType === 'custom')
|
||||
{
|
||||
@ -1067,6 +1167,26 @@ class Fields extends Structure
|
||||
*/
|
||||
public function setLayoutBuilder(&$viewName,&$tabName,&$name,&$field)
|
||||
{
|
||||
// first fix the zero order
|
||||
// to insure it lands before all the other fields
|
||||
// as zero is expected to behave
|
||||
if ($field['order_edit'] == 0)
|
||||
{
|
||||
if (!isset($this->zeroOrderFix[$viewName]))
|
||||
{
|
||||
$this->zeroOrderFix[$viewName] = array();
|
||||
}
|
||||
if (!isset($this->zeroOrderFix[$viewName][(int) $field['tab']]))
|
||||
{
|
||||
$this->zeroOrderFix[$viewName][(int) $field['tab']] = -999;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->zeroOrderFix[$viewName][(int) $field['tab']]++;
|
||||
}
|
||||
$field['order_edit'] = $this->zeroOrderFix[$viewName][(int) $field['tab']];
|
||||
}
|
||||
// now build the layout
|
||||
if (ComponentbuilderHelper::checkString($tabName) && $tabName != 'publishing')
|
||||
{
|
||||
$this->tabCounter[$viewName][(int) $field['tab']] = $tabName;
|
||||
@ -1489,6 +1609,12 @@ class Fields extends Structure
|
||||
{
|
||||
$this->doNotEscape[$listViewName][] = $fieldAttributes['name'];
|
||||
}
|
||||
// check if we have display switch for dynamic placment
|
||||
$display = ComponentbuilderHelper::getBetween($field['settings']->xml, 'display="', '"');
|
||||
if (ComponentbuilderHelper::checkString($display))
|
||||
{
|
||||
$fieldAttributes['display'] = $display;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $fieldAttributes;
|
||||
@ -1670,6 +1796,8 @@ class Fields extends Structure
|
||||
{
|
||||
$this->queryBuilder[$viewName][$name]['default'] = 'EMPTY';
|
||||
}
|
||||
// to identify the field
|
||||
$this->queryBuilder[$viewName][$name]['ID'] = $field['settings']->id;
|
||||
$this->queryBuilder[$viewName][$name]['null_switch'] = $field['settings']->null_switch;
|
||||
// set index types
|
||||
if ($field['settings']->indexes == 1 && !in_array($field['settings']->datatype, $textKeys))
|
||||
@ -1727,7 +1855,7 @@ class Fields extends Structure
|
||||
}
|
||||
}
|
||||
// build the list values
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable')
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
// load to list builder
|
||||
$this->listBuilder[$listViewName][] = array(
|
||||
@ -1763,7 +1891,7 @@ class Fields extends Structure
|
||||
$this->intFieldsBuilder[$viewName] .= ',"' . $name . '"';
|
||||
}
|
||||
// set all dynamic field of this view
|
||||
if ($typeName != 'category' && $typeName != 'repeatable' && !in_array($name, $this->defaultFields))
|
||||
if ($typeName != 'category' && $typeName != 'repeatable' && $typeName != 'subform' && !in_array($name, $this->defaultFields))
|
||||
{
|
||||
if (!isset($this->dynamicfieldsBuilder[$viewName]))
|
||||
{
|
||||
@ -1788,7 +1916,7 @@ class Fields extends Structure
|
||||
}
|
||||
}
|
||||
// set the custom builder
|
||||
if (ComponentbuilderHelper::checkArray($custom) && $typeName != 'category' && $typeName != 'repeatable')
|
||||
if (ComponentbuilderHelper::checkArray($custom) && $typeName != 'category' && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
$this->customBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom, 'method' => $field['settings']->store);
|
||||
// set the custom fields needed in content type data
|
||||
@ -1834,7 +1962,7 @@ class Fields extends Structure
|
||||
$this->checkboxBuilder[$viewName][] = $name;
|
||||
}
|
||||
// setup checkboxes and other json items for this view
|
||||
if (($typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && $typeName != 'tag')
|
||||
if (($typeName === 'subform' || $typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && $typeName != 'tag')
|
||||
{
|
||||
switch ($field['settings']->store)
|
||||
{
|
||||
@ -1876,7 +2004,7 @@ class Fields extends Structure
|
||||
}
|
||||
|
||||
// load the json list display fix
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable')
|
||||
if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
if (ComponentbuilderHelper::checkArray($options))
|
||||
{
|
||||
@ -1887,6 +2015,12 @@ class Fields extends Structure
|
||||
$this->getItemsMethodListStringFixBuilder[$viewName][] = array('name' => $name, 'type' => $typeName, 'translation' => false, 'custom' => $custom, 'method' => $field['settings']->store);
|
||||
}
|
||||
}
|
||||
|
||||
// if subform the values must revert to array
|
||||
if ('subform' === $typeName)
|
||||
{
|
||||
$this->jsonItemBuilderArray[$viewName][] = $name;
|
||||
}
|
||||
}
|
||||
// build the data for the export & import methods $typeName === 'repeatable' ||
|
||||
if (($typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && !ComponentbuilderHelper::checkArray($options))
|
||||
@ -1897,12 +2031,12 @@ class Fields extends Structure
|
||||
// check if field should be added to uikit
|
||||
$this->buildSiteFieldData($viewName, $name, 'uikit', $typeName);
|
||||
// load the selection translation fix
|
||||
if (ComponentbuilderHelper::checkArray($options) && $field['list'] == 1 && $typeName != 'repeatable')
|
||||
if (ComponentbuilderHelper::checkArray($options) && $field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
|
||||
{
|
||||
$this->selectionTranslationFixBuilder[$listViewName][$name] = $options;
|
||||
}
|
||||
// build the sort values
|
||||
if ($field['sort'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable'))
|
||||
if ($field['sort'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform'))
|
||||
{
|
||||
$this->sortBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom, 'options' => $options);
|
||||
}
|
||||
@ -1912,7 +2046,7 @@ class Fields extends Structure
|
||||
$this->searchBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'custom' => $custom, 'list' => $field['list']);
|
||||
}
|
||||
// build the filter values
|
||||
if ($field['filter'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable'))
|
||||
if ($field['filter'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform'))
|
||||
{
|
||||
$this->filterBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'database' => $viewName, 'function' => ComponentbuilderHelper::safeString($name, 'F'), 'custom' => $custom, 'options' => $options);
|
||||
}
|
||||
@ -2069,7 +2203,7 @@ class Fields extends Structure
|
||||
'chromestyle', 'contenttype', 'databaseconnection', 'editors', 'email', 'file',
|
||||
'filelist', 'folderlist', 'groupedlist', 'hidden', 'file', 'headertag', 'helpsite',
|
||||
'imagelist', 'integer', 'language', 'list', 'media', 'menu', 'note', 'number', 'password',
|
||||
'plugins', 'radio', 'repeatable', 'range', 'rules', 'sessionhandler', 'spacer', 'sql', 'tag',
|
||||
'plugins', 'radio', 'repeatable', 'range', 'rules', 'subform', 'sessionhandler', 'spacer', 'sql', 'tag',
|
||||
'tel', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition', 'moduletag',
|
||||
'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
),
|
||||
@ -2090,7 +2224,7 @@ class Fields extends Structure
|
||||
),
|
||||
'special' => array(
|
||||
'contentlanguage', 'groupedlist', 'moduleposition', 'plugin',
|
||||
'repeatable', 'templatestyle'
|
||||
'repeatable', 'templatestyle', 'subform'
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -33,6 +33,7 @@ class Interpretation extends Fields
|
||||
{
|
||||
public $theContributors = '';
|
||||
public $uninstallBuilder = array();
|
||||
public $updateSQLBuilder = array();
|
||||
public $listColnrBuilder = array();
|
||||
public $permissionBuilder = array();
|
||||
public $permissionDashboard = array();
|
||||
@ -522,8 +523,7 @@ class Interpretation extends Fields
|
||||
|
||||
public function setVersionController()
|
||||
{
|
||||
$updateServer = '';
|
||||
if (ComponentbuilderHelper::checkArray($this->componentData->version_update))
|
||||
if (ComponentbuilderHelper::checkArray($this->componentData->version_update) || ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
$updateXML = array();
|
||||
// add the update server
|
||||
@ -531,52 +531,34 @@ class Interpretation extends Fields
|
||||
{
|
||||
$updateXML[] = '<updates>';
|
||||
}
|
||||
// add the update sql
|
||||
$addSQL = true;
|
||||
foreach ($this->componentData->version_update as $update)
|
||||
|
||||
// add the dynamic sql switch
|
||||
$addDynamicSQL = true;
|
||||
$addActive = true;
|
||||
if (ComponentbuilderHelper::checkArray($this->componentData->version_update))
|
||||
{
|
||||
// ensure version naming is correct
|
||||
$update['version'] = preg_replace('/[^0-9.]+/', '', $update['version']);
|
||||
// check if the sql should be added
|
||||
if ($update['version'] == $this->componentData->component_version)
|
||||
foreach ($this->componentData->version_update as $nr => &$update)
|
||||
{
|
||||
$addSQL = false;
|
||||
}
|
||||
// setup import files
|
||||
if ($addSQL)
|
||||
{
|
||||
$name = ComponentbuilderHelper::safeString($update['version']);
|
||||
$target = array('admin' => $name);
|
||||
$this->buildDynamique($target,'sql_update',$update['version']);
|
||||
$this->fileContentDynamic[$name.'_'.$update['version']]['###UPDATE_VERSION_MYSQL###'] = $update['mysql'];
|
||||
}
|
||||
// add the update server
|
||||
if ($this->componentData->add_update_server && $this->componentData->update_server_target != 3)
|
||||
{
|
||||
// build update xml
|
||||
$updateXML[] = "\t<update>";
|
||||
$updateXML[] = "\t\t<name>".$this->fileContentStatic['###Component_name###']."</name>";
|
||||
$updateXML[] = "\t\t<description>".$this->fileContentStatic['###SHORT_DESCRIPTION###']."</description>";
|
||||
$updateXML[] = "\t\t<element>com_".$this->fileContentStatic['###component###']."</element>";
|
||||
$updateXML[] = "\t\t<type>component</type>";
|
||||
$updateXML[] = "\t\t<version>".$update['version']."</version>";
|
||||
$updateXML[] = "\t\t".'<infourl title="'.$this->fileContentStatic['###Component_name###'].'!">'.$this->fileContentStatic['###AUTHORWEBSITE###'].'</infourl>';
|
||||
$updateXML[] = "\t\t<downloads>";
|
||||
if (!isset($update['url']))
|
||||
$this->setUpdateXMLSQL($update, $updateXML, $addDynamicSQL);
|
||||
|
||||
if ($update['version'] == $this->componentData->component_version)
|
||||
{
|
||||
$update['url'] = 'http://domain.com/demo.xml';
|
||||
$addActive = false;
|
||||
}
|
||||
$updateXML[] = "\t\t\t".'<downloadurl type="full" format="zip">'.$update['url'].'</downloadurl>';
|
||||
$updateXML[] = "\t\t</downloads>";
|
||||
$updateXML[] = "\t\t<tags>";
|
||||
$updateXML[] = "\t\t\t<tag>stable</tag>";
|
||||
$updateXML[] = "\t\t</tags>";
|
||||
$updateXML[] = "\t\t<maintainer>".$this->fileContentStatic['###AUTHOR###']."</maintainer>";
|
||||
$updateXML[] = "\t\t<maintainerurl>".$this->fileContentStatic['###AUTHORWEBSITE###']."</maintainerurl>";
|
||||
$updateXML[] = "\t\t".'<targetplatform name="joomla" version="3.*"/>';
|
||||
$updateXML[] = "\t</update>";
|
||||
}
|
||||
}
|
||||
// add the dynamic sql if not already added
|
||||
if ($addDynamicSQL && ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
// add the dynamic sql
|
||||
$this->setDynamicUpdateXMLSQL($updateXML);
|
||||
}
|
||||
// add the new active version if needed
|
||||
if ($addActive && ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
// add the dynamic sql
|
||||
$this->setDynamicUpdateXMLSQL($updateXML, $addActive);
|
||||
}
|
||||
// add the update server file
|
||||
if ($this->componentData->add_update_server && $this->componentData->update_server_target != 3)
|
||||
{
|
||||
@ -601,9 +583,149 @@ class Interpretation extends Fields
|
||||
$updateServer[] = "\t</updateservers>";
|
||||
// return the array to string
|
||||
$updateServer = implode(PHP_EOL, $updateServer);
|
||||
// add update server details to component XML file
|
||||
$this->fileContentStatic['###UPDATESERVER###'] = $updateServer;
|
||||
}
|
||||
else
|
||||
{
|
||||
// add update server details to component XML file
|
||||
$this->fileContentStatic['###UPDATESERVER###'] = '';
|
||||
}
|
||||
// ensure to update Component version data
|
||||
if (ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
|
||||
{
|
||||
$buket = array();
|
||||
$buket['version'] = array();
|
||||
$buket['mysql'] = array();
|
||||
$buket['url'] = array();
|
||||
foreach ($this->componentData->version_update as $values)
|
||||
{
|
||||
foreach ($values as $key => $value)
|
||||
{
|
||||
$buket[$key][] = $value;
|
||||
}
|
||||
}
|
||||
$new = array();
|
||||
$new['id'] = (int) $this->componentID;
|
||||
$new['component_version'] = $this->componentData->component_version;
|
||||
$new['version_update'] = json_encode($buket);
|
||||
// update the component with the new dynamic SQL
|
||||
$model = ComponentbuilderHelper::getModel('joomla_component');
|
||||
$model->save($new); // <-- to insure the history is also updated
|
||||
// reset the watch here
|
||||
$this->getHistoryWatch('joomla_component', $this->componentID);
|
||||
}
|
||||
}
|
||||
|
||||
public function setDynamicUpdateXMLSQL(&$updateXML, $current_version = false)
|
||||
{
|
||||
// start building the update
|
||||
$update_ = array();
|
||||
if ($current_version)
|
||||
{
|
||||
// setup new version
|
||||
$update_['version'] = $this->componentData->component_version;
|
||||
// setup SQL
|
||||
$update_['mysql'] = '';
|
||||
// setup URL
|
||||
$update_['url'] = 'http://domain.com/demo.zip';
|
||||
}
|
||||
else
|
||||
{
|
||||
// setup new version
|
||||
$update_['version'] = $this->componentData->old_component_version;
|
||||
// setup SQL
|
||||
$update_['mysql'] = trim(implode(PHP_EOL.PHP_EOL, $this->updateSQLBuilder));
|
||||
// setup URL
|
||||
if (isset($this->lastupdateURL))
|
||||
{
|
||||
$paceholders = array(
|
||||
$this->componentData->component_version => $this->componentData->old_component_version,
|
||||
str_replace('.','-', $this->componentData->component_version) => str_replace('.','-', $this->componentData->old_component_version),
|
||||
str_replace('.','_', $this->componentData->component_version) => str_replace('.','_', $this->componentData->old_component_version),
|
||||
str_replace('.','', $this->componentData->component_version) => str_replace('.','', $this->componentData->old_component_version)
|
||||
);
|
||||
$update_['url'] = $this->setPlaceholders($this->lastupdateURL, $paceholders);
|
||||
}
|
||||
else
|
||||
{
|
||||
// setup URL
|
||||
$update_['url'] = 'http://domain.com/demo.zip';
|
||||
}
|
||||
}
|
||||
// stop it from being added double
|
||||
$addDynamicSQL = false;
|
||||
$this->componentData->version_update[] = $update_;
|
||||
// add dynamic SQL
|
||||
$this->setUpdateXMLSQL($update_, $updateXML, $addDynamicSQL);
|
||||
}
|
||||
|
||||
public function setUpdateXMLSQL(&$update, &$updateXML, &$addDynamicSQL)
|
||||
{
|
||||
// ensure version naming is correct
|
||||
$update['version'] = preg_replace('/[^0-9.]+/', '', $update['version']);
|
||||
// setup SQL
|
||||
if (ComponentbuilderHelper::checkString($update['mysql']))
|
||||
{
|
||||
$update['mysql'] = $this->setPlaceholders($update['mysql'], $this->placeholders);
|
||||
}
|
||||
// add dynamic SQL
|
||||
$force = false;
|
||||
if ($addDynamicSQL && ComponentbuilderHelper::checkArray($this->updateSQLBuilder)
|
||||
&& (isset($this->componentData->old_component_version) && $this->componentData->old_component_version == $update['version']))
|
||||
{
|
||||
$searchMySQL = preg_replace('/\s+/', '', $update['mysql']);
|
||||
// add the updates to the SQL only if not found
|
||||
foreach ($this->updateSQLBuilder as $search => $query)
|
||||
{
|
||||
if (strpos($searchMySQL, $search) === FALSE)
|
||||
{
|
||||
$update['mysql'] .= PHP_EOL.PHP_EOL.$query;
|
||||
}
|
||||
}
|
||||
// make sure no unneeded white space is added
|
||||
$update['mysql'] = trim($update['mysql']);
|
||||
// update has been added
|
||||
$addDynamicSQL = false;
|
||||
}
|
||||
// setup import files
|
||||
if ($update['version'] != $this->componentData->component_version)
|
||||
{
|
||||
$name = ComponentbuilderHelper::safeString($update['version']);
|
||||
$target = array('admin' => $name);
|
||||
$this->buildDynamique($target,'sql_update',$update['version']);
|
||||
$this->fileContentDynamic[$name.'_'.$update['version']]['###UPDATE_VERSION_MYSQL###'] = $update['mysql'];
|
||||
}
|
||||
elseif (isset($update['url']) && ComponentbuilderHelper::checkString($update['url']))
|
||||
{
|
||||
$this->lastupdateURL = $update['url'];
|
||||
}
|
||||
// add the update server
|
||||
if ($this->componentData->add_update_server && $this->componentData->update_server_target != 3)
|
||||
{
|
||||
// build update xml
|
||||
$updateXML[] = "\t<update>";
|
||||
$updateXML[] = "\t\t<name>".$this->fileContentStatic['###Component_name###']."</name>";
|
||||
$updateXML[] = "\t\t<description>".$this->fileContentStatic['###SHORT_DESCRIPTION###']."</description>";
|
||||
$updateXML[] = "\t\t<element>com_".$this->fileContentStatic['###component###']."</element>";
|
||||
$updateXML[] = "\t\t<type>component</type>";
|
||||
$updateXML[] = "\t\t<version>".$update['version']."</version>";
|
||||
$updateXML[] = "\t\t".'<infourl title="'.$this->fileContentStatic['###Component_name###'].'!">'.$this->fileContentStatic['###AUTHORWEBSITE###'].'</infourl>';
|
||||
$updateXML[] = "\t\t<downloads>";
|
||||
if (!isset($update['url']) || !ComponentbuilderHelper::checkString($update['url']))
|
||||
{
|
||||
$update['url'] = 'http://domain.com/demo.zip';
|
||||
}
|
||||
$updateXML[] = "\t\t\t".'<downloadurl type="full" format="zip">'.$update['url'].'</downloadurl>';
|
||||
$updateXML[] = "\t\t</downloads>";
|
||||
$updateXML[] = "\t\t<tags>";
|
||||
$updateXML[] = "\t\t\t<tag>stable</tag>";
|
||||
$updateXML[] = "\t\t</tags>";
|
||||
$updateXML[] = "\t\t<maintainer>".$this->fileContentStatic['###AUTHOR###']."</maintainer>";
|
||||
$updateXML[] = "\t\t<maintainerurl>".$this->fileContentStatic['###AUTHORWEBSITE###']."</maintainerurl>";
|
||||
$updateXML[] = "\t\t".'<targetplatform name="joomla" version="3.*"/>';
|
||||
$updateXML[] = "\t</update>";
|
||||
}
|
||||
// add update server details to component XML file
|
||||
$this->fileContentStatic['###UPDATESERVER###'] = $updateServer;
|
||||
}
|
||||
|
||||
public function noHelp()
|
||||
@ -1126,24 +1248,30 @@ class Interpretation extends Fields
|
||||
$menuSetter = $view.'_menu';
|
||||
foreach ($params as $field)
|
||||
{
|
||||
// we load fields that have options
|
||||
if (strpos($field,'Option Set. -->') !== false && strpos($field,$menuSetter) === false)
|
||||
// some switch to see if it should be added to front end params
|
||||
$target = ComponentbuilderHelper::getBetween($field, 'display="', '"');
|
||||
if (!ComponentbuilderHelper::checkString($target) || $target === 'menu')
|
||||
{
|
||||
// we add the global option
|
||||
$field = str_replace('Option Set. -->', $this->setLine(__LINE__).' Global & Option Set. -->'.PHP_EOL."\t\t\t".'<option value="">'.PHP_EOL."\t\t\t\t".'JGLOBAL_USE_GLOBAL</option>', $field);
|
||||
// update the default to be global
|
||||
$field = preg_replace('/default=".+"/', 'default=""', $field);
|
||||
// update the default to be filter
|
||||
$field = preg_replace('/filter=".+"/', 'filter="string"', $field);
|
||||
// update required
|
||||
$field = str_replace('required="true"', 'required="false"', $field);
|
||||
// add to keeper array
|
||||
$keep[] = $field;
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO add convetion to filter fields that we should not load
|
||||
$keep[] = $field;
|
||||
|
||||
$field = str_replace('display="menu"', '', $field);
|
||||
// we load fields that have options
|
||||
if (strpos($field,'Option Set. -->') !== false && strpos($field,$menuSetter) === false && !ComponentbuilderHelper::checkString($target))
|
||||
{
|
||||
// we add the global option
|
||||
$field = str_replace('Option Set. -->', $this->setLine(__LINE__).' Global & Option Set. -->'.PHP_EOL."\t\t\t".'<option value="">'.PHP_EOL."\t\t\t\t".'JGLOBAL_USE_GLOBAL</option>', $field);
|
||||
// update the default to be global
|
||||
$field = preg_replace('/default=".+"/', 'default=""', $field);
|
||||
// update the default to be filter
|
||||
$field = preg_replace('/filter=".+"/', 'filter="string"', $field);
|
||||
// update required
|
||||
$field = str_replace('required="true"', 'required="false"', $field);
|
||||
// add to keeper array
|
||||
$keep[] = $field;
|
||||
}
|
||||
else
|
||||
{
|
||||
$keep[] = $field;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $keep;
|
||||
@ -1644,7 +1772,7 @@ class Interpretation extends Fields
|
||||
{
|
||||
$string = "if (isset(" . $whe['value_key']. ") && ".$this->fileContentStatic['###Component###']."Helper::checkArray(" . $whe['value_key']. "))";
|
||||
$string .= PHP_EOL."\t".$tabe."\t{";
|
||||
$string .= PHP_EOL."\t".$tabe."\t\t\//".$this->setLine(__LINE__)." Get where ".$whe['table_key']." is " . $whe['value_key'];
|
||||
$string .= PHP_EOL."\t".$tabe."\t\t//".$this->setLine(__LINE__)." Get where ".$whe['table_key']." is " . $whe['value_key'];
|
||||
$string .= PHP_EOL."\t".$tabe."\t\t\$query->where('".$whe['table_key']." ".$whe['operator'].$value;
|
||||
$string .= PHP_EOL."\t".$tabe."\t}";
|
||||
$string .= PHP_EOL."\t".$tabe."\telse";
|
||||
@ -1741,7 +1869,7 @@ class Interpretation extends Fields
|
||||
break;
|
||||
}
|
||||
// check that the default and the redirect page is not the same
|
||||
if ($this->fileContentStatic['###SITE_DEFAULT_VIEW###'] != $view['settings']->code)
|
||||
if (isset($this->fileContentStatic['###SITE_DEFAULT_VIEW###']) && $this->fileContentStatic['###SITE_DEFAULT_VIEW###'] != $view['settings']->code)
|
||||
{
|
||||
$redirectMessage = "\t\t\t//".$this->setLine(__LINE__)." redirect away to the default view if no access allowed.";
|
||||
$redirectString = "JRoute::_('index.php?option=com_".$this->fileContentStatic['###component###']."&view=".$this->fileContentStatic['###SITE_DEFAULT_VIEW###']."')";
|
||||
@ -1809,17 +1937,17 @@ class Interpretation extends Fields
|
||||
if ($type === 'main')
|
||||
{
|
||||
$getItem .= PHP_EOL."\t".$tab."\t\t\$app = JFactory::getApplication();";
|
||||
$langKeyWord = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Not found or access denied','U');
|
||||
if (!isset($this->langContent[$this->lang][$langKeyWord]))
|
||||
$langKeyWoord = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Not found or access denied','U');
|
||||
if (!isset($this->langContent[$this->lang][$langKeyWoord]))
|
||||
{
|
||||
$this->langContent[$this->lang][$langKeyWord] = 'Not found, or access denied.';
|
||||
$this->langContent[$this->lang][$langKeyWoord] = 'Not found, or access denied.';
|
||||
}
|
||||
$getItem .= PHP_EOL."\t".$tab."\t\t//".$this->setLine(__LINE__)." If no data is found redirect to default page and show warning.";
|
||||
$getItem .= PHP_EOL."\t".$tab."\t\t\$app->enqueueMessage(JText::_('".$langKeyWord."'), 'warning');";
|
||||
$getItem .= PHP_EOL."\t".$tab."\t\t\$app->enqueueMessage(JText::_('".$langKeyWoord."'), 'warning');";
|
||||
if ('site' === $this->target)
|
||||
{
|
||||
// check that the default and the redirect page is not the same
|
||||
if ($this->fileContentStatic['###SITE_DEFAULT_VIEW###'] != $code)
|
||||
if (isset($this->fileContentStatic['###SITE_DEFAULT_VIEW###']) && $this->fileContentStatic['###SITE_DEFAULT_VIEW###'] != $code)
|
||||
{
|
||||
$redirectString = "JRoute::_('index.php?option=com_".$this->fileContentStatic['###component###']."&view=".$this->fileContentStatic['###SITE_DEFAULT_VIEW###']."')";
|
||||
}
|
||||
@ -2816,12 +2944,13 @@ class Interpretation extends Fields
|
||||
if (isset($view['settings']->add_custom_button) && $view['settings']->add_custom_button == 1)
|
||||
{
|
||||
$buttons = array();
|
||||
$this->onlyFunctionButton = array();
|
||||
$functionNames = array();
|
||||
if (isset($view['settings']->custom_buttons) && ComponentbuilderHelper::checkArray($view['settings']->custom_buttons))
|
||||
{
|
||||
foreach ($view['settings']->custom_buttons as $custom_button)
|
||||
{
|
||||
if ($custom_button['target'] != 2 || $this->target === 'site')
|
||||
if (3 !== $type && ($custom_button['target'] != 2 || $this->target === 'site'))
|
||||
{
|
||||
// Load to lang
|
||||
$keyLang = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($custom_button['name'],'U');
|
||||
@ -2842,18 +2971,29 @@ class Interpretation extends Fields
|
||||
$buttons[] = "\t".$tab."\t}";
|
||||
}
|
||||
// load the list button
|
||||
elseif (3 == $type && ($custom_button['target'] == 2 || $custom_button['target'] == 3))
|
||||
elseif (3 == $type && $custom_button['target'] != 1)
|
||||
{
|
||||
// Load to lang
|
||||
$keyLang = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($custom_button['name'],'U');
|
||||
$keyCode = ComponentbuilderHelper::safeString($custom_button['name']);
|
||||
$this->langContent[$this->lang][$keyLang] = trim($custom_button['name']);
|
||||
// add cpanel button TODO does not work well on site with permissions
|
||||
$buttons[] = "\t".$tab."\tif (\$this->user->authorise('".$viewName.".".$keyCode."'))";
|
||||
$buttons[] = "\t".$tab."\t{";
|
||||
$buttons[] = "\t".$tab."\t\t//".$this->setLine(__LINE__)." add ".$custom_button['name']." button.";
|
||||
$buttons[] = "\t".$tab."\t\tJToolBarHelper::custom('".$viewsName.".".$custom_button['method']."', '".$custom_button['icomoon']."', '', '".$keyLang."', false);";
|
||||
$buttons[] = "\t".$tab."\t}";
|
||||
if (isset($custom_button['type']) && $custom_button['type'] == 2)
|
||||
{
|
||||
$this->onlyFunctionButton[] = "\t".$tab."if (\$this->user->authorise('".$viewName.".".$keyCode."'))";
|
||||
$this->onlyFunctionButton[] = "\t".$tab."{";
|
||||
$this->onlyFunctionButton[] = "\t".$tab."\t//".$this->setLine(__LINE__)." add ".$custom_button['name']." button.";
|
||||
$this->onlyFunctionButton[] = "\t".$tab."\tJToolBarHelper::custom('".$viewsName.".".$custom_button['method']."', '".$custom_button['icomoon']."', '', '".$keyLang."', false);";
|
||||
$this->onlyFunctionButton[] = "\t".$tab."}";
|
||||
}
|
||||
else
|
||||
{
|
||||
$buttons[] = "\t".$tab."\tif (\$this->user->authorise('".$viewName.".".$keyCode."'))";
|
||||
$buttons[] = "\t".$tab."\t{";
|
||||
$buttons[] = "\t".$tab."\t\t//".$this->setLine(__LINE__)." add ".$custom_button['name']." button.";
|
||||
$buttons[] = "\t".$tab."\t\tJToolBarHelper::custom('".$viewsName.".".$custom_button['method']."', '".$custom_button['icomoon']."', '', '".$keyLang."', false);";
|
||||
$buttons[] = "\t".$tab."\t}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2909,6 +3049,16 @@ class Interpretation extends Fields
|
||||
return '';
|
||||
}
|
||||
|
||||
public function setFunctionOnlyButtons()
|
||||
{
|
||||
// return buttons if they were build
|
||||
if (isset($this->onlyFunctionButton) && ComponentbuilderHelper::checkArray($this->onlyFunctionButton))
|
||||
{
|
||||
return PHP_EOL.implode(PHP_EOL,$this->onlyFunctionButton);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
public function setCustomCSS(&$view)
|
||||
{
|
||||
if ($view['settings']->add_css == 1)
|
||||
@ -3109,7 +3259,7 @@ class Interpretation extends Fields
|
||||
$setter .= PHP_EOL."\t\trequire_once( JPATH_COMPONENT_ADMINISTRATOR.'/helpers/headercheck.php' );";
|
||||
}
|
||||
$setter .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Initialize the header checker.";
|
||||
$setter .= PHP_EOL."\t\t\$HeaderCheck = new HeaderCheck;";
|
||||
$setter .= PHP_EOL."\t\t\$HeaderCheck = new ".$this->fileContentStatic['###component###']."HeaderCheck;";
|
||||
// load the defaults needed
|
||||
if ($this->uikit)
|
||||
{
|
||||
@ -3465,10 +3615,16 @@ class Interpretation extends Fields
|
||||
$makeArray = '';
|
||||
foreach ($this->jsonStringBuilder[$view] as $jsonString)
|
||||
{
|
||||
$script .= PHP_EOL.PHP_EOL."\t\t\tif (!empty(\$item->".$jsonString."))";
|
||||
$script .= PHP_EOL.PHP_EOL."\t\t\tif (!empty(\$item->".$jsonString."))";
|
||||
$script .= PHP_EOL."\t\t\t{";
|
||||
$script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." JSON Decode ".$jsonString.".";
|
||||
if (strpos($jsonString, 'group') !== false)
|
||||
if (isset($this->jsonItemBuilderArray[$view])
|
||||
&& ComponentbuilderHelper::checkArray($this->jsonStringBuilderArray[$view])
|
||||
&& in_array($jsonString, $this->jsonItemBuilderArray[$view]))
|
||||
{
|
||||
$makeArray = ',true';
|
||||
}
|
||||
elseif (strpos($jsonString, 'group') !== false)
|
||||
{
|
||||
$makeArray = ',true';
|
||||
}
|
||||
@ -4837,15 +4993,24 @@ class Interpretation extends Fields
|
||||
// build the uninstall array
|
||||
$this->uninstallBuilder[] = "DROP TABLE IF EXISTS `#__".$component."_".$view."`;";
|
||||
|
||||
// setup the tables
|
||||
$db .= "CREATE TABLE IF NOT EXISTS `#__".$component."_".$view."` (";
|
||||
// setup the table DB string
|
||||
$db_ = '';
|
||||
$db_ .= "CREATE TABLE IF NOT EXISTS `#__".$component."_".$view."` (";
|
||||
// check if the table name has changed
|
||||
if (isset($this->updateSQL['table_name']) && isset($this->updateSQL['table_name'][$view]))
|
||||
{
|
||||
$old_table_name = $this->updateSQL['table_name'][$view]['old'];
|
||||
$this->updateSQLBuilder["RENAMETABLE`#__".$component."_".$old_table_name."`"]
|
||||
= "RENAME TABLE `#__".$component."_".$old_table_name."` to `#__".$component."_".$view."`;";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['id']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`id` INT(11) NOT NULL AUTO_INCREMENT,";
|
||||
$db_ .= PHP_EOL."\t`id` INT(11) NOT NULL AUTO_INCREMENT,";
|
||||
}
|
||||
$db .= PHP_EOL."\t`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',";
|
||||
$db_ .= PHP_EOL."\t`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',";
|
||||
ksort($fields);
|
||||
$last_name = 'asset_id';
|
||||
foreach ($fields as $field => $data)
|
||||
{
|
||||
// set default
|
||||
@ -4864,7 +5029,14 @@ class Interpretation extends Fields
|
||||
}
|
||||
elseif ($default == 0 || $default)
|
||||
{
|
||||
$default = $data['null_switch']." DEFAULT '".$default."'";
|
||||
if (is_numeric($default))
|
||||
{
|
||||
$default = $data['null_switch']." DEFAULT ".$default;
|
||||
}
|
||||
else
|
||||
{
|
||||
$default = $data['null_switch']." DEFAULT '".$default."'";
|
||||
}
|
||||
}
|
||||
elseif ($data['null_switch'] === 'NULL')
|
||||
{
|
||||
@ -4885,116 +5057,142 @@ class Interpretation extends Fields
|
||||
$lenght = '('.$data['lenght'].')';
|
||||
}
|
||||
// set the field to db
|
||||
$db .= PHP_EOL."\t`".$field."` ".$data['type'].$lenght." ".$default.",";
|
||||
$db_ .= PHP_EOL."\t`".$field."` ".$data['type'].$lenght." ".$default.",";
|
||||
// check if this a new field that should be added via SQL update
|
||||
if (isset($this->addSQL['field']) && isset($this->addSQL['field'][$view])
|
||||
&& ComponentbuilderHelper::checkArray($this->addSQL['field'][$view])
|
||||
&& in_array($data['ID'], $this->addSQL['field'][$view]))
|
||||
{
|
||||
$this->updateSQLBuilder["ALTERTABLE`#__".$component."_".$view."`ADD`".$field."`"]
|
||||
= "ALTER TABLE `#__".$component."_".$view."` ADD `".$field."` ".$data['type'].$lenght." ".$default." AFTER `".$last_name."`;";
|
||||
}
|
||||
// check if the field has changed name and/or data type and lenght
|
||||
elseif (0)
|
||||
{
|
||||
// hmmm tough one
|
||||
}
|
||||
// be sure to track the last name used :)
|
||||
$last_name = $field;
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['params']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`params` text NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`params` text NOT NULL DEFAULT '',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['published']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`published` TINYINT(3) NOT NULL DEFAULT 1,";
|
||||
$db_ .= PHP_EOL."\t`published` TINYINT(3) NOT NULL DEFAULT 1,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['created_by']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`created_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`created_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['modified_by']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['created']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
$db_ .= PHP_EOL."\t`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['modified']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
$db_ .= PHP_EOL."\t`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['checked_out']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`checked_out` int(11) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`checked_out` int(11) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['checked_out_time']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
$db_ .= PHP_EOL."\t`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['version']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`version` INT(10) unsigned NOT NULL DEFAULT 1,";
|
||||
$db_ .= PHP_EOL."\t`version` INT(10) unsigned NOT NULL DEFAULT 1,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['hits']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`hits` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`hits` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if view has access
|
||||
if (isset($this->accessBuilder[$view]) && ComponentbuilderHelper::checkString($this->accessBuilder[$view]))
|
||||
{
|
||||
$db .= PHP_EOL."\t`access` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`access` INT(10) unsigned NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['ordering']))
|
||||
{
|
||||
$db .= PHP_EOL."\t`ordering` INT(11) NOT NULL DEFAULT 0,";
|
||||
$db_ .= PHP_EOL."\t`ordering` INT(11) NOT NULL DEFAULT 0,";
|
||||
}
|
||||
// check if metadata is added to this view
|
||||
if (isset($this->metadataBuilder[$view]) && ComponentbuilderHelper::checkString($this->metadataBuilder[$view]))
|
||||
{
|
||||
$db .= PHP_EOL."\t`metakey` TEXT NOT NULL DEFAULT '',";
|
||||
$db .= PHP_EOL."\t`metadesc` TEXT NOT NULL DEFAULT '',";
|
||||
$db .= PHP_EOL."\t`metadata` TEXT NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`metakey` TEXT NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`metadesc` TEXT NOT NULL DEFAULT '',";
|
||||
$db_ .= PHP_EOL."\t`metadata` TEXT NOT NULL DEFAULT '',";
|
||||
}
|
||||
$db .= PHP_EOL."\tPRIMARY KEY (`id`)";
|
||||
$db_ .= PHP_EOL."\tPRIMARY KEY (`id`)";
|
||||
if (isset($this->dbUniqueKeys[$view]) && ComponentbuilderHelper::checkArray($this->dbUniqueKeys[$view]))
|
||||
{
|
||||
foreach ($this->dbUniqueKeys[$view] as $nr => $key)
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tUNIQUE KEY `idx_".$key."` (`".$key."`)";
|
||||
$db_ .= ",".PHP_EOL."\tUNIQUE KEY `idx_".$key."` (`".$key."`)";
|
||||
}
|
||||
}
|
||||
// check if view has access
|
||||
if (isset($this->accessBuilder[$view]) && ComponentbuilderHelper::checkString($this->accessBuilder[$view]))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_access` (`access`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_access` (`access`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['checked_out']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_checkout` (`checked_out`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_checkout` (`checked_out`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['created_by']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_createdby` (`created_by`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_createdby` (`created_by`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['modified_by']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_modifiedby` (`modified_by`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_modifiedby` (`modified_by`)";
|
||||
}
|
||||
// check if default field was over written
|
||||
if (!isset($this->fieldsNames[$view]['published']))
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_state` (`published`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_state` (`published`)";
|
||||
}
|
||||
if (isset($this->dbKeys[$view]) && ComponentbuilderHelper::checkArray($this->dbKeys[$view]))
|
||||
{
|
||||
foreach ($this->dbKeys[$view] as $nr => $key)
|
||||
{
|
||||
$db .= ",".PHP_EOL."\tKEY `idx_".$key."` (`".$key."`)";
|
||||
$db_ .= ",".PHP_EOL."\tKEY `idx_".$key."` (`".$key."`)";
|
||||
}
|
||||
}
|
||||
$db .= PHP_EOL.") ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;".PHP_EOL.PHP_EOL;
|
||||
$db_ .= PHP_EOL.") ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;";
|
||||
|
||||
// check if this is a new table that should be added via update SQL
|
||||
if (isset($this->addSQL['adminview']) && ComponentbuilderHelper::checkArray($this->addSQL['adminview'])
|
||||
&& in_array($view, $this->addSQL['adminview']))
|
||||
{
|
||||
// build the update array
|
||||
$this->updateSQLBuilder["CREATETABLEIFNOTEXISTS`#__".$component."_".$view."`"] = $db_;
|
||||
}
|
||||
|
||||
// add to main DB string
|
||||
$db .= $db_.PHP_EOL.PHP_EOL;
|
||||
}
|
||||
// add custom sql dump to the file
|
||||
if (isset($this->customScriptBuilder['sql']) && ComponentbuilderHelper::checkArray($this->customScriptBuilder['sql']))
|
||||
@ -5002,7 +5200,7 @@ class Interpretation extends Fields
|
||||
foreach ($this->customScriptBuilder['sql'] as $for => $customSql)
|
||||
{
|
||||
$placeholders = array('[[[component]]]' => $component, '[[[view]]]' => $for);
|
||||
$db .= PHP_EOL.PHP_EOL.$this->setPlaceholders($customSql, $placeholders);
|
||||
$db .= $this->setPlaceholders($customSql, $placeholders).PHP_EOL.PHP_EOL;
|
||||
}
|
||||
|
||||
}
|
||||
@ -6814,8 +7012,8 @@ class Interpretation extends Fields
|
||||
* @param $parentKey
|
||||
* @param $parent_key
|
||||
* @param $globalKey
|
||||
* @return string
|
||||
*/
|
||||
* @return string
|
||||
*/
|
||||
public function setListQueryLinked($viewName_single, $viewName_list, $functionName, $key, $_key, $parentKey, $parent_key, $globalKey)
|
||||
{
|
||||
// check if this view has category added
|
||||
@ -6918,7 +7116,7 @@ class Interpretation extends Fields
|
||||
$query .= PHP_EOL."\t\t\t\t\tif (isset(\$item->".$field.") && ".$this->fileContentStatic['###Component###']."Helper::checkJson(\$item->".$field."))";
|
||||
$query .= PHP_EOL."\t\t\t\t\t{";
|
||||
$query .= PHP_EOL."\t\t\t\t\t\t\$tmpArray = json_decode(\$item->".$field.",true);";
|
||||
$query .= PHP_EOL."\t\t\t\t\t\tif (!in_array(\$this->".$globalKey.", \$tmpArray['".$target."']))";
|
||||
$query .= PHP_EOL."\t\t\t\t\t\tif (!isset(\$tmpArray['".$target."']) || !".$this->fileContentStatic['###Component###']."Helper::checkArray(\$tmpArray['".$target."']) || !in_array(\$this->".$globalKey.", \$tmpArray['".$target."']))";
|
||||
$query .= PHP_EOL."\t\t\t\t\t\t{";
|
||||
$query .= PHP_EOL."\t\t\t\t\t\t\tunset(\$items[\$nr]);";
|
||||
$query .= PHP_EOL."\t\t\t\t\t\t\tcontinue;";
|
||||
@ -7072,7 +7270,7 @@ class Interpretation extends Fields
|
||||
/**
|
||||
* @param $viewName_list
|
||||
* @return array|string
|
||||
*/
|
||||
*/
|
||||
public function setCustomAdminDynamicButton($viewName_list)
|
||||
{
|
||||
$buttons = '';
|
||||
@ -7102,7 +7300,7 @@ class Interpretation extends Fields
|
||||
/**
|
||||
* @param $viewName_list
|
||||
* @return array|string
|
||||
*/
|
||||
*/
|
||||
public function setCustomAdminDynamicButtonController($viewName_list)
|
||||
{
|
||||
$method = '';
|
||||
@ -7152,7 +7350,7 @@ class Interpretation extends Fields
|
||||
* @param $viewName_single
|
||||
* @param $viewName_list
|
||||
* @return string
|
||||
*/
|
||||
*/
|
||||
public function setModelExportMethod($viewName_single, $viewName_list)
|
||||
{
|
||||
$query = '';
|
||||
@ -8256,7 +8454,7 @@ class Interpretation extends Fields
|
||||
// target a class if this is a note or spacer
|
||||
$targetType = ".";
|
||||
}
|
||||
elseif ($target['type'] === 'editor')
|
||||
elseif ($target['type'] === 'editor' || $target['type'] === 'subform')
|
||||
{
|
||||
// target the label if editor field
|
||||
$targetType = "#jform_";
|
||||
@ -11844,8 +12042,17 @@ class Interpretation extends Fields
|
||||
$fieldDefault = ComponentbuilderHelper::getBetween($xmlField,'default="','"');
|
||||
if (isset($field['custom_value']) && ComponentbuilderHelper::checkString($field['custom_value']))
|
||||
{
|
||||
// load the Global checkin defautls
|
||||
$this->paramsBuilder .= ',"'.$fieldName.'":"'.$field['custom_value'].'"';
|
||||
// add array if found
|
||||
if ((strpos($field['custom_value'], '["') !== false) && (strpos($field['custom_value'], '"]') !== false))
|
||||
{
|
||||
// load the Global checkin defautls
|
||||
$this->paramsBuilder .= ',"'.$fieldName.'":'.$field['custom_value'];
|
||||
}
|
||||
else
|
||||
{
|
||||
// load the Global checkin defautls
|
||||
$this->paramsBuilder .= ',"'.$fieldName.'":"'.$field['custom_value'].'"';
|
||||
}
|
||||
}
|
||||
elseif (ComponentbuilderHelper::checkString($fieldDefault))
|
||||
{
|
||||
@ -12004,8 +12211,19 @@ class Interpretation extends Fields
|
||||
$this->configFieldSets[] = "\t<fieldset";
|
||||
$this->configFieldSets[] = "\t\t".'name="'.$tabCode.'"';
|
||||
$this->configFieldSets[] = "\t\t".'label="'.$lang.'_'.$tabUpper.'">';
|
||||
// remove display targeted fields
|
||||
$bucket = array();
|
||||
foreach ($tabFields as $tabField)
|
||||
{
|
||||
$display = ComponentbuilderHelper::getBetween($tabField, 'display="', '"');
|
||||
if (!ComponentbuilderHelper::checkString($display) || $display === 'config')
|
||||
{
|
||||
// remove this display since it is not used in Joomla
|
||||
$bucket[] = str_replace('display="config"', '', $tabField);
|
||||
}
|
||||
}
|
||||
// set the fields
|
||||
$this->configFieldSets[] = implode("\t\t",$tabFields);
|
||||
$this->configFieldSets[] = implode("\t\t",$bucket);
|
||||
// close field set
|
||||
$this->configFieldSets[] = "\t</fieldset>";
|
||||
// remove after loading
|
||||
|
@ -149,10 +149,12 @@ class Infusion extends Interpretation
|
||||
$this->fileContentStatic['###SITECSS###'] = $this->setPlaceholders($this->customScriptBuilder['component_css'], $this->placeholders);
|
||||
|
||||
// ###CUSTOM_HELPER_SCRIPT###
|
||||
$this->fileContentStatic['###CUSTOM_HELPER_SCRIPT###'] = $this->setPlaceholders($this->customScriptBuilder['component_php_helper_admin'], $this->placeholders);
|
||||
$this->fileContentStatic['###CUSTOM_HELPER_SCRIPT###']
|
||||
= $this->setPlaceholders($this->customScriptBuilder['component_php_helper_admin'], $this->placeholders);
|
||||
|
||||
// ###BOTH_CUSTOM_HELPER_SCRIPT###
|
||||
$this->fileContentStatic['###BOTH_CUSTOM_HELPER_SCRIPT###'] = $this->setPlaceholders($this->customScriptBuilder['component_php_helper_both'], $this->placeholders);
|
||||
$this->fileContentStatic['###BOTH_CUSTOM_HELPER_SCRIPT###']
|
||||
= $this->setPlaceholders($this->customScriptBuilder['component_php_helper_both'], $this->placeholders);
|
||||
|
||||
// ###ADMIN_GLOBAL_EVENT_HELPER###
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] = '';
|
||||
@ -168,14 +170,16 @@ class Infusion extends Interpretation
|
||||
{
|
||||
// ###ADMIN_GLOBAL_EVENT###
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT###'] = PHP_EOL.PHP_EOL.'// Triger the Global Admin Event';
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT###'] .= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT###']
|
||||
.= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
|
||||
// ###ADMIN_GLOBAL_EVENT_HELPER###
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] = PHP_EOL.PHP_EOL."\t".'/**';
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'* The Global Admin Event Method.';
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'**/';
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'public static function globalEvent($document)';
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'{';
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_admin_event'], $this->placeholders);
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###']
|
||||
.= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_admin_event'], $this->placeholders);
|
||||
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'}';
|
||||
}
|
||||
|
||||
@ -192,8 +196,6 @@ class Infusion extends Interpretation
|
||||
$this->fileContentStatic['###HELP###'] = $this->noHelp();
|
||||
// ###HELP_SITE###
|
||||
$this->fileContentStatic['###HELP_SITE###'] = $this->noHelp();
|
||||
// ###UPDATE_VERSION_MYSQL###
|
||||
$this->setVersionController();
|
||||
|
||||
// build route parse switch
|
||||
$this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] = '';
|
||||
@ -260,7 +262,8 @@ class Infusion extends Interpretation
|
||||
$this->setLockLicensePer($viewName_list, $this->target);
|
||||
|
||||
// ###FIELDSETS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###FIELDSETS###'] = $this->setFieldSet($view, $this->fileContentStatic['###component###']);
|
||||
$this->fileContentDynamic[$viewName_single]['###FIELDSETS###']
|
||||
= $this->setFieldSet($view, $this->fileContentStatic['###component###']);
|
||||
|
||||
// ###ACCESSCONTROL### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###ACCESSCONTROL###'] = $this->setFieldSetAccessControl($viewName_single);
|
||||
@ -283,11 +286,14 @@ class Infusion extends Interpretation
|
||||
// ###AJAXTOKE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###AJAXTOKE###'] = $this->setAjaxToke($viewName_single);
|
||||
|
||||
if (isset($this->customScriptBuilder['php_document'][$viewName_single]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['php_document'][$viewName_single]))
|
||||
if (isset($this->customScriptBuilder['php_document'][$viewName_single])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder['php_document'][$viewName_single]))
|
||||
{
|
||||
// ###DOCUMENT_CUSTOM_PHP### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###DOCUMENT_CUSTOM_PHP###']
|
||||
= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['php_document'][$viewName_single], $this->placeholders);
|
||||
= PHP_EOL.$this->setPlaceholders(
|
||||
$this->customScriptBuilder['php_document'][$viewName_single],
|
||||
$this->placeholders);
|
||||
// clear some memory
|
||||
unset($this->customScriptBuilder['php_document'][$viewName_single]);
|
||||
}
|
||||
@ -300,7 +306,8 @@ class Infusion extends Interpretation
|
||||
$this->fileContentDynamic[$viewName_single]['###LINKEDVIEWTABLESCRIPTS###'] = '';
|
||||
|
||||
// ###VALIDATEFIX### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###VALIDATIONFIX###'] = $this->setValidationFix($viewName_single, $this->fileContentStatic['###Component###']);
|
||||
$this->fileContentDynamic[$viewName_single]['###VALIDATIONFIX###']
|
||||
= $this->setValidationFix($viewName_single, $this->fileContentStatic['###Component###']);
|
||||
|
||||
// ###EDITBODY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###EDITBODY###'] = $this->setEditBody($view);
|
||||
@ -324,16 +331,20 @@ class Infusion extends Interpretation
|
||||
$this->fileContentDynamic[$viewName_single]['###LINKEDVIEWMETHODS###'] = '';
|
||||
|
||||
// ###JMODELADMIN_BEFORE_DELETE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_DELETE###'] = $this->getCustomScriptBuilder('php_before_delete', $viewName_single, PHP_EOL);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_DELETE###']
|
||||
= $this->getCustomScriptBuilder('php_before_delete', $viewName_single, PHP_EOL);
|
||||
|
||||
// ###JMODELADMIN_AFTER_DELETE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_DELETE###'] = $this->getCustomScriptBuilder('php_after_delete', $viewName_single, PHP_EOL.PHP_EOL);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_DELETE###']
|
||||
= $this->getCustomScriptBuilder('php_after_delete', $viewName_single, PHP_EOL.PHP_EOL);
|
||||
|
||||
// ###JMODELADMIN_BEFORE_DELETE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_PUBLISH###'] = $this->getCustomScriptBuilder('php_before_publish', $viewName_single, PHP_EOL);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_PUBLISH###']
|
||||
= $this->getCustomScriptBuilder('php_before_publish', $viewName_single, PHP_EOL);
|
||||
|
||||
// ###JMODELADMIN_AFTER_DELETE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_PUBLISH###'] = $this->getCustomScriptBuilder('php_after_publish', $viewName_single, PHP_EOL.PHP_EOL);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_PUBLISH###']
|
||||
= $this->getCustomScriptBuilder('php_after_publish', $viewName_single, PHP_EOL.PHP_EOL);
|
||||
|
||||
// ###CHECKBOX_SAVE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###CHECKBOX_SAVE###'] = $this->setCheckboxSave($viewName_single);
|
||||
@ -342,9 +353,12 @@ class Infusion extends Interpretation
|
||||
$this->fileContentDynamic[$viewName_single]['###METHOD_ITEM_SAVE###'] = $this->setMethodItemSave($viewName_single);
|
||||
|
||||
// ###POSTSAVEHOOK### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###POSTSAVEHOOK###'] = $this->getCustomScriptBuilder('php_postsavehook', $viewName_single, PHP_EOL, null, true, PHP_EOL."\t\treturn;", PHP_EOL.PHP_EOL."\t\treturn;");
|
||||
$this->fileContentDynamic[$viewName_single]['###POSTSAVEHOOK###']
|
||||
= $this->getCustomScriptBuilder('php_postsavehook', $viewName_single, PHP_EOL, null, true,
|
||||
PHP_EOL."\t\treturn;", PHP_EOL.PHP_EOL."\t\treturn;");
|
||||
|
||||
if (isset($this->customScriptBuilder['css_view'][$viewName_single]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['css_view'][$viewName_single]))
|
||||
if (isset($this->customScriptBuilder['css_view'][$viewName_single])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder['css_view'][$viewName_single]))
|
||||
{
|
||||
// ###VIEWCSS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###VIEWCSS###']
|
||||
@ -360,7 +374,8 @@ class Infusion extends Interpretation
|
||||
// add css to front end
|
||||
if ($view['edit_create_site_view'])
|
||||
{
|
||||
$this->fileContentDynamic[$viewName_single]['###SITE_VIEWCSS###'] = $this->fileContentDynamic[$viewName_single]['###VIEWCSS###'];
|
||||
$this->fileContentDynamic[$viewName_single]['###SITE_VIEWCSS###']
|
||||
= $this->fileContentDynamic[$viewName_single]['###VIEWCSS###'];
|
||||
}
|
||||
}
|
||||
// set the views names
|
||||
@ -411,9 +426,11 @@ class Infusion extends Interpretation
|
||||
if ($view['checkin'] == 1)
|
||||
{
|
||||
// ###AUTOCHECKIN### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###AUTOCHECKIN###'] = $this->setAutoCheckin($viewName_single,$this->fileContentStatic['###component###']);
|
||||
$this->fileContentDynamic[$viewName_list]['###AUTOCHECKIN###']
|
||||
= $this->setAutoCheckin($viewName_single,$this->fileContentStatic['###component###']);
|
||||
// ###CHECKINCALL### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###CHECKINCALL###'] = $this->setCheckinCall();
|
||||
$this->fileContentDynamic[$viewName_list]['###CHECKINCALL###']
|
||||
= $this->setCheckinCall();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -423,19 +440,26 @@ class Infusion extends Interpretation
|
||||
$this->fileContentDynamic[$viewName_list]['###CHECKINCALL###'] = '';
|
||||
}
|
||||
// ###ADMIN_CUSTOM_BUTTONS_LIST###
|
||||
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_BUTTONS_LIST###'] = $this->setCustomButtons($view, 3, "\t");
|
||||
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_BUTTONS_LIST###']
|
||||
= $this->setCustomButtons($view, 3, "\t");
|
||||
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST###']
|
||||
= $this->setFunctionOnlyButtons();
|
||||
|
||||
// ###GET_ITEMS_METHOD_STRING_FIX### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_STRING_FIX###'] = $this->setGetItemsMethodStringFix($viewName_single,$this->fileContentStatic['###Component###']);
|
||||
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_STRING_FIX###']
|
||||
= $this->setGetItemsMethodStringFix($viewName_single,$this->fileContentStatic['###Component###']);
|
||||
|
||||
// ###GET_ITEMS_METHOD_AFTER_ALL### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_AFTER_ALL###'] = $this->getCustomScriptBuilder('php_getitems_after_all', $viewName_single, PHP_EOL);
|
||||
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_AFTER_ALL###']
|
||||
= $this->getCustomScriptBuilder('php_getitems_after_all', $viewName_single, PHP_EOL);
|
||||
|
||||
// ###SELECTIONTRANSLATIONFIX### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIX###'] = $this->setSelectionTranslationFix($viewName_list,$this->fileContentStatic['###Component###']);
|
||||
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIX###']
|
||||
= $this->setSelectionTranslationFix($viewName_list,$this->fileContentStatic['###Component###']);
|
||||
|
||||
// ###SELECTIONTRANSLATIONFIXFUNC### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIXFUNC###'] = $this->setSelectionTranslationFixFunc($viewName_list,$this->fileContentStatic['###Component###']);
|
||||
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIXFUNC###']
|
||||
= $this->setSelectionTranslationFixFunc($viewName_list,$this->fileContentStatic['###Component###']);
|
||||
|
||||
// ###FILTER_FIELDS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###FILTER_FIELDS###'] = $this->setFilterFields($viewName_list);
|
||||
@ -457,28 +481,34 @@ class Infusion extends Interpretation
|
||||
{
|
||||
$this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###'] = '';
|
||||
}
|
||||
$this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###'] .= $this->setRouterCategoryViews($viewName_single,$viewName_list);
|
||||
$this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###']
|
||||
.= $this->setRouterCategoryViews($viewName_single,$viewName_list);
|
||||
|
||||
// ###OTHERFILTERS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###OTHERFILTERS###'] = $this->setOtherFilter($viewName_list);
|
||||
|
||||
// ###FILTERFUNCTIONS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###FILTERFUNCTIONS###'] = $this->setFilterFunctions($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###FILTERFUNCTIONS###']
|
||||
= $this->setFilterFunctions($viewName_single,$viewName_list);
|
||||
|
||||
// ###LISTQUERY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###LISTQUERY###'] = $this->setListQuery($viewName_single,$viewName_list);
|
||||
|
||||
// ###MODELEXPORTMETHOD### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###MODELEXPORTMETHOD###'] = $this->setModelExportMethod($viewName_single, $viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###MODELEXPORTMETHOD###']
|
||||
= $this->setModelExportMethod($viewName_single, $viewName_list);
|
||||
|
||||
// ###MODELEXIMPORTMETHOD### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###CONTROLLEREXIMPORTMETHOD###'] = $this->setControllerEximportMethod($viewName_single, $viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###CONTROLLEREXIMPORTMETHOD###']
|
||||
= $this->setControllerEximportMethod($viewName_single, $viewName_list);
|
||||
|
||||
// ###EXPORTBUTTON### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###EXPORTBUTTON###'] = $this->setExportButton($viewName_single, $viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###EXPORTBUTTON###']
|
||||
= $this->setExportButton($viewName_single, $viewName_list);
|
||||
|
||||
// ###IMPORTBUTTON### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###IMPORTBUTTON###'] = $this->setImportButton($viewName_single, $viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###IMPORTBUTTON###']
|
||||
= $this->setImportButton($viewName_single, $viewName_list);
|
||||
|
||||
// ###LISTHEAD### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###LISTHEAD###'] = $this->setListHead($viewName_single,$viewName_list);
|
||||
@ -490,9 +520,11 @@ class Infusion extends Interpretation
|
||||
$this->fileContentDynamic[$viewName_list]['###LISTCOLNR###'] = $this->setListColnr($viewName_list);
|
||||
|
||||
// ###JVIEWLISTCANDO### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###JVIEWLISTCANDO###'] = $this->setJviewListCanDo($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###JVIEWLISTCANDO###']
|
||||
= $this->setJviewListCanDo($viewName_single,$viewName_list);
|
||||
|
||||
if (isset($this->customScriptBuilder['css_views'][$viewName_list]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['css_views'][$viewName_list]))
|
||||
if (isset($this->customScriptBuilder['css_views'][$viewName_list])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder['css_views'][$viewName_list]))
|
||||
{
|
||||
// ###VIEWCSS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###VIEWSCSS###']
|
||||
@ -526,28 +558,36 @@ class Infusion extends Interpretation
|
||||
$this->fileContentDynamic[$viewName_list]['###BATCH_ONCLICK_CANCEL_SCRIPT###'] = ''; // TODO <-- must still be build
|
||||
|
||||
// ###JCONTROLLERFORM_ALLOWADD### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWADD###'] = $this->setJcontrollerAllowAdd($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWADD###']
|
||||
= $this->setJcontrollerAllowAdd($viewName_single,$viewName_list);
|
||||
|
||||
// ###JCONTROLLERFORM_ALLOWEDIT### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWEDIT###'] = $this->setJcontrollerAllowEdit($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWEDIT###']
|
||||
= $this->setJcontrollerAllowEdit($viewName_single,$viewName_list);
|
||||
|
||||
// ###JMODELADMIN_GETFORM### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_GETFORM###'] = $this->setJmodelAdminGetForm($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_GETFORM###']
|
||||
= $this->setJmodelAdminGetForm($viewName_single,$viewName_list);
|
||||
|
||||
// ###JMODELADMIN_ALLOWEDIT### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_ALLOWEDIT###'] = $this->setJmodelAdminAllowEdit($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_ALLOWEDIT###']
|
||||
= $this->setJmodelAdminAllowEdit($viewName_single,$viewName_list);
|
||||
|
||||
// ###JMODELADMIN_CANDELETE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANDELETE###'] = $this->setJmodelAdminCanDelete($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANDELETE###']
|
||||
= $this->setJmodelAdminCanDelete($viewName_single,$viewName_list);
|
||||
|
||||
// ###JMODELADMIN_CANEDITSTATE### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANEDITSTATE###'] = $this->setJmodelAdminCanEditState($viewName_single,$viewName_list);
|
||||
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANEDITSTATE###']
|
||||
= $this->setJmodelAdminCanEditState($viewName_single,$viewName_list);
|
||||
|
||||
// set custom admin view Toolbare buttons
|
||||
// ###CUSTOM_ADMIN_DYNAMIC_BUTTONS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS###'] = $this->setCustomAdminDynamicButton($viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS###']
|
||||
= $this->setCustomAdminDynamicButton($viewName_list);
|
||||
// ###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER###'] = $this->setCustomAdminDynamicButtonController($viewName_list);
|
||||
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER###']
|
||||
= $this->setCustomAdminDynamicButtonController($viewName_list);
|
||||
|
||||
// set helper router
|
||||
if (!isset($this->fileContentStatic['###ROUTEHELPER###']))
|
||||
@ -599,7 +639,8 @@ class Infusion extends Interpretation
|
||||
}
|
||||
if (!isset($this->langContent[$this->lang][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']))
|
||||
{
|
||||
$this->langContent[$this->lang][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC'] = $view['settings']->description;
|
||||
$this->langContent[$this->lang][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']
|
||||
= $view['settings']->description;
|
||||
}
|
||||
// ###ICOMOON### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###ICOMOON###'] = $view['icomoon'];
|
||||
@ -624,7 +665,8 @@ class Infusion extends Interpretation
|
||||
if ($view['settings']->main_get->gettype == 1)
|
||||
{
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
|
||||
{
|
||||
// ###CUSTOM_ADMIN_BEFORE_GET_ITEM### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEM###']
|
||||
@ -639,10 +681,12 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// ###CUSTOM_ADMIN_GET_ITEM### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEM###'] = $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEM###']
|
||||
= $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
|
||||
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
|
||||
{
|
||||
// ###CUSTOM_ADMIN_AFTER_GET_ITEM### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEM###']
|
||||
@ -659,10 +703,12 @@ class Infusion extends Interpretation
|
||||
elseif ($view['settings']->main_get->gettype == 2)
|
||||
{
|
||||
// ###CUSTOM_ADMIN_GET_LIST_QUERY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_LIST_QUERY###'] = $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_LIST_QUERY###']
|
||||
= $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
|
||||
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code]))
|
||||
{
|
||||
// ###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY###']
|
||||
@ -677,7 +723,8 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
|
||||
{
|
||||
// ###CUSTOM_ADMIN_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEMS###']
|
||||
@ -692,10 +739,12 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// ###CUSTOM_ADMIN_GET_ITEMS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEMS###'] = $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEMS###']
|
||||
= $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
|
||||
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
|
||||
{
|
||||
// ###CUSTOM_ADMIN_AFTER_GET_ITEMS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEMS###']
|
||||
@ -711,20 +760,25 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// ###CUSTOM_ADMIN_CUSTOM_METHODS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###'] = $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###'] .= $this->setCustomViewCustomMethods($view, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###']
|
||||
= $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###']
|
||||
.= $this->setCustomViewCustomMethods($view, $view['settings']->code);
|
||||
// ###CUSTOM_ADMIN_DIPLAY_METHOD### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_DIPLAY_METHOD###'] = $this->setCustomViewDisplayMethod($view);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_DIPLAY_METHOD###']
|
||||
= $this->setCustomViewDisplayMethod($view);
|
||||
// set document details
|
||||
$this->setPrepareDocument($view);
|
||||
// ###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###'] = $this->setCustomViewExtraDisplayMethods($view);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###']
|
||||
= $this->setCustomViewExtraDisplayMethods($view);
|
||||
// ###CUSTOM_ADMIN_CODE_BODY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CODE_BODY###'] = $this->setCustomViewCodeBody($view);
|
||||
// ###CUSTOM_ADMIN_BODY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BODY###'] = $this->setCustomViewBody($view);
|
||||
// ###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT###'] = $this->setCustomViewSubmitButtonScript($view);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT###']
|
||||
= $this->setCustomViewSubmitButtonScript($view);
|
||||
|
||||
// setup the templates
|
||||
$this->setCustomViewTemplateBody($view);
|
||||
@ -760,6 +814,9 @@ class Infusion extends Interpretation
|
||||
|
||||
// ###UNINSTALL###
|
||||
$this->fileContentStatic['###UNINSTALL###'] = $this->setUninstall();
|
||||
|
||||
// ###UPDATE_VERSION_MYSQL###
|
||||
$this->setVersionController();
|
||||
|
||||
// ###DASHBOARDICONS###
|
||||
$this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASHBOARDICONS###'] = $this->setDashboardIcons();
|
||||
@ -881,7 +938,8 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// insure the needed route helper is loaded
|
||||
$this->fileContentStatic['###ROUTEHELPER###'] .= $this->setRouterHelp($view['settings']->code,$view['settings']->code, true);
|
||||
$this->fileContentStatic['###ROUTEHELPER###']
|
||||
.= $this->setRouterHelp($view['settings']->code,$view['settings']->code, true);
|
||||
// build route details
|
||||
$this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] .= $this->routerParseSwitch($view['settings']->code, $view);
|
||||
$this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] .= $this->routerBuildViews($view['settings']->code);
|
||||
@ -889,9 +947,11 @@ class Infusion extends Interpretation
|
||||
if ($view['settings']->main_get->gettype == 1)
|
||||
{
|
||||
// set user permission access check ###USER_PERMISSION_CHECK_ACCESS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###'] = $this->setUserPermissionCheckAccess($view, 1);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###']
|
||||
= $this->setUserPermissionCheckAccess($view, 1);
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
|
||||
{
|
||||
// ###SITE_BEFORE_GET_ITEM### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEM###']
|
||||
@ -906,10 +966,12 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// ###SITE_GET_ITEM### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEM###'] = $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEM###']
|
||||
= $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
|
||||
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
|
||||
{
|
||||
// ###SITE_AFTER_GET_ITEM### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEM###']
|
||||
@ -926,12 +988,15 @@ class Infusion extends Interpretation
|
||||
elseif ($view['settings']->main_get->gettype == 2)
|
||||
{
|
||||
// set user permission access check ###USER_PERMISSION_CHECK_ACCESS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###'] = $this->setUserPermissionCheckAccess($view, 2);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###']
|
||||
= $this->setUserPermissionCheckAccess($view, 2);
|
||||
// ###SITE_GET_LIST_QUERY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_LIST_QUERY###'] = $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_LIST_QUERY###']
|
||||
= $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
|
||||
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
|
||||
{
|
||||
// ###SITE_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEMS###']
|
||||
@ -946,10 +1011,12 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// ###SITE_GET_ITEMS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEMS###'] = $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEMS###']
|
||||
= $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
|
||||
|
||||
// check if there is any custom script
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
|
||||
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code])
|
||||
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
|
||||
{
|
||||
// ###SITE_AFTER_GET_ITEMS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEMS###']
|
||||
@ -970,17 +1037,22 @@ class Infusion extends Interpretation
|
||||
}
|
||||
if (!isset($this->langContent['site'][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']))
|
||||
{
|
||||
$this->langContent['site'][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC'] = $view['settings']->description;
|
||||
$this->langContent['site'][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']
|
||||
= $view['settings']->description;
|
||||
}
|
||||
// ###SITE_CUSTOM_METHODS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###'] = $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###'] .= $this->setCustomViewCustomMethods($view, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###']
|
||||
= $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###']
|
||||
.= $this->setCustomViewCustomMethods($view, $view['settings']->code);
|
||||
// ###SITE_DIPLAY_METHOD### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_DIPLAY_METHOD###'] = $this->setCustomViewDisplayMethod($view);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_DIPLAY_METHOD###']
|
||||
= $this->setCustomViewDisplayMethod($view);
|
||||
// set document details
|
||||
$this->setPrepareDocument($view);
|
||||
// ###SITE_EXTRA_DIPLAY_METHODS### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_EXTRA_DIPLAY_METHODS###'] = $this->setCustomViewExtraDisplayMethods($view);
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_EXTRA_DIPLAY_METHODS###']
|
||||
= $this->setCustomViewExtraDisplayMethods($view);
|
||||
// ###SITE_CODE_BODY### <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code]['###SITE_CODE_BODY###'] = $this->setCustomViewCodeBody($view);
|
||||
// ###SITE_BODY### <<<DYNAMIC>>>
|
||||
@ -991,7 +1063,8 @@ class Infusion extends Interpretation
|
||||
}
|
||||
// set site custom script to helper class
|
||||
// ###SITE_CUSTOM_HELPER_SCRIPT###
|
||||
$this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###'] = $this->setPlaceholders($this->customScriptBuilder['component_php_helper_site'], $this->placeholders);
|
||||
$this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###']
|
||||
= $this->setPlaceholders($this->customScriptBuilder['component_php_helper_site'], $this->placeholders);
|
||||
// ###SITE_GLOBAL_EVENT_HELPER###
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] = '';
|
||||
// ###SITE_GLOBAL_EVENT###
|
||||
@ -1000,14 +1073,17 @@ class Infusion extends Interpretation
|
||||
if ($this->componentData->add_site_event == 1)
|
||||
{
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT###'] = PHP_EOL.PHP_EOL.'// Triger the Global Site Event';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT###'] .= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT###']
|
||||
.= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
|
||||
// ###SITE_GLOBAL_EVENT_HELPER###
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] = PHP_EOL.PHP_EOL."\t".'/**';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'* The Global Site Event Method.';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'**/';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'public static function globalEvent($document)';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###']
|
||||
.= PHP_EOL."\t".'public static function globalEvent($document)';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'{';
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_site_event'], $this->placeholders);
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###']
|
||||
.= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_site_event'], $this->placeholders);
|
||||
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'}';
|
||||
}
|
||||
// setup the layouts
|
||||
@ -1041,7 +1117,8 @@ class Infusion extends Interpretation
|
||||
$this->fileContentStatic['###CONFIG_FIELDSETS###'] = implode(PHP_EOL,$this->configFieldSets);
|
||||
|
||||
// check if this has been set
|
||||
if (!isset($this->fileContentStatic['###ROUTER_BUILD_VIEWS###']) || !ComponentbuilderHelper::checkString($this->fileContentStatic['###ROUTER_BUILD_VIEWS###']))
|
||||
if (!isset($this->fileContentStatic['###ROUTER_BUILD_VIEWS###'])
|
||||
|| !ComponentbuilderHelper::checkString($this->fileContentStatic['###ROUTER_BUILD_VIEWS###']))
|
||||
{
|
||||
$this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] = 0;
|
||||
}
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
@ -1053,7 +1053,7 @@ abstract class ComponentbuilderHelper
|
||||
$script['ext'][] = "\t * @return boolean True on success";
|
||||
$script['ext'][] = "\t *";
|
||||
$script['ext'][] = "\t */";
|
||||
$script['ext'][] = "\tprotected function checkExtention(\$file)";
|
||||
$script['ext'][] = "\tprotected function checkExtension(\$file)";
|
||||
$script['ext'][] = "\t{";
|
||||
$script['ext'][] = "\t\t// check the extention";
|
||||
$script['ext'][] = "\t\tswitch(strtolower(pathinfo(\$file, PATHINFO_EXTENSION)))";
|
||||
@ -2219,7 +2219,8 @@ abstract class ComponentbuilderHelper
|
||||
// If you don't need to handle multi-byte characters
|
||||
// you can use preg_replace rather than mb_ereg_replace
|
||||
// Thanks @Łukasz Rysiak!
|
||||
$string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
// $string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
$string = preg_replace("([^\w\s\d\-_\(\)])", '', $string);
|
||||
// http://stackoverflow.com/a/2021729/1429677
|
||||
return preg_replace('/\s+/', ' ', $string);
|
||||
}
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage headercheck.php
|
||||
@ -26,7 +26,7 @@
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
class HeaderCheck
|
||||
class componentbuilderHeaderCheck
|
||||
{
|
||||
function js_loaded($script_name)
|
||||
{
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage batch_.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage indenter.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage js.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage minify.php
|
||||
|
@ -234,6 +234,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM_BUTTON_SELECT="Add"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM_IMPORT="Custom Import"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_DASHBOARD="Dashboard"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_DATABASE="Database"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_DEFAULT="Default"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_DELETE="Delete"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_DESCRIPTION="Description"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_DESCRIPTION_DESCRIPTION="Add Description Here"
|
||||
@ -427,6 +428,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_NOTE_ON_VIEWS_LABEL="The following fields are ad
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_NOTIFICATION="Notification"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_NOTIFICATION_CIRCLE="Notification Circle"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_NOT_REQUIRED="Not Required"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_ONLY_FUNCTION="Only Function"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_ORDERING_LABEL="Ordering"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_ORDER_EDIT_DESCRIPTION="Order in relation to tab & alignment of admin and site."
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_ORDER_EDIT_LABEL="Order in Edit"
|
||||
@ -581,6 +583,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_SCREWDRIVER="Screwdriver"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SEARCH="Search"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SEARCH_DESCRIPTION="Select if the field is to be searchable in list view, if shown."
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SEARCH_LABEL="Searchable"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SELECTION="Selection"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SETTINGS="Settings"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SHARE="Share"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SHARE_ALT="Share Alt"
|
||||
@ -651,7 +654,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_TITLE_LABEL="Title"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_TREE="Tree"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_TREE_TWO="Tree 2"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE="Type"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_DESCRIPTION="Set the type of view"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_DESCRIPTION="for list target"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_LABEL="Type"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_UINT="UINT"
|
||||
COM_COMPONENTBUILDER_ADMIN_VIEW_UNACTIVE_ONLY_FOUR_TEXT_FIELD="Unactive (only 4 text_field)"
|
||||
@ -794,7 +797,7 @@ COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_LABEL="Custom Folder Path"
|
||||
COM_COMPONENTBUILDER_CONFIG_DONT_LOAD="Not"
|
||||
COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_DESC="The encription key for the field encryption is set here."
|
||||
COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_LABEL="Encryption Settings"
|
||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_DESCRIPTION="Enter link where you JCB package keys can be bought"
|
||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_DESCRIPTION="Enter link where your JCB package key can be bought."
|
||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_HINT="http://www.example.com/buy-keys"
|
||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_LABEL="Buy Link<br /><small>(to get key)</small>"
|
||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_COMPANY_DESCRIPTION="Enter Company Name Here"
|
||||
@ -1117,6 +1120,7 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_UIKIT_SNIPPET_LABEL="Snippet Details
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTIFICATION="Notification"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTIFICATION_CIRCLE="Notification Circle"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOT_REQUIRED="Not Required"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ONLY_FUNCTION="Only Function"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ORDERING_LABEL="Ordering"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_PALETTE="Palette"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_PARAGRAPH_CENTER="Paragraph Center"
|
||||
@ -1180,6 +1184,7 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SCISSORS="Scissors"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SCREEN="Screen"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SCREWDRIVER="Screwdriver"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SEARCH="Search"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SELECTION="Selection"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SHARE="Share"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SHARE_ALT="Share Alt"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_SHIELD="Shield"
|
||||
@ -1217,6 +1222,8 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_THUMBS_DOWN="Thumbs Down"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_THUMBS_UP="Thumbs Up"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_TREE="Tree"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_TREE_TWO="Tree 2"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_TYPE_DESCRIPTION="for list target"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_TYPE_LABEL="Type"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_UNARCHIVE="Unarchive"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_UNBLOCK="Unblock"
|
||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_UNDO="Undo"
|
||||
@ -1495,6 +1502,7 @@ COM_COMPONENTBUILDER_DASHBOARD_TEMPLATE_ADD="Add Template<br /><br />"
|
||||
COM_COMPONENTBUILDER_DATE="Date"
|
||||
COM_COMPONENTBUILDER_DEBUG_LINE_NUMBERS="Debug (line numbers)"
|
||||
COM_COMPONENTBUILDER_DOES_THIS_PACKAGE_REQUIRE_A_KEY_TO_INSTALL="Does this package require a key to install"
|
||||
COM_COMPONENTBUILDER_DOWNLOAD="download"
|
||||
COM_COMPONENTBUILDER_DYNAMIC_GET="Dynamic Get"
|
||||
COM_COMPONENTBUILDER_DYNAMIC_GETS="Dynamic Gets"
|
||||
COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS="Dynamic Gets Access"
|
||||
@ -2275,6 +2283,7 @@ COM_COMPONENTBUILDER_IMPORT_TITLE="Data Importer"
|
||||
COM_COMPONENTBUILDER_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE="Package to import not found."
|
||||
COM_COMPONENTBUILDER_IMPORT_UPDATE_DATA="Import Data"
|
||||
COM_COMPONENTBUILDER_IMPORT_UPLOAD_BOTTON="Upload File"
|
||||
COM_COMPONENTBUILDER_ISSUE="issue"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT="Joomla Component"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS="Joomla Components"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS="Joomla Components Access"
|
||||
@ -2557,7 +2566,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPAND="Expand"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPAND_TWO="Expand 2"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPIRED="Expired"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_BUY_LINK="Export Buy Link"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_BUY_LINK_DESCRIPTION="Enter link where you JCB package keys can be bought"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_BUY_LINK_DESCRIPTION="Enter link where your JCB package key can be bought."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_BUY_LINK_HINT="http://www.example.com/buy-keys"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_BUY_LINK_LABEL="Buy Link<br /><small>(to get key)</small>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS="Joomla Component Export Components Button Access"
|
||||
@ -2766,8 +2775,9 @@ Project duration: **###projectWeekTime### weeks** or **###projectMonthTime### mo
|
||||
## Donations<br />
|
||||
<br />
|
||||
If you want to support this project, please consider donating:<br />
|
||||
* PayPal: pay@vdm.io<br />
|
||||
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
|
||||
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)<br />
|
||||
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s<br />
|
||||
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823
|
||||
</code></div>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL="Demo README (with all place-holders)"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION="Add your FTP signature in the given field and during compilation the file will be moved to the FTP folder. You still need to point the above <b>update server</b> url to the xml file on your FTP server for it to work correctly.<br /><b>Here are the details of the signature:</b><br /> string $host = '127.0.0.1'<br /> string $port = '21'<br /> array $options = array()<br /> string $user = null<br /> string $pass = null<br /> OPTIONS = Array with any of these options:<br /> type=>[FTP_AUTOASCII|FTP_ASCII|FTP_BINARY]<br /> timeout=>(int)<br /><b>Here is an example signature:</b><br /><code>host=HOSTNAME&port=PORT_INT&options[type]=FTP_BINARY&options[timeout]=15&username=user@name.com&password=password</code>"
|
||||
@ -3157,6 +3167,8 @@ COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_VERSION_DESC="A count of the number of
|
||||
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_VERSION_LABEL="Revision"
|
||||
COM_COMPONENTBUILDER_LANGUAGE_VERSION_DESC="A count of the number of times this Language has been revised."
|
||||
COM_COMPONENTBUILDER_LANGUAGE_VERSION_LABEL="Revision"
|
||||
COM_COMPONENTBUILDER_LAST_FEW_RELEASES_FROM_GITHUB_IS_LOADING="Last few releases from Github is loading"
|
||||
COM_COMPONENTBUILDER_LATEST_RELEASE="Latest Release"
|
||||
COM_COMPONENTBUILDER_LAYOUT="Layout"
|
||||
COM_COMPONENTBUILDER_LAYOUTS="Layouts"
|
||||
COM_COMPONENTBUILDER_LAYOUTS_ACCESS="Layouts Access"
|
||||
@ -3268,7 +3280,12 @@ COM_COMPONENTBUILDER_NO="No"
|
||||
COM_COMPONENTBUILDER_NOTRANSLATION="no-translation"
|
||||
COM_COMPONENTBUILDER_NO_ACCESS_GRANTED="No Access Granted!"
|
||||
COM_COMPONENTBUILDER_NO_COMPONENTS_WERE_SELECTED_PLEASE_MAKE_A_SELECTION_AND_TRY_AGAIN="No components were selected, please make a selection and try again!"
|
||||
COM_COMPONENTBUILDER_OPENED_BY="opened by"
|
||||
COM_COMPONENTBUILDER_ON_GITHUB="on Github"
|
||||
COM_COMPONENTBUILDER_OPEN="Open"
|
||||
COM_COMPONENTBUILDER_OPENED="opened"
|
||||
COM_COMPONENTBUILDER_OPENED_THIS="opened this"
|
||||
COM_COMPONENTBUILDER_OPEN_ON_GITHUB="Open on Github"
|
||||
COM_COMPONENTBUILDER_OUT_OF_DATE="Out of date"
|
||||
COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS="Package Owner Details"
|
||||
COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS_NOT_FOUND="Package owner details not found!"
|
||||
COM_COMPONENTBUILDER_PACKAGE_OWNER_NOT_SET="Package Owner Not Set"
|
||||
@ -3279,6 +3296,7 @@ COM_COMPONENTBUILDER_PLEASE_CHECK_AGAIN_LATTER="Please check again latter."
|
||||
COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE="Please select a component that you would like to compile."
|
||||
COM_COMPONENTBUILDER_PLEASE_WAIT_CLEARING_THE_TMP_FOLDER="Please wait! Clearing the tmp folder"
|
||||
COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT="Ready to compile a component"
|
||||
COM_COMPONENTBUILDER_RELEASED_THIS="released this"
|
||||
COM_COMPONENTBUILDER_RESPOND_TO_THIS_ISSUE_ON_GITHUB="Respond to this issue on Github"
|
||||
COM_COMPONENTBUILDER_REVIEW_THIS_ISSUE_ON_GITHUB="Review this issue on Github"
|
||||
COM_COMPONENTBUILDER_SAVE_SUCCESS="Great! Item successfully saved."
|
||||
@ -3579,6 +3597,7 @@ COM_COMPONENTBUILDER_SITE_VIEW_NOTE_UIKIT_SNIPPET_LABEL="Snippet Details"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_NOTIFICATION="Notification"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_NOTIFICATION_CIRCLE="Notification Circle"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_NOT_REQUIRED="Not Required"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_ONLY_FUNCTION="Only Function"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_ORDERING_LABEL="Ordering"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_PALETTE="Palette"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_PARAGRAPH_CENTER="Paragraph Center"
|
||||
@ -3649,6 +3668,7 @@ COM_COMPONENTBUILDER_SITE_VIEW_SCISSORS="Scissors"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_SCREEN="Screen"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_SCREWDRIVER="Screwdriver"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_SEARCH="Search"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_SELECTION="Selection"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_SHARE="Share"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_SHARE_ALT="Share Alt"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_SHIELD="Shield"
|
||||
@ -3692,6 +3712,8 @@ COM_COMPONENTBUILDER_SITE_VIEW_TOP_LEFT="Top Left"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_TOP_RIGHT="Top Right"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_TREE="Tree"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_TREE_TWO="Tree 2"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_TYPE_DESCRIPTION="for list target"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_TYPE_LABEL="Type"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_UINT="UINT"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_UNARCHIVE="Unarchive"
|
||||
COM_COMPONENTBUILDER_SITE_VIEW_UNBLOCK="Unblock"
|
||||
@ -3952,8 +3974,10 @@ COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE="The package key is: <code>%s<
|
||||
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
|
||||
COM_COMPONENTBUILDER_THE_WIKI_IS_LOADING="The wiki is loading"
|
||||
COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY="This package has no key."
|
||||
COM_COMPONENTBUILDER_TOTAL_DOWNLOADS="total downloads"
|
||||
COM_COMPONENTBUILDER_TO_CHANGE_THE_PACKAGE_OWNER_DEFAULTS_OPEN_THE_BJCB_GLOBAL_OPTIONSB_GO_TO_THE_BCOMPANYB_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="To change the package owner defaults. Open the <b>JCB Global Options</b>, go to the <b>Company</b> tab and add the correct company details there."
|
||||
COM_COMPONENTBUILDER_TRANSLATION="Translation"
|
||||
COM_COMPONENTBUILDER_UP_TO_DATE="Up to date"
|
||||
COM_COMPONENTBUILDER_USED_IN="used in"
|
||||
COM_COMPONENTBUILDER_USE_BATCH="Use Batch"
|
||||
COM_COMPONENTBUILDER_USE_BATCH_DESC=" Allows users in this group to use batch copy/update method."
|
||||
@ -3961,6 +3985,7 @@ COM_COMPONENTBUILDER_USE_KEY="Use Key"
|
||||
COM_COMPONENTBUILDER_VDM_NOTICE_BOARD="VDM Notice Board"
|
||||
COM_COMPONENTBUILDER_VERSION="Version"
|
||||
COM_COMPONENTBUILDER_VIEW_MORE_ISSUES_ON_GITHUB="View more issues on Github"
|
||||
COM_COMPONENTBUILDER_VIEW_MORE_RELEASES_ON_GITHUB="View more releases on Github"
|
||||
COM_COMPONENTBUILDER_WEBSITE="Website"
|
||||
COM_COMPONENTBUILDER_YES="Yes"
|
||||
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEYBR_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY="Your data is encrypted with a AES 128 bit encryption using the above 32 character key.<br />Without this key it will take the current technology with a brute force attack method more then <a href="http://random-ize.com/how-long-to-hack-pass/" target="_blank" title="How long to hack pass">700 000 000 000 000 000 000 000 000 000 000</a> years to crack theoretically."
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage css_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_import_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fields_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage javascript_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage linked_components_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage mysql_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage mysql_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage php_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage settings_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage batchselection.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_buttons_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_script_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_rightside.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage linked_components_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publlshing.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_above.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_fullwidth.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_left.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_right.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage details_under.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.4.10
|
||||
@build 12th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage publishing.php
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user