Stable release of v3.2.0-beta1

Move beta to main repo. Fix #1053 so that the right and left tabs display correctly in Joomla 4&5.
This commit is contained in:
2024-03-02 22:10:30 +02:00
parent 3c91a5cdbb
commit d1e1a56671
1786 changed files with 73608 additions and 37437 deletions

View File

@ -12,10 +12,20 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
/**
* Componentbuilder Admin_custom_tabs Admin Model
@ -59,18 +69,18 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'admin_custom_tabs', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'admin_custom_tabs', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -123,7 +133,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -150,7 +160,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -163,7 +173,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -229,13 +239,13 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/admin_custom_tabs.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -254,7 +264,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('admin_custom_tabs.delete', 'com_componentbuilder.admin_custom_tabs.' . (int) $record->id);
}
@ -272,8 +282,8 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -287,28 +297,28 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('admin_custom_tabs.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('admin_custom_tabs.edit', 'com_componentbuilder.admin_custom_tabs.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('admin_custom_tabs.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -316,19 +326,19 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -340,7 +350,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_admin_custom_tabs'));
@ -355,7 +365,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -370,10 +380,10 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.admin_custom_tabs.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.admin_custom_tabs.data', []);
if (empty($data))
{
@ -396,7 +406,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -412,7 +422,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
{
return false;
}
return true;
}
@ -432,10 +442,10 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -461,30 +471,30 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_custom_tabs');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_custom_tabs');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -521,8 +531,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -548,7 +557,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_custom_tabs');
@ -574,7 +583,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -587,7 +596,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
if (!$this->user->authorise('admin_custom_tabs.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -603,19 +612,19 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->admin_view) && !is_numeric($this->table->admin_view))
if (UtilitiesStringHelper::check($this->table->admin_view) && !is_numeric($this->table->admin_view))
{
$this->table->admin_view = $this->generateUnique('admin_view',$this->table->admin_view);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -627,7 +636,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -691,7 +700,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_custom_tabs');
@ -699,7 +708,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
if (!$this->canDo->get('admin_custom_tabs.edit') && !$this->canDo->get('admin_custom_tabs.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -716,7 +725,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
{
if (!$this->user->authorise('admin_custom_tabs.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -732,13 +741,13 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -782,7 +791,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -794,15 +803,15 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -810,7 +819,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
// Set the tabs items to data.
if (isset($data['tabs']) && is_array($data['tabs']))
{
$tabs = new JRegistry;
$tabs = new Registry;
$tabs->loadArray($data['tabs']);
$data['tabs'] = (string) $tabs;
}
@ -819,11 +828,11 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
// Set the empty tabs to data
$data['tabs'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -833,7 +842,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -841,14 +850,14 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -861,7 +870,6 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -887,7 +895,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,20 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
/**
* Componentbuilder Admin_fields Admin Model
@ -60,18 +70,18 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'admin_fields', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'admin_fields', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -123,7 +133,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
}
$item->addfields = $bucket;
// update the fields in the DB
$fieldsUpdate = new stdClass();
$fieldsUpdate = new \stdClass();
$fieldsUpdate->id = (int) $item->id;
$fieldsUpdate->addfields = json_encode($bucket);
$this->_db->updateObject('#__componentbuilder_admin_fields', $fieldsUpdate, 'id');
@ -144,7 +154,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -171,7 +181,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -184,7 +194,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -250,13 +260,13 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/admin_fields.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -275,7 +285,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('admin_fields.delete', 'com_componentbuilder.admin_fields.' . (int) $record->id);
}
@ -293,8 +303,8 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -308,28 +318,28 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('admin_fields.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('admin_fields.edit', 'com_componentbuilder.admin_fields.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('admin_fields.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -337,19 +347,19 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -361,7 +371,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_admin_fields'));
@ -376,7 +386,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -391,10 +401,10 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.admin_fields.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.admin_fields.data', []);
if (empty($data))
{
@ -417,7 +427,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -433,7 +443,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
{
return false;
}
return true;
}
@ -453,10 +463,10 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -482,30 +492,30 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -542,8 +552,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -569,7 +578,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields');
@ -595,7 +604,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -608,7 +617,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
if (!$this->user->authorise('admin_fields.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -624,19 +633,19 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->admin_view) && !is_numeric($this->table->admin_view))
if (UtilitiesStringHelper::check($this->table->admin_view) && !is_numeric($this->table->admin_view))
{
$this->table->admin_view = $this->generateUnique('admin_view',$this->table->admin_view);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -648,7 +657,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -712,7 +721,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields');
@ -720,7 +729,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
if (!$this->canDo->get('admin_fields.edit') && !$this->canDo->get('admin_fields.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -737,7 +746,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
{
if (!$this->user->authorise('admin_fields.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -753,13 +762,13 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -803,7 +812,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -815,20 +824,20 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
if (isset($data['addfields']) && ComponentbuilderHelper::checkArray($data['addfields']))
if (isset($data['addfields']) && UtilitiesArrayHelper::check($data['addfields']))
{
// Sort fields by 'Tab' ASC, 'Alignment' ASC, 'Order in Edit' ASC
usort($data['addfields'], function ($a, $b) {
@ -841,7 +850,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
// Set the addfields items to data.
if (isset($data['addfields']) && is_array($data['addfields']))
{
$addfields = new JRegistry;
$addfields = new Registry;
$addfields->loadArray($data['addfields']);
$data['addfields'] = (string) $addfields;
}
@ -850,11 +859,11 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
// Set the empty addfields to data
$data['addfields'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -864,7 +873,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -872,14 +881,14 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -892,7 +901,6 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -918,7 +926,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,20 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
/**
* Componentbuilder Admin_fields_conditions Admin Model
@ -60,18 +70,18 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'admin_fields_conditions', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'admin_fields_conditions', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -123,7 +133,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
}
$item->addconditions = $bucket;
// update the fields
$conditionsUpdate = new stdClass();
$conditionsUpdate = new \stdClass();
$conditionsUpdate->id = (int) $item->id;
$conditionsUpdate->addconditions = json_encode($bucket);
$this->_db->updateObject('#__componentbuilder_admin_fields_conditions', $conditionsUpdate, 'id');
@ -144,7 +154,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -171,7 +181,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -184,7 +194,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -250,13 +260,13 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/admin_fields_conditions.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -275,7 +285,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('admin_fields_conditions.delete', 'com_componentbuilder.admin_fields_conditions.' . (int) $record->id);
}
@ -293,8 +303,8 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -308,28 +318,28 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('admin_fields_conditions.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('admin_fields_conditions.edit', 'com_componentbuilder.admin_fields_conditions.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('admin_fields_conditions.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -337,19 +347,19 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -361,7 +371,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_admin_fields_conditions'));
@ -376,7 +386,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -391,10 +401,10 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.admin_fields_conditions.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.admin_fields_conditions.data', []);
if (empty($data))
{
@ -417,7 +427,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -433,7 +443,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
{
return false;
}
return true;
}
@ -453,10 +463,10 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -482,30 +492,30 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_conditions');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_conditions');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -542,8 +552,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -569,7 +578,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_conditions');
@ -595,7 +604,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -608,7 +617,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
if (!$this->user->authorise('admin_fields_conditions.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -624,19 +633,19 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->admin_view) && !is_numeric($this->table->admin_view))
if (UtilitiesStringHelper::check($this->table->admin_view) && !is_numeric($this->table->admin_view))
{
$this->table->admin_view = $this->generateUnique('admin_view',$this->table->admin_view);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -648,7 +657,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -712,7 +721,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_conditions');
@ -720,7 +729,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
if (!$this->canDo->get('admin_fields_conditions.edit') && !$this->canDo->get('admin_fields_conditions.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -737,7 +746,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
{
if (!$this->user->authorise('admin_fields_conditions.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -753,13 +762,13 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -803,7 +812,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -815,15 +824,15 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -831,7 +840,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
// Set the addconditions items to data.
if (isset($data['addconditions']) && is_array($data['addconditions']))
{
$addconditions = new JRegistry;
$addconditions = new Registry;
$addconditions->loadArray($data['addconditions']);
$data['addconditions'] = (string) $addconditions;
}
@ -840,11 +849,11 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
// Set the empty addconditions to data
$data['addconditions'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -854,7 +863,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -862,14 +871,14 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -882,7 +891,6 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -908,7 +916,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,12 +12,22 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
/**
* Componentbuilder Admin_fields_relations Admin Model
@ -62,16 +72,16 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'admin_fields_relations', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'admin_fields_relations', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -107,13 +117,12 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -122,7 +131,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -181,13 +190,12 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -208,7 +216,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -235,7 +243,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -248,7 +256,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -314,13 +322,13 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/admin_fields_relations.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -339,7 +347,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('admin_fields_relations.delete', 'com_componentbuilder.admin_fields_relations.' . (int) $record->id);
}
@ -357,8 +365,8 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -372,28 +380,28 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('admin_fields_relations.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('admin_fields_relations.edit', 'com_componentbuilder.admin_fields_relations.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('admin_fields_relations.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -401,19 +409,19 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -425,7 +433,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_admin_fields_relations'));
@ -440,7 +448,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -455,10 +463,10 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.admin_fields_relations.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.admin_fields_relations.data', []);
if (empty($data))
{
@ -481,7 +489,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -497,7 +505,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
{
return false;
}
return true;
}
@ -517,10 +525,10 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -546,30 +554,30 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_relations');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_relations');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -606,8 +614,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -633,7 +640,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_relations');
@ -659,7 +666,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -672,7 +679,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
if (!$this->user->authorise('admin_fields_relations.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -688,19 +695,19 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->admin_view) && !is_numeric($this->table->admin_view))
if (UtilitiesStringHelper::check($this->table->admin_view) && !is_numeric($this->table->admin_view))
{
$this->table->admin_view = $this->generateUnique('admin_view',$this->table->admin_view);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -712,7 +719,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -776,7 +783,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_fields_relations');
@ -784,7 +791,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
if (!$this->canDo->get('admin_fields_relations.edit') && !$this->canDo->get('admin_fields_relations.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -801,7 +808,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
{
if (!$this->user->authorise('admin_fields_relations.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -817,13 +824,13 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -867,7 +874,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -879,15 +886,15 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -895,7 +902,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
// Set the addrelations items to data.
if (isset($data['addrelations']) && is_array($data['addrelations']))
{
$addrelations = new JRegistry;
$addrelations = new Registry;
$addrelations->loadArray($data['addrelations']);
$data['addrelations'] = (string) $addrelations;
}
@ -904,11 +911,11 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
// Set the empty addrelations to data
$data['addrelations'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -918,7 +925,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -926,14 +933,14 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -946,7 +953,6 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -972,7 +978,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,14 +12,22 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
@ -213,16 +221,16 @@ class ComponentbuilderModelAdmin_view extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'admin_view', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'admin_view', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -258,13 +266,12 @@ class ComponentbuilderModelAdmin_view extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -273,7 +280,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -608,19 +615,18 @@ class ComponentbuilderModelAdmin_view extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -687,7 +693,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -714,7 +720,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -727,7 +733,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -786,7 +792,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -814,13 +820,13 @@ class ComponentbuilderModelAdmin_view extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/admin_view.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -839,7 +845,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('admin_view.delete', 'com_componentbuilder.admin_view.' . (int) $record->id);
}
@ -857,8 +863,8 @@ class ComponentbuilderModelAdmin_view extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -872,28 +878,28 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('admin_view.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('admin_view.edit', 'com_componentbuilder.admin_view.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('admin_view.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -901,19 +907,19 @@ class ComponentbuilderModelAdmin_view extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -925,7 +931,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_admin_view'));
@ -940,7 +946,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -955,10 +961,10 @@ class ComponentbuilderModelAdmin_view extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.admin_view.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.admin_view.data', []);
if (empty($data))
{
@ -986,7 +992,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -994,7 +1000,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (ComponentbuilderHelper::checkString($requiredField))
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
@ -1017,7 +1023,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
{
return array('guid');
}
/**
* Method to delete one or more records.
*
@ -1055,7 +1061,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
}
}
}
return true;
}
@ -1097,10 +1103,10 @@ class ComponentbuilderModelAdmin_view extends AdminModel
}
}
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -1126,30 +1132,30 @@ class ComponentbuilderModelAdmin_view extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_view');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('admin_view');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -1186,8 +1192,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -1213,7 +1218,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_view');
@ -1239,7 +1244,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -1252,7 +1257,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
if (!$this->user->authorise('admin_view.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -1268,13 +1273,13 @@ class ComponentbuilderModelAdmin_view extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -1286,7 +1291,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1370,7 +1375,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('admin_view');
@ -1378,7 +1383,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
if (!$this->canDo->get('admin_view.edit') && !$this->canDo->get('admin_view.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -1395,7 +1400,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
{
if (!$this->user->authorise('admin_view.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -1411,13 +1416,13 @@ class ComponentbuilderModelAdmin_view extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -1461,7 +1466,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -1473,15 +1478,15 @@ class ComponentbuilderModelAdmin_view extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -1509,7 +1514,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set the addpermissions items to data.
if (isset($data['addpermissions']) && is_array($data['addpermissions']))
{
$addpermissions = new JRegistry;
$addpermissions = new Registry;
$addpermissions->loadArray($data['addpermissions']);
$data['addpermissions'] = (string) $addpermissions;
}
@ -1522,7 +1527,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set the addtabs items to data.
if (isset($data['addtabs']) && is_array($data['addtabs']))
{
$addtabs = new JRegistry;
$addtabs = new Registry;
$addtabs->loadArray($data['addtabs']);
$data['addtabs'] = (string) $addtabs;
}
@ -1535,7 +1540,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set the addlinked_views items to data.
if (isset($data['addlinked_views']) && is_array($data['addlinked_views']))
{
$addlinked_views = new JRegistry;
$addlinked_views = new Registry;
$addlinked_views->loadArray($data['addlinked_views']);
$data['addlinked_views'] = (string) $addlinked_views;
}
@ -1548,7 +1553,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set the alias_builder items to data.
if (isset($data['alias_builder']) && is_array($data['alias_builder']))
{
$alias_builder = new JRegistry;
$alias_builder = new Registry;
$alias_builder->loadArray($data['alias_builder']);
$data['alias_builder'] = (string) $alias_builder;
}
@ -1561,7 +1566,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set the custom_button items to data.
if (isset($data['custom_button']) && is_array($data['custom_button']))
{
$custom_button = new JRegistry;
$custom_button = new Registry;
$custom_button->loadArray($data['custom_button']);
$data['custom_button'] = (string) $custom_button;
}
@ -1574,7 +1579,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set the addtables items to data.
if (isset($data['addtables']) && is_array($data['addtables']))
{
$addtables = new JRegistry;
$addtables = new Registry;
$addtables->loadArray($data['addtables']);
$data['addtables'] = (string) $addtables;
}
@ -1587,7 +1592,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
// Set the ajax_input items to data.
if (isset($data['ajax_input']) && is_array($data['ajax_input']))
{
$ajax_input = new JRegistry;
$ajax_input = new Registry;
$ajax_input->loadArray($data['ajax_input']);
$data['ajax_input'] = (string) $ajax_input;
}
@ -1824,11 +1829,11 @@ class ComponentbuilderModelAdmin_view extends AdminModel
{
$data['php_getitems'] = base64_encode($data['php_getitems']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -1838,7 +1843,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1846,14 +1851,14 @@ class ComponentbuilderModelAdmin_view extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1866,7 +1871,6 @@ class ComponentbuilderModelAdmin_view extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();

View File

@ -12,20 +12,28 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Componentbuilder\Utilities\FilterHelper as JCBFilterHelper;
use VDM\Joomla\Utilities\FormHelper as JCBFormHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Admin_views List Model
*/
class ComponentbuilderModelAdmin_views extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -69,13 +77,13 @@ class ComponentbuilderModelAdmin_views extends ListModel
'onchange' => 'this.form.submit();',
);
$options = array(
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND') . ' -'
'' => '- ' . Text::_('COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND') . ' -'
);
// check if we have joomla components
if (($joomla_components = JCBFilterHelper::names('joomla_component')) !== null)
{
$options = array(
'' => '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_COMPONENT') . ' -'
'' => '- ' . Text::_('COM_COMPONENTBUILDER_SELECT_COMPONENT') . ' -'
);
// make sure we do not lose the key values in normal merge
$options = $options + $joomla_components;
@ -106,7 +114,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -198,7 +206,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -213,12 +221,12 @@ class ComponentbuilderModelAdmin_views extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -234,7 +242,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -251,7 +259,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
}
}
// return items
return $items;
}
@ -259,7 +267,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -271,7 +279,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
0 => 'COM_COMPONENTBUILDER_ADMIN_VIEW_REMOVE'
);
// Now check if value is found in this array
if (isset($add_fadeinArray[$value]) && ComponentbuilderHelper::checkString($add_fadeinArray[$value]))
if (isset($add_fadeinArray[$value]) && StringHelper::check($add_fadeinArray[$value]))
{
return $add_fadeinArray[$value];
}
@ -284,7 +292,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
2 => 'COM_COMPONENTBUILDER_ADMIN_VIEW_READONLY'
);
// Now check if value is found in this array
if (isset($typeArray[$value]) && ComponentbuilderHelper::checkString($typeArray[$value]))
if (isset($typeArray[$value]) && StringHelper::check($typeArray[$value]))
{
return $typeArray[$value];
}
@ -297,7 +305,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
0 => 'COM_COMPONENTBUILDER_ADMIN_VIEW_NO'
);
// Now check if value is found in this array
if (isset($add_custom_buttonArray[$value]) && ComponentbuilderHelper::checkString($add_custom_buttonArray[$value]))
if (isset($add_custom_buttonArray[$value]) && StringHelper::check($add_custom_buttonArray[$value]))
{
return $add_custom_buttonArray[$value];
}
@ -310,7 +318,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
0 => 'COM_COMPONENTBUILDER_ADMIN_VIEW_NO'
);
// Now check if value is found in this array
if (isset($add_php_ajaxArray[$value]) && ComponentbuilderHelper::checkString($add_php_ajaxArray[$value]))
if (isset($add_php_ajaxArray[$value]) && StringHelper::check($add_php_ajaxArray[$value]))
{
return $add_php_ajaxArray[$value];
}
@ -323,25 +331,25 @@ class ComponentbuilderModelAdmin_views extends ListModel
0 => 'COM_COMPONENTBUILDER_ADMIN_VIEW_NO'
);
// Now check if value is found in this array
if (isset($add_custom_importArray[$value]) && ComponentbuilderHelper::checkString($add_custom_importArray[$value]))
if (isset($add_custom_importArray[$value]) && StringHelper::check($add_custom_importArray[$value]))
{
return $add_custom_importArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -389,7 +397,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -430,7 +438,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
$query->where('a.add_fadein = ' . (int) $_add_fadein);
}
}
elseif (ComponentbuilderHelper::checkString($_add_fadein))
elseif (StringHelper::check($_add_fadein))
{
$query->where('a.add_fadein = ' . $db->quote($db->escape($_add_fadein)));
}
@ -447,11 +455,11 @@ class ComponentbuilderModelAdmin_views extends ListModel
$query->where('a.type = ' . (int) $_type);
}
}
elseif (ComponentbuilderHelper::checkString($_type))
elseif (StringHelper::check($_type))
{
$query->where('a.type = ' . $db->quote($db->escape($_type)));
}
elseif (ComponentbuilderHelper::checkArray($_type))
elseif (UtilitiesArrayHelper::check($_type))
{
// Secure the array for the query
$_type = array_map( function ($val) use(&$db) {
@ -466,7 +474,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
return (int) $val;
}
}
elseif (ComponentbuilderHelper::checkString($val))
elseif (StringHelper::check($val))
{
return $db->quote($db->escape($val));
}
@ -487,7 +495,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
$query->where('a.add_custom_button = ' . (int) $_add_custom_button);
}
}
elseif (ComponentbuilderHelper::checkString($_add_custom_button))
elseif (StringHelper::check($_add_custom_button))
{
$query->where('a.add_custom_button = ' . $db->quote($db->escape($_add_custom_button)));
}
@ -504,7 +512,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
$query->where('a.add_php_ajax = ' . (int) $_add_php_ajax);
}
}
elseif (ComponentbuilderHelper::checkString($_add_php_ajax))
elseif (StringHelper::check($_add_php_ajax))
{
$query->where('a.add_php_ajax = ' . $db->quote($db->escape($_add_php_ajax)));
}
@ -521,16 +529,18 @@ class ComponentbuilderModelAdmin_views extends ListModel
$query->where('a.add_custom_import = ' . (int) $_add_custom_import);
}
}
elseif (ComponentbuilderHelper::checkString($_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->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
@ -548,17 +558,17 @@ class ComponentbuilderModelAdmin_views extends ListModel
public function getExportData($pks, $user = null)
{
// setup the query
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
if (($pks_size = UtilitiesArrayHelper::check($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -621,7 +631,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
$items = $db->loadObjectList();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -717,7 +727,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
if (ObjectHelper::check($headers))
{
array_unshift($items,$headers);
}
@ -735,16 +745,16 @@ class ComponentbuilderModelAdmin_views extends ListModel
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__componentbuilder_admin_view");
if (ComponentbuilderHelper::checkArray($columns))
if (UtilitiesArrayHelper::check($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
$headers = new \stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
@ -753,7 +763,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
@ -768,13 +778,13 @@ class ComponentbuilderModelAdmin_views extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -784,13 +794,13 @@ class ComponentbuilderModelAdmin_views extends ListModel
$id .= ':' . $this->getState('filter.add_fadein');
// Check if the value is an array
$_type = $this->getState('filter.type');
if (ComponentbuilderHelper::checkArray($_type))
if (UtilitiesArrayHelper::check($_type))
{
$id .= ':' . implode(':', $_type);
}
// Check if this is only an number or string
elseif (is_numeric($_type)
|| ComponentbuilderHelper::checkString($_type))
|| StringHelper::check($_type))
{
$id .= ':' . $_type;
}
@ -807,19 +817,18 @@ class ComponentbuilderModelAdmin_views extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -831,7 +840,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -852,7 +861,7 @@ class ComponentbuilderModelAdmin_views extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Admins_custom_tabs List Model
*/
class ComponentbuilderModelAdmins_custom_tabs extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelAdmins_custom_tabs extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Admins_fields List Model
*/
class ComponentbuilderModelAdmins_fields extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelAdmins_fields extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelAdmins_fields extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelAdmins_fields extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelAdmins_fields extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelAdmins_fields extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelAdmins_fields extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelAdmins_fields extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelAdmins_fields extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelAdmins_fields extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelAdmins_fields extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Admins_fields_conditions List Model
*/
class ComponentbuilderModelAdmins_fields_conditions extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelAdmins_fields_conditions extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Admins_fields_relations List Model
*/
class ComponentbuilderModelAdmins_fields_relations extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelAdmins_fields_relations extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

File diff suppressed because it is too large Load Diff

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Class_extendings List Model
*/
class ComponentbuilderModelClass_extendings extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -52,7 +60,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -102,7 +110,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -117,12 +125,12 @@ class ComponentbuilderModelClass_extendings extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -138,7 +146,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -147,7 +155,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
}
}
// return items
return $items;
}
@ -155,7 +163,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -170,25 +178,25 @@ class ComponentbuilderModelClass_extendings extends ListModel
'modules' => 'COM_COMPONENTBUILDER_CLASS_EXTENDS_MODULES'
);
// Now check if value is found in this array
if (isset($extension_typeArray[$value]) && ComponentbuilderHelper::checkString($extension_typeArray[$value]))
if (isset($extension_typeArray[$value]) && StringHelper::check($extension_typeArray[$value]))
{
return $extension_typeArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -217,7 +225,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -258,22 +266,24 @@ class ComponentbuilderModelClass_extendings extends ListModel
$query->where('a.extension_type = ' . (int) $_extension_type);
}
}
elseif (ComponentbuilderHelper::checkString($_extension_type))
elseif (StringHelper::check($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($_extension_type)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -288,13 +298,13 @@ class ComponentbuilderModelClass_extendings extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -310,19 +320,18 @@ class ComponentbuilderModelClass_extendings extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -334,7 +343,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -355,7 +364,7 @@ class ComponentbuilderModelClass_extendings extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,12 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
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;
@ -67,16 +76,16 @@ class ComponentbuilderModelClass_extends extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'class_extends', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'class_extends', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -112,13 +121,12 @@ class ComponentbuilderModelClass_extends extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -127,7 +135,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -190,13 +198,12 @@ class ComponentbuilderModelClass_extends extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -217,7 +224,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -244,7 +251,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -257,7 +264,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -316,7 +323,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -337,13 +344,13 @@ class ComponentbuilderModelClass_extends extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/class_extends.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -362,7 +369,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('class_extends.delete', 'com_componentbuilder.class_extends.' . (int) $record->id);
}
@ -380,8 +387,8 @@ class ComponentbuilderModelClass_extends extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -395,28 +402,28 @@ class ComponentbuilderModelClass_extends extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('class_extends.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('class_extends.edit', 'com_componentbuilder.class_extends.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('class_extends.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -424,19 +431,19 @@ class ComponentbuilderModelClass_extends extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -448,7 +455,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_class_extends'));
@ -463,7 +470,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -478,10 +485,10 @@ class ComponentbuilderModelClass_extends extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.class_extends.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.class_extends.data', []);
if (empty($data))
{
@ -504,7 +511,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -520,7 +527,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
{
return false;
}
return true;
}
@ -540,10 +547,10 @@ class ComponentbuilderModelClass_extends extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -569,30 +576,30 @@ class ComponentbuilderModelClass_extends extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('class_extends');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('class_extends');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -629,8 +636,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -656,7 +662,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('class_extends');
@ -682,7 +688,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -695,7 +701,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
if (!$this->user->authorise('class_extends.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -711,19 +717,19 @@ class ComponentbuilderModelClass_extends extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->name) && !is_numeric($this->table->name))
if (UtilitiesStringHelper::check($this->table->name) && !is_numeric($this->table->name))
{
$this->table->name = $this->generateUnique('name',$this->table->name);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -735,7 +741,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -799,7 +805,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('class_extends');
@ -807,7 +813,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
if (!$this->canDo->get('class_extends.edit') && !$this->canDo->get('class_extends.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -824,7 +830,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
{
if (!$this->user->authorise('class_extends.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -840,13 +846,13 @@ class ComponentbuilderModelClass_extends extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -890,7 +896,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -902,15 +908,15 @@ class ComponentbuilderModelClass_extends extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -929,11 +935,11 @@ class ComponentbuilderModelClass_extends extends AdminModel
{
$data['comment'] = base64_encode($data['comment']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -943,7 +949,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -951,14 +957,14 @@ class ComponentbuilderModelClass_extends extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -971,7 +977,6 @@ class ComponentbuilderModelClass_extends extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -997,7 +1002,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,14 +12,22 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
use VDM\Joomla\Utilities\GetHelper;
@ -72,16 +80,16 @@ class ComponentbuilderModelClass_method extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'class_method', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'class_method', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -117,13 +125,12 @@ class ComponentbuilderModelClass_method extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -132,7 +139,7 @@ class ComponentbuilderModelClass_method extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -201,13 +208,12 @@ class ComponentbuilderModelClass_method extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -228,7 +234,7 @@ class ComponentbuilderModelClass_method extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -255,7 +261,7 @@ class ComponentbuilderModelClass_method extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -268,7 +274,7 @@ class ComponentbuilderModelClass_method extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -327,7 +333,7 @@ class ComponentbuilderModelClass_method extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -355,13 +361,13 @@ class ComponentbuilderModelClass_method extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/class_method.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -380,7 +386,7 @@ class ComponentbuilderModelClass_method extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('class_method.delete', 'com_componentbuilder.class_method.' . (int) $record->id);
}
@ -398,8 +404,8 @@ class ComponentbuilderModelClass_method extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -413,28 +419,28 @@ class ComponentbuilderModelClass_method extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('class_method.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('class_method.edit', 'com_componentbuilder.class_method.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('class_method.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -442,19 +448,19 @@ class ComponentbuilderModelClass_method extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -466,7 +472,7 @@ class ComponentbuilderModelClass_method extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_class_method'));
@ -481,7 +487,7 @@ class ComponentbuilderModelClass_method extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -496,10 +502,10 @@ class ComponentbuilderModelClass_method extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.class_method.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.class_method.data', []);
if (empty($data))
{
@ -527,7 +533,7 @@ class ComponentbuilderModelClass_method extends AdminModel
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -535,7 +541,7 @@ class ComponentbuilderModelClass_method extends AdminModel
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (ComponentbuilderHelper::checkString($requiredField))
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
@ -558,7 +564,7 @@ class ComponentbuilderModelClass_method extends AdminModel
{
return array('guid');
}
/**
* Method to delete one or more records.
*
@ -574,7 +580,7 @@ class ComponentbuilderModelClass_method extends AdminModel
{
return false;
}
return true;
}
@ -594,10 +600,10 @@ class ComponentbuilderModelClass_method extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -623,30 +629,30 @@ class ComponentbuilderModelClass_method extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('class_method');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('class_method');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -683,8 +689,7 @@ class ComponentbuilderModelClass_method extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -710,7 +715,7 @@ class ComponentbuilderModelClass_method extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('class_method');
@ -736,7 +741,7 @@ class ComponentbuilderModelClass_method extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -749,7 +754,7 @@ class ComponentbuilderModelClass_method extends AdminModel
if (!$this->user->authorise('class_method.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -765,19 +770,19 @@ class ComponentbuilderModelClass_method extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->name) && !is_numeric($this->table->name))
if (UtilitiesStringHelper::check($this->table->name) && !is_numeric($this->table->name))
{
$this->table->name = $this->generateUnique('name',$this->table->name);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -789,7 +794,7 @@ class ComponentbuilderModelClass_method extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -853,7 +858,7 @@ class ComponentbuilderModelClass_method extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('class_method');
@ -861,7 +866,7 @@ class ComponentbuilderModelClass_method extends AdminModel
if (!$this->canDo->get('class_method.edit') && !$this->canDo->get('class_method.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -878,7 +883,7 @@ class ComponentbuilderModelClass_method extends AdminModel
{
if (!$this->user->authorise('class_method.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -894,13 +899,13 @@ class ComponentbuilderModelClass_method extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -944,7 +949,7 @@ class ComponentbuilderModelClass_method extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -956,15 +961,15 @@ class ComponentbuilderModelClass_method extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -1003,11 +1008,11 @@ class ComponentbuilderModelClass_method extends AdminModel
{
$data['arguments'] = base64_encode($data['arguments']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -1017,7 +1022,7 @@ class ComponentbuilderModelClass_method extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1025,14 +1030,14 @@ class ComponentbuilderModelClass_method extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1045,7 +1050,6 @@ class ComponentbuilderModelClass_method extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1071,7 +1075,7 @@ class ComponentbuilderModelClass_method extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Class_methods List Model
*/
class ComponentbuilderModelClass_methods extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -53,7 +61,7 @@ class ComponentbuilderModelClass_methods extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -110,7 +118,7 @@ class ComponentbuilderModelClass_methods extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -125,12 +133,12 @@ class ComponentbuilderModelClass_methods extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -148,7 +156,7 @@ class ComponentbuilderModelClass_methods extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -159,7 +167,7 @@ class ComponentbuilderModelClass_methods extends ListModel
}
}
// return items
return $items;
}
@ -167,7 +175,7 @@ class ComponentbuilderModelClass_methods extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -183,7 +191,7 @@ class ComponentbuilderModelClass_methods extends ListModel
'private static' => 'COM_COMPONENTBUILDER_CLASS_METHOD_PRIVATE_STATIC'
);
// Now check if value is found in this array
if (isset($visibilityArray[$value]) && ComponentbuilderHelper::checkString($visibilityArray[$value]))
if (isset($visibilityArray[$value]) && StringHelper::check($visibilityArray[$value]))
{
return $visibilityArray[$value];
}
@ -199,25 +207,25 @@ class ComponentbuilderModelClass_methods extends ListModel
'modules' => 'COM_COMPONENTBUILDER_CLASS_METHOD_MODULES'
);
// Now check if value is found in this array
if (isset($extension_typeArray[$value]) && ComponentbuilderHelper::checkString($extension_typeArray[$value]))
if (isset($extension_typeArray[$value]) && StringHelper::check($extension_typeArray[$value]))
{
return $extension_typeArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -250,7 +258,7 @@ class ComponentbuilderModelClass_methods extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -291,7 +299,7 @@ class ComponentbuilderModelClass_methods extends ListModel
$query->where('a.visibility = ' . (int) $_visibility);
}
}
elseif (ComponentbuilderHelper::checkString($_visibility))
elseif (StringHelper::check($_visibility))
{
$query->where('a.visibility = ' . $db->quote($db->escape($_visibility)));
}
@ -308,16 +316,18 @@ class ComponentbuilderModelClass_methods extends ListModel
$query->where('a.extension_type = ' . (int) $_extension_type);
}
}
elseif (ComponentbuilderHelper::checkString($_extension_type))
elseif (StringHelper::check($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($_extension_type)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
@ -335,17 +345,17 @@ class ComponentbuilderModelClass_methods extends ListModel
public function getExportData($pks, $user = null)
{
// setup the query
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
if (($pks_size = UtilitiesArrayHelper::check($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -389,7 +399,7 @@ class ComponentbuilderModelClass_methods extends ListModel
$items = $db->loadObjectList();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -415,7 +425,7 @@ class ComponentbuilderModelClass_methods extends ListModel
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
if (ObjectHelper::check($headers))
{
array_unshift($items,$headers);
}
@ -433,16 +443,16 @@ class ComponentbuilderModelClass_methods extends ListModel
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__componentbuilder_class_method");
if (ComponentbuilderHelper::checkArray($columns))
if (UtilitiesArrayHelper::check($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
$headers = new \stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
@ -451,7 +461,7 @@ class ComponentbuilderModelClass_methods extends ListModel
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
@ -466,13 +476,13 @@ class ComponentbuilderModelClass_methods extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -489,19 +499,18 @@ class ComponentbuilderModelClass_methods extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -513,7 +522,7 @@ class ComponentbuilderModelClass_methods extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -534,7 +543,7 @@ class ComponentbuilderModelClass_methods extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Class_properties List Model
*/
class ComponentbuilderModelClass_properties extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -53,7 +61,7 @@ class ComponentbuilderModelClass_properties extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -110,7 +118,7 @@ class ComponentbuilderModelClass_properties extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -125,12 +133,12 @@ class ComponentbuilderModelClass_properties extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -146,7 +154,7 @@ class ComponentbuilderModelClass_properties extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -157,7 +165,7 @@ class ComponentbuilderModelClass_properties extends ListModel
}
}
// return items
return $items;
}
@ -165,7 +173,7 @@ class ComponentbuilderModelClass_properties extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -181,7 +189,7 @@ class ComponentbuilderModelClass_properties extends ListModel
'private static' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_PRIVATE_STATIC'
);
// Now check if value is found in this array
if (isset($visibilityArray[$value]) && ComponentbuilderHelper::checkString($visibilityArray[$value]))
if (isset($visibilityArray[$value]) && StringHelper::check($visibilityArray[$value]))
{
return $visibilityArray[$value];
}
@ -197,25 +205,25 @@ class ComponentbuilderModelClass_properties extends ListModel
'modules' => 'COM_COMPONENTBUILDER_CLASS_PROPERTY_MODULES'
);
// Now check if value is found in this array
if (isset($extension_typeArray[$value]) && ComponentbuilderHelper::checkString($extension_typeArray[$value]))
if (isset($extension_typeArray[$value]) && StringHelper::check($extension_typeArray[$value]))
{
return $extension_typeArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -248,7 +256,7 @@ class ComponentbuilderModelClass_properties extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -289,7 +297,7 @@ class ComponentbuilderModelClass_properties extends ListModel
$query->where('a.visibility = ' . (int) $_visibility);
}
}
elseif (ComponentbuilderHelper::checkString($_visibility))
elseif (StringHelper::check($_visibility))
{
$query->where('a.visibility = ' . $db->quote($db->escape($_visibility)));
}
@ -306,16 +314,18 @@ class ComponentbuilderModelClass_properties extends ListModel
$query->where('a.extension_type = ' . (int) $_extension_type);
}
}
elseif (ComponentbuilderHelper::checkString($_extension_type))
elseif (StringHelper::check($_extension_type))
{
$query->where('a.extension_type = ' . $db->quote($db->escape($_extension_type)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
@ -333,17 +343,17 @@ class ComponentbuilderModelClass_properties extends ListModel
public function getExportData($pks, $user = null)
{
// setup the query
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
if (($pks_size = UtilitiesArrayHelper::check($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -387,7 +397,7 @@ class ComponentbuilderModelClass_properties extends ListModel
$items = $db->loadObjectList();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -411,7 +421,7 @@ class ComponentbuilderModelClass_properties extends ListModel
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
if (ObjectHelper::check($headers))
{
array_unshift($items,$headers);
}
@ -429,16 +439,16 @@ class ComponentbuilderModelClass_properties extends ListModel
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__componentbuilder_class_property");
if (ComponentbuilderHelper::checkArray($columns))
if (UtilitiesArrayHelper::check($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
$headers = new \stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
@ -447,7 +457,7 @@ class ComponentbuilderModelClass_properties extends ListModel
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
@ -462,13 +472,13 @@ class ComponentbuilderModelClass_properties extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -485,19 +495,18 @@ class ComponentbuilderModelClass_properties extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -509,7 +518,7 @@ class ComponentbuilderModelClass_properties extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -530,7 +539,7 @@ class ComponentbuilderModelClass_properties extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,14 +12,22 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
use VDM\Joomla\Utilities\GetHelper;
@ -69,16 +77,16 @@ class ComponentbuilderModelClass_property extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'class_property', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'class_property', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -114,13 +122,12 @@ class ComponentbuilderModelClass_property extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -129,7 +136,7 @@ class ComponentbuilderModelClass_property extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -192,13 +199,12 @@ class ComponentbuilderModelClass_property extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -219,7 +225,7 @@ class ComponentbuilderModelClass_property extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -246,7 +252,7 @@ class ComponentbuilderModelClass_property extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -259,7 +265,7 @@ class ComponentbuilderModelClass_property extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -318,7 +324,7 @@ class ComponentbuilderModelClass_property extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -346,13 +352,13 @@ class ComponentbuilderModelClass_property extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/class_property.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -371,7 +377,7 @@ class ComponentbuilderModelClass_property extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('class_property.delete', 'com_componentbuilder.class_property.' . (int) $record->id);
}
@ -389,8 +395,8 @@ class ComponentbuilderModelClass_property extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -404,28 +410,28 @@ class ComponentbuilderModelClass_property extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('class_property.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('class_property.edit', 'com_componentbuilder.class_property.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('class_property.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -433,19 +439,19 @@ class ComponentbuilderModelClass_property extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -457,7 +463,7 @@ class ComponentbuilderModelClass_property extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_class_property'));
@ -472,7 +478,7 @@ class ComponentbuilderModelClass_property extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -487,10 +493,10 @@ class ComponentbuilderModelClass_property extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.class_property.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.class_property.data', []);
if (empty($data))
{
@ -518,7 +524,7 @@ class ComponentbuilderModelClass_property extends AdminModel
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -526,7 +532,7 @@ class ComponentbuilderModelClass_property extends AdminModel
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (ComponentbuilderHelper::checkString($requiredField))
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
@ -549,7 +555,7 @@ class ComponentbuilderModelClass_property extends AdminModel
{
return array('guid');
}
/**
* Method to delete one or more records.
*
@ -565,7 +571,7 @@ class ComponentbuilderModelClass_property extends AdminModel
{
return false;
}
return true;
}
@ -585,10 +591,10 @@ class ComponentbuilderModelClass_property extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -614,30 +620,30 @@ class ComponentbuilderModelClass_property extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('class_property');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('class_property');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -674,8 +680,7 @@ class ComponentbuilderModelClass_property extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -701,7 +706,7 @@ class ComponentbuilderModelClass_property extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('class_property');
@ -727,7 +732,7 @@ class ComponentbuilderModelClass_property extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -740,7 +745,7 @@ class ComponentbuilderModelClass_property extends AdminModel
if (!$this->user->authorise('class_property.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -756,19 +761,19 @@ class ComponentbuilderModelClass_property extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->name) && !is_numeric($this->table->name))
if (UtilitiesStringHelper::check($this->table->name) && !is_numeric($this->table->name))
{
$this->table->name = $this->generateUnique('name',$this->table->name);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -780,7 +785,7 @@ class ComponentbuilderModelClass_property extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -844,7 +849,7 @@ class ComponentbuilderModelClass_property extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('class_property');
@ -852,7 +857,7 @@ class ComponentbuilderModelClass_property extends AdminModel
if (!$this->canDo->get('class_property.edit') && !$this->canDo->get('class_property.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -869,7 +874,7 @@ class ComponentbuilderModelClass_property extends AdminModel
{
if (!$this->user->authorise('class_property.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -885,13 +890,13 @@ class ComponentbuilderModelClass_property extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -935,7 +940,7 @@ class ComponentbuilderModelClass_property extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -947,15 +952,15 @@ class ComponentbuilderModelClass_property extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -988,11 +993,11 @@ class ComponentbuilderModelClass_property extends AdminModel
{
$data['default'] = base64_encode($data['default']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -1002,7 +1007,7 @@ class ComponentbuilderModelClass_property extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1010,14 +1015,14 @@ class ComponentbuilderModelClass_property extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1030,7 +1035,6 @@ class ComponentbuilderModelClass_property extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1056,7 +1060,7 @@ class ComponentbuilderModelClass_property extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,9 +12,14 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\JsonHelper;
/**
* Componentbuilder List Model for Compiler
@ -43,19 +48,19 @@ class ComponentbuilderModelCompiler extends ListModel
protected function getListQuery()
{
// Get the current user for authorisation checks
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->userId = $this->user->get('id');
$this->guest = $this->user->get('guest');
$this->groups = $this->user->get('groups');
$this->authorisedGroups = $this->user->getAuthorisedGroups();
$this->authorisedGroups = $this->user->getAuthorisedGroups();
$this->levels = $this->user->getAuthorisedViewLevels();
$this->app = JFactory::getApplication();
$this->app = Factory::getApplication();
$this->input = $this->app->input;
$this->initSet = true;
$this->initSet = true;
// Make sure all records load, since no pagination allowed.
$this->setState('list.limit', 0);
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -81,12 +86,12 @@ class ComponentbuilderModelCompiler extends ListModel
*/
public function getItems()
{
$user = JFactory::getUser();
$user = Factory::getUser();
// check if this user has permission to access items
if (!$user->authorise('compiler.access', 'com_componentbuilder'))
{
$app = JFactory::getApplication();
$app->enqueueMessage(JText::_('Not authorised!'), 'error');
$app = Factory::getApplication();
$app->enqueueMessage(Text::_('Not authorised!'), 'error');
// redirect away if not a correct (TODO for now we go to default view)
$app->redirect('index.php?option=com_componentbuilder');
return false;
@ -95,22 +100,22 @@ class ComponentbuilderModelCompiler extends ListModel
$items = parent::getItems();
// Get the global params
$globalParams = JComponentHelper::getParams('com_componentbuilder', true);
$globalParams = ComponentHelper::getParams('com_componentbuilder', true);
// Insure all item fields are adapted where needed.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Load the JEvent Dispatcher
JPluginHelper::importPlugin('content');
$this->_dispatcher = JFactory::getApplication();
PluginHelper::importPlugin('content');
$this->_dispatcher = Factory::getApplication();
foreach ($items as $nr => &$item)
{
// Always create a slug for sef URL's
$item->slug = (isset($item->alias) && isset($item->id)) ? $item->id.':'.$item->alias : $item->id;
$item->slug = ($item->id ?? '0') . (isset($item->alias) ? ':' . $item->alias : '');
// Check if item has params, or pass whole item.
$params = (isset($item->params) && ComponentbuilderHelper::checkJson($item->params)) ? json_decode($item->params) : $item;
$params = (isset($item->params) && JsonHelper::check($item->params)) ? json_decode($item->params) : $item;
// Make sure the content prepare plugins fire on copyright
$_copyright = new stdClass();
$_copyright = new \stdClass();
$_copyright->text =& $item->copyright; // value must be in text
// Since all values are now in text (Joomla Limitation), we also add the field name (copyright) to context
$this->_dispatcher->triggerEvent("onContentPrepare", array('com_componentbuilder.compiler.copyright', &$_copyright, &$params, 0));
@ -131,7 +136,7 @@ class ComponentbuilderModelCompiler extends ListModel
*/
public function getUikitComp()
{
if (isset($this->uikitComp) && ComponentbuilderHelper::checkArray($this->uikitComp))
if (isset($this->uikitComp) && UtilitiesArrayHelper::check($this->uikitComp))
{
return $this->uikitComp;
}
@ -196,7 +201,7 @@ class ComponentbuilderModelCompiler extends ListModel
// Set FTP credentials, if given.
JClientHelper::setCredentialsFromRequest('ftp');
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Load installer plugins for assistance if required:
JPluginHelper::importPlugin('installer');
@ -218,7 +223,7 @@ class ComponentbuilderModelCompiler extends ListModel
return false;
}
$config = JFactory::getConfig();
$config = Factory::getConfig();
$tmp_dest = $config->get('tmp_path');
// Unpack the downloaded package file.
@ -242,7 +247,7 @@ class ComponentbuilderModelCompiler extends ListModel
// Was the package unpacked?
if (!$package || !$package['type'])
{
$app->enqueueMessage(JText::_('COM_INSTALLER_UNABLE_TO_FIND_INSTALL_PACKAGE'), 'error');
$app->enqueueMessage(Text::_('COM_INSTALLER_UNABLE_TO_FIND_INSTALL_PACKAGE'), 'error');
return false;
}
@ -253,14 +258,14 @@ class ComponentbuilderModelCompiler extends ListModel
if (!$installer->install($package['dir']))
{
// There was an error installing the package.
$msg = JText::sprintf('COM_INSTALLER_INSTALL_ERROR', JText::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($package['type'])));
$msg = Text::sprintf('COM_INSTALLER_INSTALL_ERROR', Text::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($package['type'])));
$result = false;
$msgType = 'error';
}
else
{
// Package installed successfully.
$msg = JText::sprintf('COM_INSTALLER_INSTALL_SUCCESS', JText::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($package['type'])));
$msg = Text::sprintf('COM_INSTALLER_INSTALL_SUCCESS', Text::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($package['type'])));
$result = true;
$msgType = 'message';
}
@ -269,7 +274,7 @@ class ComponentbuilderModelCompiler extends ListModel
$dispatcher->trigger('onInstallerAfterInstaller', array($this, &$package, $installer, &$result, &$msg));
// Set some model state values.
$app = JFactory::getApplication();
$app = Factory::getApplication();
$app->enqueueMessage($msg, $msgType);
$this->setState('name', $installer->get('name'));
$this->setState('result', $result);
@ -280,7 +285,7 @@ class ComponentbuilderModelCompiler extends ListModel
// Cleanup the install files.
if (!is_file($package['packagefile']))
{
$config = JFactory::getConfig();
$config = Factory::getConfig();
$package['packagefile'] = $config->get('tmp_path') . '/' . $package['packagefile'];
}
@ -367,7 +372,7 @@ class ComponentbuilderModelCompiler extends ListModel
{
if (!ComponentbuilderHelper::getDynamicContent($type, $size, false, 0, $target))
{
$errorMessage[] = JText::sprintf('COM_COMPONENTBUILDER_S_S_NUMBER_BSB_COULD_NOT_BE_DOWNLOADED_SUCCESSFULLY_TO_THIS_JOOMLA_INSTALL', $type, $size, $target);
$errorMessage[] = Text::sprintf('COM_COMPONENTBUILDER_S_S_NUMBER_BSB_COULD_NOT_BE_DOWNLOADED_SUCCESSFULLY_TO_THIS_JOOMLA_INSTALL', $type, $size, $target);
}
}
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_admin_views Admin Model
@ -66,18 +77,18 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_admin_views', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_admin_views', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -116,7 +127,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -161,7 +172,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -188,7 +199,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -201,7 +212,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -267,13 +278,13 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_admin_views.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -292,7 +303,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_admin_views.delete', 'com_componentbuilder.component_admin_views.' . (int) $record->id);
}
@ -310,8 +321,8 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -325,28 +336,28 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_admin_views.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_admin_views.edit', 'com_componentbuilder.component_admin_views.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_admin_views.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -354,19 +365,19 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -378,7 +389,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_admin_views'));
@ -393,7 +404,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -408,10 +419,10 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_admin_views.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_admin_views.data', []);
if (empty($data))
{
@ -434,7 +445,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -450,7 +461,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
{
return false;
}
return true;
}
@ -470,10 +481,10 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -499,30 +510,30 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_admin_views');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_admin_views');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -559,8 +570,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -586,7 +596,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_admin_views');
@ -612,7 +622,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -625,7 +635,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
if (!$this->user->authorise('component_admin_views.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -641,19 +651,19 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -665,7 +675,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -729,7 +739,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_admin_views');
@ -737,7 +747,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
if (!$this->canDo->get('component_admin_views.edit') && !$this->canDo->get('component_admin_views.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -754,7 +764,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
{
if (!$this->user->authorise('component_admin_views.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -770,13 +780,13 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -820,7 +830,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -832,15 +842,15 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -850,14 +860,14 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addadmin_views data from clone_me (component_admin_views)
$data['addadmin_views'] = ComponentbuilderHelper::getVar('component_admin_views', $data['clone_me'], 'joomla_component', 'addadmin_views');
$data['addadmin_views'] = GetHelper::var('component_admin_views', $data['clone_me'], 'joomla_component', 'addadmin_views');
}
// Set the addadmin_views items to data.
if (isset($data['addadmin_views']) && is_array($data['addadmin_views']))
{
$addadmin_views = new JRegistry;
$addadmin_views = new Registry;
$addadmin_views->loadArray($data['addadmin_views']);
$data['addadmin_views'] = (string) $addadmin_views;
}
@ -866,11 +876,11 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
// Set the empty addadmin_views to data
$data['addadmin_views'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -880,7 +890,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -888,14 +898,14 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -908,7 +918,6 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -934,7 +943,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_config Admin Model
@ -65,18 +76,18 @@ class ComponentbuilderModelComponent_config extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_config', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_config', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -115,7 +126,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -160,7 +171,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -187,7 +198,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -200,7 +211,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -263,13 +274,13 @@ class ComponentbuilderModelComponent_config extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_config.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -288,7 +299,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_config.delete', 'com_componentbuilder.component_config.' . (int) $record->id);
}
@ -306,8 +317,8 @@ class ComponentbuilderModelComponent_config extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -321,28 +332,28 @@ class ComponentbuilderModelComponent_config extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_config.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_config.edit', 'com_componentbuilder.component_config.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_config.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -350,19 +361,19 @@ class ComponentbuilderModelComponent_config extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -374,7 +385,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_config'));
@ -389,7 +400,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -404,10 +415,10 @@ class ComponentbuilderModelComponent_config extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_config.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_config.data', []);
if (empty($data))
{
@ -430,7 +441,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -446,7 +457,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
{
return false;
}
return true;
}
@ -466,10 +477,10 @@ class ComponentbuilderModelComponent_config extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -495,30 +506,30 @@ class ComponentbuilderModelComponent_config extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_config');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_config');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -555,8 +566,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -582,7 +592,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_config');
@ -608,7 +618,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -621,7 +631,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
if (!$this->user->authorise('component_config.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -637,19 +647,19 @@ class ComponentbuilderModelComponent_config extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -661,7 +671,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -725,7 +735,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_config');
@ -733,7 +743,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
if (!$this->canDo->get('component_config.edit') && !$this->canDo->get('component_config.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -750,7 +760,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
{
if (!$this->user->authorise('component_config.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -766,13 +776,13 @@ class ComponentbuilderModelComponent_config extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -816,7 +826,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -828,15 +838,15 @@ class ComponentbuilderModelComponent_config extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -846,14 +856,14 @@ class ComponentbuilderModelComponent_config extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addconfig data from clone_me (component_config)
$data['addconfig'] = ComponentbuilderHelper::getVar('component_config', $data['clone_me'], 'joomla_component', 'addconfig');
$data['addconfig'] = GetHelper::var('component_config', $data['clone_me'], 'joomla_component', 'addconfig');
}
// Set the addconfig items to data.
if (isset($data['addconfig']) && is_array($data['addconfig']))
{
$addconfig = new JRegistry;
$addconfig = new Registry;
$addconfig->loadArray($data['addconfig']);
$data['addconfig'] = (string) $addconfig;
}
@ -862,11 +872,11 @@ class ComponentbuilderModelComponent_config extends AdminModel
// Set the empty addconfig to data
$data['addconfig'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -876,7 +886,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -884,14 +894,14 @@ class ComponentbuilderModelComponent_config extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -904,7 +914,6 @@ class ComponentbuilderModelComponent_config extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -930,7 +939,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_custom_admin_menus Admin Model
@ -65,18 +76,18 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_custom_admin_menus', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_custom_admin_menus', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -115,7 +126,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -160,7 +171,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -187,7 +198,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -200,7 +211,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -266,13 +277,13 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_custom_admin_menus.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -291,7 +302,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_custom_admin_menus.delete', 'com_componentbuilder.component_custom_admin_menus.' . (int) $record->id);
}
@ -309,8 +320,8 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -324,28 +335,28 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_custom_admin_menus.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_custom_admin_menus.edit', 'com_componentbuilder.component_custom_admin_menus.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_custom_admin_menus.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -353,19 +364,19 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -377,7 +388,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_custom_admin_menus'));
@ -392,7 +403,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -407,10 +418,10 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_custom_admin_menus.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_custom_admin_menus.data', []);
if (empty($data))
{
@ -433,7 +444,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -449,7 +460,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
{
return false;
}
return true;
}
@ -469,10 +480,10 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -498,30 +509,30 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_menus');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_menus');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -558,8 +569,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -585,7 +595,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_menus');
@ -611,7 +621,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -624,7 +634,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
if (!$this->user->authorise('component_custom_admin_menus.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -640,19 +650,19 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -664,7 +674,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -728,7 +738,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_menus');
@ -736,7 +746,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
if (!$this->canDo->get('component_custom_admin_menus.edit') && !$this->canDo->get('component_custom_admin_menus.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -753,7 +763,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
{
if (!$this->user->authorise('component_custom_admin_menus.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -769,13 +779,13 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -819,7 +829,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -831,15 +841,15 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -849,14 +859,14 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addcustommenus data from clone_me (component_custom_admin_menus)
$data['addcustommenus'] = ComponentbuilderHelper::getVar('component_custom_admin_menus', $data['clone_me'], 'joomla_component', 'addcustommenus');
$data['addcustommenus'] = GetHelper::var('component_custom_admin_menus', $data['clone_me'], 'joomla_component', 'addcustommenus');
}
// Set the addcustommenus items to data.
if (isset($data['addcustommenus']) && is_array($data['addcustommenus']))
{
$addcustommenus = new JRegistry;
$addcustommenus = new Registry;
$addcustommenus->loadArray($data['addcustommenus']);
$data['addcustommenus'] = (string) $addcustommenus;
}
@ -865,11 +875,11 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
// Set the empty addcustommenus to data
$data['addcustommenus'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -879,7 +889,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -887,14 +897,14 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -907,7 +917,6 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -933,7 +942,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_custom_admin_views Admin Model
@ -66,18 +77,18 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_custom_admin_views', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_custom_admin_views', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -116,7 +127,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -161,7 +172,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -188,7 +199,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -201,7 +212,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -267,13 +278,13 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_custom_admin_views.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -292,7 +303,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_custom_admin_views.delete', 'com_componentbuilder.component_custom_admin_views.' . (int) $record->id);
}
@ -310,8 +321,8 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -325,28 +336,28 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_custom_admin_views.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_custom_admin_views.edit', 'com_componentbuilder.component_custom_admin_views.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_custom_admin_views.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -354,19 +365,19 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -378,7 +389,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_custom_admin_views'));
@ -393,7 +404,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -408,10 +419,10 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_custom_admin_views.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_custom_admin_views.data', []);
if (empty($data))
{
@ -434,7 +445,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -450,7 +461,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
{
return false;
}
return true;
}
@ -470,10 +481,10 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -499,30 +510,30 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_views');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_views');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -559,8 +570,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -586,7 +596,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_views');
@ -612,7 +622,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -625,7 +635,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
if (!$this->user->authorise('component_custom_admin_views.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -641,19 +651,19 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -665,7 +675,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -729,7 +739,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_custom_admin_views');
@ -737,7 +747,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
if (!$this->canDo->get('component_custom_admin_views.edit') && !$this->canDo->get('component_custom_admin_views.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -754,7 +764,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
{
if (!$this->user->authorise('component_custom_admin_views.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -770,13 +780,13 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -820,7 +830,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -832,15 +842,15 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -850,14 +860,14 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addcustom_admin_views data from clone_me (component_custom_admin_views)
$data['addcustom_admin_views'] = ComponentbuilderHelper::getVar('component_custom_admin_views', $data['clone_me'], 'joomla_component', 'addcustom_admin_views');
$data['addcustom_admin_views'] = GetHelper::var('component_custom_admin_views', $data['clone_me'], 'joomla_component', 'addcustom_admin_views');
}
// Set the addcustom_admin_views items to data.
if (isset($data['addcustom_admin_views']) && is_array($data['addcustom_admin_views']))
{
$addcustom_admin_views = new JRegistry;
$addcustom_admin_views = new Registry;
$addcustom_admin_views->loadArray($data['addcustom_admin_views']);
$data['addcustom_admin_views'] = (string) $addcustom_admin_views;
}
@ -866,11 +876,11 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
// Set the empty addcustom_admin_views to data
$data['addcustom_admin_views'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -880,7 +890,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -888,14 +898,14 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -908,7 +918,6 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -934,7 +943,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,12 +12,23 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
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;
/**
* Componentbuilder Component_dashboard Admin Model
@ -69,16 +80,16 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_dashboard', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_dashboard', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -114,13 +125,12 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -129,7 +139,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -194,19 +204,18 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -251,7 +260,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -278,7 +287,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -291,7 +300,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -357,13 +366,13 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_dashboard.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -382,7 +391,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_dashboard.delete', 'com_componentbuilder.component_dashboard.' . (int) $record->id);
}
@ -400,8 +409,8 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -415,28 +424,28 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_dashboard.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_dashboard.edit', 'com_componentbuilder.component_dashboard.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_dashboard.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -444,19 +453,19 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -468,7 +477,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_dashboard'));
@ -483,7 +492,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -498,10 +507,10 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_dashboard.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_dashboard.data', []);
if (empty($data))
{
@ -524,7 +533,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -540,7 +549,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
{
return false;
}
return true;
}
@ -560,10 +569,10 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -589,30 +598,30 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_dashboard');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_dashboard');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -649,8 +658,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -676,7 +684,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_dashboard');
@ -702,7 +710,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -715,7 +723,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
if (!$this->user->authorise('component_dashboard.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -731,19 +739,19 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -755,7 +763,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -819,7 +827,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_dashboard');
@ -827,7 +835,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
if (!$this->canDo->get('component_dashboard.edit') && !$this->canDo->get('component_dashboard.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -844,7 +852,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
{
if (!$this->user->authorise('component_dashboard.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -860,13 +868,13 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -910,7 +918,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -922,15 +930,15 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -943,7 +951,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
$keys = array('php_dashboard_methods','dashboard_tab','params');
foreach ($keys as $key)
{
$data[$key] = ComponentbuilderHelper::getVar('component_dashboard', $data['clone_me'], 'joomla_component', $key);
$data[$key] = GetHelper::var('component_dashboard', $data['clone_me'], 'joomla_component', $key);
}
}
@ -951,7 +959,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
// Set the dashboard_tab items to data.
if (isset($data['dashboard_tab']) && is_array($data['dashboard_tab']))
{
$dashboard_tab = new JRegistry;
$dashboard_tab = new Registry;
$dashboard_tab->loadArray($data['dashboard_tab']);
$data['dashboard_tab'] = (string) $dashboard_tab;
}
@ -966,11 +974,11 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
{
$data['php_dashboard_methods'] = base64_encode($data['php_dashboard_methods']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -980,7 +988,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -988,14 +996,14 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1008,7 +1016,6 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1034,7 +1041,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_files_folders Admin Model
@ -77,18 +88,18 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_files_folders', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_files_folders', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -151,7 +162,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -197,7 +208,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -224,7 +235,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -237,7 +248,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -300,13 +311,13 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_files_folders.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -325,7 +336,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_files_folders.delete', 'com_componentbuilder.component_files_folders.' . (int) $record->id);
}
@ -343,8 +354,8 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -358,28 +369,28 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_files_folders.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_files_folders.edit', 'com_componentbuilder.component_files_folders.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_files_folders.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -387,19 +398,19 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -411,7 +422,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_files_folders'));
@ -426,7 +437,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -441,10 +452,10 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_files_folders.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_files_folders.data', []);
if (empty($data))
{
@ -467,7 +478,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -483,7 +494,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
{
return false;
}
return true;
}
@ -503,10 +514,10 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -532,30 +543,30 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_files_folders');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_files_folders');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -592,8 +603,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -619,7 +629,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_files_folders');
@ -645,7 +655,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -658,7 +668,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
if (!$this->user->authorise('component_files_folders.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -674,19 +684,19 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -698,7 +708,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -762,7 +772,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_files_folders');
@ -770,7 +780,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
if (!$this->canDo->get('component_files_folders.edit') && !$this->canDo->get('component_files_folders.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -787,7 +797,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
{
if (!$this->user->authorise('component_files_folders.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -803,13 +813,13 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -853,7 +863,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -865,15 +875,15 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -886,7 +896,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
$keys = array('addfiles','addfolders','addfilesfullpath','addfoldersfullpath');
foreach ($keys as $key)
{
$data[$key] = ComponentbuilderHelper::getVar('component_files_folders', $data['clone_me'], 'joomla_component', $key);
$data[$key] = GetHelper::var('component_files_folders', $data['clone_me'], 'joomla_component', $key);
}
}
@ -894,7 +904,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// Set the addfoldersfullpath items to data.
if (isset($data['addfoldersfullpath']) && is_array($data['addfoldersfullpath']))
{
$addfoldersfullpath = new JRegistry;
$addfoldersfullpath = new Registry;
$addfoldersfullpath->loadArray($data['addfoldersfullpath']);
$data['addfoldersfullpath'] = (string) $addfoldersfullpath;
}
@ -907,7 +917,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// Set the addfilesfullpath items to data.
if (isset($data['addfilesfullpath']) && is_array($data['addfilesfullpath']))
{
$addfilesfullpath = new JRegistry;
$addfilesfullpath = new Registry;
$addfilesfullpath->loadArray($data['addfilesfullpath']);
$data['addfilesfullpath'] = (string) $addfilesfullpath;
}
@ -920,7 +930,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// Set the addfolders items to data.
if (isset($data['addfolders']) && is_array($data['addfolders']))
{
$addfolders = new JRegistry;
$addfolders = new Registry;
$addfolders->loadArray($data['addfolders']);
$data['addfolders'] = (string) $addfolders;
}
@ -933,7 +943,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// Set the addfiles items to data.
if (isset($data['addfiles']) && is_array($data['addfiles']))
{
$addfiles = new JRegistry;
$addfiles = new Registry;
$addfiles->loadArray($data['addfiles']);
$data['addfiles'] = (string) $addfiles;
}
@ -942,11 +952,11 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// Set the empty addfiles to data
$data['addfiles'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -956,7 +966,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -964,14 +974,14 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -984,7 +994,6 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1010,7 +1019,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_modules Admin Model
@ -66,18 +77,18 @@ class ComponentbuilderModelComponent_modules extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_modules', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_modules', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -130,7 +141,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -157,7 +168,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -170,7 +181,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -233,13 +244,13 @@ class ComponentbuilderModelComponent_modules extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_modules.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -258,7 +269,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_modules.delete', 'com_componentbuilder.component_modules.' . (int) $record->id);
}
@ -276,8 +287,8 @@ class ComponentbuilderModelComponent_modules extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -291,28 +302,28 @@ class ComponentbuilderModelComponent_modules extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_modules.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_modules.edit', 'com_componentbuilder.component_modules.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_modules.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -320,19 +331,19 @@ class ComponentbuilderModelComponent_modules extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -344,7 +355,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_modules'));
@ -359,7 +370,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -374,10 +385,10 @@ class ComponentbuilderModelComponent_modules extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_modules.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_modules.data', []);
if (empty($data))
{
@ -400,7 +411,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -416,7 +427,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
{
return false;
}
return true;
}
@ -436,10 +447,10 @@ class ComponentbuilderModelComponent_modules extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -465,30 +476,30 @@ class ComponentbuilderModelComponent_modules extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_modules');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_modules');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -525,8 +536,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -552,7 +562,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_modules');
@ -578,7 +588,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -591,7 +601,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
if (!$this->user->authorise('component_modules.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -607,19 +617,19 @@ class ComponentbuilderModelComponent_modules extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -631,7 +641,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -695,7 +705,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_modules');
@ -703,7 +713,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
if (!$this->canDo->get('component_modules.edit') && !$this->canDo->get('component_modules.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -720,7 +730,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
{
if (!$this->user->authorise('component_modules.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -736,13 +746,13 @@ class ComponentbuilderModelComponent_modules extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -786,7 +796,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -798,15 +808,15 @@ class ComponentbuilderModelComponent_modules extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -816,14 +826,14 @@ class ComponentbuilderModelComponent_modules extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addjoomla_modules data from clone_me (component_modules)
$data['addjoomla_modules'] = ComponentbuilderHelper::getVar('component_modules', $data['clone_me'], 'joomla_component', 'addjoomla_modules');
$data['addjoomla_modules'] = GetHelper::var('component_modules', $data['clone_me'], 'joomla_component', 'addjoomla_modules');
}
// Set the addjoomla_modules items to data.
if (isset($data['addjoomla_modules']) && is_array($data['addjoomla_modules']))
{
$addjoomla_modules = new JRegistry;
$addjoomla_modules = new Registry;
$addjoomla_modules->loadArray($data['addjoomla_modules']);
$data['addjoomla_modules'] = (string) $addjoomla_modules;
}
@ -832,11 +842,11 @@ class ComponentbuilderModelComponent_modules extends AdminModel
// Set the empty addjoomla_modules to data
$data['addjoomla_modules'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -846,7 +856,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -854,14 +864,14 @@ class ComponentbuilderModelComponent_modules extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -874,7 +884,6 @@ class ComponentbuilderModelComponent_modules extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -900,7 +909,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_mysql_tweaks Admin Model
@ -65,18 +76,18 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_mysql_tweaks', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_mysql_tweaks', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -115,7 +126,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -160,7 +171,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -187,7 +198,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -200,7 +211,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -263,13 +274,13 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_mysql_tweaks.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -288,7 +299,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_mysql_tweaks.delete', 'com_componentbuilder.component_mysql_tweaks.' . (int) $record->id);
}
@ -306,8 +317,8 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -321,28 +332,28 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_mysql_tweaks.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_mysql_tweaks.edit', 'com_componentbuilder.component_mysql_tweaks.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_mysql_tweaks.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -350,19 +361,19 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -374,7 +385,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_mysql_tweaks'));
@ -389,7 +400,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -404,10 +415,10 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_mysql_tweaks.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_mysql_tweaks.data', []);
if (empty($data))
{
@ -430,7 +441,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -446,7 +457,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
{
return false;
}
return true;
}
@ -466,10 +477,10 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -495,30 +506,30 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_mysql_tweaks');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_mysql_tweaks');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -555,8 +566,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -582,7 +592,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_mysql_tweaks');
@ -608,7 +618,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -621,7 +631,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
if (!$this->user->authorise('component_mysql_tweaks.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -637,19 +647,19 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -661,7 +671,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -725,7 +735,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_mysql_tweaks');
@ -733,7 +743,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
if (!$this->canDo->get('component_mysql_tweaks.edit') && !$this->canDo->get('component_mysql_tweaks.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -750,7 +760,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
{
if (!$this->user->authorise('component_mysql_tweaks.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -766,13 +776,13 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -816,7 +826,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -828,15 +838,15 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -846,14 +856,14 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get sql_tweak data from clone_me (component_mysql_tweaks)
$data['sql_tweak'] = ComponentbuilderHelper::getVar('component_mysql_tweaks', $data['clone_me'], 'joomla_component', 'sql_tweak');
$data['sql_tweak'] = GetHelper::var('component_mysql_tweaks', $data['clone_me'], 'joomla_component', 'sql_tweak');
}
// Set the sql_tweak items to data.
if (isset($data['sql_tweak']) && is_array($data['sql_tweak']))
{
$sql_tweak = new JRegistry;
$sql_tweak = new Registry;
$sql_tweak->loadArray($data['sql_tweak']);
$data['sql_tweak'] = (string) $sql_tweak;
}
@ -862,11 +872,11 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
// Set the empty sql_tweak to data
$data['sql_tweak'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -876,7 +886,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -884,14 +894,14 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -904,7 +914,6 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -930,7 +939,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_placeholders Admin Model
@ -65,18 +76,18 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_placeholders', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_placeholders', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -129,7 +140,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -156,7 +167,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -169,7 +180,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -232,13 +243,13 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_placeholders.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -257,7 +268,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_placeholders.delete', 'com_componentbuilder.component_placeholders.' . (int) $record->id);
}
@ -275,8 +286,8 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -290,28 +301,28 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_placeholders.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_placeholders.edit', 'com_componentbuilder.component_placeholders.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_placeholders.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -319,19 +330,19 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -343,7 +354,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_placeholders'));
@ -358,7 +369,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -373,10 +384,10 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_placeholders.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_placeholders.data', []);
if (empty($data))
{
@ -399,7 +410,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -415,7 +426,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
{
return false;
}
return true;
}
@ -435,10 +446,10 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -464,30 +475,30 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_placeholders');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_placeholders');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -524,8 +535,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -551,7 +561,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_placeholders');
@ -577,7 +587,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -590,7 +600,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
if (!$this->user->authorise('component_placeholders.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -606,19 +616,19 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -630,7 +640,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -694,7 +704,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_placeholders');
@ -702,7 +712,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
if (!$this->canDo->get('component_placeholders.edit') && !$this->canDo->get('component_placeholders.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -719,7 +729,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
{
if (!$this->user->authorise('component_placeholders.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -735,13 +745,13 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -785,7 +795,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -797,15 +807,15 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -815,14 +825,14 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addplaceholders data from clone_me (component_placeholders)
$data['addplaceholders'] = ComponentbuilderHelper::getVar('component_placeholders', $data['clone_me'], 'joomla_component', 'addplaceholders');
$data['addplaceholders'] = GetHelper::var('component_placeholders', $data['clone_me'], 'joomla_component', 'addplaceholders');
}
// Set the addplaceholders items to data.
if (isset($data['addplaceholders']) && is_array($data['addplaceholders']))
{
$addplaceholders = new JRegistry;
$addplaceholders = new Registry;
$addplaceholders->loadArray($data['addplaceholders']);
$data['addplaceholders'] = (string) $addplaceholders;
}
@ -831,11 +841,11 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
// Set the empty addplaceholders to data
$data['addplaceholders'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -845,7 +855,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -853,14 +863,14 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -873,7 +883,6 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -899,7 +908,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_plugins Admin Model
@ -66,18 +77,18 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_plugins', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_plugins', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -130,7 +141,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -157,7 +168,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -170,7 +181,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -233,13 +244,13 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_plugins.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -258,7 +269,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_plugins.delete', 'com_componentbuilder.component_plugins.' . (int) $record->id);
}
@ -276,8 +287,8 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -291,28 +302,28 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_plugins.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_plugins.edit', 'com_componentbuilder.component_plugins.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_plugins.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -320,19 +331,19 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -344,7 +355,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_plugins'));
@ -359,7 +370,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -374,10 +385,10 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_plugins.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_plugins.data', []);
if (empty($data))
{
@ -400,7 +411,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -416,7 +427,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
{
return false;
}
return true;
}
@ -436,10 +447,10 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -465,30 +476,30 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_plugins');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_plugins');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -525,8 +536,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -552,7 +562,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_plugins');
@ -578,7 +588,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -591,7 +601,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
if (!$this->user->authorise('component_plugins.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -607,19 +617,19 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -631,7 +641,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -695,7 +705,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_plugins');
@ -703,7 +713,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
if (!$this->canDo->get('component_plugins.edit') && !$this->canDo->get('component_plugins.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -720,7 +730,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
{
if (!$this->user->authorise('component_plugins.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -736,13 +746,13 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -786,7 +796,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -798,15 +808,15 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -816,14 +826,14 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addjoomla_plugins data from clone_me (component_plugins)
$data['addjoomla_plugins'] = ComponentbuilderHelper::getVar('component_plugins', $data['clone_me'], 'joomla_component', 'addjoomla_plugins');
$data['addjoomla_plugins'] = GetHelper::var('component_plugins', $data['clone_me'], 'joomla_component', 'addjoomla_plugins');
}
// Set the addjoomla_plugins items to data.
if (isset($data['addjoomla_plugins']) && is_array($data['addjoomla_plugins']))
{
$addjoomla_plugins = new JRegistry;
$addjoomla_plugins = new Registry;
$addjoomla_plugins->loadArray($data['addjoomla_plugins']);
$data['addjoomla_plugins'] = (string) $addjoomla_plugins;
}
@ -832,11 +842,11 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
// Set the empty addjoomla_plugins to data
$data['addjoomla_plugins'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -846,7 +856,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -854,14 +864,14 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -874,7 +884,6 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -900,7 +909,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

File diff suppressed because it is too large Load Diff

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_site_views Admin Model
@ -66,18 +77,18 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_site_views', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_site_views', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -116,7 +127,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -161,7 +172,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -188,7 +199,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -201,7 +212,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -267,13 +278,13 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_site_views.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -292,7 +303,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_site_views.delete', 'com_componentbuilder.component_site_views.' . (int) $record->id);
}
@ -310,8 +321,8 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -325,28 +336,28 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_site_views.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_site_views.edit', 'com_componentbuilder.component_site_views.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_site_views.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -354,19 +365,19 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -378,7 +389,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_site_views'));
@ -393,7 +404,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -408,10 +419,10 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_site_views.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_site_views.data', []);
if (empty($data))
{
@ -434,7 +445,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -450,7 +461,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
{
return false;
}
return true;
}
@ -470,10 +481,10 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -499,30 +510,30 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_site_views');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_site_views');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -559,8 +570,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -586,7 +596,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_site_views');
@ -612,7 +622,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -625,7 +635,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
if (!$this->user->authorise('component_site_views.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -641,19 +651,19 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -665,7 +675,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -729,7 +739,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_site_views');
@ -737,7 +747,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
if (!$this->canDo->get('component_site_views.edit') && !$this->canDo->get('component_site_views.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -754,7 +764,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
{
if (!$this->user->authorise('component_site_views.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -770,13 +780,13 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -820,7 +830,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -832,15 +842,15 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -850,14 +860,14 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get addsite_views data from clone_me (component_site_views)
$data['addsite_views'] = ComponentbuilderHelper::getVar('component_site_views', $data['clone_me'], 'joomla_component', 'addsite_views');
$data['addsite_views'] = GetHelper::var('component_site_views', $data['clone_me'], 'joomla_component', 'addsite_views');
}
// Set the addsite_views items to data.
if (isset($data['addsite_views']) && is_array($data['addsite_views']))
{
$addsite_views = new JRegistry;
$addsite_views = new Registry;
$addsite_views->loadArray($data['addsite_views']);
$data['addsite_views'] = (string) $addsite_views;
}
@ -866,11 +876,11 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
// Set the empty addsite_views to data
$data['addsite_views'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -880,7 +890,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -888,14 +898,14 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -908,7 +918,6 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -934,7 +943,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,10 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
* Componentbuilder Component_updates Admin Model
@ -65,18 +76,18 @@ class ComponentbuilderModelComponent_updates extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'component_updates', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'component_updates', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
@ -115,7 +126,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -160,7 +171,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -187,7 +198,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -200,7 +211,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -266,13 +277,13 @@ class ComponentbuilderModelComponent_updates extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/component_updates.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -291,7 +302,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_updates.delete', 'com_componentbuilder.component_updates.' . (int) $record->id);
}
@ -309,8 +320,8 @@ class ComponentbuilderModelComponent_updates extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -324,28 +335,28 @@ class ComponentbuilderModelComponent_updates extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('component_updates.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('component_updates.edit', 'com_componentbuilder.component_updates.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_updates.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -353,19 +364,19 @@ class ComponentbuilderModelComponent_updates extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -377,7 +388,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_updates'));
@ -392,7 +403,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -407,10 +418,10 @@ class ComponentbuilderModelComponent_updates extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_updates.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.component_updates.data', []);
if (empty($data))
{
@ -433,7 +444,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -449,7 +460,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
{
return false;
}
return true;
}
@ -469,10 +480,10 @@ class ComponentbuilderModelComponent_updates extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -498,30 +509,30 @@ class ComponentbuilderModelComponent_updates extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_updates');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_updates');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -558,8 +569,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -585,7 +595,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_updates');
@ -611,7 +621,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -624,7 +634,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
if (!$this->user->authorise('component_updates.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -640,19 +650,19 @@ class ComponentbuilderModelComponent_updates extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
if (UtilitiesStringHelper::check($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUnique('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -664,7 +674,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -728,7 +738,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_updates');
@ -736,7 +746,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
if (!$this->canDo->get('component_updates.edit') && !$this->canDo->get('component_updates.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -753,7 +763,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
{
if (!$this->user->authorise('component_updates.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -769,13 +779,13 @@ class ComponentbuilderModelComponent_updates extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -819,7 +829,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -831,15 +841,15 @@ class ComponentbuilderModelComponent_updates extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -849,14 +859,14 @@ class ComponentbuilderModelComponent_updates extends AdminModel
if (isset($data['clone_me']) && $data['clone_me'] > 0)
{
// get version_update data from clone_me (component_updates)
$data['version_update'] = ComponentbuilderHelper::getVar('component_updates', $data['clone_me'], 'joomla_component', 'version_update');
$data['version_update'] = GetHelper::var('component_updates', $data['clone_me'], 'joomla_component', 'version_update');
}
// Set the version_update items to data.
if (isset($data['version_update']) && is_array($data['version_update']))
{
$version_update = new JRegistry;
$version_update = new Registry;
$version_update->loadArray($data['version_update']);
$data['version_update'] = (string) $version_update;
}
@ -865,11 +875,11 @@ class ComponentbuilderModelComponent_updates extends AdminModel
// Set the empty version_update to data
$data['version_update'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -879,7 +889,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -887,14 +897,14 @@ class ComponentbuilderModelComponent_updates extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -907,7 +917,6 @@ class ComponentbuilderModelComponent_updates extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -933,7 +942,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,9 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Session\Session;
use Joomla\CMS\HTML\HTMLHelper as Html;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\Registry\Registry;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Componentbuilder List Model
@ -24,9 +32,9 @@ class ComponentbuilderModelComponentbuilder extends ListModel
public function getIcons()
{
// load user for access menus
$user = JFactory::getUser();
$user = Factory::getUser();
// reset icon array
$icons = array();
$icons = [];
// view groups array
$viewGroups = array(
'main' => array('png.compiler', 'png.joomla_components', 'png.joomla_modules', 'png.joomla_plugins', 'png.powers', 'png.search', 'png||importjcbpackages||index.php?option=com_componentbuilder&view=joomla_components&task=joomla_components.smartImport', 'png.admin_views', 'png.custom_admin_views', 'png.site_views', 'png.template.add', 'png.templates', 'png.layouts', 'png.dynamic_get.add', 'png.dynamic_gets', 'png.custom_codes', 'png.placeholders', 'png.libraries', 'png.snippets', 'png.get_snippets', 'png.validation_rules', 'png.field.add', 'png.fields', 'png.fields.catid_qpo0O0oqp_com_componentbuilder_po0O0oq_field', 'png.fieldtypes', 'png.fieldtypes.catid_qpo0O0oqp_com_componentbuilder_po0O0oq_fieldtype', 'png.language_translations', 'png.servers', 'png.help_documents')
@ -178,6 +186,9 @@ class ComponentbuilderModelComponentbuilder extends ListModel
'component_custom_admin_menus.create' => 'component_custom_admin_menus.create',
'components_custom_admin_menus.access' => 'component_custom_admin_menus.access',
'component_custom_admin_menus.access' => 'component_custom_admin_menus.access',
'component_router.create' => 'component_router.create',
'components_routers.access' => 'component_router.access',
'component_router.access' => 'component_router.access',
'component_config.create' => 'component_config.create',
'components_config.access' => 'component_config.access',
'component_config.access' => 'component_config.access',
@ -227,7 +238,7 @@ class ComponentbuilderModelComponentbuilder extends ListModel
foreach($viewGroups as $group => $views)
{
$i = 0;
if (ComponentbuilderHelper::checkArray($views))
if (UtilitiesArrayHelper::check($views))
{
foreach($views as $view)
{
@ -239,11 +250,11 @@ class ComponentbuilderModelComponentbuilder extends ListModel
if (count($dwd) == 3)
{
list($type, $name, $url) = $dwd;
$viewName = $name;
$alt = $name;
$url = $url;
$image = $name . '.' . $type;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_' . ComponentbuilderHelper::safeString($name,'U');
$viewName = $name;
$alt = $name;
$url = $url;
$image = $name . '.' . $type;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_' . StringHelper::safe($name,'U');
}
}
// internal views
@ -265,11 +276,11 @@ class ComponentbuilderModelComponentbuilder extends ListModel
switch($action)
{
case 'add':
$url = 'index.php?option=com_componentbuilder&view=' . $name . '&layout=edit';
$image = $name . '_' . $action. '.' . $type;
$alt = $name . ' ' . $action;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_'.ComponentbuilderHelper::safeString($name,'U').'_ADD';
$add = true;
$url = 'index.php?option=com_componentbuilder&view=' . $name . '&layout=edit';
$image = $name . '_' . $action. '.' . $type;
$alt = $name . ' ' . $action;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_'.StringHelper::safe($name,'U').'_ADD';
$add = true;
break;
default:
// check for new convention (more stable)
@ -282,34 +293,34 @@ class ComponentbuilderModelComponentbuilder extends ListModel
{
$extension = 'com_componentbuilder.' . $name;
}
$url = 'index.php?option=com_categories&view=categories&extension=' . $extension;
$image = $name . '_' . $action . '.' . $type;
$alt = $viewName . ' ' . $action;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_' . ComponentbuilderHelper::safeString($name,'U') . '_' . ComponentbuilderHelper::safeString($action,'U');
$url = 'index.php?option=com_categories&view=categories&extension=' . $extension;
$image = $name . '_' . $action . '.' . $type;
$alt = $viewName . ' ' . $action;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_' . StringHelper::safe($name,'U') . '_' . StringHelper::safe($action,'U');
break;
}
}
else
{
$viewName = $name;
$alt = $name;
$url = 'index.php?option=com_componentbuilder&view=' . $name;
$image = $name . '.' . $type;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_' . ComponentbuilderHelper::safeString($name,'U');
$hover = false;
$viewName = $name;
$alt = $name;
$url = 'index.php?option=com_componentbuilder&view=' . $name;
$image = $name . '.' . $type;
$name = 'COM_COMPONENTBUILDER_DASHBOARD_' . StringHelper::safe($name,'U');
$hover = false;
}
}
else
{
$viewName = $view;
$alt = $view;
$url = 'index.php?option=com_componentbuilder&view=' . $view;
$image = $view . '.png';
$name = ucwords($view).'<br /><br />';
$hover = false;
$viewName = $view;
$alt = $view;
$url = 'index.php?option=com_componentbuilder&view=' . $view;
$image = $view . '.png';
$name = ucwords($view).'<br /><br />';
$hover = false;
}
// first make sure the view access is set
if (ComponentbuilderHelper::checkArray($viewAccess))
if (UtilitiesArrayHelper::check($viewAccess))
{
// setup some defaults
$dashboard_add = false;
@ -317,11 +328,11 @@ class ComponentbuilderModelComponentbuilder extends ListModel
$accessTo = '';
$accessAdd = '';
// access checking start
$accessCreate = (isset($viewAccess[$viewName.'.create'])) ? ComponentbuilderHelper::checkString($viewAccess[$viewName.'.create']):false;
$accessAccess = (isset($viewAccess[$viewName.'.access'])) ? ComponentbuilderHelper::checkString($viewAccess[$viewName.'.access']):false;
$accessCreate = (isset($viewAccess[$viewName.'.create'])) ? StringHelper::check($viewAccess[$viewName.'.create']):false;
$accessAccess = (isset($viewAccess[$viewName.'.access'])) ? StringHelper::check($viewAccess[$viewName.'.access']):false;
// set main controllers
$accessDashboard_add = (isset($viewAccess[$viewName.'.dashboard_add'])) ? ComponentbuilderHelper::checkString($viewAccess[$viewName.'.dashboard_add']):false;
$accessDashboard_list = (isset($viewAccess[$viewName.'.dashboard_list'])) ? ComponentbuilderHelper::checkString($viewAccess[$viewName.'.dashboard_list']):false;
$accessDashboard_add = (isset($viewAccess[$viewName.'.dashboard_add'])) ? StringHelper::check($viewAccess[$viewName.'.dashboard_add']):false;
$accessDashboard_list = (isset($viewAccess[$viewName.'.dashboard_list'])) ? StringHelper::check($viewAccess[$viewName.'.dashboard_list']):false;
// check for adding access
if ($add && $accessCreate)
{
@ -339,64 +350,64 @@ class ComponentbuilderModelComponentbuilder extends ListModel
// set main access controllers
if ($accessDashboard_add)
{
$dashboard_add = $user->authorise($viewAccess[$viewName.'.dashboard_add'], 'com_componentbuilder');
$dashboard_add = $user->authorise($viewAccess[$viewName.'.dashboard_add'], 'com_componentbuilder');
}
if ($accessDashboard_list)
{
$dashboard_list = $user->authorise($viewAccess[$viewName.'.dashboard_list'], 'com_componentbuilder');
}
if (ComponentbuilderHelper::checkString($accessAdd) && ComponentbuilderHelper::checkString($accessTo))
if (StringHelper::check($accessAdd) && StringHelper::check($accessTo))
{
// check access
if($user->authorise($accessAdd, 'com_componentbuilder') && $user->authorise($accessTo, 'com_componentbuilder') && $dashboard_add)
{
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
}
}
elseif (ComponentbuilderHelper::checkString($accessTo))
elseif (StringHelper::check($accessTo))
{
// check access
if($user->authorise($accessTo, 'com_componentbuilder') && $dashboard_list)
{
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
}
}
elseif (ComponentbuilderHelper::checkString($accessAdd))
elseif (StringHelper::check($accessAdd))
{
// check access
if($user->authorise($accessAdd, 'com_componentbuilder') && $dashboard_add)
{
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
}
}
else
{
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
}
}
else
{
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
$icons[$group][$i] = new StdClass;
$icons[$group][$i]->url = $url;
$icons[$group][$i]->name = $name;
$icons[$group][$i]->image = $image;
$icons[$group][$i]->alt = $alt;
}
$i++;
}
@ -413,18 +424,17 @@ class ComponentbuilderModelComponentbuilder extends ListModel
public function getWiki()
{
// the call URL
$call_url = JUri::base() . 'index.php?option=com_componentbuilder&task=ajax.getWiki&format=json&raw=true&' . JSession::getFormToken() . '=1&name=Home';
$document = JFactory::getDocument();
$call_url = Uri::base() . 'index.php?option=com_componentbuilder&task=ajax.getWiki&format=json&raw=true&' . Session::getFormToken() . '=1&name=Home';
$document = Factory::getDocument();
$document->addScriptDeclaration('
function getWikiPage(){
fetch("' . $call_url . '").then((response) => {
if (response.ok) {
return response.json();
}
}).then((result) => {
if (typeof result.page !== "undefined") {
document.getElementById("wiki-md").innerHTML = result.page;
document.getElementById("wiki-md").innerHTML = marked.parse(result.page);
} else if (typeof result.error !== "undefined") {
document.getElementById("wiki-md-error").innerHTML = result.error
}
@ -432,34 +442,44 @@ class ComponentbuilderModelComponentbuilder extends ListModel
}
setTimeout(getWikiPage, 1000);');
return '<div id="wiki-md"><small>'.JText::_('COM_COMPONENTBUILDER_THE_WIKI_IS_LOADING').'.<span class="loading-dots">.</span></small></div><div id="wiki-md-error" style="color: red"></div>';
return '<div id="wiki-md"><small>'.Text::_('COM_COMPONENTBUILDER_THE_WIKI_IS_LOADING').'.<span class="loading-dots">.</span></small></div><div id="wiki-md-error" style="color: red"></div>';
}
public function getNoticeboard()
{
// get the document to load the scripts
$document = JFactory::getDocument();
$document->addScript(JURI::root() . "media/com_componentbuilder/js/marked.js");
$document = Factory::getDocument();
Html::_('script', "media/com_componentbuilder/js/marked.js", ['version' => 'auto']);
$document->addScriptDeclaration('
var token = "'.JSession::getFormToken().'";
var token = "' . Session::getFormToken() . '";
var noticeboard = "https://vdm.bz/componentbuilder-noticeboard-md";
jQuery(document).ready(function () {
jQuery.get(noticeboard)
.success(function(board) {
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) {
jQuery("#noticeboard-md").html(marked.parse(board));
getIS(1,board).done(function(result) {
if (result){
jQuery("#cpanel_tabTabs a").each(function() {
if (this.href.indexOf("#vast_development_method") >= 0 || this.href.indexOf("#notice_board") >= 0) {
var textVDM = jQuery(this).text();
jQuery(this).html("<span class=\"label label-important vdm-new-notice\">1</span> "+textVDM);
jQuery(this).attr("id","vdm-new-notice");
jQuery("#vdm-new-notice").click(function() {
getIS(2,board).done(function(result) {
if (result) {
jQuery(".vdm-new-notice").fadeOut(500);
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;
});
}
});
});
@ -468,64 +488,78 @@ class ComponentbuilderModelComponentbuilder extends ListModel
}
});
} else {
jQuery("#noticeboard-md").html("'.JText::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATTER').'");
document.getElementById("noticeboard-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER').'.";
}
})
.error(function(jqXHR, textStatus, errorThrown) {
jQuery("#noticeboard-md").html("'.JText::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATTER').'");
.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){
if(type == 1){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true";
} else if (type == 2) {
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true";
}
if(token.length > 0 && notice.length){
var request = token+"=1&notice="+notice;
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";
}
return jQuery.ajax({
type: "POST",
url: getUrl,
dataType: "json",
data: request,
jsonp: false
});
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());
}
// nice little dot trick :)
jQuery(document).ready( function($) {
var x=0;
setInterval(function() {
var dots = "";
x++;
for (var y=0; y < x%8; y++) {
dots+=".";
}
$(".loading-dots").text(dots);
} , 500);
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">'.JText::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
return '<div id="noticeboard-md">'.Text::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
}
public function getReadme()
{
$document = JFactory::getDocument();
$document = Factory::getDocument();
$document->addScriptDeclaration('
var getreadme = "'. JURI::root() . 'administrator/components/com_componentbuilder/README.txt";
jQuery(document).ready(function () {
jQuery.get(getreadme)
.success(function(readme) {
jQuery("#readme-md").html(marked.parse(readme));
var getreadme = "'. Uri::root() . 'administrator/components/com_componentbuilder/README.txt";
document.addEventListener("DOMContentLoaded", function () {
fetch(getreadme)
.then(response => {
if (!response.ok) {
throw new Error("Network response was not ok");
}
return response.text();
})
.error(function(jqXHR, textStatus, errorThrown) {
jQuery("#readme-md").html("'.JText::_('COM_COMPONENTBUILDER_PLEASE_CHECK_AGAIN_LATTER').'");
.then(readme => {
document.getElementById("readme-md").innerHTML = marked.parse(readme);
})
.catch(error => {
console.error("There has been a problem with your fetch operation:", error);
document.getElementById("readme-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_PLEASE_CHECK_AGAIN_LATER').'.";
});
});');
return '<div id="readme-md"><small>'.JText::_('COM_COMPONENTBUILDER_THE_README_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
return '<div id="readme-md"><small>'.Text::_('COM_COMPONENTBUILDER_THE_README_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
}
/**
@ -537,8 +571,8 @@ jQuery(document).ready( function($) {
public function getVersion()
{
// the call URL
$call_url = JUri::base() . 'index.php?option=com_componentbuilder&task=ajax.getVersion&format=json&raw=true&' . JSession::getFormToken() . '=1&version=1';
$document = JFactory::getDocument();
$call_url = Uri::base() . 'index.php?option=com_componentbuilder&task=ajax.getVersion&format=json&raw=true&' . Session::getFormToken() . '=1&version=1';
$document = Factory::getDocument();
$document->addScriptDeclaration('
function getComponentVersionStatus() {
fetch("' . $call_url . '").then((response) => {

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_admin_views List Model
*/
class ComponentbuilderModelComponents_admin_views extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_admin_views extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_config List Model
*/
class ComponentbuilderModelComponents_config extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_config extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_config extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_config extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_config extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_config extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_config extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_config extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_config extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_config extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_config extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_custom_admin_menus List Model
*/
class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_custom_admin_menus extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_custom_admin_views List Model
*/
class ComponentbuilderModelComponents_custom_admin_views extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_custom_admin_views extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_dashboard List Model
*/
class ComponentbuilderModelComponents_dashboard extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_dashboard extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_files_folders List Model
*/
class ComponentbuilderModelComponents_files_folders extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_files_folders extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_modules List Model
*/
class ComponentbuilderModelComponents_modules extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_modules extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_modules extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_modules extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_modules extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_modules extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_modules extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_modules extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_modules extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_modules extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_modules extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_mysql_tweaks List Model
*/
class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_mysql_tweaks extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_placeholders List Model
*/
class ComponentbuilderModelComponents_placeholders extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_placeholders extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_plugins List Model
*/
class ComponentbuilderModelComponents_plugins extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_plugins extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_plugins extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_plugins extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_plugins extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_plugins extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_plugins extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_plugins extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_plugins extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_plugins extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_plugins extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -0,0 +1,434 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_routers List Model
*/
class ComponentbuilderModelComponents_routers extends ListModel
{
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.access','access',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'a.mode_constructor_before_parent','mode_constructor_before_parent',
'a.mode_constructor_after_parent','mode_constructor_after_parent',
'a.mode_methods','mode_methods'
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
*/
protected function populateState($ordering = null, $direction = null)
{
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
// Check if the form was submitted
$formSubmited = $app->input->post->get('form_submited');
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
if ($formSubmited)
{
$access = $app->input->post->get('access');
$this->setState('filter.access', $access);
}
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$mode_constructor_before_parent = $this->getUserStateFromRequest($this->context . '.filter.mode_constructor_before_parent', 'filter_mode_constructor_before_parent');
if ($formSubmited)
{
$mode_constructor_before_parent = $app->input->post->get('mode_constructor_before_parent');
$this->setState('filter.mode_constructor_before_parent', $mode_constructor_before_parent);
}
$mode_constructor_after_parent = $this->getUserStateFromRequest($this->context . '.filter.mode_constructor_after_parent', 'filter_mode_constructor_after_parent');
if ($formSubmited)
{
$mode_constructor_after_parent = $app->input->post->get('mode_constructor_after_parent');
$this->setState('filter.mode_constructor_after_parent', $mode_constructor_after_parent);
}
$mode_methods = $this->getUserStateFromRequest($this->context . '.filter.mode_methods', 'filter_mode_methods');
if ($formSubmited)
{
$mode_methods = $app->input->post->get('mode_methods');
$this->setState('filter.mode_methods', $mode_methods);
}
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
* @return mixed An array of data items on success, false on failure.
*/
public function getItems()
{
// Check in items
$this->checkInNow();
// load parent items
$items = parent::getItems();
// Set values to display correctly.
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ObjectHelper::check($user))
{
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
// Remove items the user can't access.
$access = ($user->authorise('component_router.access', 'com_componentbuilder.component_router.' . (int) $item->id) && $user->authorise('component_router.access', 'com_componentbuilder'));
if (!$access)
{
unset($items[$nr]);
continue;
}
}
}
// set selection value to a translatable value
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
// convert mode_constructor_before_parent
$item->mode_constructor_before_parent = $this->selectionTranslation($item->mode_constructor_before_parent, 'mode_constructor_before_parent');
// convert mode_constructor_after_parent
$item->mode_constructor_after_parent = $this->selectionTranslation($item->mode_constructor_after_parent, 'mode_constructor_after_parent');
// convert mode_methods
$item->mode_methods = $this->selectionTranslation($item->mode_methods, 'mode_methods');
}
}
// return items
return $items;
}
/**
* Method to convert selection values to translatable string.
*
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
// Array of mode_constructor_before_parent language strings
if ($name === 'mode_constructor_before_parent')
{
$mode_constructor_before_parentArray = array(
1 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_DEFAULT',
2 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_MANUAL',
3 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_CODE'
);
// Now check if value is found in this array
if (isset($mode_constructor_before_parentArray[$value]) && StringHelper::check($mode_constructor_before_parentArray[$value]))
{
return $mode_constructor_before_parentArray[$value];
}
}
// Array of mode_constructor_after_parent language strings
if ($name === 'mode_constructor_after_parent')
{
$mode_constructor_after_parentArray = array(
1 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_NONE',
3 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_CODE'
);
// Now check if value is found in this array
if (isset($mode_constructor_after_parentArray[$value]) && StringHelper::check($mode_constructor_after_parentArray[$value]))
{
return $mode_constructor_after_parentArray[$value];
}
}
// Array of mode_methods language strings
if ($name === 'mode_methods')
{
$mode_methodsArray = array(
0 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_NONE',
1 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_DEFAULT',
3 => 'COM_COMPONENTBUILDER_COMPONENT_ROUTER_CODE'
);
// Now check if value is found in this array
if (isset($mode_methodsArray[$value]) && StringHelper::check($mode_methodsArray[$value]))
{
return $mode_methodsArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = Factory::getUser();
// Create a new query object.
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
$query->select('a.*');
// From the componentbuilder_item table
$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') . ')');
// Filter by published state
$published = $this->getState('filter.published');
if (is_numeric($published))
{
$query->where('a.published = ' . (int) $published);
}
elseif ($published === '')
{
$query->where('(a.published = 0 OR a.published = 1)');
}
// Join over the asset groups.
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
$_access = $this->getState('filter.access');
if ($_access && is_numeric($_access))
{
$query->where('a.access = ' . (int) $_access);
}
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
// Filter by the Access Array.
$query->where('a.access IN (' . implode(',', $_access) . ')');
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
// Filter by Mode_constructor_before_parent.
$_mode_constructor_before_parent = $this->getState('filter.mode_constructor_before_parent');
if (is_numeric($_mode_constructor_before_parent))
{
if (is_float($_mode_constructor_before_parent))
{
$query->where('a.mode_constructor_before_parent = ' . (float) $_mode_constructor_before_parent);
}
else
{
$query->where('a.mode_constructor_before_parent = ' . (int) $_mode_constructor_before_parent);
}
}
elseif (StringHelper::check($_mode_constructor_before_parent))
{
$query->where('a.mode_constructor_before_parent = ' . $db->quote($db->escape($_mode_constructor_before_parent)));
}
// Filter by Mode_constructor_after_parent.
$_mode_constructor_after_parent = $this->getState('filter.mode_constructor_after_parent');
if (is_numeric($_mode_constructor_after_parent))
{
if (is_float($_mode_constructor_after_parent))
{
$query->where('a.mode_constructor_after_parent = ' . (float) $_mode_constructor_after_parent);
}
else
{
$query->where('a.mode_constructor_after_parent = ' . (int) $_mode_constructor_after_parent);
}
}
elseif (StringHelper::check($_mode_constructor_after_parent))
{
$query->where('a.mode_constructor_after_parent = ' . $db->quote($db->escape($_mode_constructor_after_parent)));
}
// Filter by Mode_methods.
$_mode_methods = $this->getState('filter.mode_methods');
if (is_numeric($_mode_methods))
{
if (is_float($_mode_methods))
{
$query->where('a.mode_methods = ' . (float) $_mode_methods);
}
else
{
$query->where('a.mode_methods = ' . (int) $_mode_methods);
}
}
elseif (StringHelper::check($_mode_methods))
{
$query->where('a.mode_methods = ' . $db->quote($db->escape($_mode_methods)));
}
// Add the list ordering clause.
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
* @return string A store id.
*
*/
protected function getStoreId($id = '')
{
// Compile the store id.
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.mode_constructor_before_parent');
$id .= ':' . $this->getState('filter.mode_constructor_after_parent');
$id .= ':' . $this->getState('filter.mode_methods');
return parent::getStoreId($id);
}
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow(): bool
{
// Get set check in time
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
$query->from($db->quoteName('#__componentbuilder_component_router'));
// Only select items that are checked out.
$query->where($db->quoteName('checked_out') . '!=0');
$db->setQuery($query, 0, 1);
$db->execute();
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
// Fields to update.
$fields = array(
$db->quoteName('checked_out_time') . '=\'0000-00-00 00:00:00\'',
$db->quoteName('checked_out') . '=0'
);
// Conditions for which records should be updated.
$conditions = array(
$db->quoteName('checked_out') . '!=0',
$db->quoteName('checked_out_time') . '<\''.$date.'\''
);
// Check table.
$query->update($db->quoteName('#__componentbuilder_component_router'))->set($fields)->where($conditions);
$db->setQuery($query);
return $db->execute();
}
}
return false;
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_site_views List Model
*/
class ComponentbuilderModelComponents_site_views extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_site_views extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_site_views extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_site_views extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_site_views extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_site_views extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_site_views extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_site_views extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_site_views extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_site_views extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_site_views extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Components_updates List Model
*/
class ComponentbuilderModelComponents_updates extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -50,7 +58,7 @@ class ComponentbuilderModelComponents_updates extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -86,7 +94,7 @@ class ComponentbuilderModelComponents_updates extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -101,12 +109,12 @@ class ComponentbuilderModelComponents_updates extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -120,22 +128,22 @@ class ComponentbuilderModelComponents_updates extends ListModel
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -168,7 +176,7 @@ class ComponentbuilderModelComponents_updates extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -183,16 +191,18 @@ class ComponentbuilderModelComponents_updates extends ListModel
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
@ -207,13 +217,13 @@ class ComponentbuilderModelComponents_updates extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -227,19 +237,18 @@ class ComponentbuilderModelComponents_updates extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -251,7 +260,7 @@ class ComponentbuilderModelComponents_updates extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -272,7 +281,7 @@ class ComponentbuilderModelComponents_updates extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,14 +12,22 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
@ -130,16 +138,16 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'custom_admin_view', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'custom_admin_view', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -175,13 +183,12 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -190,7 +197,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -345,13 +352,12 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -371,7 +377,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
}
$item->custom_button = $bucket;
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
$objectUpdate->custom_button = json_encode($bucket);
// be sure to update the table if we found repeatable fields that are still not converted
@ -393,7 +399,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -420,7 +426,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -433,7 +439,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -490,7 +496,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -518,13 +524,13 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/custom_admin_view.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -543,7 +549,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('core.delete', 'com_componentbuilder.custom_admin_view.' . (int) $record->id);
}
@ -561,8 +567,8 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -576,28 +582,28 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
// In the absence of better information, revert to the component permissions.
return parent::canEditState($record);
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('core.edit', 'com_componentbuilder.custom_admin_view.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('core.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -605,19 +611,19 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -629,7 +635,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_custom_admin_view'));
@ -644,7 +650,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -659,10 +665,10 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.custom_admin_view.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.custom_admin_view.data', []);
if (empty($data))
{
@ -685,7 +691,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
{
return array('guid');
}
/**
* Method to delete one or more records.
*
@ -701,7 +707,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
{
return false;
}
return true;
}
@ -721,10 +727,10 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -750,30 +756,30 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('custom_admin_view');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('custom_admin_view');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -810,8 +816,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -837,7 +842,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('custom_admin_view');
@ -863,7 +868,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -876,7 +881,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
if (!$this->user->authorise('core.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -892,19 +897,19 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->name) && !is_numeric($this->table->name))
if (UtilitiesStringHelper::check($this->table->name) && !is_numeric($this->table->name))
{
$this->table->name = $this->generateUnique('name',$this->table->name);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -916,7 +921,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -980,7 +985,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('custom_admin_view');
@ -988,7 +993,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
if (!$this->canDo->get('core.edit') && !$this->canDo->get('custom_admin_view.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -1005,7 +1010,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
{
if (!$this->user->authorise('core.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -1021,13 +1026,13 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -1071,7 +1076,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -1083,15 +1088,15 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -1141,7 +1146,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
// Set the custom_get items to data.
if (isset($data['custom_get']) && is_array($data['custom_get']))
{
$custom_get = new JRegistry;
$custom_get = new Registry;
$custom_get->loadArray($data['custom_get']);
$data['custom_get'] = (string) $custom_get;
}
@ -1154,7 +1159,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
// Set the libraries items to data.
if (isset($data['libraries']) && is_array($data['libraries']))
{
$libraries = new JRegistry;
$libraries = new Registry;
$libraries->loadArray($data['libraries']);
$data['libraries'] = (string) $libraries;
}
@ -1167,7 +1172,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
// Set the ajax_input items to data.
if (isset($data['ajax_input']) && is_array($data['ajax_input']))
{
$ajax_input = new JRegistry;
$ajax_input = new Registry;
$ajax_input->loadArray($data['ajax_input']);
$data['ajax_input'] = (string) $ajax_input;
}
@ -1180,7 +1185,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
// Set the custom_button items to data.
if (isset($data['custom_button']) && is_array($data['custom_button']))
{
$custom_button = new JRegistry;
$custom_button = new Registry;
$custom_button->loadArray($data['custom_button']);
$data['custom_button'] = (string) $custom_button;
}
@ -1261,11 +1266,11 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
{
$data['php_model'] = base64_encode($data['php_model']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -1275,7 +1280,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1283,14 +1288,14 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1303,7 +1308,6 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1329,7 +1333,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,20 +12,28 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\FormHelper as JCBFormHelper;
use VDM\Joomla\Componentbuilder\Utilities\FilterHelper as JCBFilterHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Custom_admin_views List Model
*/
class ComponentbuilderModelCustom_admin_views extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -67,13 +75,13 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
'onchange' => 'this.form.submit();',
);
$options = array(
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND') . ' -'
'' => '- ' . Text::_('COM_COMPONENTBUILDER_NO_COMPONENTS_FOUND') . ' -'
);
// check if we have joomla components
if (($joomla_components = JCBFilterHelper::names('joomla_component')) !== null)
{
$options = array(
'' => '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_COMPONENT') . ' -'
'' => '- ' . Text::_('COM_COMPONENTBUILDER_SELECT_COMPONENT') . ' -'
);
// make sure we do not lose the key values in normal merge
$options = $options + $joomla_components;
@ -103,7 +111,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -181,7 +189,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -196,12 +204,12 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -217,7 +225,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -228,7 +236,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
}
}
// return items
return $items;
}
@ -236,7 +244,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -248,7 +256,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
0 => 'COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NO'
);
// Now check if value is found in this array
if (isset($add_php_ajaxArray[$value]) && ComponentbuilderHelper::checkString($add_php_ajaxArray[$value]))
if (isset($add_php_ajaxArray[$value]) && StringHelper::check($add_php_ajaxArray[$value]))
{
return $add_php_ajaxArray[$value];
}
@ -261,25 +269,25 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
0 => 'COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NO'
);
// Now check if value is found in this array
if (isset($add_custom_buttonArray[$value]) && ComponentbuilderHelper::checkString($add_custom_buttonArray[$value]))
if (isset($add_custom_buttonArray[$value]) && StringHelper::check($add_custom_buttonArray[$value]))
{
return $add_custom_buttonArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -331,7 +339,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -372,11 +380,11 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$query->where('a.main_get = ' . (int) $_main_get);
}
}
elseif (ComponentbuilderHelper::checkString($_main_get))
elseif (StringHelper::check($_main_get))
{
$query->where('a.main_get = ' . $db->quote($db->escape($_main_get)));
}
elseif (ComponentbuilderHelper::checkArray($_main_get))
elseif (UtilitiesArrayHelper::check($_main_get))
{
// Secure the array for the query
$_main_get = array_map( function ($val) use(&$db) {
@ -391,7 +399,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
return (int) $val;
}
}
elseif (ComponentbuilderHelper::checkString($val))
elseif (StringHelper::check($val))
{
return $db->quote($db->escape($val));
}
@ -412,7 +420,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$query->where('a.add_php_ajax = ' . (int) $_add_php_ajax);
}
}
elseif (ComponentbuilderHelper::checkString($_add_php_ajax))
elseif (StringHelper::check($_add_php_ajax))
{
$query->where('a.add_php_ajax = ' . $db->quote($db->escape($_add_php_ajax)));
}
@ -429,16 +437,18 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$query->where('a.add_custom_button = ' . (int) $_add_custom_button);
}
}
elseif (ComponentbuilderHelper::checkString($_add_custom_button))
elseif (StringHelper::check($_add_custom_button))
{
$query->where('a.add_custom_button = ' . $db->quote($db->escape($_add_custom_button)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
@ -456,17 +466,17 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
public function getExportData($pks, $user = null)
{
// setup the query
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
if (($pks_size = UtilitiesArrayHelper::check($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -529,7 +539,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$items = $db->loadObjectList();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -573,7 +583,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
if (ObjectHelper::check($headers))
{
array_unshift($items,$headers);
}
@ -591,16 +601,16 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__componentbuilder_custom_admin_view");
if (ComponentbuilderHelper::checkArray($columns))
if (UtilitiesArrayHelper::check($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
$headers = new \stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
@ -609,7 +619,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
@ -624,13 +634,13 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -639,13 +649,13 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$id .= ':' . $this->getState('filter.modified_by');
// Check if the value is an array
$_main_get = $this->getState('filter.main_get');
if (ComponentbuilderHelper::checkArray($_main_get))
if (UtilitiesArrayHelper::check($_main_get))
{
$id .= ':' . implode(':', $_main_get);
}
// Check if this is only an number or string
elseif (is_numeric($_main_get)
|| ComponentbuilderHelper::checkString($_main_get))
|| StringHelper::check($_main_get))
{
$id .= ':' . $_main_get;
}
@ -661,19 +671,18 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -685,7 +694,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -706,7 +715,7 @@ class ComponentbuilderModelCustom_admin_views extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,12 +12,21 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
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;
@ -53,6 +62,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
'above' => array(
'target',
'system_name',
'joomla_version',
'function_name'
),
'under' => array(
@ -82,16 +92,16 @@ class ComponentbuilderModelCustom_code extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'custom_code', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'custom_code', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -127,13 +137,12 @@ class ComponentbuilderModelCustom_code extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -142,7 +151,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -199,13 +208,12 @@ class ComponentbuilderModelCustom_code extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -226,7 +234,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -253,7 +261,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -266,7 +274,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -325,7 +333,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -346,13 +354,13 @@ class ComponentbuilderModelCustom_code extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/custom_code.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -371,7 +379,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('custom_code.delete', 'com_componentbuilder.custom_code.' . (int) $record->id);
}
@ -389,8 +397,8 @@ class ComponentbuilderModelCustom_code extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -404,28 +412,28 @@ class ComponentbuilderModelCustom_code extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('custom_code.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('custom_code.edit', 'com_componentbuilder.custom_code.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('custom_code.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -433,19 +441,19 @@ class ComponentbuilderModelCustom_code extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -457,7 +465,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_custom_code'));
@ -472,7 +480,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -487,10 +495,10 @@ class ComponentbuilderModelCustom_code extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.custom_code.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.custom_code.data', []);
if (empty($data))
{
@ -518,7 +526,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -526,7 +534,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (ComponentbuilderHelper::checkString($requiredField))
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
@ -549,7 +557,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
{
return false;
}
/**
* Method to delete one or more records.
*
@ -565,7 +573,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
{
return false;
}
return true;
}
@ -585,10 +593,10 @@ class ComponentbuilderModelCustom_code extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -614,30 +622,30 @@ class ComponentbuilderModelCustom_code extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('custom_code');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('custom_code');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -674,8 +682,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -701,7 +708,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('custom_code');
@ -727,7 +734,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -740,7 +747,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
if (!$this->user->authorise('custom_code.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -756,19 +763,19 @@ class ComponentbuilderModelCustom_code extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->component) && !is_numeric($this->table->component))
if (UtilitiesStringHelper::check($this->table->component) && !is_numeric($this->table->component))
{
$this->table->component = $this->generateUnique('component',$this->table->component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -780,7 +787,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -844,7 +851,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('custom_code');
@ -852,7 +859,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
if (!$this->canDo->get('custom_code.edit') && !$this->canDo->get('custom_code.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -869,7 +876,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
{
if (!$this->user->authorise('custom_code.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -885,13 +892,13 @@ class ComponentbuilderModelCustom_code extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -935,7 +942,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -947,15 +954,15 @@ class ComponentbuilderModelCustom_code extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -972,9 +979,9 @@ class ComponentbuilderModelCustom_code extends AdminModel
$data['code'] = str_replace('[CUSTOM' . 'CODE=' . $placeholder . ']', '', $data['code']);
}
// set title
$title = (count($placeholders) == 1) ? JText::_('COM_COMPONENTBUILDER_PLACEHOLDER_REMOVED') : JText::_('COM_COMPONENTBUILDER_PLACEHOLDERS_REMOVED');
$title = (count($placeholders) == 1) ? Text::_('COM_COMPONENTBUILDER_PLACEHOLDER_REMOVED') : Text::_('COM_COMPONENTBUILDER_PLACEHOLDERS_REMOVED');
// show message that we have had to remove the custom placeholders
JFactory::getApplication()->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_HTHREESHTHREEPCUSTOM_CODE_CAN_ONLY_BE_USED_IN_OTHER_CUSTOM_CODE_IF_SET_AS_BJCB_MANUALB_YOU_CAN_NOT_ADD_THEM_TO_EMHASH_AUTOMATIONEM_CODE_AT_THIS_POINTP', $title), 'Warning');
Factory::getApplication()->enqueueMessage(Text::sprintf('COM_COMPONENTBUILDER_HTHREESHTHREEPCUSTOM_CODE_CAN_ONLY_BE_USED_IN_OTHER_CUSTOM_CODE_IF_SET_AS_BJCB_MANUALB_YOU_CAN_NOT_ADD_THEM_TO_EMHASH_AUTOMATIONEM_CODE_AT_THIS_POINTP', $title), 'Warning');
}
// make sure that the same custom code is not added to itself
else
@ -987,7 +994,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
{
$data['code'] = str_replace('[CUSTOM' . 'CODE=' . $placeholder . ']', '', $data['code']);
// show message that we have had to remove the custom placeholders
JFactory::getApplication()->enqueueMessage(JText::_('COM_COMPONENTBUILDER_HTHREEPLACEHOLDER_REMOVEDHTHREEPBTHISB_CUSTOM_CODE_CAN_ONLY_BE_USED_IN_BOTHERB_CUSTOM_CODE_NOT_IN_IT_SELF_SINCE_THAT_WILL_CAUSE_A_INFINITE_LOOP_IN_THE_COMPILERP'), 'Warning');
Factory::getApplication()->enqueueMessage(Text::_('COM_COMPONENTBUILDER_HTHREEPLACEHOLDER_REMOVEDHTHREEPBTHISB_CUSTOM_CODE_CAN_ONLY_BE_USED_IN_BOTHERB_CUSTOM_CODE_NOT_IN_IT_SELF_SINCE_THAT_WILL_CAUSE_A_INFINITE_LOOP_IN_THE_COMPILERP'), 'Warning');
// stop the loop :)
break;
}
@ -1000,11 +1007,11 @@ class ComponentbuilderModelCustom_code extends AdminModel
{
$data['code'] = base64_encode($data['code']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -1014,7 +1021,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1022,14 +1029,14 @@ class ComponentbuilderModelCustom_code extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1042,7 +1049,6 @@ class ComponentbuilderModelCustom_code extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1068,7 +1074,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,9 +12,15 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
@ -22,10 +28,10 @@ use VDM\Joomla\Utilities\StringHelper;
*/
class ComponentbuilderModelCustom_codes extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -37,7 +43,8 @@ class ComponentbuilderModelCustom_codes extends ListModel
'a.target','target',
'a.type','type',
'a.comment_type','comment_type',
'a.path','path'
'a.path','path',
'a.joomla_version','joomla_version'
);
}
@ -57,7 +64,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -125,10 +132,17 @@ class ComponentbuilderModelCustom_codes extends ListModel
$this->setState('filter.path', $path);
}
$joomla_version = $this->getUserStateFromRequest($this->context . '.filter.joomla_version', 'filter_joomla_version');
if ($formSubmited)
{
$joomla_version = $app->input->post->get('joomla_version');
$this->setState('filter.joomla_version', $joomla_version);
}
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -143,12 +157,12 @@ class ComponentbuilderModelCustom_codes extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -160,6 +174,8 @@ class ComponentbuilderModelCustom_codes extends ListModel
continue;
}
// [1641]=> Target (code action)
$item->target_code = $item->target;
}
}
@ -181,7 +197,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -194,7 +210,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
}
}
// return items
return $items;
}
@ -202,7 +218,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -214,7 +230,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
1 => 'COM_COMPONENTBUILDER_CUSTOM_CODE_HASH_AUTOMATION'
);
// Now check if value is found in this array
if (isset($targetArray[$value]) && ComponentbuilderHelper::checkString($targetArray[$value]))
if (isset($targetArray[$value]) && StringHelper::check($targetArray[$value]))
{
return $targetArray[$value];
}
@ -227,7 +243,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
2 => 'COM_COMPONENTBUILDER_CUSTOM_CODE_INSERTION'
);
// Now check if value is found in this array
if (isset($typeArray[$value]) && ComponentbuilderHelper::checkString($typeArray[$value]))
if (isset($typeArray[$value]) && StringHelper::check($typeArray[$value]))
{
return $typeArray[$value];
}
@ -240,25 +256,25 @@ class ComponentbuilderModelCustom_codes extends ListModel
2 => 'COM_COMPONENTBUILDER_CUSTOM_CODE_HTML'
);
// Now check if value is found in this array
if (isset($comment_typeArray[$value]) && ComponentbuilderHelper::checkString($comment_typeArray[$value]))
if (isset($comment_typeArray[$value]) && StringHelper::check($comment_typeArray[$value]))
{
return $comment_typeArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -291,7 +307,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -315,7 +331,7 @@ class ComponentbuilderModelCustom_codes 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.function_name LIKE '.$search.' OR a.system_name LIKE '.$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.')');
}
}
@ -332,7 +348,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
$query->where('a.component = ' . (int) $_component);
}
}
elseif (ComponentbuilderHelper::checkString($_component))
elseif (StringHelper::check($_component))
{
$query->where('a.component = ' . $db->quote($db->escape($_component)));
}
@ -349,7 +365,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
$query->where('a.target = ' . (int) $_target);
}
}
elseif (ComponentbuilderHelper::checkString($_target))
elseif (StringHelper::check($_target))
{
$query->where('a.target = ' . $db->quote($db->escape($_target)));
}
@ -366,7 +382,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
$query->where('a.type = ' . (int) $_type);
}
}
elseif (ComponentbuilderHelper::checkString($_type))
elseif (StringHelper::check($_type))
{
$query->where('a.type = ' . $db->quote($db->escape($_type)));
}
@ -383,16 +399,18 @@ class ComponentbuilderModelCustom_codes extends ListModel
$query->where('a.comment_type = ' . (int) $_comment_type);
}
}
elseif (ComponentbuilderHelper::checkString($_comment_type))
elseif (StringHelper::check($_comment_type))
{
$query->where('a.comment_type = ' . $db->quote($db->escape($_comment_type)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
@ -410,17 +428,17 @@ class ComponentbuilderModelCustom_codes extends ListModel
public function getExportData($pks, $user = null)
{
// setup the query
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
if (($pks_size = UtilitiesArrayHelper::check($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -464,7 +482,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
$items = $db->loadObjectList();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -476,6 +494,8 @@ class ComponentbuilderModelCustom_codes extends ListModel
continue;
}
// [1641]=> Target (code action)
$item->target_code = $item->target;
// decode code
$item->code = base64_decode($item->code);
// unset the values we don't want exported.
@ -486,7 +506,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
if (ObjectHelper::check($headers))
{
array_unshift($items,$headers);
}
@ -521,16 +541,16 @@ class ComponentbuilderModelCustom_codes extends ListModel
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__componentbuilder_custom_code");
if (ComponentbuilderHelper::checkArray($columns))
if (UtilitiesArrayHelper::check($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
$headers = new \stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
@ -539,7 +559,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
@ -554,13 +574,13 @@ class ComponentbuilderModelCustom_codes extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -572,6 +592,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
$id .= ':' . $this->getState('filter.type');
$id .= ':' . $this->getState('filter.comment_type');
$id .= ':' . $this->getState('filter.path');
$id .= ':' . $this->getState('filter.joomla_version');
return parent::getStoreId($id);
}
@ -579,19 +600,18 @@ class ComponentbuilderModelCustom_codes extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -603,7 +623,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -624,7 +644,7 @@ class ComponentbuilderModelCustom_codes extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,14 +12,22 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
/**
@ -59,6 +67,16 @@ class ComponentbuilderModelDynamic_get extends AdminModel
'not_required'
)
),
'abacus' => array(
'left' => array(
'addcalculation'
),
'fullwidth' => array(
'note_calculation_item',
'note_calculation_items',
'php_calculation'
)
),
'custom_script' => array(
'fullwidth' => array(
'add_php_before_getitem',
@ -72,19 +90,10 @@ class ComponentbuilderModelDynamic_get extends AdminModel
'add_php_after_getitems',
'php_after_getitems',
'add_php_router_parse',
'php_router_parse_notice',
'php_router_parse'
)
),
'abacus' => array(
'left' => array(
'addcalculation'
),
'fullwidth' => array(
'note_calculation_item',
'note_calculation_items',
'php_calculation'
)
),
'joint' => array(
'fullwidth' => array(
'join_view_table',
@ -123,16 +132,16 @@ class ComponentbuilderModelDynamic_get extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'dynamic_get', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'dynamic_get', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -168,13 +177,12 @@ class ComponentbuilderModelDynamic_get extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -183,7 +191,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -213,22 +221,28 @@ class ComponentbuilderModelDynamic_get extends AdminModel
$item->metadata = $registry->toArray();
}
if (!empty($item->php_calculation))
{
// base64 Decode php_calculation.
$item->php_calculation = base64_decode($item->php_calculation);
}
if (!empty($item->php_router_parse))
{
// base64 Decode php_router_parse.
$item->php_router_parse = base64_decode($item->php_router_parse);
}
if (!empty($item->php_before_getitems))
if (!empty($item->php_custom_get))
{
// base64 Decode php_before_getitems.
$item->php_before_getitems = base64_decode($item->php_before_getitems);
// base64 Decode php_custom_get.
$item->php_custom_get = base64_decode($item->php_custom_get);
}
if (!empty($item->php_after_getitems))
if (!empty($item->php_before_getitem))
{
// base64 Decode php_after_getitems.
$item->php_after_getitems = base64_decode($item->php_after_getitems);
// base64 Decode php_before_getitem.
$item->php_before_getitem = base64_decode($item->php_before_getitem);
}
if (!empty($item->php_after_getitem))
@ -243,22 +257,16 @@ class ComponentbuilderModelDynamic_get extends AdminModel
$item->php_getlistquery = base64_decode($item->php_getlistquery);
}
if (!empty($item->php_custom_get))
if (!empty($item->php_before_getitems))
{
// base64 Decode php_custom_get.
$item->php_custom_get = base64_decode($item->php_custom_get);
// base64 Decode php_before_getitems.
$item->php_before_getitems = base64_decode($item->php_before_getitems);
}
if (!empty($item->php_calculation))
if (!empty($item->php_after_getitems))
{
// base64 Decode php_calculation.
$item->php_calculation = base64_decode($item->php_calculation);
}
if (!empty($item->php_before_getitem))
{
// base64 Decode php_before_getitem.
$item->php_before_getitem = base64_decode($item->php_before_getitem);
// base64 Decode php_after_getitems.
$item->php_after_getitems = base64_decode($item->php_after_getitems);
}
if (!empty($item->join_db_table))
@ -344,20 +352,19 @@ class ComponentbuilderModelDynamic_get extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
}
// update the fields
$objectUpdate = new stdClass();
$objectUpdate = new \stdClass();
$objectUpdate->id = (int) $item->id;
// repeatable values to check
$arrayChecker = array(
@ -407,7 +414,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -434,7 +441,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -447,7 +454,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -504,7 +511,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -538,13 +545,13 @@ class ComponentbuilderModelDynamic_get extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/dynamic_get.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -563,7 +570,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('dynamic_get.delete', 'com_componentbuilder.dynamic_get.' . (int) $record->id);
}
@ -581,8 +588,8 @@ class ComponentbuilderModelDynamic_get extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -596,28 +603,28 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('dynamic_get.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('dynamic_get.edit', 'com_componentbuilder.dynamic_get.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('dynamic_get.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -625,19 +632,19 @@ class ComponentbuilderModelDynamic_get extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -649,7 +656,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_dynamic_get'));
@ -664,7 +671,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -679,10 +686,10 @@ class ComponentbuilderModelDynamic_get extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.dynamic_get.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.dynamic_get.data', []);
if (empty($data))
{
@ -710,7 +717,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -718,7 +725,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (ComponentbuilderHelper::checkString($requiredField))
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
@ -741,7 +748,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
{
return array('guid');
}
/**
* Method to delete one or more records.
*
@ -757,7 +764,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
{
return false;
}
return true;
}
@ -777,10 +784,10 @@ class ComponentbuilderModelDynamic_get extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -806,30 +813,30 @@ class ComponentbuilderModelDynamic_get extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('dynamic_get');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('dynamic_get');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -866,8 +873,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -893,7 +899,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('dynamic_get');
@ -919,7 +925,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
$values['published'] = 0;
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -932,7 +938,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
if (!$this->user->authorise('dynamic_get.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -948,19 +954,19 @@ class ComponentbuilderModelDynamic_get extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->name) && !is_numeric($this->table->name))
if (UtilitiesStringHelper::check($this->table->name) && !is_numeric($this->table->name))
{
$this->table->name = $this->generateUnique('name',$this->table->name);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -972,7 +978,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1036,7 +1042,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('dynamic_get');
@ -1044,7 +1050,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
if (!$this->canDo->get('dynamic_get.edit') && !$this->canDo->get('dynamic_get.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -1061,7 +1067,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
{
if (!$this->user->authorise('dynamic_get.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -1077,13 +1083,13 @@ class ComponentbuilderModelDynamic_get extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -1127,7 +1133,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -1139,15 +1145,15 @@ class ComponentbuilderModelDynamic_get extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -1170,7 +1176,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set the join_db_table items to data.
if (isset($data['join_db_table']) && is_array($data['join_db_table']))
{
$join_db_table = new JRegistry;
$join_db_table = new Registry;
$join_db_table->loadArray($data['join_db_table']);
$data['join_db_table'] = (string) $join_db_table;
}
@ -1183,7 +1189,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set the filter items to data.
if (isset($data['filter']) && is_array($data['filter']))
{
$filter = new JRegistry;
$filter = new Registry;
$filter->loadArray($data['filter']);
$data['filter'] = (string) $filter;
}
@ -1196,7 +1202,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set the where items to data.
if (isset($data['where']) && is_array($data['where']))
{
$where = new JRegistry;
$where = new Registry;
$where->loadArray($data['where']);
$data['where'] = (string) $where;
}
@ -1209,7 +1215,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set the order items to data.
if (isset($data['order']) && is_array($data['order']))
{
$order = new JRegistry;
$order = new Registry;
$order->loadArray($data['order']);
$data['order'] = (string) $order;
}
@ -1222,7 +1228,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set the group items to data.
if (isset($data['group']) && is_array($data['group']))
{
$group = new JRegistry;
$group = new Registry;
$group->loadArray($data['group']);
$data['group'] = (string) $group;
}
@ -1235,7 +1241,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set the global items to data.
if (isset($data['global']) && is_array($data['global']))
{
$global = new JRegistry;
$global = new Registry;
$global->loadArray($data['global']);
$data['global'] = (string) $global;
}
@ -1248,7 +1254,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Set the join_view_table items to data.
if (isset($data['join_view_table']) && is_array($data['join_view_table']))
{
$join_view_table = new JRegistry;
$join_view_table = new Registry;
$join_view_table->loadArray($data['join_view_table']);
$data['join_view_table'] = (string) $join_view_table;
}
@ -1264,22 +1270,28 @@ class ComponentbuilderModelDynamic_get extends AdminModel
$data['plugin_events'] = (string) json_encode($data['plugin_events']);
}
// Set the php_calculation string to base64 string.
if (isset($data['php_calculation']))
{
$data['php_calculation'] = base64_encode($data['php_calculation']);
}
// Set the php_router_parse string to base64 string.
if (isset($data['php_router_parse']))
{
$data['php_router_parse'] = base64_encode($data['php_router_parse']);
}
// Set the php_before_getitems string to base64 string.
if (isset($data['php_before_getitems']))
// Set the php_custom_get string to base64 string.
if (isset($data['php_custom_get']))
{
$data['php_before_getitems'] = base64_encode($data['php_before_getitems']);
$data['php_custom_get'] = base64_encode($data['php_custom_get']);
}
// Set the php_after_getitems string to base64 string.
if (isset($data['php_after_getitems']))
// Set the php_before_getitem string to base64 string.
if (isset($data['php_before_getitem']))
{
$data['php_after_getitems'] = base64_encode($data['php_after_getitems']);
$data['php_before_getitem'] = base64_encode($data['php_before_getitem']);
}
// Set the php_after_getitem string to base64 string.
@ -1294,28 +1306,22 @@ class ComponentbuilderModelDynamic_get extends AdminModel
$data['php_getlistquery'] = base64_encode($data['php_getlistquery']);
}
// Set the php_custom_get string to base64 string.
if (isset($data['php_custom_get']))
// Set the php_before_getitems string to base64 string.
if (isset($data['php_before_getitems']))
{
$data['php_custom_get'] = base64_encode($data['php_custom_get']);
$data['php_before_getitems'] = base64_encode($data['php_before_getitems']);
}
// Set the php_calculation string to base64 string.
if (isset($data['php_calculation']))
// Set the php_after_getitems string to base64 string.
if (isset($data['php_after_getitems']))
{
$data['php_calculation'] = base64_encode($data['php_calculation']);
$data['php_after_getitems'] = base64_encode($data['php_after_getitems']);
}
// Set the php_before_getitem string to base64 string.
if (isset($data['php_before_getitem']))
{
$data['php_before_getitem'] = base64_encode($data['php_before_getitem']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -1325,7 +1331,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1333,14 +1339,14 @@ class ComponentbuilderModelDynamic_get extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1353,7 +1359,6 @@ class ComponentbuilderModelDynamic_get extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1379,7 +1384,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,18 +12,26 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Dynamic_gets List Model
*/
class ComponentbuilderModelDynamic_gets extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -53,7 +61,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -110,7 +118,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -125,12 +133,12 @@ class ComponentbuilderModelDynamic_gets extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -146,7 +154,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -157,7 +165,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
}
}
// return items
return $items;
}
@ -165,7 +173,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -179,7 +187,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
3 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_CUSTOM'
);
// Now check if value is found in this array
if (isset($main_sourceArray[$value]) && ComponentbuilderHelper::checkString($main_sourceArray[$value]))
if (isset($main_sourceArray[$value]) && StringHelper::check($main_sourceArray[$value]))
{
return $main_sourceArray[$value];
}
@ -194,25 +202,25 @@ class ComponentbuilderModelDynamic_gets extends ListModel
4 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_GETCUSTOMS'
);
// Now check if value is found in this array
if (isset($gettypeArray[$value]) && ComponentbuilderHelper::checkString($gettypeArray[$value]))
if (isset($gettypeArray[$value]) && StringHelper::check($gettypeArray[$value]))
{
return $gettypeArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -241,7 +249,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -282,7 +290,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
$query->where('a.main_source = ' . (int) $_main_source);
}
}
elseif (ComponentbuilderHelper::checkString($_main_source))
elseif (StringHelper::check($_main_source))
{
$query->where('a.main_source = ' . $db->quote($db->escape($_main_source)));
}
@ -299,16 +307,18 @@ class ComponentbuilderModelDynamic_gets extends ListModel
$query->where('a.gettype = ' . (int) $_gettype);
}
}
elseif (ComponentbuilderHelper::checkString($_gettype))
elseif (StringHelper::check($_gettype))
{
$query->where('a.gettype = ' . $db->quote($db->escape($_gettype)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
@ -326,17 +336,17 @@ class ComponentbuilderModelDynamic_gets extends ListModel
public function getExportData($pks, $user = null)
{
// setup the query
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
if (($pks_size = UtilitiesArrayHelper::check($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -380,7 +390,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
$items = $db->loadObjectList();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -392,22 +402,22 @@ class ComponentbuilderModelDynamic_gets extends ListModel
continue;
}
// decode php_calculation
$item->php_calculation = base64_decode($item->php_calculation);
// decode php_router_parse
$item->php_router_parse = base64_decode($item->php_router_parse);
// decode php_before_getitems
$item->php_before_getitems = base64_decode($item->php_before_getitems);
// decode php_after_getitems
$item->php_after_getitems = base64_decode($item->php_after_getitems);
// decode php_custom_get
$item->php_custom_get = base64_decode($item->php_custom_get);
// decode php_before_getitem
$item->php_before_getitem = base64_decode($item->php_before_getitem);
// decode php_after_getitem
$item->php_after_getitem = base64_decode($item->php_after_getitem);
// decode php_getlistquery
$item->php_getlistquery = base64_decode($item->php_getlistquery);
// decode php_custom_get
$item->php_custom_get = base64_decode($item->php_custom_get);
// decode php_calculation
$item->php_calculation = base64_decode($item->php_calculation);
// decode php_before_getitem
$item->php_before_getitem = base64_decode($item->php_before_getitem);
// decode php_before_getitems
$item->php_before_getitems = base64_decode($item->php_before_getitems);
// decode php_after_getitems
$item->php_after_getitems = base64_decode($item->php_after_getitems);
// unset the values we don't want exported.
unset($item->asset_id);
unset($item->checked_out);
@ -416,7 +426,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
if (ObjectHelper::check($headers))
{
array_unshift($items,$headers);
}
@ -434,16 +444,16 @@ class ComponentbuilderModelDynamic_gets extends ListModel
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__componentbuilder_dynamic_get");
if (ComponentbuilderHelper::checkArray($columns))
if (UtilitiesArrayHelper::check($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
$headers = new \stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
@ -452,7 +462,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
@ -467,13 +477,13 @@ class ComponentbuilderModelDynamic_gets extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -490,19 +500,18 @@ class ComponentbuilderModelDynamic_gets extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -514,7 +523,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -535,7 +544,7 @@ class ComponentbuilderModelDynamic_gets extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,14 +12,22 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
use Joomla\CMS\UCM\UCMType;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\String\FieldHelper;
use VDM\Joomla\Utilities\String\TypeHelper;
use VDM\Joomla\Utilities\GetHelper;
@ -118,16 +126,16 @@ class ComponentbuilderModelField extends AdminModel
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
* @return Table A database object
*
* @since 1.6
*/
public function getTable($type = 'field', $prefix = 'ComponentbuilderTable', $config = array())
public function getTable($type = 'field', $prefix = 'ComponentbuilderTable', $config = [])
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
return Table::getInstance($type, $prefix, $config);
}
@ -163,13 +171,12 @@ class ComponentbuilderModelField extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -178,7 +185,7 @@ class ComponentbuilderModelField extends AdminModel
return $this->vastDevMod;
}
/**
* Method to get a single record.
*
@ -283,13 +290,12 @@ class ComponentbuilderModelField extends AdminModel
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
// set a return value if found
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
$return = $jinput->get('return', null, 'base64');
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
// set a GUID value if found
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
&& method_exists('ComponentbuilderHelper', 'validGUID')
&& ComponentbuilderHelper::validGUID($item->guid))
&& GuidHelper::valid($item->guid))
{
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
}
@ -310,7 +316,7 @@ class ComponentbuilderModelField extends AdminModel
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
@ -337,7 +343,7 @@ class ComponentbuilderModelField extends AdminModel
return false;
}
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
@ -350,7 +356,7 @@ class ComponentbuilderModelField extends AdminModel
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
$user = Factory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
@ -407,7 +413,7 @@ class ComponentbuilderModelField extends AdminModel
}
// update all editors to use this components global editor
$global_editor = JComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
// now get all the editor fields
$editors = $form->getXml()->xpath("//field[@type='editor']");
// check if we found any
@ -435,13 +441,13 @@ class ComponentbuilderModelField extends AdminModel
/**
* Method to get the script that have to be included on the form
*
* @return string script files
* @return string script files
*/
public function getScript()
{
return 'media/com_componentbuilder/js/field.js';
}
/**
* Method to test whether a record can be deleted.
*
@ -460,7 +466,7 @@ class ComponentbuilderModelField extends AdminModel
return;
}
$user = JFactory::getUser();
$user = Factory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('field.delete', 'com_componentbuilder.field.' . (int) $record->id);
}
@ -478,8 +484,8 @@ class ComponentbuilderModelField extends AdminModel
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
$user = Factory::getUser();
$recordId = $record->id ?? 0;
if ($recordId)
{
@ -493,28 +499,28 @@ class ComponentbuilderModelField extends AdminModel
// In the absence of better information, revert to the component permissions.
return $user->authorise('field.edit.state', 'com_componentbuilder');
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
* @since 2.5
* @return boolean
* @since 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
protected function allowEdit($data = [], $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
$user = Factory::getUser();
return $user->authorise('field.edit', 'com_componentbuilder.field.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('field.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
* @param Table $table A Table object.
*
* @return void
*
@ -522,19 +528,19 @@ class ComponentbuilderModelField extends AdminModel
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
@ -546,7 +552,7 @@ class ComponentbuilderModelField extends AdminModel
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_field'));
@ -561,7 +567,7 @@ class ComponentbuilderModelField extends AdminModel
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
@ -576,10 +582,10 @@ class ComponentbuilderModelField extends AdminModel
*
* @since 1.6
*/
protected function loadFormData()
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.field.data', array());
$data = Factory::getApplication()->getUserState('com_componentbuilder.edit.field.data', []);
if (empty($data))
{
@ -607,7 +613,7 @@ class ComponentbuilderModelField extends AdminModel
public function validate($form, $data, $group = null)
{
// check if the not_required field is set
if (isset($data['not_required']) && ComponentbuilderHelper::checkString($data['not_required']))
if (isset($data['not_required']) && UtilitiesStringHelper::check($data['not_required']))
{
$requiredFields = (array) explode(',',(string) $data['not_required']);
$requiredFields = array_unique($requiredFields);
@ -615,7 +621,7 @@ class ComponentbuilderModelField extends AdminModel
foreach ($requiredFields as $requiredField)
{
// make sure there is a string value
if (ComponentbuilderHelper::checkString($requiredField))
if (UtilitiesStringHelper::check($requiredField))
{
// change to false
$form->setFieldAttribute($requiredField, 'required', 'false');
@ -638,7 +644,7 @@ class ComponentbuilderModelField extends AdminModel
{
return array('guid');
}
/**
* Method to delete one or more records.
*
@ -654,7 +660,7 @@ class ComponentbuilderModelField extends AdminModel
{
return false;
}
return true;
}
@ -674,10 +680,10 @@ class ComponentbuilderModelField extends AdminModel
{
return false;
}
return true;
}
}
/**
* Method to perform batch operations on an item or a set of items.
*
@ -703,30 +709,30 @@ class ComponentbuilderModelField extends AdminModel
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('field');
$this->batchSet = true;
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new UCMType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('field');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$type = new UCMType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
@ -763,8 +769,7 @@ class ComponentbuilderModelField extends AdminModel
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
@ -790,7 +795,7 @@ class ComponentbuilderModelField extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('field');
@ -831,7 +836,7 @@ class ComponentbuilderModelField extends AdminModel
unset($values['category']);
}
$newIds = array();
$newIds = [];
// Parent exists so let's proceed
while (!empty($pks))
{
@ -844,7 +849,7 @@ class ComponentbuilderModelField extends AdminModel
if (!$this->user->authorise('field.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
@ -860,13 +865,13 @@ class ComponentbuilderModelField extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -878,7 +883,7 @@ class ComponentbuilderModelField extends AdminModel
}
// update all unique fields
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -942,7 +947,7 @@ class ComponentbuilderModelField extends AdminModel
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->user = Factory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('field');
@ -950,7 +955,7 @@ class ComponentbuilderModelField extends AdminModel
if (!$this->canDo->get('field.edit') && !$this->canDo->get('field.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -983,7 +988,7 @@ class ComponentbuilderModelField extends AdminModel
{
if (!$this->user->authorise('field.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
$this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
@ -999,13 +1004,13 @@ class ComponentbuilderModelField extends AdminModel
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
if (UtilitiesArrayHelper::check($values))
{
foreach ($values as $key => $value)
{
@ -1049,7 +1054,7 @@ class ComponentbuilderModelField extends AdminModel
return true;
}
/**
* Method to save the form data.
*
@ -1061,15 +1066,15 @@ class ComponentbuilderModelField extends AdminModel
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
$input = Factory::getApplication()->input;
$filter = InputFilter::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata = new Registry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
@ -1214,11 +1219,11 @@ class ComponentbuilderModelField extends AdminModel
{
$data['javascript_views_footer'] = base64_encode($data['javascript_views_footer']);
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params = new Registry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
@ -1228,7 +1233,7 @@ class ComponentbuilderModelField extends AdminModel
{
// Automatic handling of other unique fields
$uniqueFields = $this->getUniqueFields();
if (ComponentbuilderHelper::checkArray($uniqueFields))
if (UtilitiesArrayHelper::check($uniqueFields))
{
foreach ($uniqueFields as $uniqueField)
{
@ -1236,14 +1241,14 @@ class ComponentbuilderModelField extends AdminModel
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a unique value.
*
@ -1256,7 +1261,6 @@ class ComponentbuilderModelField extends AdminModel
*/
protected function generateUnique($field,$value)
{
// set field value unique
$table = $this->getTable();
@ -1282,7 +1286,7 @@ class ComponentbuilderModelField extends AdminModel
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
while ($table->load(['title' => $title]))
{
$title = StringHelper::increment($title);
}

View File

@ -12,21 +12,28 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\ListModel;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\Helper\TagsHelper;
use VDM\Joomla\Utilities\FormHelper as JCBFormHelper;
use VDM\Joomla\Componentbuilder\Utilities\FilterHelper as JCBFilterHelper;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\ObjectHelper;
use VDM\Joomla\Utilities\StringHelper;
/**
* Fields List Model
*/
class ComponentbuilderModelFields extends ListModel
{
public function __construct($config = array())
public function __construct($config = [])
{
if (empty($config['filter_fields']))
{
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
@ -82,13 +89,13 @@ class ComponentbuilderModelFields extends ListModel
'onchange' => 'this.form.submit();',
);
$options = array(
'' => '- ' . JText::_('COM_COMPONENTBUILDER_NO_ADMIN_VIEWS_FOUND') . ' -'
'' => '- ' . Text::_('COM_COMPONENTBUILDER_NO_ADMIN_VIEWS_FOUND') . ' -'
);
// check if we have admin views (and limit to an extension if it is set)
if (($admin_views = JCBFilterHelper::names('admin_view', $this->state->get("filter.extension"))) !== null)
{
$options = array(
'' => '- ' . JText::_('COM_COMPONENTBUILDER_SELECT_ADMIN_VIEW') . ' -'
'' => '- ' . Text::_('COM_COMPONENTBUILDER_SELECT_ADMIN_VIEW') . ' -'
);
// make sure we do not lose the key values in normal merge
$options = $options + $admin_views;
@ -119,7 +126,7 @@ class ComponentbuilderModelFields extends ListModel
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$app = Factory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
@ -210,7 +217,7 @@ class ComponentbuilderModelFields extends ListModel
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
@ -225,12 +232,12 @@ class ComponentbuilderModelFields extends ListModel
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
foreach ($items as $nr => &$item)
{
@ -246,7 +253,7 @@ class ComponentbuilderModelFields extends ListModel
}
// set selection value to a translatable value
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -261,7 +268,7 @@ class ComponentbuilderModelFields extends ListModel
}
}
// return items
return $items;
}
@ -269,7 +276,7 @@ class ComponentbuilderModelFields extends ListModel
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
* @return string The translatable string.
*/
public function selectionTranslation($value,$name)
{
@ -298,7 +305,7 @@ class ComponentbuilderModelFields extends ListModel
'DOUBLE' => 'COM_COMPONENTBUILDER_FIELD_DOUBLE'
);
// Now check if value is found in this array
if (isset($datatypeArray[$value]) && ComponentbuilderHelper::checkString($datatypeArray[$value]))
if (isset($datatypeArray[$value]) && StringHelper::check($datatypeArray[$value]))
{
return $datatypeArray[$value];
}
@ -312,7 +319,7 @@ class ComponentbuilderModelFields extends ListModel
0 => 'COM_COMPONENTBUILDER_FIELD_NONE'
);
// Now check if value is found in this array
if (isset($indexesArray[$value]) && ComponentbuilderHelper::checkString($indexesArray[$value]))
if (isset($indexesArray[$value]) && StringHelper::check($indexesArray[$value]))
{
return $indexesArray[$value];
}
@ -325,7 +332,7 @@ class ComponentbuilderModelFields extends ListModel
'NOT NULL' => 'COM_COMPONENTBUILDER_FIELD_NOT_NULL'
);
// Now check if value is found in this array
if (isset($null_switchArray[$value]) && ComponentbuilderHelper::checkString($null_switchArray[$value]))
if (isset($null_switchArray[$value]) && StringHelper::check($null_switchArray[$value]))
{
return $null_switchArray[$value];
}
@ -343,25 +350,25 @@ class ComponentbuilderModelFields extends ListModel
6 => 'COM_COMPONENTBUILDER_FIELD_EXPERT_MODE_CUSTOM'
);
// Now check if value is found in this array
if (isset($storeArray[$value]) && ComponentbuilderHelper::checkString($storeArray[$value]))
if (isset($storeArray[$value]) && StringHelper::check($storeArray[$value]))
{
return $storeArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
$user = Factory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -442,7 +449,7 @@ class ComponentbuilderModelFields extends ListModel
{
$query->where('a.access = ' . (int) $_access);
}
elseif (ComponentbuilderHelper::checkArray($_access))
elseif (UtilitiesArrayHelper::check($_access))
{
// Secure the array for the query
$_access = ArrayHelper::toInteger($_access);
@ -483,7 +490,7 @@ class ComponentbuilderModelFields extends ListModel
$query->where('a.fieldtype = ' . (int) $_fieldtype);
}
}
elseif (ComponentbuilderHelper::checkString($_fieldtype))
elseif (StringHelper::check($_fieldtype))
{
$query->where('a.fieldtype = ' . $db->quote($db->escape($_fieldtype)));
}
@ -500,7 +507,7 @@ class ComponentbuilderModelFields extends ListModel
$query->where('a.datatype = ' . (int) $_datatype);
}
}
elseif (ComponentbuilderHelper::checkString($_datatype))
elseif (StringHelper::check($_datatype))
{
$query->where('a.datatype = ' . $db->quote($db->escape($_datatype)));
}
@ -517,7 +524,7 @@ class ComponentbuilderModelFields extends ListModel
$query->where('a.indexes = ' . (int) $_indexes);
}
}
elseif (ComponentbuilderHelper::checkString($_indexes))
elseif (StringHelper::check($_indexes))
{
$query->where('a.indexes = ' . $db->quote($db->escape($_indexes)));
}
@ -534,7 +541,7 @@ class ComponentbuilderModelFields extends ListModel
$query->where('a.null_switch = ' . (int) $_null_switch);
}
}
elseif (ComponentbuilderHelper::checkString($_null_switch))
elseif (StringHelper::check($_null_switch))
{
$query->where('a.null_switch = ' . $db->quote($db->escape($_null_switch)));
}
@ -551,7 +558,7 @@ class ComponentbuilderModelFields extends ListModel
$query->where('a.store = ' . (int) $_store);
}
}
elseif (ComponentbuilderHelper::checkString($_store))
elseif (StringHelper::check($_store))
{
$query->where('a.store = ' . $db->quote($db->escape($_store)));
}
@ -562,7 +569,7 @@ class ComponentbuilderModelFields extends ListModel
if (is_numeric($categoryId))
{
$cat_tbl = JTable::getInstance('Category', 'JTable');
$cat_tbl = Table::getInstance('Category', 'JTable');
$cat_tbl->load($categoryId);
$rgt = $cat_tbl->rgt;
$lft = $cat_tbl->lft;
@ -579,10 +586,12 @@ class ComponentbuilderModelFields extends ListModel
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'desc');
$orderCol = $this->getState('list.ordering', 'a.id');
$orderDirn = $this->getState('list.direction', 'desc');
if ($orderCol != '')
{
// Check that the order direction is valid encase we have a field called direction as part of filers.
$orderDirn = (is_string($orderDirn) && in_array(strtolower($orderDirn), ['asc', 'desc'])) ? $orderDirn : 'desc';
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
@ -600,17 +609,17 @@ class ComponentbuilderModelFields extends ListModel
public function getExportData($pks, $user = null)
{
// setup the query
if (($pks_size = ComponentbuilderHelper::checkArray($pks)) !== false || 'bulk' === $pks)
if (($pks_size = UtilitiesArrayHelper::check($pks)) !== false || 'bulk' === $pks)
{
// Set a value to know this is export method. (USE IN CUSTOM CODE TO ALTER OUTCOME)
$_export = true;
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
if (!isset($user) || !ObjectHelper::check($user))
{
$user = JFactory::getUser();
$user = Factory::getUser();
}
// Create a new query object.
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
// Select some fields
@ -700,7 +709,7 @@ class ComponentbuilderModelFields extends ListModel
$items = $db->loadObjectList();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
if (UtilitiesArrayHelper::check($items))
{
foreach ($items as $nr => &$item)
{
@ -736,7 +745,7 @@ class ComponentbuilderModelFields extends ListModel
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
if (ObjectHelper::check($headers))
{
array_unshift($items,$headers);
}
@ -754,16 +763,16 @@ class ComponentbuilderModelFields extends ListModel
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__componentbuilder_field");
if (ComponentbuilderHelper::checkArray($columns))
if (UtilitiesArrayHelper::check($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
$headers = new \stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
@ -772,7 +781,7 @@ class ComponentbuilderModelFields extends ListModel
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
@ -787,13 +796,13 @@ class ComponentbuilderModelFields extends ListModel
$id .= ':' . $this->getState('filter.published');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (ComponentbuilderHelper::checkArray($_access))
if (UtilitiesArrayHelper::check($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| ComponentbuilderHelper::checkString($_access))
|| StringHelper::check($_access))
{
$id .= ':' . $_access;
}
@ -807,37 +816,37 @@ class ComponentbuilderModelFields extends ListModel
$id .= ':' . $this->getState('filter.store');
// Check if the value is an array
$_category = $this->getState('filter.category');
if (ComponentbuilderHelper::checkArray($_category))
if (UtilitiesArrayHelper::check($_category))
{
$id .= ':' . implode(':', $_category);
}
// Check if this is only an number or string
elseif (is_numeric($_category)
|| ComponentbuilderHelper::checkString($_category))
|| StringHelper::check($_category))
{
$id .= ':' . $_category;
}
// Check if the value is an array
$_category_id = $this->getState('filter.category_id');
if (ComponentbuilderHelper::checkArray($_category_id))
if (UtilitiesArrayHelper::check($_category_id))
{
$id .= ':' . implode(':', $_category_id);
}
// Check if this is only an number or string
elseif (is_numeric($_category_id)
|| ComponentbuilderHelper::checkString($_category_id))
|| StringHelper::check($_category_id))
{
$id .= ':' . $_category_id;
}
// Check if the value is an array
$_catid = $this->getState('filter.catid');
if (ComponentbuilderHelper::checkArray($_catid))
if (UtilitiesArrayHelper::check($_catid))
{
$id .= ':' . implode(':', $_catid);
}
// Check if this is only an number or string
elseif (is_numeric($_catid)
|| ComponentbuilderHelper::checkString($_catid))
|| StringHelper::check($_catid))
{
$id .= ':' . $_catid;
}
@ -849,19 +858,18 @@ class ComponentbuilderModelFields extends ListModel
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
* @return bool
* @since 3.2.0
*/
protected function checkInNow()
protected function checkInNow(): bool
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
$time = ComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Reset query.
$query = $db->getQuery(true);
$query->select('*');
@ -873,7 +881,7 @@ class ComponentbuilderModelFields extends ListModel
if ($db->getNumRows())
{
// Get Yesterdays date.
$date = JFactory::getDate()->modify($time)->toSql();
$date = Factory::getDate()->modify($time)->toSql();
// Reset query.
$query = $db->getQuery(true);
@ -894,7 +902,7 @@ class ComponentbuilderModelFields extends ListModel
$db->setQuery($query);
$db->execute();
return $db->execute();
}
}

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldAdminlistvieworderfields extends JFormFieldList
/**
* The adminlistvieworderfields field type.
*
* @var string
* @var string
*/
public $type = 'adminlistvieworderfields';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldAdminsviews extends JFormFieldList
/**
* The adminsviews field type.
*
* @var string
* @var string
*/
public $type = 'adminsviews';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,11 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use VDM\Joomla\Utilities\StringHelper;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,33 +29,36 @@ class JFormFieldAdminviewfolderlist extends JFormFieldList
/**
* The adminviewfolderlist field type.
*
* @var string
* @var string
*/
public $type = 'adminviewfolderlist';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// get custom folder files
$localfolder = JPATH_COMPONENT_ADMINISTRATOR.'/views';
$localfolders = [];
$localfolders[] = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/views';
$localfolders[] = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/src/View';
// set the default
$options = array();
// import all needed classes
jimport('joomla.filesystem.folder');
$options = [];
// now check if there are files in the folder
if (JFolder::exists($localfolder) && $folders = JFolder::folders($localfolder))
foreach ($localfolders as $localfolder)
{
if ($this->multiple === false)
if (is_dir($localfolder) && $folders = \Joomla\Filesystem\Folder::folders($localfolder))
{
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_SELECT_AN_ADMIN_VIEW'));
}
foreach ($folders as $folder)
{
$options[] = JHtml::_('select.option', $folder, ComponentbuilderHelper::safeString($folder, 'W'));
if ($this->multiple === false)
{
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_ADMIN_VIEW'));
}
foreach ($folders as $folder)
{
$options[] = Html::_('select.option', $folder, StringHelper::safe($folder, 'W'));
}
}
}
return $options;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldAdminviews extends JFormFieldList
/**
* The adminviews field type.
*
* @var string
* @var string
*/
public $type = 'adminviews';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldAdminviewsfilteraddcustombutton extends JFormFieldList
/**
* The adminviewsfilteraddcustombutton field type.
*
* @var string
* @var string
*/
public $type = 'adminviewsfilteraddcustombutton';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldAdminviewsfilteraddcustombutton extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTONS') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTONS') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldAdminviewsfilteraddcustombutton extends JFormFieldList
// Translate the add_custom_button selection
$_text = $_model->selectionTranslation($add_custom_button,'add_custom_button');
// Now add the add_custom_button and its text to the options array
$_filter[] = JHtml::_('select.option', $add_custom_button, JText::_($_text));
$_filter[] = Html::_('select.option', $add_custom_button, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldAdminviewsfilteraddcustomimport extends JFormFieldList
/**
* The adminviewsfilteraddcustomimport field type.
*
* @var string
* @var string
*/
public $type = 'adminviewsfilteraddcustomimport';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldAdminviewsfilteraddcustomimport extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_IMPORT') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_IMPORT') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldAdminviewsfilteraddcustomimport extends JFormFieldList
// Translate the add_custom_import selection
$_text = $_model->selectionTranslation($add_custom_import,'add_custom_import');
// Now add the add_custom_import and its text to the options array
$_filter[] = JHtml::_('select.option', $add_custom_import, JText::_($_text));
$_filter[] = Html::_('select.option', $add_custom_import, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldAdminviewsfilteraddfadein extends JFormFieldList
/**
* The adminviewsfilteraddfadein field type.
*
* @var string
* @var string
*/
public $type = 'adminviewsfilteraddfadein';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldAdminviewsfilteraddfadein extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_FADE_IN_AFFECT') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_FADE_IN_AFFECT') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldAdminviewsfilteraddfadein extends JFormFieldList
// Translate the add_fadein selection
$_text = $_model->selectionTranslation($add_fadein,'add_fadein');
// Now add the add_fadein and its text to the options array
$_filter[] = JHtml::_('select.option', $add_fadein, JText::_($_text));
$_filter[] = Html::_('select.option', $add_fadein, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldAdminviewsfilteraddphpajax extends JFormFieldList
/**
* The adminviewsfilteraddphpajax field type.
*
* @var string
* @var string
*/
public $type = 'adminviewsfilteraddphpajax';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldAdminviewsfilteraddphpajax extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_AJAX') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_AJAX') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldAdminviewsfilteraddphpajax extends JFormFieldList
// Translate the add_php_ajax selection
$_text = $_model->selectionTranslation($add_php_ajax,'add_php_ajax');
// Now add the add_php_ajax and its text to the options array
$_filter[] = JHtml::_('select.option', $add_php_ajax, JText::_($_text));
$_filter[] = Html::_('select.option', $add_php_ajax, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldAdminviewsfiltertype extends JFormFieldList
/**
* The adminviewsfiltertype field type.
*
* @var string
* @var string
*/
public $type = 'adminviewsfiltertype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,7 +54,7 @@ class JFormFieldAdminviewsfiltertype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter = [];
if ($_results)
{
@ -62,7 +66,7 @@ class JFormFieldAdminviewsfiltertype extends JFormFieldList
// Translate the type selection
$_text = $_model->selectionTranslation($type,'type');
// Now add the type and its text to the options array
$_filter[] = JHtml::_('select.option', $type, JText::_($_text));
$_filter[] = Html::_('select.option', $type, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,18 +28,18 @@ class JFormFieldAdminviewsreadonly extends JFormFieldList
/**
* The adminviewsreadonly field type.
*
* @var string
* @var string
*/
public $type = 'adminviewsreadonly';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
$db = JFactory::getDBO();
$db = Factory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','admin_view_system_name')));
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
@ -45,10 +49,10 @@ $items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', 'Select an option');
$options[] = Html::_('select.option', '', 'Select an option');
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->admin_view_system_name);
$options[] = Html::_('select.option', $item->id, $item->admin_view_system_name);
}
}

View File

@ -12,6 +12,12 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\ArrayHelper;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,21 +30,21 @@ class JFormFieldAliasbuilder extends JFormFieldList
/**
* The aliasbuilder field type.
*
* @var string
* @var string
*/
public $type = 'aliasbuilder';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// load the db object
$db = JFactory::getDBO();
$db = Factory::getDBO();
// get the input from url
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// get the id
$adminView = $jinput->getInt('id', 0);
// rest the fields ids
@ -48,10 +54,10 @@ class JFormFieldAliasbuilder extends JFormFieldList
// get all the fields linked to the admin view
if ($addFields = ComponentbuilderHelper::getVar('admin_fields', (int) $adminView, 'admin_view', 'addfields'))
{
if (ComponentbuilderHelper::checkJson($addFields))
if (JsonHelper::check($addFields))
{
$addFields = json_decode($addFields, true);
if (ComponentbuilderHelper::checkArray($addFields))
if (ArrayHelper::check($addFields))
{
foreach($addFields as $addField)
{
@ -65,7 +71,7 @@ class JFormFieldAliasbuilder extends JFormFieldList
}
}
// filter by fields linked
if (ComponentbuilderHelper::checkArray($fieldIds))
if (ArrayHelper::check($fieldIds))
{
// get list of field types that does not work in list views (note, spacer)
$spacers = ComponentbuilderHelper::getSpacerIds();
@ -77,7 +83,7 @@ class JFormFieldAliasbuilder extends JFormFieldList
// only load these fields
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $fieldIds) . ')');
// none of these field types
if (ComponentbuilderHelper::checkArray($spacers))
if (ArrayHelper::check($spacers))
{
$query->where($db->quoteName('a.fieldtype') . ' NOT IN (' . implode(',', $spacers) . ')');
}
@ -89,11 +95,11 @@ class JFormFieldAliasbuilder extends JFormFieldList
{
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->name . ' [' . $item->type . ']');
$options[] = Html::_('select.option', $item->id, $item->name . ' [' . $item->type . ']');
}
return $options;
}
}
return array(JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_ADD_MORE_FIELDS_TO_THIS_ADMIN_VIEW')));
return array(Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_ADD_MORE_FIELDS_TO_THIS_ADMIN_VIEW')));
}
}

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldArticles extends JFormFieldList
/**
* The articles field type.
*
* @var string
* @var string
*/
public $type = 'articles';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldClassextendingsfilterextensiontype extends JFormFieldList
/**
* The classextendingsfilterextensiontype field type.
*
* @var string
* @var string
*/
public $type = 'classextendingsfilterextensiontype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldClassextendingsfilterextensiontype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldClassextendingsfilterextensiontype extends JFormFieldList
// Translate the extension_type selection
$_text = $_model->selectionTranslation($extension_type,'extension_type');
// Now add the extension_type and its text to the options array
$_filter[] = JHtml::_('select.option', $extension_type, JText::_($_text));
$_filter[] = Html::_('select.option', $extension_type, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,7 +28,7 @@ class JFormFieldClassextends extends JFormFieldList
/**
* The classextends field type.
*
* @var string
* @var string
*/
public $type = 'classextends';
@ -48,7 +52,7 @@ class JFormFieldClassextends extends JFormFieldList
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = JFactory::getApplication();
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
@ -64,7 +68,7 @@ class JFormFieldClassextends extends JFormFieldList
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) JUri::getInstance();
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
@ -77,20 +81,20 @@ class JFormFieldClassextends extends JFormFieldList
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = JFactory::getUser();
$user = Factory::getUser();
// only add if user allowed to create class_extends
if ($user->authorise('class_extends.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('class_extends.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
href="index.php?option=com_componentbuilder&amp;view=class_extends&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit class_extends
if ($user->authorise('class_extends.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('class_extends.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
@ -123,7 +127,7 @@ class JFormFieldClassextends extends JFormFieldList
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = JFactory::getDocument();
$document = Factory::getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-append">' .$html . implode('',$button).'</div>';
@ -135,7 +139,7 @@ class JFormFieldClassextends extends JFormFieldList
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldClassmethodsfilterextensiontype extends JFormFieldList
/**
* The classmethodsfilterextensiontype field type.
*
* @var string
* @var string
*/
public $type = 'classmethodsfilterextensiontype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldClassmethodsfilterextensiontype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldClassmethodsfilterextensiontype extends JFormFieldList
// Translate the extension_type selection
$_text = $_model->selectionTranslation($extension_type,'extension_type');
// Now add the extension_type and its text to the options array
$_filter[] = JHtml::_('select.option', $extension_type, JText::_($_text));
$_filter[] = Html::_('select.option', $extension_type, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldClassmethodsfiltervisibility extends JFormFieldList
/**
* The classmethodsfiltervisibility field type.
*
* @var string
* @var string
*/
public $type = 'classmethodsfiltervisibility';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldClassmethodsfiltervisibility extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_VISIBILITY') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_VISIBILITY') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldClassmethodsfiltervisibility extends JFormFieldList
// Translate the visibility selection
$_text = $_model->selectionTranslation($visibility,'visibility');
// Now add the visibility and its text to the options array
$_filter[] = JHtml::_('select.option', $visibility, JText::_($_text));
$_filter[] = Html::_('select.option', $visibility, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,7 +28,7 @@ class JFormFieldClasspowers extends JFormFieldList
/**
* The classpowers field type.
*
* @var string
* @var string
*/
public $type = 'classpowers';
@ -48,7 +52,7 @@ class JFormFieldClasspowers extends JFormFieldList
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = JFactory::getApplication();
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
@ -64,7 +68,7 @@ class JFormFieldClasspowers extends JFormFieldList
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) JUri::getInstance();
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
@ -77,20 +81,20 @@ class JFormFieldClasspowers extends JFormFieldList
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = JFactory::getUser();
$user = Factory::getUser();
// only add if user allowed to create power
if ($user->authorise('power.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('power.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
href="index.php?option=com_componentbuilder&amp;view=power&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit power
if ($user->authorise('power.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('power.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
@ -123,7 +127,7 @@ class JFormFieldClasspowers extends JFormFieldList
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = JFactory::getDocument();
$document = Factory::getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-append">' .$html . implode('',$button).'</div>';
@ -135,7 +139,7 @@ class JFormFieldClasspowers extends JFormFieldList
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldClasspropertiesfilterextensiontype extends JFormFieldList
/**
* The classpropertiesfilterextensiontype field type.
*
* @var string
* @var string
*/
public $type = 'classpropertiesfilterextensiontype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldClasspropertiesfilterextensiontype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_TYPE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldClasspropertiesfilterextensiontype extends JFormFieldList
// Translate the extension_type selection
$_text = $_model->selectionTranslation($extension_type,'extension_type');
// Now add the extension_type and its text to the options array
$_filter[] = JHtml::_('select.option', $extension_type, JText::_($_text));
$_filter[] = Html::_('select.option', $extension_type, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldClasspropertiesfiltervisibility extends JFormFieldList
/**
* The classpropertiesfiltervisibility field type.
*
* @var string
* @var string
*/
public $type = 'classpropertiesfiltervisibility';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldClasspropertiesfiltervisibility extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_VISIBILITY') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_VISIBILITY') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldClasspropertiesfiltervisibility extends JFormFieldList
// Translate the visibility selection
$_text = $_model->selectionTranslation($visibility,'visibility');
// Now add the visibility and its text to the options array
$_filter[] = JHtml::_('select.option', $visibility, JText::_($_text));
$_filter[] = Html::_('select.option', $visibility, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldComponentadminmenus extends JFormFieldList
/**
* The componentadminmenus field type.
*
* @var string
* @var string
*/
public $type = 'componentadminmenus';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldComponentadminviews extends JFormFieldList
/**
* The componentadminviews field type.
*
* @var string
* @var string
*/
public $type = 'componentadminviews';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -0,0 +1,75 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
/**
* Componentsroutersfiltermodeconstructorafterparent Form Field class for the Componentbuilder component
*/
class JFormFieldComponentsroutersfiltermodeconstructorafterparent extends JFormFieldList
{
/**
* The componentsroutersfiltermodeconstructorafterparent field type.
*
* @var string
*/
public $type = 'componentsroutersfiltermodeconstructorafterparent';
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('mode_constructor_after_parent'));
$query->from($db->quoteName('#__componentbuilder_component_router'));
$query->order($db->quoteName('mode_constructor_after_parent') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ROUTER_MODECONSTRUCTOR_AFTER_PARENT') . ' -');
if ($_results)
{
// get components_routersmodel
$_model = ComponentbuilderHelper::getModel('components_routers');
$_results = array_unique($_results);
foreach ($_results as $mode_constructor_after_parent)
{
// Translate the mode_constructor_after_parent selection
$_text = $_model->selectionTranslation($mode_constructor_after_parent,'mode_constructor_after_parent');
// Now add the mode_constructor_after_parent and its text to the options array
$_filter[] = Html::_('select.option', $mode_constructor_after_parent, Text::_($_text));
}
}
return $_filter;
}
}

View File

@ -0,0 +1,75 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
/**
* Componentsroutersfiltermodeconstructorbeforeparent Form Field class for the Componentbuilder component
*/
class JFormFieldComponentsroutersfiltermodeconstructorbeforeparent extends JFormFieldList
{
/**
* The componentsroutersfiltermodeconstructorbeforeparent field type.
*
* @var string
*/
public $type = 'componentsroutersfiltermodeconstructorbeforeparent';
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('mode_constructor_before_parent'));
$query->from($db->quoteName('#__componentbuilder_component_router'));
$query->order($db->quoteName('mode_constructor_before_parent') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ROUTER_MODECONSTRUCTOR_BEFORE_PARENT') . ' -');
if ($_results)
{
// get components_routersmodel
$_model = ComponentbuilderHelper::getModel('components_routers');
$_results = array_unique($_results);
foreach ($_results as $mode_constructor_before_parent)
{
// Translate the mode_constructor_before_parent selection
$_text = $_model->selectionTranslation($mode_constructor_before_parent,'mode_constructor_before_parent');
// Now add the mode_constructor_before_parent and its text to the options array
$_filter[] = Html::_('select.option', $mode_constructor_before_parent, Text::_($_text));
}
}
return $_filter;
}
}

View File

@ -0,0 +1,75 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
/**
* Componentsroutersfiltermodemethods Form Field class for the Componentbuilder component
*/
class JFormFieldComponentsroutersfiltermodemethods extends JFormFieldList
{
/**
* The componentsroutersfiltermodemethods field type.
*
* @var string
*/
public $type = 'componentsroutersfiltermodemethods';
/**
* Method to get a list of options for a list input.
*
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('mode_methods'));
$query->from($db->quoteName('#__componentbuilder_component_router'));
$query->order($db->quoteName('mode_methods') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ROUTER_MODEMETHODS') . ' -');
if ($_results)
{
// get components_routersmodel
$_model = ComponentbuilderHelper::getModel('components_routers');
$_results = array_unique($_results);
foreach ($_results as $mode_methods)
{
// Translate the mode_methods selection
$_text = $_model->selectionTranslation($mode_methods,'mode_methods');
// Now add the mode_methods and its text to the options array
$_filter[] = Html::_('select.option', $mode_methods, Text::_($_text));
}
}
return $_filter;
}
}

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldCustomadminviews extends JFormFieldList
/**
* The customadminviews field type.
*
* @var string
* @var string
*/
public $type = 'customadminviews';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldCustomadminviewsfilteraddcustombutton extends JFormFieldList
/**
* The customadminviewsfilteraddcustombutton field type.
*
* @var string
* @var string
*/
public $type = 'customadminviewsfilteraddcustombutton';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldCustomadminviewsfilteraddcustombutton extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTONS') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_CUSTOM_BUTTONS') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldCustomadminviewsfilteraddcustombutton extends JFormFieldList
// Translate the add_custom_button selection
$_text = $_model->selectionTranslation($add_custom_button,'add_custom_button');
// Now add the add_custom_button and its text to the options array
$_filter[] = JHtml::_('select.option', $add_custom_button, JText::_($_text));
$_filter[] = Html::_('select.option', $add_custom_button, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldCustomadminviewsfilteraddphpajax extends JFormFieldList
/**
* The customadminviewsfilteraddphpajax field type.
*
* @var string
* @var string
*/
public $type = 'customadminviewsfilteraddphpajax';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldCustomadminviewsfilteraddphpajax extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_AJAX') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_PHP_AJAX') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldCustomadminviewsfilteraddphpajax extends JFormFieldList
// Translate the add_php_ajax selection
$_text = $_model->selectionTranslation($add_php_ajax,'add_php_ajax');
// Now add the add_php_ajax and its text to the options array
$_filter[] = JHtml::_('select.option', $add_php_ajax, JText::_($_text));
$_filter[] = Html::_('select.option', $add_php_ajax, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldCustomcodesfiltercommenttype extends JFormFieldList
/**
* The customcodesfiltercommenttype field type.
*
* @var string
* @var string
*/
public $type = 'customcodesfiltercommenttype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldCustomcodesfiltercommenttype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_COMMENT_TYPE_USED_IN_PLACEHOLDER') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_COMMENT_TYPE_USED_IN_PLACEHOLDER') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldCustomcodesfiltercommenttype extends JFormFieldList
// Translate the comment_type selection
$_text = $_model->selectionTranslation($comment_type,'comment_type');
// Now add the comment_type and its text to the options array
$_filter[] = JHtml::_('select.option', $comment_type, JText::_($_text));
$_filter[] = Html::_('select.option', $comment_type, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldCustomcodesfiltertarget extends JFormFieldList
/**
* The customcodesfiltertarget field type.
*
* @var string
* @var string
*/
public $type = 'customcodesfiltertarget';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldCustomcodesfiltertarget extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_TARGET') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_TARGET') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldCustomcodesfiltertarget extends JFormFieldList
// Translate the target selection
$_text = $_model->selectionTranslation($target,'target');
// Now add the target and its text to the options array
$_filter[] = JHtml::_('select.option', $target, JText::_($_text));
$_filter[] = Html::_('select.option', $target, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldCustomcodesfiltertype extends JFormFieldList
/**
* The customcodesfiltertype field type.
*
* @var string
* @var string
*/
public $type = 'customcodesfiltertype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldCustomcodesfiltertype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_TYPE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_ADD_TYPE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldCustomcodesfiltertype extends JFormFieldList
// Translate the type selection
$_text = $_model->selectionTranslation($type,'type');
// Now add the type and its text to the options array
$_filter[] = JHtml::_('select.option', $type, JText::_($_text));
$_filter[] = Html::_('select.option', $type, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldCustomfilelist extends JFormFieldList
/**
* The customfilelist field type.
*
* @var string
* @var string
*/
public $type = 'customfilelist';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldCustomfolderlist extends JFormFieldList
/**
* The customfolderlist field type.
*
* @var string
* @var string
*/
public $type = 'customfolderlist';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldCustomgets extends JFormFieldList
/**
* The customgets field type.
*
* @var string
* @var string
*/
public $type = 'customgets';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldDbtables extends JFormFieldList
/**
* The dbtables field type.
*
* @var string
* @var string
*/
public $type = 'dbtables';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,14 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\StringHelper;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,28 +32,28 @@ class JFormFieldDynamicdashboard extends JFormFieldList
/**
* The dynamicdashboard field type.
*
* @var string
* @var string
*/
public $type = 'dynamicdashboard';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// load the db opbject
$db = JFactory::getDBO();
$db = Factory::getDBO();
// get the input from url
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
// get the id
$ID = $jinput->getInt('id', 0);
// set the targets
$targets = array('adminview' => 'admin_view', 'customadminview' => 'custom_admin_view');
$t = array('adminview' => 'A', 'customadminview' => 'C');
$targets = ['adminview' => 'admin_view', 'customadminview' => 'custom_admin_view'];
$t = ['adminview' => 'A', 'customadminview' => 'C'];
// rest the options
$options = array();
$options = [];
// reset the custom admin views array
$views = false;
if (is_numeric($ID) && $ID >= 1)
@ -53,7 +61,7 @@ class JFormFieldDynamicdashboard extends JFormFieldList
// get the linked back-end views
foreach ($targets as $target => $view)
{
if ($result = ComponentbuilderHelper::getVar('component_'.$view.'s', (int) $ID, 'joomla_component', 'add'.$view.'s'))
if ($result = GetHelper::var('component_'.$view.'s', (int) $ID, 'joomla_component', 'add'.$view.'s'))
{
$views[$target] = $result;
}
@ -62,28 +70,28 @@ class JFormFieldDynamicdashboard extends JFormFieldList
else
{
// not linked so there is none available
return array(JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE')));
return [Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE'))];
}
// check if we found any values
if (ComponentbuilderHelper::checkArray($views))
if (ArrayHelper::check($views))
{
foreach ($targets as $target => $view)
{
if (isset($views[$target]) && ComponentbuilderHelper::checkJson($views[$target]))
if (isset($views[$target]) && JsonHelper::check($views[$target]))
{
// convert to an array
$value = json_decode($views[$target], true);
$type = ComponentbuilderHelper::safeString($view, 'w');
if (ComponentbuilderHelper::checkArray($value))
$type = StringHelper::safe($view, 'w');
if (ArrayHelper::check($value))
{
foreach ($value as $_view)
{
if (isset($_view[$target]) && is_numeric($_view[$target]))
{
// set the view to the selections if found
if ($name = ComponentbuilderHelper::getVar($view, (int) $_view[$target], 'id', 'system_name'))
if ($name = GetHelper::var($view, (int) $_view[$target], 'id', 'system_name'))
{
$options[] = JHtml::_('select.option', $t[$target].'_'.$_view[$target], $name.' ['.$type.']');
$options[] = Html::_('select.option', $t[$target].'_'.$_view[$target], $name.' ['.$type.']');
}
}
}
@ -92,12 +100,12 @@ class JFormFieldDynamicdashboard extends JFormFieldList
}
}
// return found options
if (ComponentbuilderHelper::checkArray($options))
if (ArrayHelper::check($options))
{
array_unshift($options , JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION')));
array_unshift($options , Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION')));
return $options;
}
// not linked so there is none available
return array(JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE')));
return [Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE'))];
}
}

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,7 +28,7 @@ class JFormFieldDynamicget extends JFormFieldList
/**
* The dynamicget field type.
*
* @var string
* @var string
*/
public $type = 'dynamicget';
@ -48,7 +52,7 @@ class JFormFieldDynamicget extends JFormFieldList
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = JFactory::getApplication();
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
@ -64,7 +68,7 @@ class JFormFieldDynamicget extends JFormFieldList
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) JUri::getInstance();
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
@ -77,20 +81,20 @@ class JFormFieldDynamicget extends JFormFieldList
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = JFactory::getUser();
$user = Factory::getUser();
// only add if user allowed to create dynamic_get
if ($user->authorise('dynamic_get.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('dynamic_get.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
href="index.php?option=com_componentbuilder&amp;view=dynamic_get&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit dynamic_get
if ($user->authorise('dynamic_get.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('dynamic_get.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
@ -123,7 +127,7 @@ class JFormFieldDynamicget extends JFormFieldList
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = JFactory::getDocument();
$document = Factory::getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-append">' .$html . implode('',$button).'</div>';
@ -135,7 +139,7 @@ class JFormFieldDynamicget extends JFormFieldList
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldDynamicgets extends JFormFieldList
/**
* The dynamicgets field type.
*
* @var string
* @var string
*/
public $type = 'dynamicgets';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldDynamicgetsfiltergettype extends JFormFieldList
/**
* The dynamicgetsfiltergettype field type.
*
* @var string
* @var string
*/
public $type = 'dynamicgetsfiltergettype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldDynamicgetsfiltergettype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_GETTYPE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_GETTYPE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldDynamicgetsfiltergettype extends JFormFieldList
// Translate the gettype selection
$_text = $_model->selectionTranslation($gettype,'gettype');
// Now add the gettype and its text to the options array
$_filter[] = JHtml::_('select.option', $gettype, JText::_($_text));
$_filter[] = Html::_('select.option', $gettype, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldDynamicgetsfiltermainsource extends JFormFieldList
/**
* The dynamicgetsfiltermainsource field type.
*
* @var string
* @var string
*/
public $type = 'dynamicgetsfiltermainsource';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldDynamicgetsfiltermainsource extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_SOURCE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_MAIN_SOURCE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldDynamicgetsfiltermainsource extends JFormFieldList
// Translate the main_source selection
$_text = $_model->selectionTranslation($main_source,'main_source');
// Now add the main_source and its text to the options array
$_filter[] = JHtml::_('select.option', $main_source, JText::_($_text));
$_filter[] = Html::_('select.option', $main_source, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,7 +28,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
/**
* The excludedlanguages field type.
*
* @var string
* @var string
*/
public $type = 'excludedlanguages';
@ -48,7 +52,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = JFactory::getApplication();
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
@ -64,7 +68,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) JUri::getInstance();
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
@ -77,20 +81,20 @@ class JFormFieldExcludedlanguages extends JFormFieldList
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = JFactory::getUser();
$user = Factory::getUser();
// only add if user allowed to create language
if ($user->authorise('language.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('language.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
href="index.php?option=com_componentbuilder&amp;view=language&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit language
if ($user->authorise('language.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('language.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
@ -123,7 +127,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = JFactory::getDocument();
$document = Factory::getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-append">' .$html . implode('',$button).'</div>';
@ -135,7 +139,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldExistingvalidationrules extends JFormFieldList
/**
* The existingvalidationrules field type.
*
* @var string
* @var string
*/
public $type = 'existingvalidationrules';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,14 +28,14 @@ class JFormFieldFields extends JFormFieldList
/**
* The fields field type.
*
* @var string
* @var string
*/
public $type = 'fields';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldFieldsfilterdatatype extends JFormFieldList
/**
* The fieldsfilterdatatype field type.
*
* @var string
* @var string
*/
public $type = 'fieldsfilterdatatype';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldFieldsfilterdatatype extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_DATA_TYPE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_DATA_TYPE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldFieldsfilterdatatype extends JFormFieldList
// Translate the datatype selection
$_text = $_model->selectionTranslation($datatype,'datatype');
// Now add the datatype and its text to the options array
$_filter[] = JHtml::_('select.option', $datatype, JText::_($_text));
$_filter[] = Html::_('select.option', $datatype, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldFieldsfilterindexes extends JFormFieldList
/**
* The fieldsfilterindexes field type.
*
* @var string
* @var string
*/
public $type = 'fieldsfilterindexes';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldFieldsfilterindexes extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_INDEXES_TYPE') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_INDEXES_TYPE') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldFieldsfilterindexes extends JFormFieldList
// Translate the indexes selection
$_text = $_model->selectionTranslation($indexes,'indexes');
// Now add the indexes and its text to the options array
$_filter[] = JHtml::_('select.option', $indexes, JText::_($_text));
$_filter[] = Html::_('select.option', $indexes, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldFieldsfilternullswitch extends JFormFieldList
/**
* The fieldsfilternullswitch field type.
*
* @var string
* @var string
*/
public $type = 'fieldsfilternullswitch';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldFieldsfilternullswitch extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_NULL_SWITCH') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_NULL_SWITCH') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldFieldsfilternullswitch extends JFormFieldList
// Translate the null_switch selection
$_text = $_model->selectionTranslation($null_switch,'null_switch');
// Now add the null_switch and its text to the options array
$_filter[] = JHtml::_('select.option', $null_switch, JText::_($_text));
$_filter[] = Html::_('select.option', $null_switch, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,19 +28,19 @@ class JFormFieldFieldsfilterstore extends JFormFieldList
/**
* The fieldsfilterstore field type.
*
* @var string
* @var string
*/
public $type = 'fieldsfilterstore';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{
// Get a db connection.
$db = JFactory::getDbo();
$db = Factory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
@ -50,8 +54,8 @@ class JFormFieldFieldsfilterstore extends JFormFieldList
$db->setQuery($query);
$_results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_COMPONENTBUILDER_FILTER_SELECT_MODELLING_METHOD') . ' -');
$_filter = [];
$_filter[] = Html::_('select.option', '', '- ' . Text::_('COM_COMPONENTBUILDER_FILTER_SELECT_MODELLING_METHOD') . ' -');
if ($_results)
{
@ -63,7 +67,7 @@ class JFormFieldFieldsfilterstore extends JFormFieldList
// Translate the store selection
$_text = $_model->selectionTranslation($store,'store');
// Now add the store and its text to the options array
$_filter[] = JHtml::_('select.option', $store, JText::_($_text));
$_filter[] = Html::_('select.option', $store, Text::_($_text));
}
}
return $_filter;

View File

@ -12,6 +12,10 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
@ -24,7 +28,7 @@ class JFormFieldFieldtypes extends JFormFieldList
/**
* The fieldtypes field type.
*
* @var string
* @var string
*/
public $type = 'fieldtypes';
@ -48,7 +52,7 @@ class JFormFieldFieldtypes extends JFormFieldList
$script = array();
$button_code_name = $this->getAttribute('name');
// get the input from url
$app = JFactory::getApplication();
$app = Factory::getApplication();
$jinput = $app->input;
// get the view name & id
$values = $jinput->getArray(array(
@ -64,7 +68,7 @@ class JFormFieldFieldtypes extends JFormFieldList
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
// get the return value.
$_uri = (string) JUri::getInstance();
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
$_return = urlencode(base64_encode($_uri));
// load return value.
$ref .= '&amp;return=' . $_return;
@ -77,20 +81,20 @@ class JFormFieldFieldtypes extends JFormFieldList
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
$button_label = ucfirst(strtolower($button_label));
// get user object
$user = JFactory::getUser();
$user = Factory::getUser();
// only add if user allowed to create fieldtype
if ($user->authorise('fieldtype.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('fieldtype.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build Create button
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
href="index.php?option=com_componentbuilder&amp;view=fieldtype&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit fieldtype
if ($user->authorise('fieldtype.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
if ($user->authorise('fieldtype.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
@ -123,7 +127,7 @@ class JFormFieldFieldtypes extends JFormFieldList
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = JFactory::getDocument();
$document = Factory::getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-append">' .$html . implode('',$button).'</div>';
@ -135,7 +139,7 @@ class JFormFieldFieldtypes extends JFormFieldList
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of Html options.
*/
protected function getOptions()
{

Some files were not shown because too many files have changed in this diff Show More