forked from joomla/Component-Builder
Converts compiler to move component get methods to the powers area.
This commit is contained in:
parent
e8abe8e3cf
commit
f44f385159
@ -140,11 +140,11 @@ TODO
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 8th January, 2023
|
||||
+ *Last Build*: 15th January, 2023
|
||||
+ *Version*: 3.1.13
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **344993**
|
||||
+ *Line count*: **345248**
|
||||
+ *Field count*: **2009**
|
||||
+ *File count*: **2240**
|
||||
+ *Folder count*: **399**
|
||||
|
@ -140,11 +140,11 @@ TODO
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 8th January, 2023
|
||||
+ *Last Build*: 15th January, 2023
|
||||
+ *Version*: 3.1.13
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **344993**
|
||||
+ *Line count*: **345248**
|
||||
+ *Field count*: **2009**
|
||||
+ *File count*: **2240**
|
||||
+ *Folder count*: **399**
|
||||
|
@ -120,10 +120,12 @@ class Compiler extends Infusion
|
||||
);
|
||||
$this->writeFile($xmlPath, $componentXML);
|
||||
}
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeUpdateFiles
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeUpdateFiles',
|
||||
array(&$this->componentContext, &$this)
|
||||
array(&$component_context, &$this)
|
||||
);
|
||||
// now update the files
|
||||
if (!$this->updateFiles())
|
||||
@ -133,7 +135,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onBeforeGetCustomCode
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeGetCustomCode',
|
||||
array(&$this->componentContext, &$this)
|
||||
array(&$component_context, &$this)
|
||||
);
|
||||
// now insert into the new files
|
||||
if (CFactory::_('Customcode')->get())
|
||||
@ -141,7 +143,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onBeforeAddCustomCode
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeAddCustomCode',
|
||||
array(&$this->componentContext, &$this)
|
||||
array(&$component_context, &$this)
|
||||
);
|
||||
|
||||
$this->addCustomCode();
|
||||
@ -149,7 +151,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onBeforeSetLangFileData
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeSetLangFileData',
|
||||
array(&$this->componentContext, &$this)
|
||||
array(&$component_context, &$this)
|
||||
);
|
||||
// set the lang data now
|
||||
$this->setLangFileData();
|
||||
@ -216,13 +218,15 @@ class Compiler extends Infusion
|
||||
$message_fix['sql'] = JText::_(
|
||||
'The <b>SQL</b> fix updates the #__assets table\'s column size on installation of the component and reverses it back to the Joomla default on uninstall of the component.'
|
||||
);
|
||||
// get the asset table fix switch
|
||||
$add_assets_table_fix = CFactory::_('Config')->get('add_assets_table_fix', 0);
|
||||
// set assets table rules column notice
|
||||
if (CFactory::_('Config')->add_assets_table_fix)
|
||||
if ($add_assets_table_fix)
|
||||
{
|
||||
$this->app->enqueueMessage(
|
||||
JText::_('<hr /><h3>Assets Table Notice</h3>'), 'Notice'
|
||||
);
|
||||
$asset_table_fix_type = (CFactory::_('Config')->add_assets_table_fix == 2)
|
||||
$asset_table_fix_type = ($add_assets_table_fix == 2)
|
||||
? 'intelligent' : 'sql';
|
||||
$this->app->enqueueMessage(
|
||||
JText::sprintf(
|
||||
@ -241,13 +245,13 @@ class Compiler extends Infusion
|
||||
$this->app->enqueueMessage(
|
||||
JText::sprintf(
|
||||
'The Joomla #__assets table\'s rules column has to be fixed for this component to work coherently. JCB has detected that in worse case the rules column in the #__assets table may require <b>%s</b> characters, and yet the Joomla default is only <b>varchar(5120)</b>. JCB has three option to resolve this issue, first <b>use less permissions</b> in your component, second use the <b>SQL</b> fix, or the <b>intelligent</b> fix. %s %s',
|
||||
$this->accessWorseCase, $message_fix['intelligent'],
|
||||
CFactory::_('Config')->access_worse_case, $message_fix['intelligent'],
|
||||
$message_fix['sql']
|
||||
), 'Warning'
|
||||
);
|
||||
}
|
||||
// set assets table name column warning if not set
|
||||
if (!CFactory::_('Config')->add_assets_table_fix && $this->addAssetsTableNameFix)
|
||||
if (!$add_assets_table_fix && CFactory::_('Config')->add_assets_table_name_fix)
|
||||
{
|
||||
// only add if not already added
|
||||
if ($this->accessSize < 30)
|
||||
@ -381,7 +385,7 @@ class Compiler extends Infusion
|
||||
&& ArrayHelper::check($this->newFiles['dynamic']))
|
||||
{
|
||||
// get the bom file
|
||||
$bom = FileHelper::getContent($this->bomPath);
|
||||
$bom = FileHelper::getContent(CFactory::_('Config')->bom_path);
|
||||
// first we do the static files
|
||||
foreach ($this->newFiles['static'] as $static)
|
||||
{
|
||||
@ -624,10 +628,12 @@ class Compiler extends Infusion
|
||||
*/
|
||||
protected function setFileContent(&$name, &$path, &$bom, $view = null)
|
||||
{
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeSetFileContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeSetFileContent',
|
||||
array(&$this->componentContext, &$name, &$path, &$bom, &$view)
|
||||
array(&$component_context, &$name, &$path, &$bom, &$view)
|
||||
);
|
||||
// set the file name
|
||||
CFactory::_('Content')->set('FILENAME', $name);
|
||||
@ -642,7 +648,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onGetFileContents
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onGetFileContents',
|
||||
array(&$this->componentContext, &$string, &$name, &$path, &$bom,
|
||||
array(&$component_context, &$string, &$name, &$path, &$bom,
|
||||
&$view)
|
||||
);
|
||||
// see if we should add a BOM
|
||||
@ -670,7 +676,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onBeforeSetFileContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeWriteFileContent',
|
||||
array(&$this->componentContext, &$answer, &$name, &$path, &$bom,
|
||||
array(&$component_context, &$answer, &$name, &$path, &$bom,
|
||||
&$view)
|
||||
);
|
||||
// add answer back to file
|
||||
@ -939,10 +945,12 @@ class Compiler extends Infusion
|
||||
$repoFullPath = $this->repoPath . '/com_'
|
||||
. $this->componentData->sales_name . '__joomla_'
|
||||
. CFactory::_('Config')->get('version', 3);
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeUpdateRepo
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeUpdateRepo',
|
||||
array(&$this->componentContext, &$this->componentPath,
|
||||
array(&$component_context, &$this->componentPath,
|
||||
&$repoFullPath, &$this->componentData)
|
||||
);
|
||||
// remove old data
|
||||
@ -952,7 +960,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onAfterUpdateRepo
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterUpdateRepo',
|
||||
array(&$this->componentContext, &$this->componentPath,
|
||||
array(&$component_context, &$this->componentPath,
|
||||
&$repoFullPath, &$this->componentData)
|
||||
);
|
||||
|
||||
@ -1040,10 +1048,12 @@ class Compiler extends Infusion
|
||||
// the name of the zip file to create
|
||||
$this->filepath['component'] = $this->tempPath . '/'
|
||||
. $this->filepath['component-folder'] . '.zip';
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeZipComponent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeZipComponent',
|
||||
array(&$this->componentContext, &$this->componentPath,
|
||||
array(&$component_context, &$this->componentPath,
|
||||
&$this->filepath['component'], &$this->tempPath,
|
||||
&$this->componentFolderName, &$this->componentData)
|
||||
);
|
||||
@ -1057,7 +1067,7 @@ class Compiler extends Infusion
|
||||
{
|
||||
// Trigger Event: jcb_ce_onBeforeBackupZip
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBackupZip', array(&$this->componentContext,
|
||||
'jcb_ce_onBeforeBackupZip', array(&$component_context,
|
||||
&$this->filepath['component'],
|
||||
&$this->tempPath,
|
||||
&$this->backupPath,
|
||||
@ -1080,7 +1090,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onBeforeMoveToServer
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeMoveToServer',
|
||||
array(&$this->componentContext,
|
||||
array(&$component_context,
|
||||
&$this->filepath['component'], &$this->tempPath,
|
||||
&$this->componentSalesName, &$this->componentData)
|
||||
);
|
||||
@ -1096,7 +1106,7 @@ class Compiler extends Infusion
|
||||
// Trigger Event: jcb_ce_onAfterZipComponent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterZipComponent',
|
||||
array(&$this->componentContext, &$this->filepath['component'],
|
||||
array(&$component_context, &$this->filepath['component'],
|
||||
&$this->tempPath, &$this->componentFolderName,
|
||||
&$this->componentData)
|
||||
);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -431,10 +431,12 @@ class Structure extends Get
|
||||
$this->buildPlugins();
|
||||
// set the Joomla Version Data
|
||||
$this->joomlaVersionData = $this->setJoomlaVersionData();
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onAfterSetJoomlaVersionData
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterSetJoomlaVersionData',
|
||||
array(&$this->componentContext, &$this->joomlaVersionData)
|
||||
array(&$component_context, &$this->joomlaVersionData)
|
||||
);
|
||||
// set the dashboard
|
||||
$this->setDynamicDashboard();
|
||||
@ -472,10 +474,11 @@ class Structure extends Get
|
||||
{
|
||||
// for plugin event TODO change event api signatures
|
||||
$this->powers = CFactory::_('Power')->active;
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeSetModules
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildPowers',
|
||||
array(&$this->componentContext, &$this->powers)
|
||||
array(&$component_context, &$this->powers)
|
||||
);
|
||||
// for plugin event TODO change event api signatures
|
||||
CFactory::_('Power')->active = $this->powers;
|
||||
@ -590,10 +593,12 @@ class Structure extends Get
|
||||
{
|
||||
if (ArrayHelper::check($this->joomlaModules))
|
||||
{
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeSetModules
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildModules',
|
||||
array(&$this->componentContext, &$this->joomlaModules)
|
||||
array(&$component_context, &$this->joomlaModules)
|
||||
);
|
||||
foreach ($this->joomlaModules as $module)
|
||||
{
|
||||
@ -877,7 +882,7 @@ class Structure extends Get
|
||||
$xml = '<?xml version="1.0" encoding="utf-8"?>';
|
||||
$xml .= PHP_EOL . '<!--' . Line::_(__Line__, __Class__)
|
||||
. ' default paths of ' . $file
|
||||
. ' form points to ' . $this->componentCodeName
|
||||
. ' form points to ' . CFactory::_('Config')->component_code_name
|
||||
. ' -->';
|
||||
// search if we must add the component path
|
||||
$add_component_path = false;
|
||||
@ -1171,10 +1176,12 @@ class Structure extends Get
|
||||
{
|
||||
if (ArrayHelper::check($this->joomlaPlugins))
|
||||
{
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeSetPlugins
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildPlugins',
|
||||
array(&$this->componentContext, &$this->joomlaPlugins)
|
||||
array(&$component_context, &$this->joomlaPlugins)
|
||||
);
|
||||
foreach ($this->joomlaPlugins as $plugin)
|
||||
{
|
||||
@ -1585,12 +1592,14 @@ class Structure extends Get
|
||||
*/
|
||||
private function setLibraries()
|
||||
{
|
||||
if (ArrayHelper::check($this->libraries))
|
||||
if (($libraries_ = CFactory::_('Registry')->extract('builder.libraries')) !== null)
|
||||
{
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeSetLibraries
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeSetLibraries',
|
||||
array(&$this->componentContext, &$this->libraries)
|
||||
array(&$component_context, &$libraries_)
|
||||
);
|
||||
// creat the main component folder
|
||||
if (!Folder::exists($this->componentPath))
|
||||
@ -1602,7 +1611,7 @@ class Structure extends Get
|
||||
}
|
||||
// create media path if not set
|
||||
$this->createFolder($this->componentPath . '/media');
|
||||
foreach ($this->libraries as $id => &$library)
|
||||
foreach ($libraries_ as $id => &$library)
|
||||
{
|
||||
if (ObjectHelper::check($library))
|
||||
{
|
||||
@ -1722,6 +1731,8 @@ class Structure extends Get
|
||||
}
|
||||
}
|
||||
}
|
||||
// update the global value just in case for now
|
||||
CFactory::_('Registry')->set("builder.libraries.$id", $library);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2862,62 +2873,59 @@ class Structure extends Get
|
||||
)
|
||||
);
|
||||
}
|
||||
// set some defaults
|
||||
$uikit = CFactory::_('Config')->get('uikit', 0);
|
||||
$footable = CFactory::_('Config')->get('footable', false);
|
||||
$add_eximport = CFactory::_('Config')->get('add_eximport', false);
|
||||
// add custom folders
|
||||
if ((isset($this->componentData->folders)
|
||||
&& ArrayHelper::check(
|
||||
$this->componentData->folders
|
||||
))
|
||||
|| $this->addEximport
|
||||
|| $this->uikit
|
||||
|| $this->footable)
|
||||
)) || $add_eximport || $uikit || $footable)
|
||||
{
|
||||
if ($this->addEximport)
|
||||
if ($add_eximport)
|
||||
{
|
||||
// move the import view folder in place
|
||||
$importView = array('folder' => 'importViews',
|
||||
$this->componentData->folders[] = array('folder' => 'importViews',
|
||||
'path' => 'admin/views/import',
|
||||
'rename' => 1);
|
||||
$this->componentData->folders[] = $importView;
|
||||
// move the phpspreadsheet Folder (TODO we must move this to a library package)
|
||||
$PHPExcel
|
||||
= array('folderpath' => 'JPATH_LIBRARIES/phpspreadsheet/vendor',
|
||||
$this->componentData->folders[] = array('folderpath' => 'JPATH_LIBRARIES/phpspreadsheet/vendor',
|
||||
'path' => '/libraries/phpspreadsheet/',
|
||||
'rename' => 0);
|
||||
$this->componentData->folders[] = $PHPExcel;
|
||||
}
|
||||
if (2 == $this->uikit || 1 == $this->uikit)
|
||||
|
||||
// set uikit
|
||||
if (2 == $uikit || 1 == $uikit)
|
||||
{
|
||||
// move the UIKIT Folder into place
|
||||
$uikit = array('folder' => 'uikit-v2',
|
||||
$this->componentData->folders[] = array('folder' => 'uikit-v2',
|
||||
'path' => 'media',
|
||||
'rename' => 0);
|
||||
$this->componentData->folders[] = $uikit;
|
||||
}
|
||||
if (2 == $this->uikit || 3 == $this->uikit)
|
||||
if (2 == $uikit || 3 == $uikit)
|
||||
{
|
||||
// move the UIKIT-3 Folder into place
|
||||
$uikit = array('folder' => 'uikit-v3',
|
||||
$this->componentData->folders[] = array('folder' => 'uikit-v3',
|
||||
'path' => 'media',
|
||||
'rename' => 0);
|
||||
$this->componentData->folders[] = $uikit;
|
||||
}
|
||||
if ($this->footable
|
||||
&& (!isset($this->footableVersion)
|
||||
|| 2 == $this->footableVersion))
|
||||
|
||||
// set footable
|
||||
$footable_version = CFactory::_('Config')->get('footable_version', 2);
|
||||
if ($footable && 2 == $footable_version)
|
||||
{
|
||||
// move the footable folder into place
|
||||
$footable = array('folder' => 'footable-v2',
|
||||
$this->componentData->folders[] = array('folder' => 'footable-v2',
|
||||
'path' => 'media',
|
||||
'rename' => 0);
|
||||
$this->componentData->folders[] = $footable;
|
||||
}
|
||||
elseif ($this->footable && 3 == $this->footableVersion)
|
||||
elseif ($footable && 3 == $footable_version)
|
||||
{
|
||||
// move the footable folder into place
|
||||
$footable = array('folder' => 'footable-v3',
|
||||
$this->componentData->folders[] = array('folder' => 'footable-v3',
|
||||
'path' => 'media',
|
||||
'rename' => 0);
|
||||
$this->componentData->folders[] = $footable;
|
||||
}
|
||||
|
||||
// pointer tracker
|
||||
@ -3021,25 +3029,23 @@ class Structure extends Get
|
||||
unset($this->componentData->folders);
|
||||
unset($custom);
|
||||
}
|
||||
// get the google chart switch
|
||||
$google_chart = CFactory::_('Config')->get('google_chart', false);
|
||||
// add custom files
|
||||
if ((isset($this->componentData->files)
|
||||
&& ArrayHelper::check(
|
||||
$this->componentData->files
|
||||
))
|
||||
|| $this->googlechart)
|
||||
)) || $google_chart)
|
||||
{
|
||||
if ($this->googlechart)
|
||||
if ($google_chart)
|
||||
{
|
||||
// move the google chart files
|
||||
$googleChart = array('file' => 'google.jsapi.js',
|
||||
$this->componentData->files[] = array('file' => 'google.jsapi.js',
|
||||
'path' => 'media/js',
|
||||
'rename' => 0);
|
||||
$this->componentData->files[] = $googleChart;
|
||||
$googleChart
|
||||
= array('file' => 'chartbuilder.php',
|
||||
$this->componentData->files[] = array('file' => 'chartbuilder.php',
|
||||
'path' => 'admin/helpers',
|
||||
'rename' => 0);
|
||||
$this->componentData->files[] = $googleChart;
|
||||
}
|
||||
|
||||
// pointer tracker
|
||||
|
@ -608,10 +608,11 @@ class Fields extends Structure
|
||||
$dbkey = 'g';
|
||||
// for plugin event TODO change event api signatures
|
||||
$placeholders = CFactory::_('Placeholder')->active;
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeBuildFields
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildFields',
|
||||
array(&$this->componentContext, &$dynamicFields, &$readOnly,
|
||||
array(&$component_context, &$dynamicFields, &$readOnly,
|
||||
&$dbkey, &$view, &$component, &$nameSingleCode,
|
||||
&$nameListCode, &$placeholders, &$langView,
|
||||
&$langViews)
|
||||
@ -631,7 +632,7 @@ class Fields extends Structure
|
||||
// Trigger Event: jcb_ce_onAfterBuildFields
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildFields',
|
||||
array(&$this->componentContext, &$dynamicFields, &$readOnly,
|
||||
array(&$component_context, &$dynamicFields, &$readOnly,
|
||||
&$dbkey, &$view, &$component, &$nameSingleCode,
|
||||
&$nameListCode, &$placeholders, &$langView,
|
||||
&$langViews)
|
||||
@ -1025,10 +1026,11 @@ class Fields extends Structure
|
||||
$dbkey = 'g';
|
||||
// for plugin event TODO change event api signatures
|
||||
$placeholders = CFactory::_('Placeholder')->active;
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeBuildFields
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildFields',
|
||||
array(&$this->componentContext, &$dynamicFieldsXML, &$readOnlyXML,
|
||||
array(&$component_context, &$dynamicFieldsXML, &$readOnlyXML,
|
||||
&$dbkey, &$view, &$component, &$nameSingleCode,
|
||||
&$nameListCode, &$placeholders, &$langView,
|
||||
&$langViews)
|
||||
@ -1048,7 +1050,7 @@ class Fields extends Structure
|
||||
// Trigger Event: jcb_ce_onAfterBuildFields
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildFields',
|
||||
array(&$this->componentContext, &$dynamicFieldsXML, &$readOnlyXML,
|
||||
array(&$component_context, &$dynamicFieldsXML, &$readOnlyXML,
|
||||
&$dbkey, &$view, &$component, &$nameSingleCode,
|
||||
&$nameListCode, &$placeholders, &$langView,
|
||||
&$langViews)
|
||||
@ -3947,6 +3949,8 @@ class Fields extends Structure
|
||||
$field['order_edit']
|
||||
= $this->zeroOrderFix[$nameSingleCode][(int) $field['tab']];
|
||||
}
|
||||
// get the default fields
|
||||
$default_fields = CFactory::_('Config')->default_fields;
|
||||
// now build the layout
|
||||
if (StringHelper::check($tabName)
|
||||
&& strtolower($tabName) != 'publishing')
|
||||
@ -3971,7 +3975,7 @@ class Fields extends Structure
|
||||
= $name;
|
||||
}
|
||||
// check if default fields were over written
|
||||
if (in_array($name, $this->defaultFields))
|
||||
if (in_array($name, $default_fields))
|
||||
{
|
||||
// just to eliminate
|
||||
$this->movedPublishingFields[$nameSingleCode][$name] = $name;
|
||||
@ -3979,7 +3983,7 @@ class Fields extends Structure
|
||||
}
|
||||
elseif ($tabName === 'publishing' || $tabName === 'Publishing')
|
||||
{
|
||||
if (!in_array($name, $this->defaultFields))
|
||||
if (!in_array($name, $default_fields))
|
||||
{
|
||||
if (isset($this->newPublishingFields[$nameSingleCode][(int) $field['alignment']][(int) $field['order_edit']]))
|
||||
{
|
||||
@ -4021,7 +4025,7 @@ class Fields extends Structure
|
||||
= $name;
|
||||
}
|
||||
// check if default fields were over written
|
||||
if (in_array($name, $this->defaultFields))
|
||||
if (in_array($name, $default_fields))
|
||||
{
|
||||
// just to eliminate
|
||||
$this->movedPublishingFields[$nameSingleCode][$name] = $name;
|
||||
@ -4045,12 +4049,10 @@ class Fields extends Structure
|
||||
$decode = array('json', 'base64', 'basic_encryption',
|
||||
'whmcs_encryption', 'medium_encryption', 'expert_mode');
|
||||
$textareas = array('textarea', 'editor');
|
||||
if (isset($this->siteFields[$view][$field])
|
||||
&& ArrayHelper::check(
|
||||
$this->siteFields[$view][$field]
|
||||
))
|
||||
if (($site_fields = CFactory::_('Registry')->
|
||||
extract('builder.site_fields.' . $view . '.' . $field)) !== null)
|
||||
{
|
||||
foreach ($this->siteFields[$view][$field] as $codeString => $array)
|
||||
foreach ($site_fields as $codeString => $site_field)
|
||||
{
|
||||
// get the code array
|
||||
$codeArray = explode('___', (string) $codeString);
|
||||
@ -4059,40 +4061,40 @@ class Fields extends Structure
|
||||
// set the decoding methods
|
||||
if (in_array($set, $decode))
|
||||
{
|
||||
if (isset($this->siteFieldData['decode'][$array['site']][$code][$array['as']][$array['key']])
|
||||
&& isset($this->siteFieldData['decode'][$array['site']][$code][$array['as']][$array['key']]['decode']))
|
||||
if (isset($this->siteFieldData['decode'][$site_field->site][$code][$site_field->as][$site_field->key])
|
||||
&& isset($this->siteFieldData['decode'][$site_field->site][$code][$site_field->as][$site_field->key]['decode']))
|
||||
{
|
||||
if (!in_array(
|
||||
$set,
|
||||
$this->siteFieldData['decode'][$array['site']][$code][$array['as']][$array['key']]['decode']
|
||||
$this->siteFieldData['decode'][$site_field->site][$code][$site_field->as][$site_field->key]['decode']
|
||||
))
|
||||
{
|
||||
$this->siteFieldData['decode'][$array['site']][$code][$array['as']][$array['key']]['decode'][]
|
||||
$this->siteFieldData['decode'][$site_field->site][$code][$site_field->as][$site_field->key]['decode'][]
|
||||
= $set;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->siteFieldData['decode'][$array['site']][$code][$array['as']][$array['key']]
|
||||
= array('decode' => array($set),
|
||||
$this->siteFieldData['decode'][$site_field->site][$code][$site_field->as][$site_field->key]
|
||||
= array('decode' => [$set],
|
||||
'type' => $type,
|
||||
'admin_view' => $view);
|
||||
}
|
||||
}
|
||||
// set the uikit checker
|
||||
if ((2 == $this->uikit || 1 == $this->uikit)
|
||||
if ((2 == CFactory::_('Config')->uikit || 1 == CFactory::_('Config')->uikit)
|
||||
&& in_array(
|
||||
$type, $textareas
|
||||
))
|
||||
{
|
||||
$this->siteFieldData['uikit'][$array['site']][$code][$array['as']][$array['key']]
|
||||
= $array;
|
||||
$this->siteFieldData['uikit'][$site_field->site][$code][$site_field->as][$site_field->key]
|
||||
= (array) $site_field;
|
||||
}
|
||||
// set the textareas checker
|
||||
if (in_array($type, $textareas))
|
||||
{
|
||||
$this->siteFieldData['textareas'][$array['site']][$code][$array['as']][$array['key']]
|
||||
= $array;
|
||||
$this->siteFieldData['textareas'][$site_field->site][$code][$site_field->as][$site_field->key]
|
||||
= (array) $site_field;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4863,10 +4865,12 @@ class Fields extends Structure
|
||||
}
|
||||
$this->intFieldsBuilder[$nameSingleCode] .= ',"' . $name . '"';
|
||||
}
|
||||
// Get the default fields
|
||||
$default_fields = CFactory::_('Config')->default_fields;
|
||||
// set all dynamic field of this view
|
||||
if ($dbSwitch && $typeName != 'category' && $typeName != 'repeatable'
|
||||
&& $typeName != 'subform'
|
||||
&& !in_array($name, $this->defaultFields))
|
||||
&& !in_array($name, $default_fields))
|
||||
{
|
||||
if (!isset($this->dynamicfieldsBuilder[$nameSingleCode]))
|
||||
{
|
||||
@ -5188,8 +5192,8 @@ class Fields extends Structure
|
||||
// add the language only for new filter option
|
||||
$filter_name_asc_lang = '';
|
||||
$filter_name_desc_lang = '';
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2)
|
||||
if (CFactory::_('Registry')->
|
||||
get('builder.admin_filter_type.' . $nameListCode, 1) == 2)
|
||||
{
|
||||
// set the language strings for ascending
|
||||
$filter_name_asc = $listFieldName . ' ascending';
|
||||
@ -5248,8 +5252,8 @@ class Fields extends Structure
|
||||
);
|
||||
// add the language only for new filter option
|
||||
$filter_name_select_lang = '';
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2)
|
||||
if (CFactory::_('Registry')->
|
||||
get('builder.admin_filter_type.' . $nameListCode, 1) == 2)
|
||||
{
|
||||
// set the language strings for selection
|
||||
$filter_name_select = 'Select ' . $listFieldName;
|
||||
@ -5734,8 +5738,8 @@ class Fields extends Structure
|
||||
public function setFieldFilterSet(&$nameSingleCode, &$nameListCode)
|
||||
{
|
||||
// check if this is the above/new filter option
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2)
|
||||
if (CFactory::_('Registry')->
|
||||
get('builder.admin_filter_type.' . $nameListCode, 1) == 2)
|
||||
{
|
||||
// we first create the file
|
||||
$target = array('admin' => 'filter_' . $nameListCode);
|
||||
@ -5930,8 +5934,8 @@ class Fields extends Structure
|
||||
public function setFieldFilterListSet(&$nameSingleCode, &$nameListCode)
|
||||
{
|
||||
// check if this is the above/new filter option
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2)
|
||||
if (CFactory::_('Registry')->
|
||||
get('builder.admin_filter_type.' . $nameListCode, 1) == 2)
|
||||
{
|
||||
// keep track of all fields already added
|
||||
$donelist = array('ordering' => true, 'id' => true);
|
||||
@ -6437,11 +6441,11 @@ class Fields extends Structure
|
||||
|
||||
return $this->xmlIndent((string) $tidy, ' ', 8, true, false);
|
||||
}
|
||||
// set tidy waring atleast once
|
||||
elseif (!$this->setTidyWarning)
|
||||
// set tidy waring only once
|
||||
elseif (CFactory::_('Config')->set_tidy_warning)
|
||||
{
|
||||
// set the warning only once
|
||||
$this->setTidyWarning = true;
|
||||
CFactory::_('Config')->set('set_tidy_warning', false);
|
||||
// now set the warning
|
||||
$this->app->enqueueMessage(
|
||||
JText::_('<hr /><h3>Tidy Error</h3>'), 'Error'
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -82,10 +82,11 @@ class Infusion extends Interpretation
|
||||
$placeholders = CFactory::_('Placeholder')->active;
|
||||
$fileContentStatic = CFactory::_('Content')->active;
|
||||
$fileContentDynamic = CFactory::_('Content')->_active;
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeBuildFilesContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildFilesContent',
|
||||
array(&$this->componentContext, &$this->componentData,
|
||||
array(&$component_context, &$this->componentData,
|
||||
&$fileContentStatic, &$fileContentDynamic,
|
||||
&$placeholders, &$this->hhh)
|
||||
);
|
||||
@ -365,7 +366,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onBeforeBuildAdminEditViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildAdminEditViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$nameSingleCode,
|
||||
&$nameListCode,
|
||||
&$fileContentStatic,
|
||||
@ -579,7 +580,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterBuildAdminEditViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildAdminEditViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$nameSingleCode,
|
||||
&$nameListCode,
|
||||
&$fileContentStatic,
|
||||
@ -606,7 +607,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onBeforeBuildAdminListViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildAdminListViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$nameSingleCode,
|
||||
&$nameListCode,
|
||||
&$fileContentStatic,
|
||||
@ -876,7 +877,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterBuildAdminListViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildAdminListViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$nameSingleCode,
|
||||
&$nameListCode,
|
||||
&$fileContentStatic,
|
||||
@ -1021,7 +1022,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterBuildAdminViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildAdminViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$nameSingleCode,
|
||||
&$nameListCode,
|
||||
&$fileContentStatic,
|
||||
@ -1088,7 +1089,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onBeforeBuildCustomAdminViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildCustomAdminViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$view['settings']->code,
|
||||
&$fileContentStatic,
|
||||
&$fileContentDynamic[$view['settings']->code],
|
||||
@ -1255,7 +1256,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterBuildCustomAdminViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildCustomAdminViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$view['settings']->code,
|
||||
&$fileContentStatic,
|
||||
&$fileContentDynamic[$view['settings']->code],
|
||||
@ -1364,7 +1365,7 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// add import
|
||||
if (isset($this->addEximport) && $this->addEximport)
|
||||
if (CFactory::_('Config')->get('add_eximport', false))
|
||||
{
|
||||
// setup import files
|
||||
$target = array('admin' => 'import');
|
||||
@ -1384,7 +1385,7 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// ensure that the ajax model and controller is set if needed
|
||||
if (isset($this->addAjax) && $this->addAjax)
|
||||
if (CFactory::_('Config')->get('add_ajax', false))
|
||||
{
|
||||
// setup Ajax files
|
||||
$target = array('admin' => 'ajax');
|
||||
@ -1399,7 +1400,7 @@ class Infusion extends Interpretation
|
||||
}
|
||||
|
||||
// ensure that the site ajax model and controller is set if needed
|
||||
if (isset($this->addSiteAjax) && $this->addSiteAjax)
|
||||
if (CFactory::_('Config')->get('add_site_ajax', false))
|
||||
{
|
||||
// setup Ajax files
|
||||
$target = array('site' => 'ajax');
|
||||
@ -1486,7 +1487,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onBeforeBuildSiteViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildSiteViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$view['settings']->code,
|
||||
&$fileContentStatic,
|
||||
&$fileContentDynamic[$view['settings']->code],
|
||||
@ -1680,7 +1681,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterBuildSiteViewContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildSiteViewContent',
|
||||
array(&$this->componentContext, &$view,
|
||||
array(&$component_context, &$view,
|
||||
&$view['settings']->code,
|
||||
&$fileContentStatic,
|
||||
&$fileContentDynamic[$view['settings']->code],
|
||||
@ -1817,7 +1818,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onBeforeInfuseModuleData
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeInfuseModuleData',
|
||||
array(&$this->componentContext, &$module, &$this)
|
||||
array(&$component_context, &$module, &$this)
|
||||
);
|
||||
CFactory::_('Config')->build_target = $module->key;
|
||||
CFactory::_('Config')->lang_target = $module->key;
|
||||
@ -1870,7 +1871,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterInfuseModuleData
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterInfuseModuleData',
|
||||
array(&$this->componentContext, &$module, &$this)
|
||||
array(&$component_context, &$module, &$this)
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1885,7 +1886,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onBeforeInfusePluginData
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeInfusePluginData',
|
||||
array(&$this->componentContext, &$plugin, &$this)
|
||||
array(&$component_context, &$plugin, &$this)
|
||||
);
|
||||
CFactory::_('Config')->build_target = $plugin->key;
|
||||
CFactory::_('Config')->lang_target = $plugin->key;
|
||||
@ -1927,7 +1928,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterInfusePluginData
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterInfusePluginData',
|
||||
array(&$this->componentContext, &$plugin, &$this)
|
||||
array(&$component_context, &$plugin, &$this)
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1944,7 +1945,7 @@ class Infusion extends Interpretation
|
||||
// Trigger Event: jcb_ce_onAfterBuildFilesContent
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onAfterBuildFilesContent',
|
||||
array(&$this->componentContext, &$this->componentData,
|
||||
array(&$component_context, &$this->componentData,
|
||||
&$fileContentStatic, &$this->fileContentDynamic,
|
||||
&$placeholders, &$this->hhh)
|
||||
);
|
||||
@ -2099,10 +2100,12 @@ class Infusion extends Interpretation
|
||||
$this->purgeLanuageStrings($values, CFactory::_('Config')->component_id);
|
||||
// path to INI file
|
||||
$getPAth = $this->templatePath . '/en-GB.com_admin.ini';
|
||||
// for plugin event TODO change event api signatures
|
||||
$component_context = CFactory::_('Config')->component_context;
|
||||
// Trigger Event: jcb_ce_onBeforeBuildAllLangFiles
|
||||
CFactory::_('Event')->trigger(
|
||||
'jcb_ce_onBeforeBuildAllLangFiles',
|
||||
array(&$this->componentContext, &$this->languages['components'],
|
||||
array(&$component_context, &$this->languages['components'],
|
||||
&$this->langTag)
|
||||
);
|
||||
// for plugin event TODO change event api signatures
|
||||
|
@ -2213,7 +2213,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
|
||||
(199, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', 2, '', '', 'Name', 'NOT NULL', '', 24, '\"<field\\r\\n\\ttype=\\\"text\\\" \\r\\n\\tname=\\\"name\\\" \\r\\n\\tlabel=\\\"Name\\\" \\r\\n\\tsize=\\\"40\\\" \\r\\n\\tmaxlength=\\\"150\\\" \\r\\n\\tdescription=\\\"Enter Name Here\\\" \\r\\n\\tclass=\\\"text_area\\\" \\r\\n\\treadonly=\\\"false\\\" \\r\\n\\tdisabled=\\\"false\\\" \\r\\n\\trequired=\\\"true\\\"\\r\\n\\tfilter=\\\"STRING\\\" \\r\\n\\tmessage=\\\"Error! Please add name here.\\\" \\r\\n\\thint=\\\"Name Here\\\" \\r\\n\\/>\"', 1, '2015-03-19 17:30:59', '2022-09-21 10:17:10', 8, '', 4, '5d3d34dd-4876-4c6a-86ab-b4e162f22c08'),
|
||||
(203, '', '', '', '', '', '', '', '', 1, '', 'INT', '', '', '', 'Not Required', 'NOT NULL', '', 9, '\"<field\\n\\ttype=\\\"hidden\\\"\\n\\tname=\\\"not_required\\\"\\n\\tdefault=\\\"\\u4e00_\\u4e00\\\"\\n\\/>\"', 1, '2015-05-08 16:19:16', '2020-02-27 20:17:33', 13, '', 19, 'da5e6901-6958-40e5-a4f5-6822d6fe57ac'),
|
||||
(280, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Website', 'NOT NULL', '', 27, '\"<field\\n\\ttype=\\\"url\\\"\\n\\tname=\\\"website\\\"\\n\\tlabel=\\\"Website\\\"\\n\\tsize=\\\"60\\\"\\n\\tmaxlength=\\\"150\\\"\\n\\tdescription=\\\"Enter website address\\\"\\n\\tclass=\\\"text_area\\\"\\n\\tfilter=\\\"url\\\"\\n\\tvalidated=\\\"url\\\"\\n\\tmessage=\\\"Error! Please add website here.\\\"\\n\\thint=\\\"http:\\/\\/www.example.com\\\"\\n\\tscheme=\\\"http,https\\\"\\n\\/>\"', 1, '2015-04-08 00:36:16', '2018-07-08 00:11:05', 2, '', 105, '6c3a6983-d1bf-4e5e-9e99-deea00b0cefd'),
|
||||
(682, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add More', 'NOT NULL', '', 17, '\"<field \\r\\n\\ttype=\\\"radio\\\" \\r\\n\\tname=\\\"add\\\" \\r\\n\\tlabel=\\\"Add More\\\" \\r\\n\\tdescription=\\\"\\\" \\r\\n\\tclass=\\\"btn-group btn-group-yesno\\\" \\r\\n\\toption=\\\"1|Yes,0|No\\\" \\r\\n\\tdefault=\\\"0\\\" \\r\\n\\trequired=\\\"true\\\" \\r\\n\\/>\"', 1, '2015-08-05 01:18:20', '2018-03-30 09:30:45', 4, '', 196, 'a66389aa-2323-4f44-8c23-ff44969639be'),
|
||||
(682, '', '', '', '', '', '', '', '', 1, '', 'TINYINT', 2, '', '', 'Add More', 'NOT NULL', '', 17, '\"<field\\n\\ttype=\\\"radio\\\"\\n\\tname=\\\"add\\\"\\n\\tlabel=\\\"Add More\\\"\\n\\tdescription=\\\"\\\"\\n\\tclass=\\\"btn-group btn-group-yesno\\\"\\n\\toption=\\\"1|Yes,0|No\\\"\\n\\tdefault=\\\"0\\\"\\n\\trequired=\\\"true\\\"\\n\\/>\"', 1, '2015-08-05 01:18:20', '2023-01-20 11:15:45', 7, '', 196, 'a66389aa-2323-4f44-8c23-ff44969639be'),
|
||||
(1011, '', '', '', '', '', '', 'Other', '0000-00-00', '', '', 'DATE', '', '', '', 'Date of Birth', 'NOT NULL', '', 1, '\"<field\\n\\ttype=\\\"calendar\\\"\\n\\tname=\\\"dateofbirth\\\"\\n\\tlabel=\\\"Date of Birth\\\"\\n\\tdefault=\\\"1970-01-01\\\"\\n\\tdescription=\\\"Your date of birth\\\"\\n\\tformat=\\\"%Y-%m-%d\\\"\\n\\tminyear=\\\"-120\\\"\\n\\tmaxyear=\\\"-1\\\"\\n\\tfilter=\\\"STRING\\\"\\n\\ttodaybutton=\\\"false\\\"\\n\\trequired=\\\"true\\\"\\n\\/>\"', 1, '2015-12-07 01:47:32', '2018-08-03 09:56:07', 4, '', 649, 'cb2bdf20-8800-407b-a4f6-250152a0bdfb');
|
||||
|
||||
--
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="component" version="4" method="upgrade">
|
||||
<name>COM_COMPONENTBUILDER</name>
|
||||
<creationDate>8th January, 2023</creationDate>
|
||||
<creationDate>15th January, 2023</creationDate>
|
||||
<author>Llewellyn van der Merwe</author>
|
||||
<authorEmail>joomla@vdm.io</authorEmail>
|
||||
<authorUrl>https://dev.vdm.io</authorUrl>
|
||||
|
@ -32,7 +32,7 @@ abstract class BaseConfig extends JoomlaRegistry
|
||||
* @var Input
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected $input;
|
||||
protected Input $input;
|
||||
|
||||
/**
|
||||
* The Params
|
||||
@ -66,12 +66,12 @@ abstract class BaseConfig extends JoomlaRegistry
|
||||
/**
|
||||
* setting any config value
|
||||
*
|
||||
* @param String $key The value's key/path name
|
||||
* @param string $key The value's key/path name
|
||||
* @param mixed $value Optional default value, returned if the internal value is null.
|
||||
*
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function __set($key, $value)
|
||||
public function __set(string $key, $value)
|
||||
{
|
||||
$this->set($key, $value);
|
||||
}
|
||||
@ -79,12 +79,12 @@ abstract class BaseConfig extends JoomlaRegistry
|
||||
/**
|
||||
* getting any valid value
|
||||
*
|
||||
* @param String $key The value's key/path name
|
||||
* @param string $key The value's key/path name
|
||||
*
|
||||
* @since 3.2.0
|
||||
* @throws \InvalidArgumentException If $key is not a valid function name.
|
||||
*/
|
||||
public function __get($key)
|
||||
public function __get(string $key)
|
||||
{
|
||||
// check if it has been set
|
||||
if (($value = $this->get($key, '__N0T_S3T_Y3T_')) !== '__N0T_S3T_Y3T_')
|
||||
@ -98,7 +98,7 @@ abstract class BaseConfig extends JoomlaRegistry
|
||||
/**
|
||||
* Get a config value.
|
||||
*
|
||||
* @param string $path Registry path (e.g. joomla.content.showauthor)
|
||||
* @param string $path Registry path (e.g. joomla_content_showauthor)
|
||||
* @param mixed $default Optional default value, returned if the internal value is null.
|
||||
*
|
||||
* @return mixed Value of entry or null
|
||||
@ -117,7 +117,7 @@ abstract class BaseConfig extends JoomlaRegistry
|
||||
}
|
||||
elseif (method_exists($this, $method))
|
||||
{
|
||||
$value = $this->{$method}();
|
||||
$value = $this->{$method}($default);
|
||||
|
||||
$this->set($path, $value);
|
||||
|
||||
|
@ -12,6 +12,8 @@
|
||||
namespace VDM\Joomla\Componentbuilder\Compiler;
|
||||
|
||||
|
||||
use Joomla\Registry\Registry as JoomlaRegistry;
|
||||
use Joomla\CMS\Factory as JoomlaFactory;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
use VDM\Joomla\Componentbuilder\Abstraction\BaseConfig;
|
||||
@ -20,10 +22,85 @@ use VDM\Joomla\Componentbuilder\Abstraction\BaseConfig;
|
||||
/**
|
||||
* Compiler Configurations
|
||||
*
|
||||
* All these functions are accessed via the direct name without the get:
|
||||
* example: $this->component_code_name calls: $this->getComponentcodename()
|
||||
*
|
||||
* All values once called are cached, yet can be updated directly:
|
||||
* example: $this->component_code_name = 'new_code_name'; // be warned!
|
||||
*
|
||||
* @since 3.2.0
|
||||
*/
|
||||
class Config extends BaseConfig
|
||||
{
|
||||
/**
|
||||
* The Global Joomla Configuration
|
||||
*
|
||||
* @var JoomlaRegistry
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected JoomlaRegistry $config;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param Input|null $input Input
|
||||
* @param Registry|null $params The component parameters
|
||||
* @param Registry|null $config The Joomla configuration
|
||||
*
|
||||
* @throws \Exception
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function __construct(?Input $input = null, ?JoomlaRegistry $params = null, ?JoomlaRegistry $config = null)
|
||||
{
|
||||
parent::__construct($input, $params);
|
||||
|
||||
$this->config = $config ?: JoomlaFactory::getConfig();
|
||||
}
|
||||
|
||||
/**
|
||||
* get add contributors switch
|
||||
*
|
||||
* @return bool Add contributors switch
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getAddcontributors(): bool
|
||||
{
|
||||
return false; // default is false
|
||||
}
|
||||
|
||||
/**
|
||||
* get Add Ajax Switch
|
||||
*
|
||||
* @return bool Add Ajax Switch
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getAddajax(): bool
|
||||
{
|
||||
return false; // default is false
|
||||
}
|
||||
|
||||
/**
|
||||
* get Add Site Ajax Switch
|
||||
*
|
||||
* @return bool Add Site Ajax Switch
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getAddsiteajax(): bool
|
||||
{
|
||||
return false; // default is false
|
||||
}
|
||||
|
||||
/**
|
||||
* get add eximport
|
||||
*
|
||||
* @return bool add eximport switch
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getAddeximport(): bool
|
||||
{
|
||||
return false; // default is false
|
||||
}
|
||||
|
||||
/**
|
||||
* get posted component id
|
||||
*
|
||||
@ -35,6 +112,17 @@ class Config extends BaseConfig
|
||||
return $this->input->post->get('component_id', 0, 'INT');
|
||||
}
|
||||
|
||||
/**
|
||||
* get component version
|
||||
*
|
||||
* @return string Component version
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getComponentversion(): string
|
||||
{
|
||||
return '1.0.0';
|
||||
}
|
||||
|
||||
/**
|
||||
* get components code name
|
||||
*
|
||||
@ -84,6 +172,20 @@ class Config extends BaseConfig
|
||||
return $this->input->post->get('joomla_version', 3, 'INT');
|
||||
}
|
||||
|
||||
/**
|
||||
* get Joomla versions
|
||||
*
|
||||
* @return array Joomla versions
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getJoomlaversions(): array
|
||||
{
|
||||
return [
|
||||
3 => ['folder_key' => 3, 'xml_version' => 3.9], // only joomla 3
|
||||
3.10 => ['folder_key' => 3, 'xml_version' => 4.0] // legacy joomla 4
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* get posted Joomla version name
|
||||
*
|
||||
@ -95,6 +197,17 @@ class Config extends BaseConfig
|
||||
return StringHelper::safe($this->joomla_version);
|
||||
}
|
||||
|
||||
/**
|
||||
* set joomla fields
|
||||
*
|
||||
* @return bool set joomla fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getSetjoomlafields(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get indentation value
|
||||
*
|
||||
@ -138,15 +251,12 @@ class Config extends BaseConfig
|
||||
{
|
||||
// get posted value
|
||||
$value = $this->input->post->get('debug_line_nr', 2, 'INT');
|
||||
|
||||
// get active value
|
||||
$add = ($value == 0) ? false : (
|
||||
($value == 1) ? true : (
|
||||
((int) GetHelper::var('joomla_component', $this->component_id, 'id', 'debug_linenr' ) == 1) ? true : false
|
||||
)
|
||||
);
|
||||
|
||||
return $add;
|
||||
// get global value
|
||||
if ($value > 1)
|
||||
{
|
||||
return (int) GetHelper::var('joomla_component', $this->component_id, 'id', 'debug_linenr');
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -157,12 +267,11 @@ class Config extends BaseConfig
|
||||
*/
|
||||
protected function getMinify(): int
|
||||
{
|
||||
// get posted value
|
||||
$minify = $this->input->post->get('minify', 2, 'INT');
|
||||
|
||||
// if value is 2 use global value
|
||||
$minify = ($minify != 2) ? $minify : $this->params->get('minify', 0);
|
||||
|
||||
return $minify;
|
||||
return ($minify != 2) ? $minify : $this->params->get('minify', 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -173,16 +282,14 @@ class Config extends BaseConfig
|
||||
*/
|
||||
protected function getRemovelinebreaks(): bool
|
||||
{
|
||||
$value = 2; // 2 is global (use the components value) TODO: get from post
|
||||
|
||||
// get active value
|
||||
$remove = ($value == 0) ? false : (
|
||||
($value == 1) ? true : (
|
||||
((int) GetHelper::var('joomla_component', $this->component_id, 'id', 'remove_line_breaks' ) == 1) ? true : false
|
||||
)
|
||||
);
|
||||
|
||||
return $remove;
|
||||
// get posted value
|
||||
$value = $this->input->post->get('remove_line_breaks', 2, 'INT');
|
||||
// get global
|
||||
if ($value > 1)
|
||||
{
|
||||
return (bool) GetHelper::var('joomla_component', $this->component_id, 'id', 'remove_line_breaks');
|
||||
}
|
||||
return (bool) $value;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -197,6 +304,30 @@ class Config extends BaseConfig
|
||||
return \extension_loaded('Tidy');
|
||||
}
|
||||
|
||||
/**
|
||||
* add tidy warning
|
||||
*
|
||||
* @return bool Set tidy warning
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getSettidywarning(): bool
|
||||
{
|
||||
// add warning once
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* get history tag switch
|
||||
*
|
||||
* @return bool get history tag switch
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getSettaghistory(): bool
|
||||
{
|
||||
// add warning once
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* get language tag
|
||||
*
|
||||
@ -280,6 +411,31 @@ class Config extends BaseConfig
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* get default fields
|
||||
*
|
||||
* @return array The default fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getDefaultfields(): array
|
||||
{
|
||||
// get the field type builder
|
||||
return ['created', 'created_by', 'modified', 'modified_by', 'published',
|
||||
'ordering', 'access', 'version', 'hits', 'id'];
|
||||
}
|
||||
|
||||
/**
|
||||
* get temporary path
|
||||
*
|
||||
* @return string The temporary path
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getTmppath(): string
|
||||
{
|
||||
// get the temporary path
|
||||
return $this->config->get('tmp_path');
|
||||
}
|
||||
|
||||
/**
|
||||
* get compiler path
|
||||
*
|
||||
@ -307,6 +463,18 @@ class Config extends BaseConfig
|
||||
return $this->params->get('jcb_powers_path', 'libraries/jcb_powers');
|
||||
}
|
||||
|
||||
/**
|
||||
* get bom path
|
||||
*
|
||||
* @return string The bom path
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getBompath(): string
|
||||
{
|
||||
// get default bom path
|
||||
return $this->compiler_path . '/default.txt';
|
||||
}
|
||||
|
||||
/**
|
||||
* get switch to add assets table fix
|
||||
*
|
||||
@ -321,12 +489,50 @@ class Config extends BaseConfig
|
||||
);
|
||||
|
||||
// get component value
|
||||
$add = (($add_assets_table_fix = (int) GetHelper::var(
|
||||
return (($add_assets_table_fix = (int) GetHelper::var(
|
||||
'joomla_component', $this->component_id, 'id',
|
||||
'assets_table_fix'
|
||||
)) == 3) ? $global : $add_assets_table_fix;
|
||||
}
|
||||
|
||||
return $add;
|
||||
/**
|
||||
* get switch to add assets table name fix
|
||||
*
|
||||
* @return bool Switch number to add assets table name fix
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getAddassetstablenamefix(): bool
|
||||
{
|
||||
// get global is false
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get access worse case size
|
||||
*
|
||||
* @return int access worse case size
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getAccessworsecase(): int
|
||||
{
|
||||
// we start at zero
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* get mysql table keys
|
||||
*
|
||||
* @return array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getMysqltablekeys(): array
|
||||
{
|
||||
return [
|
||||
'engine' => ['default' => 'MyISAM'],
|
||||
'charset' => ['default' => 'utf8'],
|
||||
'collate' => ['default' => 'utf8_general_ci'],
|
||||
'row_format' => ['default' => '']
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -339,15 +545,12 @@ class Config extends BaseConfig
|
||||
{
|
||||
// get posted value
|
||||
$value = $this->input->post->get('add_placeholders', 2, 'INT');
|
||||
|
||||
// get active value
|
||||
$add = ($value == 0) ? false : (
|
||||
($value == 1) ? true : (
|
||||
((int) GetHelper::var('joomla_component', $this->component_id, 'id', 'add_placeholders' ) == 1) ? true : false
|
||||
)
|
||||
);
|
||||
|
||||
return $add;
|
||||
// get global value
|
||||
if ($value > 1)
|
||||
{
|
||||
return (bool) GetHelper::var('joomla_component', $this->component_id, 'id', 'add_placeholders');
|
||||
}
|
||||
return (bool) $value;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -360,15 +563,12 @@ class Config extends BaseConfig
|
||||
{
|
||||
// get posted value
|
||||
$value = $this->input->post->get('powers', 2, 'INT');
|
||||
|
||||
// get active value
|
||||
$add = ($value == 0) ? false : (
|
||||
($value == 1) ? true : (
|
||||
((int) GetHelper::var('joomla_component', $this->component_id, 'id', 'add_powers' ) == 1) ? true : false
|
||||
)
|
||||
);
|
||||
|
||||
return $add;
|
||||
// get global value
|
||||
if ($value > 1)
|
||||
{
|
||||
return (bool) GetHelper::var('joomla_component', $this->component_id, 'id', 'add_powers');
|
||||
}
|
||||
return (bool) $value;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -384,6 +584,17 @@ class Config extends BaseConfig
|
||||
return 'admin';
|
||||
}
|
||||
|
||||
/**
|
||||
* get encryption types
|
||||
*
|
||||
* @return array encryption types
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getCryptiontypes(): array
|
||||
{
|
||||
return ['basic', 'medium', 'whmcs', 'expert'];
|
||||
}
|
||||
|
||||
/**
|
||||
* get basic encryption switch
|
||||
*
|
||||
@ -439,5 +650,49 @@ class Config extends BaseConfig
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Uikit switch
|
||||
*
|
||||
* @return int Switch to control the adding uikit
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getUikit(): int
|
||||
{
|
||||
return 0; // default its not added
|
||||
}
|
||||
|
||||
/**
|
||||
* The google chart switch
|
||||
*
|
||||
* @return bool Switch to control the adding googlechart
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getGooglechart(): bool
|
||||
{
|
||||
return false; // default its not added
|
||||
}
|
||||
|
||||
/**
|
||||
* The footable switch
|
||||
*
|
||||
* @return bool Switch to control the adding footable
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getFootable(): bool
|
||||
{
|
||||
return false; // default its not added
|
||||
}
|
||||
|
||||
/**
|
||||
* The footable version
|
||||
*
|
||||
* @return int Switch to control the adding footable
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function getFootableversion(): int
|
||||
{
|
||||
return 2; // default is version 2
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user