diff --git a/administrator/components/com_finder/controllers/filters.php b/administrator/components/com_finder/controllers/filters.php index 5d485297a10a0..8f4cf209cde6a 100644 --- a/administrator/components/com_finder/controllers/filters.php +++ b/administrator/components/com_finder/controllers/filters.php @@ -32,6 +32,7 @@ class FinderControllerFilters extends JControllerAdmin public function getModel($name = 'Filter', $prefix = 'FinderModel', $config = array('ignore_request' => true)) { $model = parent::getModel($name, $prefix, $config); + return $model; } } diff --git a/administrator/components/com_finder/controllers/index.php b/administrator/components/com_finder/controllers/index.php index f5e654c4200a7..dd9e59750a65b 100644 --- a/administrator/components/com_finder/controllers/index.php +++ b/administrator/components/com_finder/controllers/index.php @@ -32,6 +32,7 @@ class FinderControllerIndex extends JControllerAdmin public function getModel($name = 'Index', $prefix = 'FinderModel', $config = array('ignore_request' => true)) { $model = parent::getModel($name, $prefix, $config); + return $model; } @@ -58,12 +59,14 @@ public function purge() { $message = JText::_('COM_FINDER_INDEX_PURGE_FAILED', $model->getError()); $this->setRedirect('index.php?option=com_finder&view=index', $message); + return false; } else { $message = JText::_('COM_FINDER_INDEX_PURGE_SUCCESS'); $this->setRedirect('index.php?option=com_finder&view=index', $message); + return true; } } diff --git a/administrator/components/com_finder/controllers/indexer.json.php b/administrator/components/com_finder/controllers/indexer.json.php index 15e20bd77597b..7dd21abcb8dee 100644 --- a/administrator/components/com_finder/controllers/indexer.json.php +++ b/administrator/components/com_finder/controllers/indexer.json.php @@ -145,7 +145,7 @@ public function batch() * in order to work around some plugins that don't do proper environment * checks before trying to use HTML document functions. */ - $raw = clone(JFactory::getDocument()); + $raw = clone JFactory::getDocument(); $lang = JFactory::getLanguage(); // Get the document properties. @@ -165,7 +165,7 @@ public function batch() $doc = $html; // Get the admin application. - $admin = clone(JFactory::getApplication()); + $admin = clone JFactory::getApplication(); // Get the site app. $site = JApplication::getInstance('site'); diff --git a/administrator/components/com_finder/controllers/maps.php b/administrator/components/com_finder/controllers/maps.php index c1f91c610f2ff..09b7665e58131 100644 --- a/administrator/components/com_finder/controllers/maps.php +++ b/administrator/components/com_finder/controllers/maps.php @@ -32,6 +32,7 @@ class FinderControllerMaps extends JControllerAdmin public function getModel($name = 'Maps', $prefix = 'FinderModel', $config = array('ignore_request' => true)) { $model = parent::getModel($name, $prefix, $config); + return $model; } } diff --git a/administrator/components/com_finder/helpers/indexer/adapter.php b/administrator/components/com_finder/helpers/indexer/adapter.php index 565a981e67bb3..11f961ca02dc9 100644 --- a/administrator/components/com_finder/helpers/indexer/adapter.php +++ b/administrator/components/com_finder/helpers/indexer/adapter.php @@ -167,7 +167,6 @@ public function __construct(&$subject, $config) */ public function onStartIndex() { - // Get the indexer state. $iState = FinderIndexer::getState(); @@ -392,7 +391,7 @@ abstract protected function setup(); */ protected function categoryAccessChange($row) { - $query = clone($this->getStateQuery()); + $query = clone $this->getStateQuery(); $query->where('c.id = ' . (int) $row->id); // Get the access level. @@ -432,7 +431,7 @@ protected function categoryStateChange($pks, $value) */ foreach ($pks as $pk) { - $query = clone($this->getStateQuery()); + $query = clone $this->getStateQuery(); $query->where('c.id = ' . (int) $pk); // Get the published states. @@ -520,7 +519,7 @@ protected function getContentCount() // Tweak the SQL query to make the total lookup faster. if ($query instanceof JDatabaseQuery) { - $query = clone($query); + $query = clone $query; $query->clear('select') ->select('COUNT(*)') ->clear('order'); @@ -812,7 +811,7 @@ protected function getItemMenuTitle($url) */ protected function itemAccessChange($row) { - $query = clone($this->getStateQuery()); + $query = clone $this->getStateQuery(); $query->where('a.id = ' . (int) $row->id); // Get the access level. @@ -845,7 +844,7 @@ protected function itemStateChange($pks, $value) */ foreach ($pks as $pk) { - $query = clone($this->getStateQuery()); + $query = clone $this->getStateQuery(); $query->where('a.id = ' . (int) $pk); // Get the published states. @@ -881,7 +880,7 @@ protected function pluginDisable($pks) if ($this->getPluginType($pk) == strtolower($this->context)) { // Get all of the items to unindex them - $query = clone($this->getStateQuery()); + $query = clone $this->getStateQuery(); $this->db->setQuery($query); $items = $this->db->loadColumn(); diff --git a/administrator/components/com_finder/helpers/indexer/driver/mysql.php b/administrator/components/com_finder/helpers/indexer/driver/mysql.php index 4c8d1e8746406..b68d9687e255d 100644 --- a/administrator/components/com_finder/helpers/indexer/driver/mysql.php +++ b/administrator/components/com_finder/helpers/indexer/driver/mysql.php @@ -605,6 +605,7 @@ protected function addTokensToDB($tokens, $context = '') ); $values++; } + $db->setQuery($query); $db->execute(); diff --git a/administrator/components/com_finder/helpers/indexer/driver/postgresql.php b/administrator/components/com_finder/helpers/indexer/driver/postgresql.php index 19e53e4979730..39c45009de3d7 100644 --- a/administrator/components/com_finder/helpers/indexer/driver/postgresql.php +++ b/administrator/components/com_finder/helpers/indexer/driver/postgresql.php @@ -328,6 +328,7 @@ public function index($item, $format = 'html') ' FROM ' . $db->quoteName('#__finder_tokens_aggregate') . ' AS ta' . ' WHERE ta.term_id = 0' ); + if ($db->loadRow() == null) { $db->setQuery( @@ -610,6 +611,7 @@ protected function addTokensToDB($tokens, $context = '') ); $values++; } + $db->setQuery($query); $db->execute(); diff --git a/administrator/components/com_finder/helpers/indexer/helper.php b/administrator/components/com_finder/helpers/indexer/helper.php index 86d29243fcba3..e4e83f9a644d0 100644 --- a/administrator/components/com_finder/helpers/indexer/helper.php +++ b/administrator/components/com_finder/helpers/indexer/helper.php @@ -121,6 +121,7 @@ public static function tokenize($input, $lang, $phrase = false) for ($j = 0; $j < $charCount; $j++) { $tSplit = JString::str_ireplace($charMatches[0][$j], '', $terms[$i], false); + if (!empty($tSplit)) { $terms[$i] = $tSplit; @@ -190,6 +191,7 @@ public static function tokenize($input, $lang, $phrase = false) if ($store) { $cache[$store] = count($tokens) > 1 ? $tokens : array_shift($tokens); + return $cache[$store]; } else diff --git a/administrator/components/com_finder/helpers/indexer/indexer.php b/administrator/components/com_finder/helpers/indexer/indexer.php index 95fe02c48e3b6..09cf427bb180b 100644 --- a/administrator/components/com_finder/helpers/indexer/indexer.php +++ b/administrator/components/com_finder/helpers/indexer/indexer.php @@ -111,6 +111,7 @@ public static function getInstance() { $format = 'sqlsrv'; } + $path = __DIR__ . '/driver/' . $format . '.php'; $class = 'FinderIndexerDriver' . ucfirst($format); @@ -119,6 +120,7 @@ public static function getInstance() { // Instantiate the parser. include_once $path; + return new $class; } else diff --git a/administrator/components/com_finder/helpers/indexer/query.php b/administrator/components/com_finder/helpers/indexer/query.php index 9cff3cee507e5..9a4b13cc17dbd 100644 --- a/administrator/components/com_finder/helpers/indexer/query.php +++ b/administrator/components/com_finder/helpers/indexer/query.php @@ -190,14 +190,17 @@ public function __construct($options) { $this->dates->set('date1', $options['date1']); } + if (isset($options['date2']) && !empty($options['date1'])) { $this->dates->set('date2', $options['date2']); } + if (isset($options['when1']) && !empty($options['date1'])) { $this->dates->set('when1', $options['when1']); } + if (isset($options['when2']) && !empty($options['date1'])) { $this->dates->set('when2', $options['when2']); @@ -300,6 +303,7 @@ public function toURI($base = null) { continue; } + $uri->setVar('t[]', $node); } } @@ -1023,6 +1027,7 @@ protected function processString($input, $lang, $mode) { unset($phrases[$pk]); } + if (($pk = array_search($terms[$i + 2], $phrases)) !== false) { unset($phrases[$pk]); @@ -1084,6 +1089,7 @@ protected function processString($input, $lang, $mode) { unset($phrases[$pk]); } + if (($pk = array_search($terms[$i + 2], $phrases)) !== false) { unset($phrases[$pk]); @@ -1134,7 +1140,7 @@ protected function processString($input, $lang, $mode) unset($terms[$i + 1]); // Adjust the loop. - $i += 1; + $i++; continue; } // Handle the NOT operator. @@ -1171,7 +1177,7 @@ protected function processString($input, $lang, $mode) unset($terms[$i + 1]); // Adjust the loop. - $i += 1; + $i++; continue; } } @@ -1286,7 +1292,7 @@ protected function getTokenData($token) ->where('t.phrase = 0'); // Clone the query, replace the WHERE clause. - $sub = clone($query); + $sub = clone $query; $sub->clear('where'); $sub->where('t.stem = ' . $db->quote($token->stem)); $sub->where('t.phrase = 0'); diff --git a/administrator/components/com_finder/helpers/indexer/stemmer/fr.php b/administrator/components/com_finder/helpers/indexer/stemmer/fr.php index 24bd6dec6ead7..1103b619f851b 100644 --- a/administrator/components/com_finder/helpers/indexer/stemmer/fr.php +++ b/administrator/components/com_finder/helpers/indexer/stemmer/fr.php @@ -85,13 +85,15 @@ protected static function getStemRules() $vars = array(); // French accented letters in ISO-8859-1 encoding - $vars['accents'] = chr(224) . chr(226) . chr(232) . chr(233) . chr(234) . chr(235) . chr(238) . chr(239) . chr(244) . chr(251) . chr(249) . chr(231); + $vars['accents'] = chr(224) . chr(226) . chr(232) . chr(233) . chr(234) . chr(235) . chr(238) . chr(239) + . chr(244) . chr(251) . chr(249) . chr(231); // The rule patterns include all accented words for french language $vars['rule_pattern'] = "/^([a-z" . $vars['accents'] . "]*)(\*){0,1}(\d)([a-z" . $vars['accents'] . "]*)([.|>])/"; // French vowels (including y) in ISO-8859-1 encoding - $vars['vowels'] = chr(97) . chr(224) . chr(226) . chr(101) . chr(232) . chr(233) . chr(234) . chr(235) . chr(105) . chr(238) . chr(239) . chr(111) . chr(244) . chr(117) . chr(251) . chr(249) . chr(121); + $vars['vowels'] = chr(97) . chr(224) . chr(226) . chr(101) . chr(232) . chr(233) . chr(234) . chr(235) + . chr(105) . chr(238) . chr(239) . chr(111) . chr(244) . chr(117) . chr(251) . chr(249) . chr(121); // The French rules in ISO-8859-1 encoding $vars['rules'] = array( @@ -230,6 +232,7 @@ private static function _getStem($input) // No other rule can be applied => the stem has been found break; } + $rule = $vars['rules'][$rule_number]; preg_match($vars['rule_pattern'], $rule, $matches); diff --git a/administrator/components/com_finder/helpers/indexer/taxonomy.php b/administrator/components/com_finder/helpers/indexer/taxonomy.php index 8cd52ea64cc2b..f0095b3eaf85b 100644 --- a/administrator/components/com_finder/helpers/indexer/taxonomy.php +++ b/administrator/components/com_finder/helpers/indexer/taxonomy.php @@ -81,6 +81,7 @@ public static function addBranch($title, $state = 1, $access = 1) * out which case is true and deal with it. */ $branch = new JObject; + if (empty($result)) { // Prepare the branch object. @@ -160,6 +161,7 @@ public static function addNode($branch, $title, $state = 1, $access = 1) * out which case is true and deal with it. */ $node = new JObject; + if (empty($result)) { // Prepare the node object. diff --git a/administrator/components/com_finder/helpers/language.php b/administrator/components/com_finder/helpers/language.php index 16862bd4e2dd9..799a914c404ff 100644 --- a/administrator/components/com_finder/helpers/language.php +++ b/administrator/components/com_finder/helpers/language.php @@ -86,6 +86,7 @@ public static function loadPluginLanguage() { return; } + $loaded = true; // Get array of all the enabled Smart Search plug-in names. diff --git a/administrator/components/com_finder/models/filter.php b/administrator/components/com_finder/models/filter.php index b46e716158500..a94fdfeca0374 100644 --- a/administrator/components/com_finder/models/filter.php +++ b/administrator/components/com_finder/models/filter.php @@ -70,6 +70,7 @@ public function getFilter() if ($return === false && $filter->getError()) { $this->setError($filter->getError()); + return false; } @@ -87,6 +88,7 @@ public function getFilter() if ($this->_db->getErrorNum()) { $this->setError($this->_db->getErrorMsg()); + return false; } diff --git a/administrator/components/com_finder/models/index.php b/administrator/components/com_finder/models/index.php index a8f79b9ec1e7a..24bce13f2fb5d 100644 --- a/administrator/components/com_finder/models/index.php +++ b/administrator/components/com_finder/models/index.php @@ -70,6 +70,7 @@ public function __construct($config = array()) protected function canDelete($record) { $user = JFactory::getUser(); + return $user->authorise('core.delete', $this->option); } @@ -85,6 +86,7 @@ protected function canDelete($record) protected function canEditState($record) { $user = JFactory::getUser(); + return $user->authorise('core.edit.state', $this->option); } @@ -117,15 +119,18 @@ public function delete(&$pks) // Trigger the onContentBeforeDelete event. $result = $dispatcher->trigger($this->event_before_delete, array($context, $table)); + if (in_array(false, $result, true)) { $this->setError($table->getError()); + return false; } if (!$table->delete($pk)) { $this->setError($table->getError()); + return false; } @@ -137,6 +142,7 @@ public function delete(&$pks) // Prune items that you can't change. unset($pks[$i]); $error = $this->getError(); + if ($error) { $this->setError($error); @@ -150,6 +156,7 @@ public function delete(&$pks) else { $this->setError($table->getError()); + return false; } } @@ -198,6 +205,7 @@ protected function getListQuery() // Handle the list ordering. $ordering = $this->getState('list.ordering'); $direction = $this->getState('list.direction'); + if (!empty($ordering)) { $query->order($db->escape($ordering) . ' ' . $db->escape($direction)); @@ -376,6 +384,7 @@ public function publish(&$pks, $value = 1) // Prune items that you can't change. unset($pks[$i]); $this->setError(JText::_('JLIB_APPLICATION_ERROR_EDITSTATE_NOT_PERMITTED')); + return false; } } @@ -385,6 +394,7 @@ public function publish(&$pks, $value = 1) if (!$table->publish($pks, $value, $user->get('id'))) { $this->setError($table->getError()); + return false; } @@ -396,6 +406,7 @@ public function publish(&$pks, $value = 1) if (in_array(false, $result, true)) { $this->setError($table->getError()); + return false; } diff --git a/administrator/components/com_finder/models/maps.php b/administrator/components/com_finder/models/maps.php index ec935356d0911..c2dd8af62dc6e 100644 --- a/administrator/components/com_finder/models/maps.php +++ b/administrator/components/com_finder/models/maps.php @@ -51,6 +51,7 @@ public function __construct($config = array()) protected function canDelete($record) { $user = JFactory::getUser(); + return $user->authorise('core.delete', $this->option); } @@ -66,6 +67,7 @@ protected function canDelete($record) protected function canEditState($record) { $user = JFactory::getUser(); + return $user->authorise('core.edit.state', $this->option); } @@ -98,15 +100,18 @@ public function delete(&$pks) // Trigger the onContentBeforeDelete event. $result = $dispatcher->trigger('onContentBeforeDelete', array($context, $table)); + if (in_array(false, $result, true)) { $this->setError($table->getError()); + return false; } if (!$table->delete($pk)) { $this->setError($table->getError()); + return false; } @@ -118,6 +123,7 @@ public function delete(&$pks) // Prune items that you can't change. unset($pks[$i]); $error = $this->getError(); + if ($error) { $this->setError($error); @@ -131,6 +137,7 @@ public function delete(&$pks) else { $this->setError($table->getError()); + return false; } } @@ -164,7 +171,6 @@ protected function getListQuery() // Join to get the map links $query->select('COUNT(c.node_id) AS num_nodes') ->join('LEFT', $db->quoteName('#__finder_taxonomy_map') . ' AS c ON c.node_id=a.id') - ->group('a.id, a.parent_id, a.title, a.state, a.access, a.ordering'); // If the model is set to check item state, add to the query. @@ -175,6 +181,7 @@ protected function getListQuery() // Filter the maps over the branch if set. $branch_id = $this->getState('filter.branch'); + if (!empty($branch_id)) { $query->where('a.parent_id = ' . (int) $branch_id); @@ -182,6 +189,7 @@ protected function getListQuery() // Filter the maps over the search string if set. $search = $this->getState('filter.search'); + if (!empty($search)) { $query->where('a.title LIKE ' . $db->quote('%' . $search . '%')); @@ -190,6 +198,7 @@ protected function getListQuery() // Handle the list ordering. $ordering = $this->getState('list.ordering'); $direction = $this->getState('list.direction'); + if (!empty($ordering)) { $query->order($db->escape($ordering) . ' ' . $db->escape($direction)); @@ -299,6 +308,7 @@ public function publish(&$pks, $value = 1) // Prune items that you can't change. unset($pks[$i]); $this->setError(JText::_('JLIB_APPLICATION_ERROR_EDITSTATE_NOT_PERMITTED')); + return false; } } @@ -308,6 +318,7 @@ public function publish(&$pks, $value = 1) if (!$table->publish($pks, $value, $user->get('id'))) { $this->setError($table->getError()); + return false; } @@ -319,6 +330,7 @@ public function publish(&$pks, $value = 1) if (in_array(false, $result, true)) { $this->setError($table->getError()); + return false; } diff --git a/administrator/components/com_finder/tables/filter.php b/administrator/components/com_finder/tables/filter.php index b644d9f60d075..50e1d318af98b 100644 --- a/administrator/components/com_finder/tables/filter.php +++ b/administrator/components/com_finder/tables/filter.php @@ -125,6 +125,7 @@ public function publish($pks = null, $state = 1, $userId = 0) else { $this->setError(JText::_('JLIB_DATABASE_ERROR_NO_ROWS_SELECTED')); + return false; } } @@ -156,6 +157,7 @@ public function publish($pks = null, $state = 1, $userId = 0) catch (RuntimeException $e) { $this->setError($e->getMessage()); + return false; } @@ -212,6 +214,7 @@ public function store($updateNulls = false) { $this->created = $date->toSql(); } + if (empty($this->created_by)) { $this->created_by = $user->get('id'); @@ -231,11 +234,14 @@ public function store($updateNulls = false) // Verify that the alias is unique $table = JTable::getInstance('Filter', 'FinderTable'); + if ($table->load(array('alias' => $this->alias)) && ($table->filter_id != $this->filter_id || $this->filter_id == 0)) { $this->setError(JText::_('JLIB_DATABASE_ERROR_ARTICLE_UNIQUE_ALIAS')); + return false; } + return parent::store($updateNulls); } } diff --git a/administrator/components/com_finder/tables/map.php b/administrator/components/com_finder/tables/map.php index 5a77dafc0ad60..498d1eb4596ef 100644 --- a/administrator/components/com_finder/tables/map.php +++ b/administrator/components/com_finder/tables/map.php @@ -63,6 +63,7 @@ public function publish($pks = null, $state = 1, $userId = 0) else { $this->setError(JText::_('JLIB_DATABASE_ERROR_NO_ROWS_SELECTED')); + return false; } } @@ -84,6 +85,7 @@ public function publish($pks = null, $state = 1, $userId = 0) catch (RuntimeException $e) { $this->setError($e->getMessage()); + return false; } diff --git a/administrator/components/com_finder/views/filter/view.html.php b/administrator/components/com_finder/views/filter/view.html.php index db4dbdace4bf0..c63242e36257f 100644 --- a/administrator/components/com_finder/views/filter/view.html.php +++ b/administrator/components/com_finder/views/filter/view.html.php @@ -39,6 +39,7 @@ public function display($tpl = null) if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); + return false; } @@ -81,6 +82,7 @@ protected function addToolbar() JToolbarHelper::save('filter.save'); JToolbarHelper::save2new('filter.save2new'); } + JToolbarHelper::cancel('filter.cancel'); } else @@ -101,13 +103,16 @@ protected function addToolbar() } } } + // If an existing item, can save as a copy if ($canDo->get('core.create')) { JToolbarHelper::save2copy('filter.save2copy'); } + JToolbarHelper::cancel('filter.cancel', 'JTOOLBAR_CLOSE'); } + JToolbarHelper::divider(); JToolbarHelper::help('JHELP_COMPONENTS_FINDER_MANAGE_SEARCH_FILTERS_EDIT'); } diff --git a/administrator/components/com_finder/views/filters/view.html.php b/administrator/components/com_finder/views/filters/view.html.php index 3e1c11e01384b..b424db9944d5e 100644 --- a/administrator/components/com_finder/views/filters/view.html.php +++ b/administrator/components/com_finder/views/filters/view.html.php @@ -41,6 +41,7 @@ public function display($tpl = null) if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); + return false; } @@ -72,21 +73,25 @@ protected function addToolbar() JToolbarHelper::editList('filter.edit'); JToolbarHelper::divider(); } + if ($canDo->get('core.edit.state')) { JToolbarHelper::publishList('filters.publish'); JToolbarHelper::unpublishList('filters.unpublish'); JToolbarHelper::divider(); } + if ($canDo->get('core.delete')) { JToolbarHelper::deleteList('', 'filters.delete'); JToolbarHelper::divider(); } + if ($canDo->get('core.admin')) { JToolbarHelper::preferences('com_finder'); } + JToolbarHelper::divider(); $toolbar->appendButton('Popup', 'bars', 'COM_FINDER_STATISTICS', 'index.php?option=com_finder&view=statistics&tmpl=component', 550, 350); JToolbarHelper::divider(); diff --git a/administrator/components/com_finder/views/index/view.html.php b/administrator/components/com_finder/views/index/view.html.php index 42091e3824e3f..773f4be52fcaf 100644 --- a/administrator/components/com_finder/views/index/view.html.php +++ b/administrator/components/com_finder/views/index/view.html.php @@ -46,6 +46,7 @@ public function display($tpl = null) if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); + return false; } @@ -81,10 +82,12 @@ protected function addToolbar() JToolbarHelper::publishList('index.publish'); JToolbarHelper::unpublishList('index.unpublish'); } + if ($canDo->get('core.delete')) { JToolbarHelper::deleteList('', 'index.delete'); } + if ($canDo->get('core.edit.state')) { JToolbarHelper::trash('index.purge', 'COM_FINDER_INDEX_TOOLBAR_PURGE', false); diff --git a/administrator/components/com_finder/views/maps/view.html.php b/administrator/components/com_finder/views/maps/view.html.php index c45bc8d48442a..7e77f48134988 100644 --- a/administrator/components/com_finder/views/maps/view.html.php +++ b/administrator/components/com_finder/views/maps/view.html.php @@ -46,6 +46,7 @@ public function display($tpl = null) if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); + return false; } @@ -77,15 +78,18 @@ protected function addToolbar() JToolbarHelper::unpublishList('maps.unpublish'); JToolbarHelper::divider(); } + if ($canDo->get('core.delete')) { JToolbarHelper::deleteList('', 'maps.delete'); JToolbarHelper::divider(); } + if ($canDo->get('core.admin')) { JToolbarHelper::preferences('com_finder'); } + JToolbarHelper::divider(); $toolbar->appendButton('Popup', 'bars', 'COM_FINDER_STATISTICS', 'index.php?option=com_finder&view=statistics&tmpl=component', 550, 350); JToolbarHelper::divider(); diff --git a/administrator/components/com_finder/views/statistics/view.html.php b/administrator/components/com_finder/views/statistics/view.html.php index ed3c8714e0b93..edc9ec8faa85d 100644 --- a/administrator/components/com_finder/views/statistics/view.html.php +++ b/administrator/components/com_finder/views/statistics/view.html.php @@ -36,6 +36,7 @@ public function display($tpl = null) if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); + return false; }