forked from joomla/Component-Builder
Changed the compiler gif image, and improved the overall compiler GUI experience. Added the feature for dynamic hashing of strings and or files.
This commit is contained in:
parent
9f59578f8c
commit
e579cd421a
@ -143,13 +143,13 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 2nd February, 2021
|
+ *Last Build*: 19th February, 2021
|
||||||
+ *Version*: 2.12.6
|
+ *Version*: 2.12.6
|
||||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **293026**
|
+ *Line count*: **291909**
|
||||||
+ *Field count*: **1611**
|
+ *Field count*: **1627**
|
||||||
+ *File count*: **1934**
|
+ *File count*: **1935**
|
||||||
+ *Folder count*: **322**
|
+ *Folder count*: **322**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
||||||
|
@ -143,13 +143,13 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 2nd February, 2021
|
+ *Last Build*: 19th February, 2021
|
||||||
+ *Version*: 2.12.6
|
+ *Version*: 2.12.6
|
||||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **293026**
|
+ *Line count*: **291909**
|
||||||
+ *Field count*: **1611**
|
+ *Field count*: **1627**
|
||||||
+ *File count*: **1934**
|
+ *File count*: **1935**
|
||||||
+ *Folder count*: **322**
|
+ *Folder count*: **322**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
||||||
|
@ -10,4 +10,10 @@
|
|||||||
|
|
||||||
/* CSS Document */
|
/* CSS Document */
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
background-color: #fefcfe !important;
|
||||||
|
}
|
||||||
|
.jcb-sponsor-banner {
|
||||||
|
-webkit-box-shadow: 0 0 7px 1px #f0f0f0;
|
||||||
|
box-shadow: 0 0 7px 1px #f0f0f0;
|
||||||
|
}
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 395 KiB |
@ -1056,7 +1056,6 @@ class Compiler extends Infusion
|
|||||||
. '.zip'
|
. '.zip'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// move to sales server host
|
// move to sales server host
|
||||||
if ($this->componentData->add_sales_server == 1
|
if ($this->componentData->add_sales_server == 1
|
||||||
&& $this->dynamicIntegration)
|
&& $this->dynamicIntegration)
|
||||||
|
@ -5245,6 +5245,8 @@ class Get
|
|||||||
{
|
{
|
||||||
$script = $this->setGuiCodePlaceholder($script, $config);
|
$script = $this->setGuiCodePlaceholder($script, $config);
|
||||||
}
|
}
|
||||||
|
// add Dynamic HASHING option of a file/string
|
||||||
|
$script = $this->setDynamicHASHING($script);
|
||||||
// add base64 locking option of a string
|
// add base64 locking option of a string
|
||||||
$script = $this->setBase64LOCK($script);
|
$script = $this->setBase64LOCK($script);
|
||||||
// load the script
|
// load the script
|
||||||
@ -10796,6 +10798,67 @@ class Get
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a hash of a file and/or string
|
||||||
|
*
|
||||||
|
* @param string $string The code string
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
protected function setDynamicHASHING($script)
|
||||||
|
{
|
||||||
|
// check if we should hash a string
|
||||||
|
if (strpos($script, 'HASHSTRING((((') !== false)
|
||||||
|
{
|
||||||
|
// get the strings
|
||||||
|
$values = ComponentbuilderHelper::getAllBetween(
|
||||||
|
$script, 'HASHSTRING((((', '))))'
|
||||||
|
);
|
||||||
|
$locker = array();
|
||||||
|
// convert them
|
||||||
|
foreach ($values as $value)
|
||||||
|
{
|
||||||
|
$locker['HASHSTRING((((' . $value . '))))']
|
||||||
|
= md5($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// update the script
|
||||||
|
return $this->setPlaceholders($script, $locker);
|
||||||
|
}
|
||||||
|
// check if we should hash a file
|
||||||
|
if (strpos($script, 'HASHFILE((((') !== false)
|
||||||
|
{
|
||||||
|
// get the strings
|
||||||
|
$values = ComponentbuilderHelper::getAllBetween(
|
||||||
|
$script, 'HASHFILE((((', '))))'
|
||||||
|
);
|
||||||
|
$locker = array();
|
||||||
|
// convert them
|
||||||
|
foreach ($values as $path)
|
||||||
|
{
|
||||||
|
// we first get the file
|
||||||
|
if ($value = ComponentbuilderHelper::getFileContents($path))
|
||||||
|
{
|
||||||
|
// now we hash the file content
|
||||||
|
$locker['HASHFILE((((' . $path . '))))']
|
||||||
|
= md5($value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// could not retrieve the file so we show error
|
||||||
|
$locker['HASHFILE((((' . $path . '))))']
|
||||||
|
= 'ERROR';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// update the script
|
||||||
|
return $this->setPlaceholders($script, $locker);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $script;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lock a string with bsae64 (basic)
|
* Lock a string with bsae64 (basic)
|
||||||
*
|
*
|
||||||
|
@ -1970,30 +1970,147 @@ abstract class ComponentbuilderHelper
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The array of dynamic content
|
* The array of dynamic content
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected static $dynamicContent = array(
|
protected static $dynamicContent = array(
|
||||||
// The banners by size
|
// The banners by size (width - height)
|
||||||
'banner' => array(
|
'banner' => array(
|
||||||
'728-90' => array(
|
'728-90' => array(
|
||||||
'<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="https://cdn.joomla.org/volunteers/joomla-heart-wide.gif" alt="Joomla! Volunteers Portal" width="728" height="90" border="0"></a>',
|
array(
|
||||||
'<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img alt="Joomla! Community Magazine | Because community matters..." src="https://magazine.joomla.org/images/banners/JCM_2010_728x90.png" width="728" height="90" border="0" /></a>',
|
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-wide.gif',
|
||||||
'<a href="https://vdm.bz/jcb-sponsor-tlwebdesign" target="_blank" title="tlwebdesign a JCB sponsor | Because community matters..."><img alt="tlwebdesign a JCB sponsor | Because community matters..." src="https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png" width="728" height="90" border="0" /></a>',
|
'hash' => 'f857e3a38facaeac9eba3cffa912b620',
|
||||||
'<a href="https://vdm.bz/jcb-sponsor-vdm" target="_blank" title="VDM a JCB sponsor | Because community matters..."><img alt="VDM a JCB sponsor | Because community matters..." src="https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif" width="728" height="90" border="0" /></a>',
|
'html' => '<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/joomla-heart-wide.gif" alt="Joomla! Volunteers Portal" width="728" height="90" border="0"></a>'),
|
||||||
'<a href="https://vdm.bz/jcb-sponsor-agerix" target="_blank" title="Agerix a JCB sponsor | Because community matters..."><img alt="Agerix a JCB sponsor | Because community matters..." src="https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif" width="728" height="90" border="0" /></a>'
|
array(
|
||||||
|
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_728x90.png',
|
||||||
|
'hash' => '4083c66f996279fd5a76adffc3a7d194',
|
||||||
|
'html' => '<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img alt="Joomla! Community Magazine | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/JCM_2010_728x90.png" width="728" height="90" border="0" /></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png',
|
||||||
|
'hash' => 'd19be1f9f5b2049ff901096aafc246be',
|
||||||
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-tlwebdesign" target="_blank" title="tlwebdesign a JCB sponsor | Because community matters..."><img alt="tlwebdesign a JCB sponsor | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/tlwebdesign_jcb_sponsor_728_90.png" width="728" height="90" border="0" /></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif',
|
||||||
|
'hash' => '84478dfa0cd880395815e0ee026812a4',
|
||||||
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-vdm" target="_blank" title="VDM a JCB sponsor | Because community matters..."><img alt="VDM a JCB sponsor | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/vdm_jcb_sponsor_728_90.gif" width="728" height="90" border="0" /></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif',
|
||||||
|
'hash' => 'b24c0726aa809cdcc04bcffe7e1e1529',
|
||||||
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-agerix" target="_blank" title="Agerix a JCB sponsor | Because community matters..."><img alt="Agerix a JCB sponsor | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/agerix-loves-jcb-728-90.gif" width="728" height="90" border="0" /></a>')
|
||||||
),
|
),
|
||||||
'160-600' => array(
|
'160-600' => array(
|
||||||
'<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="https://cdn.joomla.org/volunteers/joomla-heart-tall.gif" alt="Joomla! Volunteers Portal" width="160" height="600" border="0"></a>',
|
array(
|
||||||
'<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img src="https://magazine.joomla.org/images/banners/JCM_2010_120x600.png" alt="Joomla! Community Magazine | Because community matters..." width="120" height="600" border="0"/></a>'
|
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-tall.gif',
|
||||||
|
'hash' => '9a75e4929b86c318128b53cf78251678',
|
||||||
|
'html' => '<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/joomla-heart-tall.gif" alt="Joomla! Volunteers Portal" width="160" height="600" border="0"></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_120x600.png',
|
||||||
|
'hash' => '5389cf3be8569cb3f6793e8bd4013d19',
|
||||||
|
'html' => '<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/JCM_2010_120x600.png" alt="Joomla! Community Magazine | Because community matters..." width="120" height="600" border="0"/></a>')
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
// The build-gif by size
|
// The build-gif by size (width - height)
|
||||||
'builder-gif' => array(
|
'builder-gif' => array(
|
||||||
'707-400' => array(
|
'480-540' => array(
|
||||||
'<img src="components/com_componentbuilder/assets/images/ajax-loader.gif" />'
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/1.gif',
|
||||||
|
'hash' => 'ce6e36456fa794ba95d981547b2f54f8',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/1.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/2.gif',
|
||||||
|
'hash' => '0a54dbc393359747e33db90cabb1e2d7',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/2.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/3.gif',
|
||||||
|
'hash' => '4e5498713ff69a64a0a79dbf620372a3',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/3.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/4.gif',
|
||||||
|
'hash' => '3554ffab2a6df95a116fd9f0db63925c',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/4.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/5.gif',
|
||||||
|
'hash' => '08f0cdf188593eca65c6dafd7af27ef9',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/5.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/6.gif',
|
||||||
|
'hash' => '103b46a7ac3fcb974e25d06f417a4e87',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/6.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/7.gif',
|
||||||
|
'hash' => 'ffa8547099b7286f89ab7ff5a140dd90',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/7.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/8.gif',
|
||||||
|
'hash' => '316df780f9e4ce81200a65d3c4303c41',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/8.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/9.gif',
|
||||||
|
'hash' => '9ab6ba78b6e63a285fdef2ff5e447c93',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/9.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/10.gif',
|
||||||
|
'hash' => 'cd9abaa1cb95f51a70916da6b70614f2',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/10.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/11.gif',
|
||||||
|
'hash' => 'cfe53095b5249618e2348223b89262b9',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/11.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/12.gif',
|
||||||
|
'hash' => '15a6690647d5160d67c80ce4dd1f5602',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/12.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/13.gif',
|
||||||
|
'hash' => '2f77562e92c8a3b7c47664c98f551fe8',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/13.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/14.gif',
|
||||||
|
'hash' => '46db15517ef5bd063be85134e1cc575d',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/14.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/15.gif',
|
||||||
|
'hash' => 'e6c96eff157ea648ceb1583f2cc22544',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/15.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/16.gif',
|
||||||
|
'hash' => '76010b7d1f99952eb9645df660467ae8',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/16.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/17.gif',
|
||||||
|
'hash' => '021219ddd72d8fcfc7f80bd4a874d651',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/17.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/18.gif',
|
||||||
|
'hash' => '383af3179d4ae27301c1292e630d7155',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/18.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/19.gif',
|
||||||
|
'hash' => '8537e6d7be93447241b521f851e8a61d',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/19.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/20.gif',
|
||||||
|
'hash' => '10d96f70e3d43086a925b00a7dc0022e',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/20.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/21.gif',
|
||||||
|
'hash' => '161de9865b171b44039353b8d50491d3',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/21.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/22.gif',
|
||||||
|
'hash' => '6a2354e43eb97d278d74bb2c12890988',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/22.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/23.gif',
|
||||||
|
'hash' => '2cb6e2f9562a8dc8eef6d5d8d1a84f5e',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/23.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/24.gif',
|
||||||
|
'hash' => '745b3fb5e16515689132432bf02ab1b4',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/24.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>')
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -2003,18 +2120,50 @@ abstract class ComponentbuilderHelper
|
|||||||
*
|
*
|
||||||
* @param string $type The type of content
|
* @param string $type The type of content
|
||||||
* @param string $size The size of the content
|
* @param string $size The size of the content
|
||||||
|
* @param mix $default The default to return
|
||||||
*
|
*
|
||||||
* @return string on success
|
* @return string on success html string
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getDynamicContent($type, $size, $default = '')
|
public static function getDynamicContent($type, $size, $default = '', $try = 0)
|
||||||
{
|
{
|
||||||
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size]) && ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size])
|
||||||
|
&& ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
||||||
{
|
{
|
||||||
// get the random item number
|
// get the random item number
|
||||||
$get = (int) rand(0, --$nr);
|
$get = (int) rand(0, --$nr);
|
||||||
|
// get the current target
|
||||||
|
$target = self::$dynamicContent[$type][$size][$get];
|
||||||
|
// set file name
|
||||||
|
$file_name = basename($target['url']);
|
||||||
|
// set the local path (in admin area so when the component uninstall these images get removed as well)
|
||||||
|
$path = JPATH_ROOT . "/administrator/components/com_componentbuilder/assets/images/$type/$file_name";
|
||||||
|
// check if file exist or if it changed
|
||||||
|
if (($image_data = self::getFileContents($path, false)) === false ||
|
||||||
|
md5($image_data) !== $target['hash'])
|
||||||
|
{
|
||||||
|
// since the file does not exist or has changed (so we have a new hash)
|
||||||
|
// therefore we download it to validate
|
||||||
|
if (($image_data = self::getFileContents($target['url'], false)) !== false &&
|
||||||
|
md5($image_data) === $target['hash'])
|
||||||
|
{
|
||||||
|
// create the JCB type path if it does not exist
|
||||||
|
if (!JFolder::exists(JPATH_ROOT . "/administrator/components/com_componentbuilder/assets/images/$type"))
|
||||||
|
{
|
||||||
|
JFolder::create(JPATH_ROOT . "/administrator/components/com_componentbuilder/assets/images/$type");
|
||||||
|
}
|
||||||
|
// only set the image if the data match the hash
|
||||||
|
self::writeFile($path, $image_data);
|
||||||
|
}
|
||||||
|
// we retry 26 times
|
||||||
|
elseif ($try < 26)
|
||||||
|
{
|
||||||
|
// the time around failed so we try again
|
||||||
|
return self::getDynamicContent($type, $size, $default, ++$try);
|
||||||
|
}
|
||||||
|
}
|
||||||
// return found content
|
// return found content
|
||||||
return self::$dynamicContent[$type][$size][$get];
|
return str_replace('[[[ROOT-URL]]]', JURI::root(), $target['html']);
|
||||||
}
|
}
|
||||||
return $default;
|
return $default;
|
||||||
}
|
}
|
||||||
|
@ -3846,8 +3846,11 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NEW_TAB="New Tab"
|
|||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NEW_TAB_TWO="New Tab 2"
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NEW_TAB_TWO="New Tab 2"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NEXT="Next"
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NEXT="Next"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NO="No"
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NO="No"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code>"
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code><br />
|
||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_LANGUAGE_STRING_LABEL="Add Language String"
|
<code><?= JText::sprintf('Hello %s', $this->user->name) ?></code><br />
|
||||||
|
<b>Just get UPPERCASE language string:</b><br />
|
||||||
|
<code><?= JustTEXT::_('Text') ?></code>"
|
||||||
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL="Add PHP Language String"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_LINKED_TO_NOTICE_DESCRIPTION="<div id='display_linked_to'>Searching the database.<span class='loading-dots'></span></div>"
|
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_LINKED_TO_NOTICE_DESCRIPTION="<div id='display_linked_to'>Searching the database.<span class='loading-dots'></span></div>"
|
||||||
@ -5532,6 +5535,7 @@ COM_COMPONENTBUILDER_INACTIVE="Inactive"
|
|||||||
COM_COMPONENTBUILDER_IN_SYNC="In Sync"
|
COM_COMPONENTBUILDER_IN_SYNC="In Sync"
|
||||||
COM_COMPONENTBUILDER_ISOLATE="Isolate"
|
COM_COMPONENTBUILDER_ISOLATE="Isolate"
|
||||||
COM_COMPONENTBUILDER_ISSUE="issue"
|
COM_COMPONENTBUILDER_ISSUE="issue"
|
||||||
|
COM_COMPONENTBUILDER_IS_BEING_COMPILED="is being compiled"
|
||||||
COM_COMPONENTBUILDER_IS_NOT_ONLY_FOUR_LISTRADIOCHECKBOXES="Is Not (only 4 list/radio/checkboxes)"
|
COM_COMPONENTBUILDER_IS_NOT_ONLY_FOUR_LISTRADIOCHECKBOXES="Is Not (only 4 list/radio/checkboxes)"
|
||||||
COM_COMPONENTBUILDER_IS_ONLY_FOUR_LISTRADIOCHECKBOXES="Is (only 4 list/radio/checkboxes)"
|
COM_COMPONENTBUILDER_IS_ONLY_FOUR_LISTRADIOCHECKBOXES="Is (only 4 list/radio/checkboxes)"
|
||||||
COM_COMPONENTBUILDER_IWEBSITEI_BSB="<i>Website:</i> <b>%s</b>"
|
COM_COMPONENTBUILDER_IWEBSITEI_BSB="<i>Website:</i> <b>%s</b>"
|
||||||
@ -6327,8 +6331,11 @@ COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_MESSAGE="Error! Please add name here."
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_NEW="A New Joomla Module"
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_NEW="A New Joomla Module"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO="No"
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO="No"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_NONE="None"
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_NONE="None"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code>"
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code><br />
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_LABEL="Add Language String"
|
<code><?= JText::sprintf('Hello %s', $this->user->name) ?></code><br />
|
||||||
|
<b>Just get UPPERCASE language string:</b><br />
|
||||||
|
<code><?= JustTEXT::_('Text') ?></code>"
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL="Add PHP Language String"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_DESCRIPTION="<p>All libraries added to modules are added to the component media folder for now</p>
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_DESCRIPTION="<p>All libraries added to modules are added to the component media folder for now</p>
|
||||||
<p>So over here you are able to manually add HTML code to your model default tmpl.</p>"
|
<p>So over here you are able to manually add HTML code to your model default tmpl.</p>"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_LABEL="Libraries Options"
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_LABEL="Libraries Options"
|
||||||
@ -7170,8 +7177,11 @@ COM_COMPONENTBUILDER_LAYOUT_NAME_LABEL="Name"
|
|||||||
COM_COMPONENTBUILDER_LAYOUT_NAME_MESSAGE="Error! Please add name here."
|
COM_COMPONENTBUILDER_LAYOUT_NAME_MESSAGE="Error! Please add name here."
|
||||||
COM_COMPONENTBUILDER_LAYOUT_NEW="A New Layout"
|
COM_COMPONENTBUILDER_LAYOUT_NEW="A New Layout"
|
||||||
COM_COMPONENTBUILDER_LAYOUT_NO="No"
|
COM_COMPONENTBUILDER_LAYOUT_NO="No"
|
||||||
COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code>"
|
COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code><br />
|
||||||
COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_LABEL="Add Language String"
|
<code><?= JText::sprintf('Hello %s', $this->user->name) ?></code><br />
|
||||||
|
<b>Just get UPPERCASE language string:</b><br />
|
||||||
|
<code><?= JustTEXT::_('Text') ?></code>"
|
||||||
|
COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL="Add PHP Language String"
|
||||||
COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
||||||
COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
||||||
COM_COMPONENTBUILDER_LAYOUT_NOTE_SNIPPET_USAGE_LABEL="Snippet Usage"
|
COM_COMPONENTBUILDER_LAYOUT_NOTE_SNIPPET_USAGE_LABEL="Snippet Usage"
|
||||||
@ -8260,8 +8270,11 @@ COM_COMPONENTBUILDER_SITE_VIEW_NEW_TAB_TWO="New Tab 2"
|
|||||||
COM_COMPONENTBUILDER_SITE_VIEW_NEXT="Next"
|
COM_COMPONENTBUILDER_SITE_VIEW_NEXT="Next"
|
||||||
COM_COMPONENTBUILDER_SITE_VIEW_NO="No"
|
COM_COMPONENTBUILDER_SITE_VIEW_NO="No"
|
||||||
COM_COMPONENTBUILDER_SITE_VIEW_NONE="None"
|
COM_COMPONENTBUILDER_SITE_VIEW_NONE="None"
|
||||||
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code>"
|
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code><br />
|
||||||
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_LANGUAGE_STRING_LABEL="Add Language String"
|
<code><?= JText::sprintf('Hello %s', $this->user->name) ?></code><br />
|
||||||
|
<b>Just get UPPERCASE language string:</b><br />
|
||||||
|
<code><?= JustTEXT::_('Text') ?></code>"
|
||||||
|
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL="Add PHP Language String"
|
||||||
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_CUSTOM_TOOLBAR_PLACEHOLDER_DESCRIPTION="Use this placeholder in the body <code>[[[SITE_TOOLBAR]]]</code> to add the custom position of the toolbar."
|
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_CUSTOM_TOOLBAR_PLACEHOLDER_DESCRIPTION="Use this placeholder in the body <code>[[[SITE_TOOLBAR]]]</code> to add the custom position of the toolbar."
|
||||||
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
||||||
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
||||||
@ -8634,7 +8647,7 @@ COM_COMPONENTBUILDER_SZIP_COULD_NOT_BE_INSTALLED="%s.zip could not be installed!
|
|||||||
COM_COMPONENTBUILDER_SZIP_WAS_REMOVED_THE_FROM_TMP_FOLDER_DURING_INSTALLATION="%s.zip was removed the from tmp folder during installation!"
|
COM_COMPONENTBUILDER_SZIP_WAS_REMOVED_THE_FROM_TMP_FOLDER_DURING_INSTALLATION="%s.zip was removed the from tmp folder during installation!"
|
||||||
COM_COMPONENTBUILDER_S_BEING_IMPORTED="%s Being Imported"
|
COM_COMPONENTBUILDER_S_BEING_IMPORTED="%s Being Imported"
|
||||||
COM_COMPONENTBUILDER_S_NOT_LINKED="%s Not Linked"
|
COM_COMPONENTBUILDER_S_NOT_LINKED="%s Not Linked"
|
||||||
COM_COMPONENTBUILDER_S_PLEASE_WAIT_THE_COMPONENT_IS_BEING_COMPILED="%s, please wait! The component is being compiled"
|
COM_COMPONENTBUILDER_S_PLEASE_WAIT="%s, please wait!"
|
||||||
COM_COMPONENTBUILDER_TAB="Tab"
|
COM_COMPONENTBUILDER_TAB="Tab"
|
||||||
COM_COMPONENTBUILDER_TABLE_BSB_NOT_FOUND_IN_THE_LOCAL_DATABASE_SO_ITS_VALUES_COULD_NOT_BE_IMPORTED_PLEASE_UPDATE_YOUR_JCB_INSTALL_AND_TRY_AGAIN="Table <b>%s</b> not found in the local database so its values could not be imported, please update your JCB install and try again."
|
COM_COMPONENTBUILDER_TABLE_BSB_NOT_FOUND_IN_THE_LOCAL_DATABASE_SO_ITS_VALUES_COULD_NOT_BE_IMPORTED_PLEASE_UPDATE_YOUR_JCB_INSTALL_AND_TRY_AGAIN="Table <b>%s</b> not found in the local database so its values could not be imported, please update your JCB install and try again."
|
||||||
COM_COMPONENTBUILDER_TARGET_BEHAVIOUR="Target Behaviour"
|
COM_COMPONENTBUILDER_TARGET_BEHAVIOUR="Target Behaviour"
|
||||||
@ -8729,8 +8742,11 @@ COM_COMPONENTBUILDER_TEMPLATE_NAME_LABEL="Name"
|
|||||||
COM_COMPONENTBUILDER_TEMPLATE_NAME_MESSAGE="Error! Please add name here."
|
COM_COMPONENTBUILDER_TEMPLATE_NAME_MESSAGE="Error! Please add name here."
|
||||||
COM_COMPONENTBUILDER_TEMPLATE_NEW="A New Template"
|
COM_COMPONENTBUILDER_TEMPLATE_NEW="A New Template"
|
||||||
COM_COMPONENTBUILDER_TEMPLATE_NO="No"
|
COM_COMPONENTBUILDER_TEMPLATE_NO="No"
|
||||||
COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code>"
|
COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION="<code><?= JText::_('Text') ?></code><br />
|
||||||
COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_LANGUAGE_STRING_LABEL="Add Language String"
|
<code><?= JText::sprintf('Hello %s', $this->user->name) ?></code><br />
|
||||||
|
<b>Just get UPPERCASE language string:</b><br />
|
||||||
|
<code><?= JustTEXT::_('Text') ?></code>"
|
||||||
|
COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL="Add PHP Language String"
|
||||||
COM_COMPONENTBUILDER_TEMPLATE_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
COM_COMPONENTBUILDER_TEMPLATE_NOTE_LIBRARIES_SELECTION_DESCRIPTION="All libraries you select will dynamically be added to the header of the page according to the settings of the selected library. Each library will also get its respective buttons added to the component global options if it has any set. Please take a look at the <span id='open-libraries'>libraries</span> for more details."
|
||||||
COM_COMPONENTBUILDER_TEMPLATE_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
COM_COMPONENTBUILDER_TEMPLATE_NOTE_LIBRARIES_SELECTION_LABEL="Select libraries you would like to use in your code"
|
||||||
COM_COMPONENTBUILDER_TEMPLATE_NOTE_SNIPPET_USAGE_LABEL="Snippet Usage"
|
COM_COMPONENTBUILDER_TEMPLATE_NOTE_SNIPPET_USAGE_LABEL="Snippet Usage"
|
||||||
@ -8780,6 +8796,7 @@ COM_COMPONENTBUILDER_THE_BSB_LIBRARYCLASS_IS_NOT_AVAILABLE_THIS_LIBRARYCLASS_SHO
|
|||||||
COM_COMPONENTBUILDER_THE_BSB_LIBRARY_CAN_NOT_BE_DELETED_OR_THINGS_WILL_BREAK="The <b>%s</b> library can not be deleted, or things will break."
|
COM_COMPONENTBUILDER_THE_BSB_LIBRARY_CAN_NOT_BE_DELETED_OR_THINGS_WILL_BREAK="The <b>%s</b> library can not be deleted, or things will break."
|
||||||
COM_COMPONENTBUILDER_THE_BSHOW_IN_ALL_LIST_VIEWSB_OPTION_WILL_ADD_THIS_FIELD_TO_ALL_LIST_VIEWS_ADMIN_AMP_LINKED="The <b>Show in All List Views</b> option will Add this field to all list views, admin & linked."
|
COM_COMPONENTBUILDER_THE_BSHOW_IN_ALL_LIST_VIEWSB_OPTION_WILL_ADD_THIS_FIELD_TO_ALL_LIST_VIEWS_ADMIN_AMP_LINKED="The <b>Show in All List Views</b> option will Add this field to all list views, admin & linked."
|
||||||
COM_COMPONENTBUILDER_THE_BSINGLE_FILTERB_SELECTION_OPTION_ALLOWS_THE_USER_TO_SELECT_JUST_ONE_VALUE_IN_THIS_FILTERFIELD="The <b>single filter</b> selection option allows the user to select just one value in this filter/field."
|
COM_COMPONENTBUILDER_THE_BSINGLE_FILTERB_SELECTION_OPTION_ALLOWS_THE_USER_TO_SELECT_JUST_ONE_VALUE_IN_THIS_FILTERFIELD="The <b>single filter</b> selection option allows the user to select just one value in this filter/field."
|
||||||
|
COM_COMPONENTBUILDER_THE_COMPONENT="The Component"
|
||||||
COM_COMPONENTBUILDER_THE_COMPONENT_ADMIN_VIEWS="The component admin views"
|
COM_COMPONENTBUILDER_THE_COMPONENT_ADMIN_VIEWS="The component admin views"
|
||||||
COM_COMPONENTBUILDER_THE_COMPONENT_CONFIG="The component config"
|
COM_COMPONENTBUILDER_THE_COMPONENT_CONFIG="The component config"
|
||||||
COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_MENUS="The component custom admin menus"
|
COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_MENUS="The component custom admin menus"
|
||||||
@ -8821,6 +8838,7 @@ COM_COMPONENTBUILDER_THE_URL_S_SET_TO_RETRIEVE_THE_PACKAGES_DOES_NOT_EXIST="The
|
|||||||
COM_COMPONENTBUILDER_THE_URL_S_SET_TO_RETRIEVE_THE_PACKAGES_DOES_NOT_RETURN_ANY_DATA="The url (%s) set to retrieve the packages does not return any data!"
|
COM_COMPONENTBUILDER_THE_URL_S_SET_TO_RETRIEVE_THE_PACKAGES_DOES_NOT_RETURN_ANY_DATA="The url (%s) set to retrieve the packages does not return any data!"
|
||||||
COM_COMPONENTBUILDER_THE_WIKI_IS_LOADING="The wiki is loading"
|
COM_COMPONENTBUILDER_THE_WIKI_IS_LOADING="The wiki is loading"
|
||||||
COM_COMPONENTBUILDER_THIS_BSB_IS_NOT_LINKED_TO_ANY_OTHER_AREAS_OF_JCB_AT_THIS_TIME="This <b>%s</b> is not linked to any other areas of JCB at this time!"
|
COM_COMPONENTBUILDER_THIS_BSB_IS_NOT_LINKED_TO_ANY_OTHER_AREAS_OF_JCB_AT_THIS_TIME="This <b>%s</b> is not linked to any other areas of JCB at this time!"
|
||||||
|
COM_COMPONENTBUILDER_THIS_MAY_TAKE_A_WHILE_DEPENDING_ON_THE_SIZE_OF_YOUR_PROJECT="This may take a while depending on the size of your project."
|
||||||
COM_COMPONENTBUILDER_THIS_PACKAGE_BPASSEDB_THE_CHECKSUM_VALIDATIONBR_BR_SMALLMANUALLY_ALSO_VALIDATE_THAT_THE_CORRECT_CHECKSUM_WAS_USEDSMALLBR_THIS_CHECKSUM_BSB_MUST_BE_THE_SAME_AS_THE_ONE_FOUND_A_S_SA="This package <b>PASSED</b> the checksum validation!<br /><br /><small>Manually also validate that the correct checksum was used.</small><br />This checksum: <b>%s</b> must be the same as the one found @ <a %s %s</a>"
|
COM_COMPONENTBUILDER_THIS_PACKAGE_BPASSEDB_THE_CHECKSUM_VALIDATIONBR_BR_SMALLMANUALLY_ALSO_VALIDATE_THAT_THE_CORRECT_CHECKSUM_WAS_USEDSMALLBR_THIS_CHECKSUM_BSB_MUST_BE_THE_SAME_AS_THE_ONE_FOUND_A_S_SA="This package <b>PASSED</b> the checksum validation!<br /><br /><small>Manually also validate that the correct checksum was used.</small><br />This checksum: <b>%s</b> must be the same as the one found @ <a %s %s</a>"
|
||||||
COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY="This package has no key."
|
COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY="This package has no key."
|
||||||
COM_COMPONENTBUILDER_TITLE="Title"
|
COM_COMPONENTBUILDER_TITLE="Title"
|
||||||
|
@ -31,7 +31,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
);
|
);
|
||||||
|
|
||||||
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
||||||
|
22
admin/layouts/jcbnoticeboardpro.php
Normal file
22
admin/layouts/jcbnoticeboardpro.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||||
|
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('JPATH_BASE') or die('Restricted access');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
<div class="well well-small">
|
||||||
|
<h2 class="module-title nav-header"><?= JText::_('COM_COMPONENTBUILDER_JCB_PRO_NOTICE_BOARD') ?></h2>
|
||||||
|
<div class="proboard-md"><small><?= JText::_('COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING') ?><span class="loading-dots">.</span></small></div>
|
||||||
|
<div style="text-align:right;"><small><a href="https://vdm.bz/get-jcb-pro-membership" target="_blank" style="color:gray">JCB PRO</a></small></div>
|
||||||
|
</div>
|
@ -15,23 +15,15 @@ defined('JPATH_BASE') or die('Restricted access');
|
|||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div id="noticeboard">
|
<div id="<?= $displayData ?>">
|
||||||
<?php echo JHtml::_('bootstrap.startTabSet', 'compiler_tab', array('active' => 'vdm-noticeboard')); ?>
|
<?= JHtml::_('bootstrap.startTabSet', $displayData . '_tab', array('active' => 'vdm-noticeboard')) ?>
|
||||||
<?php echo JHtml::_('bootstrap.addTab', 'compiler_tab', 'vdm-noticeboard', JText::_('COM_COMPONENTBUILDER_VDM_BOARD', true)); ?>
|
<?= JHtml::_('bootstrap.addTab', $displayData . '_tab', 'vdm-noticeboard', JText::_('COM_COMPONENTBUILDER_VDM_BOARD', true)) ?>
|
||||||
<div class="well well-small">
|
<?= JLayoutHelper::render('jcbnoticeboardvdm', null) ?>
|
||||||
<h2 class="module-title nav-header"><?php echo JText::_('COM_COMPONENTBUILDER_VDM_NOTICE_BOARD'); ?><span id="vdm-new-notice" style="display:none; color:red;"> (<?php echo JText::_('COM_COMPONENTBUILDER_NEW_NOTICE'); ?>)</span></h2>
|
<div class="jcb-sponsor-banner"><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
||||||
<div id="noticeboard-md"><small><?php echo JText::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING'); ?><span class="loading-dots">.</span></small></div>
|
<?= JHtml::_('bootstrap.endTab'); ?>
|
||||||
<div style="text-align:right;"><small><a href="https://github.com/Llewellynvdm" target="_blank" style="color:gray"><<ewe>>yn</a></small></div>
|
<?= JHtml::_('bootstrap.addTab', $displayData . '_tab', 'proboard', JText::_('COM_COMPONENTBUILDER_JCB_PRO_BOARD', true)) ?>
|
||||||
</div>
|
<?= JLayoutHelper::render('jcbnoticeboardpro', null) ?>
|
||||||
<div><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
<div class="jcb-sponsor-banner"><?= ComponentbuilderHelper::getDynamicContent('banner', '728-90') ?></div>
|
||||||
<?php echo JHtml::_('bootstrap.endTab'); ?>
|
<?= JHtml::_('bootstrap.endTab') ?>
|
||||||
<?php echo JHtml::_('bootstrap.addTab', 'compiler_tab', 'proboard', JText::_('COM_COMPONENTBUILDER_JCB_PRO_BOARD', true)); ?>
|
<?= JHtml::_('bootstrap.endTabSet') ?>
|
||||||
<div class="well well-small">
|
|
||||||
<h2 class="module-title nav-header"><?php echo JText::_('COM_COMPONENTBUILDER_JCB_PRO_NOTICE_BOARD'); ?></h2>
|
|
||||||
<div id="proboard-md"><small><?php echo JText::_('COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING'); ?><span class="loading-dots">.</span></small></div>
|
|
||||||
<div style="text-align:right;"><small><a href="https://vdm.bz/get-jcb-pro-membership" target="_blank" style="color:gray">JCB PRO</a></small></div>
|
|
||||||
</div>
|
|
||||||
<div><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
|
||||||
<?php echo JHtml::_('bootstrap.endTab'); ?>
|
|
||||||
<?php echo JHtml::_('bootstrap.endTabSet'); ?>
|
|
||||||
</div>
|
</div>
|
||||||
|
22
admin/layouts/jcbnoticeboardvdm.php
Normal file
22
admin/layouts/jcbnoticeboardvdm.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||||
|
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('JPATH_BASE') or die('Restricted access');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
<div class="well well-small">
|
||||||
|
<h2 class="module-title nav-header"><?= JText::_('COM_COMPONENTBUILDER_VDM_NOTICE_BOARD') ?><span class="vdm-new-notice" style="display:none; color:red;"> (<?= JText::_('COM_COMPONENTBUILDER_NEW_NOTICE') ?>)</span></h2>
|
||||||
|
<div class="noticeboard-md"><small><?= JText::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING') ?><span class="loading-dots">.</span></small></div>
|
||||||
|
<div style="text-align:right;"><small><a href="https://github.com/Llewellynvdm" target="_blank" style="color:gray"><<ewe>>yn</a></small></div>
|
||||||
|
</div>
|
@ -30,7 +30,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
|||||||
'description',
|
'description',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_libraries_options',
|
'note_libraries_options',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
);
|
);
|
||||||
|
|
||||||
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
||||||
|
@ -31,7 +31,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
);
|
);
|
||||||
|
|
||||||
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
||||||
|
@ -31,7 +31,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
);
|
);
|
||||||
|
|
||||||
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
||||||
|
@ -31,7 +31,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
);
|
);
|
||||||
|
|
||||||
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
||||||
|
@ -560,7 +560,7 @@ class ComponentbuilderModelComponentbuilder extends JModelList
|
|||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true";
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true";
|
||||||
}
|
}
|
||||||
if(token.length > 0 && notice.length){
|
if(token.length > 0 && notice.length){
|
||||||
var request = "token="+token+"¬ice="+notice;
|
var request = token+"=1¬ice="+notice;
|
||||||
}
|
}
|
||||||
return jQuery.ajax({
|
return jQuery.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
@ -34,7 +34,7 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
),
|
),
|
||||||
'right' => array(
|
'right' => array(
|
||||||
'icon',
|
'icon',
|
||||||
|
@ -150,8 +150,8 @@
|
|||||||
required="true"
|
required="true"
|
||||||
button="true"
|
button="true"
|
||||||
/>
|
/>
|
||||||
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_add_php_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_add_language_string" label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_language_string" />
|
<field type="note" name="note_add_php_language_string" label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_php_language_string" />
|
||||||
<!-- Add_php_jview_display Field. Type: Radio. (joomla) -->
|
<!-- Add_php_jview_display Field. Type: Radio. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="radio"
|
type="radio"
|
||||||
|
@ -245,8 +245,8 @@
|
|||||||
required="false"
|
required="false"
|
||||||
button="true"
|
button="true"
|
||||||
/>
|
/>
|
||||||
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_add_php_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_add_language_string" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_language_string" />
|
<field type="note" name="note_add_php_language_string" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_php_language_string" />
|
||||||
<!-- Add_sql Field. Type: Radio. (joomla) -->
|
<!-- Add_sql Field. Type: Radio. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="radio"
|
type="radio"
|
||||||
|
@ -205,8 +205,8 @@
|
|||||||
<field type="note" name="note_snippet_usage" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_SNIPPET_USAGE_LABEL" heading="h4" class="snippet-usage note_snippet_usage" />
|
<field type="note" name="note_snippet_usage" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_SNIPPET_USAGE_LABEL" heading="h4" class="snippet-usage note_snippet_usage" />
|
||||||
<!-- Note_uikit_snippet Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_uikit_snippet Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_uikit_snippet" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_UIKIT_SNIPPET_LABEL" heading="h4" class="snippet-code note_uikit_snippet" />
|
<field type="note" name="note_uikit_snippet" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_UIKIT_SNIPPET_LABEL" heading="h4" class="snippet-code note_uikit_snippet" />
|
||||||
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_add_php_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_add_language_string" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_language_string" />
|
<field type="note" name="note_add_php_language_string" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_php_language_string" />
|
||||||
<!-- Libraries Field. Type: Libraries. (custom) -->
|
<!-- Libraries Field. Type: Libraries. (custom) -->
|
||||||
<field
|
<field
|
||||||
type="libraries"
|
type="libraries"
|
||||||
|
@ -208,8 +208,8 @@
|
|||||||
filter="raw"
|
filter="raw"
|
||||||
validate="code"
|
validate="code"
|
||||||
/>
|
/>
|
||||||
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_add_php_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_add_language_string" label="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_language_string" />
|
<field type="note" name="note_add_php_language_string" label="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_php_language_string" />
|
||||||
<!-- Codename Field. Type: Text. (joomla) -->
|
<!-- Codename Field. Type: Text. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="text"
|
type="text"
|
||||||
|
@ -205,8 +205,8 @@
|
|||||||
/>
|
/>
|
||||||
<!-- Note_uikit_snippet Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_uikit_snippet Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_uikit_snippet" label="COM_COMPONENTBUILDER_TEMPLATE_NOTE_UIKIT_SNIPPET_LABEL" heading="h4" class="snippet-code note_uikit_snippet" />
|
<field type="note" name="note_uikit_snippet" label="COM_COMPONENTBUILDER_TEMPLATE_NOTE_UIKIT_SNIPPET_LABEL" heading="h4" class="snippet-code note_uikit_snippet" />
|
||||||
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_add_php_language_string Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_add_language_string" label="COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_language_string" />
|
<field type="note" name="note_add_php_language_string" label="COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_PHP_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_TEMPLATE_NOTE_ADD_PHP_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_php_language_string" />
|
||||||
<!-- Libraries Field. Type: Libraries. (custom) -->
|
<!-- Libraries Field. Type: Libraries. (custom) -->
|
||||||
<field
|
<field
|
||||||
type="libraries"
|
type="libraries"
|
||||||
|
@ -33,7 +33,7 @@ class ComponentbuilderModelJoomla_module extends JModelAdmin
|
|||||||
'description',
|
'description',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_libraries_options',
|
'note_libraries_options',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
),
|
),
|
||||||
'right' => array(
|
'right' => array(
|
||||||
'snippet',
|
'snippet',
|
||||||
|
@ -34,7 +34,7 @@ class ComponentbuilderModelLayout extends JModelAdmin
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
),
|
),
|
||||||
'right' => array(
|
'right' => array(
|
||||||
'snippet',
|
'snippet',
|
||||||
|
@ -34,7 +34,7 @@ class ComponentbuilderModelSite_view extends JModelAdmin
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
),
|
),
|
||||||
'right' => array(
|
'right' => array(
|
||||||
'snippet',
|
'snippet',
|
||||||
|
@ -34,7 +34,7 @@ class ComponentbuilderModelTemplate extends JModelAdmin
|
|||||||
'description',
|
'description',
|
||||||
'note_libraries_selection',
|
'note_libraries_selection',
|
||||||
'libraries',
|
'libraries',
|
||||||
'note_add_language_string'
|
'note_add_php_language_string'
|
||||||
),
|
),
|
||||||
'right' => array(
|
'right' => array(
|
||||||
'snippet',
|
'snippet',
|
||||||
|
@ -2299,7 +2299,7 @@ INSERT INTO `#__componentbuilder_admin_fields_conditions` (`id`, `addconditions`
|
|||||||
--
|
--
|
||||||
|
|
||||||
INSERT INTO `#__componentbuilder_component_admin_views` (`id`, `addadmin_views`, `joomla_component`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
|
INSERT INTO `#__componentbuilder_component_admin_views` (`id`, `addadmin_views`, `joomla_component`, `published`, `created`, `modified`, `version`, `hits`, `ordering`) VALUES
|
||||||
(27, '{\"addadmin_views0\":{\"adminview\":\"109\",\"icomoon\":\"eye-open\",\"mainmenu\":\"1\",\"dashboard_add\":\"1\",\"dashboard_list\":\"1\",\"submenu\":\"1\",\"checkin\":\"1\",\"history\":\"1\",\"joomla_fields\":\"1\",\"metadata\":\"1\",\"access\":\"1\",\"port\":\"1\",\"edit_create_site_view\":\"1\",\"order\":\"1\"}}', 25, 1, '2017-10-28 03:56:26', '2018-08-22 19:18:19', 6, '', '');
|
(27, '{\"addadmin_views0\":{\"adminview\":\"109\",\"icomoon\":\"eye-open\",\"mainmenu\":\"1\",\"dashboard_add\":\"1\",\"dashboard_list\":\"1\",\"submenu\":\"1\",\"checkin\":\"1\",\"history\":\"1\",\"joomla_fields\":\"1\",\"metadata\":\"1\",\"access\":\"1\",\"port\":\"1\",\"filter\":\"2\",\"edit_create_site_view\":\"1\",\"order\":\"1\"}}', 25, 1, '2017-10-28 03:56:26', '2021-02-08 10:32:04', 7, '', '');
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Dumping data for table `#__componentbuilder_component_site_views`
|
-- Dumping data for table `#__componentbuilder_component_site_views`
|
||||||
|
@ -50,10 +50,23 @@ Joomla.submitbutton = function(task, key)
|
|||||||
form.submit();
|
form.submit();
|
||||||
// some ui movements
|
// some ui movements
|
||||||
if (task == 'compiler.compiler'){
|
if (task == 'compiler.compiler'){
|
||||||
|
// get the component name
|
||||||
|
let component_name = jQuery("#component option:selected").text();
|
||||||
|
// set the component name
|
||||||
|
jQuery(".component-name").text(component_name);
|
||||||
|
// wait a little since to much is happening...
|
||||||
|
setTimeout(function() {
|
||||||
jQuery('#compiler').show();
|
jQuery('#compiler').show();
|
||||||
|
jQuery('#compiling').css('display', 'block');
|
||||||
|
// wait a little since to much is happening...
|
||||||
|
setTimeout(function() {
|
||||||
|
jQuery('#compiler-spinner').show();
|
||||||
|
jQuery('#compiler-notice').show();
|
||||||
|
}, 100);
|
||||||
|
}, 100);
|
||||||
} else if (task == 'compiler.clearTmp'){
|
} else if (task == 'compiler.clearTmp'){
|
||||||
jQuery('#loading').css('display', 'block');
|
|
||||||
jQuery('#clear').show();
|
jQuery('#clear').show();
|
||||||
|
jQuery('#loading').css('display', 'block');
|
||||||
} else {
|
} else {
|
||||||
jQuery('#loading').css('display', 'block');
|
jQuery('#loading').css('display', 'block');
|
||||||
}
|
}
|
||||||
@ -81,6 +94,20 @@ jQuery('<div id="loading"></div>')
|
|||||||
.css("filter", "alpha(opacity = 80)")
|
.css("filter", "alpha(opacity = 80)")
|
||||||
.css("display", "none")
|
.css("display", "none")
|
||||||
.appendTo(outerDiv);
|
.appendTo(outerDiv);
|
||||||
|
// for the compiler
|
||||||
|
var outerDiv = jQuery('body');
|
||||||
|
jQuery('<div id="compiling"></div>')
|
||||||
|
.css("background", "rgba(16, 164, 230, .4)")
|
||||||
|
.css("top", outerDiv.position().top - jQuery(window).scrollTop())
|
||||||
|
.css("left", outerDiv.position().left - jQuery(window).scrollLeft())
|
||||||
|
.css("width", outerDiv.width())
|
||||||
|
.css("height", outerDiv.height())
|
||||||
|
.css("position", "fixed")
|
||||||
|
.css("opacity", "0.40")
|
||||||
|
.css("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity = 40)")
|
||||||
|
.css("filter", "alpha(opacity = 40)")
|
||||||
|
.css("display", "none")
|
||||||
|
.appendTo(outerDiv);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<?php if(!empty( $this->sidebar)): ?>
|
<?php if(!empty( $this->sidebar)): ?>
|
||||||
@ -93,15 +120,15 @@ jQuery('<div id="loading"></div>')
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<div id="form">
|
<div id="form">
|
||||||
<div class="span4">
|
<div class="span4">
|
||||||
<h3><?php echo JText::_('COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT'); ?></h3>
|
<h3><?= JText::_('COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT') ?></h3>
|
||||||
<div id="compilerForm">
|
<div id="compilerForm">
|
||||||
<div>
|
<div>
|
||||||
<span class="notice" style="display:none; color:red;"><?php echo JText::_('COM_COMPONENTBUILDER_YOU_MUST_SELECT_A_COMPONENT'); ?></span><br />
|
<span class="notice" style="display:none; color:red;"><?= JText::_('COM_COMPONENTBUILDER_YOU_MUST_SELECT_A_COMPONENT') ?></span><br />
|
||||||
<?php if ($this->form): ?>
|
<?php if ($this->form): ?>
|
||||||
<?php foreach ($this->form as $field): ?>
|
<?php foreach ($this->form as $field): ?>
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
<div class="control-label"><?php echo $field->label;?></div>
|
<div class="control-label"><?= $field->label ?></div>
|
||||||
<div class="controls"><?php echo $field->input;?></div>
|
<div class="controls"><?= $field->input ?></div>
|
||||||
</div>
|
</div>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
@ -109,36 +136,44 @@ jQuery('<div id="loading"></div>')
|
|||||||
<br />
|
<br />
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
<button class="btn btn-small btn-success" onclick="Joomla.submitbutton('compiler.compiler')"><span class="icon-cog icon-white"></span>
|
<button class="btn btn-small btn-success" onclick="Joomla.submitbutton('compiler.compiler')"><span class="icon-cog icon-white"></span>
|
||||||
<?php echo JText::_('COM_COMPONENTBUILDER_COMPILE_COMPONENT'); ?>
|
<?= JText::_('COM_COMPONENTBUILDER_COMPILE_COMPONENT') ?>
|
||||||
</button>
|
</button>
|
||||||
<input type="hidden" name="install_item_id" value="0">
|
<input type="hidden" name="install_item_id" value="0">
|
||||||
<input type="hidden" name="version" value="3" />
|
<input type="hidden" name="version" value="3" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="span7">
|
<div class="span7">
|
||||||
<div id="component-details"><?php echo $selectNotice; ?></div>
|
<div id="component-details"><?= $selectNotice ?></div>
|
||||||
<?php echo JLayoutHelper::render('jcbnoticeboardtabs', null); ?>
|
<?= JLayoutHelper::render('jcbnoticeboardtabs', 'noticeboard') ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="clear" style="display:none;">
|
<div id="clear" style="display:none;">
|
||||||
<h1><?php echo JText::_('COM_COMPONENTBUILDER_PLEASE_WAIT_CLEARING_THE_TMP_FOLDER'); ?> <span class="loading-dots">.</span></h1>
|
<h1><?= JText::_('COM_COMPONENTBUILDER_PLEASE_WAIT_CLEARING_THE_TMP_FOLDER') ?> <span class="loading-dots">.</span></h1>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="compiler" style="display:none;">
|
<div id="compiler" style="display:none;">
|
||||||
<h1><?php echo JText::sprintf('COM_COMPONENTBUILDER_S_PLEASE_WAIT_THE_COMPONENT_IS_BEING_COMPILED', $this->user->name); ?><span class="loading-dots">.</span></h1>
|
<div id="compiler-spinner" class="span4" style="display:none;">
|
||||||
<?php echo ComponentbuilderHelper::getDynamicContent('builder-gif', '707-400'); ?>
|
<h3><?= JText::sprintf('COM_COMPONENTBUILDER_S_PLEASE_WAIT', $this->user->name) ?></h3>
|
||||||
|
<div style="font-size: smaller;"><?= JText::_('COM_COMPONENTBUILDER_THIS_MAY_TAKE_A_WHILE_DEPENDING_ON_THE_SIZE_OF_YOUR_PROJECT') ?></div>
|
||||||
|
<h4><b><span class="component-name"><?= JText::_('COM_COMPONENTBUILDER_THE_COMPONENT') ?></span></b> <?= JText::_('COM_COMPONENTBUILDER_IS_BEING_COMPILED') ?><span class="loading-dots">.</span></h4>
|
||||||
|
<div style="text-align: center;"><?= ComponentbuilderHelper::getDynamicContent('builder-gif', '480-540') ?></div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="compiler-notice" class="span7" style="display:none;">
|
||||||
|
<?= JLayoutHelper::render('jcbnoticeboardvdm', null) ?>
|
||||||
|
<div class="jcb-sponsor-banner"><?= ComponentbuilderHelper::getDynamicContent('banner', '728-90') ?></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
// token
|
// token
|
||||||
var token = '<?php echo JSession::getFormToken(); ?>';
|
var token = '<?= JSession::getFormToken() ?>';
|
||||||
var all_is_good = '<?php echo JText::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_THERE_IS_NO_NOTICE_AT_THIS_TIME'); ?>';
|
var all_is_good = '<?= JText::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_THERE_IS_NO_NOTICE_AT_THIS_TIME') ?>';
|
||||||
jQuery('#compilerForm').on('change', '#component',function (e)
|
jQuery('#compilerForm').on('change', '#component',function (e)
|
||||||
{
|
{
|
||||||
var component = jQuery('#component').val();
|
var component = jQuery('#component').val();
|
||||||
if(component == "") {
|
if(component == "") {
|
||||||
jQuery('#component-details').html("<?php echo $selectNotice; ?>");
|
jQuery('#component-details').html("<?= $selectNotice ?>");
|
||||||
jQuery("#noticeboard").show();
|
jQuery("#noticeboard").show();
|
||||||
jQuery('.notice').show();
|
jQuery('.notice').show();
|
||||||
} else {
|
} else {
|
||||||
|
@ -60,8 +60,8 @@ class ComponentbuilderViewCompiler extends JViewLegacy
|
|||||||
}
|
}
|
||||||
|
|
||||||
// These are subform layouts used in JCB
|
// These are subform layouts used in JCB
|
||||||
// JLayoutHelper::render('sectionjcb', [?]); // added to ensure the layout is loaded
|
// JLayoutHelper::render('sectionjcb', [?]); // added to ensure the layout are loaded
|
||||||
// JLayoutHelper::render('repeatablejcb', [?]); // added to ensure the layout is loaded
|
// JLayoutHelper::render('repeatablejcb', [?]); // added to ensure the layout are loaded
|
||||||
|
|
||||||
public function setForm()
|
public function setForm()
|
||||||
{
|
{
|
||||||
@ -277,30 +277,30 @@ class ComponentbuilderViewCompiler extends JViewLegacy
|
|||||||
jQuery.get(noticeboard)
|
jQuery.get(noticeboard)
|
||||||
.success(function(board) {
|
.success(function(board) {
|
||||||
if (board.length > 5) {
|
if (board.length > 5) {
|
||||||
jQuery(\"#noticeboard-md\").html(marked(board));
|
jQuery(\".noticeboard-md\").html(marked(board));
|
||||||
getIS(1,board).done(function(result) {
|
getIS(1,board).done(function(result) {
|
||||||
if (result){
|
if (result){
|
||||||
jQuery(\"#vdm-new-notice\").show();
|
jQuery(\".vdm-new-notice\").show();
|
||||||
getIS(2,board);
|
getIS(2,board);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
jQuery(\"#noticeboard-md\").html(all_is_good);
|
jQuery(\".noticeboard-md\").html(all_is_good);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.error(function(jqXHR, textStatus, errorThrown) {
|
.error(function(jqXHR, textStatus, errorThrown) {
|
||||||
jQuery(\"#noticeboard-md\").html(all_is_good);
|
jQuery(\".noticeboard-md\").html(all_is_good);
|
||||||
});
|
});
|
||||||
jQuery.get(proboard)
|
jQuery.get(proboard)
|
||||||
.success(function(board) {
|
.success(function(board) {
|
||||||
if (board.length > 5) {
|
if (board.length > 5) {
|
||||||
jQuery(\"#proboard-md\").html(marked(board));
|
jQuery(\".proboard-md\").html(marked(board));
|
||||||
} else {
|
} else {
|
||||||
jQuery(\"#proboard-md\").html(all_is_good);
|
jQuery(\".proboard-md\").html(all_is_good);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.error(function(jqXHR, textStatus, errorThrown) {
|
.error(function(jqXHR, textStatus, errorThrown) {
|
||||||
jQuery(\"#proboard-md\").html(all_is_good);
|
jQuery(\".proboard-md\").html(all_is_good);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// to check is READ/NEW
|
// to check is READ/NEW
|
||||||
|
@ -133,12 +133,13 @@ JHtml::_('behavior.keepalive');
|
|||||||
|
|
||||||
// Add spindle-wheel for importations:
|
// Add spindle-wheel for importations:
|
||||||
jQuery(document).ready(function($) {
|
jQuery(document).ready(function($) {
|
||||||
var outerDiv = $('body');
|
|
||||||
|
|
||||||
$('<div id="loading"></div>')
|
// waiting spinner
|
||||||
|
var outerDiv = jQuery('body');
|
||||||
|
jQuery('<div id="loading"></div>')
|
||||||
.css("background", "rgba(255, 255, 255, .8) url('components/com_componentbuilder/assets/images/import.gif') 50% 15% no-repeat")
|
.css("background", "rgba(255, 255, 255, .8) url('components/com_componentbuilder/assets/images/import.gif') 50% 15% no-repeat")
|
||||||
.css("top", outerDiv.position().top - $(window).scrollTop())
|
.css("top", outerDiv.position().top - jQuery(window).scrollTop())
|
||||||
.css("left", outerDiv.position().left - $(window).scrollLeft())
|
.css("left", outerDiv.position().left - jQuery(window).scrollLeft())
|
||||||
.css("width", outerDiv.width())
|
.css("width", outerDiv.width())
|
||||||
.css("height", outerDiv.height())
|
.css("height", outerDiv.height())
|
||||||
.css("position", "fixed")
|
.css("position", "fixed")
|
||||||
@ -467,6 +468,7 @@ function getJCBpackageInfo_server(url){
|
|||||||
}
|
}
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
|
|
||||||
var noticeboard = "https://www.vdm.io/componentbuilder-noticeboard-md";
|
var noticeboard = "https://www.vdm.io/componentbuilder-noticeboard-md";
|
||||||
jQuery(document).ready(function () {
|
jQuery(document).ready(function () {
|
||||||
jQuery.get(noticeboard)
|
jQuery.get(noticeboard)
|
||||||
@ -490,19 +492,19 @@ jQuery(document).ready(function () {
|
|||||||
// to check is READ/NEW
|
// to check is READ/NEW
|
||||||
function getIS(type,notice){
|
function getIS(type,notice){
|
||||||
if(type == 1){
|
if(type == 1){
|
||||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.isNew&format=json");
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true");
|
||||||
} else if (type == 2) {
|
} else if (type == 2) {
|
||||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.isRead&format=json");
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true");
|
||||||
}
|
}
|
||||||
if(token.length > 0 && notice.length){
|
if(token.length > 0 && notice.length){
|
||||||
var request = "token="+token+"¬ice="+notice;
|
var request = token+"=1¬ice="+notice;
|
||||||
}
|
}
|
||||||
return jQuery.ajax({
|
return jQuery.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: getUrl,
|
url: getUrl,
|
||||||
dataType: "jsonp",
|
dataType: "json",
|
||||||
data: request,
|
data: request,
|
||||||
jsonp: "callback"
|
jsonp: false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<extension type="component" version="3.2" method="upgrade">
|
<extension type="component" version="3.2" method="upgrade">
|
||||||
<name>COM_COMPONENTBUILDER</name>
|
<name>COM_COMPONENTBUILDER</name>
|
||||||
<creationDate>2nd February, 2021</creationDate>
|
<creationDate>19th February, 2021</creationDate>
|
||||||
<author>Llewellyn van der Merwe</author>
|
<author>Llewellyn van der Merwe</author>
|
||||||
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
||||||
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
||||||
|
@ -1967,30 +1967,147 @@ abstract class ComponentbuilderHelper
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The array of dynamic content
|
* The array of dynamic content
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected static $dynamicContent = array(
|
protected static $dynamicContent = array(
|
||||||
// The banners by size
|
// The banners by size (width - height)
|
||||||
'banner' => array(
|
'banner' => array(
|
||||||
'728-90' => array(
|
'728-90' => array(
|
||||||
'<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="https://cdn.joomla.org/volunteers/joomla-heart-wide.gif" alt="Joomla! Volunteers Portal" width="728" height="90" border="0"></a>',
|
array(
|
||||||
'<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img alt="Joomla! Community Magazine | Because community matters..." src="https://magazine.joomla.org/images/banners/JCM_2010_728x90.png" width="728" height="90" border="0" /></a>',
|
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-wide.gif',
|
||||||
'<a href="https://vdm.bz/jcb-sponsor-tlwebdesign" target="_blank" title="tlwebdesign a JCB sponsor | Because community matters..."><img alt="tlwebdesign a JCB sponsor | Because community matters..." src="https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png" width="728" height="90" border="0" /></a>',
|
'hash' => 'f857e3a38facaeac9eba3cffa912b620',
|
||||||
'<a href="https://vdm.bz/jcb-sponsor-vdm" target="_blank" title="VDM a JCB sponsor | Because community matters..."><img alt="VDM a JCB sponsor | Because community matters..." src="https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif" width="728" height="90" border="0" /></a>',
|
'html' => '<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/joomla-heart-wide.gif" alt="Joomla! Volunteers Portal" width="728" height="90" border="0"></a>'),
|
||||||
'<a href="https://vdm.bz/jcb-sponsor-agerix" target="_blank" title="Agerix a JCB sponsor | Because community matters..."><img alt="Agerix a JCB sponsor | Because community matters..." src="https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif" width="728" height="90" border="0" /></a>'
|
array(
|
||||||
|
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_728x90.png',
|
||||||
|
'hash' => '4083c66f996279fd5a76adffc3a7d194',
|
||||||
|
'html' => '<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img alt="Joomla! Community Magazine | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/JCM_2010_728x90.png" width="728" height="90" border="0" /></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png',
|
||||||
|
'hash' => 'd19be1f9f5b2049ff901096aafc246be',
|
||||||
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-tlwebdesign" target="_blank" title="tlwebdesign a JCB sponsor | Because community matters..."><img alt="tlwebdesign a JCB sponsor | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/tlwebdesign_jcb_sponsor_728_90.png" width="728" height="90" border="0" /></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif',
|
||||||
|
'hash' => '84478dfa0cd880395815e0ee026812a4',
|
||||||
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-vdm" target="_blank" title="VDM a JCB sponsor | Because community matters..."><img alt="VDM a JCB sponsor | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/vdm_jcb_sponsor_728_90.gif" width="728" height="90" border="0" /></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif',
|
||||||
|
'hash' => 'b24c0726aa809cdcc04bcffe7e1e1529',
|
||||||
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-agerix" target="_blank" title="Agerix a JCB sponsor | Because community matters..."><img alt="Agerix a JCB sponsor | Because community matters..." src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/agerix-loves-jcb-728-90.gif" width="728" height="90" border="0" /></a>')
|
||||||
),
|
),
|
||||||
'160-600' => array(
|
'160-600' => array(
|
||||||
'<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="https://cdn.joomla.org/volunteers/joomla-heart-tall.gif" alt="Joomla! Volunteers Portal" width="160" height="600" border="0"></a>',
|
array(
|
||||||
'<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img src="https://magazine.joomla.org/images/banners/JCM_2010_120x600.png" alt="Joomla! Community Magazine | Because community matters..." width="120" height="600" border="0"/></a>'
|
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-tall.gif',
|
||||||
|
'hash' => '9a75e4929b86c318128b53cf78251678',
|
||||||
|
'html' => '<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/joomla-heart-tall.gif" alt="Joomla! Volunteers Portal" width="160" height="600" border="0"></a>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_120x600.png',
|
||||||
|
'hash' => '5389cf3be8569cb3f6793e8bd4013d19',
|
||||||
|
'html' => '<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/banner/JCM_2010_120x600.png" alt="Joomla! Community Magazine | Because community matters..." width="120" height="600" border="0"/></a>')
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
// The build-gif by size
|
// The build-gif by size (width - height)
|
||||||
'builder-gif' => array(
|
'builder-gif' => array(
|
||||||
'707-400' => array(
|
'480-540' => array(
|
||||||
'<img src="components/com_componentbuilder/assets/images/ajax-loader.gif" />'
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/1.gif',
|
||||||
|
'hash' => 'ce6e36456fa794ba95d981547b2f54f8',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/1.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/2.gif',
|
||||||
|
'hash' => '0a54dbc393359747e33db90cabb1e2d7',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/2.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/3.gif',
|
||||||
|
'hash' => '4e5498713ff69a64a0a79dbf620372a3',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/3.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/4.gif',
|
||||||
|
'hash' => '3554ffab2a6df95a116fd9f0db63925c',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/4.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/5.gif',
|
||||||
|
'hash' => '08f0cdf188593eca65c6dafd7af27ef9',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/5.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/6.gif',
|
||||||
|
'hash' => '103b46a7ac3fcb974e25d06f417a4e87',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/6.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/7.gif',
|
||||||
|
'hash' => 'ffa8547099b7286f89ab7ff5a140dd90',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/7.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/8.gif',
|
||||||
|
'hash' => '316df780f9e4ce81200a65d3c4303c41',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/8.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/9.gif',
|
||||||
|
'hash' => '9ab6ba78b6e63a285fdef2ff5e447c93',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/9.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/10.gif',
|
||||||
|
'hash' => 'cd9abaa1cb95f51a70916da6b70614f2',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/10.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/11.gif',
|
||||||
|
'hash' => 'cfe53095b5249618e2348223b89262b9',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/11.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/12.gif',
|
||||||
|
'hash' => '15a6690647d5160d67c80ce4dd1f5602',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/12.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/13.gif',
|
||||||
|
'hash' => '2f77562e92c8a3b7c47664c98f551fe8',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/13.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/14.gif',
|
||||||
|
'hash' => '46db15517ef5bd063be85134e1cc575d',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/14.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/15.gif',
|
||||||
|
'hash' => 'e6c96eff157ea648ceb1583f2cc22544',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/15.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/16.gif',
|
||||||
|
'hash' => '76010b7d1f99952eb9645df660467ae8',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/16.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/17.gif',
|
||||||
|
'hash' => '021219ddd72d8fcfc7f80bd4a874d651',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/17.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/18.gif',
|
||||||
|
'hash' => '383af3179d4ae27301c1292e630d7155',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/18.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/19.gif',
|
||||||
|
'hash' => '8537e6d7be93447241b521f851e8a61d',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/19.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/20.gif',
|
||||||
|
'hash' => '10d96f70e3d43086a925b00a7dc0022e',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/20.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/21.gif',
|
||||||
|
'hash' => '161de9865b171b44039353b8d50491d3',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/21.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/22.gif',
|
||||||
|
'hash' => '6a2354e43eb97d278d74bb2c12890988',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/22.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/23.gif',
|
||||||
|
'hash' => '2cb6e2f9562a8dc8eef6d5d8d1a84f5e',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/23.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>'),
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/24.gif',
|
||||||
|
'hash' => '745b3fb5e16515689132432bf02ab1b4',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/24.gif" /><br /><div style="text-align: right; font-size: smaller;">Animation produced with 3D Particle Explorations by Jack Rugile.</div>')
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -2000,18 +2117,50 @@ abstract class ComponentbuilderHelper
|
|||||||
*
|
*
|
||||||
* @param string $type The type of content
|
* @param string $type The type of content
|
||||||
* @param string $size The size of the content
|
* @param string $size The size of the content
|
||||||
|
* @param mix $default The default to return
|
||||||
*
|
*
|
||||||
* @return string on success
|
* @return string on success html string
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getDynamicContent($type, $size, $default = '')
|
public static function getDynamicContent($type, $size, $default = '', $try = 0)
|
||||||
{
|
{
|
||||||
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size]) && ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size])
|
||||||
|
&& ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
||||||
{
|
{
|
||||||
// get the random item number
|
// get the random item number
|
||||||
$get = (int) rand(0, --$nr);
|
$get = (int) rand(0, --$nr);
|
||||||
|
// get the current target
|
||||||
|
$target = self::$dynamicContent[$type][$size][$get];
|
||||||
|
// set file name
|
||||||
|
$file_name = basename($target['url']);
|
||||||
|
// set the local path (in admin area so when the component uninstall these images get removed as well)
|
||||||
|
$path = JPATH_ROOT . "/administrator/components/com_componentbuilder/assets/images/$type/$file_name";
|
||||||
|
// check if file exist or if it changed
|
||||||
|
if (($image_data = self::getFileContents($path, false)) === false ||
|
||||||
|
md5($image_data) !== $target['hash'])
|
||||||
|
{
|
||||||
|
// since the file does not exist or has changed (so we have a new hash)
|
||||||
|
// therefore we download it to validate
|
||||||
|
if (($image_data = self::getFileContents($target['url'], false)) !== false &&
|
||||||
|
md5($image_data) === $target['hash'])
|
||||||
|
{
|
||||||
|
// create the JCB type path if it does not exist
|
||||||
|
if (!JFolder::exists(JPATH_ROOT . "/administrator/components/com_componentbuilder/assets/images/$type"))
|
||||||
|
{
|
||||||
|
JFolder::create(JPATH_ROOT . "/administrator/components/com_componentbuilder/assets/images/$type");
|
||||||
|
}
|
||||||
|
// only set the image if the data match the hash
|
||||||
|
self::writeFile($path, $image_data);
|
||||||
|
}
|
||||||
|
// we retry 26 times
|
||||||
|
elseif ($try < 26)
|
||||||
|
{
|
||||||
|
// the time around failed so we try again
|
||||||
|
return self::getDynamicContent($type, $size, $default, ++$try);
|
||||||
|
}
|
||||||
|
}
|
||||||
// return found content
|
// return found content
|
||||||
return self::$dynamicContent[$type][$size][$get];
|
return str_replace('[[[ROOT-URL]]]', JURI::root(), $target['html']);
|
||||||
}
|
}
|
||||||
return $default;
|
return $default;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user