芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/testcors.sdektun.com/libraries/src/Event/Table/BeforeReorderEvent.php
* @license GNU General Public License version 2 or later; see LICENSE */ namespace Joomla\CMS\Event\Table; \defined('JPATH_PLATFORM') or die; use BadMethodCallException; use Joomla\Database\DatabaseQuery; /** * Event class for JTable's onBeforeReorder event * * @since 4.0.0 */ class BeforeReorderEvent extends AbstractEvent { /** * Constructor. * * Mandatory arguments: * subject JTableInterface The table we are operating on * query DatabaseQuery The query to get the primary keys and ordering values for the selection. * where string WHERE clause to use for limiting the selection of rows to compact the ordering values. * * @param string $name The event name. * @param array $arguments The event arguments. * * @throws BadMethodCallException */ public function __construct($name, array $arguments = array()) { if (!\array_key_exists('query', $arguments)) { throw new BadMethodCallException("Argument 'query' is required for event $name"); } if (!\array_key_exists('where', $arguments)) { throw new BadMethodCallException("Argument 'where' is required for event $name"); } parent::__construct($name, $arguments); } /** * Setter for the query argument * * @param DatabaseQuery $value The value to set * * @return mixed * * @throws BadMethodCallException if the argument is not of the expected type */ protected function setQuery($value) { if (!($value instanceof DatabaseQuery)) { throw new BadMethodCallException("Argument 'query' of event {$this->name} must be of DatabaseQuery type"); } return $value; } /** * Setter for the where argument * * @param array|string|null $value A string or array of where conditions. * * @return mixed * * @throws BadMethodCallException if the argument is not of the expected type */ protected function setWhere($value) { if (!empty($value) && !\is_string($value) && !\is_array($value)) { throw new BadMethodCallException("Argument 'where' of event {$this->name} must be empty or string or array of strings"); } return $value; } }