Stable release of v3.2.0-beta3

Move the old helper compiler files to powers. Move the old helper extrusion files to powers.
This commit is contained in:
Robot 2024-03-06 15:06:11 +02:00
parent dce71f1d35
commit 0b0568299c
Signed by: Robot
GPG Key ID: 14DECD44E7E1BB95
40 changed files with 2802 additions and 2962 deletions

View File

@ -1,3 +1,8 @@
# v3.2.0-beta3
- Move the old helper compiler files to powers
- Move the old helper extrusion files to powers
# v3.2.0-beta1
- Move beta to main repo

View File

@ -9,7 +9,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!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta2) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta3) 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)
@ -144,13 +144,13 @@ 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*: 4th March, 2024
+ *Version*: 3.2.0-beta2
+ *Last Build*: 6th March, 2024
+ *Version*: 3.2.0-beta3
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **694682**
+ *Line count*: **729192**
+ *Field count*: **2077**
+ *File count*: **5122**
+ *File count*: **5132**
+ *Folder count*: **455**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).

View File

@ -9,7 +9,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!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta2) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.0-beta3) 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)
@ -144,13 +144,13 @@ 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*: 4th March, 2024
+ *Version*: 3.2.0-beta2
+ *Last Build*: 6th March, 2024
+ *Version*: 3.2.0-beta3
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **694682**
+ *Line count*: **729192**
+ *Field count*: **2077**
+ *File count*: **5122**
+ *File count*: **5132**
+ *Folder count*: **455**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).

View File

@ -85,7 +85,7 @@ Html::_('script', 'components/com_componentbuilder/assets/js/admin.js', ['versio
// require helper files
JLoader::register('ComponentbuilderHelper', __DIR__ . '/helpers/componentbuilder.php');
JLoader::register('ComponentbuilderEmail', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/componentbuilderemail.php');
\JLoader::register('ComponentbuilderEmail', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/componentbuilderemail.php');
JLoader::register('JHtmlBatch_', __DIR__ . '/helpers/html/batch_.php');
// Trigger the Global Admin Event

View File

@ -123,7 +123,7 @@ class ComponentbuilderControllerAdmin_views extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -97,8 +97,6 @@ class ComponentbuilderControllerCompiler extends AdminController
// currently only those with admin access can compile a component
if($user->authorise('core.manage', 'com_componentbuilder'))
{
// include component compiler
require_once JPATH_ADMINISTRATOR.'/components/com_componentbuilder/helpers/compiler.php';
$model = $this->getModel('compiler');
if ($model->builder())
{
@ -530,7 +528,7 @@ class ComponentbuilderControllerCompiler extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect
@ -570,7 +568,7 @@ class ComponentbuilderControllerCompiler extends AdminController
public function clearTmp()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect
@ -611,7 +609,7 @@ class ComponentbuilderControllerCompiler extends AdminController
public function runTranslator()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -123,7 +123,7 @@ class ComponentbuilderControllerCustom_codes extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -123,7 +123,7 @@ class ComponentbuilderControllerDynamic_gets extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -123,7 +123,7 @@ class ComponentbuilderControllerFields extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -124,7 +124,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect
@ -164,7 +164,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
public function clearTmp()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -58,7 +58,7 @@ class ComponentbuilderControllerJoomla_plugins extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -59,7 +59,7 @@ class ComponentbuilderControllerPowers extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -123,7 +123,7 @@ class ComponentbuilderControllerValidation_rules extends AdminController
public function runExpansion()
{
// Check for request forgeries
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
Session::checkToken() or \jexit(Text::_('JINVALID_TOKEN'));
// check if user has the right
$user = Factory::getUser();
// set page redirect

View File

@ -1123,15 +1123,6 @@ abstract class ComponentbuilderHelper
jimport('joomla.application');
}
/**
* The dynamic builder of views, tables and fields
**/
public static function dynamicBuilder(&$data, $type)
{
self::autoLoader('extrusion');
$extruder = new Extrusion($data);
}
/*
* Convert repeatable field to subform
*

View File

@ -1,204 +0,0 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.6.x
@created 30th April, 2015
@package Component Builder
@subpackage indenter.php
@author Llewellyn van der Merwe <http://joomlacomponentbuilder.com>
@github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* @link https://github.com/gajus/dindent for the canonical source repository
* @license https://github.com/gajus/dindent/blob/master/LICENSE BSD 3-Clause
*/
class Indenter {
private
$log = array(),
$options = array(
'indentation_character' => ' '
),
$inline_elements = array('b', 'big', 'i', 'small', 'tt', 'abbr', 'acronym', 'cite', 'code', 'dfn', 'em', 'kbd', 'strong', 'samp', 'var', 'a', 'bdo', 'br', 'img', 'span', 'sub', 'sup'),
$temporary_replacements_script = array(),
$temporary_replacements_inline = array();
const ELEMENT_TYPE_BLOCK = 0;
const ELEMENT_TYPE_INLINE = 1;
const MATCH_INDENT_NO = 0;
const MATCH_INDENT_DECREASE = 1;
const MATCH_INDENT_INCREASE = 2;
const MATCH_DISCARD = 3;
/**
* @param array $options
*/
public function __construct (array $options = array()) {
foreach ($options as $name => $value) {
if (!array_key_exists($name, $this->options)) {
throw new Exception\InvalidArgumentException('Unrecognized option.');
}
$this->options[$name] = $value;
}
}
/**
* @param string $element_name Element name, e.g. "b".
* @param ELEMENT_TYPE_BLOCK|ELEMENT_TYPE_INLINE $type
* @return null
*/
public function setElementType ($element_name, $type) {
if ($type === static::ELEMENT_TYPE_BLOCK) {
$this->inline_elements = array_diff($this->inline_elements, array($element_name));
} else if ($type === static::ELEMENT_TYPE_INLINE) {
$this->inline_elements[] = $element_name;
} else {
throw new Exception\InvalidArgumentException('Unrecognized element type.');
}
$this->inline_elements = array_unique($this->inline_elements);
}
/**
* @param string $input HTML input.
* @return string Indented HTML.
*/
public function indent ($input) {
$this->log = array();
// Dindent does not indent <script> body. Instead, it temporary removes it from the code, indents the input, and restores the script body.
if (preg_match_all('/<script\b[^>]*>([\s\S]*?)<\/script>/mi', $input, $matches)) {
$this->temporary_replacements_script = $matches[0];
foreach ($matches[0] as $i => $match) {
$input = str_replace($match, '<script>' . ($i + 1) . '</script>', $input);
}
}
// Removing double whitespaces to make the source code easier to read.
// With exception of <pre>/ CSS white-space changing the default behaviour, double whitespace is meaningless in HTML output.
// This reason alone is sufficient not to use Dindent in production.
$input = str_replace("\t", '', $input);
$input = preg_replace('/\s{2,}/', ' ', $input);
// Remove inline elements and replace them with text entities.
if (preg_match_all('/<(' . implode('|', $this->inline_elements) . ')[^>]*>(?:[^<]*)<\/\1>/', $input, $matches)) {
$this->temporary_replacements_inline = $matches[0];
foreach ($matches[0] as $i => $match) {
$input = str_replace($match, 'ᐃ' . ($i + 1) . 'ᐃ', $input);
}
}
$subject = $input;
$output = '';
$next_line_indentation_level = 0;
do {
$indentation_level = $next_line_indentation_level;
$patterns = array(
// block tag
'/^(<([a-z]+)(?:[^>]*)>(?:[^<]*)<\/(?:\2)>)/' => static::MATCH_INDENT_NO,
// DOCTYPE
'/^<!([^>]*)>/' => static::MATCH_INDENT_NO,
// tag with implied closing
'/^<(input|link|meta|base|br|img|hr)([^>]*)>/' => static::MATCH_INDENT_NO,
// opening tag
'/^<[^\/]([^>]*)>/' => static::MATCH_INDENT_INCREASE,
// closing tag
'/^<\/([^>]*)>/' => static::MATCH_INDENT_DECREASE,
// self-closing tag
'/^<(.+)\/>/' => static::MATCH_INDENT_DECREASE,
// whitespace
'/^(\s+)/' => static::MATCH_DISCARD,
// text node
'/([^<]+)/' => static::MATCH_INDENT_NO
);
$rules = array('NO', 'DECREASE', 'INCREASE', 'DISCARD');
foreach ($patterns as $pattern => $rule) {
if ($match = preg_match($pattern, $subject, $matches)) {
$this->log[] = array(
'rule' => $rules[$rule],
'pattern' => $pattern,
'subject' => $subject,
'match' => $matches[0]
);
$subject = mb_substr($subject, mb_strlen($matches[0]));
if ($rule === static::MATCH_DISCARD) {
break;
}
if ($rule === static::MATCH_INDENT_NO) {
} else if ($rule === static::MATCH_INDENT_DECREASE) {
$next_line_indentation_level--;
$indentation_level--;
} else {
$next_line_indentation_level++;
}
if ($indentation_level < 0) {
$indentation_level = 0;
}
$output .= str_repeat($this->options['indentation_character'], $indentation_level) . $matches[0] . "\n";
break;
}
}
} while ($match);
$interpreted_input = '';
foreach ($this->log as $e) {
$interpreted_input .= $e['match'];
}
if ($interpreted_input !== $input) {
throw new Exception\RuntimeException('Did not reproduce the exact input.');
}
$output = preg_replace('/(<(\w+)[^>]*>)\s*(<\/\2>)/', '\\1\\3', $output);
foreach ($this->temporary_replacements_script as $i => $original) {
$output = str_replace('<script>' . ($i + 1) . '</script>', $original, $output);
}
foreach ($this->temporary_replacements_inline as $i => $original) {
$output = str_replace('ᐃ' . ($i + 1) . 'ᐃ', $original, $output);
}
return trim($output);
}
/**
* Debugging utility. Get log for the last indent operation.
*
* @return array
*/
public function getLog () {
return $this->log;
}
}

View File

@ -1292,6 +1292,7 @@ COM_COMPONENTBUILDER_ALL_FOUND_INSTANCES_IN_S_WHERE_REPLACED="All found instance
COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER="All is good, please check again later"
COM_COMPONENTBUILDER_ALL_IS_GOOD_THERE_IS_NO_NOTICE_AT_THIS_TIME="All is good, there is no notice at this time."
COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA="All of these packages are a fully developed/mapped components for JCB. They can be seen as demo content, or base images from which to start your project.<br />Always make sure you are on the latest version of JCB before importing any of these packages, should any of them fail to import <a %s >please let us know</a>."
COM_COMPONENTBUILDER_ALL_THE_FIELDS_AND_VIEWS_FROM_YOUR_SQL_DUMP_HAS_BEEN_CREATED_AND_LINKED_TO_THIS_COMPONENT="All the fields and views from your sql dump has been created and linked to this component."
COM_COMPONENTBUILDER_ALL_THE_LANGUAGES_FOUND_IN_JOOMLA_WERE_SUCCESSFULLY_IMPORTED="All the languages found in Joomla were successfully imported."
COM_COMPONENTBUILDER_ALL_UNSAVED_WORK_ON_THIS_PAGE_WILL_BE_LOST_ARE_YOU_SURE_YOU_WANT_TO_CONTINUE="All unsaved work on this page will be lost, are you sure you want to continue?"
COM_COMPONENTBUILDER_ALREADY_SELECTED_TRY_ANOTHER="Already selected, try another."
@ -1648,6 +1649,7 @@ COM_COMPONENTBUILDER_CLONE="Clone"
COM_COMPONENTBUILDER_CLONE_FAILED="Clone failed!"
COM_COMPONENTBUILDER_CLOSE_NEW="Close & New"
COM_COMPONENTBUILDER_CODE="Code"
COM_COMPONENTBUILDER_CODESTRINGS="code/strings"
COM_COMPONENTBUILDER_COMMUNITY_PACKAGES="Community Packages"
COM_COMPONENTBUILDER_COMPANY="Company"
COM_COMPONENTBUILDER_COMPANY_NAME="Company Name"
@ -3667,6 +3669,7 @@ COM_COMPONENTBUILDER_CONTRIBUTORS="Contributors"
COM_COMPONENTBUILDER_COPYRIGHT="Copyright"
COM_COMPONENTBUILDER_COPYRIGHT_S="Copyright: %s"
COM_COMPONENTBUILDER_COULD_NOT_CLEAR_THE_TMP_FOLDER="Could not clear the tmp folder!"
COM_COMPONENTBUILDER_COULD_NOT_FIND_THE_DATA_NEEDED_TO_CONTINUE="Could not find the data needed to continue."
COM_COMPONENTBUILDER_COULD_NOT_INSTALL_COMPONENT="Could not install component!"
COM_COMPONENTBUILDER_COULD_NOT_INSTALL_EXTENSIONS="Could not install extensions!"
COM_COMPONENTBUILDER_COULD_NOT_INSTALL_MODULE="Could not install module!"
@ -5403,7 +5406,11 @@ COM_COMPONENTBUILDER_HI="Hi"
COM_COMPONENTBUILDER_HIDE_ONLY="Hide Only"
COM_COMPONENTBUILDER_HIDE_TOGGLE="Hide Toggle"
COM_COMPONENTBUILDER_HOW_TO_GET_A_S_FREE_KEYSA_FROM_VDM="How to get <a %s >free keys</a> from VDM."
COM_COMPONENTBUILDER_HR_HTHREEASSETS_TABLE_NOTICEHTHREE="<hr /><h3>Assets Table Notice</h3>"
COM_COMPONENTBUILDER_HR_HTHREEASSETS_TABLE_WARNINGHTHREE="<hr /><h3>Assets Table Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREECONDITIONAL_SCRIPT_WARNINGHTHREE="<hr /><h3>Conditional Script Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREECUSTOM_CODES_WARNINGHTHREE="<hr /><h3>Custom Codes Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREECUSTOM_CODE_WARNINGHTHREE="<hr /><h3>Custom Code Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREECZEROMPZERONTHREENT_ISSUE_FOUNDHTHREEPTHE_PATH_S_COULD_NOT_BE_USEDP="<hr /><h3>c0mp0n3nt issue found</h3><p>The path (%s) could not be used.</p>"
COM_COMPONENTBUILDER_HR_HTHREEDASHBOARD_ERRORHTHREE="<hr /><h3>Dashboard Error</h3>"
COM_COMPONENTBUILDER_HR_HTHREEDYNAMIC_FOLDERS_WERE_DETECTEDHTHREE="<hr /><h3>Dynamic folder(s) were detected.</h3>"
@ -5411,9 +5418,15 @@ COM_COMPONENTBUILDER_HR_HTHREEEXTERNAL_CODE_ERRORHTHREE="<hr /><h3>External Code
COM_COMPONENTBUILDER_HR_HTHREEEXTERNAL_CODE_NOTICEHTHREE="<hr /><h3>External Code Notice</h3>"
COM_COMPONENTBUILDER_HR_HTHREEEXTERNAL_CODE_WARNINGHTHREE="<hr /><h3>External Code Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREEFIELD_NOTICEHTHREE="<hr /><h3>Field Notice</h3>"
COM_COMPONENTBUILDER_HR_HTHREEFIELD_WARNINGHTHREE="<hr /><h3>Field Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREEFILE_PATH_ERRORHTHREE="<hr /><h3>File Path Error</h3>"
COM_COMPONENTBUILDER_HR_HTHREEFOLDER_PATH_ERRORHTHREE="<hr /><h3>Folder Path Error</h3>"
COM_COMPONENTBUILDER_HR_HTHREELANGUAGE_NOTICEHTHREE="<hr /><h3>Language Notice</h3>"
COM_COMPONENTBUILDER_HR_HTHREELANGUAGE_WARNINGHTHREE="<hr /><h3>Language Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREEMULTI_FILTER_ERRORHTHREE="<hr /><h3>Multi Filter Error</h3>"
COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE="<hr /><h3>%s Warning</h3>"
COM_COMPONENTBUILDER_HR_HTHREETIDY_ERRORHTHREE="<hr /><h3>Tidy Error</h3>"
COM_COMPONENTBUILDER_HR_HTHREEWHMCS_ERRORHTHREE="<hr /><h3>WHMCS Error</h3>"
COM_COMPONENTBUILDER_HTHREEPLACEHOLDER_REMOVEDHTHREEPBTHISB_CUSTOM_CODE_CAN_ONLY_BE_USED_IN_BOTHERB_CUSTOM_CODE_NOT_IN_IT_SELF_SINCE_THAT_WILL_CAUSE_A_INFINITE_LOOP_IN_THE_COMPILERP="<h3>Placeholder Removed!</h3><p><b>This</b> custom code can only be used in <b>other</b> custom code, not in it self! Since that will cause a infinite loop in the compiler.</p>"
COM_COMPONENTBUILDER_HTHREESHTHREEPCUSTOM_CODE_CAN_ONLY_BE_USED_IN_OTHER_CUSTOM_CODE_IF_SET_AS_BJCB_MANUALB_YOU_CAN_NOT_ADD_THEM_TO_EMHASH_AUTOMATIONEM_CODE_AT_THIS_POINTP="<h3>%s</h3><p>Custom code can only be used in other custom code if set as <b>JCB (manual)</b>, you can not add them to <em>Hash (Automation)</em> code at this point.</p>"
COM_COMPONENTBUILDER_HTHREES_NAMESPACE_ERROR_SHTHREEPYOU_MUST_ATLEAST_HAVE_TWO_SECTIONS_IN_YOUR_NAMESPACE_YOU_JUST_HAVE_ONE_S_THIS_IS_AN_UNACCEPTABLE_ACTION_PLEASE_SEE_A_HREFS_PSRFOURA_FOR_MORE_INFOPPTHIS_S_WAS_THEREFORE_REMOVED_A_HREFSCLICK_HEREA_TO_FIX_THIS_ISSUEP="<h3>%s namespace error (%s)</h3><p>You must at-least have two sections in your namespace, you just have one (%s). This is an unacceptable action, please see <a href=%s >psr-4</a> for more info.</p><p>This %s was therefore removed, <a href=%s>click here</a> to fix this issue.</p>"
@ -7528,6 +7541,7 @@ COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND="No Components Found"
COM_COMPONENTBUILDER_NO_COMPONENTS_WERE_SELECTED_PLEASE_MAKE_A_SELECTION_AND_TRY_AGAIN="No components were selected, please make a selection and try again!"
COM_COMPONENTBUILDER_NO_COMPONENT_DETAILS_FOUND_SO_IT_IS_NOT_SAFE_TO_CONTINUE="No component details found, so it is not safe to continue!"
COM_COMPONENTBUILDER_NO_COMPONENT_WAS_SELECTED_PLEASE_MAKE_A_SELECTION_OF_ONE_COMPONENT_AND_TRY_AGAIN="No component was selected, please make a selection of one component and try again!"
COM_COMPONENTBUILDER_NO_CREATE_TABLE_WERE_FOUND_PLEASE_CHECK_YOUR_SQL="No "CREATE TABLE.." were found, please check your sql."
COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_FOR_S="No cronjob path found for (%s)"
COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_SINCE_INCORRECT_TYPE_REQUESTED="No cronjob path found since incorrect type requested."
COM_COMPONENTBUILDER_NO_DESCRIPTION_FOUND="No description found."
@ -7665,6 +7679,7 @@ COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST="Please first m
COM_COMPONENTBUILDER_PLEASE_NOTE_THAT_THIS_PACKAGE_BHAS_NOB_CHECKSUM_VALIDATION="Please note that this package <b>has no</b> checksum validation!"
COM_COMPONENTBUILDER_PLEASE_SELECT_A_COMPONENT_THAT_YOU_WOULD_LIKE_TO_COMPILE="Please select a component that you would like to compile."
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_LATER="Please try again later"
COM_COMPONENTBUILDER_PLEASE_TRY_AGAIN_THIS_ERROR_USUALY_HAPPENS_IF_IT_IS_A_NEW_COMPONENT_BEACUES_WE_NEED_A_COMPONENT_ID_TO_DO_THIS_BUILD_WITH_YOUR_SQL_DUMP="Please try again, this error usualy happens if it is a new component, beacues we need a component ID to do this build with your sql dump."
COM_COMPONENTBUILDER_PLEASE_WAIT="Please wait!"
COM_COMPONENTBUILDER_PLEASE_WAIT_LOADING="Please wait, loading"
COM_COMPONENTBUILDER_PLUGIN="Plugin"
@ -7873,6 +7888,7 @@ COM_COMPONENTBUILDER_REQUIRES_THE_VALUE_TO_BE_A_TELEPHONE_NUMBER_COMPLYING_WITH_
COM_COMPONENTBUILDER_REQUIRES_THE_VALUE_TO_BE_THE_SAME_AS_THAT_HELD_IN_THE_FIELD_NAMED_QUOTFIELDQUOT_EGS="Requires the value to be the same as that held in the field named &quot;field&quot;, eg:%s"
COM_COMPONENTBUILDER_RESET="Reset"
COM_COMPONENTBUILDER_RESET_FAILED="Reset Failed!"
COM_COMPONENTBUILDER_REVERTED_THE_B_ASSETSB_TABLE_RULES_COLUMN_BACK_TO_ITS_DEFAULT_SIZE_OF_VARCHARFIVE_THOUSAND_ONE_HUNDRED_AND_TWENTY="Reverted the <b>#__assets</b> table rules column back to its default size of varchar(5120)"
COM_COMPONENTBUILDER_REVERT_ALL_AHEAD_SNIPPETS="Revert All Ahead Snippets"
COM_COMPONENTBUILDER_RIGHT_IN_TAB="Right in Tab"
COM_COMPONENTBUILDER_RIGHT_OF_TABS="Right of Tabs"
@ -9147,6 +9163,12 @@ COM_COMPONENTBUILDER_WE_FAILED_TO_MOVE_BSB="We failed to move <b>%s</b>!"
COM_COMPONENTBUILDER_WE_FOUND_DYNAMIC_CODE_BALL_IN_ONE_LINEB_AND_IGNORED_IT_PLEASE_REVIEW_S_FOR_MORE_DETAILS="We found dynamic code <b>all in one line</b>, and ignored it! Please review (%s) for more details!"
COM_COMPONENTBUILDER_WE_FOUND_SOME_INSTANCES_IN_S="We found some instances in %s"
COM_COMPONENTBUILDER_WE_SUCCESSFULLY_MOVED_BSB="We successfully moved <b>%s</b>!"
COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_COMPONENT_TO_THE_GIT_REPOSITORY="We where was unable to transfer the component to the git repository:"
COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_COMPONENT_ZIP_FILE_TO_THE_BACKUP_FOLDER="We where was unable to transfer the component ZIP file to the backup folder:"
COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_MODULE_TO_THE_GIT_REPOSITORY="We where was unable to transfer the (%s) module to the git repository:"
COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_MODULE_ZIP_FILE_TO_THE_BACKUP_FOLDER="We where was unable to transfer the (%s) module zip file to the backup folder:"
COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_PLUGIN_TO_THE_GIT_REPOSITORY="We where was unable to transfer the (%s) plugin to the git repository:"
COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_PLUGIN_ZIP_FILE_TO_THE_BACKUP_FOLDER="We where was unable to transfer the (%s) plugin zip file to the backup folder:"
COM_COMPONENTBUILDER_WHAT_VERSION_OF_JOOMLA_WOULD_YOU_LIKE_TO_TARGET="What version of Joomla would you like to target."
COM_COMPONENTBUILDER_WHICH_TYPE_OF_INDENTATION_WOULD_YOU_LIKE_TO_USE_PLEASE_NOTE_THAT_THIS_DOES_NOT_YET_IMPACT_THE_STATIC_TEMPLATES="Which type of indentation would you like to use? Please note that this does not yet impact the static templates."
COM_COMPONENTBUILDER_WHILE_WE_DOWNLOAD_ALL_TWENTY_SIX_COMPILER_GIF_ANIMATIONS_RANDOMLY_USED_IN_THE_COMPILER_GUI_DURING_COMPILATION="While we download all 26 compiler GIF animations randomly used in the compiler GUI during compilation"

View File

@ -3347,7 +3347,7 @@ class ComponentbuilderModelAjax extends ListModel
protected function buildFieldTextarea($name, $desc, $default, $rows)
{
// get the textarea
$textarea = JFormHelper::loadFieldType('textarea', true);
$textarea = \JFormHelper::loadFieldType('textarea', true);
// start building the name field XML
$textareaXML = new \SimpleXMLElement('<field/>');
// textarea attributes
@ -3373,7 +3373,7 @@ class ComponentbuilderModelAjax extends ListModel
protected function buildFieldOptionsSubform($values, $nameListOptions = null, $name = 'properties', $label = 'COM_COMPONENTBUILDER_PROPERTIESBR_SMALLHERE_YOU_CAN_SET_THE_PROPERTIES_FOR_THIS_FIELDSMALL')
{
// get the subform
$subform = JFormHelper::loadFieldType('subform', true);
$subform = \JFormHelper::loadFieldType('subform', true);
// start building the subform field XML
$subformXML = new \SimpleXMLElement('<field/>');
// subform attributes

View File

@ -18,6 +18,7 @@ use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Componentbuilder\Compiler\Helper\Compiler;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\JsonHelper;

View File

@ -15,10 +15,9 @@ defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('checkboxes');
JFormHelper::loadFieldClass('checkboxes');
use VDM\Joomla\Utilities\Component\Helper;
jimport('joomla.form.helper');
\JFormHelper::loadFieldClass('checkboxes');
/**
* Superpowerpaths Form Field class for the Componentbuilder component
@ -63,7 +62,7 @@ class JFormFieldSuperpowerpaths extends JFormFieldCheckboxes
// must have one / in the path
if (strpos($default, '/') !== false)
{
$tmp = new stdClass;
$tmp = new \stdClass;
$tmp->text = $tmp->value = trim($default);
$tmp->checked = false;
$options[$tmp->value] = $tmp;
@ -81,7 +80,7 @@ class JFormFieldSuperpowerpaths extends JFormFieldCheckboxes
if (isset($value->owner) && strlen($value->owner) > 1 &&
isset($value->repo) && strlen($value->repo) > 1)
{
$tmp = new stdClass;
$tmp = new \stdClass;
$tmp->text = $tmp->value = trim($value->owner) . '/' . trim($value->repo);
$tmp->checked = false;

View File

@ -30,6 +30,7 @@ use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\FOF\Encrypt\AES;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Componentbuilder\Extrusion\Helper\Extrusion;
/**
* Componentbuilder Joomla_component Admin Model
@ -1569,7 +1570,7 @@ class ComponentbuilderModelJoomla_component extends AdminModel
// we check if component should be build from sql file
if (isset($data['buildcomp']) && 1 == $data['buildcomp'])
{
ComponentbuilderHelper::dynamicBuilder($data, 1);
$extruder__ = new Extrusion($data);
}
// Set the Params Items to data

View File

@ -0,0 +1 @@

View File

@ -262,8 +262,8 @@ class ComponentbuilderViewJoomla_plugin extends HtmlView
$this->document->addScriptDeclaration("var expire = ". (int) $expire.";");
$this->document->addScriptDeclaration("selectionArray = {'property':{},'method':{}};");
// add a few field options via PHP
JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
$tmp_ = JFormHelper::loadFieldType('joomlaplugingroups')->options;
\JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
$tmp_ = \JFormHelper::loadFieldType('joomlaplugingroups')->options;
if (ArrayHelper::check($tmp_))
{
$_tmp = array();
@ -274,7 +274,7 @@ class ComponentbuilderViewJoomla_plugin extends HtmlView
// Set the values to JavaScript
$this->document->addScriptDeclaration("selectionArray['joomla_plugin_group'] = ". json_encode($_tmp) . ";");
}
$tmp_ = JFormHelper::loadFieldType('pluginsclassproperties')->options;
$tmp_ = \JFormHelper::loadFieldType('pluginsclassproperties')->options;
if (ArrayHelper::check($tmp_))
{
$_tmp = array();
@ -285,7 +285,7 @@ class ComponentbuilderViewJoomla_plugin extends HtmlView
// Set the values to JavaScript
$this->document->addScriptDeclaration("selectionArray['property'] = ". json_encode($_tmp) . ";");
}
$tmp_ = JFormHelper::loadFieldType('pluginsclassmethods')->options;
$tmp_ = \JFormHelper::loadFieldType('pluginsclassmethods')->options;
if (ArrayHelper::check($tmp_))
{
$_tmp = array();

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.10" method="upgrade">
<name>COM_COMPONENTBUILDER</name>
<creationDate>4th March, 2024</creationDate>
<creationDate>6th March, 2024</creationDate>
<author>Llewellyn van der Merwe</author>
<authorEmail>joomla@vdm.io</authorEmail>
<authorUrl>https://dev.vdm.io</authorUrl>
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<version>3.2.0-beta2</version>
<version>3.2.0-beta3</version>
<description><![CDATA[
<h1>Component Builder (v.3.2.0-beta2)</h1>
<h1>Component Builder (v.3.2.0-beta3)</h1>
<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.

View File

@ -1559,4 +1559,22 @@
<maintainerurl>https://dev.vdm.io</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
<update>
<name>Component Builder</name>
<description>Builds Complex Joomla Components</description>
<element>pkg_component_builder</element>
<type>package</type>
<client>site</client>
<version>3.2.03</version>
<infourl title="Component Builder!">https://dev.vdm.io</infourl>
<downloads>
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta3.zip</downloadurl>
</downloads>
<tags>
<tag>beta</tag>
</tags>
<maintainer>Llewellyn van der Merwe</maintainer>
<maintainerurl>https://dev.vdm.io</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
</updates>

View File

@ -1,43 +1,40 @@
<?php
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @created 4th September, 2022
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @gitea Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
namespace VDM\Joomla\Componentbuilder\Compiler\Helper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Filesystem\File;
use Joomla\CMS\Filesystem\Folder;
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\FileHelper;
use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\MathHelper;
use VDM\Joomla\Componentbuilder\Compiler\Factory as CFactory;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Placefix;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Indent;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Line;
// Use the component builder autoloader
ComponentbuilderHelper::autoLoader();
/**
// use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper; (for Joomla 4 and above)
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\FileHelper;
use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\MathHelper;
use VDM\Joomla\Componentbuilder\Compiler\Factory as CFactory;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Placefix;
use VDM\Joomla\Componentbuilder\Compiler\Helper\Infusion;
/**
* Compiler class
* @deprecated 3.3
*/
class Compiler extends Infusion
{
*
* @deprecated 3.3
*/
class Compiler extends Infusion
{
/**
* The Temp path
*
@ -172,7 +169,7 @@ class Compiler extends Infusion
if (CFactory::_('Compiler.Builder.Language.Messages')->isArray('exclude'))
{
$this->app->enqueueMessage(
Text::_('<hr /><h3>Language Warning</h3>'), 'Warning'
Text::_('COM_COMPONENTBUILDER_HR_HTHREELANGUAGE_WARNINGHTHREE'), 'Warning'
);
foreach (CFactory::_('Compiler.Builder.Language.Messages')->get('exclude') as $tag => $targets)
{
@ -190,7 +187,7 @@ class Compiler extends Infusion
}
}
$this->app->enqueueMessage(
Text::_('<hr /><h3>Language Notice</h3>'), 'Notice'
Text::_('COM_COMPONENTBUILDER_HR_HTHREELANGUAGE_NOTICEHTHREE'), 'Notice'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -214,7 +211,7 @@ class Compiler extends Infusion
if (CFactory::_('Compiler.Builder.Language.Messages')->isArray('include'))
{
$this->app->enqueueMessage(
Text::_('<hr /><h3>Language Notice</h3>'), 'Notice'
Text::_('COM_COMPONENTBUILDER_HR_HTHREELANGUAGE_NOTICEHTHREE'), 'Notice'
);
foreach (CFactory::_('Compiler.Builder.Language.Messages')->get('include') as $tag => $targets)
{
@ -246,7 +243,7 @@ class Compiler extends Infusion
if ($add_assets_table_fix)
{
$this->app->enqueueMessage(
Text::_('<hr /><h3>Assets Table Notice</h3>'), 'Notice'
Text::_('COM_COMPONENTBUILDER_HR_HTHREEASSETS_TABLE_NOTICEHTHREE'), 'Notice'
);
$asset_table_fix_type = ($add_assets_table_fix == 2)
? 'intelligent' : 'sql';
@ -262,7 +259,7 @@ class Compiler extends Infusion
elseif (CFactory::_('Utilities.Counter')->accessSize >= 30)
{
$this->app->enqueueMessage(
Text::_('<hr /><h3>Assets Table Warning</h3>'), 'Warning'
Text::_('COM_COMPONENTBUILDER_HR_HTHREEASSETS_TABLE_WARNINGHTHREE'), 'Warning'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -279,7 +276,7 @@ class Compiler extends Infusion
if (CFactory::_('Utilities.Counter')->accessSize < 30)
{
$this->app->enqueueMessage(
Text::_('<hr /><h3>Assets Table Warning</h3>'),
Text::_('COM_COMPONENTBUILDER_HR_HTHREEASSETS_TABLE_WARNINGHTHREE'),
'Warning'
);
}
@ -328,7 +325,7 @@ class Compiler extends Infusion
))
{
$this->app->enqueueMessage(
Text::_('<hr /><h3>Language Warning</h3>'), 'Warning'
Text::_('COM_COMPONENTBUILDER_HR_HTHREELANGUAGE_WARNINGHTHREE'), 'Warning'
);
if (count((array) $mismatch) > 1)
{
@ -368,10 +365,10 @@ class Compiler extends Infusion
// the correct string
$externalCodeString = ($externalCount == 1) ? Text::_(
'code/string'
) : Text::_('code/strings');
) : Text::_('COM_COMPONENTBUILDER_CODESTRINGS');
// the notice
$this->app->enqueueMessage(
Text::_('<hr /><h3>External Code Notice</h3>'), 'Notice'
Text::_('COM_COMPONENTBUILDER_HR_HTHREEEXTERNAL_CODE_NOTICEHTHREE'), 'Notice'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -686,7 +683,7 @@ class Compiler extends Infusion
// check if the file should get PHP opening
$php = '';
if (ComponentbuilderHelper::checkFileType($name, 'php'))
if (\ComponentbuilderHelper::checkFileType($name, 'php'))
{
$php = "<?php\n";
}
@ -920,7 +917,7 @@ class Compiler extends Infusion
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -978,7 +975,7 @@ class Compiler extends Infusion
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1015,7 +1012,7 @@ class Compiler extends Infusion
Folder::copy(CFactory::_('Utilities.Paths')->component_path, $repoFullPath, '', true);
} catch (\RuntimeException $e) {
$this->app->enqueueMessage(
Text::_('We where was unable to transfer the component to the git repository:') . ' ' . $e->getMessage()
Text::_('COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_COMPONENT_TO_THE_GIT_REPOSITORY') . ' ' . $e->getMessage()
, 'Error'
);
}
@ -1057,7 +1054,7 @@ class Compiler extends Infusion
);
} catch (\RuntimeException $e) {
$this->app->enqueueMessage(
Text::sprintf('We where was unable to transfer the (%s) module to the git repository:', $module->name) . ' ' . $e->getMessage()
Text::sprintf('COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_MODULE_TO_THE_GIT_REPOSITORY', $module->name) . ' ' . $e->getMessage()
, 'Error'
);
}
@ -1101,7 +1098,7 @@ class Compiler extends Infusion
);
} catch (\RuntimeException $e) {
$this->app->enqueueMessage(
Text::sprintf('We where was unable to transfer the (%s) plugin to the git repository:', $plugin->name) . ' ' . $e->getMessage()
Text::sprintf('COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_PLUGIN_TO_THE_GIT_REPOSITORY', $plugin->name) . ' ' . $e->getMessage()
, 'Error'
);
}
@ -1156,7 +1153,7 @@ class Compiler extends Infusion
);
} catch (\RuntimeException $e) {
$this->app->enqueueMessage(
Text::_('We where was unable to transfer the component ZIP file to the backup folder:') . ' ' . $e->getMessage()
Text::_('COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_COMPONENT_ZIP_FILE_TO_THE_BACKUP_FOLDER') . ' ' . $e->getMessage()
, 'Error'
);
}
@ -1259,7 +1256,7 @@ class Compiler extends Infusion
);
} catch (\RuntimeException $e) {
$this->app->enqueueMessage(
Text::sprintf('We where was unable to transfer the (%s) module zip file to the backup folder:', $module->name) . ' ' . $e->getMessage()
Text::sprintf('COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_MODULE_ZIP_FILE_TO_THE_BACKUP_FOLDER', $module->name) . ' ' . $e->getMessage()
, 'Error'
);
}
@ -1367,7 +1364,7 @@ class Compiler extends Infusion
);
} catch (\RuntimeException $e) {
$this->app->enqueueMessage(
Text::sprintf('We where was unable to transfer the (%s) plugin zip file to the backup folder:', $plugin->name) . ' ' . $e->getMessage()
Text::sprintf('COM_COMPONENTBUILDER_WE_WHERE_WAS_UNABLE_TO_TRANSFER_THE_S_PLUGIN_ZIP_FILE_TO_THE_BACKUP_FOLDER', $plugin->name) . ' ' . $e->getMessage()
, 'Error'
);
}
@ -1463,7 +1460,7 @@ class Compiler extends Infusion
if (File::exists($file))
{
foreach (
new SplFileObject($file) as $lineNumber => $lineContent
new \SplFileObject($file) as $lineNumber => $lineContent
)
{
// if not found we need to load line bites per line
@ -1561,7 +1558,7 @@ class Compiler extends Infusion
// Load escaped code since the target endhash has changed
$this->loadEscapedCode($file, $target, $lineBites);
$this->app->enqueueMessage(
Text::_('<hr /><h3>Custom Code Warning</h3>'),
Text::_('COM_COMPONENTBUILDER_HR_HTHREECUSTOM_CODE_WARNINGHTHREE'),
'Warning'
);
$this->app->enqueueMessage(
@ -1580,7 +1577,7 @@ class Compiler extends Infusion
// Load escaped code since the target hash has changed
$this->loadEscapedCode($file, $target, $lineBites);
$this->app->enqueueMessage(
Text::_('<hr /><h3>Custom Code Warning</h3>'),
Text::_('COM_COMPONENTBUILDER_HR_HTHREECUSTOM_CODE_WARNINGHTHREE'),
'Warning'
);
$this->app->enqueueMessage(
@ -1598,7 +1595,7 @@ class Compiler extends Infusion
{
// Give developer a notice that file is not found.
$this->app->enqueueMessage(
Text::_('<hr /><h3>Custom Code Warning</h3>'),
Text::_('COM_COMPONENTBUILDER_HR_HTHREECUSTOM_CODE_WARNINGHTHREE'),
'Warning'
);
$this->app->enqueueMessage(
@ -1665,6 +1662,6 @@ class Compiler extends Infusion
protected function addDataToFile(string $file, string $data, int $position, ?int $replace = null)
{
CFactory::_('Utilities.FileInjector')->add($file, $data, $position, $replace);
}
}
}
}

View File

@ -1,36 +1,37 @@
<?php
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @created 4th September, 2022
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @gitea Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
namespace VDM\Joomla\Componentbuilder\Compiler\Helper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Componentbuilder\Compiler\Factory as CFactory;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Placefix;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Indent;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Unique;
/**
// use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper; (for Joomla 4 and above)
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Componentbuilder\Compiler\Factory as CFactory;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Placefix;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Indent;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Unique;
/**
* Get class as the main compilers class
* @deprecated 3.3
*/
class Get
{
*
* @deprecated 3.3
*/
class Get
{
/**
* The Joomla Version
*
@ -1047,7 +1048,7 @@ class Get
// set the global language @deprecated
$this->langTag = CFactory::_('Config')->get('lang_tag', 'en-GB');
// also set the helper class langTag (for safeStrings)
ComponentbuilderHelper::$langTag = CFactory::_('Config')->get('lang_tag', 'en-GB');
\ComponentbuilderHelper::$langTag = CFactory::_('Config')->get('lang_tag', 'en-GB');
// setup the main language array
$this->languages['components'][CFactory::_('Config')->get('lang_tag', 'en-GB')] = [];
// check if we have Tidy enabled @deprecated
@ -1061,7 +1062,7 @@ class Get
$this->fieldBuilderType = 1;
// load the sugestion to use string manipulation
$this->app->enqueueMessage(
Text::_('<hr /><h3>Field Notice</h3>'), 'Notice'
Text::_('COM_COMPONENTBUILDER_HR_HTHREEFIELD_NOTICEHTHREE'), 'Notice'
);
$this->app->enqueueMessage(
Text::_(
@ -1420,7 +1421,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1509,7 +1510,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1600,7 +1601,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1655,7 +1656,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1775,7 +1776,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1909,7 +1910,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1932,7 +1933,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1970,7 +1971,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -1994,7 +1995,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -2579,7 +2580,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -2620,7 +2621,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -2641,7 +2642,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -2662,7 +2663,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(
Text::sprintf(
@ -2694,7 +2695,7 @@ class Get
{
// set notice that we could not get a valid string from the target
$this->app->enqueueMessage(
Text::sprintf('<hr /><h3>%s Warning</h3>', __CLASS__), 'Error'
Text::sprintf('COM_COMPONENTBUILDER_HR_HTHREES_WARNINGHTHREE', __CLASS__), 'Error'
);
$this->app->enqueueMessage(