Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
714cb5588a
|
|||
c103c93e06
|
|||
112961dabf
|
|||
9d7ab17df6
|
|||
5a1ad16c9e
|
|||
6c2f52f59f
|
|||
209f625923
|
|||
3ca5548481
|
|||
4bed7a52da
|
22
CHANGELOG.md
22
CHANGELOG.md
@ -1,3 +1,25 @@
|
||||
# v3.2.4
|
||||
|
||||
- Add [push] option to Powers area.
|
||||
- Fix [Save As Copy] error in library. #1162
|
||||
- Fix error when no components exist. #1164
|
||||
- Fix search page error caused by File class.
|
||||
- Fix UserGroupList compiler triggers. #1100
|
||||
- Add Power field type integration: init, reset, push.
|
||||
- Fix database default fields to allow NULL. #1169
|
||||
- Fix Power List field to allow searching. #1167
|
||||
- Remove Demo component from JCB v3; add Hello World component as demo.
|
||||
- Fix missing working path in ZIP.
|
||||
- Fix demo site view to display files.
|
||||
- Fix message for Field Type init.
|
||||
- Ensure type-agnostic comparisons by casting to CHAR in joins for dynamic retrieval.
|
||||
- Fix dynamic download in site area with correct namespace.
|
||||
- Fix missing edit button on fields in related views.
|
||||
- Fix dashboard display issues.
|
||||
- Re-add search option in use field of related views.
|
||||
- Fix namespace issue that broke the linker.
|
||||
|
||||
|
||||
# v3.2.3
|
||||
|
||||
- Fix site view form missing classes in J4+
|
||||
|
16
README.md
16
README.md
@ -3,13 +3,13 @@
|
||||
|
||||
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
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.3) 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.4) 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,14 +144,14 @@ 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*: 16th August, 2024
|
||||
+ *Version*: 3.2.3
|
||||
+ *Last Build*: 20th September, 2024
|
||||
+ *Version*: 3.2.4
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **831771**
|
||||
+ *Field count*: **2094**
|
||||
+ *File count*: **5670**
|
||||
+ *Folder count*: **496**
|
||||
+ *Line count*: **851089**
|
||||
+ *Field count*: **2098**
|
||||
+ *File count*: **5786**
|
||||
+ *Folder count*: **505**
|
||||
|
||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
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.3) 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.4) 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,14 +144,14 @@ 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*: 16th August, 2024
|
||||
+ *Version*: 3.2.3
|
||||
+ *Last Build*: 20th September, 2024
|
||||
+ *Version*: 3.2.4
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **831771**
|
||||
+ *Field count*: **2094**
|
||||
+ *File count*: **5670**
|
||||
+ *Folder count*: **496**
|
||||
+ *Line count*: **851089**
|
||||
+ *Field count*: **2098**
|
||||
+ *File count*: **5786**
|
||||
+ *Folder count*: **505**
|
||||
|
||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
|
@ -288,6 +288,9 @@
|
||||
<action name="field.export" title="COM_COMPONENTBUILDER_FIELDS_EXPORT" description="COM_COMPONENTBUILDER_FIELDS_EXPORT_DESC" />
|
||||
<action name="field.import" title="COM_COMPONENTBUILDER_FIELDS_IMPORT" description="COM_COMPONENTBUILDER_FIELDS_IMPORT_DESC" />
|
||||
<action name="field.submenu" title="COM_COMPONENTBUILDER_FIELDS_SUBMENU" description="COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC" />
|
||||
<action name="fieldtype.init" title="COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC" />
|
||||
<action name="fieldtype.push" title="COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC" />
|
||||
<action name="fieldtype.reset" title="COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC" />
|
||||
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
|
||||
<action name="fieldtype.batch" title="COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE" description="COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE_DESC" />
|
||||
<action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" />
|
||||
@ -501,6 +504,7 @@
|
||||
<action name="placeholder.import" title="COM_COMPONENTBUILDER_PLACEHOLDERS_IMPORT" description="COM_COMPONENTBUILDER_PLACEHOLDERS_IMPORT_DESC" />
|
||||
<action name="placeholder.submenu" title="COM_COMPONENTBUILDER_PLACEHOLDERS_SUBMENU" description="COM_COMPONENTBUILDER_PLACEHOLDERS_SUBMENU_DESC" />
|
||||
<action name="power.init" title="COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS_DESC" />
|
||||
<action name="power.push" title="COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC" />
|
||||
<action name="power.reset" title="COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC" />
|
||||
<action name="power.access" title="COM_COMPONENTBUILDER_POWERS_ACCESS" description="COM_COMPONENTBUILDER_POWERS_ACCESS_DESC" />
|
||||
<action name="power.batch" title="COM_COMPONENTBUILDER_POWERS_BATCH_USE" description="COM_COMPONENTBUILDER_POWERS_BATCH_USE_DESC" />
|
||||
|
@ -426,7 +426,7 @@ class ###Component###Model###View### extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -52,7 +52,23 @@ class ###View###Controller extends FormController
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
protected $view_list = '###views###';###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
protected $view_list = '###views###';
|
||||
|
||||
/**
|
||||
* Referral value
|
||||
*
|
||||
* @var string
|
||||
* @since 5.0
|
||||
*/
|
||||
protected string $ref;
|
||||
|
||||
/**
|
||||
* Referral ID value
|
||||
*
|
||||
* @var int
|
||||
* @since 5.0
|
||||
*/
|
||||
protected int $refid;###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -544,7 +544,7 @@ class ComponentbuilderControllerCompiler extends AdminController
|
||||
$tmp = $comConfig->get('tmp_path');
|
||||
if ($model->emptyFolder($tmp))
|
||||
{
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB');
|
||||
$this->setRedirect($redirect_url, $message, 'message');
|
||||
// get application
|
||||
$app = Factory::getApplication();
|
||||
|
@ -20,6 +20,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
use VDM\Joomla\Componentbuilder\Fieldtype\Factory as FieldtypeFactory;
|
||||
|
||||
/**
|
||||
* Fieldtype Form Controller
|
||||
@ -48,6 +49,157 @@ class ComponentbuilderControllerFieldtype extends FormController
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets the specified Joomla Field Type.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to reset the Joomla Field Type.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified Joomla Field Type.
|
||||
* 6. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful reset, false on failure.
|
||||
*/
|
||||
public function resetPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get Item posted
|
||||
$item = $this->input->post->get('jform', array(), 'array');
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_FIELD_TYPE') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// load the ID
|
||||
$id = $item['id'] ?? null;
|
||||
$guid = $item['guid'] ?? null;
|
||||
|
||||
// check if there is any selections
|
||||
if ($id === null || $guid === null)
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('fieldtype.reset', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->reset([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_(
|
||||
'index.php?option=com_componentbuilder&view=fieldtype'
|
||||
. $this->getRedirectToItemAppend($id), $success
|
||||
);
|
||||
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the specified Joomla Field Type.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the Joomla Field Type.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified Joomla Field Type.
|
||||
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get Item posted
|
||||
$item = $this->input->post->get('jform', array(), 'array');
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_FIELD_TYPE') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// load the ID
|
||||
$id = $item['id'] ?? null;
|
||||
$guid = $item['guid'] ?? null;
|
||||
|
||||
// check if there is any selections
|
||||
if ($id === null || $guid === null)
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('fieldtype.push', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Set')->items([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_(
|
||||
'index.php?option=com_componentbuilder&view=fieldtype'
|
||||
. $this->getRedirectToItemAppend($id), $success
|
||||
);
|
||||
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
*
|
||||
|
@ -20,6 +20,8 @@ use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Componentbuilder\Fieldtype\Factory as FieldtypeFactory;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
/**
|
||||
* Fieldtypes Admin Controller
|
||||
@ -112,4 +114,219 @@ class ComponentbuilderControllerFieldtypes extends AdminController
|
||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false), $message, 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes all remote Joomla Field Types and syncs them with the local database.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla Field Types.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Joomla Field Types.
|
||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||
* 5. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful initialization, false on failure.
|
||||
*/
|
||||
public function initPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_FIELD_TYPES') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
if($user->authorise('fieldtype.init', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->init())
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_FIELD_TYPES') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_FIELD_TYPES_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES') . '</p>';
|
||||
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the selected Joomla Field Types.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla Field Types.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla Field Types.
|
||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful reset, false on failure.
|
||||
*/
|
||||
public function resetPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get IDS of the selected powers
|
||||
$pks = $this->input->post->get('cid', [], 'array');
|
||||
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
|
||||
// check if there is any selections
|
||||
if ($pks === [])
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url, $message, 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('fieldtype.reset', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('fieldtype', $pks, 'id', 'guid');
|
||||
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->reset($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url);
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the selected Joomla Field Types.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla Field Types.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla Field Types.
|
||||
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get IDS of the selected powers
|
||||
$pks = $this->input->post->get('cid', [], 'array');
|
||||
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
|
||||
// check if there is any selections
|
||||
if ($pks === [])
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url, $message, 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('fieldtype.push', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('fieldtype', $pks, 'id', 'guid');
|
||||
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Set')->items($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url);
|
||||
return $success;
|
||||
}
|
||||
}
|
@ -139,7 +139,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
||||
$tmp = $comConfig->get('tmp_path');
|
||||
if ($model->emptyFolder($tmp))
|
||||
{
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB');
|
||||
$this->setRedirect($redirect_url, $message, 'message');
|
||||
// get application
|
||||
$app = Factory::getApplication();
|
||||
|
@ -49,15 +49,16 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets the specified Joomla power.
|
||||
* Resets the specified Joomla Power.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to reset the Joomla power.
|
||||
* 3. It checks whether the current user has the necessary permissions to reset the Joomla Power.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified power.
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified Joomla Power.
|
||||
* 6. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -91,7 +92,7 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('power.reset', 'com_componentbuilder'))
|
||||
elseif($user->authorise('joomla_power.reset', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->reset([$guid]))
|
||||
@ -125,14 +126,14 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the specified Joomla power.
|
||||
* Pushes the specified Joomla Power.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the Joomla power.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the Joomla Power.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified power.
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified Joomla Power.
|
||||
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -166,7 +167,7 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('power.push', 'com_componentbuilder'))
|
||||
elseif($user->authorise('joomla_power.push', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Set')->items([$guid]))
|
||||
|
@ -50,13 +50,14 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
return parent::getModel($name, $prefix, $config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes all remote Joomla powers and syncs them with the local database.
|
||||
* Initializes all remote Joomla Powers and syncs them with the local database.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Joomla powers.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla Powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Joomla Powers.
|
||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||
* 5. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -76,7 +77,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
if($user->authorise('power.init', 'com_componentbuilder'))
|
||||
if($user->authorise('joomla_power.init', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->init())
|
||||
@ -107,15 +108,15 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the selected Joomla powers.
|
||||
* Resets the selected Joomla Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla powers.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla Powers.
|
||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -149,7 +150,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('power.reset', 'com_componentbuilder'))
|
||||
if($user->authorise('joomla_power.reset', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
||||
|
||||
@ -186,15 +187,15 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the selected Joomla powers.
|
||||
* Pushes the selected Joomla Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla powers.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla Powers.
|
||||
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -228,7 +229,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('power.push', 'com_componentbuilder'))
|
||||
if($user->authorise('joomla_power.push', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
||||
|
||||
|
@ -49,6 +49,7 @@ class ComponentbuilderControllerPower extends FormController
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets the specified power.
|
||||
*
|
||||
@ -93,18 +94,98 @@ class ComponentbuilderControllerPower extends FormController
|
||||
}
|
||||
elseif($user->authorise('power.reset', 'com_componentbuilder'))
|
||||
{
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_(
|
||||
'index.php?option=com_componentbuilder&view=power'
|
||||
. $this->getRedirectToItemAppend($id), $success
|
||||
);
|
||||
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the specified power.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the power.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified power.
|
||||
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get Item posted
|
||||
$item = $this->input->post->get('jform', array(), 'array');
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_POWER') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// load the ID
|
||||
$id = $item['id'] ?? null;
|
||||
$guid = $item['guid'] ?? null;
|
||||
|
||||
// check if there is any selections
|
||||
if ($id === null || $guid === null)
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('power.push', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Set')->items([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,13 +50,14 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
return parent::getModel($name, $prefix, $config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes all remote powers and syncs them with the local database.
|
||||
* Initializes all remote Powers and syncs them with the local database.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote powers.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Powers.
|
||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||
* 5. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -78,19 +79,24 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
|
||||
if($user->authorise('power.init', 'com_componentbuilder'))
|
||||
{
|
||||
if (PowerFactory::_('Power.Remote.Get')->init())
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES') . '</p>';
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Get')->init())
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES') . '</p>';
|
||||
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED') . '</p>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
@ -102,15 +108,15 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the selected powers.
|
||||
* Resets the selected Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected powers.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Powers.
|
||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -148,18 +154,102 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
{
|
||||
$guids = GetHelper::vars('power', $pks, 'id', 'guid');
|
||||
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false);
|
||||
$this->setRedirect($redirect_url);
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the selected Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Powers.
|
||||
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get IDS of the selected powers
|
||||
$pks = $this->input->post->get('cid', [], 'array');
|
||||
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
|
||||
// check if there is any selections
|
||||
if ($pks === [])
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false);
|
||||
$this->setRedirect($redirect_url, $message, 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('power.push', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('power', $pks, 'id', 'guid');
|
||||
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Set')->items($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
|
16
admin/custom/DownloadControllerAdmin.php
Normal file
16
admin/custom/DownloadControllerAdmin.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @version 2.0.0 - September 03, 2014
|
||||
* @package Component Builder
|
||||
* @author Llewellyn van de Merwe <http://www.vdm.io>
|
||||
* @copyright Copyright (C) 2014. All Rights Reserved
|
||||
* @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
**/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
?>
|
||||
###BOM###
|
||||
[CUSTOMCODE=dynamicDownloadController+Administrator]
|
16
admin/custom/DownloadControllerSite.php
Normal file
16
admin/custom/DownloadControllerSite.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @version 2.0.0 - September 03, 2014
|
||||
* @package Component Builder
|
||||
* @author Llewellyn van de Merwe <http://www.vdm.io>
|
||||
* @copyright Copyright (C) 2014. All Rights Reserved
|
||||
* @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
**/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
?>
|
||||
###BOM###
|
||||
[CUSTOMCODE=dynamicDownloadController+Site]
|
@ -3513,12 +3513,12 @@ abstract class ComponentbuilderHelper
|
||||
'editor', 'editors', 'email', 'file', 'file', 'filelist', 'folderlist', 'groupedlist', 'headertag', 'helpsite', 'hidden', 'imagelist',
|
||||
'integer', 'language', 'list', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition',
|
||||
'moduletag', 'note', 'number', 'password', 'plugins', 'predefinedlist', 'radio', 'range', 'repeatable', 'rules',
|
||||
'sessionhandler', 'spacer', 'sql', 'subform', 'tag', 'tel', 'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
'sessionhandler', 'spacer', 'sql', 'subform', 'tag', 'tel', 'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup', 'usergrouplist'
|
||||
),
|
||||
'plain' => array(
|
||||
'cachehandler', 'calendar', 'checkbox', 'chromestyle', 'color', 'componentlayout', 'contenttype', 'editor', 'editors', 'captcha',
|
||||
'email', 'file', 'headertag', 'helpsite', 'hidden', 'integer', 'language', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'templatestyle',
|
||||
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup', 'usergrouplist'
|
||||
),
|
||||
'option' => array(
|
||||
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', 'components',
|
||||
@ -5416,7 +5416,6 @@ abstract class ComponentbuilderHelper
|
||||
$d = DateTime::createFromFormat($format, $date);
|
||||
return $d && $d->format($format) == $date;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* The subform layouts
|
||||
|
@ -1347,7 +1347,7 @@ COM_COMPONENTBUILDER_BSB_COULD_NOT_BE_IMPORTEDS="<b>%s</b> could not be imported
|
||||
COM_COMPONENTBUILDER_BSB_HAS_BEEN_IMPORTED="<b>%s</b> has been imported!"
|
||||
COM_COMPONENTBUILDER_BSB_HAS_BEEN_UPDATED="<b>%s</b> has been updated!"
|
||||
COM_COMPONENTBUILDER_BSB_WAS_FOUND="<b>%s</b> was found!"
|
||||
COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB="<b>The tmp folder has been clear successfully!</b>"
|
||||
COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB="<b>The tmp folder has been cleared successfully!</b>"
|
||||
COM_COMPONENTBUILDER_BUILD="Build"
|
||||
COM_COMPONENTBUILDER_BUILDIN="Build-in"
|
||||
COM_COMPONENTBUILDER_BUILD_DATE="Build Date"
|
||||
@ -1360,6 +1360,7 @@ COM_COMPONENTBUILDER_BULK_UPDATE_ALL_DIVERGED_SNIPPETS="Bulk Update All Diverged
|
||||
COM_COMPONENTBUILDER_BULK_UPDATE_ALL_OUT_DATED_SNIPPETS="Bulk Update All Out Dated Snippets"
|
||||
COM_COMPONENTBUILDER_BUTTON_TO_CREATE_S_WILL_SHOW_ONCE_S_IS_SAVED_FOR_THE_FIRST_TIME="Button to create %s will show once %s is saved for the first time."
|
||||
COM_COMPONENTBUILDER_CANCEL="Cancel"
|
||||
COM_COMPONENTBUILDER_CAN_NOT_SAVE_USER_WITHOUT_EMAIL_VALUE="Can not save user without email value."
|
||||
COM_COMPONENTBUILDER_CHAIN="Chain"
|
||||
COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="Check your owner details, it has not been set. Open the JCB Global Options, go to the Company tab and add the correct company details there."
|
||||
COM_COMPONENTBUILDER_CLASS_EXTENDINGS="Class Extendings"
|
||||
@ -4227,6 +4228,7 @@ COM_COMPONENTBUILDER_DTEMAILDTDDSDD="<dt>Email</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DTLICENSEDTDDSDD="<dt>License</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DTOWNERDTDDSDD="<dt>Owner</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DTWEBSITEDTDDSDD="<dt>Website</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DURING_THE_INITIAL_COMPILATION_OF_ANY_COMPONENT_THE_PROCESS_MAY_TAKE_ADDITIONAL_TIME_AS_WE_RETRIEVE_AND_CONFIGURE_THE_ASSOCIATED_SUPERPOWERS_="During the initial compilation of any component, the process may take additional time as we retrieve and configure the associated super-powers.."
|
||||
COM_COMPONENTBUILDER_DYNAMIC_BUTTON_ERROR="Dynamic Button Error"
|
||||
COM_COMPONENTBUILDER_DYNAMIC_GET="Dynamic Get"
|
||||
COM_COMPONENTBUILDER_DYNAMIC_GETS="Dynamic Gets"
|
||||
@ -4729,6 +4731,8 @@ COM_COMPONENTBUILDER_FIELDTYPE_HAS_DEFAULTS_DESCRIPTION="set the database defaul
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_HAS_DEFAULTS_LABEL="Set Database Defaults"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_ID="Id"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INDEXES_LABEL="Indexes Type"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS="Fieldtype Init Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INT="INT"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_JSON="JSON"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_KEY="KEY"
|
||||
@ -4770,6 +4774,10 @@ COM_COMPONENTBUILDER_FIELDTYPE_PERMISSION="Permissions"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_DESCRIPTION="Options for this field"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_LABEL="Properties"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS="Fieldtype Push Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS="Fieldtype Reset Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Fieldtype to customise the alias."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_SELECT_AN_OPTION="Select an option"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_SEVEN="7"
|
||||
@ -5859,7 +5867,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README="Readme"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL="README.md"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_DESCRIPTION="Should we remove all line breaks ("\r", "\n") from all language strings in this component."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL="Remove line breaks<br /><small>from language strings</small>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL="Remove line breaks<br /><small>from language strings<br>This switch will be removed since it must always be true for J4+.</small>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_LABEL="Sales Server"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Component to customise the alias."
|
||||
@ -7480,7 +7488,7 @@ COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_DESCRIPTION="There is no be
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_LABEL="No Behaviour"
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_DESCRIPTION="There is no behaviour set for this library. This means JCB will not add any files unless you custom code it in somewhere."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_LABEL="No Behaviour"
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_DESCRIPTION="We are working on this feature it is not yet ready, but soon enough you will be able to build real Joomla library integration here."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_DESCRIPTION="To effectively integrate a PHP library into your component, leverage the [Powers] Area within JCB. This feature empowers you to seamlessly incorporate Composer packages as well as standard PHP class structures into your component, ensuring a robust and maintainable solution."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_LABEL="Set Behaviour"
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_DESCRIPTION="All the library files linked to this library will always be added to a view if linked to the view."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_LABEL="Set Behaviour"
|
||||
@ -7621,6 +7629,7 @@ COM_COMPONENTBUILDER_PATH_TO_THE_ZIPPED_PACKAGE_IS_CODESCODE_BR_S_S="Path to the
|
||||
COM_COMPONENTBUILDER_PERMISSIONS="Permissions"
|
||||
COM_COMPONENTBUILDER_PERMISSION_DENIED="Permission Denied!"
|
||||
COM_COMPONENTBUILDER_PFILE_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>File at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_FIELD_TYPEB_REPOSITORY_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>Joomla Field Type</b> repository at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_POWERB_REPOSITORY_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>Joomla Power</b> repository at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_NOT_FOUNDP="<p>Joomla Power <b>guid:%s</b> not found!</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_WAS_FOUND_BUT_MISSING_A_NAMESPACE_VALUE_FOR_JOOMLA_SP="<p>Joomla Power <b>guid:%s</b> was found, but missing a namespace value for Joomla %s!</p>"
|
||||
@ -7873,6 +7882,8 @@ COM_COMPONENTBUILDER_POWER_PROPERTY_LABEL="Properties"
|
||||
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_DESCRIPTION="Select properties you want to use in your power."
|
||||
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_LABEL="Property Selection"
|
||||
COM_COMPONENTBUILDER_POWER_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS="Power Push Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_POWER_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Power to customise the alias."
|
||||
@ -7969,6 +7980,8 @@ COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU_DESC="Allows the users in this group t
|
||||
COM_COMPONENTBUILDER_REPOSITORY="Repository"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION="Set the access options to this repository"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL="Access"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_DESCRIPTION="Set dnamic placeholders for this component."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_LABEL="Placeholders"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_DESCRIPTION="Enter Base URL"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_HINT="https://git.vdm.dev"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL="Base URL"
|
||||
@ -7987,6 +8000,7 @@ COM_COMPONENTBUILDER_REPOSITORY_GUID_DESCRIPTION="Globally Unique Identifier"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_GUID_HINT="Auto Generated"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_GUID_LABEL="GUID"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ID="Id"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_FIELD_TYPES="Joomla Field Types"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER="Joomla Power"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_DESC="The last user that modified this Repository."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_LABEL="Modified By"
|
||||
@ -8000,6 +8014,9 @@ COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL="Organisation"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_MESSAGE="Error! Please add organisation here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_OVERRIDE="Override"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PERMISSION="Permissions"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDERS="Placeholders"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_DESCRIPTION="<p>When powers are connected to components, we utilize global placeholders. These placeholders are linked to the specific component, allowing for dynamic updates to any placeholders found within the powers. However, when we directly <b>push</b> powers from the powers area to this repository, we require <b>placeholders</b> that are specific to this repository.</p><p>You can add these repository-specific placeholders here. Please note that these placeholders are only utilized during direct pushes from the powers area and are not considered during the compilation of any component. Although you can use the same placeholders to ensure consistent outcomes, they technically have no direct relationship with the components.</p>"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_LABEL="The Repository Placeholders"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_DESCRIPTION="The read branch to use in the API calls."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_HINT="[master]"
|
||||
@ -8016,7 +8033,9 @@ COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_HINT="The System Name Here"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_LABEL="System Name"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_MESSAGE="Error! Please add some text here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_DESCRIPTION="The target content this repository holds."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_HINT="coral"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL="Target Content"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_MESSAGE="Error! That target placeholder text already exist. Please add an unique placeholder target."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_DESCRIPTION="This token is used to access the api."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_HINT="Access Tokens"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_LABEL="Access Token"
|
||||
@ -8026,6 +8045,10 @@ COM_COMPONENTBUILDER_REPOSITORY_USERNAME_DESCRIPTION="The username to use in the
|
||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_HINT="Username"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_LABEL="Username"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_MESSAGE="Error! Please add username here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_DESCRIPTION="Set the text you would like to set as the replacement value for the targeted placeholder."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_HINT="membersmanager"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_LABEL="Set String Value"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_MESSAGE="Error! Please add some set target value here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VERSION_DESC="A count of the number of times this Repository has been revised."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VERSION_LABEL="Version"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_DESCRIPTION="The write branch to use in the API calls. This can be the same as the read branch."
|
||||
@ -8885,6 +8908,7 @@ COM_COMPONENTBUILDER_SUBMENU_SNIPPETS="Snippets"
|
||||
COM_COMPONENTBUILDER_SUBMENU_TEMPLATES="Templates"
|
||||
COM_COMPONENTBUILDER_SUBMENU_VALIDATION_RULES="Validation Rules"
|
||||
COM_COMPONENTBUILDER_SUCCESS="Success"
|
||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_FIELD_TYPES="Successfully Initialized all Remote Joomla Field Types"
|
||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_POWERS="Successfully Initialized all Remote Joomla Powers"
|
||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS="Successfully Initialized all Remote Powers"
|
||||
COM_COMPONENTBUILDER_SUCCESS_THE_SNIPPET_WAS_SAVED="Success! The snippet was saved."
|
||||
@ -9033,11 +9057,14 @@ COM_COMPONENTBUILDER_THERE_WAS_AN_ERROR_GETTING_THE_PACKAGE_INFO="There was an e
|
||||
COM_COMPONENTBUILDER_THERE_WAS_A_PROBLEM_BNO_VIEW_OR_ID_FOUND_IN_SESSION_OR_VIEW_NOT_ALLOWED_TO_ACCESS_AREAB_WE_COULD_NOT_LOAD_ANY_LINKED_TO_VALUES_PLEASE_INFORM_YOUR_SYSTEM_ADMINISTRATOR="There was a problem, <b>no view or id found in session or view not allowed to access area</b>, we could not load any linked to values. Please inform your system administrator!"
|
||||
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free."
|
||||
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE_A_S_GET_A_KEY_TODAYA="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free. <a %s >Get a key today!</a>."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla powers have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla Field Types have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla Field Types have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla Powers have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla Powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_NOT_AVAILABLE_TO_THE_FIELD_IF_BNONE_DBB_OPTION_IS_SELECTED="These options are not available to the field if <b>None DB</b> option is selected."
|
||||
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_ONLY_AVAILABLE_TO_THE_FIELD_IF_BSHOW_IN_LIST_VIEWB_OPTION_IS_SELECTED="These options are only available to the field if <b>Show in list view</b> option is selected."
|
||||
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Powers have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_ADMIN_CUSTOM_TABS="The admin custom tabs"
|
||||
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS="The admin fields"
|
||||
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_CONDITIONS="The admin fields conditions"
|
||||
@ -9082,15 +9109,19 @@ COM_COMPONENTBUILDER_THE_FILE_PATH_BSB_DOES_NOT_EXIST_AND_WAS_NOT_ADDED="The fil
|
||||
COM_COMPONENTBUILDER_THE_FOLDER_PATH_BSB_DOES_NOT_EXIST_AND_WAS_NOT_ADDED="The folder path: <b>%s</b> does not exist, and was not added!"
|
||||
COM_COMPONENTBUILDER_THE_FTP_CONNECTION_FOR_BSB_COULD_NOT_BE_MADE_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP connection for <b>%s</b> could not be made. Please check your signature details!"
|
||||
COM_COMPONENTBUILDER_THE_FTP_SIGNATURE_FOR_BSB_WAS_NOT_WELL_FORMED_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP signature for <b>%s</b> was not well formed, please check your signature details!"
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_POWERS_HAS_FAILED="The initialization of this Joomla powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED="The initialization of this powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla power has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla power has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_FIELD_TYPES_HAS_FAILED="The initialization of this Joomla Field Types has failed."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_POWERS_HAS_FAILED="The initialization of this Joomla Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED="The initialization of this Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla Field Type has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla Field Type has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla Power has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla Power has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_KEY_OF_THIS_PACKAGE="The key of this package."
|
||||
COM_COMPONENTBUILDER_THE_LIBRARY_CONFIG_FIELDS="The library config fields"
|
||||
COM_COMPONENTBUILDER_THE_LIBRARY_FILES_FOLDERS_URLS="The library files, folders & URLs"
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_FIELD_TYPES_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla Field Types has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla Powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOGIN_TO_BSB_HAS_FAILED_PLEASE_CHECK_THAT_YOUR_DETAILS_ARE_CORRECT="The login to <b>%s</b> has failed, please check that your details are correct!"
|
||||
COM_COMPONENTBUILDER_THE_MODULE_FILES_FOLDERS="The module files & folders"
|
||||
COM_COMPONENTBUILDER_THE_MODULE_UPDATES="The module updates"
|
||||
@ -9101,17 +9132,24 @@ COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE="The package key is: <code>%s<
|
||||
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S="The package key is: %s"
|
||||
COM_COMPONENTBUILDER_THE_PLUGIN_FILES_FOLDERS="The plugin files & folders"
|
||||
COM_COMPONENTBUILDER_THE_PLUGIN_UPDATES="The plugin updates"
|
||||
COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The power has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The power has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_PRIVATE_KEY_FIELD_COULD_NOT_BE_LOADED_FOR_BSB_SERVER="The private key field could not be loaded for <b>%s</b> server!"
|
||||
COM_COMPONENTBUILDER_THE_PRIVATE_KEY_FILE_COULD_NOT_BE_LOADEDFOUND_FOR_BSB_SERVER="The private key file could not be loaded/found for <b>%s</b> server!"
|
||||
COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING="The pro board is loading"
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The push of these Joomla powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_POWER_HAS_FAILED="The push of this Joomla power has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED="The push of these Joomla Field Types has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The push of these Joomla Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_POWERS_HAS_FAILED="The push of these Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED="The push of this Joomla Field Type has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_POWER_HAS_FAILED="The push of this Joomla Power has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_POWER_HAS_FAILED="The push of this power has failed."
|
||||
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
|
||||
COM_COMPONENTBUILDER_THE_REPLACE_PROCESS_HAD_AN_ERROR_WITH_TABLE="The replace process had an error with table"
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The reset of these Joomla powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED="The reset of these powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_POWER_HAS_FAILED="The reset of this Joomla power has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED="The reset of these Joomla Field Types has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The reset of these Joomla Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED="The reset of these Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED="The reset of this Joomla Field Type has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_POWER_HAS_FAILED="The reset of this Joomla Power has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED="The reset of this power has failed."
|
||||
COM_COMPONENTBUILDER_THE_SEARCH_FOR_THE_SNIPPETS_ARE_CASE_SENSITIVE_SO_IF_YOU_CHANGED_THE_LOCAL_BNAMESB_OF_EITHER_OR_THE_BSNIPPET_LIBRARY_OR_SNIPPET_TYPESB_IN_ANY_SMALL_WAY_THE_SYSTEM_WILL_NOT_BE_ABLE_TO_CONNECT_YOUR_LOCAL_SNIPPETS_WITH_THOSE_IN_THE_COMMUNITY_REPOSITORY_SO_WE_STRONGLY_ADVICE_TO_BKEEP_TO_THE_COMMUNITY_NAMINGB_TO_AVOID_MISMATCHING_THAT_WILL_IN_TURN_CAUSE_DUPLICATION_SO_IF_YOU_CHANGED_ANY_NAMES_JUST_CHANGE_THEM_BACK_AND_ALL_WILL_AGAIN_WORK_AS_EXPECTED="The search for the snippets are case sensitive so if you changed the local <b>names</b> of either or the <b>snippet, library or snippet types</b> in any small way, the system will not be able to connect your local snippets with those in the community repository. So we strongly advice to <b>keep to the community naming</b> to avoid mismatching, that will in turn cause duplication. So if you changed any names, just change them back and all will again work as expected."
|
||||
COM_COMPONENTBUILDER_THE_SEARCH_PROCESS_HAD_AN_ERROR_WITH_TABLE="The search process had an error with table"
|
||||
@ -9211,9 +9249,12 @@ COM_COMPONENTBUILDER_UPDATE_ALL="Update All"
|
||||
COM_COMPONENTBUILDER_UPDATE_ALL_DIVERGED_SNIPPETS="Update All Diverged Snippets"
|
||||
COM_COMPONENTBUILDER_UPDATE_ALL_ITEMS_FOUND_WITH_THIS_DATABASE_SEARCH_WITH_THE_REPLACE_VALUE="Update all items found with this database search, with the replace value."
|
||||
COM_COMPONENTBUILDER_UPDATE_ALL_OUT_DATED_SNIPPETS="Update All Out Dated Snippets"
|
||||
COM_COMPONENTBUILDER_UPDATE_OF_USER_S_S_FAILEDS="Update of user %s (%s) failed!%s"
|
||||
COM_COMPONENTBUILDER_UP_TO_DATE="Up to date"
|
||||
COM_COMPONENTBUILDER_USAGE="Usage"
|
||||
COM_COMPONENTBUILDER_USED_IN="Used in"
|
||||
COM_COMPONENTBUILDER_USER_CREATION_FAILED="User creation failed!"
|
||||
COM_COMPONENTBUILDER_USER_S_S_CREATION_FAILEDS="User %s (%s) creation failed!%s"
|
||||
COM_COMPONENTBUILDER_USE_BATCH="Use Batch"
|
||||
COM_COMPONENTBUILDER_USE_BATCH_DESC="Allows users in this group to use batch copy/update method."
|
||||
COM_COMPONENTBUILDER_USE_KEY="Use Key"
|
||||
@ -9359,14 +9400,18 @@ COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_ACCESS_THE_SERVER_DETAILS_BS_
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_DOWNLOAD_THE_COMPILER_ANIMATIONS="You do not have permission to download the compiler animations!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_POWERS="You do not have permission to initialize Joomla powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_POWERS="You do not have permission to initialize powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_FIELD_TYPES="You do not have permission to initialize Joomla Field Types"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_POWERS="You do not have permission to initialize Joomla Powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_POWERS="You do not have permission to initialize Powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THESE_EXTENSIONS="You do not have permission to install these extensions!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_COMPONENT="You do not have permission to install the component!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_MODULE="You do not have permission to install the module!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_PLUGIN="You do not have permission to install the plugin!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_POWER="You do not have permission to push this Joomla power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_POWER="You do not have permission to reset this Joomla power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_FIELD_TYPE="You do not have permission to push this Joomla Field Type"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_POWER="You do not have permission to push this Joomla Power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_POWER="You do not have permission to push this power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_FIELD_TYPE="You do not have permission to reset this Joomla Field Type"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_POWER="You do not have permission to reset this Joomla Power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_POWER="You do not have permission to reset this power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_GET_BOILERPLATE_MODULE="You do not have permission to run the get boilerplate module!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_TRANSLATOR_MODULE="You do not have permission to run the translator module!"
|
||||
@ -9378,7 +9423,8 @@ COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_PLACEHOLDER="You must add an unique
|
||||
COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME="You must add an unique validation rule name."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_ENABLE_THE_BTIDYB_EXTENSION_IN_YOUR_PHPINI_FILE_SO_WE_CAN_TIDY_UP_YOUR_XML_IF_YOU_NEED_HELP_PLEASE_A_SSTART_HEREA="You must enable the <b>Tidy</b> extension in your php.ini file so we can tidy up your xml! If you need help please <a %s>start here</a>!"
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE="You must first link an admin or a custom admin view to this component, then you can select it here"
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla power, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla Field Type, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla Power, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the power, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_SELECT_A_COMPONENT="You must select a component!"
|
||||
COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS="You should add the correct owner details."
|
||||
|
@ -588,6 +588,12 @@ COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
|
||||
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
|
||||
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
|
||||
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS="Fieldtype Init Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS="Fieldtype Push Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS="Fieldtype Reset Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS="Get Snippets Access"
|
||||
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC="Allows the users in this group to access get snippets."
|
||||
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets Custom Admin Views Button Access"
|
||||
@ -1049,6 +1055,8 @@ COM_COMPONENTBUILDER_POWERS_SUBMENU="Powers Submenu"
|
||||
COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC="Allows the users in this group to submenu of power"
|
||||
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS="Power Init Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS="Power Push Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS="Repositories Access"
|
||||
|
45
admin/layouts/repository/placeholders_fullwidth.php
Normal file
45
admin/layouts/repository/placeholders_fullwidth.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @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');
|
||||
|
||||
// get the form
|
||||
$form = $displayData->getForm();
|
||||
|
||||
// get the layout fields override method name (from layout path/ID)
|
||||
$layout_path_array = explode('.', $this->getLayoutId());
|
||||
// Since we cannot pass the layout and tab names as parameters to the model method
|
||||
// this name combination of tab and layout in the method name is the only work around
|
||||
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
|
||||
// example of layout name: details_left.php
|
||||
// example of method name: getFields_details_left()
|
||||
$fields_tab_layout = 'fields_' . $layout_path_array[1];
|
||||
|
||||
// get the fields
|
||||
$fields = $displayData->get($fields_tab_layout) ?: array(
|
||||
'placeholder_note',
|
||||
'addplaceholders'
|
||||
);
|
||||
|
||||
$hiddenFields = $displayData->get('hidden_fields') ?: [];
|
||||
|
||||
?>
|
||||
<?php if ($fields && count((array) $fields)) :?>
|
||||
<div class="form-vertical">
|
||||
<?php foreach($fields as $field): ?>
|
||||
<?php if (in_array($field, $hiddenFields)) : ?>
|
||||
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
@ -18,12 +18,28 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Layout\LayoutHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
|
||||
$table_id = (isset($displayData['id'])) ? $displayData['id'] : StringHelper::random(7);
|
||||
$name = (isset($displayData['name'])) ? $displayData['name'] : false;
|
||||
$table_class = (isset($displayData['table_class'])) ? $displayData['table_class'] : 'uk-table';
|
||||
$table_container_class = (isset($displayData['table_container_class'])) ? $displayData['table_container_class'] : 'uk-overflow-auto';
|
||||
$headers = (isset($displayData['headers'])) ? $displayData['headers'] : [Text::_('COM_COMPONENTBUILDER_NO'), Text::_('COM_COMPONENTBUILDER_HEADERS'), Text::_('COM_COMPONENTBUILDER_FOUND')];
|
||||
$items = (isset($displayData['items'])) ? $displayData['items'] : 6;
|
||||
// Extract all keys from $displayData as individual variables.
|
||||
extract($displayData);
|
||||
|
||||
// Assign default values for variables that might not be present in $displayData.
|
||||
|
||||
// The 'table_id' parameter, defaulting to a randomly generated value if not set or is null.
|
||||
$table_id = $id ?? StringHelper::random(7);
|
||||
|
||||
// The 'name' parameter, defaulting to false if not set or is null.
|
||||
$name ??= false;
|
||||
|
||||
// The 'table_class' parameter, defaulting to 'uk-table' if not set or is null.
|
||||
$table_class ??= 'uk-table';
|
||||
|
||||
// The 'table_container_class' parameter, defaulting to 'uk-overflow-auto' if not set or is null.
|
||||
$table_container_class ??= 'uk-overflow-auto';
|
||||
|
||||
// The 'headers' parameter, defaulting to an array of default header values if not set or is null.
|
||||
$headers ??= [Text::_('COM_COMPONENTBUILDER_NO'), Text::_('COM_COMPONENTBUILDER_HEADERS'), Text::_('COM_COMPONENTBUILDER_FOUND')];
|
||||
|
||||
// The 'items' parameter, defaulting to 6 if not set or is null.
|
||||
$items ??= 6;
|
||||
|
||||
?>
|
||||
<div class="<?php echo $$table_container_class; ?>">
|
||||
|
@ -868,7 +868,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -899,7 +899,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -889,7 +889,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -959,7 +959,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1883,7 +1883,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1948,15 +1948,15 @@ class ComponentbuilderModelAjax extends ListModel
|
||||
{
|
||||
// check if we have GUID setup
|
||||
$validGUID = function ($guid) {
|
||||
if (method_exists('ComponentbuilderHelper', 'validGUID') && ComponentbuilderHelper::validGUID($guid))
|
||||
if (method_exists(ComponentbuilderHelper::class, 'validGUID') && ComponentbuilderHelper::validGUID($guid))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
// check if functions exists
|
||||
$guidEdit = method_exists('ComponentbuilderHelper', 'getEditButtonGUID');
|
||||
$getEdit = method_exists('ComponentbuilderHelper', 'getEditButton');
|
||||
$guidEdit = method_exists(ComponentbuilderHelper::class, 'getEditButtonGUID');
|
||||
$getEdit = method_exists(ComponentbuilderHelper::class, 'getEditButton');
|
||||
// reset bucket
|
||||
$bucket = array();
|
||||
if (UtilitiesArrayHelper::check($value))
|
||||
|
@ -983,7 +983,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1056,7 +1056,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1041,7 +1041,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -308,10 +308,10 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
/**
|
||||
* Get all components in the system
|
||||
*
|
||||
* @return array
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function getComponents(): array
|
||||
public function getComponents(): ?array
|
||||
{
|
||||
// Get a db connection.
|
||||
$db = $this->getDbo();
|
||||
@ -334,9 +334,8 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
$db->setQuery($query);
|
||||
|
||||
// return the result
|
||||
return $db->loadObjectList();
|
||||
return $db->loadObjectList() ?? null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get all dynamic content
|
||||
|
@ -916,7 +916,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -912,7 +912,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -915,7 +915,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -916,7 +916,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1022,7 +1022,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -992,7 +992,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -882,7 +882,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -912,7 +912,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -881,7 +881,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -882,7 +882,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1021,7 +1021,7 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -916,7 +916,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -915,7 +915,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1314,7 +1314,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1055,7 +1055,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1365,7 +1365,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1266,7 +1266,7 @@ class ComponentbuilderModelField extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -40,9 +40,9 @@ class JFormFieldNamespaces extends JFormFieldList
|
||||
protected function getOptions()
|
||||
{
|
||||
// Get the user object.
|
||||
$user = JFactory::getUser();
|
||||
$user = Factory::getUser();
|
||||
// Get the databse object.
|
||||
$db = JFactory::getDBO();
|
||||
$db = Factory::getDBO();
|
||||
$query = $db->getQuery(true);
|
||||
$query->select($db->quoteName(array('a.guid','a.name','a.namespace','a.type','a.power_version'),array('guid','use_name','namespace','type','version')));
|
||||
$query->from($db->quoteName('#__componentbuilder_power', 'a'));
|
||||
@ -60,7 +60,7 @@ class JFormFieldNamespaces extends JFormFieldList
|
||||
}
|
||||
}
|
||||
// get the input
|
||||
$jinput = JFactory::getApplication()->input;
|
||||
$jinput = Factory::getApplication()->input;
|
||||
// get the id
|
||||
$power_id = $jinput->getInt('id', 0);
|
||||
// if we have an id we remove all classes of the same namespace and name
|
||||
@ -74,17 +74,17 @@ class JFormFieldNamespaces extends JFormFieldList
|
||||
// if none was found, we add this to set an alternative to set custom
|
||||
if (!$items)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_NONE_FOUND'));
|
||||
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_NONE_FOUND'));
|
||||
}
|
||||
if ($items)
|
||||
{
|
||||
if ($this->multiple === false)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||
}
|
||||
foreach($items as $item)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $item->guid, str_replace('.','\\', $item->namespace) . ' [' . $item->use_name . '] (v' . $item->version . ' - ' . $item->type . ')');
|
||||
$options[] = Html::_('select.option', $item->guid, str_replace('.','\\', $item->namespace) . ' [' . $item->use_name . '] (v' . $item->version . ' - ' . $item->type . ')');
|
||||
}
|
||||
}
|
||||
return $options;
|
||||
|
@ -1333,7 +1333,7 @@ class ComponentbuilderModelFieldtype extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -141,6 +141,7 @@
|
||||
label="COM_COMPONENTBUILDER_CUSTOM_CODE_TYPE_LABEL"
|
||||
description="COM_COMPONENTBUILDER_CUSTOM_CODE_TYPE_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
|
@ -73,10 +73,10 @@
|
||||
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
|
||||
<option value="a.location ASC">COM_COMPONENTBUILDER_FILTER_LOCATION_ASCENDING</option>
|
||||
<option value="a.location DESC">COM_COMPONENTBUILDER_FILTER_LOCATION_DESCENDING</option>
|
||||
<option value="h. ASC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEWS_ASCENDING</option>
|
||||
<option value="h. DESC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEWS_DESCENDING</option>
|
||||
<option value="i. ASC">COM_COMPONENTBUILDER_FILTER_SITE_VIEWS_ASCENDING</option>
|
||||
<option value="i. DESC">COM_COMPONENTBUILDER_FILTER_SITE_VIEWS_DESCENDING</option>
|
||||
<option value="g. ASC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEWS_ASCENDING</option>
|
||||
<option value="g. DESC">COM_COMPONENTBUILDER_FILTER_ADMIN_VIEWS_DESCENDING</option>
|
||||
<option value="h. ASC">COM_COMPONENTBUILDER_FILTER_SITE_VIEWS_ASCENDING</option>
|
||||
<option value="h. DESC">COM_COMPONENTBUILDER_FILTER_SITE_VIEWS_DESCENDING</option>
|
||||
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
|
||||
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
|
||||
</field>
|
||||
|
@ -115,7 +115,7 @@
|
||||
<option value="3">
|
||||
COM_COMPONENTBUILDER_HELP_DOCUMENT_URL</option>
|
||||
</field>
|
||||
<!-- Groups Field. Type: Usergrouplist. (custom) -->
|
||||
<!-- Groups Field. Type: Usergrouplist. (joomla) -->
|
||||
<field
|
||||
type="usergrouplist"
|
||||
name="groups"
|
||||
|
@ -284,7 +284,7 @@
|
||||
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL"
|
||||
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
default="1"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
|
@ -235,10 +235,10 @@
|
||||
label="COM_COMPONENTBUILDER_POWER_NAMESPACE_LABEL"
|
||||
layout="joomla.form.field.subform.repeatable-table"
|
||||
multiple="true"
|
||||
buttons="add,remove,move"
|
||||
buttons="add,remove"
|
||||
icon="list"
|
||||
max="30"
|
||||
min="1"
|
||||
min="0"
|
||||
nested_depth="1">
|
||||
<form hidden="true" name="list_namespace_modal" repeat="true">
|
||||
<!-- Use Field. Type: Text. (joomla) -->
|
||||
@ -493,7 +493,8 @@
|
||||
type="namespaces"
|
||||
name="use"
|
||||
label="COM_COMPONENTBUILDER_POWER_USE_LABEL"
|
||||
class="list_class span12"
|
||||
class="span12"
|
||||
layout="joomla.form.field.list-fancy-select"
|
||||
multiple="false"
|
||||
default="0"
|
||||
button="false"
|
||||
|
@ -155,6 +155,8 @@
|
||||
COM_COMPONENTBUILDER_REPOSITORY_SUPER_POWER</option>
|
||||
<option value="2">
|
||||
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER</option>
|
||||
<option value="3">
|
||||
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_FIELD_TYPES</option>
|
||||
</field>
|
||||
<!-- Type Field. Type: List. (joomla) -->
|
||||
<field
|
||||
@ -207,6 +209,51 @@
|
||||
validate="guid"
|
||||
hint="COM_COMPONENTBUILDER_REPOSITORY_GUID_HINT"
|
||||
/>
|
||||
<!-- Addplaceholders Field. Type: Subform. (joomla) -->
|
||||
<field
|
||||
type="subform"
|
||||
name="addplaceholders"
|
||||
label="COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_LABEL"
|
||||
layout="joomla.form.field.subform.repeatable-table"
|
||||
multiple="true"
|
||||
description="COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_DESCRIPTION"
|
||||
default=""
|
||||
icon="list">
|
||||
<form hidden="true" name="list_addplaceholders_modal" repeat="true">
|
||||
<!-- Target Field. Type: Text. (joomla) -->
|
||||
<field
|
||||
type="text"
|
||||
name="target"
|
||||
label="COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL"
|
||||
size="50"
|
||||
maxlength="150"
|
||||
description="COM_COMPONENTBUILDER_REPOSITORY_TARGET_DESCRIPTION"
|
||||
class="text_area"
|
||||
required="true"
|
||||
filter="STRING"
|
||||
message="COM_COMPONENTBUILDER_REPOSITORY_TARGET_MESSAGE"
|
||||
hint="COM_COMPONENTBUILDER_REPOSITORY_TARGET_HINT"
|
||||
autocomplete="off"
|
||||
/>
|
||||
<!-- Value Field. Type: Textarea. (joomla) -->
|
||||
<field
|
||||
type="textarea"
|
||||
name="value"
|
||||
label="COM_COMPONENTBUILDER_REPOSITORY_VALUE_LABEL"
|
||||
rows="1"
|
||||
cols="5"
|
||||
default="default text"
|
||||
description="COM_COMPONENTBUILDER_REPOSITORY_VALUE_DESCRIPTION"
|
||||
message="COM_COMPONENTBUILDER_REPOSITORY_VALUE_MESSAGE"
|
||||
class="text_area span12"
|
||||
filter="RAW"
|
||||
hint="COM_COMPONENTBUILDER_REPOSITORY_VALUE_HINT"
|
||||
required="true"
|
||||
/>
|
||||
</form>
|
||||
</field>
|
||||
<!-- Placeholder_note Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="placeholder_note" label="COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_LABEL" description="COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_DESCRIPTION" heading="h4" class="alert alert-info placeholder_note" />
|
||||
<!-- Access_repo Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
@ -214,9 +261,9 @@
|
||||
label="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL"
|
||||
description="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="">
|
||||
default="0">
|
||||
<!-- Option Set. -->
|
||||
<option value="">
|
||||
<option value="0">
|
||||
COM_COMPONENTBUILDER_REPOSITORY_GLOBAL</option>
|
||||
<option value="1">
|
||||
COM_COMPONENTBUILDER_REPOSITORY_OVERRIDE</option>
|
||||
|
@ -954,7 +954,7 @@ class ComponentbuilderModelHelp_document extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -21,7 +21,6 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\JsonHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
|
||||
/**
|
||||
@ -166,8 +165,17 @@ class ComponentbuilderModelHelp_documents extends ListModel
|
||||
continue;
|
||||
}
|
||||
|
||||
// convert groups
|
||||
$item->groups = JsonHelper::string($item->groups, ', ', 'groups');
|
||||
// decode groups
|
||||
$groupsArray = json_decode($item->groups, true);
|
||||
if (UtilitiesArrayHelper::check($groupsArray))
|
||||
{
|
||||
$groupsNames = [];
|
||||
foreach ($groupsArray as $groups)
|
||||
{
|
||||
$groupsNames[] = ComponentbuilderHelper::getGroupName($groups);
|
||||
}
|
||||
$item->groups = implode(', ', $groupsNames);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -266,7 +274,7 @@ class ComponentbuilderModelHelp_documents extends ListModel
|
||||
else
|
||||
{
|
||||
$search = $db->quote('%' . $db->escape($search) . '%');
|
||||
$query->where('(a.title LIKE '.$search.' OR a.type LIKE '.$search.' OR a.location LIKE '.$search.' OR a.admin_view LIKE '.$search.' OR h. LIKE '.$search.' OR a.site_view LIKE '.$search.' OR i. LIKE '.$search.')');
|
||||
$query->where('(a.title LIKE '.$search.' OR a.type LIKE '.$search.' OR a.location LIKE '.$search.' OR a.admin_view LIKE '.$search.' OR g. LIKE '.$search.' OR a.site_view LIKE '.$search.' OR h. LIKE '.$search.')');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1627,7 +1627,7 @@ class ComponentbuilderModelJoomla_component extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1352,7 +1352,7 @@ class ComponentbuilderModelJoomla_module extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -963,7 +963,7 @@ class ComponentbuilderModelJoomla_module_files_folders_urls extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -868,7 +868,7 @@ class ComponentbuilderModelJoomla_module_updates extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1303,7 +1303,7 @@ class ComponentbuilderModelJoomla_plugin extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -963,7 +963,7 @@ class ComponentbuilderModelJoomla_plugin_files_folders_urls extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -845,7 +845,7 @@ class ComponentbuilderModelJoomla_plugin_group extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -868,7 +868,7 @@ class ComponentbuilderModelJoomla_plugin_updates extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -890,7 +890,7 @@ class ComponentbuilderModelJoomla_power extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -842,7 +842,7 @@ class ComponentbuilderModelLanguage extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -978,7 +978,7 @@ class ComponentbuilderModelLanguage_translation extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1068,7 +1068,7 @@ class ComponentbuilderModelLayout extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1125,7 +1125,7 @@ class ComponentbuilderModelLibrary extends AdminModel
|
||||
// also check to insure these names are not used again
|
||||
if (!isset(ComponentbuilderHelper::$libraryNames[$data['id']]) && in_array($data['name'], ComponentbuilderHelper::$libraryNames))
|
||||
{
|
||||
$data['name'] = $this->generateUniqe('name', $data['name']);
|
||||
$data['name'] = $this->generateUnique('name', $data['name']);
|
||||
}
|
||||
|
||||
// Set the Params Items to data
|
||||
@ -1167,7 +1167,7 @@ class ComponentbuilderModelLibrary extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -865,7 +865,7 @@ class ComponentbuilderModelLibrary_config extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -963,7 +963,7 @@ class ComponentbuilderModelLibrary_files_folders_urls extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -952,7 +952,7 @@ class ComponentbuilderModelPlaceholder extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1264,7 +1264,7 @@ class ComponentbuilderModelPower extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -199,7 +199,8 @@ class ComponentbuilderModelRepositories extends ListModel
|
||||
$targetArray = array(
|
||||
0 => 'COM_COMPONENTBUILDER_REPOSITORY_SELECT_AN_OPTION',
|
||||
1 => 'COM_COMPONENTBUILDER_REPOSITORY_SUPER_POWER',
|
||||
2 => 'COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER'
|
||||
2 => 'COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER',
|
||||
3 => 'COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_FIELD_TYPES'
|
||||
);
|
||||
// Now check if value is found in this array
|
||||
if (isset($targetArray[$value]) && StringHelper::check($targetArray[$value]))
|
||||
|
@ -58,6 +58,12 @@ class ComponentbuilderModelRepository extends AdminModel
|
||||
'target',
|
||||
'access_repo'
|
||||
)
|
||||
),
|
||||
'placeholders' => array(
|
||||
'fullwidth' => array(
|
||||
'placeholder_note',
|
||||
'addplaceholders'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
@ -122,6 +128,14 @@ class ComponentbuilderModelRepository extends AdminModel
|
||||
$registry->loadString($item->metadata);
|
||||
$item->metadata = $registry->toArray();
|
||||
}
|
||||
|
||||
if (!empty($item->addplaceholders))
|
||||
{
|
||||
// Convert the addplaceholders field to an array.
|
||||
$addplaceholders = new Registry;
|
||||
$addplaceholders->loadString($item->addplaceholders);
|
||||
$item->addplaceholders = $addplaceholders->toArray();
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -840,6 +854,19 @@ class ComponentbuilderModelRepository extends AdminModel
|
||||
$data['guid'] = (string) GuidHelper::get();
|
||||
}
|
||||
|
||||
// Set the addplaceholders items to data.
|
||||
if (isset($data['addplaceholders']) && is_array($data['addplaceholders']))
|
||||
{
|
||||
$addplaceholders = new Registry;
|
||||
$addplaceholders->loadArray($data['addplaceholders']);
|
||||
$data['addplaceholders'] = (string) $addplaceholders;
|
||||
}
|
||||
elseif (!isset($data['addplaceholders']))
|
||||
{
|
||||
// Set the empty addplaceholders to data
|
||||
$data['addplaceholders'] = '';
|
||||
}
|
||||
|
||||
// Set the Params Items to data
|
||||
if (isset($data['params']) && is_array($data['params']))
|
||||
{
|
||||
@ -879,7 +906,7 @@ class ComponentbuilderModelRepository extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -220,10 +220,10 @@ class ComponentbuilderModelSearch extends ItemModel
|
||||
/**
|
||||
* Get all components in the system
|
||||
*
|
||||
* @return array
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function getComponents(): array
|
||||
public function getComponents(): ?array
|
||||
{
|
||||
// Get a db connection.
|
||||
$db = $this->getDbo();
|
||||
@ -246,7 +246,6 @@ class ComponentbuilderModelSearch extends ItemModel
|
||||
$db->setQuery($query);
|
||||
|
||||
// return the result
|
||||
return $db->loadObjectList();
|
||||
}
|
||||
|
||||
return $db->loadObjectList() ?? null;
|
||||
}
|
||||
}
|
||||
|
@ -1016,7 +1016,7 @@ class ComponentbuilderModelServer extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1335,7 +1335,7 @@ class ComponentbuilderModelSite_view extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -916,7 +916,7 @@ class ComponentbuilderModelSnippet extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -842,7 +842,7 @@ class ComponentbuilderModelSnippet_type extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -1068,7 +1068,7 @@ class ComponentbuilderModelTemplate extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -950,7 +950,7 @@ class ComponentbuilderModelValidation_rule extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
File diff suppressed because one or more lines are too long
1
admin/sql/updates/mysql/3.2.3.sql
Normal file
1
admin/sql/updates/mysql/3.2.3.sql
Normal file
@ -0,0 +1 @@
|
||||
|
@ -188,6 +188,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
<h3><?php echo Text::sprintf('COM_COMPONENTBUILDER_S_PLEASE_WAIT', $this->user->name); ?></h3>
|
||||
<p style="font-size: smaller;"><?php echo Text::_('COM_COMPONENTBUILDER_THIS_MAY_TAKE_A_WHILE_DEPENDING_ON_THE_SIZE_OF_YOUR_PROJECT'); ?></p>
|
||||
<p><b><span class="component-name"><?php echo Text::_('COM_COMPONENTBUILDER_THE_COMPONENT'); ?></span></b> <?php echo Text::_('COM_COMPONENTBUILDER_IS_BEING_COMPILED'); ?> <span class="loading-dots">.</span></p>
|
||||
<p style="font-size: smaller;"><?php echo Text::_('COM_COMPONENTBUILDER_DURING_THE_INITIAL_COMPILATION_OF_ANY_COMPONENT_THE_PROCESS_MAY_TAKE_ADDITIONAL_TIME_AS_WE_RETRIEVE_AND_CONFIGURE_THE_ASSOCIATED_SUPERPOWERS_'); ?></p>
|
||||
<div style="text-align: center;"><?php echo ComponentbuilderHelper::getDynamicContent('builder-gif', $this->builder_gif_size); ?></div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
@ -638,13 +638,13 @@ class ComponentbuilderViewCompiler extends HtmlView
|
||||
foreach (ComponentbuilderHelper::$uk_components[$class] as $name)
|
||||
{
|
||||
// check if the CSS file exists.
|
||||
if (File::exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css'))
|
||||
if (@file_exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css'))
|
||||
{
|
||||
// load the css.
|
||||
Html::_('stylesheet', 'media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css', ['version' => 'auto']);
|
||||
}
|
||||
// check if the JavaScript file exists.
|
||||
if (File::exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js'))
|
||||
if (@file_exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js'))
|
||||
{
|
||||
// load the js.
|
||||
Html::_('script', 'media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js', ['version' => 'auto'], ['type' => 'text/javascript', 'async' => 'async']);
|
||||
|
@ -161,6 +161,16 @@ class ComponentbuilderViewFieldtype extends HtmlView
|
||||
{
|
||||
ToolbarHelper::custom('fieldtype.save2copy', 'save-copy.png', 'save-copy_f2.png', 'JTOOLBAR_SAVE_AS_COPY', false);
|
||||
}
|
||||
if ($this->canDo->get('fieldtype.reset'))
|
||||
{
|
||||
// add Reset button.
|
||||
ToolbarHelper::custom('fieldtype.resetPowers', 'joomla custom-button-resetpowers', '', 'COM_COMPONENTBUILDER_RESET', false);
|
||||
}
|
||||
if ($this->canDo->get('fieldtype.push'))
|
||||
{
|
||||
// add Push button.
|
||||
ToolbarHelper::custom('fieldtype.pushPowers', 'share custom-button-pushpowers', '', 'COM_COMPONENTBUILDER_PUSH', false);
|
||||
}
|
||||
ToolbarHelper::cancel('fieldtype.cancel', 'JTOOLBAR_CLOSE');
|
||||
}
|
||||
}
|
||||
|
@ -154,6 +154,21 @@ class ComponentbuilderViewFieldtypes extends HtmlView
|
||||
ToolbarHelper::custom('fieldtypes.exportData', 'download', '', 'COM_COMPONENTBUILDER_EXPORT_DATA', true);
|
||||
}
|
||||
}
|
||||
if ($this->user->authorise('fieldtype.init', 'com_componentbuilder'))
|
||||
{
|
||||
// add Init button.
|
||||
ToolbarHelper::custom('fieldtypes.initPowers', 'health custom-button-initpowers', '', 'COM_COMPONENTBUILDER_INIT', false);
|
||||
}
|
||||
if ($this->user->authorise('fieldtype.reset', 'com_componentbuilder'))
|
||||
{
|
||||
// add Reset button.
|
||||
ToolbarHelper::custom('fieldtypes.resetPowers', 'joomla custom-button-resetpowers', '', 'COM_COMPONENTBUILDER_RESET', false);
|
||||
}
|
||||
if ($this->user->authorise('fieldtype.push', 'com_componentbuilder'))
|
||||
{
|
||||
// add Push button.
|
||||
ToolbarHelper::custom('fieldtypes.pushPowers', 'share custom-button-pushpowers', '', 'COM_COMPONENTBUILDER_PUSH', false);
|
||||
}
|
||||
|
||||
if ($this->canDo->get('core.import') && $this->canDo->get('fieldtype.import'))
|
||||
{
|
||||
|
@ -117,13 +117,13 @@ class ComponentbuilderViewGet_snippets extends HtmlView
|
||||
foreach (ComponentbuilderHelper::$uk_components[$class] as $name)
|
||||
{
|
||||
// check if the CSS file exists.
|
||||
if (File::exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css'))
|
||||
if (@file_exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css'))
|
||||
{
|
||||
// load the css.
|
||||
Html::_('stylesheet', 'media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css', ['version' => 'auto']);
|
||||
}
|
||||
// check if the JavaScript file exists.
|
||||
if (File::exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js'))
|
||||
if (@file_exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js'))
|
||||
{
|
||||
// load the js.
|
||||
Html::_('script', 'media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js', ['version' => 'auto'], ['type' => 'text/javascript', 'async' => 'async']);
|
||||
|
@ -45,10 +45,10 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_HELP_DOCUMENT_LOCATION_LABEL', 'a.location', $this->listDirn, $this->listOrder); ?>
|
||||
</th>
|
||||
<th class="nowrap hidden-phone" >
|
||||
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL', 'h.', $this->listDirn, $this->listOrder); ?>
|
||||
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL', 'g.', $this->listDirn, $this->listOrder); ?>
|
||||
</th>
|
||||
<th class="nowrap hidden-phone" >
|
||||
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL', 'i.', $this->listDirn, $this->listOrder); ?>
|
||||
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL', 'h.', $this->listDirn, $this->listOrder); ?>
|
||||
</th>
|
||||
<?php if ($this->canState): ?>
|
||||
<th width="10" class="nowrap center" >
|
||||
|
@ -310,8 +310,8 @@ class ComponentbuilderViewHelp_documents extends HtmlView
|
||||
'a.title' => Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_TITLE_LABEL'),
|
||||
'a.type' => Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_LABEL'),
|
||||
'a.location' => Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_LOCATION_LABEL'),
|
||||
'h.' => Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL'),
|
||||
'i.' => Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL'),
|
||||
'g.' => Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL'),
|
||||
'h.' => Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL'),
|
||||
'a.id' => Text::_('JGRID_HEADING_ID')
|
||||
);
|
||||
}
|
||||
|
@ -163,6 +163,11 @@ class ComponentbuilderViewPower extends HtmlView
|
||||
// add Reset button.
|
||||
ToolbarHelper::custom('power.resetPowers', 'joomla custom-button-resetpowers', '', 'COM_COMPONENTBUILDER_RESET', false);
|
||||
}
|
||||
if ($this->canDo->get('power.push'))
|
||||
{
|
||||
// add Push button.
|
||||
ToolbarHelper::custom('power.pushPowers', 'share custom-button-pushpowers', '', 'COM_COMPONENTBUILDER_PUSH', false);
|
||||
}
|
||||
ToolbarHelper::cancel('power.cancel', 'JTOOLBAR_CLOSE');
|
||||
}
|
||||
}
|
||||
|
@ -159,6 +159,11 @@ class ComponentbuilderViewPowers extends HtmlView
|
||||
// add Reset button.
|
||||
ToolbarHelper::custom('powers.resetPowers', 'joomla custom-button-resetpowers', '', 'COM_COMPONENTBUILDER_RESET', false);
|
||||
}
|
||||
if ($this->user->authorise('power.push', 'com_componentbuilder'))
|
||||
{
|
||||
// add Push button.
|
||||
ToolbarHelper::custom('powers.pushPowers', 'share custom-button-pushpowers', '', 'COM_COMPONENTBUILDER_PUSH', false);
|
||||
}
|
||||
|
||||
// set help url for this view if found
|
||||
$this->help_url = ComponentbuilderHelper::getHelpUrl('powers');
|
||||
|
@ -58,6 +58,16 @@ $componentParams = $this->params; // will be removed just use $this->params inst
|
||||
</div>
|
||||
<?php echo Html::_('bootstrap.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('bootstrap.addTab', 'repositoryTab', 'placeholders', Text::_('COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDERS', true)); ?>
|
||||
<div class="row-fluid form-horizontal-desktop">
|
||||
</div>
|
||||
<div class="row-fluid form-horizontal-desktop">
|
||||
<div class="span12">
|
||||
<?php echo LayoutHelper::render('repository.placeholders_fullwidth', $this); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('bootstrap.endTab'); ?>
|
||||
|
||||
<?php $this->ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?>
|
||||
<?php $this->tab_name = 'repositoryTab'; ?>
|
||||
<?php echo LayoutHelper::render('joomla.edit.params', $this); ?>
|
||||
|
@ -372,13 +372,13 @@ class ComponentbuilderViewSearch extends HtmlView
|
||||
foreach (ComponentbuilderHelper::$uk_components[$class] as $name)
|
||||
{
|
||||
// check if the CSS file exists.
|
||||
if (File::exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css'))
|
||||
if (@file_exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css'))
|
||||
{
|
||||
// load the css.
|
||||
Html::_('stylesheet', 'media/com_componentbuilder/uikit-v2/css/components/'.$name.$style.$size.'.css', ['version' => 'auto']);
|
||||
}
|
||||
// check if the JavaScript file exists.
|
||||
if (File::exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js'))
|
||||
if (@file_exists(JPATH_ROOT.'/media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js'))
|
||||
{
|
||||
// load the js.
|
||||
Html::_('script', 'media/com_componentbuilder/uikit-v2/js/components/'.$name.$size.'.js', ['version' => 'auto'], ['type' => 'text/javascript', 'async' => 'async']);
|
||||
|
@ -1,15 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="component" version="3.10" method="upgrade">
|
||||
<name>COM_COMPONENTBUILDER</name>
|
||||
<creationDate>16th August, 2024</creationDate>
|
||||
<creationDate>20th September, 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.3</version>
|
||||
<version>3.2.4</version>
|
||||
<description>< is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
||||
|
||||
|
@ -178,4 +178,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.4</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.4.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>stable</tag>
|
||||
</tags>
|
||||
<maintainer>Llewellyn van der Merwe</maintainer>
|
||||
<maintainerurl>https://dev.vdm.io</maintainerurl>
|
||||
<targetplatform name="joomla" version="3.*"/>
|
||||
</update>
|
||||
</updates>
|
@ -24,7 +24,7 @@ use VDM\Joomla\FOF\Encrypt\Randvalinterface;
|
||||
*
|
||||
* @package FrameworkOnFramework
|
||||
* @since 1.0
|
||||
* @deprecated Use phpseclib/phpseclib version 3 Instead.
|
||||
* @deprecated Use phpseclib/phpseclib version 3 Instead.
|
||||
*/
|
||||
class Randval implements Randvalinterface
|
||||
{
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user