81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @package     Joomla.Administrator
 | |
|  * @subpackage  com_finder
 | |
|  *
 | |
|  * @copyright   (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
 | |
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt
 | |
|  */
 | |
| 
 | |
| namespace Joomla\Component\Finder\Administrator\Table;
 | |
| 
 | |
| use Joomla\CMS\Application\ApplicationHelper;
 | |
| use Joomla\CMS\Factory;
 | |
| use Joomla\CMS\Language\Text;
 | |
| use Joomla\CMS\Table\Nested;
 | |
| use Joomla\Database\DatabaseDriver;
 | |
| use Joomla\Event\DispatcherInterface;
 | |
| 
 | |
| // phpcs:disable PSR1.Files.SideEffects
 | |
| \defined('_JEXEC') or die;
 | |
| // phpcs:enable PSR1.Files.SideEffects
 | |
| 
 | |
| /**
 | |
|  * Map table class for the Finder package.
 | |
|  *
 | |
|  * @since  2.5
 | |
|  */
 | |
| class MapTable extends Nested
 | |
| {
 | |
|     /**
 | |
|      * Constructor
 | |
|      *
 | |
|      * @param   DatabaseDriver        $db          Database connector object
 | |
|      * @param   ?DispatcherInterface  $dispatcher  Event dispatcher for this table
 | |
|      *
 | |
|      * @since   2.5
 | |
|      */
 | |
|     public function __construct(DatabaseDriver $db, ?DispatcherInterface $dispatcher = null)
 | |
|     {
 | |
|         parent::__construct('#__finder_taxonomy', 'id', $db, $dispatcher);
 | |
| 
 | |
|         $this->setColumnAlias('published', 'state');
 | |
|         $this->access = (int) Factory::getApplication()->get('access');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Override check function
 | |
|      *
 | |
|      * @return  boolean
 | |
|      *
 | |
|      * @see     Table::check()
 | |
|      * @since   4.0.0
 | |
|      */
 | |
|     public function check()
 | |
|     {
 | |
|         try {
 | |
|             parent::check();
 | |
|         } catch (\Exception $e) {
 | |
|             $this->setError($e->getMessage());
 | |
| 
 | |
|             return false;
 | |
|         }
 | |
| 
 | |
|         // Check for a title.
 | |
|         if (trim($this->title) == '') {
 | |
|             $this->setError(Text::_('JLIB_DATABASE_ERROR_MUSTCONTAIN_A_TITLE_CATEGORY'));
 | |
| 
 | |
|             return false;
 | |
|         }
 | |
| 
 | |
|         $this->alias = ApplicationHelper::stringURLSafe($this->title, $this->language);
 | |
| 
 | |
|         if (trim($this->alias) == '') {
 | |
|             $this->alias = md5(serialize($this->getProperties()));
 | |
|         }
 | |
| 
 | |
|         return true;
 | |
|     }
 | |
| }
 |