forked from joomla/Component-Builder
Adds new helper classes.
This commit is contained in:
parent
ec827b7369
commit
c5be4ff5fa
@ -12,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
|
|||||||
|
|
||||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||||
|
|
||||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.15) with **ALL** its features and **ALL** concepts totally open-source and free!
|
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.16) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||||
|
|
||||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
@ -143,11 +143,11 @@ 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*: 12th March, 2022
|
+ *Last Build*: 4th April, 2022
|
||||||
+ *Version*: 2.12.15
|
+ *Version*: 2.12.16
|
||||||
+ *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*: **286346**
|
+ *Line count*: **286290**
|
||||||
+ *Field count*: **1580**
|
+ *Field count*: **1580**
|
||||||
+ *File count*: **1850**
|
+ *File count*: **1850**
|
||||||
+ *Folder count*: **260**
|
+ *Folder count*: **260**
|
||||||
|
@ -12,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
|
|||||||
|
|
||||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||||
|
|
||||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.15) with **ALL** its features and **ALL** concepts totally open-source and free!
|
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.16) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||||
|
|
||||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
@ -143,11 +143,11 @@ 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*: 12th March, 2022
|
+ *Last Build*: 4th April, 2022
|
||||||
+ *Version*: 2.12.15
|
+ *Version*: 2.12.16
|
||||||
+ *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*: **286346**
|
+ *Line count*: **286290**
|
||||||
+ *Field count*: **1580**
|
+ *Field count*: **1580**
|
||||||
+ *File count*: **1850**
|
+ *File count*: **1850**
|
||||||
+ *Folder count*: **260**
|
+ *Folder count*: **260**
|
||||||
|
@ -18,6 +18,7 @@ use Joomla\CMS\Filesystem\Folder;
|
|||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
|
use VDM\Joomla\Utilities\FileHelper;
|
||||||
use VDM\Joomla\Utilities\MathHelper;
|
use VDM\Joomla\Utilities\MathHelper;
|
||||||
|
|
||||||
// Use the component builder autoloader
|
// Use the component builder autoloader
|
||||||
@ -1103,7 +1104,7 @@ class Compiler extends Infusion
|
|||||||
&$this->componentFolderName, &$this->componentData)
|
&$this->componentFolderName, &$this->componentData)
|
||||||
);
|
);
|
||||||
//create the zip file
|
//create the zip file
|
||||||
if (ComponentbuilderHelper::zip(
|
if (FileHelper::zip(
|
||||||
$this->componentPath, $this->filepath['component']
|
$this->componentPath, $this->filepath['component']
|
||||||
))
|
))
|
||||||
{
|
{
|
||||||
@ -1195,7 +1196,7 @@ class Compiler extends Infusion
|
|||||||
&$this->tempPath, &$module->zip_name, &$module)
|
&$this->tempPath, &$module->zip_name, &$module)
|
||||||
);
|
);
|
||||||
//create the zip file
|
//create the zip file
|
||||||
if (ComponentbuilderHelper::zip(
|
if (FileHelper::zip(
|
||||||
$module->folder_path,
|
$module->folder_path,
|
||||||
$this->filepath['modules'][$module->id]
|
$this->filepath['modules'][$module->id]
|
||||||
))
|
))
|
||||||
@ -1289,7 +1290,7 @@ class Compiler extends Infusion
|
|||||||
&$this->tempPath, &$plugin->zip_name, &$plugin)
|
&$this->tempPath, &$plugin->zip_name, &$plugin)
|
||||||
);
|
);
|
||||||
//create the zip file
|
//create the zip file
|
||||||
if (ComponentbuilderHelper::zip(
|
if (FileHelper::zip(
|
||||||
$plugin->folder_path,
|
$plugin->folder_path,
|
||||||
$this->filepath['plugins'][$plugin->id]
|
$this->filepath['plugins'][$plugin->id]
|
||||||
))
|
))
|
||||||
|
@ -20,6 +20,7 @@ use VDM\Joomla\Utilities\JsonHelper;
|
|||||||
use VDM\Joomla\Utilities\ArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GetHelper;
|
use VDM\Joomla\Utilities\GetHelper;
|
||||||
|
use VDM\Joomla\Utilities\FileHelper;
|
||||||
use VDM\Joomla\Utilities\String\FieldHelper;
|
use VDM\Joomla\Utilities\String\FieldHelper;
|
||||||
use VDM\Joomla\Utilities\String\TypeHelper;
|
use VDM\Joomla\Utilities\String\TypeHelper;
|
||||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||||
@ -182,6 +183,13 @@ class Get
|
|||||||
*/
|
*/
|
||||||
public $componentData;
|
public $componentData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Switch to add Powers data
|
||||||
|
*
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
|
protected $addPower;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Powers data
|
* The Powers data
|
||||||
*
|
*
|
||||||
@ -1044,6 +1052,10 @@ class Get
|
|||||||
) == 1) ? true : false;
|
) == 1) ? true : false;
|
||||||
$this->debugLinenr = ((int) $config['debuglinenr'] == 0) ? false
|
$this->debugLinenr = ((int) $config['debuglinenr'] == 0) ? false
|
||||||
: (((int) $config['debuglinenr'] == 1) ? true : $global);
|
: (((int) $config['debuglinenr'] == 1) ? true : $global);
|
||||||
|
// set if powers should be added to component (default is true)
|
||||||
|
$global = true;
|
||||||
|
$this->addPower = (isset($config['powers']) && (int) $config['powers'] == 0)
|
||||||
|
? false : ((isset($config['powers']) && (int) $config['powers'] == 1) ? true : $global);
|
||||||
// set the current user
|
// set the current user
|
||||||
$this->user = JFactory::getUser();
|
$this->user = JFactory::getUser();
|
||||||
// Get a db connection.
|
// Get a db connection.
|
||||||
@ -2853,14 +2865,14 @@ class Get
|
|||||||
{
|
{
|
||||||
// load the field details
|
// load the field details
|
||||||
$required
|
$required
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$fieldValues['settings']->xml,
|
$fieldValues['settings']->xml,
|
||||||
'required="', '"'
|
'required="', '"'
|
||||||
);
|
);
|
||||||
$required = ($required === 'true'
|
$required = ($required === 'true'
|
||||||
|| $required === '1') ? 'yes' : 'no';
|
|| $required === '1') ? 'yes' : 'no';
|
||||||
$filter
|
$filter
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$fieldValues['settings']->xml,
|
$fieldValues['settings']->xml,
|
||||||
'filter="', '"'
|
'filter="', '"'
|
||||||
);
|
);
|
||||||
@ -2909,7 +2921,7 @@ class Get
|
|||||||
if (!ComponentbuilderHelper::fieldCheck($type))
|
if (!ComponentbuilderHelper::fieldCheck($type))
|
||||||
{
|
{
|
||||||
$conditionValue['match_extends']
|
$conditionValue['match_extends']
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$fieldValue['settings']->xml,
|
$fieldValue['settings']->xml,
|
||||||
'extends="', '"'
|
'extends="', '"'
|
||||||
);
|
);
|
||||||
@ -3850,7 +3862,7 @@ class Get
|
|||||||
$field->xml = $this->setDynamicValues(json_decode($field->xml));
|
$field->xml = $this->setDynamicValues(json_decode($field->xml));
|
||||||
|
|
||||||
// check if we have validate (validation rule set)
|
// check if we have validate (validation rule set)
|
||||||
$validationRule = ComponentbuilderHelper::getBetween(
|
$validationRule = GetHelper::between(
|
||||||
$field->xml, 'validate="', '"'
|
$field->xml, 'validate="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($validationRule))
|
if (StringHelper::check($validationRule))
|
||||||
@ -4403,7 +4415,7 @@ class Get
|
|||||||
|| strtolower($type_name) === 'customuser')
|
|| strtolower($type_name) === 'customuser')
|
||||||
{
|
{
|
||||||
$type = TypeHelper::safe(
|
$type = TypeHelper::safe(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'type="', '"'
|
$field['settings']->xml, 'type="', '"'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -4430,7 +4442,7 @@ class Get
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$type = TypeHelper::safe(
|
$type = TypeHelper::safe(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'type="', '"'
|
$field['settings']->xml, 'type="', '"'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -4502,7 +4514,7 @@ class Get
|
|||||||
if ($type_name === 'category')
|
if ($type_name === 'category')
|
||||||
{
|
{
|
||||||
// quick check if this is a category linked to view page
|
// quick check if this is a category linked to view page
|
||||||
$requeSt_id = ComponentbuilderHelper::getBetween(
|
$requeSt_id = GetHelper::between(
|
||||||
$field['settings']->xml, 'name="', '"'
|
$field['settings']->xml, 'name="', '"'
|
||||||
);
|
);
|
||||||
if (strpos($requeSt_id, '_request_id') !== false
|
if (strpos($requeSt_id, '_request_id') !== false
|
||||||
@ -4522,17 +4534,17 @@ class Get
|
|||||||
{
|
{
|
||||||
// check if we should use another Text Name as this views name
|
// check if we should use another Text Name as this views name
|
||||||
$otherName = $this->setPlaceholders(
|
$otherName = $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'othername="', '"'
|
$field['settings']->xml, 'othername="', '"'
|
||||||
), $this->placeholders
|
), $this->placeholders
|
||||||
);
|
);
|
||||||
$otherViews = $this->setPlaceholders(
|
$otherViews = $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'views="', '"'
|
$field['settings']->xml, 'views="', '"'
|
||||||
), $this->placeholders
|
), $this->placeholders
|
||||||
);
|
);
|
||||||
$otherView = $this->setPlaceholders(
|
$otherView = $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'view="', '"'
|
$field['settings']->xml, 'view="', '"'
|
||||||
), $this->placeholders
|
), $this->placeholders
|
||||||
);
|
);
|
||||||
@ -4575,7 +4587,7 @@ class Get
|
|||||||
// get value from xml
|
// get value from xml
|
||||||
$xml = FieldHelper::safe(
|
$xml = FieldHelper::safe(
|
||||||
$this->setPlaceholders(
|
$this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'name="', '"'
|
$field['settings']->xml, 'name="', '"'
|
||||||
), $this->placeholders
|
), $this->placeholders
|
||||||
)
|
)
|
||||||
@ -4880,7 +4892,7 @@ class Get
|
|||||||
);
|
);
|
||||||
// get the table name
|
// get the table name
|
||||||
$_searchQuery
|
$_searchQuery
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$customQueryString, '$query->from(', ')'
|
$customQueryString, '$query->from(', ')'
|
||||||
);
|
);
|
||||||
if (StringHelper::check(
|
if (StringHelper::check(
|
||||||
@ -4889,7 +4901,7 @@ class Get
|
|||||||
&& strpos($_searchQuery, '#__') !== false)
|
&& strpos($_searchQuery, '#__') !== false)
|
||||||
{
|
{
|
||||||
$_queryName
|
$_queryName
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$_searchQuery, '#__', "'"
|
$_searchQuery, '#__', "'"
|
||||||
);
|
);
|
||||||
if (!StringHelper::check(
|
if (!StringHelper::check(
|
||||||
@ -4897,7 +4909,7 @@ class Get
|
|||||||
))
|
))
|
||||||
{
|
{
|
||||||
$_queryName
|
$_queryName
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$_searchQuery, '#__', '"'
|
$_searchQuery, '#__', '"'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -5898,10 +5910,10 @@ class Get
|
|||||||
if (!ArrayHelper::check($templates))
|
if (!ArrayHelper::check($templates))
|
||||||
{
|
{
|
||||||
// set the Template data
|
// set the Template data
|
||||||
$temp1 = ComponentbuilderHelper::getAllBetween(
|
$temp1 = GetHelper::allBetween(
|
||||||
$default, "\$this->loadTemplate('", "')"
|
$default, "\$this->loadTemplate('", "')"
|
||||||
);
|
);
|
||||||
$temp2 = ComponentbuilderHelper::getAllBetween(
|
$temp2 = GetHelper::allBetween(
|
||||||
$default, '$this->loadTemplate("', '")'
|
$default, '$this->loadTemplate("', '")'
|
||||||
);
|
);
|
||||||
if (ArrayHelper::check($temp1)
|
if (ArrayHelper::check($temp1)
|
||||||
@ -5957,10 +5969,10 @@ class Get
|
|||||||
if (!ArrayHelper::check($layouts))
|
if (!ArrayHelper::check($layouts))
|
||||||
{
|
{
|
||||||
// set the Layout data
|
// set the Layout data
|
||||||
$lay1 = ComponentbuilderHelper::getAllBetween(
|
$lay1 = GetHelper::allBetween(
|
||||||
$default, "JLayoutHelper::render('", "',"
|
$default, "JLayoutHelper::render('", "',"
|
||||||
);
|
);
|
||||||
$lay2 = ComponentbuilderHelper::getAllBetween(
|
$lay2 = GetHelper::allBetween(
|
||||||
$default, 'JLayoutHelper::render("', '",'
|
$default, 'JLayoutHelper::render("', '",'
|
||||||
);
|
);
|
||||||
if (ArrayHelper::check($lay1)
|
if (ArrayHelper::check($lay1)
|
||||||
@ -6557,10 +6569,10 @@ class Get
|
|||||||
// first get the Joomla .JText._()
|
// first get the Joomla .JText._()
|
||||||
if (in_array('Joomla' . '.JText._(', $langStringTargets))
|
if (in_array('Joomla' . '.JText._(', $langStringTargets))
|
||||||
{
|
{
|
||||||
$jsTEXT[] = ComponentbuilderHelper::getAllBetween(
|
$jsTEXT[] = GetHelper::allBetween(
|
||||||
$content, "Joomla" . ".JText._('", "'"
|
$content, "Joomla" . ".JText._('", "'"
|
||||||
);
|
);
|
||||||
$jsTEXT[] = ComponentbuilderHelper::getAllBetween(
|
$jsTEXT[] = GetHelper::allBetween(
|
||||||
$content, 'Joomla' . '.JText._("', '"'
|
$content, 'Joomla' . '.JText._("', '"'
|
||||||
);
|
);
|
||||||
// combine into one array
|
// combine into one array
|
||||||
@ -6580,10 +6592,10 @@ class Get
|
|||||||
// now get the JText: :script()
|
// now get the JText: :script()
|
||||||
if (in_array('JText:' . ':script(', $langStringTargets))
|
if (in_array('JText:' . ':script(', $langStringTargets))
|
||||||
{
|
{
|
||||||
$scTEXT[] = ComponentbuilderHelper::getAllBetween(
|
$scTEXT[] = GetHelper::allBetween(
|
||||||
$content, "JText:" . ":script('", "'"
|
$content, "JText:" . ":script('", "'"
|
||||||
);
|
);
|
||||||
$scTEXT[] = ComponentbuilderHelper::getAllBetween(
|
$scTEXT[] = GetHelper::allBetween(
|
||||||
$content, 'JText:' . ':script("', '"'
|
$content, 'JText:' . ':script("', '"'
|
||||||
);
|
);
|
||||||
// combine into one array
|
// combine into one array
|
||||||
@ -6601,10 +6613,10 @@ class Get
|
|||||||
// now do the little trick for JustTEXT: :_('Just uppercase text');
|
// now do the little trick for JustTEXT: :_('Just uppercase text');
|
||||||
if (in_array('JustTEXT:' . ':_(', $langStringTargets))
|
if (in_array('JustTEXT:' . ':_(', $langStringTargets))
|
||||||
{
|
{
|
||||||
$langOnly[] = ComponentbuilderHelper::getAllBetween(
|
$langOnly[] = GetHelper::allBetween(
|
||||||
$content, "JustTEXT:" . ":_('", "')"
|
$content, "JustTEXT:" . ":_('", "')"
|
||||||
);
|
);
|
||||||
$langOnly[] = ComponentbuilderHelper::getAllBetween(
|
$langOnly[] = GetHelper::allBetween(
|
||||||
$content, 'JustTEXT:' . ':_("', '")'
|
$content, 'JustTEXT:' . ':_("', '")'
|
||||||
);
|
);
|
||||||
// merge lang only
|
// merge lang only
|
||||||
@ -6620,10 +6632,10 @@ class Get
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$langCheck[] = ComponentbuilderHelper::getAllBetween(
|
$langCheck[] = GetHelper::allBetween(
|
||||||
$content, $langStringTarget . "'", "'"
|
$content, $langStringTarget . "'", "'"
|
||||||
);
|
);
|
||||||
$langCheck[] = ComponentbuilderHelper::getAllBetween(
|
$langCheck[] = GetHelper::allBetween(
|
||||||
$content, $langStringTarget . '"', '"'
|
$content, $langStringTarget . '"', '"'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -7316,7 +7328,7 @@ class Get
|
|||||||
}
|
}
|
||||||
// target content
|
// target content
|
||||||
$bucket = array();
|
$bucket = array();
|
||||||
$found = ComponentbuilderHelper::getAllBetween(
|
$found = GetHelper::allBetween(
|
||||||
$string, '[EXTERNA' . 'LCODE=', ']'
|
$string, '[EXTERNA' . 'LCODE=', ']'
|
||||||
);
|
);
|
||||||
if (ArrayHelper::check($found))
|
if (ArrayHelper::check($found))
|
||||||
@ -7421,7 +7433,7 @@ class Get
|
|||||||
{
|
{
|
||||||
// get the data string (code)
|
// get the data string (code)
|
||||||
$this->externalCodeString[$target_key]
|
$this->externalCodeString[$target_key]
|
||||||
= ComponentbuilderHelper::getFileContents($target_url);
|
= FileHelper::getContent($target_url);
|
||||||
// check if we must cut this
|
// check if we must cut this
|
||||||
if (isset($this->externalCodeCutter[$target_key]) &&
|
if (isset($this->externalCodeCutter[$target_key]) &&
|
||||||
$this->externalCodeCutter[$target_key])
|
$this->externalCodeCutter[$target_key])
|
||||||
@ -7628,7 +7640,7 @@ class Get
|
|||||||
}
|
}
|
||||||
// the ids found in this content
|
// the ids found in this content
|
||||||
$bucket = array();
|
$bucket = array();
|
||||||
$found = ComponentbuilderHelper::getAllBetween(
|
$found = GetHelper::allBetween(
|
||||||
$string, '[CUSTO' . 'MCODE=', ']'
|
$string, '[CUSTO' . 'MCODE=', ']'
|
||||||
);
|
);
|
||||||
if (ArrayHelper::check($found))
|
if (ArrayHelper::check($found))
|
||||||
@ -8620,7 +8632,7 @@ class Get
|
|||||||
*/
|
*/
|
||||||
public function getPower($id)
|
public function getPower($id)
|
||||||
{
|
{
|
||||||
if ($this->setPower($id))
|
if ($this->addPower && $this->setPower($id))
|
||||||
{
|
{
|
||||||
return $this->powers[$id];
|
return $this->powers[$id];
|
||||||
}
|
}
|
||||||
@ -8934,12 +8946,16 @@ class Get
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// we failed to get the power
|
// we failed to get the power,
|
||||||
// so we raise an error message
|
// so we raise an error message
|
||||||
|
// only if id exist
|
||||||
|
if ($id > 0)
|
||||||
|
{
|
||||||
$this->app->enqueueMessage(
|
$this->app->enqueueMessage(
|
||||||
JText::sprintf('<p>Power <b>id:%s</b> not found!</p>', $id),
|
JText::sprintf('<p>Power <b>id:%s</b> not found!</p>', $id),
|
||||||
'Error'
|
'Error'
|
||||||
);
|
);
|
||||||
|
}
|
||||||
// let's not try again
|
// let's not try again
|
||||||
$this->statePowers[$id] = false;
|
$this->statePowers[$id] = false;
|
||||||
|
|
||||||
@ -9525,7 +9541,7 @@ class Get
|
|||||||
&& isset($field['settings']))
|
&& isset($field['settings']))
|
||||||
{
|
{
|
||||||
if (($old_default
|
if (($old_default
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$field['settings']->xml,
|
$field['settings']->xml,
|
||||||
'default="', '"', false
|
'default="', '"', false
|
||||||
)) !== false)
|
)) !== false)
|
||||||
@ -10470,7 +10486,7 @@ class Get
|
|||||||
&& isset($field['settings']))
|
&& isset($field['settings']))
|
||||||
{
|
{
|
||||||
if (($old_default
|
if (($old_default
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$field['settings']->xml,
|
$field['settings']->xml,
|
||||||
'default="', '"', false
|
'default="', '"', false
|
||||||
)) !== false)
|
)) !== false)
|
||||||
@ -11427,7 +11443,7 @@ class Get
|
|||||||
if (strpos($script, 'HASHSTRING((((') !== false)
|
if (strpos($script, 'HASHSTRING((((') !== false)
|
||||||
{
|
{
|
||||||
// get the strings
|
// get the strings
|
||||||
$values = ComponentbuilderHelper::getAllBetween(
|
$values = GetHelper::allBetween(
|
||||||
$script, 'HASHSTRING((((', '))))'
|
$script, 'HASHSTRING((((', '))))'
|
||||||
);
|
);
|
||||||
$locker = array();
|
$locker = array();
|
||||||
@ -11445,7 +11461,7 @@ class Get
|
|||||||
if (strpos($script, 'HASHFILE((((') !== false)
|
if (strpos($script, 'HASHFILE((((') !== false)
|
||||||
{
|
{
|
||||||
// get the strings
|
// get the strings
|
||||||
$values = ComponentbuilderHelper::getAllBetween(
|
$values = GetHelper::allBetween(
|
||||||
$script, 'HASHFILE((((', '))))'
|
$script, 'HASHFILE((((', '))))'
|
||||||
);
|
);
|
||||||
$locker = array();
|
$locker = array();
|
||||||
@ -11453,7 +11469,7 @@ class Get
|
|||||||
foreach ($values as $path)
|
foreach ($values as $path)
|
||||||
{
|
{
|
||||||
// we first get the file if it exist
|
// we first get the file if it exist
|
||||||
if ($value = ComponentbuilderHelper::getFileContents($path))
|
if ($value = FileHelper::getContent($path))
|
||||||
{
|
{
|
||||||
// now we hash the file content
|
// now we hash the file content
|
||||||
$locker['HASHFILE((((' . $path . '))))']
|
$locker['HASHFILE((((' . $path . '))))']
|
||||||
@ -11487,7 +11503,7 @@ class Get
|
|||||||
if (strpos($script, 'LOCKBASE64((((') !== false)
|
if (strpos($script, 'LOCKBASE64((((') !== false)
|
||||||
{
|
{
|
||||||
// get the strings
|
// get the strings
|
||||||
$values = ComponentbuilderHelper::getAllBetween(
|
$values = GetHelper::allBetween(
|
||||||
$script, 'LOCKBASE64((((', '))))'
|
$script, 'LOCKBASE64((((', '))))'
|
||||||
);
|
);
|
||||||
$locker = array();
|
$locker = array();
|
||||||
@ -11642,14 +11658,14 @@ class Get
|
|||||||
protected function guiCodeSearch(&$file, &$placeholders, &$today, &$target)
|
protected function guiCodeSearch(&$file, &$placeholders, &$today, &$target)
|
||||||
{
|
{
|
||||||
// get file content
|
// get file content
|
||||||
$file_conent = ComponentbuilderHelper::getFileContents($file);
|
$file_conent = FileHelper::getContent($file);
|
||||||
|
|
||||||
$guiCode = array();
|
$guiCode = array();
|
||||||
// we add a new search for the GUI CODE Blocks
|
// we add a new search for the GUI CODE Blocks
|
||||||
$guiCode[] = ComponentbuilderHelper::getAllBetween(
|
$guiCode[] = GetHelper::allBetween(
|
||||||
$file_conent, '/***[JCB' . 'GUI<>', '/***[/JCBGUI' . '$$$$]***/'
|
$file_conent, '/***[JCB' . 'GUI<>', '/***[/JCBGUI' . '$$$$]***/'
|
||||||
);
|
);
|
||||||
$guiCode[] = ComponentbuilderHelper::getAllBetween(
|
$guiCode[] = GetHelper::allBetween(
|
||||||
$file_conent, '<!--[JCB' . 'GUI<>', '<!--[/JCBGUI' . '$$$$]-->'
|
$file_conent, '<!--[JCB' . 'GUI<>', '<!--[/JCBGUI' . '$$$$]-->'
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -11899,10 +11915,10 @@ class Get
|
|||||||
// set language data
|
// set language data
|
||||||
foreach ($langStringTargets as $langStringTarget)
|
foreach ($langStringTargets as $langStringTarget)
|
||||||
{
|
{
|
||||||
$langCheck[] = ComponentbuilderHelper::getAllBetween(
|
$langCheck[] = GetHelper::allBetween(
|
||||||
$string, $langStringTarget . "'", "'"
|
$string, $langStringTarget . "'", "'"
|
||||||
);
|
);
|
||||||
$langCheck[] = ComponentbuilderHelper::getAllBetween(
|
$langCheck[] = GetHelper::allBetween(
|
||||||
$string, $langStringTarget . "'", "'"
|
$string, $langStringTarget . "'", "'"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,8 @@ use Joomla\CMS\Filesystem\Folder;
|
|||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
|
use VDM\Joomla\Utilities\GetHelper;
|
||||||
|
use VDM\Joomla\Utilities\FileHelper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1136,7 +1138,7 @@ class Structure extends Get
|
|||||||
// set file name
|
// set file name
|
||||||
$fileName = basename($url['url']);
|
$fileName = basename($url['url']);
|
||||||
// get the file contents
|
// get the file contents
|
||||||
$data = ComponentbuilderHelper::getFileContents(
|
$data = FileHelper::getContent(
|
||||||
$url['url']
|
$url['url']
|
||||||
);
|
);
|
||||||
// build sub path
|
// build sub path
|
||||||
@ -1527,7 +1529,7 @@ class Structure extends Get
|
|||||||
// set file name
|
// set file name
|
||||||
$fileName = basename($url['url']);
|
$fileName = basename($url['url']);
|
||||||
// get the file contents
|
// get the file contents
|
||||||
$data = ComponentbuilderHelper::getFileContents(
|
$data = FileHelper::getContent(
|
||||||
$url['url']
|
$url['url']
|
||||||
);
|
);
|
||||||
// build sub path
|
// build sub path
|
||||||
@ -1672,7 +1674,7 @@ class Structure extends Get
|
|||||||
// set file name
|
// set file name
|
||||||
$fileName = basename($url['url']);
|
$fileName = basename($url['url']);
|
||||||
// get the file contents
|
// get the file contents
|
||||||
$data = ComponentbuilderHelper::getFileContents(
|
$data = FileHelper::getContent(
|
||||||
$url['url']
|
$url['url']
|
||||||
);
|
);
|
||||||
// build sub path
|
// build sub path
|
||||||
@ -1887,7 +1889,7 @@ class Structure extends Get
|
|||||||
*/
|
*/
|
||||||
public function writeFile($path, $data)
|
public function writeFile($path, $data)
|
||||||
{
|
{
|
||||||
return ComponentbuilderHelper::writeFile($path, $data);
|
return FileHelper::write($path, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2591,7 +2593,7 @@ class Structure extends Get
|
|||||||
'trim',
|
'trim',
|
||||||
explode(
|
explode(
|
||||||
',',
|
',',
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$multi_field['settings']->xml, 'fields="', '"'
|
$multi_field['settings']->xml, 'fields="', '"'
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -2895,7 +2897,7 @@ class Structure extends Get
|
|||||||
if (File::exists($custom_settings))
|
if (File::exists($custom_settings))
|
||||||
{
|
{
|
||||||
$version_data = json_decode(
|
$version_data = json_decode(
|
||||||
ComponentbuilderHelper::getFileContents(
|
FileHelper::getContent(
|
||||||
$custom_settings
|
$custom_settings
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -2903,7 +2905,7 @@ class Structure extends Get
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$version_data = json_decode(
|
$version_data = json_decode(
|
||||||
ComponentbuilderHelper::getFileContents(
|
FileHelper::getContent(
|
||||||
$this->templatePath . '/settings.json'
|
$this->templatePath . '/settings.json'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -16,6 +16,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
|
use VDM\Joomla\Utilities\GetHelper;
|
||||||
use VDM\Joomla\Utilities\String\FieldHelper;
|
use VDM\Joomla\Utilities\String\FieldHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -4167,7 +4168,7 @@ class Fields extends Structure
|
|||||||
elseif ($property['name'] === 'validate')
|
elseif ($property['name'] === 'validate')
|
||||||
{
|
{
|
||||||
// check if we have validate (validation rule set)
|
// check if we have validate (validation rule set)
|
||||||
$xmlValue = ComponentbuilderHelper::getBetween(
|
$xmlValue = GetHelper::between(
|
||||||
$field['settings']->xml, 'validate="', '"'
|
$field['settings']->xml, 'validate="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($xmlValue))
|
if (StringHelper::check($xmlValue))
|
||||||
@ -4183,7 +4184,7 @@ class Fields extends Structure
|
|||||||
{
|
{
|
||||||
// get value & replace the placeholders
|
// get value & replace the placeholders
|
||||||
$xmlValue = $this->setPlaceholders(
|
$xmlValue = $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, $property['name'] . '="',
|
$field['settings']->xml, $property['name'] . '="',
|
||||||
'"'
|
'"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
@ -4208,7 +4209,7 @@ class Fields extends Structure
|
|||||||
$fieldAttributes['custom'][$phpKey][$phpLine]
|
$fieldAttributes['custom'][$phpKey][$phpLine]
|
||||||
= $this->setDynamicValues(
|
= $this->setDynamicValues(
|
||||||
ComponentbuilderHelper::openValidBase64(
|
ComponentbuilderHelper::openValidBase64(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml,
|
$field['settings']->xml,
|
||||||
$property['name'] . '="', '"'
|
$property['name'] . '="', '"'
|
||||||
)
|
)
|
||||||
@ -4221,7 +4222,7 @@ class Fields extends Structure
|
|||||||
{
|
{
|
||||||
// load the php for the custom field file
|
// load the php for the custom field file
|
||||||
$fieldAttributes['custom']['prime_php']
|
$fieldAttributes['custom']['prime_php']
|
||||||
= (int) ComponentbuilderHelper::getBetween(
|
= (int) GetHelper::between(
|
||||||
$field['settings']->xml, $property['name'] . '="', '"'
|
$field['settings']->xml, $property['name'] . '="', '"'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -4229,7 +4230,7 @@ class Fields extends Structure
|
|||||||
{
|
{
|
||||||
// load the class that is being extended
|
// load the class that is being extended
|
||||||
$fieldAttributes['custom']['extends']
|
$fieldAttributes['custom']['extends']
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$field['settings']->xml, 'extends="', '"'
|
$field['settings']->xml, 'extends="', '"'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -4239,7 +4240,7 @@ class Fields extends Structure
|
|||||||
$fieldAttributes['custom']['view']
|
$fieldAttributes['custom']['view']
|
||||||
= StringHelper::safe(
|
= StringHelper::safe(
|
||||||
$this->setPlaceholders(
|
$this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'view="', '"'
|
$field['settings']->xml, 'view="', '"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
)
|
)
|
||||||
@ -4251,7 +4252,7 @@ class Fields extends Structure
|
|||||||
$fieldAttributes['custom']['views']
|
$fieldAttributes['custom']['views']
|
||||||
= StringHelper::safe(
|
= StringHelper::safe(
|
||||||
$this->setPlaceholders(
|
$this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'views="', '"'
|
$field['settings']->xml, 'views="', '"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
)
|
)
|
||||||
@ -4262,7 +4263,7 @@ class Fields extends Structure
|
|||||||
// load the component name & replace the placeholders
|
// load the component name & replace the placeholders
|
||||||
$fieldAttributes['custom']['component']
|
$fieldAttributes['custom']['component']
|
||||||
= $this->setPlaceholders(
|
= $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'component="', '"'
|
$field['settings']->xml, 'component="', '"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
);
|
);
|
||||||
@ -4272,7 +4273,7 @@ class Fields extends Structure
|
|||||||
// load the main table that is queried & replace the placeholders
|
// load the main table that is queried & replace the placeholders
|
||||||
$fieldAttributes['custom']['table']
|
$fieldAttributes['custom']['table']
|
||||||
= $this->setPlaceholders(
|
= $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'table="', '"'
|
$field['settings']->xml, 'table="', '"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
);
|
);
|
||||||
@ -4282,7 +4283,7 @@ class Fields extends Structure
|
|||||||
// load the text key
|
// load the text key
|
||||||
$fieldAttributes['custom']['text']
|
$fieldAttributes['custom']['text']
|
||||||
= StringHelper::safe(
|
= StringHelper::safe(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'value_field="', '"'
|
$field['settings']->xml, 'value_field="', '"'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -4292,7 +4293,7 @@ class Fields extends Structure
|
|||||||
// load the id key
|
// load the id key
|
||||||
$fieldAttributes['custom']['id']
|
$fieldAttributes['custom']['id']
|
||||||
= StringHelper::safe(
|
= StringHelper::safe(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'key_field="', '"'
|
$field['settings']->xml, 'key_field="', '"'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -4309,7 +4310,7 @@ class Fields extends Structure
|
|||||||
{
|
{
|
||||||
// load the button string value if found
|
// load the button string value if found
|
||||||
$xmlValue = (string) StringHelper::safe(
|
$xmlValue = (string) StringHelper::safe(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'button="', '"'
|
$field['settings']->xml, 'button="', '"'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -4338,7 +4339,7 @@ class Fields extends Structure
|
|||||||
}
|
}
|
||||||
elseif ($property['name'] === 'multiple')
|
elseif ($property['name'] === 'multiple')
|
||||||
{
|
{
|
||||||
$xmlValue = (string) ComponentbuilderHelper::getBetween(
|
$xmlValue = (string) GetHelper::between(
|
||||||
$field['settings']->xml, $property['name'] . '="', '"'
|
$field['settings']->xml, $property['name'] . '="', '"'
|
||||||
);
|
);
|
||||||
// add the multipal
|
// add the multipal
|
||||||
@ -4352,7 +4353,7 @@ class Fields extends Structure
|
|||||||
&& ($typeName === 'note'
|
&& ($typeName === 'note'
|
||||||
|| $typeName === 'spacer'))
|
|| $typeName === 'spacer'))
|
||||||
{
|
{
|
||||||
$xmlValue = ComponentbuilderHelper::getBetween(
|
$xmlValue = GetHelper::between(
|
||||||
$field['settings']->xml, 'class="', '"'
|
$field['settings']->xml, 'class="', '"'
|
||||||
);
|
);
|
||||||
// add the type class
|
// add the type class
|
||||||
@ -4372,7 +4373,7 @@ class Fields extends Structure
|
|||||||
{
|
{
|
||||||
// set the rest of the fields
|
// set the rest of the fields
|
||||||
$xmlValue = (string) $this->setPlaceholders(
|
$xmlValue = (string) $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, $property['name'] . '="',
|
$field['settings']->xml, $property['name'] . '="',
|
||||||
'"'
|
'"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
@ -4473,7 +4474,7 @@ class Fields extends Structure
|
|||||||
// validate that the default field is set
|
// validate that the default field is set
|
||||||
elseif ($property['name'] === 'default'
|
elseif ($property['name'] === 'default'
|
||||||
&& ($xmlValidateValue
|
&& ($xmlValidateValue
|
||||||
= ComponentbuilderHelper::getBetween(
|
= GetHelper::between(
|
||||||
$field['settings']->xml, 'default="', '"', 'none-set'
|
$field['settings']->xml, 'default="', '"', 'none-set'
|
||||||
)) !== 'none-set')
|
)) !== 'none-set')
|
||||||
{
|
{
|
||||||
@ -4511,7 +4512,7 @@ class Fields extends Structure
|
|||||||
if (isset($fieldAttributes['name']))
|
if (isset($fieldAttributes['name']))
|
||||||
{
|
{
|
||||||
// check if we have class value for the list view of this field
|
// check if we have class value for the list view of this field
|
||||||
$listclass = ComponentbuilderHelper::getBetween(
|
$listclass = GetHelper::between(
|
||||||
$field['settings']->xml, 'listclass="', '"'
|
$field['settings']->xml, 'listclass="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($listclass))
|
if (StringHelper::check($listclass))
|
||||||
@ -4520,7 +4521,7 @@ class Fields extends Structure
|
|||||||
= $listclass;
|
= $listclass;
|
||||||
}
|
}
|
||||||
// check if we find reason to remove this field from being escaped
|
// check if we find reason to remove this field from being escaped
|
||||||
$escaped = ComponentbuilderHelper::getBetween(
|
$escaped = GetHelper::between(
|
||||||
$field['settings']->xml, 'escape="', '"'
|
$field['settings']->xml, 'escape="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($escaped))
|
if (StringHelper::check($escaped))
|
||||||
@ -4529,7 +4530,7 @@ class Fields extends Structure
|
|||||||
= $fieldAttributes['name'];
|
= $fieldAttributes['name'];
|
||||||
}
|
}
|
||||||
// check if we have display switch for dynamic placement
|
// check if we have display switch for dynamic placement
|
||||||
$display = ComponentbuilderHelper::getBetween(
|
$display = GetHelper::between(
|
||||||
$field['settings']->xml, 'display="', '"'
|
$field['settings']->xml, 'display="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($display))
|
if (StringHelper::check($display))
|
||||||
@ -4540,7 +4541,7 @@ class Fields extends Structure
|
|||||||
if (!isset($fieldAttributes['validate']))
|
if (!isset($fieldAttributes['validate']))
|
||||||
{
|
{
|
||||||
// check if we have validate (validation rule set)
|
// check if we have validate (validation rule set)
|
||||||
$validationRule = ComponentbuilderHelper::getBetween(
|
$validationRule = GetHelper::between(
|
||||||
$field['settings']->xml, 'validate="', '"'
|
$field['settings']->xml, 'validate="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($validationRule))
|
if (StringHelper::check($validationRule))
|
||||||
@ -4753,7 +4754,7 @@ class Fields extends Structure
|
|||||||
{
|
{
|
||||||
// get it from the field xml string
|
// get it from the field xml string
|
||||||
$listFieldName = (string) $this->setPlaceholders(
|
$listFieldName = (string) $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'label="',
|
$field['settings']->xml, 'label="',
|
||||||
'"'
|
'"'
|
||||||
), $this->placeholders
|
), $this->placeholders
|
||||||
@ -4954,7 +4955,7 @@ class Fields extends Structure
|
|||||||
}
|
}
|
||||||
// get the xml extension name
|
// get the xml extension name
|
||||||
$_extension = $this->setPlaceholders(
|
$_extension = $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$field['settings']->xml, 'extension="', '"'
|
$field['settings']->xml, 'extension="', '"'
|
||||||
), $this->placeholders
|
), $this->placeholders
|
||||||
);
|
);
|
||||||
|
@ -18,6 +18,8 @@ use Joomla\CMS\Filesystem\Folder;
|
|||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
|
use VDM\Joomla\Utilities\GetHelper;
|
||||||
|
use VDM\Joomla\Utilities\FileHelper;
|
||||||
use VDM\Joomla\Utilities\MathHelper;
|
use VDM\Joomla\Utilities\MathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2389,7 +2391,7 @@ class Interpretation extends Fields
|
|||||||
foreach ($params as $field)
|
foreach ($params as $field)
|
||||||
{
|
{
|
||||||
// some switch to see if it should be added to front end params
|
// some switch to see if it should be added to front end params
|
||||||
$target = ComponentbuilderHelper::getBetween(
|
$target = GetHelper::between(
|
||||||
$field, 'display="', '"'
|
$field, 'display="', '"'
|
||||||
);
|
);
|
||||||
if (!StringHelper::check($target)
|
if (!StringHelper::check($target)
|
||||||
@ -5548,12 +5550,10 @@ class Interpretation extends Fields
|
|||||||
}
|
}
|
||||||
// set the custom buttons CUSTOM_BUTTONS_CONTROLLER
|
// set the custom buttons CUSTOM_BUTTONS_CONTROLLER
|
||||||
$this->fileContentDynamic[$viewCodeName][$this->hhh . $TARGET
|
$this->fileContentDynamic[$viewCodeName][$this->hhh . $TARGET
|
||||||
. '_CUSTOM_BUTTONS_CONTROLLER' . $this->hhh]
|
. '_CUSTOM_BUTTONS_CONTROLLER' . $this->hhh] = '';
|
||||||
= '';
|
|
||||||
// set the custom buttons CUSTOM_BUTTONS_METHOD
|
// set the custom buttons CUSTOM_BUTTONS_METHOD
|
||||||
$this->fileContentDynamic[$viewCodeName][$this->hhh . $TARGET
|
$this->fileContentDynamic[$viewCodeName][$this->hhh . $TARGET
|
||||||
. '_CUSTOM_BUTTONS_METHOD' . $this->hhh]
|
. '_CUSTOM_BUTTONS_METHOD' . $this->hhh] = '';
|
||||||
= '';
|
|
||||||
}
|
}
|
||||||
elseif (3 == $type)
|
elseif (3 == $type)
|
||||||
{
|
{
|
||||||
@ -6456,7 +6456,7 @@ class Interpretation extends Fields
|
|||||||
$path = '/' . trim($folder['path'], '/');
|
$path = '/' . trim($folder['path'], '/');
|
||||||
if (isset($folder['rename']) && 1 == $folder['rename'])
|
if (isset($folder['rename']) && 1 == $folder['rename'])
|
||||||
{
|
{
|
||||||
if ($_paths = ComponentbuilderHelper::getAllFilePaths(
|
if ($_paths = FileHelper::getPaths(
|
||||||
$this->componentPath . $path
|
$this->componentPath . $path
|
||||||
))
|
))
|
||||||
{
|
{
|
||||||
@ -6466,7 +6466,7 @@ class Interpretation extends Fields
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$path = $path . '/' . trim($folder['folder'], '/');
|
$path = $path . '/' . trim($folder['folder'], '/');
|
||||||
if ($_paths = ComponentbuilderHelper::getAllFilePaths(
|
if ($_paths = FileHelper::getPaths(
|
||||||
$this->componentPath . $path
|
$this->componentPath . $path
|
||||||
))
|
))
|
||||||
{
|
{
|
||||||
@ -7309,7 +7309,7 @@ class Interpretation extends Fields
|
|||||||
{
|
{
|
||||||
if (File::exists($file['path']))
|
if (File::exists($file['path']))
|
||||||
{
|
{
|
||||||
$string = ComponentbuilderHelper::getFileContents(
|
$string = FileHelper::getContent(
|
||||||
$file['path']
|
$file['path']
|
||||||
);
|
);
|
||||||
$buket['static'][] = $this->getInbetweenStrings(
|
$buket['static'][] = $this->getInbetweenStrings(
|
||||||
@ -7326,7 +7326,7 @@ class Interpretation extends Fields
|
|||||||
if (File::exists($doc['path']))
|
if (File::exists($doc['path']))
|
||||||
{
|
{
|
||||||
$string
|
$string
|
||||||
= ComponentbuilderHelper::getFileContents(
|
= FileHelper::getContent(
|
||||||
$doc['path']
|
$doc['path']
|
||||||
);
|
);
|
||||||
$buket[$view][] = $this->getInbetweenStrings(
|
$buket[$view][] = $this->getInbetweenStrings(
|
||||||
@ -17709,7 +17709,7 @@ class Interpretation extends Fields
|
|||||||
elseif (ComponentbuilderHelper::fieldCheck($type, 'text'))
|
elseif (ComponentbuilderHelper::fieldCheck($type, 'text'))
|
||||||
{
|
{
|
||||||
// check to get the key words if set
|
// check to get the key words if set
|
||||||
$keywords = ComponentbuilderHelper::getBetween(
|
$keywords = GetHelper::between(
|
||||||
$options, 'keywords="', '"'
|
$options, 'keywords="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($keywords))
|
if (StringHelper::check($keywords))
|
||||||
@ -17730,7 +17730,7 @@ class Interpretation extends Fields
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check to ket string length if set
|
// check to ket string length if set
|
||||||
$length = ComponentbuilderHelper::getBetween(
|
$length = GetHelper::between(
|
||||||
$options, 'length="', '"'
|
$options, 'length="', '"'
|
||||||
);
|
);
|
||||||
if (StringHelper::check($length))
|
if (StringHelper::check($length))
|
||||||
@ -23212,7 +23212,7 @@ class Interpretation extends Fields
|
|||||||
{
|
{
|
||||||
// get all the mothods that should load date to the view
|
// get all the mothods that should load date to the view
|
||||||
$this->DashboardGetCustomData
|
$this->DashboardGetCustomData
|
||||||
= ComponentbuilderHelper::getAllBetween(
|
= GetHelper::allBetween(
|
||||||
$this->componentData->php_dashboard_methods,
|
$this->componentData->php_dashboard_methods,
|
||||||
'public function get', '()'
|
'public function get', '()'
|
||||||
);
|
);
|
||||||
@ -24274,10 +24274,10 @@ class Interpretation extends Fields
|
|||||||
if (1 == $timer) // this is before the admin views are build
|
if (1 == $timer) // this is before the admin views are build
|
||||||
{
|
{
|
||||||
// start loading Global params
|
// start loading Global params
|
||||||
$autorName = ComponentbuilderHelper::htmlEscape(
|
$autorName = StringHelper::html(
|
||||||
$this->componentData->author
|
$this->componentData->author
|
||||||
);
|
);
|
||||||
$autorEmail = ComponentbuilderHelper::htmlEscape(
|
$autorEmail = StringHelper::html(
|
||||||
$this->componentData->email
|
$this->componentData->email
|
||||||
);
|
);
|
||||||
$this->extensionsParams[] = '"autorName":"' . $autorName
|
$this->extensionsParams[] = '"autorName":"' . $autorName
|
||||||
@ -24366,13 +24366,13 @@ class Interpretation extends Fields
|
|||||||
// set global params to db on install
|
// set global params to db on install
|
||||||
$fieldName = StringHelper::safe(
|
$fieldName = StringHelper::safe(
|
||||||
$this->setPlaceholders(
|
$this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$xmlField, 'name="', '"'
|
$xmlField, 'name="', '"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$fieldDefault = $this->setPlaceholders(
|
$fieldDefault = $this->setPlaceholders(
|
||||||
ComponentbuilderHelper::getBetween(
|
GetHelper::between(
|
||||||
$xmlField, 'default="', '"'
|
$xmlField, 'default="', '"'
|
||||||
), $placeholders
|
), $placeholders
|
||||||
);
|
);
|
||||||
@ -24486,7 +24486,7 @@ class Interpretation extends Fields
|
|||||||
elseif (strpos($id_field, '_request_id') !== false)
|
elseif (strpos($id_field, '_request_id') !== false)
|
||||||
{
|
{
|
||||||
// not loaded to a tab "view" name
|
// not loaded to a tab "view" name
|
||||||
$_viewRequest = ComponentbuilderHelper::getBetween(
|
$_viewRequest = GetHelper::between(
|
||||||
$id_field, 'name="', '_request_id'
|
$id_field, 'name="', '_request_id'
|
||||||
);
|
);
|
||||||
$searchIdKe = 'name="' . $_viewRequest
|
$searchIdKe = 'name="' . $_viewRequest
|
||||||
@ -24514,7 +24514,7 @@ class Interpretation extends Fields
|
|||||||
elseif (strpos($catid_field, '_request_catid') !== false)
|
elseif (strpos($catid_field, '_request_catid') !== false)
|
||||||
{
|
{
|
||||||
// not loaded to a tab "view" name
|
// not loaded to a tab "view" name
|
||||||
$_viewRequestC = ComponentbuilderHelper::getBetween(
|
$_viewRequestC = GetHelper::between(
|
||||||
$catid_field, 'name="', '_request_catid'
|
$catid_field, 'name="', '_request_catid'
|
||||||
);
|
);
|
||||||
$searchCatidKe = 'name="' . $_viewRequestC
|
$searchCatidKe = 'name="' . $_viewRequestC
|
||||||
@ -24539,7 +24539,7 @@ class Interpretation extends Fields
|
|||||||
elseif (strpos($field, '_menu"') !== false)
|
elseif (strpos($field, '_menu"') !== false)
|
||||||
{
|
{
|
||||||
// not loaded to a tab "view" name
|
// not loaded to a tab "view" name
|
||||||
$_tabLower = ComponentbuilderHelper::getBetween(
|
$_tabLower = GetHelper::between(
|
||||||
$field, 'name="', '_menu"'
|
$field, 'name="', '_menu"'
|
||||||
);
|
);
|
||||||
// set the values needed to insure route is done correclty
|
// set the values needed to insure route is done correclty
|
||||||
@ -24561,7 +24561,7 @@ class Interpretation extends Fields
|
|||||||
|
|
||||||
protected function setRequestValues($view, $field, $search, $target, $store)
|
protected function setRequestValues($view, $field, $search, $target, $store)
|
||||||
{
|
{
|
||||||
$key = ComponentbuilderHelper::getBetween($field, $search, '"');
|
$key = GetHelper::between($field, $search, '"');
|
||||||
if (!StringHelper::check($key))
|
if (!StringHelper::check($key))
|
||||||
{
|
{
|
||||||
// is not having special var
|
// is not having special var
|
||||||
@ -24602,7 +24602,7 @@ class Interpretation extends Fields
|
|||||||
$bucket = array();
|
$bucket = array();
|
||||||
foreach ($tabFields as $tabField)
|
foreach ($tabFields as $tabField)
|
||||||
{
|
{
|
||||||
$display = ComponentbuilderHelper::getBetween(
|
$display = GetHelper::between(
|
||||||
$tabField, 'display="', '"'
|
$tabField, 'display="', '"'
|
||||||
);
|
);
|
||||||
if (!StringHelper::check($display)
|
if (!StringHelper::check($display)
|
||||||
@ -24908,7 +24908,7 @@ class Interpretation extends Fields
|
|||||||
);
|
);
|
||||||
$cbWebsite = htmlspecialchars(
|
$cbWebsite = htmlspecialchars(
|
||||||
$contributor['website'], ENT_XML1, 'UTF-8'
|
$contributor['website'], ENT_XML1, 'UTF-8'
|
||||||
); // ComponentbuilderHelper::htmlEscape($contributor['website']);
|
); // StringHelper::html($contributor['website']);
|
||||||
// load to the $fieldsets
|
// load to the $fieldsets
|
||||||
$this->configFieldSets[] = $this->_t(2)
|
$this->configFieldSets[] = $this->_t(2)
|
||||||
. '<field type="spacer" name="spacerContributor' . $counter
|
. '<field type="spacer" name="spacerContributor' . $counter
|
||||||
|
@ -18,6 +18,7 @@ use Joomla\CMS\Filesystem\Folder;
|
|||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
|
use VDM\Joomla\Utilities\FileHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Infusion class
|
* Infusion class
|
||||||
@ -2796,7 +2797,7 @@ class Infusion extends Interpretation
|
|||||||
$xmlPath = $this->componentPath . '/' . $this->componentCodeName
|
$xmlPath = $this->componentPath . '/' . $this->componentCodeName
|
||||||
. '.xml';
|
. '.xml';
|
||||||
// get the content in xml
|
// get the content in xml
|
||||||
$componentXML = ComponentbuilderHelper::getFileContents(
|
$componentXML = FileHelper::getContent(
|
||||||
$xmlPath
|
$xmlPath
|
||||||
);
|
);
|
||||||
// update the xml content
|
// update the xml content
|
||||||
|
@ -1028,51 +1028,6 @@ abstract class ComponentbuilderHelper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* get all the file paths in folder and sub folders
|
|
||||||
*
|
|
||||||
* @param string $folder The local path to parse
|
|
||||||
* @param array $fileTypes The type of files to get
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getAllFilePaths($folder, $fileTypes = array('\.php', '\.js', '\.css', '\.less'), $recurse = true, $full = true)
|
|
||||||
{
|
|
||||||
if (Folder::exists($folder))
|
|
||||||
{
|
|
||||||
// we must first store the current woking directory
|
|
||||||
$joomla = getcwd();
|
|
||||||
// we are changing the working directory to the component path
|
|
||||||
chdir($folder);
|
|
||||||
// make sure we have file type filter
|
|
||||||
if (self::checkArray($fileTypes))
|
|
||||||
{
|
|
||||||
// get the files
|
|
||||||
foreach ($fileTypes as $type)
|
|
||||||
{
|
|
||||||
// get a list of files in the current directory tree
|
|
||||||
$files[] = Folder::files('.', $type, $recurse, $full);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif (self::checkString($fileTypes))
|
|
||||||
{
|
|
||||||
// get a list of files in the current directory tree
|
|
||||||
$files[] = Folder::files('.', $fileTypes, $recurse, $full);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// get a list of files in the current directory tree
|
|
||||||
$files[] = Folder::files('.', '.', $recurse, $full);
|
|
||||||
}
|
|
||||||
// change back to Joomla working directory
|
|
||||||
chdir($joomla);
|
|
||||||
// return array of files
|
|
||||||
return array_map( function($file) { return str_replace('./', '/', $file); }, (array) self::mergeArrays($files));
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get all component IDs
|
* get all component IDs
|
||||||
*/
|
*/
|
||||||
@ -3788,81 +3743,6 @@ abstract class ComponentbuilderHelper
|
|||||||
return $exists;
|
return $exists;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the file path or url
|
|
||||||
*
|
|
||||||
* @param string $type The (url/path) type to return
|
|
||||||
* @param string $target The Params Target name (if set)
|
|
||||||
* @param string $fileType The kind of filename to generate (if not set no file name is generated)
|
|
||||||
* @param string $key The key to adjust the filename (if not set ignored)
|
|
||||||
* @param string $default The default path if not set in Params (fallback path)
|
|
||||||
* @param bool $createIfNotSet The switch to create the folder if not found
|
|
||||||
*
|
|
||||||
* @return string On success the path or url is returned based on the type requested
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getFilePath($type = 'path', $target = 'filepath', $fileType = null, $key = '', $default = '', $createIfNotSet = true)
|
|
||||||
{
|
|
||||||
// make sure to always have a string/path
|
|
||||||
if(!self::checkString($default))
|
|
||||||
{
|
|
||||||
$default = JPATH_SITE . '/images/';
|
|
||||||
}
|
|
||||||
// get the global settings
|
|
||||||
if (!self::checkObject(self::$params))
|
|
||||||
{
|
|
||||||
self::$params = JComponentHelper::getParams('com_componentbuilder');
|
|
||||||
}
|
|
||||||
$filePath = self::$params->get($target, $default);
|
|
||||||
// check the file path (revert to default only of not a hidden file path)
|
|
||||||
if ('hiddenfilepath' !== $target && strpos($filePath, JPATH_SITE) === false)
|
|
||||||
{
|
|
||||||
$filePath = $default;
|
|
||||||
}
|
|
||||||
// create the folder if it does not exist
|
|
||||||
if ($createIfNotSet && !Folder::exists($filePath))
|
|
||||||
{
|
|
||||||
Folder::create($filePath);
|
|
||||||
}
|
|
||||||
// setup the file name
|
|
||||||
$fileName = '';
|
|
||||||
// Get basic key
|
|
||||||
$basickey = 'Th!s_iS_n0t_sAfe_buT_b3tter_then_n0thiug';
|
|
||||||
if (method_exists(get_called_class(), "getCryptKey"))
|
|
||||||
{
|
|
||||||
$basickey = self::getCryptKey('basic', $basickey);
|
|
||||||
}
|
|
||||||
// check the key
|
|
||||||
if (!self::checkString($key))
|
|
||||||
{
|
|
||||||
$key = 'vDm';
|
|
||||||
}
|
|
||||||
// set the file name
|
|
||||||
if (self::checkString($fileType))
|
|
||||||
{
|
|
||||||
// set the name
|
|
||||||
$fileName = trim(md5($type.$target.$basickey.$key) . '.' . trim($fileType, '.'));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$fileName = trim(md5($type.$target.$basickey.$key)) . '.txt';
|
|
||||||
}
|
|
||||||
// return the url
|
|
||||||
if ('url' === $type)
|
|
||||||
{
|
|
||||||
if (strpos($filePath, JPATH_SITE) !== false)
|
|
||||||
{
|
|
||||||
$filePath = trim( str_replace( JPATH_SITE, '', $filePath), '/');
|
|
||||||
return JURI::root() . $filePath . '/' . $fileName;
|
|
||||||
}
|
|
||||||
// since the path is behind the root folder of the site, return only the root url (may be used to build the link)
|
|
||||||
return JURI::root();
|
|
||||||
}
|
|
||||||
// sanitize the path
|
|
||||||
return '/' . trim( $filePath, '/' ) . '/' . $fileName;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the file path or url
|
* Get the file path or url
|
||||||
*
|
*
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<extension type="component" version="4" method="upgrade">
|
<extension type="component" version="4" method="upgrade">
|
||||||
<name>COM_COMPONENTBUILDER</name>
|
<name>COM_COMPONENTBUILDER</name>
|
||||||
<creationDate>12th March, 2022</creationDate>
|
<creationDate>4th April, 2022</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>
|
||||||
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
||||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||||
<version>2.12.15</version>
|
<version>2.12.16</version>
|
||||||
<description><![CDATA[
|
<description><![CDATA[
|
||||||
<h1>Component Builder (v.2.12.15)</h1>
|
<h1>Component Builder (v.2.12.16)</h1>
|
||||||
<div style="clear: both;"></div>
|
<div style="clear: both;"></div>
|
||||||
<p>The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
<p>The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
||||||
|
|
||||||
|
@ -1041,10 +1041,10 @@
|
|||||||
<description>Builds Complex Joomla Components</description>
|
<description>Builds Complex Joomla Components</description>
|
||||||
<element>com_componentbuilder</element>
|
<element>com_componentbuilder</element>
|
||||||
<type>component</type>
|
<type>component</type>
|
||||||
<version>2.12.15</version>
|
<version>2.12.16</version>
|
||||||
<infourl title="Component Builder!">http://www.joomlacomponentbuilder.com</infourl>
|
<infourl title="Component Builder!">http://www.joomlacomponentbuilder.com</infourl>
|
||||||
<downloads>
|
<downloads>
|
||||||
<downloadurl type="full" format="zip">https://github.com/vdm-io/Joomla-Component-Builder/releases/download/v2.12.15/JCB_v2.12.15.zip</downloadurl>
|
<downloadurl type="full" format="zip">https://github.com/vdm-io/Joomla-Component-Builder/releases/download/v2.12.16/JCB_v2.12.16.zip</downloadurl>
|
||||||
</downloads>
|
</downloads>
|
||||||
<tags>
|
<tags>
|
||||||
<tag>stable</tag>
|
<tag>stable</tag>
|
||||||
|
@ -556,5 +556,43 @@ trait Utilities
|
|||||||
return FileHelper::write($path, $data);
|
return FileHelper::write($path, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get all the file paths in folder and sub folders
|
||||||
|
*
|
||||||
|
* @param string $folder The local path to parse
|
||||||
|
* @param array $fileTypes The type of files to get
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @since 3.0.9
|
||||||
|
*
|
||||||
|
* @deprecated 4.0 - Use FileHelper::getPaths($folder, $fileTypes , $recurse, $full);
|
||||||
|
*/
|
||||||
|
public static function getAllFilePaths($folder, $fileTypes = array('\.php', '\.js', '\.css', '\.less'), $recurse = true, $full = true)
|
||||||
|
{
|
||||||
|
return FileHelper::getPaths($folder, $fileTypes , $recurse, $full);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the file path or url
|
||||||
|
*
|
||||||
|
* @param string $type The (url/path) type to return
|
||||||
|
* @param string $target The Params Target name (if set)
|
||||||
|
* @param string $fileType The kind of filename to generate (if not set no file name is generated)
|
||||||
|
* @param string $key The key to adjust the filename (if not set ignored)
|
||||||
|
* @param string $default The default path if not set in Params (fallback path)
|
||||||
|
* @param bool $createIfNotSet The switch to create the folder if not found
|
||||||
|
*
|
||||||
|
* @return string On success the path or url is returned based on the type requested
|
||||||
|
*
|
||||||
|
* @since 3.0.9
|
||||||
|
*
|
||||||
|
* @deprecated 4.0 - Use FileHelper::getPath($type, $target, $fileType, $key, $default, $createIfNotSet);
|
||||||
|
*/
|
||||||
|
public static function getFilePath($type = 'path', $target = 'filepath', $fileType = null, $key = '', $default = '', $createIfNotSet = true)
|
||||||
|
{
|
||||||
|
return FileHelper::getPath($type, $target, $fileType, $key, $default, $createIfNotSet);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,11 +13,13 @@
|
|||||||
namespace VDM\Joomla\Utilities;
|
namespace VDM\Joomla\Utilities;
|
||||||
|
|
||||||
|
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\Filesystem\Path;
|
use Joomla\CMS\Filesystem\Path;
|
||||||
use Joomla\CMS\Filesystem\File;
|
use Joomla\CMS\Filesystem\File;
|
||||||
use Joomla\CMS\Filesystem\Folder;
|
use Joomla\CMS\Filesystem\Folder;
|
||||||
|
use Joomla\CMS\Component\ComponentHelper;
|
||||||
use Joomla\Archive\Archive;
|
use Joomla\Archive\Archive;
|
||||||
|
|
||||||
|
|
||||||
@ -37,6 +39,15 @@ abstract class FileHelper
|
|||||||
*/
|
*/
|
||||||
protected static $curlError = false;
|
protected static $curlError = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The component params
|
||||||
|
*
|
||||||
|
* @var object
|
||||||
|
*
|
||||||
|
* @since 3.0.9
|
||||||
|
*/
|
||||||
|
protected static $params = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The zipper method
|
* The zipper method
|
||||||
*
|
*
|
||||||
@ -177,5 +188,140 @@ abstract class FileHelper
|
|||||||
return $klaar;
|
return $klaar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get all the file paths in folder and sub folders
|
||||||
|
*
|
||||||
|
* @param string $folder The local path to parse
|
||||||
|
* @param array $fileTypes The type of files to get
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @since 3.0.9
|
||||||
|
*/
|
||||||
|
public static function getPaths($folder, $fileTypes = array('\.php', '\.js', '\.css', '\.less'), $recurse = true, $full = true)
|
||||||
|
{
|
||||||
|
if (Folder::exists($folder))
|
||||||
|
{
|
||||||
|
// we must first store the current woking directory
|
||||||
|
$joomla = getcwd();
|
||||||
|
// we are changing the working directory to the component path
|
||||||
|
chdir($folder);
|
||||||
|
|
||||||
|
// make sure we have file type filter
|
||||||
|
if (ArrayHelper::check($fileTypes))
|
||||||
|
{
|
||||||
|
// get the files
|
||||||
|
foreach ($fileTypes as $type)
|
||||||
|
{
|
||||||
|
// get a list of files in the current directory tree
|
||||||
|
$files[] = Folder::files('.', $type, $recurse, $full);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif (StringHelper::check($fileTypes))
|
||||||
|
{
|
||||||
|
// get a list of files in the current directory tree
|
||||||
|
$files[] = Folder::files('.', $fileTypes, $recurse, $full);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// get a list of files in the current directory tree
|
||||||
|
$files[] = Folder::files('.', '.', $recurse, $full);
|
||||||
|
}
|
||||||
|
|
||||||
|
// change back to Joomla working directory
|
||||||
|
chdir($joomla);
|
||||||
|
|
||||||
|
// return array of files
|
||||||
|
return array_map( function($file) { return str_replace('./', '/', $file); }, (array) ArrayHelper::merge($files));
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the file path or url
|
||||||
|
*
|
||||||
|
* @param string $type The (url/path) type to return
|
||||||
|
* @param string $target The Params Target name (if set)
|
||||||
|
* @param string $fileType The kind of filename to generate (if not set no file name is generated)
|
||||||
|
* @param string $key The key to adjust the filename (if not set ignored)
|
||||||
|
* @param string $default The default path if not set in Params (fallback path)
|
||||||
|
* @param bool $createIfNotSet The switch to create the folder if not found
|
||||||
|
*
|
||||||
|
* @return string On success the path or url is returned based on the type requested
|
||||||
|
*
|
||||||
|
* @since 3.0.9
|
||||||
|
*/
|
||||||
|
public static function getPath($type = 'path', $target = 'filepath', $fileType = null, $key = '', $default = '', $createIfNotSet = true)
|
||||||
|
{
|
||||||
|
// make sure to always have a string/path
|
||||||
|
if(!StringHelper::check($default))
|
||||||
|
{
|
||||||
|
$default = JPATH_SITE . '/images/';
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the global settings
|
||||||
|
if (!ObjectHelper::check(self::$params))
|
||||||
|
{
|
||||||
|
self::$params = ComponentHelper::getParams('com_componentbuilder');
|
||||||
|
}
|
||||||
|
$filePath = self::$params->get($target, $default);
|
||||||
|
|
||||||
|
// check the file path (revert to default only of not a hidden file path)
|
||||||
|
if ('hiddenfilepath' !== $target && strpos($filePath, JPATH_SITE) === false)
|
||||||
|
{
|
||||||
|
$filePath = $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
// create the folder if it does not exist
|
||||||
|
if ($createIfNotSet && !Folder::exists($filePath))
|
||||||
|
{
|
||||||
|
Folder::create($filePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
// setup the file name
|
||||||
|
$fileName = '';
|
||||||
|
|
||||||
|
// Get basic key
|
||||||
|
$basickey = 'Th!s_iS_n0t_sAfe_buT_b3tter_then_n0thiug';
|
||||||
|
if (method_exists('ComponentbuilderHelper', "getCryptKey"))
|
||||||
|
{
|
||||||
|
$basickey = ComponentbuilderHelper::getCryptKey('basic', $basickey);
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the key
|
||||||
|
if (!StringHelper::check($key))
|
||||||
|
{
|
||||||
|
$key = 'vDm';
|
||||||
|
}
|
||||||
|
|
||||||
|
// set the file name
|
||||||
|
if (StringHelper::check($fileType))
|
||||||
|
{
|
||||||
|
// set the name
|
||||||
|
$fileName = trim(md5($type . $target . $basickey . $key) . '.' . trim($fileType, '.'));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$fileName = trim(md5($type . $target . $basickey . $key)) . '.txt';
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the url
|
||||||
|
if ('url' === $type)
|
||||||
|
{
|
||||||
|
if (strpos($filePath, JPATH_SITE) !== false)
|
||||||
|
{
|
||||||
|
$filePath = trim( str_replace( JPATH_SITE, '', $filePath), '/');
|
||||||
|
|
||||||
|
return Uri::root() . $filePath . '/' . $fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// since the path is behind the root folder of the site, return only the root url (may be used to build the link)
|
||||||
|
return Uri::root();
|
||||||
|
}
|
||||||
|
|
||||||
|
// sanitize the path
|
||||||
|
return '/' . trim( $filePath, '/' ) . '/' . $fileName;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9254,7 +9254,7 @@ class com_componentbuilderInstallerScript
|
|||||||
echo '<a target="_blank" href="http://www.joomlacomponentbuilder.com" title="Component Builder">
|
echo '<a target="_blank" href="http://www.joomlacomponentbuilder.com" title="Component Builder">
|
||||||
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
|
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
|
||||||
</a>
|
</a>
|
||||||
<h3>Upgrade to Version 2.12.15 Was Successful! Let us know if anything is not working as expected.</h3>';
|
<h3>Upgrade to Version 2.12.16 Was Successful! Let us know if anything is not working as expected.</h3>';
|
||||||
|
|
||||||
// Set db if not set already.
|
// Set db if not set already.
|
||||||
if (!isset($db))
|
if (!isset($db))
|
||||||
|
@ -1025,51 +1025,6 @@ abstract class ComponentbuilderHelper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* get all the file paths in folder and sub folders
|
|
||||||
*
|
|
||||||
* @param string $folder The local path to parse
|
|
||||||
* @param array $fileTypes The type of files to get
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getAllFilePaths($folder, $fileTypes = array('\.php', '\.js', '\.css', '\.less'), $recurse = true, $full = true)
|
|
||||||
{
|
|
||||||
if (Folder::exists($folder))
|
|
||||||
{
|
|
||||||
// we must first store the current woking directory
|
|
||||||
$joomla = getcwd();
|
|
||||||
// we are changing the working directory to the component path
|
|
||||||
chdir($folder);
|
|
||||||
// make sure we have file type filter
|
|
||||||
if (self::checkArray($fileTypes))
|
|
||||||
{
|
|
||||||
// get the files
|
|
||||||
foreach ($fileTypes as $type)
|
|
||||||
{
|
|
||||||
// get a list of files in the current directory tree
|
|
||||||
$files[] = Folder::files('.', $type, $recurse, $full);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif (self::checkString($fileTypes))
|
|
||||||
{
|
|
||||||
// get a list of files in the current directory tree
|
|
||||||
$files[] = Folder::files('.', $fileTypes, $recurse, $full);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// get a list of files in the current directory tree
|
|
||||||
$files[] = Folder::files('.', '.', $recurse, $full);
|
|
||||||
}
|
|
||||||
// change back to Joomla working directory
|
|
||||||
chdir($joomla);
|
|
||||||
// return array of files
|
|
||||||
return array_map( function($file) { return str_replace('./', '/', $file); }, (array) self::mergeArrays($files));
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get all component IDs
|
* get all component IDs
|
||||||
*/
|
*/
|
||||||
@ -3785,81 +3740,6 @@ abstract class ComponentbuilderHelper
|
|||||||
return $exists;
|
return $exists;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the file path or url
|
|
||||||
*
|
|
||||||
* @param string $type The (url/path) type to return
|
|
||||||
* @param string $target The Params Target name (if set)
|
|
||||||
* @param string $fileType The kind of filename to generate (if not set no file name is generated)
|
|
||||||
* @param string $key The key to adjust the filename (if not set ignored)
|
|
||||||
* @param string $default The default path if not set in Params (fallback path)
|
|
||||||
* @param bool $createIfNotSet The switch to create the folder if not found
|
|
||||||
*
|
|
||||||
* @return string On success the path or url is returned based on the type requested
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getFilePath($type = 'path', $target = 'filepath', $fileType = null, $key = '', $default = '', $createIfNotSet = true)
|
|
||||||
{
|
|
||||||
// make sure to always have a string/path
|
|
||||||
if(!self::checkString($default))
|
|
||||||
{
|
|
||||||
$default = JPATH_SITE . '/images/';
|
|
||||||
}
|
|
||||||
// get the global settings
|
|
||||||
if (!self::checkObject(self::$params))
|
|
||||||
{
|
|
||||||
self::$params = JComponentHelper::getParams('com_componentbuilder');
|
|
||||||
}
|
|
||||||
$filePath = self::$params->get($target, $default);
|
|
||||||
// check the file path (revert to default only of not a hidden file path)
|
|
||||||
if ('hiddenfilepath' !== $target && strpos($filePath, JPATH_SITE) === false)
|
|
||||||
{
|
|
||||||
$filePath = $default;
|
|
||||||
}
|
|
||||||
// create the folder if it does not exist
|
|
||||||
if ($createIfNotSet && !Folder::exists($filePath))
|
|
||||||
{
|
|
||||||
Folder::create($filePath);
|
|
||||||
}
|
|
||||||
// setup the file name
|
|
||||||
$fileName = '';
|
|
||||||
// Get basic key
|
|
||||||
$basickey = 'Th!s_iS_n0t_sAfe_buT_b3tter_then_n0thiug';
|
|
||||||
if (method_exists(get_called_class(), "getCryptKey"))
|
|
||||||
{
|
|
||||||
$basickey = self::getCryptKey('basic', $basickey);
|
|
||||||
}
|
|
||||||
// check the key
|
|
||||||
if (!self::checkString($key))
|
|
||||||
{
|
|
||||||
$key = 'vDm';
|
|
||||||
}
|
|
||||||
// set the file name
|
|
||||||
if (self::checkString($fileType))
|
|
||||||
{
|
|
||||||
// set the name
|
|
||||||
$fileName = trim(md5($type.$target.$basickey.$key) . '.' . trim($fileType, '.'));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$fileName = trim(md5($type.$target.$basickey.$key)) . '.txt';
|
|
||||||
}
|
|
||||||
// return the url
|
|
||||||
if ('url' === $type)
|
|
||||||
{
|
|
||||||
if (strpos($filePath, JPATH_SITE) !== false)
|
|
||||||
{
|
|
||||||
$filePath = trim( str_replace( JPATH_SITE, '', $filePath), '/');
|
|
||||||
return JURI::root() . $filePath . '/' . $fileName;
|
|
||||||
}
|
|
||||||
// since the path is behind the root folder of the site, return only the root url (may be used to build the link)
|
|
||||||
return JURI::root();
|
|
||||||
}
|
|
||||||
// sanitize the path
|
|
||||||
return '/' . trim( $filePath, '/' ) . '/' . $fileName;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the file path or url
|
* Get the file path or url
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user