Release of v4.1.0
Add [AllowDynamicProperties] in the base view class for J5. Move the _prepareDocument above the display call in the base view class. Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run. Added new import powers for custom import of spreadsheets. Move the setDocument and _prepareDocument above the display in the site view and custom admin view. Update the trashhelper layout to work in Joomla 5. Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues. Fix Save failed issue in dynamicGet. #1148. Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]. Add the DateHelper class and improve the date methods. Add simple SessionHelper class. Add first classes for the new import engine. Improve the [VDM Registry] to be Joomla Registry Compatible. Move all registries to the [VDM Registry] class. Fix Checked Out to be null and not 0. (#1194). Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194). Update all core date fields in table class. (#1188). Update created_by, modified_by, checked_out fields in table class. Implementation of the decentralized Super-Power CORE repository network. (#1190). Fix the noticeboard to display Llewellyn's Joomla Social feed. Started compiling JCB4 on Joomla 5 with PHP 8.2. Add init_defaults option for dynamic form selection setup (to int new items with default values dynamically). Update all JCB 4 tables to utf8mb4_unicode_ci collation if misaligned. Move all internal ID linking to GUID inside of JCB 4. Updated the admin-tab-fields in add-fields view. #1205. Remove Custom Import Tab from admin view. Improved the customcode and placeholder search features.
This commit is contained in:
@ -260,6 +260,19 @@ class Admin_custom_tabsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the tabs (sub form) layout
|
||||
|
@ -281,6 +281,19 @@ class Admin_fieldsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the addfields (sub form) layout
|
||||
|
@ -281,6 +281,19 @@ class Admin_fields_conditionsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the addconditions (sub form) layout
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -147,7 +148,7 @@ class Admin_fields_relationsModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_fields_relations__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_fields_relations__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -155,17 +156,17 @@ class Admin_fields_relationsModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
SessionHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -219,7 +220,7 @@ class Admin_fields_relationsModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_fields_relations__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_fields_relations__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -227,17 +228,17 @@ class Admin_fields_relationsModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
SessionHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -351,6 +352,19 @@ class Admin_fields_relationsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the addrelations (sub form) layout
|
||||
|
@ -29,10 +29,12 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Data\Factory as DataFactory;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -123,20 +125,6 @@ class Admin_viewModel extends AdminModel
|
||||
'php_document'
|
||||
)
|
||||
),
|
||||
'custom_import' => array(
|
||||
'fullwidth' => array(
|
||||
'note_beginner_import',
|
||||
'note_advanced_import',
|
||||
'add_custom_import',
|
||||
'php_import_display',
|
||||
'html_import_view',
|
||||
'php_import',
|
||||
'php_import_headers',
|
||||
'php_import_setdata',
|
||||
'php_import_save',
|
||||
'php_import_ext'
|
||||
)
|
||||
),
|
||||
'mysql' => array(
|
||||
'left' => array(
|
||||
'mysql_table_engine',
|
||||
@ -296,7 +284,7 @@ class Admin_viewModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -304,17 +292,17 @@ class Admin_viewModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
SessionHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -374,10 +362,10 @@ class Admin_viewModel extends AdminModel
|
||||
$item->php_getlistquery = base64_decode($item->php_getlistquery);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_ext))
|
||||
if (!empty($item->php_getitems))
|
||||
{
|
||||
// base64 Decode php_import_ext.
|
||||
$item->php_import_ext = base64_decode($item->php_import_ext);
|
||||
// base64 Decode php_getitems.
|
||||
$item->php_getitems = base64_decode($item->php_getitems);
|
||||
}
|
||||
|
||||
if (!empty($item->php_after_publish))
|
||||
@ -404,10 +392,10 @@ class Admin_viewModel extends AdminModel
|
||||
$item->php_after_delete = base64_decode($item->php_after_delete);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import))
|
||||
if (!empty($item->php_getitem))
|
||||
{
|
||||
// base64 Decode php_import.
|
||||
$item->php_import = base64_decode($item->php_import);
|
||||
// base64 Decode php_getitem.
|
||||
$item->php_getitem = base64_decode($item->php_getitem);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getitems_after_all))
|
||||
@ -470,18 +458,6 @@ class Admin_viewModel extends AdminModel
|
||||
$item->sql = base64_decode($item->sql);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_display))
|
||||
{
|
||||
// base64 Decode php_import_display.
|
||||
$item->php_import_display = base64_decode($item->php_import_display);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_setdata))
|
||||
{
|
||||
// base64 Decode php_import_setdata.
|
||||
$item->php_import_setdata = base64_decode($item->php_import_setdata);
|
||||
}
|
||||
|
||||
if (!empty($item->css_view))
|
||||
{
|
||||
// base64 Decode css_view.
|
||||
@ -548,36 +524,6 @@ class Admin_viewModel extends AdminModel
|
||||
$item->php_ajaxmethod = base64_decode($item->php_ajaxmethod);
|
||||
}
|
||||
|
||||
if (!empty($item->html_import_view))
|
||||
{
|
||||
// base64 Decode html_import_view.
|
||||
$item->html_import_view = base64_decode($item->html_import_view);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getitem))
|
||||
{
|
||||
// base64 Decode php_getitem.
|
||||
$item->php_getitem = base64_decode($item->php_getitem);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_headers))
|
||||
{
|
||||
// base64 Decode php_import_headers.
|
||||
$item->php_import_headers = base64_decode($item->php_import_headers);
|
||||
}
|
||||
|
||||
if (!empty($item->php_import_save))
|
||||
{
|
||||
// base64 Decode php_import_save.
|
||||
$item->php_import_save = base64_decode($item->php_import_save);
|
||||
}
|
||||
|
||||
if (!empty($item->php_getitems))
|
||||
{
|
||||
// base64 Decode php_getitems.
|
||||
$item->php_getitems = base64_decode($item->php_getitems);
|
||||
}
|
||||
|
||||
if (!empty($item->addpermissions))
|
||||
{
|
||||
// Convert the addpermissions field to an array.
|
||||
@ -644,7 +590,7 @@ class Admin_viewModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -652,55 +598,19 @@ class Admin_viewModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
SessionHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addlinked_views' => 'adminview',
|
||||
'ajax_input' => 'value_name',
|
||||
'custom_button' => 'name',
|
||||
'addpermissions' => 'action',
|
||||
'addtables' => 'table',
|
||||
'addtabs' => 'name'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_admin_view', $objectUpdate, 'id');
|
||||
}
|
||||
|
||||
// update the mysql_table_engine defaults
|
||||
if (isset($item->mysql_table_engine) && is_numeric($item->mysql_table_engine))
|
||||
{
|
||||
@ -828,8 +738,24 @@ class Admin_viewModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the ajax_input (sub form) layout
|
||||
$form->setFieldAttribute('ajax_input', 'layout', ComponentbuilderHelper::getSubformLayout('admin_view', 'ajax_input'));
|
||||
|
||||
// update all editors to use this components global editor
|
||||
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
||||
// now get all the editor fields
|
||||
@ -1070,7 +996,7 @@ class Admin_viewModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1104,23 +1030,46 @@ class Admin_viewModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// we must also delete the linked tables found
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'admin_fields' => 'admin_view',
|
||||
'admin_fields_conditions' => 'admin_view',
|
||||
'admin_fields_relations' => 'admin_view',
|
||||
'admin_custom_tabs' => 'admin_view'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
$_tablesArray = array(
|
||||
'admin_fields',
|
||||
'admin_fields_conditions',
|
||||
'admin_fields_relations',
|
||||
'admin_custom_tabs'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable)
|
||||
foreach($_tables_array as $_delete_table => $_field_name)
|
||||
{
|
||||
// get the admin_view guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'admin_view'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, 'admin_view', 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_delete_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
// change publish state
|
||||
$_Model = ComponentbuilderHelper::getModel($_delete_table);
|
||||
|
||||
// change publish state to trash (in-case the state was not changed in sync with the parent)
|
||||
$_Model->publish($_pks, -2);
|
||||
|
||||
// delete the items
|
||||
$_Model->delete($_pks);
|
||||
}
|
||||
}
|
||||
@ -1145,22 +1094,42 @@ class Admin_viewModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'admin_fields' => 'admin_view',
|
||||
'admin_fields_conditions' => 'admin_view',
|
||||
'admin_fields_relations' => 'admin_view',
|
||||
'admin_custom_tabs' => 'admin_view'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
$_tablesArray = array(
|
||||
'admin_fields',
|
||||
'admin_fields_conditions',
|
||||
'admin_fields_relations',
|
||||
'admin_custom_tabs'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable)
|
||||
foreach($_tables_array as $_update_table => $_field_name)
|
||||
{
|
||||
// get the admin guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'admin_view'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, 'admin_view', 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_update_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
$_Model = ComponentbuilderHelper::getModel($_update_table);
|
||||
|
||||
// change publish state
|
||||
$_Model->publish($_pks, $value);
|
||||
}
|
||||
@ -1340,6 +1309,12 @@ class Admin_viewModel extends AdminModel
|
||||
}
|
||||
}
|
||||
|
||||
// Only for strings
|
||||
if (UtilitiesStringHelper::check($this->table->system_name) && !is_numeric($this->table->system_name))
|
||||
{
|
||||
$this->table->system_name = $this->generateUnique('system_name',$this->table->system_name);
|
||||
}
|
||||
|
||||
// insert all set values
|
||||
if (UtilitiesArrayHelper::check($values))
|
||||
{
|
||||
@ -1673,10 +1648,10 @@ class Admin_viewModel extends AdminModel
|
||||
$data['php_getlistquery'] = base64_encode($data['php_getlistquery']);
|
||||
}
|
||||
|
||||
// Set the php_import_ext string to base64 string.
|
||||
if (isset($data['php_import_ext']))
|
||||
// Set the php_getitems string to base64 string.
|
||||
if (isset($data['php_getitems']))
|
||||
{
|
||||
$data['php_import_ext'] = base64_encode($data['php_import_ext']);
|
||||
$data['php_getitems'] = base64_encode($data['php_getitems']);
|
||||
}
|
||||
|
||||
// Set the php_after_publish string to base64 string.
|
||||
@ -1703,10 +1678,10 @@ class Admin_viewModel extends AdminModel
|
||||
$data['php_after_delete'] = base64_encode($data['php_after_delete']);
|
||||
}
|
||||
|
||||
// Set the php_import string to base64 string.
|
||||
if (isset($data['php_import']))
|
||||
// Set the php_getitem string to base64 string.
|
||||
if (isset($data['php_getitem']))
|
||||
{
|
||||
$data['php_import'] = base64_encode($data['php_import']);
|
||||
$data['php_getitem'] = base64_encode($data['php_getitem']);
|
||||
}
|
||||
|
||||
// Set the php_getitems_after_all string to base64 string.
|
||||
@ -1769,18 +1744,6 @@ class Admin_viewModel extends AdminModel
|
||||
$data['sql'] = base64_encode($data['sql']);
|
||||
}
|
||||
|
||||
// Set the php_import_display string to base64 string.
|
||||
if (isset($data['php_import_display']))
|
||||
{
|
||||
$data['php_import_display'] = base64_encode($data['php_import_display']);
|
||||
}
|
||||
|
||||
// Set the php_import_setdata string to base64 string.
|
||||
if (isset($data['php_import_setdata']))
|
||||
{
|
||||
$data['php_import_setdata'] = base64_encode($data['php_import_setdata']);
|
||||
}
|
||||
|
||||
// Set the css_view string to base64 string.
|
||||
if (isset($data['css_view']))
|
||||
{
|
||||
@ -1847,36 +1810,6 @@ class Admin_viewModel extends AdminModel
|
||||
$data['php_ajaxmethod'] = base64_encode($data['php_ajaxmethod']);
|
||||
}
|
||||
|
||||
// Set the html_import_view string to base64 string.
|
||||
if (isset($data['html_import_view']))
|
||||
{
|
||||
$data['html_import_view'] = base64_encode($data['html_import_view']);
|
||||
}
|
||||
|
||||
// Set the php_getitem string to base64 string.
|
||||
if (isset($data['php_getitem']))
|
||||
{
|
||||
$data['php_getitem'] = base64_encode($data['php_getitem']);
|
||||
}
|
||||
|
||||
// Set the php_import_headers string to base64 string.
|
||||
if (isset($data['php_import_headers']))
|
||||
{
|
||||
$data['php_import_headers'] = base64_encode($data['php_import_headers']);
|
||||
}
|
||||
|
||||
// Set the php_import_save string to base64 string.
|
||||
if (isset($data['php_import_save']))
|
||||
{
|
||||
$data['php_import_save'] = base64_encode($data['php_import_save']);
|
||||
}
|
||||
|
||||
// Set the php_getitems string to base64 string.
|
||||
if (isset($data['php_getitems']))
|
||||
{
|
||||
$data['php_getitems'] = base64_encode($data['php_getitems']);
|
||||
}
|
||||
|
||||
// Set the Params Items to data
|
||||
if (isset($data['params']) && is_array($data['params']))
|
||||
{
|
||||
@ -1927,4 +1860,26 @@ class Admin_viewModel extends AdminModel
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to change the title
|
||||
*
|
||||
* @param string $title The title.
|
||||
*
|
||||
* @return array Contains the modified title and alias.
|
||||
*
|
||||
*/
|
||||
protected function _generateNewTitle($title)
|
||||
{
|
||||
|
||||
// Alter the title
|
||||
$table = $this->getTable();
|
||||
|
||||
while ($table->load(['title' => $title]))
|
||||
{
|
||||
$title = StringHelper::increment($title);
|
||||
}
|
||||
|
||||
return $title;
|
||||
}
|
||||
}
|
||||
|
@ -92,7 +92,6 @@ class Admin_viewsModel extends ListModel
|
||||
'a.type','type',
|
||||
'a.add_custom_button','add_custom_button',
|
||||
'a.add_php_ajax','add_php_ajax',
|
||||
'a.add_custom_import','add_custom_import',
|
||||
'a.system_name','system_name',
|
||||
'a.name_single','name_single',
|
||||
'a.short_description','short_description'
|
||||
@ -224,13 +223,6 @@ class Admin_viewsModel extends ListModel
|
||||
$this->setState('filter.add_php_ajax', $add_php_ajax);
|
||||
}
|
||||
|
||||
$add_custom_import = $this->getUserStateFromRequest($this->context . '.filter.add_custom_import', 'filter_add_custom_import');
|
||||
if ($formSubmited)
|
||||
{
|
||||
$add_custom_import = $app->input->post->get('add_custom_import');
|
||||
$this->setState('filter.add_custom_import', $add_custom_import);
|
||||
}
|
||||
|
||||
$system_name = $this->getUserStateFromRequest($this->context . '.filter.system_name', 'filter_system_name');
|
||||
if ($formSubmited)
|
||||
{
|
||||
@ -304,8 +296,6 @@ class Admin_viewsModel extends ListModel
|
||||
$item->add_custom_button = $this->selectionTranslation($item->add_custom_button, 'add_custom_button');
|
||||
// convert add_php_ajax
|
||||
$item->add_php_ajax = $this->selectionTranslation($item->add_php_ajax, 'add_php_ajax');
|
||||
// convert add_custom_import
|
||||
$item->add_custom_import = $this->selectionTranslation($item->add_custom_import, 'add_custom_import');
|
||||
}
|
||||
}
|
||||
|
||||
@ -373,19 +363,6 @@ class Admin_viewsModel extends ListModel
|
||||
return $add_php_ajaxArray[$value];
|
||||
}
|
||||
}
|
||||
// Array of add_custom_import language strings
|
||||
if ($name === 'add_custom_import')
|
||||
{
|
||||
$add_custom_importArray = array(
|
||||
1 => 'COM_COMPONENTBUILDER_ADMIN_VIEW_YES',
|
||||
0 => 'COM_COMPONENTBUILDER_ADMIN_VIEW_NO'
|
||||
);
|
||||
// Now check if value is found in this array
|
||||
if (isset($add_custom_importArray[$value]) && StringHelper::check($add_custom_importArray[$value]))
|
||||
{
|
||||
return $add_custom_importArray[$value];
|
||||
}
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@ -409,22 +386,18 @@ class Admin_viewsModel extends ListModel
|
||||
// From the componentbuilder_item table
|
||||
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
if (($guids = JCBFilterHelper::linked($filter_joomla_component, 'joomla_component_admin_views')) !== null)
|
||||
{
|
||||
if (($ids = JCBFilterHelper::linked((int) $filter_joomla_component, 'joomla_component_admin_views')) !== null)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
$query->where($db->quoteName('a.guid') . ' IN ("' . implode('","', $guids) . '")');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -472,7 +445,7 @@ class Admin_viewsModel extends ListModel
|
||||
else
|
||||
{
|
||||
$search = $db->quote('%' . $db->escape($search) . '%');
|
||||
$query->where('(a.system_name LIKE '.$search.' OR a.name_single LIKE '.$search.' OR a.short_description LIKE '.$search.' OR a.description LIKE '.$search.' OR a.type LIKE '.$search.' OR a.name_list LIKE '.$search.')');
|
||||
$query->where('(a.system_name LIKE '.$search.' OR a.name_single LIKE '.$search.' OR a.short_description LIKE '.$search.' OR a.name_list LIKE '.$search.' OR a.description LIKE '.$search.' OR a.type LIKE '.$search.')');
|
||||
}
|
||||
}
|
||||
|
||||
@ -567,26 +540,9 @@ class Admin_viewsModel extends ListModel
|
||||
{
|
||||
$query->where('a.add_php_ajax = ' . $db->quote($db->escape($_add_php_ajax)));
|
||||
}
|
||||
// Filter by Add_custom_import.
|
||||
$_add_custom_import = $this->getState('filter.add_custom_import');
|
||||
if (is_numeric($_add_custom_import))
|
||||
{
|
||||
if (is_float($_add_custom_import))
|
||||
{
|
||||
$query->where('a.add_custom_import = ' . (float) $_add_custom_import);
|
||||
}
|
||||
else
|
||||
{
|
||||
$query->where('a.add_custom_import = ' . (int) $_add_custom_import);
|
||||
}
|
||||
}
|
||||
elseif (StringHelper::check($_add_custom_import))
|
||||
{
|
||||
$query->where('a.add_custom_import = ' . $db->quote($db->escape($_add_custom_import)));
|
||||
}
|
||||
|
||||
// Add the list ordering clause.
|
||||
$orderCol = $this->getState('list.ordering', 'a.id');
|
||||
$orderCol = $this->getState('list.ordering', '');
|
||||
$orderDirn = $this->getState('list.direction', 'desc');
|
||||
if ($orderCol != '')
|
||||
{
|
||||
@ -640,7 +596,6 @@ class Admin_viewsModel extends ListModel
|
||||
}
|
||||
$id .= ':' . $this->getState('filter.add_custom_button');
|
||||
$id .= ':' . $this->getState('filter.add_php_ajax');
|
||||
$id .= ':' . $this->getState('filter.add_custom_import');
|
||||
$id .= ':' . $this->getState('filter.system_name');
|
||||
$id .= ':' . $this->getState('filter.name_single');
|
||||
$id .= ':' . $this->getState('filter.short_description');
|
||||
|
@ -204,8 +204,8 @@ class Admins_custom_tabsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_admin_custom_tabs', 'a'));
|
||||
|
||||
// From the componentbuilder_admin_view table.
|
||||
$query->select($db->quoteName('g.system_name','admin_view_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['admin_view_system_name','admin_view_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Admins_fieldsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_admin_fields', 'a'));
|
||||
|
||||
// From the componentbuilder_admin_view table.
|
||||
$query->select($db->quoteName('g.system_name','admin_view_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['admin_view_system_name','admin_view_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Admins_fields_conditionsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_admin_fields_conditions', 'a'));
|
||||
|
||||
// From the componentbuilder_admin_view table.
|
||||
$query->select($db->quoteName('g.system_name','admin_view_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['admin_view_system_name','admin_view_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Admins_fields_relationsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_admin_fields_relations', 'a'));
|
||||
|
||||
// From the componentbuilder_admin_view table.
|
||||
$query->select($db->quoteName('g.system_name','admin_view_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['admin_view_system_name','admin_view_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_admin_view', 'g') . ' ON (' . $db->quoteName('a.admin_view') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -29,11 +29,13 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -151,7 +153,7 @@ class Class_extendsModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_extends__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_extends__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -159,17 +161,17 @@ class Class_extendsModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
SessionHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -227,7 +229,7 @@ class Class_extendsModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_extends__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_extends__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -235,17 +237,17 @@ class Class_extendsModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
SessionHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -359,6 +361,19 @@ class Class_extendsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -376,7 +391,14 @@ class Class_extendsModel extends AdminModel
|
||||
$form->setFieldAttribute($name, 'editor', $global_editor . '|none');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
if (0 == $id || !($val = $form->getValue('guid')))
|
||||
{
|
||||
$form->setValue('guid', null, GuidHelper::get());
|
||||
}
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
@ -574,7 +596,7 @@ class Class_extendsModel extends AdminModel
|
||||
*/
|
||||
protected function getUniqueFields()
|
||||
{
|
||||
return false;
|
||||
return array('guid');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -983,7 +1005,21 @@ class Class_extendsModel extends AdminModel
|
||||
}
|
||||
|
||||
// make sure the name is safe to be used as a class name
|
||||
$data['name'] = ClassfunctionHelper::safe($data['name']);
|
||||
$data['name'] = ClassfunctionHelper::safe($data['name']);
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
if (empty($data['guid']) && $data['id'] > 0)
|
||||
{
|
||||
// get the existing one
|
||||
$data['guid'] = (string) GetHelper::var('class_extends', $data['id'], 'id', 'guid');
|
||||
}
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
while (!GuidHelper::valid($data['guid'], "class_extends", $data['id']))
|
||||
{
|
||||
// must always be set
|
||||
$data['guid'] = (string) GuidHelper::get();
|
||||
}
|
||||
|
||||
// Set the head string to base64 string.
|
||||
if (isset($data['head']))
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -155,7 +156,7 @@ class Class_methodModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_method__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_method__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -163,17 +164,17 @@ class Class_methodModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
SessionHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -237,7 +238,7 @@ class Class_methodModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_method__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_method__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -245,17 +246,17 @@ class Class_methodModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
SessionHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -369,6 +370,19 @@ class Class_methodModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -611,7 +625,7 @@ class Class_methodModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -286,8 +286,8 @@ class Class_methodsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_class_method', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_plugin_group table.
|
||||
$query->select($db->quoteName('g.name','joomla_plugin_group_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin_group', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin_group') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['joomla_plugin_group_name','joomla_plugin_group_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin_group', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin_group') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -284,8 +284,8 @@ class Class_propertiesModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_class_property', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_plugin_group table.
|
||||
$query->select($db->quoteName('g.name','joomla_plugin_group_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin_group', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin_group') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['joomla_plugin_group_name','joomla_plugin_group_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin_group', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin_group') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
@ -371,7 +371,7 @@ class Class_propertiesModel extends ListModel
|
||||
}
|
||||
|
||||
// Add the list ordering clause.
|
||||
$orderCol = $this->getState('list.ordering', 'a.id');
|
||||
$orderCol = $this->getState('list.ordering', '');
|
||||
$orderDirn = $this->getState('list.direction', 'desc');
|
||||
if ($orderCol != '')
|
||||
{
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -152,7 +153,7 @@ class Class_propertyModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_property__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_property__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -160,17 +161,17 @@ class Class_propertyModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
SessionHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -228,7 +229,7 @@ class Class_propertyModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_property__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_property__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -236,17 +237,17 @@ class Class_propertyModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
SessionHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -360,6 +361,19 @@ class Class_propertyModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -602,7 +616,7 @@ class Class_propertyModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,10 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use VDM\Joomla\Componentbuilder\Compiler\Helper\Compiler;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\JsonHelper;
|
||||
use Joomla\CMS\Filesystem\Folder;
|
||||
use Joomla\Filesystem\File;
|
||||
use Joomla\CMS\Installer\InstallerHelper;
|
||||
use Joomla\CMS\Installer\Installer;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -114,9 +118,12 @@ class CompilerModel extends ListModel
|
||||
];
|
||||
|
||||
/**
|
||||
* A custom property for UIKit components. (not used unless you load v2)
|
||||
* A custom property for UI Kit components.
|
||||
*
|
||||
* @var mixed Property for storing UI Kit component-related data or objects.
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected $uikitComp;
|
||||
protected $uikitComp = [];
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@ -299,7 +306,7 @@ class CompilerModel extends ListModel
|
||||
|
||||
public function emptyFolder($dir, $removeDir = false)
|
||||
{
|
||||
if (\JFolder::exists($dir))
|
||||
if (is_dir($dir))
|
||||
{
|
||||
$it = new \RecursiveDirectoryIterator($dir);
|
||||
$it = new \RecursiveIteratorIterator($it, \RecursiveIteratorIterator::CHILD_FIRST);
|
||||
@ -308,19 +315,19 @@ class CompilerModel extends ListModel
|
||||
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
|
||||
if ($file->isDir())
|
||||
{
|
||||
\JFolder::delete($file->getPathname());
|
||||
Folder::delete($file->getPathname());
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($file->getBasename() !== 'index.html')
|
||||
{
|
||||
\JFile::delete($file->getPathname());
|
||||
File::delete($file->getPathname());
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($removeDir)
|
||||
{
|
||||
if (\JFolder::delete($dir))
|
||||
if (Folder::delete($dir))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -365,7 +372,7 @@ class CompilerModel extends ListModel
|
||||
$tmp_dest = $config->get('tmp_path');
|
||||
|
||||
// Unpack the downloaded package file.
|
||||
$package = \JInstallerHelper::unpack($tmp_dest . '/' . $p_file, true);
|
||||
$package = InstallerHelper::unpack($tmp_dest . '/' . $p_file, true);
|
||||
|
||||
// insure the install type is folder (JCB zip file is in the folder)
|
||||
$installType = 'folder';
|
||||
@ -390,7 +397,7 @@ class CompilerModel extends ListModel
|
||||
}
|
||||
|
||||
// Get an installer instance.
|
||||
$installer = \JInstaller::getInstance();
|
||||
$installer = Installer::getInstance();
|
||||
|
||||
// Install the package.
|
||||
if (!$installer->install($package['dir']))
|
||||
@ -427,7 +434,7 @@ class CompilerModel extends ListModel
|
||||
$package['packagefile'] = $config->get('tmp_path') . '/' . $package['packagefile'];
|
||||
}
|
||||
|
||||
\JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']);
|
||||
InstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']);
|
||||
|
||||
// Clear the cached extension data and menu cache
|
||||
$this->cleanCache('_system', 0);
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -157,37 +158,6 @@ class Component_admin_viewsModel extends AdminModel
|
||||
$addadmin_views->loadString($item->addadmin_views);
|
||||
$item->addadmin_views = $addadmin_views->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addadmin_views' => 'adminview'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_admin_views', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -299,6 +269,19 @@ class Component_admin_viewsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the addadmin_views (sub form) layout
|
||||
@ -910,7 +893,7 @@ class Component_admin_viewsModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addadmin_views data from clone_me (component_admin_views)
|
||||
$data['addadmin_views'] = GetHelper::var('component_admin_views', $data['clone_me'], 'joomla_component', 'addadmin_views');
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -156,37 +157,6 @@ class Component_configModel extends AdminModel
|
||||
$addconfig->loadString($item->addconfig);
|
||||
$item->addconfig = $addconfig->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addconfig' => 'field'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_config', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -298,6 +268,19 @@ class Component_configModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -906,7 +889,7 @@ class Component_configModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addconfig data from clone_me (component_config)
|
||||
$data['addconfig'] = GetHelper::var('component_config', $data['clone_me'], 'joomla_component', 'addconfig');
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -156,37 +157,6 @@ class Component_custom_admin_menusModel extends AdminModel
|
||||
$addcustommenus->loadString($item->addcustommenus);
|
||||
$item->addcustommenus = $addcustommenus->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addcustommenus' => 'name'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_custom_admin_menus', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -298,6 +268,19 @@ class Component_custom_admin_menusModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the addcustommenus (sub form) layout
|
||||
@ -909,7 +892,7 @@ class Component_custom_admin_menusModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addcustommenus data from clone_me (component_custom_admin_menus)
|
||||
$data['addcustommenus'] = GetHelper::var('component_custom_admin_menus', $data['clone_me'], 'joomla_component', 'addcustommenus');
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -157,37 +158,6 @@ class Component_custom_admin_viewsModel extends AdminModel
|
||||
$addcustom_admin_views->loadString($item->addcustom_admin_views);
|
||||
$item->addcustom_admin_views = $addcustom_admin_views->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addcustom_admin_views' => 'customadminview'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_custom_admin_views', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -299,6 +269,19 @@ class Component_custom_admin_viewsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the addcustom_admin_views (sub form) layout
|
||||
@ -910,7 +893,7 @@ class Component_custom_admin_viewsModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addcustom_admin_views data from clone_me (component_custom_admin_views)
|
||||
$data['addcustom_admin_views'] = GetHelper::var('component_custom_admin_views', $data['clone_me'], 'joomla_component', 'addcustom_admin_views');
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -155,7 +156,7 @@ class Component_dashboardModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_dashboard__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_dashboard__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -163,17 +164,17 @@ class Component_dashboardModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
SessionHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -233,7 +234,7 @@ class Component_dashboardModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_dashboard__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_dashboard__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -241,48 +242,18 @@ class Component_dashboardModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
SessionHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'dashboard_tab' => 'name'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_dashboard', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
@ -395,6 +366,19 @@ class Component_dashboardModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the dashboard_tab (sub form) layout
|
||||
@ -1009,7 +993,7 @@ class Component_dashboardModel extends AdminModel
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
{
|
||||
// get the following data from clone_me (component_dashboard)
|
||||
$keys = array('php_dashboard_methods','dashboard_tab','params');
|
||||
$keys = ['php_dashboard_methods','dashboard_tab','params'];
|
||||
foreach ($keys as $key)
|
||||
{
|
||||
$data[$key] = GetHelper::var('component_dashboard', $data['clone_me'], 'joomla_component', $key);
|
||||
|
@ -192,38 +192,6 @@ class Component_files_foldersModel extends AdminModel
|
||||
$addfiles->loadString($item->addfiles);
|
||||
$item->addfiles = $addfiles->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addfiles' => 'file',
|
||||
'addfolders' => 'folder'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_files_folders', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -335,6 +303,19 @@ class Component_files_foldersModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -946,7 +927,7 @@ class Component_files_foldersModel extends AdminModel
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
{
|
||||
// get the following data from clone_me (component_files_folders)
|
||||
$keys = array('addfiles','addfolders','addfilesfullpath','addfoldersfullpath');
|
||||
$keys = ['addfiles','addfolders','addfilesfullpath','addfoldersfullpath'];
|
||||
foreach ($keys as $key)
|
||||
{
|
||||
$data[$key] = GetHelper::var('component_files_folders', $data['clone_me'], 'joomla_component', $key);
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -268,6 +269,19 @@ class Component_modulesModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -876,7 +890,7 @@ class Component_modulesModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addjoomla_modules data from clone_me (component_modules)
|
||||
$data['addjoomla_modules'] = GetHelper::var('component_modules', $data['clone_me'], 'joomla_component', 'addjoomla_modules');
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -156,37 +157,6 @@ class Component_mysql_tweaksModel extends AdminModel
|
||||
$sql_tweak->loadString($item->sql_tweak);
|
||||
$item->sql_tweak = $sql_tweak->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'sql_tweak' => 'adminview'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_mysql_tweaks', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -298,6 +268,19 @@ class Component_mysql_tweaksModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -906,7 +889,7 @@ class Component_mysql_tweaksModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get sql_tweak data from clone_me (component_mysql_tweaks)
|
||||
$data['sql_tweak'] = GetHelper::var('component_mysql_tweaks', $data['clone_me'], 'joomla_component', 'sql_tweak');
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -267,6 +268,19 @@ class Component_placeholdersModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -875,7 +889,7 @@ class Component_placeholdersModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addplaceholders data from clone_me (component_placeholders)
|
||||
$data['addplaceholders'] = GetHelper::var('component_placeholders', $data['clone_me'], 'joomla_component', 'addplaceholders');
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -268,6 +269,19 @@ class Component_pluginsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -876,7 +890,7 @@ class Component_pluginsModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addjoomla_plugins data from clone_me (component_plugins)
|
||||
$data['addjoomla_plugins'] = GetHelper::var('component_plugins', $data['clone_me'], 'joomla_component', 'addjoomla_plugins');
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -156,7 +157,7 @@ class Component_routerModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_router__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_router__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -164,17 +165,17 @@ class Component_routerModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
ComponentbuilderHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
SessionHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -246,7 +247,7 @@ class Component_routerModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_router__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_router__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -254,17 +255,17 @@ class Component_routerModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
ComponentbuilderHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
SessionHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -378,6 +379,19 @@ class Component_routerModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -157,37 +158,6 @@ class Component_site_viewsModel extends AdminModel
|
||||
$addsite_views->loadString($item->addsite_views);
|
||||
$item->addsite_views = $addsite_views->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addsite_views' => 'siteview'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_site_views', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -299,6 +269,19 @@ class Component_site_viewsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the addsite_views (sub form) layout
|
||||
@ -910,7 +893,7 @@ class Component_site_viewsModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get addsite_views data from clone_me (component_site_views)
|
||||
$data['addsite_views'] = GetHelper::var('component_site_views', $data['clone_me'], 'joomla_component', 'addsite_views');
|
||||
|
@ -31,6 +31,7 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -156,37 +157,6 @@ class Component_updatesModel extends AdminModel
|
||||
$version_update->loadString($item->version_update);
|
||||
$item->version_update = $version_update->toArray();
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'version_update' => 'version'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_component_updates', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
@ -298,6 +268,19 @@ class Component_updatesModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the version_update (sub form) layout
|
||||
@ -909,7 +892,7 @@ class Component_updatesModel extends AdminModel
|
||||
|
||||
|
||||
// check if we have a clone moment
|
||||
if (isset($data['clone_me']) && $data['clone_me'] > 0)
|
||||
if (isset($data['clone_me']) && GuidHelper::valid($data['clone_me']))
|
||||
{
|
||||
// get version_update data from clone_me (component_updates)
|
||||
$data['version_update'] = GetHelper::var('component_updates', $data['clone_me'], 'joomla_component', 'version_update');
|
||||
|
@ -528,97 +528,6 @@ class ComponentbuilderModel extends ListModel
|
||||
}
|
||||
|
||||
|
||||
public function getNoticeboard()
|
||||
{
|
||||
// get the document to load the scripts
|
||||
$document = Factory::getDocument();
|
||||
Html::_('script', "media/com_componentbuilder/js/marked.js", ['version' => 'auto']);
|
||||
$document->addScriptDeclaration('
|
||||
var token = "' . Session::getFormToken() . '";
|
||||
var noticeboard = "https://vdm.bz/componentbuilder-noticeboard-md";
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
fetch(noticeboard)
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
return response.text();
|
||||
})
|
||||
.then(board => {
|
||||
if (board.length > 5) {
|
||||
document.getElementById("noticeboard-md").innerHTML = marked.parse(board);
|
||||
getIS(1, board)
|
||||
.then(result => {
|
||||
if (result) {
|
||||
document.querySelectorAll("#cpanel_tabTabs a").forEach(link => {
|
||||
if (link.href.includes("#vast_development_method") || link.href.includes("#notice_board")) {
|
||||
var textVDM = link.textContent;
|
||||
link.innerHTML = "<span class=\"label label-important vdm-new-notice\">1</span> " + textVDM;
|
||||
link.id = "vdm-new-notice";
|
||||
document.getElementById("vdm-new-notice").addEventListener("click", () => {
|
||||
getIS(2, board)
|
||||
.then(result => {
|
||||
if (result) {
|
||||
document.querySelectorAll(".vdm-new-notice").forEach(element => {
|
||||
element.style.opacity = 0;
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
document.getElementById("noticeboard-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER').'.";
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
console.error("There was an error!", error);
|
||||
document.getElementById("noticeboard-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER').'.";
|
||||
});
|
||||
});
|
||||
|
||||
// to check is READ/NEW
|
||||
function getIS(type, notice) {
|
||||
let getUrl = "";
|
||||
if (type === 1) {
|
||||
getUrl = "index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true";
|
||||
} else if (type === 2) {
|
||||
getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true";
|
||||
}
|
||||
let request = new URLSearchParams();
|
||||
if (token.length > 0 && notice.length) {
|
||||
request.append(token, "1");
|
||||
request.append("notice", notice);
|
||||
}
|
||||
return fetch(getUrl, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
|
||||
},
|
||||
body: request
|
||||
}).then(response => response.json());
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
document.querySelectorAll(".loading-dots").forEach(function(loading_dots) {
|
||||
let x = 0;
|
||||
let intervalId = setInterval(function() {
|
||||
if (!loading_dots.classList.contains("loading-dots")) {
|
||||
clearInterval(intervalId);
|
||||
return;
|
||||
}
|
||||
let dots = ".".repeat(x % 8);
|
||||
loading_dots.textContent = dots;
|
||||
x++;
|
||||
}, 500);
|
||||
});
|
||||
});');
|
||||
|
||||
return '<div id="noticeboard-md">'.Text::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
|
||||
}
|
||||
|
||||
public function getReadme()
|
||||
{
|
||||
$document = Factory::getDocument();
|
||||
|
@ -204,8 +204,8 @@ class Components_admin_viewsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_admin_views', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_configModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_config', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_custom_admin_menusModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_custom_admin_menus', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_custom_admin_viewsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_custom_admin_views', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_dashboardModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_dashboard', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_files_foldersModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_files_folders', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_modulesModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_modules', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_mysql_tweaksModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_mysql_tweaks', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_placeholdersModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_placeholders', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_pluginsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_plugins', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -294,8 +294,8 @@ class Components_routersModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_router', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_site_viewsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_site_views', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Components_updatesModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_component_updates', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_component_system_name','joomla_component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -213,7 +214,7 @@ class Custom_admin_viewModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -221,17 +222,17 @@ class Custom_admin_viewModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
SessionHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -381,7 +382,7 @@ class Custom_admin_viewModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -389,17 +390,17 @@ class Custom_admin_viewModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
SessionHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -532,8 +533,24 @@ class Custom_admin_viewModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the ajax_input (sub form) layout
|
||||
$form->setFieldAttribute('ajax_input', 'layout', ComponentbuilderHelper::getSubformLayout('custom_admin_view', 'ajax_input'));
|
||||
|
||||
// update all editors to use this components global editor
|
||||
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
||||
// now get all the editor fields
|
||||
|
@ -347,28 +347,24 @@ class Custom_admin_viewsModel extends ListModel
|
||||
// From the componentbuilder_item table
|
||||
$query->from($db->quoteName('#__componentbuilder_custom_admin_view', 'a'));
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
if (($guids = JCBFilterHelper::linked((string) $filter_joomla_component, 'joomla_component_custom_admin_views')) !== null)
|
||||
{
|
||||
if (($ids = JCBFilterHelper::linked((int) $filter_joomla_component, 'joomla_component_custom_admin_views')) !== null)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
$query->where($db->quoteName('a.guid') . ' IN ("' . implode('","', $guids) . '")');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
|
||||
// From the componentbuilder_dynamic_get table.
|
||||
$query->select($db->quoteName('g.name','main_get_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.main_get') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['main_get_name','main_get_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.main_get') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -167,7 +168,7 @@ class Custom_codeModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_code__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_code__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -175,17 +176,17 @@ class Custom_codeModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
SessionHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -237,7 +238,7 @@ class Custom_codeModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_code__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_code__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -245,17 +246,17 @@ class Custom_codeModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
SessionHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -369,6 +370,19 @@ class Custom_codeModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -604,7 +618,7 @@ class Custom_codeModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -831,9 +845,9 @@ class Custom_codeModel extends AdminModel
|
||||
}
|
||||
|
||||
// Only for strings
|
||||
if (UtilitiesStringHelper::check($this->table->component) && !is_numeric($this->table->component))
|
||||
if (UtilitiesStringHelper::check($this->table->system_name) && !is_numeric($this->table->system_name))
|
||||
{
|
||||
$this->table->component = $this->generateUnique('component',$this->table->component);
|
||||
$this->table->system_name = $this->generateUnique('system_name',$this->table->system_name);
|
||||
}
|
||||
|
||||
// insert all set values
|
||||
|
@ -86,7 +86,6 @@ class Custom_codesModel extends ListModel
|
||||
'a.ordering','ordering',
|
||||
'a.created_by','created_by',
|
||||
'a.modified_by','modified_by',
|
||||
'g.system_name','component',
|
||||
'a.target','target',
|
||||
'a.type','type',
|
||||
'a.comment_type','comment_type',
|
||||
@ -146,13 +145,6 @@ class Custom_codesModel extends ListModel
|
||||
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
|
||||
$this->setState('filter.search', $search);
|
||||
|
||||
$component = $this->getUserStateFromRequest($this->context . '.filter.component', 'filter_component');
|
||||
if ($formSubmited)
|
||||
{
|
||||
$component = $app->input->post->get('component');
|
||||
$this->setState('filter.component', $component);
|
||||
}
|
||||
|
||||
$target = $this->getUserStateFromRequest($this->context . '.filter.target', 'filter_target');
|
||||
if ($formSubmited)
|
||||
{
|
||||
@ -224,8 +216,8 @@ class Custom_codesModel extends ListModel
|
||||
continue;
|
||||
}
|
||||
|
||||
// [1641]=> Target (code action)
|
||||
$item->target_code = $item->target;
|
||||
// making sure we have the component details
|
||||
}
|
||||
}
|
||||
|
||||
@ -235,14 +227,17 @@ class Custom_codesModel extends ListModel
|
||||
{
|
||||
if ($item->target == 2)
|
||||
{
|
||||
$item->component_system_name = $item->system_name;
|
||||
$item->path = '[CUSTO'.'MCODE='.$item->id.']'; // so it is not detected
|
||||
$item->path = '[CUSTO' . 'MCODE='.$item->id.']'; // so it is not detected
|
||||
if (StringHelper::check($item->function_name))
|
||||
{
|
||||
$item->path = '[CUSTO'.'MCODE='.$item->function_name.']'; // so it is not detected
|
||||
$item->path = '[CUSTO' . 'MCODE='.$item->function_name.']'; // so it is not detected
|
||||
}
|
||||
$item->type = 2;
|
||||
}
|
||||
elseif ($item->target == 1)
|
||||
{
|
||||
$item->system_name = $item->component_system_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -335,8 +330,8 @@ class Custom_codesModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_custom_code', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_component table.
|
||||
$query->select($db->quoteName('g.system_name','component_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.component') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['component_system_name','component_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.component') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
@ -382,27 +377,10 @@ class Custom_codesModel extends ListModel
|
||||
else
|
||||
{
|
||||
$search = $db->quote('%' . $db->escape($search) . '%');
|
||||
$query->where('(a.component LIKE '.$search.' OR g.system_name LIKE '.$search.' OR a.path LIKE '.$search.' OR a.comment_type LIKE '.$search.' OR a.joomla_version LIKE '.$search.' OR a.function_name LIKE '.$search.' OR a.system_name LIKE '.$search.')');
|
||||
$query->where('(a.system_name LIKE '.$search.' OR a.path LIKE '.$search.' OR a.comment_type LIKE '.$search.' OR a.joomla_version LIKE '.$search.' OR a.function_name LIKE '.$search.' OR a.component LIKE '.$search.')');
|
||||
}
|
||||
}
|
||||
|
||||
// Filter by Component.
|
||||
$_component = $this->getState('filter.component');
|
||||
if (is_numeric($_component))
|
||||
{
|
||||
if (is_float($_component))
|
||||
{
|
||||
$query->where('a.component = ' . (float) $_component);
|
||||
}
|
||||
else
|
||||
{
|
||||
$query->where('a.component = ' . (int) $_component);
|
||||
}
|
||||
}
|
||||
elseif (StringHelper::check($_component))
|
||||
{
|
||||
$query->where('a.component = ' . $db->quote($db->escape($_component)));
|
||||
}
|
||||
// Filter by Target.
|
||||
$_target = $this->getState('filter.target');
|
||||
if (is_numeric($_target))
|
||||
@ -495,7 +473,6 @@ class Custom_codesModel extends ListModel
|
||||
$id .= ':' . $this->getState('filter.ordering');
|
||||
$id .= ':' . $this->getState('filter.created_by');
|
||||
$id .= ':' . $this->getState('filter.modified_by');
|
||||
$id .= ':' . $this->getState('filter.component');
|
||||
$id .= ':' . $this->getState('filter.target');
|
||||
$id .= ':' . $this->getState('filter.type');
|
||||
$id .= ':' . $this->getState('filter.comment_type');
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -207,7 +208,7 @@ class Dynamic_getModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
||||
if (($vdm = SessionHelper::get('dynamic_get__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -215,17 +216,17 @@ class Dynamic_getModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
SessionHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -381,7 +382,7 @@ class Dynamic_getModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
||||
if (($vdm = SessionHelper::get('dynamic_get__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -389,54 +390,18 @@ class Dynamic_getModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
SessionHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'join_view_table' => 'view_table',
|
||||
'join_db_table' => 'db_table',
|
||||
'filter' => 'filter_type',
|
||||
'where' => 'table_key',
|
||||
'order' => 'table_key',
|
||||
'global' => 'name'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_dynamic_get', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
@ -547,6 +512,19 @@ class Dynamic_getModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -795,7 +773,7 @@ class Dynamic_getModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -364,7 +364,7 @@ class Dynamic_getsModel extends ListModel
|
||||
}
|
||||
|
||||
// Add the list ordering clause.
|
||||
$orderCol = $this->getState('list.ordering', 'a.id');
|
||||
$orderCol = $this->getState('list.ordering', '');
|
||||
$orderDirn = $this->getState('list.direction', 'desc');
|
||||
if ($orderCol != '')
|
||||
{
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -200,7 +201,7 @@ class FieldModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
||||
if (($vdm = SessionHelper::get('field__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -208,17 +209,17 @@ class FieldModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
SessionHelper::set('field__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -318,7 +319,7 @@ class FieldModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
||||
if (($vdm = SessionHelper::get('field__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -326,17 +327,17 @@ class FieldModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
SessionHelper::set('field__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -448,6 +449,19 @@ class FieldModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -690,7 +704,7 @@ class FieldModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1144,7 +1158,7 @@ class FieldModel extends AdminModel
|
||||
// get the extra properties
|
||||
$extraproperties = $input->get('extraproperties', null, 'ARRAY');
|
||||
// get the type php property
|
||||
$typephp = array();
|
||||
$typephp = [];
|
||||
foreach (ComponentbuilderHelper::$phpFieldArray as $x)
|
||||
{
|
||||
$typephp[$x] = $input->get('property_type_php' . $x, null, 'RAW');
|
||||
@ -1153,7 +1167,7 @@ class FieldModel extends AdminModel
|
||||
if (UtilitiesArrayHelper::check($properties))
|
||||
{
|
||||
// set the bucket
|
||||
$bucket = array();
|
||||
$bucket = [];
|
||||
foreach($properties as $property)
|
||||
{
|
||||
// make sure we have the correct values
|
||||
|
@ -429,55 +429,51 @@ class FieldsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
|
||||
$query->join('LEFT', $db->quoteName('#__categories', 'c') . ' ON (' . $db->quoteName('a.catid') . ' = ' . $db->quoteName('c.id') . ')');
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
$field_guids = [];
|
||||
$get_ids = true;
|
||||
if ($get_ids && $filter_extension !== null && !empty($filter_extension))
|
||||
{
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
$field_ids = array();
|
||||
$get_ids = true;
|
||||
if ($get_ids && $filter_extension !== null && !empty($filter_extension))
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($guids = JCBFilterHelper::linked((string) $type_extension[1], (string) $type_extension[0])) !== null)
|
||||
{
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($ids = JCBFilterHelper::linked((int) $type_extension[1], (string) $type_extension[0])) !== null)
|
||||
{
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
$field_guids = $guids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "admin_view"
|
||||
$filter_admin_view = $this->state->get("filter.admin_view");
|
||||
if ($get_ids && $filter_admin_view !== null && !empty($filter_admin_view))
|
||||
// Filtering "admin_view"
|
||||
$filter_admin_view = $this->state->get("filter.admin_view");
|
||||
if ($get_ids && $filter_admin_view !== null && !empty($filter_admin_view))
|
||||
{
|
||||
if (($guids = JCBFilterHelper::linked((string) $filter_admin_view, 'admin_view')) !== null)
|
||||
{
|
||||
if (($ids = JCBFilterHelper::linked((int) $filter_admin_view, 'admin_view')) !== null)
|
||||
{
|
||||
// view will return less fields, so we ignore the component
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
// view will return less fields, so we ignore the component
|
||||
$field_guids = $guids;
|
||||
}
|
||||
// now check if we have IDs
|
||||
if ($get_ids && UtilitiesArrayHelper::check($field_ids))
|
||||
else
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $field_ids) . ')');
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
// now check if we have GUIDs
|
||||
if ($get_ids && UtilitiesArrayHelper::check($field_guids))
|
||||
{
|
||||
$query->where($db->quoteName('a.guid') . ' IN ("' . implode('","', $field_guids) . '")');
|
||||
}
|
||||
|
||||
// From the componentbuilder_fieldtype table.
|
||||
$query->select($db->quoteName('g.name','fieldtype_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_fieldtype', 'g') . ' ON (' . $db->quoteName('a.fieldtype') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['fieldtype_name','fieldtype_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_fieldtype', 'g') . ' ON (' . $db->quoteName('a.fieldtype') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -174,7 +175,7 @@ class FieldtypeModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('fieldtype__'.$id))
|
||||
if (($vdm = SessionHelper::get('fieldtype__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -182,17 +183,17 @@ class FieldtypeModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
ComponentbuilderHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
SessionHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -246,7 +247,7 @@ class FieldtypeModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('fieldtype__'.$id))
|
||||
if (($vdm = SessionHelper::get('fieldtype__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -254,17 +255,17 @@ class FieldtypeModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
ComponentbuilderHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
SessionHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
// check what type of properties array we have here (should be subform... but just incase)
|
||||
@ -287,7 +288,7 @@ class FieldtypeModel extends AdminModel
|
||||
$this->db->updateObject('#__componentbuilder_fieldtype', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
$this->fieldtypevvvv = $item->id;
|
||||
$this->fieldtypevvvv = $item->guid;
|
||||
|
||||
return $item;
|
||||
}
|
||||
@ -297,7 +298,7 @@ class FieldtypeModel extends AdminModel
|
||||
*
|
||||
* @return mixed An array of data items on success, false on failure.
|
||||
*/
|
||||
public function getVxsfields()
|
||||
public function getVxlfields()
|
||||
{
|
||||
// Get the user object.
|
||||
$user = Factory::getApplication()->getIdentity();
|
||||
@ -313,55 +314,51 @@ class FieldtypeModel extends AdminModel
|
||||
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
|
||||
$query->join('LEFT', $db->quoteName('#__categories', 'c') . ' ON (' . $db->quoteName('a.catid') . ' = ' . $db->quoteName('c.id') . ')');
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
$field_guids = [];
|
||||
$get_ids = true;
|
||||
if ($get_ids && $filter_extension !== null && !empty($filter_extension))
|
||||
{
|
||||
// Filtering "extension"
|
||||
$filter_extension = $this->state->get("filter.extension");
|
||||
$field_ids = array();
|
||||
$get_ids = true;
|
||||
if ($get_ids && $filter_extension !== null && !empty($filter_extension))
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($guids = JCBFilterHelper::linked((string) $type_extension[1], (string) $type_extension[0])) !== null)
|
||||
{
|
||||
// column name, and id
|
||||
$type_extension = explode('__', $filter_extension);
|
||||
if (($ids = JCBFilterHelper::linked((int) $type_extension[1], (string) $type_extension[0])) !== null)
|
||||
{
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
$field_guids = $guids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Filtering "admin_view"
|
||||
$filter_admin_view = $this->state->get("filter.admin_view");
|
||||
if ($get_ids && $filter_admin_view !== null && !empty($filter_admin_view))
|
||||
// Filtering "admin_view"
|
||||
$filter_admin_view = $this->state->get("filter.admin_view");
|
||||
if ($get_ids && $filter_admin_view !== null && !empty($filter_admin_view))
|
||||
{
|
||||
if (($guids = JCBFilterHelper::linked((string) $filter_admin_view, 'admin_view')) !== null)
|
||||
{
|
||||
if (($ids = JCBFilterHelper::linked((int) $filter_admin_view, 'admin_view')) !== null)
|
||||
{
|
||||
// view will return less fields, so we ignore the component
|
||||
$field_ids = $ids;
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
// view will return less fields, so we ignore the component
|
||||
$field_guids = $guids;
|
||||
}
|
||||
// now check if we have IDs
|
||||
if ($get_ids && UtilitiesArrayHelper::check($field_ids))
|
||||
else
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $field_ids) . ')');
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
$get_ids = false;
|
||||
}
|
||||
}
|
||||
// now check if we have GUIDs
|
||||
if ($get_ids && UtilitiesArrayHelper::check($field_guids))
|
||||
{
|
||||
$query->where($db->quoteName('a.guid') . ' IN ("' . implode('","', $field_guids) . '")');
|
||||
}
|
||||
|
||||
// From the componentbuilder_fieldtype table.
|
||||
$query->select($db->quoteName('g.name','fieldtype_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_fieldtype', 'g') . ' ON (' . $db->quoteName('a.fieldtype') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['fieldtype_name','fieldtype_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_fieldtype', 'g') . ' ON (' . $db->quoteName('a.fieldtype') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by fieldtypevvvv global.
|
||||
$fieldtypevvvv = $this->fieldtypevvvv;
|
||||
@ -439,13 +436,13 @@ class FieldtypeModel extends AdminModel
|
||||
foreach ($items as $nr => &$item)
|
||||
{
|
||||
// convert datatype
|
||||
$item->datatype = $this->selectionTranslationVxsfields($item->datatype, 'datatype');
|
||||
$item->datatype = $this->selectionTranslationVxlfields($item->datatype, 'datatype');
|
||||
// convert indexes
|
||||
$item->indexes = $this->selectionTranslationVxsfields($item->indexes, 'indexes');
|
||||
$item->indexes = $this->selectionTranslationVxlfields($item->indexes, 'indexes');
|
||||
// convert null_switch
|
||||
$item->null_switch = $this->selectionTranslationVxsfields($item->null_switch, 'null_switch');
|
||||
$item->null_switch = $this->selectionTranslationVxlfields($item->null_switch, 'null_switch');
|
||||
// convert store
|
||||
$item->store = $this->selectionTranslationVxsfields($item->store, 'store');
|
||||
$item->store = $this->selectionTranslationVxlfields($item->store, 'store');
|
||||
}
|
||||
}
|
||||
|
||||
@ -459,7 +456,7 @@ class FieldtypeModel extends AdminModel
|
||||
*
|
||||
* @return string The translatable string.
|
||||
*/
|
||||
public function selectionTranslationVxsfields($value,$name)
|
||||
public function selectionTranslationVxlfields($value,$name)
|
||||
{
|
||||
// Array of datatype language strings
|
||||
if ($name === 'datatype')
|
||||
@ -642,6 +639,19 @@ class FieldtypeModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the properties (sub form) layout
|
||||
@ -870,7 +880,7 @@ class FieldtypeModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -112,9 +112,12 @@ class Get_snippetsModel extends ListModel
|
||||
];
|
||||
|
||||
/**
|
||||
* A custom property for UIKit components. (not used unless you load v2)
|
||||
* A custom property for UI Kit components.
|
||||
*
|
||||
* @var mixed Property for storing UI Kit component-related data or objects.
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected $uikitComp;
|
||||
protected $uikitComp = [];
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
|
@ -272,6 +272,19 @@ class Help_documentModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -490,7 +503,7 @@ class Help_documentModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,6 +31,7 @@ use VDM\Joomla\Utilities\GuidHelper;
|
||||
use Joomla\CMS\Component\ComponentHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use Joomla\Filesystem\File as FilesystemFile;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -205,7 +206,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
// set auto loader
|
||||
ComponentbuilderHelper::autoLoader('smart');
|
||||
// get install folder
|
||||
$dir = JFile::stripExt($package['dir']);
|
||||
$dir = FilesystemFile::stripExt($package['dir']);
|
||||
// remove unziped folder
|
||||
ComponentbuilderHelper::removeFolder($dir);
|
||||
}
|
||||
@ -311,7 +312,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
// set auto loader
|
||||
ComponentbuilderHelper::autoLoader('smart');
|
||||
// extract the package
|
||||
if (JFile::exists($package['dir']))
|
||||
if (is_file($package['dir']))
|
||||
{
|
||||
// does this package pass a checksum
|
||||
$checksum = false;
|
||||
@ -359,12 +360,12 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
// get the zip adapter
|
||||
$zip = JArchive::getAdapter('zip');
|
||||
// set the directory name
|
||||
$this->dir = JFile::stripExt($package['dir']);
|
||||
$this->dir = FilesystemFile::stripExt($package['dir']);
|
||||
// unzip the package
|
||||
$zip->extract($package['dir'], $this->dir);
|
||||
// check for database file
|
||||
$infoFile = $this->dir . '/info.vdm';
|
||||
if (JFile::exists($infoFile))
|
||||
if (is_file($infoFile))
|
||||
{
|
||||
// load the data
|
||||
if ($info = FileHelper::getContent($infoFile))
|
||||
@ -635,13 +636,13 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
// set auto loader
|
||||
ComponentbuilderHelper::autoLoader('smart');
|
||||
// extract the package
|
||||
if (JFile::exists($package['dir']))
|
||||
if (is_file($package['dir']))
|
||||
{
|
||||
// set the directory name
|
||||
$this->dir = JFile::stripExt($package['dir']);
|
||||
$this->dir = FilesystemFile::stripExt($package['dir']);
|
||||
// check for database file
|
||||
$dbFile = $this->dir . '/db.vdm';
|
||||
if (!JFile::exists($dbFile))
|
||||
if (!is_file($dbFile))
|
||||
{
|
||||
// get the zip adapter
|
||||
$zip = JArchive::getAdapter('zip');
|
||||
@ -649,7 +650,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
$zip->extract($package['dir'], $this->dir);
|
||||
}
|
||||
// check again
|
||||
if (JFile::exists($dbFile))
|
||||
if (is_file($dbFile))
|
||||
{
|
||||
// load the data
|
||||
if ($data = FileHelper::getContent($dbFile))
|
||||
@ -942,10 +943,10 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
$success = true;
|
||||
// check if we have custom files
|
||||
$customDir = str_replace('//', '/', $this->dir . '/custom');
|
||||
if (JFolder::exists($customDir))
|
||||
if (is_dir($customDir))
|
||||
{
|
||||
// great we have some custom stuff lets move it
|
||||
if (!JFolder::copy($customDir, $customPath,'',true))
|
||||
if (!Folder::copy($customDir, $customPath,'',true))
|
||||
{
|
||||
$this->app->enqueueMessage(Text::_('COM_COMPONENTBUILDER_BCUSTOM_FILESB_NOT_MOVED_TO_CORRECT_LOCATION'), 'error');
|
||||
$success = false;
|
||||
@ -958,10 +959,10 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
}
|
||||
// check if we have images
|
||||
$imageDir = str_replace('//', '/', $this->dir . '/images');
|
||||
if (JFolder::exists($imageDir))
|
||||
if (is_dir($imageDir))
|
||||
{
|
||||
// great we have some images lets move them
|
||||
if (!JFolder::copy($imageDir, $imagesPath,'',true))
|
||||
if (!Folder::copy($imageDir, $imagesPath,'',true))
|
||||
{
|
||||
$this->app->enqueueMessage(Text::_('COM_COMPONENTBUILDER_BIMAGESB_NOT_MOVED_TO_CORRECT_LOCATION'), 'error');
|
||||
$success = false;
|
||||
@ -974,10 +975,10 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
}
|
||||
// now move the dynamic files if found
|
||||
$dynamicDir = str_replace('//', '/', $this->dir . '/dynamic');
|
||||
if (JFolder::exists($dynamicDir))
|
||||
if (is_dir($dynamicDir))
|
||||
{
|
||||
// get a list of folders
|
||||
$folders = JFolder::folders($dynamicDir);
|
||||
$folders = Folder::folders($dynamicDir);
|
||||
// check if we have files
|
||||
if(UtilitiesArrayHelper::check($folders))
|
||||
{
|
||||
@ -985,7 +986,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
{
|
||||
$destination = $this->setDynamicPath($folder);
|
||||
$fullPath = str_replace('//', '/', $dynamicDir . '/' . $folder);
|
||||
if (!JFolder::exists($fullPath) || !JFolder::copy($fullPath, $destination,'',true))
|
||||
if (!is_dir($fullPath) || !Folder::copy($fullPath, $destination,'',true))
|
||||
{
|
||||
$this->app->enqueueMessage(Text::sprintf('COM_COMPONENTBUILDER_FOLDER_BSB_WAS_NOT_MOVED_TO_BSB', $folder, $destination), 'error');
|
||||
$success = false;
|
||||
@ -998,7 +999,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
}
|
||||
}
|
||||
// get a list of files
|
||||
$files = JFolder::files($dynamicDir);
|
||||
$files = Folder::files($dynamicDir);
|
||||
// check if we have files
|
||||
if(UtilitiesArrayHelper::check($files))
|
||||
{
|
||||
@ -1006,7 +1007,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
{
|
||||
$destination = $this->setDynamicPath($file);
|
||||
$fullPath = str_replace('//', '/', $dynamicDir . '/' . $file);
|
||||
if (!JFile::exists($fullPath) || !JFile::copy($fullPath, $destination))
|
||||
if (!is_file($fullPath) || !FilesystemFile::copy($fullPath, $destination))
|
||||
{
|
||||
$this->app->enqueueMessage(Text::sprintf('COM_COMPONENTBUILDER_FILE_BSB_WAS_NOT_MOVED_TO_BSB', $file, $destination), 'error');
|
||||
$success = false;
|
||||
@ -1041,7 +1042,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
{
|
||||
$subPath = str_replace('//', '/', $this->dir . '/' . $folder);
|
||||
// go to the package sub folder if found
|
||||
if (JFolder::exists($subPath))
|
||||
if (is_dir($subPath))
|
||||
{
|
||||
$this->unLockFile($subPath);
|
||||
}
|
||||
@ -1061,7 +1062,7 @@ class Import_joomla_componentsimportModel extends BaseDatabaseModel
|
||||
// we are changing the working directory to the tmp path (important)
|
||||
chdir($tmpPath);
|
||||
// get a list of files in the current directory tree (all)
|
||||
$files = JFolder::files('.', '.', true, true);
|
||||
$files = Folder::files('.', '.', true, true);
|
||||
// read in the file content
|
||||
foreach ($files as $file)
|
||||
{
|
||||
|
@ -29,11 +29,13 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\FOF\Encrypt\AES;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Data\Factory as DataFactory;
|
||||
use VDM\Joomla\Utilities\String\ComponentCodeNameHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
use VDM\Joomla\Componentbuilder\Extrusion\Helper\Extrusion;
|
||||
@ -331,7 +333,7 @@ class Joomla_componentModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('joomla_component__'.$id))
|
||||
if (($vdm = SessionHelper::get('joomla_component__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -339,42 +341,23 @@ class Joomla_componentModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'joomla_component__'.$id);
|
||||
ComponentbuilderHelper::set('joomla_component__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'joomla_component__'.$id);
|
||||
SessionHelper::set('joomla_component__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $this->vastDevMod;
|
||||
}
|
||||
|
||||
/**
|
||||
* The assistant form fields
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $assistantForm = array(
|
||||
'left' => array(
|
||||
'name',
|
||||
'short_description',
|
||||
'guid',
|
||||
'copyright'
|
||||
),
|
||||
'right' => array(
|
||||
'name_code',
|
||||
'license',
|
||||
'bom',
|
||||
'image'
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
@ -560,7 +543,7 @@ class Joomla_componentModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('joomla_component__'.$id))
|
||||
if (($vdm = SessionHelper::get('joomla_component__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -568,49 +551,18 @@ class Joomla_componentModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'joomla_component__'.$id);
|
||||
ComponentbuilderHelper::set('joomla_component__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'joomla_component__'.$id);
|
||||
SessionHelper::set('joomla_component__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
|
||||
// update the fields
|
||||
$objectUpdate = new \stdClass();
|
||||
$objectUpdate->id = (int) $item->id;
|
||||
// repeatable values to check
|
||||
$arrayChecker = array(
|
||||
'addcontributors' => 'name'
|
||||
);
|
||||
foreach ($arrayChecker as $_value => $checker)
|
||||
{
|
||||
// check what type of array we have here (should be subform... but just in case)
|
||||
// This could happen due to huge data sets
|
||||
if (isset($item->{$_value}) && isset($item->{$_value}[$checker]))
|
||||
{
|
||||
$bucket = array();
|
||||
foreach($item->{$_value} as $option => $values)
|
||||
{
|
||||
foreach($values as $nr => $value)
|
||||
{
|
||||
$bucket[$_value.$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
$item->{$_value} = $bucket;
|
||||
$objectUpdate->{$_value} = json_encode($bucket, JSON_FORCE_OBJECT);
|
||||
}
|
||||
}
|
||||
// be sure to update the table if we found repeatable fields that are still not converted
|
||||
if (count((array) $objectUpdate) > 1)
|
||||
{
|
||||
$this->_db->updateObject('#__componentbuilder_joomla_component', $objectUpdate, 'id');
|
||||
}
|
||||
}
|
||||
|
||||
@ -723,6 +675,19 @@ class Joomla_componentModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Only load these values if no id is found
|
||||
if (0 == $id)
|
||||
@ -976,7 +941,7 @@ class Joomla_componentModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1010,31 +975,54 @@ class Joomla_componentModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// we must also delete the linked tables found
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'component_admin_views' => 'joomla_component',
|
||||
'component_site_views' => 'joomla_component',
|
||||
'component_custom_admin_views' => 'joomla_component',
|
||||
'component_updates' => 'joomla_component',
|
||||
'component_mysql_tweaks' => 'joomla_component',
|
||||
'component_custom_admin_menus' => 'joomla_component',
|
||||
'component_config' => 'joomla_component',
|
||||
'component_dashboard' => 'joomla_component',
|
||||
'component_files_folders' => 'joomla_component',
|
||||
'component_placeholders' => 'joomla_component',
|
||||
'custom_code' => 'component',
|
||||
'component_router' => 'joomla_component'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
$_tablesArray = array(
|
||||
'component_admin_views' => 'joomla_component',
|
||||
'component_site_views' => 'joomla_component',
|
||||
'component_custom_admin_views' => 'joomla_component',
|
||||
'component_updates' => 'joomla_component',
|
||||
'component_mysql_tweaks' => 'joomla_component',
|
||||
'component_custom_admin_menus' => 'joomla_component',
|
||||
'component_config' => 'joomla_component',
|
||||
'component_dashboard' => 'joomla_component',
|
||||
'component_files_folders' => 'joomla_component',
|
||||
'component_placeholders' => 'joomla_component',
|
||||
'custom_code' => 'component',
|
||||
'component_router' => 'joomla_component'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable => $_key)
|
||||
foreach($_tables_array as $_delete_table => $_field_name)
|
||||
{
|
||||
// get the joomla_component guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'joomla_component'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, $_key, 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_delete_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
// delete items
|
||||
$_Model = ComponentbuilderHelper::getModel($_delete_table);
|
||||
|
||||
// change publish state to trash (in-case the state was not changed in sync with the parent)
|
||||
$_Model->publish($_pks, -2);
|
||||
|
||||
// delete the items
|
||||
$_Model->delete($_pks);
|
||||
}
|
||||
}
|
||||
@ -1059,30 +1047,50 @@ class Joomla_componentModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'component_admin_views' => 'joomla_component',
|
||||
'component_site_views' => 'joomla_component',
|
||||
'component_custom_admin_views' => 'joomla_component',
|
||||
'component_updates' => 'joomla_component',
|
||||
'component_mysql_tweaks' => 'joomla_component',
|
||||
'component_custom_admin_menus' => 'joomla_component',
|
||||
'component_config' => 'joomla_component',
|
||||
'component_dashboard' => 'joomla_component',
|
||||
'component_files_folders' => 'joomla_component',
|
||||
'component_placeholders' => 'joomla_component',
|
||||
'custom_code' => 'component',
|
||||
'component_router' => 'joomla_component'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
$_tablesArray = array(
|
||||
'component_admin_views' => 'joomla_component',
|
||||
'component_site_views' => 'joomla_component',
|
||||
'component_custom_admin_views' => 'joomla_component',
|
||||
'component_updates' => 'joomla_component',
|
||||
'component_mysql_tweaks' => 'joomla_component',
|
||||
'component_custom_admin_menus' => 'joomla_component',
|
||||
'component_config' => 'joomla_component',
|
||||
'component_dashboard' => 'joomla_component',
|
||||
'component_files_folders' => 'joomla_component',
|
||||
'component_placeholders' => 'joomla_component',
|
||||
'custom_code' => 'component',
|
||||
'component_router' => 'joomla_component'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable => $_key)
|
||||
foreach($_tables_array as $_update_table => $_field_name)
|
||||
{
|
||||
// get the admin guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'joomla_component'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, $_key, 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_update_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
$_Model = ComponentbuilderHelper::getModel($_update_table);
|
||||
|
||||
// change publish state
|
||||
$_Model->publish($_pks, $value);
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -29,10 +29,12 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Data\Factory as DataFactory;
|
||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
@ -237,7 +239,7 @@ class Joomla_moduleModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('joomla_module__'.$id))
|
||||
if (($vdm = SessionHelper::get('joomla_module__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -245,17 +247,17 @@ class Joomla_moduleModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'joomla_module__'.$id);
|
||||
ComponentbuilderHelper::set('joomla_module__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'joomla_module__'.$id);
|
||||
SessionHelper::set('joomla_module__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -409,7 +411,7 @@ class Joomla_moduleModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('joomla_module__'.$id))
|
||||
if (($vdm = SessionHelper::get('joomla_module__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -417,17 +419,17 @@ class Joomla_moduleModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'joomla_module__'.$id);
|
||||
ComponentbuilderHelper::set('joomla_module__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'joomla_module__'.$id);
|
||||
SessionHelper::set('joomla_module__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -541,6 +543,19 @@ class Joomla_moduleModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -781,27 +796,48 @@ class Joomla_moduleModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// we must also delete the linked tables found
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'joomla_module_updates' => 'joomla_module',
|
||||
'joomla_module_files_folders_urls' => 'joomla_module'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
// linked tables to update
|
||||
$_tablesArray = array(
|
||||
'joomla_module_updates' => 'joomla_module',
|
||||
'joomla_module_files_folders_urls' => 'joomla_module'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable => $_key)
|
||||
foreach($_tables_array as $_delete_table => $_field_name)
|
||||
{
|
||||
// get the joomla_module guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'joomla_module'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, $_key, 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_delete_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
// change publish state
|
||||
$_Model = ComponentbuilderHelper::getModel($_delete_table);
|
||||
|
||||
// change publish state to trash (in-case the state was not changed in sync with the parent)
|
||||
$_Model->publish($_pks, -2);
|
||||
|
||||
// delete the items
|
||||
$_Model->delete($_pks);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -822,27 +858,45 @@ class Joomla_moduleModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'joomla_module_updates' => 'joomla_module',
|
||||
'joomla_module_files_folders_urls' => 'joomla_module'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
// linked tables to update
|
||||
$_tablesArray = array(
|
||||
'joomla_module_updates' => 'joomla_module',
|
||||
'joomla_module_files_folders_urls' => 'joomla_module'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable => $_key)
|
||||
foreach($_tables_array as $_update_table => $_field_name)
|
||||
{
|
||||
// get the admin guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'joomla_module'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, $_key, 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_update_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
$_Model = ComponentbuilderHelper::getModel($_update_table);
|
||||
|
||||
// change publish state
|
||||
$_Model->publish($_pks, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -306,6 +306,19 @@ class Joomla_module_files_folders_urlsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
@ -260,6 +260,19 @@ class Joomla_module_updatesModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the version_update (sub form) layout
|
||||
|
@ -204,8 +204,8 @@ class Joomla_modules_files_folders_urlsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_module_files_folders_urls', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_module table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_module_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_module', 'g') . ' ON (' . $db->quoteName('a.joomla_module') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_module_system_name','joomla_module_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_module', 'g') . ' ON (' . $db->quoteName('a.joomla_module') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Joomla_modules_updatesModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_module_updates', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_module table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_module_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_module', 'g') . ' ON (' . $db->quoteName('a.joomla_module') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_module_system_name','joomla_module_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_module', 'g') . ' ON (' . $db->quoteName('a.joomla_module') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -29,10 +29,12 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Data\Factory as DataFactory;
|
||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
@ -214,7 +216,7 @@ class Joomla_pluginModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('joomla_plugin__'.$id))
|
||||
if (($vdm = SessionHelper::get('joomla_plugin__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -222,17 +224,17 @@ class Joomla_pluginModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'joomla_plugin__'.$id);
|
||||
ComponentbuilderHelper::set('joomla_plugin__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'joomla_plugin__'.$id);
|
||||
SessionHelper::set('joomla_plugin__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -374,7 +376,7 @@ class Joomla_pluginModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('joomla_plugin__'.$id))
|
||||
if (($vdm = SessionHelper::get('joomla_plugin__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -382,17 +384,17 @@ class Joomla_pluginModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'joomla_plugin__'.$id);
|
||||
ComponentbuilderHelper::set('joomla_plugin__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'joomla_plugin__'.$id);
|
||||
SessionHelper::set('joomla_plugin__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -506,6 +508,19 @@ class Joomla_pluginModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -746,27 +761,48 @@ class Joomla_pluginModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// we must also delete the linked tables found
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'joomla_plugin_updates' => 'joomla_plugin',
|
||||
'joomla_plugin_files_folders_urls' => 'joomla_plugin'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
// linked tables to update
|
||||
$_tablesArray = array(
|
||||
'joomla_plugin_updates' => 'joomla_plugin',
|
||||
'joomla_plugin_files_folders_urls' => 'joomla_plugin'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable => $_key)
|
||||
foreach($_tables_array as $_delete_table => $_field_name)
|
||||
{
|
||||
// get the joomla_plugin guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'joomla_plugin'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, $_key, 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_delete_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
// change publish state
|
||||
$_Model = ComponentbuilderHelper::getModel($_delete_table);
|
||||
|
||||
// change publish state to trash (in-case the state was not changed in sync with the parent)
|
||||
$_Model->publish($_pks, -2);
|
||||
|
||||
// delete the items
|
||||
$_Model->delete($_pks);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -787,27 +823,45 @@ class Joomla_pluginModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// linked tables to update
|
||||
$_tables_array = [
|
||||
'joomla_plugin_updates' => 'joomla_plugin',
|
||||
'joomla_plugin_files_folders_urls' => 'joomla_plugin'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
// linked tables to update
|
||||
$_tablesArray = array(
|
||||
'joomla_plugin_updates' => 'joomla_plugin',
|
||||
'joomla_plugin_files_folders_urls' => 'joomla_plugin'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable => $_key)
|
||||
foreach($_tables_array as $_update_table => $_field_name)
|
||||
{
|
||||
// get the admin guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'joomla_plugin'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, $_key, 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_update_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
$_Model = ComponentbuilderHelper::getModel($_update_table);
|
||||
|
||||
// change publish state
|
||||
$_Model->publish($_pks, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -306,6 +306,19 @@ class Joomla_plugin_files_folders_urlsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
@ -29,9 +29,11 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -251,7 +253,27 @@ class Joomla_plugin_groupModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
if (0 == $id || !($val = $form->getValue('guid')))
|
||||
{
|
||||
$form->setValue('guid', null, GuidHelper::get());
|
||||
}
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
@ -448,7 +470,7 @@ class Joomla_plugin_groupModel extends AdminModel
|
||||
*/
|
||||
protected function getUniqueFields()
|
||||
{
|
||||
return false;
|
||||
return array('guid');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -857,7 +879,21 @@ class Joomla_plugin_groupModel extends AdminModel
|
||||
}
|
||||
|
||||
// make sure the name is safe to be used as a function name
|
||||
$data['name'] = ClassfunctionHelper::safe($data['name']);
|
||||
$data['name'] = ClassfunctionHelper::safe($data['name']);
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
if (empty($data['guid']) && $data['id'] > 0)
|
||||
{
|
||||
// get the existing one
|
||||
$data['guid'] = (string) GetHelper::var('joomla_plugin_group', $data['id'], 'id', 'guid');
|
||||
}
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
while (!GuidHelper::valid($data['guid'], "joomla_plugin_group", $data['id']))
|
||||
{
|
||||
// must always be set
|
||||
$data['guid'] = (string) GuidHelper::get();
|
||||
}
|
||||
|
||||
// Set the Params Items to data
|
||||
if (isset($data['params']) && is_array($data['params']))
|
||||
|
@ -198,8 +198,8 @@ class Joomla_plugin_groupsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_plugin_group', 'a'));
|
||||
|
||||
// From the componentbuilder_class_extends table.
|
||||
$query->select($db->quoteName('g.name','class_extends_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_class_extends', 'g') . ' ON (' . $db->quoteName('a.class_extends') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['class_extends_name','class_extends_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_class_extends', 'g') . ' ON (' . $db->quoteName('a.class_extends') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -260,6 +260,19 @@ class Joomla_plugin_updatesModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the version_update (sub form) layout
|
||||
|
@ -398,12 +398,12 @@ class Joomla_pluginsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_plugin', 'a'));
|
||||
|
||||
// From the componentbuilder_class_extends table.
|
||||
$query->select($db->quoteName('g.name','class_extends_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_class_extends', 'g') . ' ON (' . $db->quoteName('a.class_extends') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['class_extends_name','class_extends_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_class_extends', 'g') . ' ON (' . $db->quoteName('a.class_extends') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// From the componentbuilder_joomla_plugin_group table.
|
||||
$query->select($db->quoteName('h.name','joomla_plugin_group_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin_group', 'h') . ' ON (' . $db->quoteName('a.joomla_plugin_group') . ' = ' . $db->quoteName('h.id') . ')');
|
||||
$query->select($db->quoteName(['h.name','h.id'],['joomla_plugin_group_name','joomla_plugin_group_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin_group', 'h') . ' ON (' . $db->quoteName('a.joomla_plugin_group') . ' = ' . $db->quoteName('h.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Joomla_plugins_files_folders_urlsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_plugin_files_folders_urls', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_plugin table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_plugin_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_plugin_system_name','joomla_plugin_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Joomla_plugins_updatesModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_joomla_plugin_updates', 'a'));
|
||||
|
||||
// From the componentbuilder_joomla_plugin table.
|
||||
$query->select($db->quoteName('g.system_name','joomla_plugin_system_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.system_name','g.id'],['joomla_plugin_system_name','joomla_plugin_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_plugin', 'g') . ' ON (' . $db->quoteName('a.joomla_plugin') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -263,6 +263,19 @@ class Joomla_powerModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
|
@ -250,6 +250,19 @@ class LanguageModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -147,7 +148,7 @@ class Language_translationModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('language_translation__'.$id))
|
||||
if (($vdm = SessionHelper::get('language_translation__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -155,17 +156,17 @@ class Language_translationModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'language_translation__'.$id);
|
||||
ComponentbuilderHelper::set('language_translation__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'language_translation__'.$id);
|
||||
SessionHelper::set('language_translation__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -237,7 +238,7 @@ class Language_translationModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('language_translation__'.$id))
|
||||
if (($vdm = SessionHelper::get('language_translation__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -245,17 +246,17 @@ class Language_translationModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'language_translation__'.$id);
|
||||
ComponentbuilderHelper::set('language_translation__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'language_translation__'.$id);
|
||||
SessionHelper::set('language_translation__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -367,6 +368,19 @@ class Language_translationModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
@ -29,10 +29,12 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -169,7 +171,7 @@ class LayoutModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('layout__'.$id))
|
||||
if (($vdm = SessionHelper::get('layout__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -177,17 +179,17 @@ class LayoutModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'layout__'.$id);
|
||||
ComponentbuilderHelper::set('layout__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'layout__'.$id);
|
||||
SessionHelper::set('layout__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -253,7 +255,7 @@ class LayoutModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('layout__'.$id))
|
||||
if (($vdm = SessionHelper::get('layout__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -261,17 +263,17 @@ class LayoutModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'layout__'.$id);
|
||||
ComponentbuilderHelper::set('layout__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'layout__'.$id);
|
||||
SessionHelper::set('layout__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -383,6 +385,19 @@ class LayoutModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -400,7 +415,14 @@ class LayoutModel extends AdminModel
|
||||
$form->setFieldAttribute($name, 'editor', $global_editor . '|none');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
if (0 == $id || !($val = $form->getValue('guid')))
|
||||
{
|
||||
$form->setValue('guid', null, GuidHelper::get());
|
||||
}
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
@ -598,7 +620,7 @@ class LayoutModel extends AdminModel
|
||||
*/
|
||||
protected function getUniqueFields()
|
||||
{
|
||||
return false;
|
||||
return array('guid');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1002,7 +1024,21 @@ class LayoutModel extends AdminModel
|
||||
}
|
||||
|
||||
// always reset the snippets
|
||||
$data['snippet'] = 0;
|
||||
$data['snippet'] = 0;
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
if (empty($data['guid']) && $data['id'] > 0)
|
||||
{
|
||||
// get the existing one
|
||||
$data['guid'] = (string) GetHelper::var('layout', $data['id'], 'id', 'guid');
|
||||
}
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
while (!GuidHelper::valid($data['guid'], "layout", $data['id']))
|
||||
{
|
||||
// must always be set
|
||||
$data['guid'] = (string) GuidHelper::get();
|
||||
}
|
||||
|
||||
// Set the libraries items to data.
|
||||
if (isset($data['libraries']) && is_array($data['libraries']))
|
||||
|
@ -270,8 +270,8 @@ class LayoutsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_layout', 'a'));
|
||||
|
||||
// From the componentbuilder_dynamic_get table.
|
||||
$query->select($db->quoteName('g.name','dynamic_get_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.dynamic_get') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['dynamic_get_name','dynamic_get_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.dynamic_get') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Libraries_configModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_library_config', 'a'));
|
||||
|
||||
// From the componentbuilder_library table.
|
||||
$query->select($db->quoteName('g.name','library_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_library', 'g') . ' ON (' . $db->quoteName('a.library') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['library_name','library_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_library', 'g') . ' ON (' . $db->quoteName('a.library') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -204,8 +204,8 @@ class Libraries_files_folders_urlsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_library_files_folders_urls', 'a'));
|
||||
|
||||
// From the componentbuilder_library table.
|
||||
$query->select($db->quoteName('g.name','library_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_library', 'g') . ' ON (' . $db->quoteName('a.library') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['library_name','library_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_library', 'g') . ' ON (' . $db->quoteName('a.library') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -29,10 +29,12 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Data\Factory as DataFactory;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
@ -185,7 +187,7 @@ class LibraryModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('library__'.$id))
|
||||
if (($vdm = SessionHelper::get('library__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -193,17 +195,17 @@ class LibraryModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'library__'.$id);
|
||||
ComponentbuilderHelper::set('library__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'library__'.$id);
|
||||
SessionHelper::set('library__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -271,7 +273,7 @@ class LibraryModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('library__'.$id))
|
||||
if (($vdm = SessionHelper::get('library__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -279,17 +281,17 @@ class LibraryModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'library__'.$id);
|
||||
ComponentbuilderHelper::set('library__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'library__'.$id);
|
||||
SessionHelper::set('library__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -401,6 +403,19 @@ class LibraryModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
@ -626,7 +641,7 @@ class LibraryModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -678,22 +693,45 @@ class LibraryModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// we must also delete the linked tables found
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
// linked tables to update
|
||||
$_tablesArray = [
|
||||
'snippet' => 'library',
|
||||
'library_config' => 'library',
|
||||
'library_files_folders_urls' => 'library'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
$_tablesArray = array(
|
||||
'snippet',
|
||||
'library_config',
|
||||
'library_files_folders_urls'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable)
|
||||
foreach($_tables_array as $_delete_table => $_field_name)
|
||||
{
|
||||
// get the library guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'library'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, 'library', 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_delete_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
// change publish state
|
||||
$_Model = ComponentbuilderHelper::getModel($_delete_table);
|
||||
|
||||
// change publish state to trash (in-case the state was not changed in sync with the parent)
|
||||
$_Model->publish($_pks, -2);
|
||||
|
||||
// delete the items
|
||||
$_Model->delete($_pks);
|
||||
}
|
||||
}
|
||||
@ -718,21 +756,41 @@ class LibraryModel extends AdminModel
|
||||
return false;
|
||||
}
|
||||
|
||||
// linked tables to update
|
||||
$_tablesArray = [
|
||||
'snippet' => 'library',
|
||||
'library_config' => 'library',
|
||||
'library_files_folders_urls' => 'library'
|
||||
];
|
||||
|
||||
// we must also update all linked tables
|
||||
if (UtilitiesArrayHelper::check($pks))
|
||||
if (!empty($_tables_array) && UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
$_tablesArray = array(
|
||||
'snippet',
|
||||
'library_config',
|
||||
'library_files_folders_urls'
|
||||
);
|
||||
foreach($_tablesArray as $_updateTable)
|
||||
foreach($_tables_array as $_update_table => $_field_name)
|
||||
{
|
||||
// get the admin guid's
|
||||
$_guids = DataFactory::_('Load')->values(
|
||||
['a.guid' => 'guid'], // select
|
||||
['a' => 'library'], // tables
|
||||
['a.id' =>
|
||||
['value' => $pks, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
// get the linked IDs
|
||||
if ($_pks = ComponentbuilderHelper::getVars($_updateTable, $pks, 'library', 'id'))
|
||||
$_pks = DataFactory::_('Load')->values(
|
||||
['a.id' => 'id'], // select
|
||||
['a' => $_update_table], // tables
|
||||
['a.' . $_field_name =>
|
||||
['value' => $_guids, 'operator' => 'IN']
|
||||
] // where
|
||||
);
|
||||
|
||||
if ($_pks !== null)
|
||||
{
|
||||
// load the model
|
||||
$_Model = ComponentbuilderHelper::getModel($_updateTable);
|
||||
$_Model = ComponentbuilderHelper::getModel($_update_table);
|
||||
|
||||
// change publish state
|
||||
$_Model->publish($_pks, $value);
|
||||
}
|
||||
|
@ -260,6 +260,19 @@ class Library_configModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
@ -306,6 +306,19 @@ class Library_files_folders_urlsModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -149,7 +150,7 @@ class PlaceholderModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('placeholder__'.$id))
|
||||
if (($vdm = SessionHelper::get('placeholder__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -157,17 +158,17 @@ class PlaceholderModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'placeholder__'.$id);
|
||||
ComponentbuilderHelper::set('placeholder__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'placeholder__'.$id);
|
||||
SessionHelper::set('placeholder__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -219,7 +220,7 @@ class PlaceholderModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('placeholder__'.$id))
|
||||
if (($vdm = SessionHelper::get('placeholder__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -227,17 +228,17 @@ class PlaceholderModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'placeholder__'.$id);
|
||||
ComponentbuilderHelper::set('placeholder__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'placeholder__'.$id);
|
||||
SessionHelper::set('placeholder__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -349,6 +350,19 @@ class PlaceholderModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Componentbuilder\Power\Factory as PowerFactory;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -195,7 +196,7 @@ class PowerModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('power__'.$id))
|
||||
if (($vdm = SessionHelper::get('power__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -203,17 +204,17 @@ class PowerModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'power__'.$id);
|
||||
ComponentbuilderHelper::set('power__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'power__'.$id);
|
||||
SessionHelper::set('power__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -339,7 +340,7 @@ class PowerModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('power__'.$id))
|
||||
if (($vdm = SessionHelper::get('power__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -347,17 +348,17 @@ class PowerModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'power__'.$id);
|
||||
ComponentbuilderHelper::set('power__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'power__'.$id);
|
||||
SessionHelper::set('power__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -471,6 +472,19 @@ class PowerModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -1132,7 +1146,7 @@ class PowerModel extends AdminModel
|
||||
if (($existing_id = ComponentbuilderHelper::checkExist('power', ['power_version' => $data['power_version'], 'name' => $data['name'], 'namespace' => $data['namespace']])) !== false)
|
||||
{
|
||||
// class of that version already exist so we reset the version
|
||||
\Factory::getApplication()->enqueueMessage(Text::sprintf("COM_COMPONENTBUILDER_POWERS_A_HREFS_TARGET_BLANK_TITLEOPEN_POWERSA_WITH_VERSION_S_ALREADY_EXIST", $existing_id, 'index.php?option=com_componentbuilder&view=powers&task=power.edit&id=' . $existing_id, $data['namespace'] . '\\' . $data['name'], $data['power_version']), 'error');
|
||||
Factory::getApplication()->enqueueMessage(Text::sprintf("COM_COMPONENTBUILDER_POWERS_A_HREFS_TARGET_BLANK_TITLEOPEN_POWERSA_WITH_VERSION_S_ALREADY_EXIST", $existing_id, 'index.php?option=com_componentbuilder&view=powers&task=power.edit&id=' . $existing_id, $data['namespace'] . '\\' . $data['name'], $data['power_version']), 'error');
|
||||
$data['power_version'] = $old_version;
|
||||
}
|
||||
else
|
||||
|
@ -279,6 +279,19 @@ class RepositoryModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
|
@ -125,10 +125,10 @@ class SearchModel extends ItemModel
|
||||
/**
|
||||
* A custom property for UI Kit components.
|
||||
*
|
||||
* @var array|null Property for storing UI Kit component-related data or objects.
|
||||
* @var mixed Property for storing UI Kit component-related data or objects.
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected ?array $uikitComp;
|
||||
protected $uikitComp = [];
|
||||
|
||||
/**
|
||||
* @var object item
|
||||
|
@ -329,6 +329,19 @@ class ServerModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
@ -547,7 +560,7 @@ class ServerModel extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -216,7 +217,7 @@ class Site_viewModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('site_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('site_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -224,17 +225,17 @@ class Site_viewModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'site_view__'.$id);
|
||||
ComponentbuilderHelper::set('site_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'site_view__'.$id);
|
||||
SessionHelper::set('site_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -384,7 +385,7 @@ class Site_viewModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('site_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('site_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -392,17 +393,17 @@ class Site_viewModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'site_view__'.$id);
|
||||
ComponentbuilderHelper::set('site_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'site_view__'.$id);
|
||||
SessionHelper::set('site_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -553,8 +554,24 @@ class Site_viewModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update the ajax_input (sub form) layout
|
||||
$form->setFieldAttribute('ajax_input', 'layout', ComponentbuilderHelper::getSubformLayout('site_view', 'ajax_input'));
|
||||
|
||||
// update all editors to use this components global editor
|
||||
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
||||
// now get all the editor fields
|
||||
|
@ -355,28 +355,24 @@ class Site_viewsModel extends ListModel
|
||||
// From the componentbuilder_item table
|
||||
$query->from($db->quoteName('#__componentbuilder_site_view', 'a'));
|
||||
|
||||
// do not use these filters in the export method
|
||||
if (!isset($_export) || !$_export)
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
{
|
||||
// Filtering "joomla components"
|
||||
$filter_joomla_component = $this->state->get("filter.joomla_component");
|
||||
if ($filter_joomla_component !== null && !empty($filter_joomla_component))
|
||||
if (($guids = JCBFilterHelper::linked((string) $filter_joomla_component, 'joomla_component_site_views')) !== null)
|
||||
{
|
||||
if (($ids = JCBFilterHelper::linked((int) $filter_joomla_component, 'joomla_component_site_views')) !== null)
|
||||
{
|
||||
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $ids) . ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
$query->where($db->quoteName('a.guid') . ' IN ("' . implode('","', $guids) . '")');
|
||||
}
|
||||
else
|
||||
{
|
||||
// there is none
|
||||
$query->where($db->quoteName('a.id') . ' = ' . 0);
|
||||
}
|
||||
}
|
||||
|
||||
// From the componentbuilder_dynamic_get table.
|
||||
$query->select($db->quoteName('g.name','main_get_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.main_get') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['main_get_name','main_get_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.main_get') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -279,6 +279,19 @@ class SnippetModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
|
@ -29,8 +29,10 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -250,7 +252,27 @@ class Snippet_typeModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
if (0 == $id || !($val = $form->getValue('guid')))
|
||||
{
|
||||
$form->setValue('guid', null, GuidHelper::get());
|
||||
}
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
@ -448,7 +470,7 @@ class Snippet_typeModel extends AdminModel
|
||||
*/
|
||||
protected function getUniqueFields()
|
||||
{
|
||||
return false;
|
||||
return array('guid');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -856,6 +878,21 @@ class Snippet_typeModel extends AdminModel
|
||||
$data['metadata'] = (string) $metadata;
|
||||
}
|
||||
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
if (empty($data['guid']) && $data['id'] > 0)
|
||||
{
|
||||
// get the existing one
|
||||
$data['guid'] = (string) GetHelper::var('snippet_type', $data['id'], 'id', 'guid');
|
||||
}
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
while (!GuidHelper::valid($data['guid'], "snippet_type", $data['id']))
|
||||
{
|
||||
// must always be set
|
||||
$data['guid'] = (string) GuidHelper::get();
|
||||
}
|
||||
|
||||
// Set the Params Items to data
|
||||
if (isset($data['params']) && is_array($data['params']))
|
||||
{
|
||||
|
@ -26,6 +26,8 @@ use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
use Joomla\CMS\Filesystem\Folder;
|
||||
use Joomla\Filesystem\File;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -161,20 +163,20 @@ class SnippetsModel extends ListModel
|
||||
// get the shared paths
|
||||
$this->fullPath = rtrim(ComponentbuilderHelper::getFolderPath('path', 'sharepath', Factory::getConfig()->get('tmp_path')), '/') . '/snippets';
|
||||
// remove old folder with the same name
|
||||
if (JFolder::exists($this->fullPath))
|
||||
if (is_dir($this->fullPath))
|
||||
{
|
||||
// remove if old folder is found
|
||||
ComponentbuilderHelper::removeFolder($this->fullPath);
|
||||
}
|
||||
// create the full path
|
||||
JFolder::create($this->fullPath);
|
||||
Folder::create($this->fullPath);
|
||||
// set zip path
|
||||
$this->zipPath = $this->fullPath .'.zip';
|
||||
// remove old zip files with the same name
|
||||
if (JFile::exists($this->zipPath))
|
||||
if (is_file($this->zipPath))
|
||||
{
|
||||
// remove file if found
|
||||
JFile::delete($this->zipPath);
|
||||
File::delete($this->zipPath);
|
||||
}
|
||||
// prep the item
|
||||
foreach($items as $item)
|
||||
@ -358,12 +360,12 @@ class SnippetsModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_snippet', 'a'));
|
||||
|
||||
// From the componentbuilder_snippet_type table.
|
||||
$query->select($db->quoteName('g.name','type_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_snippet_type', 'g') . ' ON (' . $db->quoteName('a.type') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['type_name','type_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_snippet_type', 'g') . ' ON (' . $db->quoteName('a.type') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// From the componentbuilder_library table.
|
||||
$query->select($db->quoteName('h.name','library_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_library', 'h') . ' ON (' . $db->quoteName('a.library') . ' = ' . $db->quoteName('h.id') . ')');
|
||||
$query->select($db->quoteName(['h.name','h.id'],['library_name','library_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_library', 'h') . ' ON (' . $db->quoteName('a.library') . ' = ' . $db->quoteName('h.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -29,10 +29,12 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
// No direct access to this file
|
||||
\defined('_JEXEC') or die;
|
||||
@ -169,7 +171,7 @@ class TemplateModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('template__'.$id))
|
||||
if (($vdm = SessionHelper::get('template__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -177,17 +179,17 @@ class TemplateModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'template__'.$id);
|
||||
ComponentbuilderHelper::set('template__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'template__'.$id);
|
||||
SessionHelper::set('template__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -253,7 +255,7 @@ class TemplateModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('template__'.$id))
|
||||
if (($vdm = SessionHelper::get('template__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -261,17 +263,17 @@ class TemplateModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'template__'.$id);
|
||||
ComponentbuilderHelper::set('template__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'template__'.$id);
|
||||
SessionHelper::set('template__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -383,6 +385,19 @@ class TemplateModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update all editors to use this components global editor
|
||||
@ -400,7 +415,14 @@ class TemplateModel extends AdminModel
|
||||
$form->setFieldAttribute($name, 'editor', $global_editor . '|none');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Only load the GUID if new item (or empty)
|
||||
if (0 == $id || !($val = $form->getValue('guid')))
|
||||
{
|
||||
$form->setValue('guid', null, GuidHelper::get());
|
||||
}
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
@ -598,7 +620,7 @@ class TemplateModel extends AdminModel
|
||||
*/
|
||||
protected function getUniqueFields()
|
||||
{
|
||||
return false;
|
||||
return array('guid');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1002,7 +1024,21 @@ class TemplateModel extends AdminModel
|
||||
}
|
||||
|
||||
// always reset the snippets
|
||||
$data['snippet'] = 0;
|
||||
$data['snippet'] = 0;
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
if (empty($data['guid']) && $data['id'] > 0)
|
||||
{
|
||||
// get the existing one
|
||||
$data['guid'] = (string) GetHelper::var('template', $data['id'], 'id', 'guid');
|
||||
}
|
||||
|
||||
// Set the GUID if empty or not valid
|
||||
while (!GuidHelper::valid($data['guid'], "template", $data['id']))
|
||||
{
|
||||
// must always be set
|
||||
$data['guid'] = (string) GuidHelper::get();
|
||||
}
|
||||
|
||||
// Set the libraries items to data.
|
||||
if (isset($data['libraries']) && is_array($data['libraries']))
|
||||
|
@ -270,8 +270,8 @@ class TemplatesModel extends ListModel
|
||||
$query->from($db->quoteName('#__componentbuilder_template', 'a'));
|
||||
|
||||
// From the componentbuilder_dynamic_get table.
|
||||
$query->select($db->quoteName('g.name','dynamic_get_name'));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.dynamic_get') . ' = ' . $db->quoteName('g.id') . ')');
|
||||
$query->select($db->quoteName(['g.name','g.id'],['dynamic_get_name','dynamic_get_id']));
|
||||
$query->join('LEFT', $db->quoteName('#__componentbuilder_dynamic_get', 'g') . ' ON (' . $db->quoteName('a.dynamic_get') . ' = ' . $db->quoteName('g.guid') . ')');
|
||||
|
||||
// Filter by published state
|
||||
$published = $this->getState('filter.published');
|
||||
|
@ -29,6 +29,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -152,7 +153,7 @@ class Validation_ruleModel extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('validation_rule__'.$id))
|
||||
if (($vdm = SessionHelper::get('validation_rule__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -160,17 +161,17 @@ class Validation_ruleModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'validation_rule__'.$id);
|
||||
ComponentbuilderHelper::set('validation_rule__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'validation_rule__'.$id);
|
||||
SessionHelper::set('validation_rule__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -222,7 +223,7 @@ class Validation_ruleModel extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('validation_rule__'.$id))
|
||||
if (($vdm = SessionHelper::get('validation_rule__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -230,17 +231,17 @@ class Validation_ruleModel extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'validation_rule__'.$id);
|
||||
ComponentbuilderHelper::set('validation_rule__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'validation_rule__'.$id);
|
||||
SessionHelper::set('validation_rule__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -352,6 +353,19 @@ class Validation_ruleModel extends AdminModel
|
||||
// Now set the local-redirected field default value
|
||||
$form->setValue($redirectedField, null, $redirectedValue);
|
||||
}
|
||||
$initDefaults = $jinput->get('init_defaults', null, 'STRING');
|
||||
if (!empty($initDefaults))
|
||||
{
|
||||
// Now check if this json values are valid
|
||||
$initDefaults = json_decode(urldecode($initDefaults), true);
|
||||
if (is_array($initDefaults))
|
||||
{
|
||||
foreach ($initDefaults as $field => $value)
|
||||
{
|
||||
$form->setValue($field, null, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
|
Reference in New Issue
Block a user