Adds the option to select between old and new gif animation in the compiler GUI area.
This commit is contained in:
parent
e579cd421a
commit
8abe3bced8
@ -147,8 +147,8 @@ TODO
|
|||||||
+ *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*: **291909**
|
+ *Line count*: **292151**
|
||||||
+ *Field count*: **1627**
|
+ *Field count*: **1629**
|
||||||
+ *File count*: **1935**
|
+ *File count*: **1935**
|
||||||
+ *Folder count*: **322**
|
+ *Folder count*: **322**
|
||||||
|
|
||||||
|
@ -147,8 +147,8 @@ TODO
|
|||||||
+ *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*: **291909**
|
+ *Line count*: **292151**
|
||||||
+ *Field count*: **1627**
|
+ *Field count*: **1629**
|
||||||
+ *File count*: **1935**
|
+ *File count*: **1935**
|
||||||
+ *Folder count*: **322**
|
+ *Folder count*: **322**
|
||||||
|
|
||||||
|
@ -107,6 +107,7 @@
|
|||||||
<action name="class_property.import" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_IMPORT" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_IMPORT_DESC" />
|
<action name="class_property.import" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_IMPORT" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_IMPORT_DESC" />
|
||||||
<action name="compiler.access" title="COM_COMPONENTBUILDER_COMPILER_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC" />
|
<action name="compiler.access" title="COM_COMPONENTBUILDER_COMPILER_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC" />
|
||||||
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
|
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="compiler.compiler_animations" title="COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="compiler.dashboard_list" title="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC" />
|
<action name="compiler.dashboard_list" title="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC" />
|
||||||
<action name="compiler.run_expansion" title="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
<action name="compiler.run_expansion" title="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
||||||
<action name="compiler.submenu" title="COM_COMPONENTBUILDER_COMPILER_SUBMENU" description="COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC" />
|
<action name="compiler.submenu" title="COM_COMPONENTBUILDER_COMPILER_SUBMENU" description="COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC" />
|
||||||
|
@ -657,6 +657,24 @@
|
|||||||
name="compiler_custom_config"
|
name="compiler_custom_config"
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_COMPILER">
|
label="COM_COMPONENTBUILDER_CONFIG_COMPILER">
|
||||||
|
|
||||||
|
<!-- Builder_gif_size Field. Type: List. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="list"
|
||||||
|
name="builder_gif_size"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_DESCRIPTION"
|
||||||
|
class="list_class"
|
||||||
|
multiple="false"
|
||||||
|
required="true"
|
||||||
|
default="480-272">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="480-272">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ORIGINAL_VDM</option>
|
||||||
|
<option value="480-540">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_THREED_PARTICLE_EXPLORATIONS</option>
|
||||||
|
</field>
|
||||||
|
<!-- Spacer_hr_five Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
|
<field type="spacer" name="spacer_hr_five" hr="true" class="spacer_hr_five" />
|
||||||
<!-- Compiler_plugin Field. Type: Plugins. (joomla) -->
|
<!-- Compiler_plugin Field. Type: Plugins. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="plugins"
|
type="plugins"
|
||||||
@ -667,8 +685,8 @@
|
|||||||
folder="extension"
|
folder="extension"
|
||||||
filter="cmd"
|
filter="cmd"
|
||||||
/>
|
/>
|
||||||
<!-- Spacer_hr_five Field. Type: Spacer. A None Database Field. (joomla) -->
|
<!-- Spacer_hr_six Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
<field type="spacer" name="spacer_hr_five" hr="true" class="spacer_hr_five" />
|
<field type="spacer" name="spacer_hr_six" hr="true" class="spacer_hr_six" />
|
||||||
<!-- Add_menu_prefix Field. Type: Radio. (joomla) -->
|
<!-- Add_menu_prefix Field. Type: Radio. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="radio"
|
type="radio"
|
||||||
@ -699,8 +717,8 @@
|
|||||||
autocomplete="on"
|
autocomplete="on"
|
||||||
showon="add_menu_prefix:1"
|
showon="add_menu_prefix:1"
|
||||||
/>
|
/>
|
||||||
<!-- Spacer_hr_six Field. Type: Spacer. A None Database Field. (joomla) -->
|
<!-- Spacer_hr_seven Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
<field type="spacer" name="spacer_hr_six" hr="true" class="spacer_hr_six" />
|
<field type="spacer" name="spacer_hr_seven" hr="true" class="spacer_hr_seven" />
|
||||||
<!-- Minify Field. Type: Radio. (joomla) -->
|
<!-- Minify Field. Type: Radio. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="radio"
|
type="radio"
|
||||||
@ -715,8 +733,8 @@
|
|||||||
<option value="0">
|
<option value="0">
|
||||||
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
||||||
</field>
|
</field>
|
||||||
<!-- Spacer_hr_seven Field. Type: Spacer. A None Database Field. (joomla) -->
|
<!-- Spacer_hr_eight Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
<field type="spacer" name="spacer_hr_seven" hr="true" class="spacer_hr_seven" />
|
<field type="spacer" name="spacer_hr_eight" hr="true" class="spacer_hr_eight" />
|
||||||
<!-- Note_language_global Field. Type: Note. A None Database Field. (joomla) -->
|
<!-- Note_language_global Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
<field type="note" name="note_language_global" label="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_DESCRIPTION" heading="h4" class="alert alert-info note_language_global" />
|
<field type="note" name="note_language_global" label="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_DESCRIPTION" heading="h4" class="alert alert-info note_language_global" />
|
||||||
<!-- Language Field. Type: Lang. (custom) -->
|
<!-- Language Field. Type: Lang. (custom) -->
|
||||||
@ -757,8 +775,8 @@
|
|||||||
<option value="0">
|
<option value="0">
|
||||||
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
||||||
</field>
|
</field>
|
||||||
<!-- Spacer_hr_eight Field. Type: Spacer. A None Database Field. (joomla) -->
|
<!-- Spacer_hr_nine Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
<field type="spacer" name="spacer_hr_eight" hr="true" class="spacer_hr_eight" />
|
<field type="spacer" name="spacer_hr_nine" hr="true" class="spacer_hr_nine" />
|
||||||
<!-- Assets_table_fix Field. Type: List. (joomla) -->
|
<!-- Assets_table_fix Field. Type: List. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="list"
|
type="list"
|
||||||
|
@ -37,6 +37,36 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get all the animations used in the compiler
|
||||||
|
*
|
||||||
|
* @return true on success
|
||||||
|
*/
|
||||||
|
public function getCompilerAnimations()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
|
||||||
|
// check if user has the right
|
||||||
|
$user = JFactory::getUser();
|
||||||
|
// set page redirect
|
||||||
|
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=compiler', false);
|
||||||
|
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_DOWNLOAD_THE_COMPILER_ANIMATIONS');
|
||||||
|
// currently only administrators can compile a component
|
||||||
|
if($user->authorise('compiler.compiler_animations', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
// get the model
|
||||||
|
$model = $this->getModel('compiler');
|
||||||
|
if ($model->getCompilerAnimations($message))
|
||||||
|
{
|
||||||
|
$message = JText::_('COM_COMPONENTBUILDER_BALL_THE_COMPILER_ANIMATIONS_WERE_SUCCESSFULLY_DOWNLOADED_TO_THIS_JOOMLA_INSTALLB');
|
||||||
|
$this->setRedirect($redirect_url, $message, 'message');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->setRedirect($redirect_url, $message, 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run the Compiler
|
* Run the Compiler
|
||||||
*
|
*
|
||||||
|
@ -10339,7 +10339,7 @@ class Get
|
|||||||
|
|
||||||
foreach ($paths as $target => $path)
|
foreach ($paths as $target => $path)
|
||||||
{
|
{
|
||||||
// we are changing the working directory to the componet path
|
// we are changing the working directory to the component path
|
||||||
chdir($path);
|
chdir($path);
|
||||||
foreach ($fileTypes as $type)
|
foreach ($fileTypes as $type)
|
||||||
{
|
{
|
||||||
@ -10837,7 +10837,7 @@ class Get
|
|||||||
// convert them
|
// convert them
|
||||||
foreach ($values as $path)
|
foreach ($values as $path)
|
||||||
{
|
{
|
||||||
// we first get the file
|
// we first get the file if it exist
|
||||||
if ($value = ComponentbuilderHelper::getFileContents($path))
|
if ($value = ComponentbuilderHelper::getFileContents($path))
|
||||||
{
|
{
|
||||||
// now we hash the file content
|
// now we hash the file content
|
||||||
|
@ -1983,23 +1983,23 @@ abstract class ComponentbuilderHelper
|
|||||||
array(
|
array(
|
||||||
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-wide.gif',
|
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-wide.gif',
|
||||||
'hash' => 'f857e3a38facaeac9eba3cffa912b620',
|
'hash' => 'f857e3a38facaeac9eba3cffa912b620',
|
||||||
'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>'),
|
'html' => '<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img class="jcb-sponsor-banner" 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>'),
|
||||||
array(
|
array(
|
||||||
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_728x90.png',
|
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_728x90.png',
|
||||||
'hash' => '4083c66f996279fd5a76adffc3a7d194',
|
'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>'),
|
'html' => '<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
array(
|
||||||
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png',
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png',
|
||||||
'hash' => 'd19be1f9f5b2049ff901096aafc246be',
|
'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>'),
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-tlwebdesign" target="_blank" title="tlwebdesign a JCB sponsor | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
array(
|
||||||
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif',
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif',
|
||||||
'hash' => '84478dfa0cd880395815e0ee026812a4',
|
'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>'),
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-vdm" target="_blank" title="VDM a JCB sponsor | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
array(
|
||||||
'url' => 'https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif',
|
'url' => 'https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif',
|
||||||
'hash' => 'b24c0726aa809cdcc04bcffe7e1e1529',
|
'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>')
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-agerix" target="_blank" title="Agerix a JCB sponsor | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
||||||
array(
|
array(
|
||||||
@ -2014,6 +2014,15 @@ abstract class ComponentbuilderHelper
|
|||||||
),
|
),
|
||||||
// The build-gif by size (width - height)
|
// The build-gif by size (width - height)
|
||||||
'builder-gif' => array(
|
'builder-gif' => array(
|
||||||
|
// original gif ;)
|
||||||
|
'480-272' => array(
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/original.gif',
|
||||||
|
'hash' => '676e37a949add8f4573381195cd1061c',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/original.gif" />'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
// new gif artwork since 2021
|
||||||
'480-540' => array(
|
'480-540' => array(
|
||||||
array(
|
array(
|
||||||
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/1.gif',
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/1.gif',
|
||||||
@ -2115,24 +2124,58 @@ abstract class ComponentbuilderHelper
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the dynamic content array size
|
||||||
|
*
|
||||||
|
* @param string $type The type of content
|
||||||
|
* @param string $size The size of the content
|
||||||
|
*
|
||||||
|
* @return int on success number of items in array type,size
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getDynamicContentSize($type, $size)
|
||||||
|
{
|
||||||
|
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size])
|
||||||
|
&& ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
||||||
|
{
|
||||||
|
return $nr;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the dynamic content
|
* get the dynamic content
|
||||||
*
|
*
|
||||||
* @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
|
* @param mix $default The default to return
|
||||||
|
* @param int $try Retry tracker (when bigger then array size it stops)
|
||||||
|
* @param mix $getter The specific getter number (not zero based)
|
||||||
*
|
*
|
||||||
* @return string on success html string
|
* @return string on success html string
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getDynamicContent($type, $size, $default = '', $try = 0)
|
public static function getDynamicContent($type, $size, $default = '', $try = 1, $getter = null)
|
||||||
{
|
{
|
||||||
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size])
|
if (($nr = self::getDynamicContentSize($type, $size)) !== 0)
|
||||||
&& ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
{
|
||||||
|
// use specific getter
|
||||||
|
if ($getter)
|
||||||
|
{
|
||||||
|
$get = --$getter;
|
||||||
|
}
|
||||||
|
// get the random getter number
|
||||||
|
elseif ($nr > 1)
|
||||||
{
|
{
|
||||||
// get the random item number
|
|
||||||
$get = (int) rand(0, --$nr);
|
$get = (int) rand(0, --$nr);
|
||||||
// get the current target
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$get = 0;
|
||||||
|
}
|
||||||
|
// get the current target if found
|
||||||
|
if (isset(self::$dynamicContent[$type][$size][$get]))
|
||||||
|
{
|
||||||
$target = self::$dynamicContent[$type][$size][$get];
|
$target = self::$dynamicContent[$type][$size][$get];
|
||||||
// set file name
|
// set file name
|
||||||
$file_name = basename($target['url']);
|
$file_name = basename($target['url']);
|
||||||
@ -2155,16 +2198,17 @@ abstract class ComponentbuilderHelper
|
|||||||
// only set the image if the data match the hash
|
// only set the image if the data match the hash
|
||||||
self::writeFile($path, $image_data);
|
self::writeFile($path, $image_data);
|
||||||
}
|
}
|
||||||
// we retry 26 times
|
// we retry array size times (unless specific getter is used)
|
||||||
elseif ($try < 26)
|
elseif ($try <= $nr && !$getter)
|
||||||
{
|
{
|
||||||
// the time around failed so we try again
|
// the first time around failed so we try again (the size of the array times)
|
||||||
return self::getDynamicContent($type, $size, $default, ++$try);
|
return self::getDynamicContent($type, $size, $default, ++$try);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// return found content
|
// return found content
|
||||||
return str_replace('[[[ROOT-URL]]]', JURI::root(), $target['html']);
|
return str_replace('[[[ROOT-URL]]]', JURI::root(), $target['html']);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return $default;
|
return $default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1324,6 +1324,7 @@ COM_COMPONENTBUILDER_BACKUP_LOCAL_DATA_FIRST="Backup Local Data First"
|
|||||||
COM_COMPONENTBUILDER_BACKUP_WAS_DONE_SUCCESSFULLY="Backup was done successfully"
|
COM_COMPONENTBUILDER_BACKUP_WAS_DONE_SUCCESSFULLY="Backup was done successfully"
|
||||||
COM_COMPONENTBUILDER_BACK_TO_LIBRARIES="Back to Libraries"
|
COM_COMPONENTBUILDER_BACK_TO_LIBRARIES="Back to Libraries"
|
||||||
COM_COMPONENTBUILDER_BADMIN_FIELDS_RELATIONSB_IDS_MISMATCH_IN_BFIELDSB_AND_WAS_NOT_UPDATED_IN_THE_CUSTOM_CODE="<b>Admin fields relations</b> id:%s mismatch in <b>field:%s</b>, and was not updated in the custom code."
|
COM_COMPONENTBUILDER_BADMIN_FIELDS_RELATIONSB_IDS_MISMATCH_IN_BFIELDSB_AND_WAS_NOT_UPDATED_IN_THE_CUSTOM_CODE="<b>Admin fields relations</b> id:%s mismatch in <b>field:%s</b>, and was not updated in the custom code."
|
||||||
|
COM_COMPONENTBUILDER_BALL_THE_COMPILER_ANIMATIONS_WERE_SUCCESSFULLY_DOWNLOADED_TO_THIS_JOOMLA_INSTALLB="<b>All the compiler animations were successfully downloaded to this Joomla Install!</b>"
|
||||||
COM_COMPONENTBUILDER_BASIC_TUTORIAL_ON_GIT_BSB="Basic Tutorial on git: <b>%s</b>"
|
COM_COMPONENTBUILDER_BASIC_TUTORIAL_ON_GIT_BSB="Basic Tutorial on git: <b>%s</b>"
|
||||||
COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_WE_COULD_NOT_LOAD_THE_CHECKSUM_FOR_THIS_PACKAGE_AND_SO_NO_VALIDATION_WAS_POSSIBLE_THIS_MAY_BE_DUE_TO_YOUR_NETWORK_OR_A_CHANGE_TO_THAT_PACKAGE_NAME="<b>Best to not continue!</b><br />We could not load the checksum for this package, and so no validation was possible. This may be due to your network, or a change to that package name."
|
COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_WE_COULD_NOT_LOAD_THE_CHECKSUM_FOR_THIS_PACKAGE_AND_SO_NO_VALIDATION_WAS_POSSIBLE_THIS_MAY_BE_DUE_TO_YOUR_NETWORK_OR_A_CHANGE_TO_THAT_PACKAGE_NAME="<b>Best to not continue!</b><br />We could not load the checksum for this package, and so no validation was possible. This may be due to your network, or a change to that package name."
|
||||||
COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_YOU_CAN_REFRESH_AND_TRY_AGAINBR_BUT_NOTE_THAT_THIS_PACKAGE_BFAILEDB_CHECKSUM_VALIDATION_THIS_COULD_BE_A_SERIOUS_SECURITY_BREACH_DO_NOT_CONTINUE="<b>Best to not continue!</b><br />You can Refresh and try again.<br />But note that this package <b>FAILED</b> checksum validation, this could be a serious security breach! DO NOT CONTINUE!!!"
|
COM_COMPONENTBUILDER_BBEST_TO_NOT_CONTINUEBBR_YOU_CAN_REFRESH_AND_TRY_AGAINBR_BUT_NOTE_THAT_THIS_PACKAGE_BFAILEDB_CHECKSUM_VALIDATION_THIS_COULD_BE_A_SERIOUS_SECURITY_BREACH_DO_NOT_CONTINUE="<b>Best to not continue!</b><br />You can Refresh and try again.<br />But note that this package <b>FAILED</b> checksum validation, this could be a serious security breach! DO NOT CONTINUE!!!"
|
||||||
@ -1650,8 +1651,11 @@ COM_COMPONENTBUILDER_COMPANY_S="Company: %s"
|
|||||||
COM_COMPONENTBUILDER_COMPILER="Compiler"
|
COM_COMPONENTBUILDER_COMPILER="Compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_ACCESS="Compiler Access"
|
COM_COMPONENTBUILDER_COMPILER_ACCESS="Compiler Access"
|
||||||
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC="Allows the users in this group to access compiler."
|
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC="Allows the users in this group to access compiler."
|
||||||
|
COM_COMPONENTBUILDER_COMPILER_ANIMATIONS="Compiler Animations"
|
||||||
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
|
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
|
||||||
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC="Allows the users in this group to access the clear tmp button."
|
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC="Allows the users in this group to access the clear tmp button."
|
||||||
|
COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS="Compiler Compiler Animations Button Access"
|
||||||
|
COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC="Allows the users in this group to access the compiler animations button."
|
||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_DESC="The compiler"
|
COM_COMPONENTBUILDER_COMPILER_DESC="The compiler"
|
||||||
@ -3234,6 +3238,8 @@ COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_DESC="Set the basic local key here."
|
|||||||
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_LABEL="Basic Key"
|
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_LABEL="Basic Key"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_NOTE_DESC="When using the basic encryption please use set a 32 character passphrase.<br />Never change this passphrase once it is set! <b>DATA WILL GET CORRUPTED IF YOU DO!</b>"
|
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_NOTE_DESC="When using the basic encryption please use set a 32 character passphrase.<br />Never change this passphrase once it is set! <b>DATA WILL GET CORRUPTED IF YOU DO!</b>"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_NOTE_LABEL="Basic Encryption"
|
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_NOTE_LABEL="Basic Encryption"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_DESCRIPTION="Select the artwork you would like to show during compilation of your projects in the compiler area."
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_BUILDER_GIF_SIZE_LABEL="Compiler Artwork Options"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_DESC="Set the intervals for the auto checkin fuction of tables that checks out the items to an user."
|
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_DESC="Set the intervals for the auto checkin fuction of tables that checks out the items to an user."
|
||||||
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_LABEL="Check in timer"
|
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_LABEL="Check in timer"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_FIVE="Once a week"
|
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_FIVE="Once a week"
|
||||||
@ -3487,6 +3493,7 @@ COM_COMPONENTBUILDER_CONFIG_OFF="Off"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_ON="On"
|
COM_COMPONENTBUILDER_CONFIG_ON="On"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ONLY_BOOLEAN="Only Boolean"
|
COM_COMPONENTBUILDER_CONFIG_ONLY_BOOLEAN="Only Boolean"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ONLY_EXTRA="Only Extra"
|
COM_COMPONENTBUILDER_CONFIG_ONLY_EXTRA="Only Extra"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ORIGINAL_VDM="Original (VDM)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_DESCRIPTION="<code>[YEAR]</code> <code>[MONTH]</code> <code>[DAY]</code> <code>[HOUR]</code> <code>[MINUTE]</code>"
|
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_DESCRIPTION="<code>[YEAR]</code> <code>[MONTH]</code> <code>[DAY]</code> <code>[HOUR]</code> <code>[MINUTE]</code>"
|
||||||
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_LABEL="Package Name Placeholders"
|
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_LABEL="Package Name Placeholders"
|
||||||
COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION="Select percentage any language should be translated before the system should add the language to the component during compilation."
|
COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION="Select percentage any language should be translated before the system should add the language to the component during compilation."
|
||||||
@ -3536,6 +3543,7 @@ COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_LABEL="Update Cycle"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION="String Manipulation"
|
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION="String Manipulation"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION="Select the sub-form layouts you would like to use."
|
COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION="Select the sub-form layouts you would like to use."
|
||||||
COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_LABEL="Sub-form Layouts"
|
COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_LABEL="Sub-form Layouts"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_THREED_PARTICLE_EXPLORATIONS="3D Particle Explorations"
|
||||||
COM_COMPONENTBUILDER_CONFIG_TLS="TLS"
|
COM_COMPONENTBUILDER_CONFIG_TLS="TLS"
|
||||||
COM_COMPONENTBUILDER_CONFIG_TRUE="True"
|
COM_COMPONENTBUILDER_CONFIG_TRUE="True"
|
||||||
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like <em>1</em> becomes <b>one</b>.<br />Alphanumeric+dot keeps the numbers unconverted unless it is at the beginning of the field name, and allows for a dot (.) to be used in the type name for namespacing."
|
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like <em>1</em> becomes <b>one</b>.<br />Alphanumeric+dot keeps the numbers unconverted unless it is at the beginning of the field name, and allows for a dot (.) to be used in the type name for namespacing."
|
||||||
@ -7789,7 +7797,7 @@ COM_COMPONENTBUILDER_PLEASE_CHECK_AGAIN_LATTER="Please check again latter."
|
|||||||
COM_COMPONENTBUILDER_PLEASE_NOTE_THAT_THIS_PACKAGE_BHAS_NOB_CHECKSUM_VALIDATION="Please note that this package <b>has no</b> checksum validation!"
|
COM_COMPONENTBUILDER_PLEASE_NOTE_THAT_THIS_PACKAGE_BHAS_NOB_CHECKSUM_VALIDATION="Please note that this package <b>has no</b> checksum validation!"
|
||||||
COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE="Please select a component that you would like to compile."
|
COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE="Please select a component that you would like to compile."
|
||||||
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_LATER="Please try again later"
|
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_LATER="Please try again later"
|
||||||
COM_COMPONENTBUILDER_PLEASE_WAIT_CLEARING_THE_TMP_FOLDER="Please wait! Clearing the tmp folder"
|
COM_COMPONENTBUILDER_PLEASE_WAIT="Please wait!"
|
||||||
COM_COMPONENTBUILDER_PLEASE_WAIT_LOADING="Please wait, loading"
|
COM_COMPONENTBUILDER_PLEASE_WAIT_LOADING="Please wait, loading"
|
||||||
COM_COMPONENTBUILDER_PLUGIN="Plugin"
|
COM_COMPONENTBUILDER_PLUGIN="Plugin"
|
||||||
COM_COMPONENTBUILDER_PLUGINS="Plugins"
|
COM_COMPONENTBUILDER_PLUGINS="Plugins"
|
||||||
@ -7806,6 +7814,7 @@ COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT="Ready to compile a component"
|
|||||||
COM_COMPONENTBUILDER_REFRESH="Refresh"
|
COM_COMPONENTBUILDER_REFRESH="Refresh"
|
||||||
COM_COMPONENTBUILDER_RELEASED_THIS="released this"
|
COM_COMPONENTBUILDER_RELEASED_THIS="released this"
|
||||||
COM_COMPONENTBUILDER_REMOVE="Remove"
|
COM_COMPONENTBUILDER_REMOVE="Remove"
|
||||||
|
COM_COMPONENTBUILDER_REMOVING_ALL_ZIP_PACKAGES_FROM_THE_TEMPORARY_FOLDER_OF_THE_JOOMLA_INSTALL="Removing all zip packages from the temporary folder of the Joomla install"
|
||||||
COM_COMPONENTBUILDER_RENAME="Rename"
|
COM_COMPONENTBUILDER_RENAME="Rename"
|
||||||
COM_COMPONENTBUILDER_REPORT_AN_ISSUE_BSB="Report an issue: <b>%s</b>"
|
COM_COMPONENTBUILDER_REPORT_AN_ISSUE_BSB="Report an issue: <b>%s</b>"
|
||||||
COM_COMPONENTBUILDER_REQUIRES_THE_VALUE_ENTERED_BE_ONE_OF_THE_OPTIONS_IN_AN_ELEMENT_OF_TYPEQUOTLISTQUOT_THAT_IS_THAT_THE_ELEMENT_IS_A_SELECT_LIST="Requires the value entered be one of the options in an element of type="list": that is, that the element is a select list."
|
COM_COMPONENTBUILDER_REQUIRES_THE_VALUE_ENTERED_BE_ONE_OF_THE_OPTIONS_IN_AN_ELEMENT_OF_TYPEQUOTLISTQUOT_THAT_IS_THAT_THE_ELEMENT_IS_A_SELECT_LIST="Requires the value entered be one of the options in an element of type="list": that is, that the element is a select list."
|
||||||
@ -8648,6 +8657,7 @@ COM_COMPONENTBUILDER_SZIP_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="%s, please wait!"
|
COM_COMPONENTBUILDER_S_PLEASE_WAIT="%s, please wait!"
|
||||||
|
COM_COMPONENTBUILDER_S_S_NUMBER_BSB_COULD_NOT_BE_DOWNLOADED_SUCCESSFULLY_TO_THIS_JOOMLA_INSTALL="%s (%s) number <b>%s</b> could not be downloaded successfully to this Joomla Install!"
|
||||||
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"
|
||||||
@ -9029,6 +9039,7 @@ COM_COMPONENTBUILDER_WEBSITE_S="Website: %s"
|
|||||||
COM_COMPONENTBUILDER_WE_DID_NOT_CHECK_THE_SNIPPET_IT_SELF_TO_SEE_IF_IT_CHANGED_WE_ONLY_WORK_ON_DATES="We did not check the snippet it self, to see if it changed. We only work on dates."
|
COM_COMPONENTBUILDER_WE_DID_NOT_CHECK_THE_SNIPPET_IT_SELF_TO_SEE_IF_IT_CHANGED_WE_ONLY_WORK_ON_DATES="We did not check the snippet it self, to see if it changed. We only work on dates."
|
||||||
COM_COMPONENTBUILDER_WE_FAILED_TO_MOVE_BSB="We failed to move <b>%s</b>!"
|
COM_COMPONENTBUILDER_WE_FAILED_TO_MOVE_BSB="We failed to move <b>%s</b>!"
|
||||||
COM_COMPONENTBUILDER_WE_SUCCESSFULLY_MOVED_BSB="We successfully moved <b>%s</b>!"
|
COM_COMPONENTBUILDER_WE_SUCCESSFULLY_MOVED_BSB="We successfully moved <b>%s</b>!"
|
||||||
|
COM_COMPONENTBUILDER_WHILE_WE_DOWNLOAD_ALL_TWENTY_SIX_COMPILER_GIF_ANIMATIONS_RANDOMLY_USED_IN_THE_COMPILER_GUI_DURING_COMPILATION="While we download all 26 compiler GIF animations randomly used in the compiler GUI during compilation"
|
||||||
COM_COMPONENTBUILDER_YES="Yes"
|
COM_COMPONENTBUILDER_YES="Yes"
|
||||||
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEYBR_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY="Your data is encrypted with a AES 128 bit encryption using the above 32 character key.<br />Without this key it will take the current technology with a brute force attack method more then <a href="http://random-ize.com/how-long-to-hack-pass/" target="_blank" title="How long to hack pass">700 000 000 000 000 000 000 000 000 000 000</a> years to crack theoretically."
|
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEYBR_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY="Your data is encrypted with a AES 128 bit encryption using the above 32 character key.<br />Without this key it will take the current technology with a brute force attack method more then <a href="http://random-ize.com/how-long-to-hack-pass/" target="_blank" title="How long to hack pass">700 000 000 000 000 000 000 000 000 000 000</a> years to crack theoretically."
|
||||||
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEY_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY_UNLESS_THEY_HAVE_THIS_KEY_ABOVE_SO_DO_KEEP_IT_SAFE="Your data is encrypted with a AES 128 bit encryption using the above 32 character key. Without this key it will take the current technology with a brute force attack method more then <a href="http://random-ize.com/how-long-to-hack-pass/" target="_blank" title="How long to hack pass">700 000 000 000 000 000 000 000 000 000 000</a> years to crack theoretically. Unless they have this key above, so do keep it safe."
|
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEY_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY_UNLESS_THEY_HAVE_THIS_KEY_ABOVE_SO_DO_KEEP_IT_SAFE="Your data is encrypted with a AES 128 bit encryption using the above 32 character key. Without this key it will take the current technology with a brute force attack method more then <a href="http://random-ize.com/how-long-to-hack-pass/" target="_blank" title="How long to hack pass">700 000 000 000 000 000 000 000 000 000 000</a> years to crack theoretically. Unless they have this key above, so do keep it safe."
|
||||||
@ -9037,6 +9048,7 @@ COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASH_AREA_AND_YOU_DONT_HAVE_
|
|||||||
COM_COMPONENTBUILDER_YOU_CAN_NOW_SELECT_THE_COMPONENT_BZIPB_PACKAGE_YOU_WOULD_LIKE_TO_IMPORTBR_SMALLPLEASE_NOTE_THAT_SMART_COMPONENT_IMPORT_ONLY_WORKS_WITH_THE_FOLLOWING_FORMAT_BZIPBSMALL="You can now select the component <b>zip</b> package you would like to import.<br /><small>Please note that smart component import only works with the following format: <b>(.zip)</b></small>"
|
COM_COMPONENTBUILDER_YOU_CAN_NOW_SELECT_THE_COMPONENT_BZIPB_PACKAGE_YOU_WOULD_LIKE_TO_IMPORTBR_SMALLPLEASE_NOTE_THAT_SMART_COMPONENT_IMPORT_ONLY_WORKS_WITH_THE_FOLLOWING_FORMAT_BZIPBSMALL="You can now select the component <b>zip</b> package you would like to import.<br /><small>Please note that smart component import only works with the following format: <b>(.zip)</b></small>"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_ACCESS_THE_SERVER_DETAILS_BS_DENIEDB_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_INFO="You do not have permission to access the server details (<b>%s - denied</b>), please contact your system administrator for more info."
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_ACCESS_THE_SERVER_DETAILS_BS_DENIEDB_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_INFO="You do not have permission to access the server details (<b>%s - denied</b>), please contact your system administrator for more info."
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
|
||||||
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_DOWNLOAD_THE_COMPILER_ANIMATIONS="You do not have permission to download the compiler animations!"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THESE_EXTENSIONS="You do not have permission to install these extensions!"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THESE_EXTENSIONS="You do not have permission to install these extensions!"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_COMPONENT="You do not have permission to install the component!"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_COMPONENT="You do not have permission to install the component!"
|
||||||
|
@ -183,6 +183,8 @@ COM_COMPONENTBUILDER_COMPILER_ACCESS="Compiler Access"
|
|||||||
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC="Allows the users in this group to access compiler."
|
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC="Allows the users in this group to access compiler."
|
||||||
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
|
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
|
||||||
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC="Allows the users in this group to access the clear tmp button."
|
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC="Allows the users in this group to access the clear tmp button."
|
||||||
|
COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS="Compiler Compiler Animations Button Access"
|
||||||
|
COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC="Allows the users in this group to access the compiler animations button."
|
||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS="Compiler Run Expansion Button Access"
|
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS="Compiler Run Expansion Button Access"
|
||||||
|
@ -15,15 +15,15 @@ defined('JPATH_BASE') or die('Restricted access');
|
|||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div id="<?= $displayData ?>">
|
<div id="<?= $displayData['id'] ?>">
|
||||||
<?= JHtml::_('bootstrap.startTabSet', $displayData . '_tab', array('active' => 'vdm-noticeboard')) ?>
|
<?= JHtml::_('bootstrap.startTabSet', $displayData['id'] . '_tab', array('active' => $displayData['active'] . '-noticeboard')) ?>
|
||||||
<?= JHtml::_('bootstrap.addTab', $displayData . '_tab', 'vdm-noticeboard', JText::_('COM_COMPONENTBUILDER_VDM_BOARD', true)) ?>
|
<?= JHtml::_('bootstrap.addTab', $displayData['id'] . '_tab', 'vdm-noticeboard', JText::_('COM_COMPONENTBUILDER_VDM_BOARD', true)) ?>
|
||||||
<?= JLayoutHelper::render('jcbnoticeboardvdm', null) ?>
|
<?= JLayoutHelper::render('jcbnoticeboardvdm', null) ?>
|
||||||
<div class="jcb-sponsor-banner"><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
<div><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
||||||
<?= JHtml::_('bootstrap.endTab'); ?>
|
<?= JHtml::_('bootstrap.endTab'); ?>
|
||||||
<?= JHtml::_('bootstrap.addTab', $displayData . '_tab', 'proboard', JText::_('COM_COMPONENTBUILDER_JCB_PRO_BOARD', true)) ?>
|
<?= JHtml::_('bootstrap.addTab', $displayData['id'] . '_tab', 'pro-noticeboard', JText::_('COM_COMPONENTBUILDER_JCB_PRO_BOARD', true)) ?>
|
||||||
<?= JLayoutHelper::render('jcbnoticeboardpro', null) ?>
|
<?= JLayoutHelper::render('jcbnoticeboardpro', null) ?>
|
||||||
<div class="jcb-sponsor-banner"><?= ComponentbuilderHelper::getDynamicContent('banner', '728-90') ?></div>
|
<div><?= ComponentbuilderHelper::getDynamicContent('banner', '728-90') ?></div>
|
||||||
<?= JHtml::_('bootstrap.endTab') ?>
|
<?= JHtml::_('bootstrap.endTab') ?>
|
||||||
<?= JHtml::_('bootstrap.endTabSet') ?>
|
<?= JHtml::_('bootstrap.endTabSet') ?>
|
||||||
</div>
|
</div>
|
||||||
|
@ -156,6 +156,51 @@ class ComponentbuilderModelCompiler extends JModelList
|
|||||||
return $db->loadObjectList();
|
return $db->loadObjectList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getCompilerAnimations(&$errorMessage)
|
||||||
|
{
|
||||||
|
// convert error message to array
|
||||||
|
$errorMessage = array();
|
||||||
|
$searchArray = array(
|
||||||
|
// add banners (width - height)
|
||||||
|
'banner' => array(
|
||||||
|
'728-90',
|
||||||
|
'160-600'
|
||||||
|
),
|
||||||
|
// The build-gif by size (width - height)
|
||||||
|
'builder-gif' => array(
|
||||||
|
'480-540'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// start search, and get
|
||||||
|
foreach ($searchArray as $type => $sizes)
|
||||||
|
{
|
||||||
|
// per size
|
||||||
|
foreach ($sizes as $size)
|
||||||
|
{
|
||||||
|
// get size
|
||||||
|
if (($set_size = ComponentbuilderHelper::getDynamicContentSize($type, $size)) !== 0)
|
||||||
|
{
|
||||||
|
// we loop over all type size artwork
|
||||||
|
for ($target = 1; $target <= $set_size; $target++)
|
||||||
|
{
|
||||||
|
if (!ComponentbuilderHelper::getDynamicContent($type, $size, false, 0, $target))
|
||||||
|
{
|
||||||
|
$errorMessage[] = JText::sprintf('COM_COMPONENTBUILDER_S_S_NUMBER_BSB_COULD_NOT_BE_DOWNLOADED_SUCCESSFULLY_TO_THIS_JOOMLA_INSTALL', $type, $size, $target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// check if we had any errors
|
||||||
|
if (ComponentbuilderHelper::checkArray($errorMessage))
|
||||||
|
{
|
||||||
|
// flatten the error message array
|
||||||
|
$errorMessage = implode('<br />', $errorMessage);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public function builder($version, $id, $backup, $repo, $addPlaceholders, $debugLinenr, $minify)
|
public function builder($version, $id, $backup, $repo, $addPlaceholders, $debugLinenr, $minify)
|
||||||
{
|
{
|
||||||
$set['version'] = $version;
|
$set['version'] = $version;
|
||||||
|
@ -21,6 +21,9 @@ JHtml::_('behavior.keepalive');
|
|||||||
$this->app->input->set('hidemainmenu', false);
|
$this->app->input->set('hidemainmenu', false);
|
||||||
$selectNotice = '<h3>' . JText::_('COM_COMPONENTBUILDER_HI') . ' ' . $this->user->name . '</h3>';
|
$selectNotice = '<h3>' . JText::_('COM_COMPONENTBUILDER_HI') . ' ' . $this->user->name . '</h3>';
|
||||||
$selectNotice .= '<p>' . JText::_('COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE') . '</p>';
|
$selectNotice .= '<p>' . JText::_('COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE') . '</p>';
|
||||||
|
|
||||||
|
// set the noticeboard options
|
||||||
|
$noticeboardOptions = array('vdm', 'pro');
|
||||||
?>
|
?>
|
||||||
<?php if ($this->canDo->get('compiler.access')): ?>
|
<?php if ($this->canDo->get('compiler.access')): ?>
|
||||||
<form action="<?php echo JRoute::_('index.php?option=com_componentbuilder&view=compiler'); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
|
<form action="<?php echo JRoute::_('index.php?option=com_componentbuilder&view=compiler'); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
|
||||||
@ -67,6 +70,9 @@ Joomla.submitbutton = function(task, key)
|
|||||||
} else if (task == 'compiler.clearTmp'){
|
} else if (task == 'compiler.clearTmp'){
|
||||||
jQuery('#clear').show();
|
jQuery('#clear').show();
|
||||||
jQuery('#loading').css('display', 'block');
|
jQuery('#loading').css('display', 'block');
|
||||||
|
} else if (task == 'compiler.getCompilerAnimations'){
|
||||||
|
jQuery('#get-compiler-animations').show();
|
||||||
|
jQuery('#loading').css('display', 'block');
|
||||||
} else {
|
} else {
|
||||||
jQuery('#loading').css('display', 'block');
|
jQuery('#loading').css('display', 'block');
|
||||||
}
|
}
|
||||||
@ -144,24 +150,30 @@ jQuery('<div id="compiling"></div>')
|
|||||||
</div>
|
</div>
|
||||||
<div class="span7">
|
<div class="span7">
|
||||||
<div id="component-details"><?= $selectNotice ?></div>
|
<div id="component-details"><?= $selectNotice ?></div>
|
||||||
<?= JLayoutHelper::render('jcbnoticeboardtabs', 'noticeboard') ?>
|
<?= JLayoutHelper::render('jcbnoticeboardtabs', array('id' => 'noticeboard' , 'active' => $noticeboardOptions[array_rand($noticeboardOptions)])) ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="get-compiler-animations" style="display:none;">
|
||||||
|
<h1><?= JText::_('COM_COMPONENTBUILDER_PLEASE_WAIT') ?></h1>
|
||||||
|
<h4><?= JText::_('COM_COMPONENTBUILDER_WHILE_WE_DOWNLOAD_ALL_TWENTY_SIX_COMPILER_GIF_ANIMATIONS_RANDOMLY_USED_IN_THE_COMPILER_GUI_DURING_COMPILATION') ?> <span class="loading-dots">.</span></h4>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
<div id="clear" style="display:none;">
|
<div id="clear" style="display:none;">
|
||||||
<h1><?= JText::_('COM_COMPONENTBUILDER_PLEASE_WAIT_CLEARING_THE_TMP_FOLDER') ?> <span class="loading-dots">.</span></h1>
|
<h1><?= JText::_('COM_COMPONENTBUILDER_PLEASE_WAIT') ?></h1>
|
||||||
|
<h4><?= JText::_('COM_COMPONENTBUILDER_REMOVING_ALL_ZIP_PACKAGES_FROM_THE_TEMPORARY_FOLDER_OF_THE_JOOMLA_INSTALL') ?> <span class="loading-dots">.</span></h4>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="compiler" style="display:none;">
|
<div id="compiler" style="display:none;">
|
||||||
<div id="compiler-spinner" class="span4" style="display:none;">
|
<div id="compiler-spinner" class="span4" style="display:none;">
|
||||||
<h3><?= JText::sprintf('COM_COMPONENTBUILDER_S_PLEASE_WAIT', $this->user->name) ?></h3>
|
<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>
|
<p style="font-size: smaller;"><?= JText::_('COM_COMPONENTBUILDER_THIS_MAY_TAKE_A_WHILE_DEPENDING_ON_THE_SIZE_OF_YOUR_PROJECT') ?></p>
|
||||||
<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>
|
<p><b><span class="component-name"><?= JText::_('COM_COMPONENTBUILDER_THE_COMPONENT') ?></span></b> <?= JText::_('COM_COMPONENTBUILDER_IS_BEING_COMPILED') ?> <span class="loading-dots">.</span></p>
|
||||||
<div style="text-align: center;"><?= ComponentbuilderHelper::getDynamicContent('builder-gif', '480-540') ?></div>
|
<div style="text-align: center;"><?= ComponentbuilderHelper::getDynamicContent('builder-gif', $this->builder_gif_size) ?></div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="compiler-notice" class="span7" style="display:none;">
|
<div id="compiler-notice" class="span7" style="display:none;">
|
||||||
<?= JLayoutHelper::render('jcbnoticeboardvdm', null) ?>
|
<?= JLayoutHelper::render('jcbnoticeboard' . $noticeboardOptions[array_rand($noticeboardOptions)], null) ?>
|
||||||
<div class="jcb-sponsor-banner"><?= ComponentbuilderHelper::getDynamicContent('banner', '728-90') ?></div>
|
<div><?= ComponentbuilderHelper::getDynamicContent('banner', '728-90') ?></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -39,6 +39,35 @@ class ComponentbuilderViewCompiler extends JViewLegacy
|
|||||||
}
|
}
|
||||||
$this->Components = $this->get('Components');
|
$this->Components = $this->get('Components');
|
||||||
$this->form = $this->setForm();
|
$this->form = $this->setForm();
|
||||||
|
// set the compiler artwork from global settings
|
||||||
|
$this->builder_gif_size = $this->params->get('builder_gif_size', '480-272');
|
||||||
|
// only run these checks if he has access
|
||||||
|
if ($this->canDo->get('compiler.compiler_animations'))
|
||||||
|
{
|
||||||
|
// if the new artwork is not being targeted hide download option of artwork
|
||||||
|
if ('480-540' !== $this->builder_gif_size)
|
||||||
|
{
|
||||||
|
$this->canDo->set('compiler.compiler_animations', false);
|
||||||
|
}
|
||||||
|
// we count of all the files are already there
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// get all the gif files in the gif folder
|
||||||
|
$all_gifs = scandir(JPATH_ROOT . "/administrator/components/com_componentbuilder/assets/images/builder-gif");
|
||||||
|
// check if we have any values
|
||||||
|
if (ComponentbuilderHelper::checkArray($all_gifs))
|
||||||
|
{
|
||||||
|
// count number of files but remove the 2 dot values
|
||||||
|
$num_gifs = count($all_gifs) - 2;
|
||||||
|
// if we have more or the same number of files that are in the array, the we hide the download option
|
||||||
|
if ($num_gifs >= ComponentbuilderHelper::getDynamicContentSize('builder-gif', '480-540'))
|
||||||
|
{
|
||||||
|
$this->canDo->set('compiler.compiler_animations', false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// We don't need toolbar in the modal window.
|
// We don't need toolbar in the modal window.
|
||||||
if ($this->getLayout() !== 'modal')
|
if ($this->getLayout() !== 'modal')
|
||||||
@ -346,6 +375,11 @@ class ComponentbuilderViewCompiler extends JViewLegacy
|
|||||||
// add Translate button.
|
// add Translate button.
|
||||||
JToolBarHelper::custom('compiler.runTranslator', 'comments-2 custom-button-runtranslator', '', 'COM_COMPONENTBUILDER_TRANSLATE', false);
|
JToolBarHelper::custom('compiler.runTranslator', 'comments-2 custom-button-runtranslator', '', 'COM_COMPONENTBUILDER_TRANSLATE', false);
|
||||||
}
|
}
|
||||||
|
if ($this->canDo->get('compiler.compiler_animations'))
|
||||||
|
{
|
||||||
|
// add Compiler Animations button.
|
||||||
|
JToolBarHelper::custom('compiler.getCompilerAnimations', 'download custom-button-getcompileranimations', '', 'COM_COMPONENTBUILDER_COMPILER_ANIMATIONS', false);
|
||||||
|
}
|
||||||
if ($this->canDo->get('compiler.clear_tmp'))
|
if ($this->canDo->get('compiler.clear_tmp'))
|
||||||
{
|
{
|
||||||
// add Clear tmp button.
|
// add Clear tmp button.
|
||||||
|
@ -6612,7 +6612,7 @@ class com_componentbuilderInstallerScript
|
|||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
// Field to update.
|
// Field to update.
|
||||||
$fields = array(
|
$fields = array(
|
||||||
$db->quoteName('params') . ' = ' . $db->quote('{"autorName":"Llewellyn van der Merwe","autorEmail":"llewellyn@joomlacomponentbuilder.com","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","add_menu_prefix":"1","menu_prefix":"»","minify":"0","language":"en-GB","percentagelanguageadd":"50","export_language_strings":"1","assets_table_fix":"1","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","development_method":"1","expansion":"0","return_options_build":"2","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","uikit_load":"1","uikit_min":"","uikit_style":""}'),
|
$db->quoteName('params') . ' = ' . $db->quote('{"autorName":"Llewellyn van der Merwe","autorEmail":"llewellyn@joomlacomponentbuilder.com","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","builder_gif_size":"480-540","add_menu_prefix":"1","menu_prefix":"»","minify":"0","language":"en-GB","percentagelanguageadd":"50","export_language_strings":"1","assets_table_fix":"1","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","development_method":"1","expansion":"0","return_options_build":"2","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","uikit_load":"1","uikit_min":"","uikit_style":""}'),
|
||||||
);
|
);
|
||||||
// Condition.
|
// Condition.
|
||||||
$conditions = array(
|
$conditions = array(
|
||||||
@ -6629,7 +6629,7 @@ class com_componentbuilderInstallerScript
|
|||||||
{
|
{
|
||||||
$rule_length = $db->loadResult();
|
$rule_length = $db->loadResult();
|
||||||
// Check the size of the rules column
|
// Check the size of the rules column
|
||||||
if ($rule_length <= 94240)
|
if ($rule_length <= 94400)
|
||||||
{
|
{
|
||||||
// Fix the assets table rules column size
|
// Fix the assets table rules column size
|
||||||
$fix_rules_size = "ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control. Enlarged to MEDIUMTEXT by JCB';";
|
$fix_rules_size = "ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control. Enlarged to MEDIUMTEXT by JCB';";
|
||||||
|
@ -1980,23 +1980,23 @@ abstract class ComponentbuilderHelper
|
|||||||
array(
|
array(
|
||||||
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-wide.gif',
|
'url' => 'https://cdn.joomla.org/volunteers/joomla-heart-wide.gif',
|
||||||
'hash' => 'f857e3a38facaeac9eba3cffa912b620',
|
'hash' => 'f857e3a38facaeac9eba3cffa912b620',
|
||||||
'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>'),
|
'html' => '<a href="https://vdm.bz/joomla-volunteers" target="_blank" title="Joomla! Volunteers Portal"><img class="jcb-sponsor-banner" 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>'),
|
||||||
array(
|
array(
|
||||||
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_728x90.png',
|
'url' => 'https://magazine.joomla.org/images/banners/JCM_2010_728x90.png',
|
||||||
'hash' => '4083c66f996279fd5a76adffc3a7d194',
|
'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>'),
|
'html' => '<a href="https://vdm.bz/joomla-magazine" target="_blank" title="Joomla! Community Magazine | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
array(
|
||||||
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png',
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/tlwebdesign_jcb_sponsor_728_90.png',
|
||||||
'hash' => 'd19be1f9f5b2049ff901096aafc246be',
|
'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>'),
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-tlwebdesign" target="_blank" title="tlwebdesign a JCB sponsor | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
array(
|
||||||
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif',
|
'url' => 'https://www.joomlacomponentbuilder.com/images/banners/vdm_jcb_sponsor_728_90.gif',
|
||||||
'hash' => '84478dfa0cd880395815e0ee026812a4',
|
'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>'),
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-vdm" target="_blank" title="VDM a JCB sponsor | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
array(
|
||||||
'url' => 'https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif',
|
'url' => 'https://allmycms.com/images/banners/agerix/agerix-loves-jcb-728-90.gif',
|
||||||
'hash' => 'b24c0726aa809cdcc04bcffe7e1e1529',
|
'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>')
|
'html' => '<a href="https://vdm.bz/jcb-sponsor-agerix" target="_blank" title="Agerix a JCB sponsor | Because community matters..."><img class="jcb-sponsor-banner" 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(
|
||||||
array(
|
array(
|
||||||
@ -2011,6 +2011,15 @@ abstract class ComponentbuilderHelper
|
|||||||
),
|
),
|
||||||
// The build-gif by size (width - height)
|
// The build-gif by size (width - height)
|
||||||
'builder-gif' => array(
|
'builder-gif' => array(
|
||||||
|
// original gif ;)
|
||||||
|
'480-272' => array(
|
||||||
|
array(
|
||||||
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/original.gif',
|
||||||
|
'hash' => '676e37a949add8f4573381195cd1061c',
|
||||||
|
'html' => '<img src="[[[ROOT-URL]]]administrator/components/com_componentbuilder/assets/images/builder-gif/original.gif" />'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
// new gif artwork since 2021
|
||||||
'480-540' => array(
|
'480-540' => array(
|
||||||
array(
|
array(
|
||||||
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/1.gif',
|
'url' => 'https://www.joomlacomponentbuilder.com/images/builder/1.gif',
|
||||||
@ -2112,24 +2121,58 @@ abstract class ComponentbuilderHelper
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the dynamic content array size
|
||||||
|
*
|
||||||
|
* @param string $type The type of content
|
||||||
|
* @param string $size The size of the content
|
||||||
|
*
|
||||||
|
* @return int on success number of items in array type,size
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getDynamicContentSize($type, $size)
|
||||||
|
{
|
||||||
|
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size])
|
||||||
|
&& ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
||||||
|
{
|
||||||
|
return $nr;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the dynamic content
|
* get the dynamic content
|
||||||
*
|
*
|
||||||
* @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
|
* @param mix $default The default to return
|
||||||
|
* @param int $try Retry tracker (when bigger then array size it stops)
|
||||||
|
* @param mix $getter The specific getter number (not zero based)
|
||||||
*
|
*
|
||||||
* @return string on success html string
|
* @return string on success html string
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getDynamicContent($type, $size, $default = '', $try = 0)
|
public static function getDynamicContent($type, $size, $default = '', $try = 1, $getter = null)
|
||||||
{
|
{
|
||||||
if (isset(self::$dynamicContent[$type]) && isset(self::$dynamicContent[$type][$size])
|
if (($nr = self::getDynamicContentSize($type, $size)) !== 0)
|
||||||
&& ($nr = self::checkArray(self::$dynamicContent[$type][$size])))
|
{
|
||||||
|
// use specific getter
|
||||||
|
if ($getter)
|
||||||
|
{
|
||||||
|
$get = --$getter;
|
||||||
|
}
|
||||||
|
// get the random getter number
|
||||||
|
elseif ($nr > 1)
|
||||||
{
|
{
|
||||||
// get the random item number
|
|
||||||
$get = (int) rand(0, --$nr);
|
$get = (int) rand(0, --$nr);
|
||||||
// get the current target
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$get = 0;
|
||||||
|
}
|
||||||
|
// get the current target if found
|
||||||
|
if (isset(self::$dynamicContent[$type][$size][$get]))
|
||||||
|
{
|
||||||
$target = self::$dynamicContent[$type][$size][$get];
|
$target = self::$dynamicContent[$type][$size][$get];
|
||||||
// set file name
|
// set file name
|
||||||
$file_name = basename($target['url']);
|
$file_name = basename($target['url']);
|
||||||
@ -2152,16 +2195,17 @@ abstract class ComponentbuilderHelper
|
|||||||
// only set the image if the data match the hash
|
// only set the image if the data match the hash
|
||||||
self::writeFile($path, $image_data);
|
self::writeFile($path, $image_data);
|
||||||
}
|
}
|
||||||
// we retry 26 times
|
// we retry array size times (unless specific getter is used)
|
||||||
elseif ($try < 26)
|
elseif ($try <= $nr && !$getter)
|
||||||
{
|
{
|
||||||
// the time around failed so we try again
|
// the first time around failed so we try again (the size of the array times)
|
||||||
return self::getDynamicContent($type, $size, $default, ++$try);
|
return self::getDynamicContent($type, $size, $default, ++$try);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// return found content
|
// return found content
|
||||||
return str_replace('[[[ROOT-URL]]]', JURI::root(), $target['html']);
|
return str_replace('[[[ROOT-URL]]]', JURI::root(), $target['html']);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return $default;
|
return $default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user