[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @package Joomla.Administrator 5 * @subpackage com_finder 6 * 7 * @copyright (C) 2011 Open Source Matters, Inc. <https://www.joomla.org> 8 * @license GNU General Public License version 2 or later; see LICENSE.txt 9 */ 10 11 namespace Joomla\Component\Finder\Administrator\Controller; 12 13 use Joomla\CMS\Language\Text; 14 use Joomla\CMS\MVC\Controller\AdminController; 15 use Joomla\CMS\Plugin\PluginHelper; 16 use Joomla\Component\Finder\Administrator\Indexer\Indexer; 17 18 // phpcs:disable PSR1.Files.SideEffects 19 \defined('_JEXEC') or die; 20 // phpcs:enable PSR1.Files.SideEffects 21 22 /** 23 * Index controller class for Finder. 24 * 25 * @since 2.5 26 */ 27 class IndexController extends AdminController 28 { 29 /** 30 * Method to get a model object, loading it if required. 31 * 32 * @param string $name The model name. Optional. 33 * @param string $prefix The class prefix. Optional. 34 * @param array $config Configuration array for model. Optional. 35 * 36 * @return \Joomla\CMS\MVC\Model\BaseDatabaseModel The model. 37 * 38 * @since 2.5 39 */ 40 public function getModel($name = 'Index', $prefix = 'Administrator', $config = array('ignore_request' => true)) 41 { 42 return parent::getModel($name, $prefix, $config); 43 } 44 45 /** 46 * Method to optimise the index by removing orphaned entries. 47 * 48 * @return boolean True on success. 49 * 50 * @since 4.2.0 51 */ 52 public function optimise() 53 { 54 $this->checkToken(); 55 56 // Optimise the index by first running the garbage collection 57 PluginHelper::importPlugin('finder'); 58 $this->app->triggerEvent('onFinderGarbageCollection'); 59 60 // Now run the optimisation method from the indexer 61 $indexer = new Indexer(); 62 $indexer->optimize(); 63 64 $message = Text::_('COM_FINDER_INDEX_OPTIMISE_FINISHED'); 65 $this->setRedirect('index.php?option=com_finder&view=index', $message); 66 67 return true; 68 } 69 70 /** 71 * Method to purge all indexed links from the database. 72 * 73 * @return boolean True on success. 74 * 75 * @since 2.5 76 */ 77 public function purge() 78 { 79 $this->checkToken(); 80 81 // Remove the script time limit. 82 @set_time_limit(0); 83 84 /** @var \Joomla\Component\Finder\Administrator\Model\IndexModel $model */ 85 $model = $this->getModel('Index', 'Administrator'); 86 87 // Attempt to purge the index. 88 $return = $model->purge(); 89 90 if (!$return) { 91 $message = Text::_('COM_FINDER_INDEX_PURGE_FAILED', $model->getError()); 92 $this->setRedirect('index.php?option=com_finder&view=index', $message); 93 94 return false; 95 } else { 96 $message = Text::_('COM_FINDER_INDEX_PURGE_SUCCESS'); 97 $this->setRedirect('index.php?option=com_finder&view=index', $message); 98 99 return true; 100 } 101 } 102 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |