diff --git a/src/com_weblinks/admin/controller.php b/src/com_weblinks/admin/controller.php
index f4fe055..50c8d3f 100644
--- a/src/com_weblinks/admin/controller.php
+++ b/src/com_weblinks/admin/controller.php
@@ -10,7 +10,7 @@
defined('_JEXEC') or die;
/**
- * Weblinks Weblink Controller
+ * Weblinks Main Controller
*
* @since 1.5
*/
@@ -22,7 +22,7 @@ class WeblinksController extends JControllerLegacy
* @param boolean $cachable If true, the view output will be cached
* @param array $urlparams An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
*
- * @return JController This object to support chaining.
+ * @return JControllerLegacy This object to support chaining.
*
* @since 1.5
*/
@@ -45,8 +45,6 @@ class WeblinksController extends JControllerLegacy
return false;
}
- parent::display();
-
- return $this;
+ return parent::display();
}
}
diff --git a/src/com_weblinks/admin/controllers/weblink.php b/src/com_weblinks/admin/controllers/weblink.php
index fb6d1ba..278deea 100644
--- a/src/com_weblinks/admin/controllers/weblink.php
+++ b/src/com_weblinks/admin/controllers/weblink.php
@@ -37,15 +37,13 @@ class WeblinksControllerWeblink extends JControllerForm
$allow = $user->authorise('core.create', $this->option . '.category.' . $categoryId);
}
- if ($allow === null)
- {
- // In the absense of better information, revert to the component permissions.
- return parent::allowAdd($data);
- }
- else
+ if ($allow !== null)
{
return $allow;
}
+
+ // In the absense of better information, revert to the component permissions.
+ return parent::allowAdd($data);
}
/**
@@ -73,11 +71,9 @@ class WeblinksControllerWeblink extends JControllerForm
// The category has been set. Check the category permissions.
return JFactory::getUser()->authorise('core.edit', $this->option . '.category.' . $categoryId);
}
- else
- {
- // Since there is no asset tracking, revert to the component permissions.
- return parent::allowEdit($data, $key);
- }
+
+ // Since there is no asset tracking, revert to the component permissions.
+ return parent::allowEdit($data, $key);
}
/**
diff --git a/src/com_weblinks/admin/controllers/weblinks.php b/src/com_weblinks/admin/controllers/weblinks.php
index 4877cee..0b24e79 100644
--- a/src/com_weblinks/admin/controllers/weblinks.php
+++ b/src/com_weblinks/admin/controllers/weblinks.php
@@ -29,22 +29,6 @@ class WeblinksControllerWeblinks extends JControllerAdmin
*/
public function getModel($name = 'Weblink', $prefix = 'WeblinksModel', $config = array('ignore_request' => true))
{
- $model = parent::getModel($name, $prefix, $config);
-
- return $model;
- }
-
- /**
- * Method to provide child classes the opportunity to process after the delete task.
- *
- * @param JModelLegacy $model The model for the component
- * @param mixed $ids array of ids deleted.
- *
- * @return void
- *
- * @since 3.1
- */
- protected function postDeleteHook(JModelLegacy $model, $ids = null)
- {
+ return parent::getModel($name, $prefix, $config);
}
}
diff --git a/src/com_weblinks/admin/models/weblink.php b/src/com_weblinks/admin/models/weblink.php
index e6277e4..097f304 100644
--- a/src/com_weblinks/admin/models/weblink.php
+++ b/src/com_weblinks/admin/models/weblink.php
@@ -10,6 +10,7 @@
defined('_JEXEC') or die;
use Joomla\Registry\Registry;
+use Joomla\String\String;
/**
* Weblinks model.
@@ -18,12 +19,11 @@ use Joomla\Registry\Registry;
*/
class WeblinksModelWeblink extends JModelAdmin
{
-
/**
* The type alias for this content type.
*
- * @var string
- * @since 3.2
+ * @var string
+ * @since 3.2
*/
public $typeAlias = 'com_weblinks.weblink';
@@ -52,16 +52,13 @@ class WeblinksModelWeblink extends JModelAdmin
{
return;
}
- $user = JFactory::getUser();
if ($record->catid)
{
- return $user->authorise('core.delete', 'com_weblinks.category.'.(int) $record->catid);
- }
- else
- {
- return parent::canDelete($record);
+ return JFactory::getUser()->authorise('core.delete', 'com_weblinks.category.' . (int) $record->catid);
}
+
+ return parent::canDelete($record);
}
}
@@ -76,16 +73,12 @@ class WeblinksModelWeblink extends JModelAdmin
*/
protected function canEditState($record)
{
- $user = JFactory::getUser();
-
if (!empty($record->catid))
{
- return $user->authorise('core.edit.state', 'com_weblinks.category.'.(int) $record->catid);
- }
- else
- {
- return parent::canEditState($record);
+ return JFactory::getUser()->authorise('core.edit.state', 'com_weblinks.category.' . (int) $record->catid);
}
+
+ return parent::canEditState($record);
}
/**
@@ -234,11 +227,11 @@ class WeblinksModelWeblink extends JModelAdmin
$user = JFactory::getUser();
$table->title = htmlspecialchars_decode($table->title, ENT_QUOTES);
- $table->alias = JApplication::stringURLSafe($table->alias);
+ $table->alias = JApplicationHelper::stringURLSafe($table->alias);
if (empty($table->alias))
{
- $table->alias = JApplication::stringURLSafe($table->title);
+ $table->alias = JApplicationHelper::stringURLSafe($table->title);
}
if (empty($table->id))
@@ -262,7 +255,7 @@ class WeblinksModelWeblink extends JModelAdmin
{
// Set the values
$table->modified = $date->toSql();
- $table->modified_by = $user->get('id');
+ $table->modified_by = $user->id;
}
}
@@ -332,10 +325,10 @@ class WeblinksModelWeblink extends JModelAdmin
{
if ($name == $table->title)
{
- $name = JString::increment($name);
+ $name = String::increment($name);
}
- $alias = JString::increment($alias, 'dash');
+ $alias = String::increment($alias, 'dash');
}
return array($name, $alias);
diff --git a/src/com_weblinks/admin/models/weblinks.php b/src/com_weblinks/admin/models/weblinks.php
index 7e2fba0..ece736b 100644
--- a/src/com_weblinks/admin/models/weblinks.php
+++ b/src/com_weblinks/admin/models/weblinks.php
@@ -20,7 +20,8 @@ class WeblinksModelWeblinks extends JModelList
* Constructor.
*
* @param array An optional associative array of configuration settings.
- * @see JController
+ *
+ * @see JControllerLegacy
* @since 1.6
*/
public function __construct($config = array())
@@ -54,8 +55,9 @@ class WeblinksModelWeblinks extends JModelList
/**
* Method to auto-populate the model state.
*
- * Note. Calling getState in this method will result in recursion.
+ * @return void
*
+ * @note Calling getState in this method will result in recursion.
* @since 1.6
*/
protected function populateState($ordering = null, $direction = null)
@@ -94,8 +96,10 @@ class WeblinksModelWeblinks extends JModelList
* different modules that might need different sets of data or different
* ordering requirements.
*
- * @param string $id A prefix for the store id.
+ * @param string $id A prefix for the store id.
+ *
* @return string A store id.
+ *
* @since 1.6
*/
protected function getStoreId($id = '')
@@ -114,6 +118,7 @@ class WeblinksModelWeblinks extends JModelList
* Build an SQL query to load the list data.
*
* @return JDatabaseQuery
+ *
* @since 1.6
*/
protected function getListQuery()
@@ -128,9 +133,7 @@ class WeblinksModelWeblinks extends JModelList
$this->getState(
'list.select',
'a.id, a.title, a.alias, a.checked_out, a.checked_out_time, a.catid,' .
- 'a.hits,' .
- 'a.state, a.access, a.ordering,' .
- 'a.language, a.publish_up, a.publish_down'
+ 'a.hits, a.state, a.access, a.ordering, a.language, a.publish_up, a.publish_down'
)
);
$query->from($db->quoteName('#__weblinks') . ' AS a');
@@ -166,6 +169,7 @@ class WeblinksModelWeblinks extends JModelList
// Filter by published state
$published = $this->getState('filter.state');
+
if (is_numeric($published))
{
$query->where('a.state = ' . (int) $published);
@@ -177,6 +181,7 @@ class WeblinksModelWeblinks extends JModelList
// Filter by category.
$categoryId = $this->getState('filter.category_id');
+
if (is_numeric($categoryId))
{
$query->where('a.catid = ' . (int) $categoryId);
@@ -184,6 +189,7 @@ class WeblinksModelWeblinks extends JModelList
// Filter by search in title
$search = $this->getState('filter.search');
+
if (!empty($search))
{
if (stripos($search, 'id:') === 0)
@@ -204,6 +210,7 @@ class WeblinksModelWeblinks extends JModelList
}
$tagId = $this->getState('filter.tag');
+
// Filter by a single tag.
if (is_numeric($tagId))
{
@@ -218,13 +225,14 @@ class WeblinksModelWeblinks extends JModelList
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering');
$orderDirn = $this->state->get('list.direction');
+
if ($orderCol == 'a.ordering' || $orderCol == 'category_title')
{
$orderCol = 'c.title ' . $orderDirn . ', a.ordering';
}
+
$query->order($db->escape($orderCol . ' ' . $orderDirn));
- //echo nl2br(str_replace('#__','jos_',$query));
return $query;
}
}
diff --git a/src/com_weblinks/admin/script.php b/src/com_weblinks/admin/script.php
index d053cdd..59edb6a 100644
--- a/src/com_weblinks/admin/script.php
+++ b/src/com_weblinks/admin/script.php
@@ -21,7 +21,7 @@ class Com_WeblinksInstallerScript
/**
* Function to perform changes during install
*
- * @param JInstallerComponent $parent The class calling this method
+ * @param JInstallerAdapterComponent $parent The class calling this method
*
* @return void
*
diff --git a/src/com_weblinks/admin/tables/weblink.php b/src/com_weblinks/admin/tables/weblink.php
index 5f3dd5d..d2e7366 100644
--- a/src/com_weblinks/admin/tables/weblink.php
+++ b/src/com_weblinks/admin/tables/weblink.php
@@ -9,6 +9,8 @@
defined('_JEXEC') or die;
+use Joomla\String\String;
+
/**
* Weblink Table class
*
@@ -28,6 +30,8 @@ class WeblinksTableWeblink extends JTable
* Constructor
*
* @param JDatabaseDriver &$db A database connector object
+ *
+ * @since 1.5
*/
public function __construct(&$db)
{
@@ -44,20 +48,22 @@ class WeblinksTableWeblink extends JTable
* Overload the store method for the Weblinks 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 = JFactory::getDate();
- $user = JFactory::getUser();
+ $date = JFactory::getDate();
+ $user = JFactory::getUser();
- $this->modified = $date->toSql();
+ $this->modified = $date->toSql();
if ($this->id)
{
// Existing item
- $this->modified_by = $user->get('id');
+ $this->modified_by = $user->id;
}
else
{
@@ -67,22 +73,23 @@ class WeblinksTableWeblink extends JTable
{
$this->created = $date->toSql();
}
+
if (empty($this->created_by))
{
- $this->created_by = $user->get('id');
+ $this->created_by = $user->id;
}
}
// Set publish_up to null date if not set
if (!$this->publish_up)
{
- $this->publish_up = $this->_db->getNullDate();
+ $this->publish_up = $this->getDbo()->getNullDate();
}
// Set publish_down to null date if not set
if (!$this->publish_down)
{
- $this->publish_down = $this->_db->getNullDate();
+ $this->publish_down = $this->getDbo()->getNullDate();
}
// Verify that the alias is unique
@@ -91,6 +98,7 @@ class WeblinksTableWeblink extends JTable
if ($table->load(array('alias' => $this->alias, 'catid' => $this->catid)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_WEBLINKS_ERROR_UNIQUE_ALIAS'));
+
return false;
}
@@ -104,12 +112,15 @@ class WeblinksTableWeblink extends JTable
* Overloaded check method to ensure data integrity.
*
* @return boolean True on success.
+ *
+ * @since 1.5
*/
public function check()
{
- if (JFilterInput::checkAttribute(array ('href', $this->url)))
+ if (JFilterInput::checkAttribute(array('href', $this->url)))
{
$this->setError(JText::_('COM_WEBLINKS_ERR_TABLES_PROVIDE_URL'));
+
return false;
}
@@ -121,17 +132,21 @@ class WeblinksTableWeblink extends JTable
}
// Check for existing name
- $query = $this->_db->getQuery(true)
- ->select($this->_db->quoteName('id'))
- ->from($this->_db->quoteName('#__weblinks'))
- ->where($this->_db->quoteName('title') . ' = ' . $this->_db->quote($this->title))
- ->where($this->_db->quoteName('catid') . ' = ' . (int) $this->catid);
- $this->_db->setQuery($query);
+ $db = $this->getDbo();
+
+ $query = $db->getQuery(true)
+ ->select($db->quoteName('id'))
+ ->from($db->quoteName('#__weblinks'))
+ ->where($db->quoteName('title') . ' = ' . $db->quote($this->title))
+ ->where($db->quoteName('catid') . ' = ' . (int) $this->catid);
+ $db->setQuery($query);
+
+ $xid = (int) $db->loadResult();
- $xid = (int) $this->_db->loadResult();
if ($xid && $xid != (int) $this->id)
{
$this->setError(JText::_('COM_WEBLINKS_ERR_TABLES_NAME'));
+
return false;
}
@@ -139,36 +154,45 @@ class WeblinksTableWeblink extends JTable
{
$this->alias = $this->title;
}
- $this->alias = JApplication::stringURLSafe($this->alias);
+
+ $this->alias = JApplicationHelper::stringURLSafe($this->alias);
+
if (trim(str_replace('-', '', $this->alias)) == '')
{
$this->alias = JFactory::getDate()->format("Y-m-d-H-i-s");
}
// Check the publish down date is not earlier than publish up.
- if ($this->publish_down > $this->_db->getNullDate() && $this->publish_down < $this->publish_up)
+ if ($this->publish_down > $db->getNullDate() && $this->publish_down < $this->publish_up)
{
$this->setError(JText::_('JGLOBAL_START_PUBLISH_AFTER_FINISH'));
+
return false;
}
- // clean up keywords -- eliminate extra spaces between phrases
- // and cr (\r) and lf (\n) characters from string
+ /*
+ * Clean up keywords -- eliminate extra spaces between phrases
+ * and cr (\r) and lf (\n) characters from string
+ */
if (!empty($this->metakey))
{
- // only process if not empty
- $bad_characters = array("\n", "\r", "\"", "<", ">"); // array of characters to remove
- $after_clean = JString::str_ireplace($bad_characters, "", $this->metakey); // remove bad characters
- $keys = explode(',', $after_clean); // create array using commas as delimiter
+ // Array of characters to remove
+ $bad_characters = array("\n", "\r", "\"", "<", ">");
+ $after_clean = String::str_ireplace($bad_characters, "", $this->metakey);
+ $keys = explode(',', $after_clean);
$clean_keys = array();
foreach ($keys as $key)
{
- if (trim($key)) { // ignore blank keywords
+ // Ignore blank keywords
+ if (trim($key))
+ {
$clean_keys[] = trim($key);
}
}
- $this->metakey = implode(", ", $clean_keys); // put array back together delimited by ", "
+
+ // Put array back together delimited by ", "
+ $this->metakey = implode(", ", $clean_keys);
}
return true;
diff --git a/src/com_weblinks/admin/views/weblinks/view.html.php b/src/com_weblinks/admin/views/weblinks/view.html.php
index 3931b24..cf6e2da 100644
--- a/src/com_weblinks/admin/views/weblinks/view.html.php
+++ b/src/com_weblinks/admin/views/weblinks/view.html.php
@@ -29,9 +29,9 @@ class WeblinksViewWeblinks extends JViewLegacy
*/
public function display($tpl = null)
{
- $this->state = $this->get('State');
- $this->items = $this->get('Items');
- $this->pagination = $this->get('Pagination');
+ $this->state = $this->get('State');
+ $this->items = $this->get('Items');
+ $this->pagination = $this->get('Pagination');
WeblinksHelper::addSubmenu('weblinks');
@@ -56,39 +56,46 @@ class WeblinksViewWeblinks extends JViewLegacy
{
require_once JPATH_COMPONENT . '/helpers/weblinks.php';
- $state = $this->get('State');
- $canDo = JHelperContent::getActions('com_weblinks', 'category', $state->get('filter.category_id'));
- $user = JFactory::getUser();
+ $state = $this->get('State');
+ $canDo = JHelperContent::getActions('com_weblinks', 'category', $state->get('filter.category_id'));
+ $user = JFactory::getUser();
// Get the toolbar object instance
$bar = JToolBar::getInstance('toolbar');
JToolbarHelper::title(JText::_('COM_WEBLINKS_MANAGER_WEBLINKS'), 'link weblinks');
+
if (count($user->getAuthorisedCategories('com_weblinks', 'core.create')) > 0)
{
JToolbarHelper::addNew('weblink.add');
}
+
if ($canDo->get('core.edit'))
{
JToolbarHelper::editList('weblink.edit');
}
- if ($canDo->get('core.edit.state')) {
+ if ($canDo->get('core.edit.state'))
+ {
JToolbarHelper::publish('weblinks.publish', 'JTOOLBAR_PUBLISH', true);
JToolbarHelper::unpublish('weblinks.unpublish', 'JTOOLBAR_UNPUBLISH', true);
JToolbarHelper::archiveList('weblinks.archive');
JToolbarHelper::checkin('weblinks.checkin');
}
+
if ($state->get('filter.state') == -2 && $canDo->get('core.delete'))
{
JToolbarHelper::deleteList('', 'weblinks.delete', 'JTOOLBAR_EMPTY_TRASH');
- } elseif ($canDo->get('core.edit.state'))
+ }
+ elseif ($canDo->get('core.edit.state'))
{
JToolbarHelper::trash('weblinks.trash');
}
+
// Add a batch button
- if ($user->authorise('core.create', 'com_weblinks') && $user->authorise('core.edit', 'com_weblinks') && $user->authorise('core.edit.state', 'com_weblinks'))
+ if ($user->authorise('core.create', 'com_weblinks') && $user->authorise('core.edit', 'com_weblinks')
+ && $user->authorise('core.edit.state', 'com_weblinks'))
{
JHtml::_('bootstrap.modal', 'collapseModal');
$title = JText::_('JTOOLBAR_BATCH');
@@ -99,6 +106,7 @@ class WeblinksViewWeblinks extends JViewLegacy
$dhtml = $layout->render(array('title' => $title));
$bar->appendButton('Custom', $dhtml, 'batch');
}
+
if ($user->authorise('core.admin', 'com_weblinks'))
{
JToolbarHelper::preferences('com_weblinks');
@@ -133,9 +141,9 @@ class WeblinksViewWeblinks extends JViewLegacy
);
JHtmlSidebar::addFilter(
- JText::_('JOPTION_SELECT_TAG'),
- 'filter_tag',
- JHtml::_('select.options', JHtml::_('tag.options', true, true), 'value', 'text', $this->state->get('filter.tag'))
+ JText::_('JOPTION_SELECT_TAG'),
+ 'filter_tag',
+ JHtml::_('select.options', JHtml::_('tag.options', true, true), 'value', 'text', $this->state->get('filter.tag'))
);
}
diff --git a/src/com_weblinks/site/controller.php b/src/com_weblinks/site/controller.php
index 0e9b81d..b98080e 100644
--- a/src/com_weblinks/site/controller.php
+++ b/src/com_weblinks/site/controller.php
@@ -19,10 +19,12 @@ class WeblinksController extends JControllerLegacy
/**
* Method to display a view.
*
- * @param boolean If true, the view output will be cached
- * @param array An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
+ * @param boolean $cachable If true, the view output will be cached
+ * @param array $urlparams An array of safe url parameters and their variable types,
+ * for valid values see {@link JFilterInput::clean()}.
+ *
+ * @return WeblinksController This object to support chaining.
*
- * @return JController This object to support chaining.
* @since 1.5
*/
public function display($cachable = false, $urlparams = false)
@@ -37,7 +39,7 @@ class WeblinksController extends JControllerLegacy
$vName = $this->input->get('view', 'categories');
$this->input->set('view', $vName);
- if ($user->get('id') ||($this->input->getMethod() == 'POST' && $vName = 'categories'))
+ if (JFactory::getUser()->id ||($this->input->getMethod() == 'POST' && $vName = 'categories'))
{
$cachable = false;
}
diff --git a/src/com_weblinks/site/controllers/weblink.php b/src/com_weblinks/site/controllers/weblink.php
index ded3885..1a24736 100644
--- a/src/com_weblinks/site/controllers/weblink.php
+++ b/src/com_weblinks/site/controllers/weblink.php
@@ -9,6 +9,8 @@
defined('_JEXEC') or die;
+use Joomla\Utilities\ArrayHelper;
+
/**
* Weblinks class.
*
@@ -17,12 +19,18 @@ defined('_JEXEC') or die;
class WeblinksControllerWeblink extends JControllerForm
{
/**
- * @since 1.6
+ * The URL view item variable.
+ *
+ * @var string
+ * @since 1.6
*/
protected $view_item = 'form';
/**
- * @since 1.6
+ * The URL view list variable.
+ *
+ * @var string
+ * @since 1.6
*/
protected $view_list = 'categories';
@@ -38,6 +46,7 @@ class WeblinksControllerWeblink extends JControllerForm
* Method to add a new record.
*
* @return boolean True if the article can be added, false if not.
+ *
* @since 1.6
*/
public function add()
@@ -60,25 +69,22 @@ class WeblinksControllerWeblink extends JControllerForm
*/
protected function allowAdd($data = array())
{
- $user = JFactory::getUser();
- $categoryId = JArrayHelper::getValue($data, 'catid', $this->input->getInt('id'), 'int');
- $allow = null;
+ $categoryId = ArrayHelper::getValue($data, 'catid', $this->input->getInt('id'), 'int');
+ $allow = null;
if ($categoryId)
{
// If the category has been passed in the URL check it.
- $allow = $user->authorise('core.create', $this->option . '.category.' . $categoryId);
+ $allow = JFactory::getUser()->authorise('core.create', $this->option . '.category.' . $categoryId);
}
- if ($allow === null)
- {
- // In the absense of better information, revert to the component permissions.
- return parent::allowAdd($data);
- }
- else
+ if ($allow !== null)
{
return $allow;
}
+
+ // In the absense of better information, revert to the component permissions.
+ return parent::allowAdd($data);
}
/**
@@ -106,11 +112,9 @@ class WeblinksControllerWeblink extends JControllerForm
// The category has been set. Check the category permissions.
return JFactory::getUser()->authorise('core.edit', $this->option . '.category.' . $categoryId);
}
- else
- {
- // Since there is no asset tracking, revert to the component permissions.
- return parent::allowEdit($data, $key);
- }
+
+ // Since there is no asset tracking, revert to the component permissions.
+ return parent::allowEdit($data, $key);
}
/**
@@ -124,10 +128,12 @@ class WeblinksControllerWeblink extends JControllerForm
*/
public function cancel($key = 'w_id')
{
- parent::cancel($key);
+ $return = parent::cancel($key);
// Redirect to the return page.
$this->setRedirect($this->getReturnPage());
+
+ return $return;
}
/**
@@ -142,9 +148,7 @@ class WeblinksControllerWeblink extends JControllerForm
*/
public function edit($key = null, $urlVar = 'w_id')
{
- $result = parent::edit($key, $urlVar);
-
- return $result;
+ return parent::edit($key, $urlVar);
}
/**
@@ -160,9 +164,7 @@ class WeblinksControllerWeblink extends JControllerForm
*/
public function getModel($name = 'form', $prefix = '', $config = array('ignore_request' => true))
{
- $model = parent::getModel($name, $prefix, $config);
-
- return $model;
+ return parent::getModel($name, $prefix, $config);
}
/**
@@ -195,9 +197,7 @@ class WeblinksControllerWeblink extends JControllerForm
}
/**
- * Get the return URL.
- *
- * If a "return" variable has been passed in the request
+ * Get the return URL if a "return" variable has been passed in the request
*
* @return string The return URL.
*
@@ -211,24 +211,8 @@ class WeblinksControllerWeblink extends JControllerForm
{
return JUri::base();
}
- else
- {
- return base64_decode($return);
- }
- }
- /**
- * Function that allows child controller access to model data after the data has been saved.
- *
- * @param JModelLegacy $model The data model object.
- * @param array $validData The validated data.
- *
- * @return void
- * @since 1.6
- */
- protected function postSaveHook(JModelLegacy $model, $validData = array())
- {
- return;
+ return base64_decode($return);
}
/**
@@ -267,11 +251,11 @@ class WeblinksControllerWeblink extends JControllerForm
$id = $this->input->getInt('id');
// Get the model, requiring published items
- $modelLink = $this->getModel('Weblink', '', array('ignore_request' => true));
+ $modelLink = $this->getModel('Weblink', '', array('ignore_request' => true));
$modelLink->setState('filter.published', 1);
// Get the item
- $link = $modelLink->getItem($id);
+ $link = $modelLink->getItem($id);
// Make sure the item was found.
if (empty($link))
@@ -280,8 +264,7 @@ class WeblinksControllerWeblink extends JControllerForm
}
// Check whether item access level allows access.
- $user = JFactory::getUser();
- $groups = $user->getAuthorisedViewLevels();
+ $groups = JFactory::getUser()->getAuthorisedViewLevels();
if (!in_array($link->access, $groups))
{
@@ -314,9 +297,7 @@ class WeblinksControllerWeblink extends JControllerForm
$modelLink->hit($id);
JFactory::getApplication()->redirect($link->url);
}
- else
- {
- return JError::raiseWarning(404, JText::_('COM_WEBLINKS_ERROR_WEBLINK_URL_INVALID'));
- }
+
+ return JError::raiseWarning(404, JText::_('COM_WEBLINKS_ERROR_WEBLINK_URL_INVALID'));
}
}
diff --git a/src/com_weblinks/site/helpers/association.php b/src/com_weblinks/site/helpers/association.php
index dcf65dc..4803c62 100644
--- a/src/com_weblinks/site/helpers/association.php
+++ b/src/com_weblinks/site/helpers/association.php
@@ -27,15 +27,13 @@ abstract class WeblinksHelperAssociation extends CategoryHelperAssociation
*
* @return array Array of associations for the item
*
- * @since 3.0
+ * @since 3.0
*/
-
public static function getAssociations($id = 0, $view = null)
{
jimport('helper.route', JPATH_COMPONENT_SITE);
- $app = JFactory::getApplication();
- $jinput = $app->input;
+ $jinput = JFactory::getApplication()->input;
$view = is_null($view) ? $jinput->get('view') : $view;
$id = empty($id) ? $jinput->getInt('id') : $id;
@@ -45,6 +43,5 @@ abstract class WeblinksHelperAssociation extends CategoryHelperAssociation
}
return array();
-
}
}
diff --git a/src/com_weblinks/site/helpers/category.php b/src/com_weblinks/site/helpers/category.php
index 4c00eea..bb0bd79 100644
--- a/src/com_weblinks/site/helpers/category.php
+++ b/src/com_weblinks/site/helpers/category.php
@@ -16,10 +16,18 @@ defined('_JEXEC') or die;
*/
class WeblinksCategories extends JCategories
{
+ /**
+ * Constructor
+ *
+ * @param array $options Array of options
+ *
+ * @since 1.6
+ */
public function __construct($options = array())
{
$options['table'] = '#__weblinks';
$options['extension'] = 'com_weblinks';
+
parent::__construct($options);
}
}
diff --git a/src/com_weblinks/site/helpers/icon.php b/src/com_weblinks/site/helpers/icon.php
index bf9938a..67db740 100644
--- a/src/com_weblinks/site/helpers/icon.php
+++ b/src/com_weblinks/site/helpers/icon.php
@@ -16,6 +16,14 @@ defined('_JEXEC') or die;
*/
class JHtmlIcon
{
+ /**
+ * Create a link to create a new weblink
+ *
+ * @param mixed $weblink Unused
+ * @param mixed $params Unused
+ *
+ * @return string
+ */
public static function create($weblink, $params)
{
JHtml::_('bootstrap.tooltip');
@@ -24,10 +32,19 @@ class JHtmlIcon
$url = JRoute::_(WeblinksHelperRoute::getFormRoute(0, base64_encode($uri)));
$text = JHtml::_('image', 'system/new.png', JText::_('JNEW'), null, true);
$button = JHtml::_('link', $url, $text);
- $output = '' . $button . '';
- return $output;
+
+ return '' . $button . '';
}
+ /**
+ * Create a link to edit an existing weblink
+ *
+ * @param object $weblink Weblink data
+ * @param \Joomla\Registry\Registry $params Item params
+ * @param array $attribs Unused
+ *
+ * @return string
+ */
public static function edit($weblink, $params, $attribs = array())
{
$uri = JUri::getInstance();
@@ -67,8 +84,6 @@ class JHtmlIcon
$button = JHtml::_('link', JRoute::_($url), $text);
- $output = '' . $button . '';
-
- return $output;
+ return '' . $button . '';
}
}
diff --git a/src/com_weblinks/site/helpers/route.php b/src/com_weblinks/site/helpers/route.php
index 955797e..f47d033 100644
--- a/src/com_weblinks/site/helpers/route.php
+++ b/src/com_weblinks/site/helpers/route.php
@@ -22,6 +22,8 @@ abstract class WeblinksHelperRoute
/**
* @param integer The route of the weblink
+ *
+ * @return string
*/
public static function getWeblinkRoute($id, $catid, $language = 0)
{
@@ -29,7 +31,7 @@ abstract class WeblinksHelperRoute
'weblink' => array((int) $id)
);
- //Create the link
+ // Create the link
$link = 'index.php?option=com_weblinks&view=weblink&id='. $id;
if ($catid > 1)
@@ -65,8 +67,10 @@ abstract class WeblinksHelperRoute
}
/**
- * @param integer $id The id of the weblink.
- * @param string $return The return page variable.
+ * @param integer $id The id of the weblink.
+ * @param string $return The return page variable.
+ *
+ * @return string
*/
public static function getFormRoute($id, $return = null)
{
@@ -88,6 +92,12 @@ abstract class WeblinksHelperRoute
return $link;
}
+ /**
+ * @param JCategoryNode|string|integer $catid JCategoryNode object or category ID
+ * @param integer $language Language code
+ *
+ * @return string
+ */
public static function getCategoryRoute($catid, $language = 0)
{
if ($catid instanceof JCategoryNode)
@@ -136,6 +146,9 @@ abstract class WeblinksHelperRoute
return $link;
}
+ /**
+ * @return void
+ */
protected static function buildLanguageLookup()
{
if (count(self::$lang_lookup) == 0)
@@ -158,9 +171,9 @@ abstract class WeblinksHelperRoute
protected static function _findItem($needles = null)
{
- $app = JFactory::getApplication();
- $menus = $app->getMenu('site');
- $language = isset($needles['language']) ? $needles['language'] : '*';
+ $app = JFactory::getApplication();
+ $menus = $app->getMenu('site');
+ $language = isset($needles['language']) ? $needles['language'] : '*';
// Prepare the reverse lookup array.
if (!isset(self::$lookup[$language]))
@@ -187,13 +200,14 @@ abstract class WeblinksHelperRoute
if (isset($item->query) && isset($item->query['view']))
{
$view = $item->query['view'];
+
if (!isset(self::$lookup[$language][$view]))
{
self::$lookup[$language][$view] = array();
}
+
if (isset($item->query['id']))
{
-
// here it will become a bit tricky
// language != * can override existing entries
// language == * cannot override existing entries
@@ -226,6 +240,7 @@ abstract class WeblinksHelperRoute
// Check if the active menuitem matches the requested language
$active = $menus->getActive();
+
if ($active && ($language == '*' || in_array($active->language, array('*', $language)) || !JLanguageMultilang::isEnabled()))
{
return $active->id;
@@ -233,6 +248,7 @@ abstract class WeblinksHelperRoute
// If not found, return language specific home link
$default = $menus->getDefault($language);
+
return !empty($default->id) ? $default->id : null;
}
}
diff --git a/src/com_weblinks/site/models/categories.php b/src/com_weblinks/site/models/categories.php
index 5e8a864..080fb50 100644
--- a/src/com_weblinks/site/models/categories.php
+++ b/src/com_weblinks/site/models/categories.php
@@ -17,16 +17,17 @@ defined('_JEXEC') or die;
class WeblinksModelCategories extends JModelList
{
/**
- * Model context string.
+ * Context string for the model type. This is used to handle uniqueness
+ * when dealing with the getStoreId() method and caching data structures.
*
- * @var string
+ * @var string
*/
- public $_context = 'com_weblinks.categories';
+ protected $context = 'com_weblinks.categories';
/**
* The category context (allows other extensions to derived from this model).
*
- * @var string
+ * @var string
*/
protected $_extension = 'com_weblinks';
diff --git a/src/com_weblinks/site/models/category.php b/src/com_weblinks/site/models/category.php
index 9a1c514..d145e8c 100644
--- a/src/com_weblinks/site/models/category.php
+++ b/src/com_weblinks/site/models/category.php
@@ -9,6 +9,8 @@
defined('_JEXEC') or die;
+use Joomla\Registry\Registry;
+
/**
* Weblinks Component Weblink Model
*
@@ -35,7 +37,8 @@ class WeblinksModelCategory extends JModelList
* Constructor.
*
* @param array An optional associative array of configuration settings.
- * @see JController
+ *
+ * @see JControllerLegacy
* @since 1.6
*/
public function __construct($config = array())
@@ -56,16 +59,14 @@ class WeblinksModelCategory extends JModelList
/**
* The category that applies.
*
- * @access protected
- * @var object
+ * @var object
*/
protected $_category = null;
/**
* The list of other weblink categories.
*
- * @access protected
- * @var array
+ * @var array
*/
protected $_categories = null;
@@ -84,10 +85,11 @@ class WeblinksModelCategory extends JModelList
{
if (!isset($this->_params))
{
- $params = new JRegistry;
+ $params = new Registry;
$params->loadString($item->params);
$item->params = $params;
}
+
// Get the tags
$item->tags = new JHelperTags;
$item->tags->getItemTags('com_weblinks.weblink', $item->id);
@@ -97,15 +99,15 @@ class WeblinksModelCategory extends JModelList
}
/**
- * Method to build an SQL query to load the list data.
+ * Method to get a JDatabaseQuery object for retrieving the data set from a database.
+ *
+ * @return JDatabaseQuery A JDatabaseQuery object to retrieve the data set.
*
- * @return string An SQL query
* @since 1.6
*/
protected function getListQuery()
{
- $user = JFactory::getUser();
- $groups = implode(',', $user->getAuthorisedViewLevels());
+ $groups = implode(',', JFactory::getUser()->getAuthorisedViewLevels());
// Create a new query object.
$db = $this->getDbo();
@@ -123,8 +125,9 @@ class WeblinksModelCategory extends JModelList
->join('LEFT', '#__categories AS c ON c.id = a.catid')
->where('c.access IN (' . $groups . ')');
- //Filter by published category
+ // Filter by published category
$cpublished = $this->getState('filter.c.published');
+
if (is_numeric($cpublished))
{
$query->where('c.published = ' . (int) $cpublished);
@@ -134,24 +137,24 @@ class WeblinksModelCategory extends JModelList
// Join over the users for the author and modified_by names.
$query->select("CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author")
->select("ua.email AS author_email")
-
->join('LEFT', '#__users AS ua ON ua.id = a.created_by')
->join('LEFT', '#__users AS uam ON uam.id = a.modified_by');
// Filter by state
$state = $this->getState('filter.state');
+
if (is_numeric($state))
{
$query->where('a.state = ' . (int) $state);
}
+
// do not show trashed links on the front-end
$query->where('a.state != -2');
// Filter by start and end dates.
$nullDate = $db->quote($db->getNullDate());
- $date = JFactory::getDate();
- $nowDate = $db->quote($date->toSql());
+ $nowDate = $db->quote(JFactory::getDate()->toSql());
if ($this->getState('filter.publish_date'))
{
@@ -167,6 +170,7 @@ class WeblinksModelCategory extends JModelList
// Filter by search in title
$search = $this->getState('list.filter');
+
if (!empty($search))
{
$search = $db->quote('%' . $db->escape($search, true) . '%');
@@ -174,7 +178,12 @@ class WeblinksModelCategory extends JModelList
}
// Add the list ordering clause.
- $query->order($db->escape($this->getState('list.ordering', 'a.ordering')) . ' ' . $db->escape($this->getState('list.direction', 'ASC')));
+ $query->order(
+ $db->escape(
+ $this->getState('list.ordering', 'a.ordering')) . ' ' . $db->escape($this->getState('list.direction', 'ASC')
+ )
+ );
+
return $query;
}
@@ -201,23 +210,28 @@ class WeblinksModelCategory extends JModelList
$this->setState('list.filter', $app->input->getString('filter-search'));
$orderCol = $app->input->get('filter_order', 'ordering');
+
if (!in_array($orderCol, $this->filter_fields))
{
$orderCol = 'ordering';
}
+
$this->setState('list.ordering', $orderCol);
$listOrder = $app->input->get('filter_order_Dir', 'ASC');
+
if (!in_array(strtoupper($listOrder), array('ASC', 'DESC', '')))
{
$listOrder = 'ASC';
}
+
$this->setState('list.direction', $listOrder);
$id = $app->input->get('id', 0, 'int');
$this->setState('category.id', $id);
$user = JFactory::getUser();
+
if ((!$user->authorise('core.edit.state', 'com_weblinks')) && (!$user->authorise('core.edit', 'com_weblinks')))
{
// limit to published for people who can't edit or edit.state.
@@ -236,9 +250,8 @@ class WeblinksModelCategory extends JModelList
/**
* Method to get category data for the current category
*
- * @param integer An optional ID
- *
* @return object
+ *
* @since 1.5
*/
public function getCategory()
@@ -248,7 +261,7 @@ class WeblinksModelCategory extends JModelList
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
- $params = new JRegistry;
+ $params = new Registry;
if ($active)
{
@@ -256,17 +269,22 @@ class WeblinksModelCategory extends JModelList
}
$options = array();
- $options['countItems'] = $params->get('show_cat_num_links_cat', 1) || $params->get('show_empty_categories', 0);
+ $options['countItems'] = $params->get('show_cat_num_links_cat', 1)
+ || $params->get('show_empty_categories', 0);
+
$categories = JCategories::getInstance('Weblinks', $options);
$this->_item = $categories->get($this->getState('category.id', 'root'));
+
if (is_object($this->_item))
{
$this->_children = $this->_item->getChildren();
$this->_parent = false;
+
if ($this->_item->getParent())
{
$this->_parent = $this->_item->getParent();
}
+
$this->_rightsibling = $this->_item->getSibling();
$this->_leftsibling = $this->_item->getSibling(false);
}
@@ -339,20 +357,19 @@ class WeblinksModelCategory extends JModelList
/**
* Increment the hit counter for the category.
*
- * @param int $pk Optional primary key of the category to increment.
+ * @param integer $pk Optional primary key of the category to increment.
*
- * @return boolean True if successful; false otherwise and internal error set.
+ * @return boolean True if successful; false otherwise and internal error set.
*
* @since 3.2
*/
public function hit($pk = 0)
{
- $input = JFactory::getApplication()->input;
- $hitcount = $input->getInt('hitcount', 1);
+ $hitcount = JFactory::getApplication()->input->getInt('hitcount', 1);
if ($hitcount)
{
- $pk = (!empty($pk)) ? $pk : (int) $this->getState('category.id');
+ $pk = (!empty($pk)) ? $pk : (int) $this->getState('category.id');
$table = JTable::getInstance('Category', 'JTable');
$table->load($pk);
$table->hit($pk);
diff --git a/src/com_weblinks/site/models/form.php b/src/com_weblinks/site/models/form.php
index 38ceb8e..ee21fbe 100644
--- a/src/com_weblinks/site/models/form.php
+++ b/src/com_weblinks/site/models/form.php
@@ -9,7 +9,7 @@
defined('_JEXEC') or die;
-require_once JPATH_COMPONENT_ADMINISTRATOR.'/models/weblink.php';
+require_once JPATH_COMPONENT_ADMINISTRATOR . '/models/weblink.php';
/**
* Weblinks model.
@@ -21,14 +21,16 @@ class WeblinksModelForm extends WeblinksModelWeblink
/**
* Model typeAlias string. Used for version history.
*
- * @var string
+ * @var string
+ * @since 3.2
*/
public $typeAlias = 'com_weblinks.weblink';
/**
* Get the return URL.
*
- * @return string The return URL.
+ * @return string The return URL.
+ *
* @since 1.6
*/
public function getReturnPage()
@@ -50,10 +52,11 @@ class WeblinksModelForm extends WeblinksModelWeblink
// Load state from the request.
$pk = $app->input->getInt('w_id');
$this->setState('weblink.id', $pk);
+
// Add compatibility variable for default naming conventions.
$this->setState('form.id', $pk);
- $categoryId = $app->input->getInt('catid');
+ $categoryId = $app->input->getInt('catid');
$this->setState('weblink.catid', $categoryId);
$return = $app->input->get('return', null, 'base64');
@@ -66,7 +69,7 @@ class WeblinksModelForm extends WeblinksModelWeblink
$this->setState('return_page', base64_decode($return));
// Load the parameters.
- $params = $app->getParams();
+ $params = $app->getParams();
$this->setState('params', $params);
$this->setState('layout', $app->input->getString('layout'));
diff --git a/src/com_weblinks/site/models/weblink.php b/src/com_weblinks/site/models/weblink.php
index 2d10a1d..8c7b57b 100644
--- a/src/com_weblinks/site/models/weblink.php
+++ b/src/com_weblinks/site/models/weblink.php
@@ -21,8 +21,7 @@ class WeblinksModelWeblink extends JModelItem
/**
* Model context string.
*
- * @access protected
- * @var string
+ * @var string
*/
protected $_context = 'com_weblinks.weblink';
@@ -98,7 +97,9 @@ class WeblinksModelWeblink extends JModelItem
* @param type The table type to instantiate
* @param string A prefix for the table class name. Optional.
* @param array Configuration array for model. Optional.
+ *
* @return JTable A database object
+ *
* @since 1.6
*/
public function getTable($type = 'Weblink', $prefix = 'WeblinksTable', $config = array())
@@ -121,6 +122,7 @@ class WeblinksModelWeblink extends JModelItem
}
$weblink = $this->getTable('Weblink', 'WeblinksTable');
+
return $weblink->hit($id);
}
}
diff --git a/src/mod_weblinks/helper.php b/src/mod_weblinks/helper.php
index eed59ce..11c031b 100644
--- a/src/mod_weblinks/helper.php
+++ b/src/mod_weblinks/helper.php
@@ -17,9 +17,7 @@ JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_weblinks/models', 'We
/**
* Helper for mod_weblinks
*
- * @package Joomla.Site
- * @subpackage mod_weblinks
- * @since 1.5.0
+ * @since 1.5
*/
class ModWeblinksHelper
{
@@ -30,7 +28,7 @@ class ModWeblinksHelper
*
* @return mixed Null if no weblinks based on input parameters else an array containing all the weblinks.
*
- * @since 1.5.0
+ * @since 1.5
**/
public static function getList(&$params)
{
@@ -108,9 +106,7 @@ class ModWeblinksHelper
return $items;
}
- else
- {
- return;
- }
+
+ return;
}
}
diff --git a/src/plg_finder_weblinks/weblinks.php b/src/plg_finder_weblinks/weblinks.php
index cde9b1e..a3e6d00 100644
--- a/src/plg_finder_weblinks/weblinks.php
+++ b/src/plg_finder_weblinks/weblinks.php
@@ -9,6 +9,8 @@
defined('JPATH_BASE') or die;
+use Joomla\Registry\Registry;
+
// Load the base adapter.
require_once JPATH_ADMINISTRATOR . '/components/com_finder/helpers/indexer/adapter.php';
@@ -251,11 +253,11 @@ class PlgFinderWeblinks extends FinderIndexerAdapter
$item->setLanguage();
// Initialise the item parameters.
- $registry = new JRegistry;
+ $registry = new Registry;
$registry->loadString($item->params);
$item->params = $registry;
- $registry = new JRegistry;
+ $registry = new Registry;
$registry->loadString($item->metadata);
$item->metadata = $registry;
diff --git a/src/plg_search_weblinks/weblinks.php b/src/plg_search_weblinks/weblinks.php
index 844330f..1f7a492 100644
--- a/src/plg_search_weblinks/weblinks.php
+++ b/src/plg_search_weblinks/weblinks.php
@@ -60,9 +60,7 @@ class PlgSearchWeblinks extends JPlugin
public function onContentSearch($text, $phrase = '', $ordering = '', $areas = null)
{
$db = JFactory::getDbo();
- $app = JFactory::getApplication();
- $user = JFactory::getUser();
- $groups = implode(',', $user->getAuthorisedViewLevels());
+ $groups = implode(',', JFactory::getUser()->getAuthorisedViewLevels());
$searchText = $text;
@@ -185,7 +183,7 @@ class PlgSearchWeblinks extends JPlugin
->order($order);
// Filter by language.
- if ($app->isSite() && JLanguageMultilang::isEnabled())
+ if (JFactory::getApplication()->isSite() && JLanguageMultilang::isEnabled())
{
$tag = JFactory::getLanguage()->getTag();
$query->where('a.language in (' . $db->quote($tag) . ',' . $db->quote('*') . ')')