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,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Admins_custom_tabs Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_admin_custom_tabs', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_custom_tabs'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_custom_tabs'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Admin_custom_tabs table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('admin_custom_tabs', 'ComponentbuilderTable');
$table = Table::getInstance('admin_custom_tabs', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_CUSTOM_TABS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('admin_custom_tabs', 'componentbuilderTable');
$table = Table::getInstance('admin_custom_tabs', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.admin_custom_tabs.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableAdmin_custom_tabs extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Admins_fields Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableAdmin_fields extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_admin_fields', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_fields'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_fields'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Admin_fields table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableAdmin_fields extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('admin_fields', 'ComponentbuilderTable');
$table = Table::getInstance('admin_fields', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableAdmin_fields extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('admin_fields', 'componentbuilderTable');
$table = Table::getInstance('admin_fields', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableAdmin_fields extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableAdmin_fields extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.admin_fields.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableAdmin_fields extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableAdmin_fields extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableAdmin_fields extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableAdmin_fields extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableAdmin_fields extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableAdmin_fields extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableAdmin_fields extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableAdmin_fields extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Admins_fields_conditions Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_admin_fields_conditions', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_fields_conditions'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_fields_conditions'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Admin_fields_conditions table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('admin_fields_conditions', 'ComponentbuilderTable');
$table = Table::getInstance('admin_fields_conditions', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_CONDITIONS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('admin_fields_conditions', 'componentbuilderTable');
$table = Table::getInstance('admin_fields_conditions', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.admin_fields_conditions.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableAdmin_fields_conditions extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Admins_fields_relations Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_admin_fields_relations', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_fields_relations'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_fields_relations'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Admin_fields_relations table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('admin_fields_relations', 'ComponentbuilderTable');
$table = Table::getInstance('admin_fields_relations', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_FIELDS_RELATIONS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('admin_fields_relations', 'componentbuilderTable');
$table = Table::getInstance('admin_fields_relations', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.admin_fields_relations.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableAdmin_fields_relations extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Admin_views Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableAdmin_view extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_admin_view', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_view'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.admin_view'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Admin_view table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableAdmin_view extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('admin_view', 'ComponentbuilderTable');
$table = Table::getInstance('admin_view', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableAdmin_view extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('admin_view', 'componentbuilderTable');
$table = Table::getInstance('admin_view', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableAdmin_view extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableAdmin_view extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.admin_view.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableAdmin_view extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableAdmin_view extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableAdmin_view extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableAdmin_view extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableAdmin_view extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableAdmin_view extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableAdmin_view extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableAdmin_view extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Class_extendings Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableClass_extends extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_class_extends', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.class_extends'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.class_extends'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Class_extends table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableClass_extends extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('class_extends', 'ComponentbuilderTable');
$table = Table::getInstance('class_extends', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_CLASS_EXTENDS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_CLASS_EXTENDS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_CLASS_EXTENDS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableClass_extends extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('class_extends', 'componentbuilderTable');
$table = Table::getInstance('class_extends', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableClass_extends extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableClass_extends extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.class_extends.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableClass_extends extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableClass_extends extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableClass_extends extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableClass_extends extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableClass_extends extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableClass_extends extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableClass_extends extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableClass_extends extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Class_methods Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableClass_method extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_class_method', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.class_method'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.class_method'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Class_method table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableClass_method extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('class_method', 'ComponentbuilderTable');
$table = Table::getInstance('class_method', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_CLASS_METHOD_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_CLASS_METHOD_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_CLASS_METHOD_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableClass_method extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('class_method', 'componentbuilderTable');
$table = Table::getInstance('class_method', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableClass_method extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableClass_method extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.class_method.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableClass_method extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableClass_method extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableClass_method extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableClass_method extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableClass_method extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableClass_method extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableClass_method extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableClass_method extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Class_properties Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableClass_property extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_class_property', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.class_property'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.class_property'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Class_property table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableClass_property extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('class_property', 'ComponentbuilderTable');
$table = Table::getInstance('class_property', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_CLASS_PROPERTY_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_CLASS_PROPERTY_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_CLASS_PROPERTY_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableClass_property extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('class_property', 'componentbuilderTable');
$table = Table::getInstance('class_property', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableClass_property extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableClass_property extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.class_property.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableClass_property extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableClass_property extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableClass_property extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableClass_property extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableClass_property extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableClass_property extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableClass_property extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableClass_property extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_admin_views Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_admin_views extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_admin_views', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_admin_views'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_admin_views'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_admin_views table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_admin_views extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_admin_views', 'ComponentbuilderTable');
$table = Table::getInstance('component_admin_views', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_admin_views extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_admin_views', 'componentbuilderTable');
$table = Table::getInstance('component_admin_views', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_admin_views extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_admin_views extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_admin_views.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_admin_views extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_admin_views extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_admin_views extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_admin_views extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_admin_views extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_admin_views extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_admin_views extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_admin_views extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_config Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_config extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_config', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_config'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_config'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_config table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_config extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_config', 'ComponentbuilderTable');
$table = Table::getInstance('component_config', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_CONFIG_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_CONFIG_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_CONFIG_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_config extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_config', 'componentbuilderTable');
$table = Table::getInstance('component_config', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_config extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_config extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_config.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_config extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_config extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_config extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_config extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_config extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_config extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_config extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_config extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_custom_admin_menus Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_custom_admin_menus', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_custom_admin_menus'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_custom_admin_menus'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_custom_admin_menus table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_custom_admin_menus', 'ComponentbuilderTable');
$table = Table::getInstance('component_custom_admin_menus', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_custom_admin_menus', 'componentbuilderTable');
$table = Table::getInstance('component_custom_admin_menus', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_custom_admin_menus.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_custom_admin_menus extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_custom_admin_views Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_custom_admin_views', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_custom_admin_views'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_custom_admin_views'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_custom_admin_views table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_custom_admin_views', 'ComponentbuilderTable');
$table = Table::getInstance('component_custom_admin_views', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_VIEWS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_custom_admin_views', 'componentbuilderTable');
$table = Table::getInstance('component_custom_admin_views', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_custom_admin_views.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_custom_admin_views extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_dashboard Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_dashboard extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_dashboard', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_dashboard'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_dashboard'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_dashboard table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_dashboard extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_dashboard', 'ComponentbuilderTable');
$table = Table::getInstance('component_dashboard', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_dashboard extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_dashboard', 'componentbuilderTable');
$table = Table::getInstance('component_dashboard', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_dashboard extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_dashboard extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_dashboard.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_dashboard extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_dashboard extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_dashboard extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_dashboard extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_dashboard extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_dashboard extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_dashboard extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_dashboard extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_files_folders Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_files_folders extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_files_folders', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_files_folders'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_files_folders'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_files_folders table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_files_folders extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_files_folders', 'ComponentbuilderTable');
$table = Table::getInstance('component_files_folders', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_files_folders extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_files_folders', 'componentbuilderTable');
$table = Table::getInstance('component_files_folders', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_files_folders extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_files_folders extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_files_folders.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_files_folders extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_files_folders extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_files_folders extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_files_folders extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_files_folders extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_files_folders extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_files_folders extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_files_folders extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_modules Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_modules extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_modules', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_modules'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_modules'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_modules table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_modules extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_modules', 'ComponentbuilderTable');
$table = Table::getInstance('component_modules', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_MODULES_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_MODULES_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_MODULES_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_modules extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_modules', 'componentbuilderTable');
$table = Table::getInstance('component_modules', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_modules extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_modules extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_modules.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_modules extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_modules extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_modules extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_modules extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_modules extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_modules extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_modules extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_modules extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_mysql_tweaks Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_mysql_tweaks', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_mysql_tweaks'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_mysql_tweaks'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_mysql_tweaks table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_mysql_tweaks', 'ComponentbuilderTable');
$table = Table::getInstance('component_mysql_tweaks', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_mysql_tweaks', 'componentbuilderTable');
$table = Table::getInstance('component_mysql_tweaks', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_mysql_tweaks.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_mysql_tweaks extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_placeholders Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_placeholders extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_placeholders', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_placeholders'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_placeholders'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_placeholders table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_placeholders extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_placeholders', 'ComponentbuilderTable');
$table = Table::getInstance('component_placeholders', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_PLACEHOLDERS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_placeholders extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_placeholders', 'componentbuilderTable');
$table = Table::getInstance('component_placeholders', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_placeholders extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_placeholders extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_placeholders.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_placeholders extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_placeholders extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_placeholders extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_placeholders extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_placeholders extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_placeholders extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_placeholders extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_placeholders extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_plugins Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_plugins extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_plugins', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_plugins'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_plugins'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_plugins table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_plugins extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_plugins', 'ComponentbuilderTable');
$table = Table::getInstance('component_plugins', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_PLUGINS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_PLUGINS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_PLUGINS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_plugins extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_plugins', 'componentbuilderTable');
$table = Table::getInstance('component_plugins', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_plugins extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_plugins extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_plugins.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_plugins extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_plugins extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_plugins extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_plugins extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_plugins extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_plugins extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_plugins extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_plugins extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -0,0 +1,336 @@
<?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\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_routers Table class
*/
class ComponentbuilderTableComponent_router extends Table
{
/**
* Ensure the params and metadata in json encoded in the bind method
*
* @var array
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_router', 'id', $db);
// Adding History Options
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_router'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_router table.
*
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
// New component_router. A component_router created and created_by field can be set by the user,
// so we don't touch either of these if they are set.
if (!(int) $this->created)
{
$this->created = $date->toSql();
}
if (empty($this->created_by))
{
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = Table::getInstance('component_router', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_ROUTER_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_ROUTER_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
* @return boolean True on success.
*/
public function check()
{
if (isset($this->alias))
{
// Generate a valid alias
$this->generateAlias();
$table = Table::getInstance('component_router', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
$bad_characters = array("\n", "\r", "\"", "<", ">");
// Remove bad characters.
$after_clean = StringHelper::str_ireplace($bad_characters, "", $this->metakey);
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = [];
foreach ($keys as $key)
{
// Ignore blank keywords.
if (trim($key))
{
$clean_keys[] = trim($key);
}
}
// Put array back together delimited by ", "
$this->metakey = implode(", ", $clean_keys);
}
// Clean up description -- eliminate quotes and <> brackets
if (!empty($this->metadesc))
{
// Only process if not empty
$bad_characters = array("\"", "<", ">");
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_router.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
// Set ordering to 0 if state is archived or trashed
$this->ordering = 0;
}
return true;
}
/**
* Gets the default asset values for a component.
*
* @param $string $component The component asset name to search for
*
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
->where($db->quoteName('name') . ' = ' . $db->quote($component));
$db->setQuery($query);
$db->execute();
if ($db->loadRowList())
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
$_result = (string) $result;
$_result = json_decode($_result);
foreach ($_result as $name => &$rule)
{
$v = explode('.', $name);
if ($try[1] !== $v[0])
{
// remove since it is not part of this view
unset($_result->$name);
}
else
{
// clear the value since we inherit
$rule = [];
}
}
// check if there are any view values remaining
if (count( (array) $_result))
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
}
}
return $result;
}
}
return AccessRules::getAssetRules(0);
}
/**
* Method to compute the default name of the asset.
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
$k = $this->_tbl_key;
return 'com_componentbuilder.component_router.'.(int) $this->$k;
}
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
if (isset($this->title))
{
return $this->title;
}
return '';
}
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
*/
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;
}
/**
* This view does not actually have an alias
*
* @return bool
*/
public function generateAlias()
{
return false;
}
}

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_site_views Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_site_views extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_site_views', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_site_views'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_site_views'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_site_views table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_site_views extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_site_views', 'ComponentbuilderTable');
$table = Table::getInstance('component_site_views', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_site_views extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_site_views', 'componentbuilderTable');
$table = Table::getInstance('component_site_views', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_site_views extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_site_views extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_site_views.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_site_views extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_site_views extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_site_views extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_site_views extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_site_views extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_site_views extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_site_views extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_site_views extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Components_updates Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableComponent_updates extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_component_updates', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_updates'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.component_updates'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Component_updates table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableComponent_updates extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('component_updates', 'ComponentbuilderTable');
$table = Table::getInstance('component_updates', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_COMPONENT_UPDATES_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_UPDATES_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_COMPONENT_UPDATES_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableComponent_updates extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('component_updates', 'componentbuilderTable');
$table = Table::getInstance('component_updates', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableComponent_updates extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableComponent_updates extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.component_updates.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableComponent_updates extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableComponent_updates extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableComponent_updates extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableComponent_updates extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableComponent_updates extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableComponent_updates extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableComponent_updates extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableComponent_updates extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Custom_admin_views Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableCustom_admin_view extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_custom_admin_view', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.custom_admin_view'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.custom_admin_view'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Custom_admin_view table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableCustom_admin_view extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('custom_admin_view', 'ComponentbuilderTable');
$table = Table::getInstance('custom_admin_view', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableCustom_admin_view extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('custom_admin_view', 'componentbuilderTable');
$table = Table::getInstance('custom_admin_view', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableCustom_admin_view extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableCustom_admin_view extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.custom_admin_view.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableCustom_admin_view extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableCustom_admin_view extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableCustom_admin_view extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableCustom_admin_view extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableCustom_admin_view extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableCustom_admin_view extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableCustom_admin_view extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableCustom_admin_view extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Custom_codes Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableCustom_code extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_custom_code', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.custom_code'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.custom_code'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Custom_code table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableCustom_code extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('custom_code', 'ComponentbuilderTable');
$table = Table::getInstance('custom_code', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_CUSTOM_CODE_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_CUSTOM_CODE_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_CUSTOM_CODE_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableCustom_code extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('custom_code', 'componentbuilderTable');
$table = Table::getInstance('custom_code', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableCustom_code extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableCustom_code extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.custom_code.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableCustom_code extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableCustom_code extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableCustom_code extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableCustom_code extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableCustom_code extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableCustom_code extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableCustom_code extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableCustom_code extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Dynamic_gets Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableDynamic_get extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_dynamic_get', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.dynamic_get'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.dynamic_get'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Dynamic_get table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableDynamic_get extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('dynamic_get', 'ComponentbuilderTable');
$table = Table::getInstance('dynamic_get', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_DYNAMIC_GET_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_DYNAMIC_GET_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_DYNAMIC_GET_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableDynamic_get extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('dynamic_get', 'componentbuilderTable');
$table = Table::getInstance('dynamic_get', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableDynamic_get extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableDynamic_get extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.dynamic_get.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableDynamic_get extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableDynamic_get extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableDynamic_get extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableDynamic_get extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableDynamic_get extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableDynamic_get extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableDynamic_get extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableDynamic_get extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Fields Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableField extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_field', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.field'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.field'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Field table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableField extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('field', 'ComponentbuilderTable');
$table = Table::getInstance('field', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias, 'catid' => $this->catid)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_FIELD_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_FIELD_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_FIELD_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableField extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('field', 'componentbuilderTable');
$table = Table::getInstance('field', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableField extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableField extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.field.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableField extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableField extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableField extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableField extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableField extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableField extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableField extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableField extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Fieldtypes Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableFieldtype extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_fieldtype', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.fieldtype'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.fieldtype'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Fieldtype table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableFieldtype extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('fieldtype', 'ComponentbuilderTable');
$table = Table::getInstance('fieldtype', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias, 'catid' => $this->catid)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_FIELDTYPE_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_FIELDTYPE_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableFieldtype extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('fieldtype', 'componentbuilderTable');
$table = Table::getInstance('fieldtype', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableFieldtype extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableFieldtype extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.fieldtype.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableFieldtype extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableFieldtype extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableFieldtype extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableFieldtype extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableFieldtype extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableFieldtype extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableFieldtype extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableFieldtype extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Help_documents Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableHelp_document extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_help_document', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.help_document'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.help_document'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Help_document table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableHelp_document extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('help_document', 'ComponentbuilderTable');
$table = Table::getInstance('help_document', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableHelp_document extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('help_document', 'componentbuilderTable');
$table = Table::getInstance('help_document', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableHelp_document extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableHelp_document extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.help_document.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableHelp_document extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableHelp_document extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableHelp_document extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableHelp_document extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableHelp_document extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableHelp_document extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableHelp_document extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableHelp_document extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;
@ -324,11 +336,11 @@ class ComponentbuilderTableHelp_document extends Table
$this->alias = $this->title;
}
$this->alias = JApplicationHelper::stringURLSafe($this->alias);
$this->alias = ApplicationHelper::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '')
{
$this->alias = JFactory::getDate()->format('Y-m-d-H-i-s');
$this->alias = Factory::getDate()->format('Y-m-d-H-i-s');
}
return $this->alias;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_components Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_component extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_component', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_component'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_component'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_component table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_component extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_component', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_component', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_component extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_component', 'componentbuilderTable');
$table = Table::getInstance('joomla_component', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_component extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_component extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_component.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_component extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_component extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_component extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_component extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_component extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_component extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_component extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_component extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_modules Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_module extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_module', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_module'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_module'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_module table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_module extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_module', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_module', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_module extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_module', 'componentbuilderTable');
$table = Table::getInstance('joomla_module', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_module extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_module extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_module.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_module extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_module extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_module extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_module extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_module extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_module extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_module extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_module extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_modules_files_folders_urls Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_module_files_folders_urls', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_module_files_folders_urls'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_module_files_folders_urls'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_module_files_folders_urls table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_module_files_folders_urls', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_module_files_folders_urls', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_module_files_folders_urls', 'componentbuilderTable');
$table = Table::getInstance('joomla_module_files_folders_urls', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_module_files_folders_urls.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_module_files_folders_urls extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_modules_updates Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_module_updates extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_module_updates', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_module_updates'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_module_updates'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_module_updates table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_module_updates extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_module_updates', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_module_updates', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_module_updates extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_module_updates', 'componentbuilderTable');
$table = Table::getInstance('joomla_module_updates', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_module_updates extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_module_updates extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_module_updates.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_module_updates extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_module_updates extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_module_updates extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_module_updates extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_module_updates extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_module_updates extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_module_updates extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_module_updates extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_plugins Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_plugin extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_plugin', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_plugin table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_plugin extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_plugin', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_plugin', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_plugin extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_plugin', 'componentbuilderTable');
$table = Table::getInstance('joomla_plugin', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_plugin extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_plugin extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_plugin.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_plugin extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_plugin extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_plugin extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_plugin extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_plugin extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_plugin extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_plugin extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_plugin extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_plugins_files_folders_urls Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_plugin_files_folders_urls', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin_files_folders_urls'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin_files_folders_urls'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_plugin_files_folders_urls table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_plugin_files_folders_urls', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_plugin_files_folders_urls', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_plugin_files_folders_urls', 'componentbuilderTable');
$table = Table::getInstance('joomla_plugin_files_folders_urls', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_plugin_files_folders_urls.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_plugin_files_folders_urls extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_plugin_groups Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_plugin_group', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin_group'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin_group'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_plugin_group table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_plugin_group', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_plugin_group', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUP_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_plugin_group', 'componentbuilderTable');
$table = Table::getInstance('joomla_plugin_group', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_plugin_group.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_plugin_group extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Joomla_plugins_updates Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_joomla_plugin_updates', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin_updates'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.joomla_plugin_updates'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Joomla_plugin_updates table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('joomla_plugin_updates', 'ComponentbuilderTable');
$table = Table::getInstance('joomla_plugin_updates', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATES_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATES_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_JOOMLA_PLUGIN_UPDATES_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('joomla_plugin_updates', 'componentbuilderTable');
$table = Table::getInstance('joomla_plugin_updates', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.joomla_plugin_updates.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableJoomla_plugin_updates extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Languages Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableLanguage extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_language', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.language'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.language'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Language table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableLanguage extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('language', 'ComponentbuilderTable');
$table = Table::getInstance('language', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_LANGUAGE_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_LANGUAGE_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_LANGUAGE_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableLanguage extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('language', 'componentbuilderTable');
$table = Table::getInstance('language', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableLanguage extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableLanguage extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.language.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableLanguage extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableLanguage extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableLanguage extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableLanguage extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableLanguage extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableLanguage extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableLanguage extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableLanguage extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Language_translations Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableLanguage_translation extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_language_translation', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.language_translation'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.language_translation'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Language_translation table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableLanguage_translation extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('language_translation', 'ComponentbuilderTable');
$table = Table::getInstance('language_translation', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableLanguage_translation extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('language_translation', 'componentbuilderTable');
$table = Table::getInstance('language_translation', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableLanguage_translation extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableLanguage_translation extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.language_translation.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableLanguage_translation extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableLanguage_translation extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableLanguage_translation extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableLanguage_translation extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableLanguage_translation extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableLanguage_translation extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableLanguage_translation extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableLanguage_translation extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Layouts Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableLayout extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_layout', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.layout'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.layout'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Layout table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableLayout extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('layout', 'ComponentbuilderTable');
$table = Table::getInstance('layout', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_LAYOUT_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_LAYOUT_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_LAYOUT_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableLayout extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('layout', 'componentbuilderTable');
$table = Table::getInstance('layout', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableLayout extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableLayout extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.layout.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableLayout extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableLayout extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableLayout extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableLayout extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableLayout extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableLayout extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableLayout extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableLayout extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;
@ -324,11 +336,11 @@ class ComponentbuilderTableLayout extends Table
$this->alias = $this->name;
}
$this->alias = JApplicationHelper::stringURLSafe($this->alias);
$this->alias = ApplicationHelper::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '')
{
$this->alias = JFactory::getDate()->format('Y-m-d-H-i-s');
$this->alias = Factory::getDate()->format('Y-m-d-H-i-s');
}
return $this->alias;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Libraries Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableLibrary extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_library', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.library'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.library'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Library table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableLibrary extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('library', 'ComponentbuilderTable');
$table = Table::getInstance('library', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_LIBRARY_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_LIBRARY_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_LIBRARY_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableLibrary extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('library', 'componentbuilderTable');
$table = Table::getInstance('library', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableLibrary extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableLibrary extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.library.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableLibrary extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableLibrary extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableLibrary extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableLibrary extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableLibrary extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableLibrary extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableLibrary extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableLibrary extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Libraries_config Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableLibrary_config extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_library_config', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.library_config'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.library_config'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Library_config table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableLibrary_config extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('library_config', 'ComponentbuilderTable');
$table = Table::getInstance('library_config', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_LIBRARY_CONFIG_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_LIBRARY_CONFIG_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_LIBRARY_CONFIG_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableLibrary_config extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('library_config', 'componentbuilderTable');
$table = Table::getInstance('library_config', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableLibrary_config extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableLibrary_config extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.library_config.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableLibrary_config extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableLibrary_config extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableLibrary_config extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableLibrary_config extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableLibrary_config extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableLibrary_config extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableLibrary_config extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableLibrary_config extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Libraries_files_folders_urls Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_library_files_folders_urls', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.library_files_folders_urls'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.library_files_folders_urls'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Library_files_folders_urls table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('library_files_folders_urls', 'ComponentbuilderTable');
$table = Table::getInstance('library_files_folders_urls', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_LIBRARY_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('library_files_folders_urls', 'componentbuilderTable');
$table = Table::getInstance('library_files_folders_urls', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.library_files_folders_urls.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableLibrary_files_folders_urls extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Placeholders Table class
@ -29,63 +36,63 @@ class ComponentbuilderTablePlaceholder extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_placeholder', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.placeholder'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.placeholder'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Placeholder table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTablePlaceholder extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('placeholder', 'ComponentbuilderTable');
$table = Table::getInstance('placeholder', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_PLACEHOLDER_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_PLACEHOLDER_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_PLACEHOLDER_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTablePlaceholder extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('placeholder', 'componentbuilderTable');
$table = Table::getInstance('placeholder', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTablePlaceholder extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTablePlaceholder extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.placeholder.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTablePlaceholder extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTablePlaceholder extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTablePlaceholder extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTablePlaceholder extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTablePlaceholder extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTablePlaceholder extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTablePlaceholder extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTablePlaceholder extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Powers Table class
@ -29,63 +36,63 @@ class ComponentbuilderTablePower extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_power', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.power'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.power'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Power table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTablePower extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('power', 'ComponentbuilderTable');
$table = Table::getInstance('power', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_POWER_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_POWER_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_POWER_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTablePower extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('power', 'componentbuilderTable');
$table = Table::getInstance('power', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTablePower extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTablePower extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.power.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTablePower extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTablePower extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTablePower extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTablePower extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTablePower extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTablePower extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTablePower extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTablePower extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Servers Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableServer extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_server', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.server'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.server'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Server table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableServer extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('server', 'ComponentbuilderTable');
$table = Table::getInstance('server', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_SERVER_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_SERVER_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_SERVER_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableServer extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('server', 'componentbuilderTable');
$table = Table::getInstance('server', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableServer extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableServer extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.server.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableServer extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableServer extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableServer extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableServer extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableServer extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableServer extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableServer extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableServer extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Site_views Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableSite_view extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_site_view', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.site_view'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.site_view'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Site_view table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableSite_view extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('site_view', 'ComponentbuilderTable');
$table = Table::getInstance('site_view', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_SITE_VIEW_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_SITE_VIEW_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_SITE_VIEW_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableSite_view extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('site_view', 'componentbuilderTable');
$table = Table::getInstance('site_view', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableSite_view extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableSite_view extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.site_view.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableSite_view extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableSite_view extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableSite_view extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableSite_view extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableSite_view extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableSite_view extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableSite_view extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableSite_view extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Snippets Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableSnippet extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_snippet', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.snippet'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.snippet'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Snippet table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableSnippet extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('snippet', 'ComponentbuilderTable');
$table = Table::getInstance('snippet', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_SNIPPET_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_SNIPPET_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_SNIPPET_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableSnippet extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('snippet', 'componentbuilderTable');
$table = Table::getInstance('snippet', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableSnippet extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableSnippet extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.snippet.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableSnippet extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableSnippet extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableSnippet extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableSnippet extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableSnippet extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableSnippet extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableSnippet extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableSnippet extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Snippet_types Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableSnippet_type extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_snippet_type', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.snippet_type'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.snippet_type'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Snippet_type table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableSnippet_type extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('snippet_type', 'ComponentbuilderTable');
$table = Table::getInstance('snippet_type', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_SNIPPET_TYPE_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_SNIPPET_TYPE_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_SNIPPET_TYPE_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableSnippet_type extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('snippet_type', 'componentbuilderTable');
$table = Table::getInstance('snippet_type', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableSnippet_type extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableSnippet_type extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.snippet_type.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableSnippet_type extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableSnippet_type extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableSnippet_type extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableSnippet_type extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableSnippet_type extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableSnippet_type extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableSnippet_type extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableSnippet_type extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Templates Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableTemplate extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_template', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.template'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.template'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Template table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableTemplate extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('template', 'ComponentbuilderTable');
$table = Table::getInstance('template', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_TEMPLATE_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_TEMPLATE_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_TEMPLATE_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableTemplate extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('template', 'componentbuilderTable');
$table = Table::getInstance('template', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableTemplate extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableTemplate extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.template.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableTemplate extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableTemplate extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableTemplate extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableTemplate extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableTemplate extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableTemplate extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableTemplate extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableTemplate extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;
@ -324,11 +336,11 @@ class ComponentbuilderTableTemplate extends Table
$this->alias = $this->name;
}
$this->alias = JApplicationHelper::stringURLSafe($this->alias);
$this->alias = ApplicationHelper::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '')
{
$this->alias = JFactory::getDate()->format('Y-m-d-H-i-s');
$this->alias = Factory::getDate()->format('Y-m-d-H-i-s');
}
return $this->alias;

View File

@ -12,10 +12,17 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Access\Access as AccessRules;
use Joomla\CMS\Access\Rules;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\String\PunycodeHelper;
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
use Joomla\CMS\Application\ApplicationHelper;
/**
* Validation_rules Table class
@ -29,63 +36,63 @@ class ComponentbuilderTableValidation_rule extends Table
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
function __construct(&$db)
{
parent::__construct('#__componentbuilder_validation_rule', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.validation_rule'));
}
TableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_componentbuilder.validation_rule'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry = new Registry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
{
$rules = new AccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Validation_rule table.
*
* @param boolean Toggle whether null values should be updated.
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
$date = Factory::getDate();
$user = Factory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
@ -100,33 +107,38 @@ class ComponentbuilderTableValidation_rule extends Table
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('validation_rule', 'ComponentbuilderTable');
$table = Table::getInstance('validation_rule', 'ComponentbuilderTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_COMPONENTBUILDER_VALIDATION_RULE_ERROR_UNIQUE_ALIAS'));
$this->setError(Text::_('COM_COMPONENTBUILDER_VALIDATION_RULE_ERROR_UNIQUE_ALIAS'));
if ($table->published === -2)
{
$this->setError(Text::_('COM_COMPONENTBUILDER_VALIDATION_RULE_ERROR_UNIQUE_ALIAS_TRASHED'));
}
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
$this->url = PunycodeHelper::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
$this->website = PunycodeHelper::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
@ -138,20 +150,20 @@ class ComponentbuilderTableValidation_rule extends Table
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('validation_rule', 'componentbuilderTable');
$table = Table::getInstance('validation_rule', 'componentbuilderTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = StringHelper::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
@ -162,7 +174,7 @@ class ComponentbuilderTableValidation_rule extends Table
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
$clean_keys = [];
foreach ($keys as $key)
{
@ -185,13 +197,13 @@ class ComponentbuilderTableValidation_rule extends Table
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
// If we don't have any access rules set at this point just use an empty AccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_componentbuilder.validation_rule.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
@ -207,12 +219,12 @@ class ComponentbuilderTableValidation_rule extends Table
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
* @return AccessRules The AccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
@ -223,14 +235,14 @@ class ComponentbuilderTableValidation_rule extends Table
{
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
if ($result instanceof AccessRules)
{
if (isset($try[1]))
{
@ -247,7 +259,7 @@ class ComponentbuilderTableValidation_rule extends Table
else
{
// clear the value since we inherit
$rule = array();
$rule = [];
}
}
// check if there are any view values remaining
@ -255,8 +267,8 @@ class ComponentbuilderTableValidation_rule extends Table
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
// Instantiate and return the AccessRules object for the asset rules.
$rules = new AccessRules;
$rules->mergeCollection($_result);
return $rules;
@ -265,7 +277,7 @@ class ComponentbuilderTableValidation_rule extends Table
return $result;
}
}
return JAccess::getAssetRules(0);
return AccessRules::getAssetRules(0);
}
/**
@ -273,8 +285,8 @@ class ComponentbuilderTableValidation_rule extends Table
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
@ -285,8 +297,8 @@ class ComponentbuilderTableValidation_rule extends Table
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
@ -300,12 +312,12 @@ class ComponentbuilderTableValidation_rule extends Table
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
protected function _getAssetParentId(?Table $table = null, $id = null)
{
$asset = JTable::getInstance('Asset');
$asset = Table::getInstance('Asset');
$asset->loadByName('com_componentbuilder');
return $asset->id;