Файловый менеджер - Редактировать - /var/www/html/Restriction.zip
Ðазад
PK ! ��� � NamespaceRestriction.phpnu �Iw�� <?php /** * A block restriction object of type 'Namespace'. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file */ namespace MediaWiki\Block\Restriction; use MediaWiki\Title\Title; class NamespaceRestriction extends AbstractRestriction { /** * @inheritDoc */ public const TYPE = 'ns'; /** * @inheritDoc */ public const TYPE_ID = 2; /** * @inheritDoc */ public function matches( Title $title ) { return $this->getValue() === $title->getNamespace(); } } PK ! �ãt t ActionRestriction.phpnu �Iw�� <?php /** * A block restriction object of type 'Action'. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file */ namespace MediaWiki\Block\Restriction; use MediaWiki\Title\Title; /** * Restriction for partial blocks of actions. * * @since 1.37 */ class ActionRestriction extends AbstractRestriction { /** * @inheritDoc */ public const TYPE = 'action'; /** * @inheritDoc */ public const TYPE_ID = 3; /** * @inheritDoc */ public function matches( Title $title ) { // Action blocks don't apply to particular titles. For example, // if a block only blocked uploading, the target would still be // allowed to edit any page. return false; } } PK ! ]���O O Restriction.phpnu �Iw�� <?php /** * Block restriction interface. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file */ namespace MediaWiki\Block\Restriction; use MediaWiki\Title\Title; interface Restriction { /** * Get the ID of the block. * * @since 1.33 * @return int */ public function getBlockId(); /** * Set the ID of the block. * * @since 1.33 * @param int $blockId * @return self */ public function setBlockId( $blockId ); /** * Get the value of the restriction. * * @since 1.33 * @return int */ public function getValue(); /** * Get the type of restriction * * @since 1.33 * @return string */ public static function getType(); /** * Get the ID of the type of restriction. This ID is used in the database. * * @since 1.33 * @return int */ public static function getTypeId(); /** * Create a new Restriction from a database row. * * @since 1.33 * @param \stdClass $row * @return static */ public static function newFromRow( \stdClass $row ); /** * Convert a restriction object into a row array for insertion. * * @since 1.33 * @return array */ public function toRow(); /** * Determine if a restriction matches a given title. * * @since 1.33 * @param Title $title * @return bool */ public function matches( Title $title ); /** * Determine if a restriction equals another restriction. * * @since 1.33 * @param Restriction $other * @return bool */ public function equals( Restriction $other ); /** * Create a unique hash of the block restriction based on the type and value. * * @since 1.33 * @return string */ public function getHash(); } PK ! ��Q� � PageRestriction.phpnu �Iw�� <?php /** * A block restriction object of type 'Page'. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file */ namespace MediaWiki\Block\Restriction; use MediaWiki\Title\Title; class PageRestriction extends AbstractRestriction { /** * @inheritDoc */ public const TYPE = 'page'; /** * @inheritDoc */ public const TYPE_ID = 1; /** * @var Title|false|null */ protected $title; /** * @inheritDoc */ public function matches( Title $title ) { if ( !$this->getTitle() ) { return false; } return $title->equals( $this->getTitle() ); } /** * @since 1.33 * @param Title $title * @return self */ public function setTitle( Title $title ) { $this->title = $title; return $this; } /** * @since 1.33 * @return Title|false */ public function getTitle() { // If the title does not exist, set to false to prevent multiple database // queries. $this->title ??= Title::newFromID( $this->value ) ?? false; return $this->title; } /** * @inheritDoc */ public static function newFromRow( \stdClass $row ) { /** @var self $restriction */ $restriction = parent::newFromRow( $row ); '@phan-var self $restriction'; // If the page_namespace and the page_title were provided, add the title to // the restriction. if ( isset( $row->page_namespace ) && isset( $row->page_title ) ) { // Clone the row so it is not mutated. $row = clone $row; $row->page_id = $row->ir_value; $title = Title::newFromRow( $row ); $restriction->setTitle( $title ); } return $restriction; } /** * @internal * @since 1.36 * @param string|Title $title * @return self */ public static function newFromTitle( $title ) { if ( is_string( $title ) ) { $title = Title::newFromText( $title ); } $restriction = new self( 0, $title->getArticleID() ); // @phan-suppress-next-line PhanTypeMismatchArgumentNullable Title is always valid $restriction->setTitle( $title ); return $restriction; } } PK ! �(`"� � AbstractRestriction.phpnu �Iw�� <?php /** * Abstract block restriction. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file */ namespace MediaWiki\Block\Restriction; abstract class AbstractRestriction implements Restriction { /** * String constant identifying the type of restriction. Expected to be overridden in subclasses * with a non-empty string value. */ public const TYPE = ''; /** * Numeric type identifier. Expected to be overridden in subclasses with a non-zero integer * number. Must not exceed 127 to fit into a TINYINT database field. */ public const TYPE_ID = 0; /** * @var int */ protected $blockId; /** * @var int */ protected $value; /** * Create Restriction. * * @since 1.33 * @param int $blockId * @param int $value */ public function __construct( $blockId, $value ) { $this->blockId = (int)$blockId; $this->value = (int)$value; } /** * @inheritDoc */ public static function getType() { return static::TYPE; } /** * @inheritDoc */ public static function getTypeId() { return static::TYPE_ID; } /** * @inheritDoc */ public function getBlockId() { return $this->blockId; } /** * @inheritDoc */ public function setBlockId( $blockId ) { $this->blockId = (int)$blockId; return $this; } /** * @inheritDoc */ public function getValue() { return $this->value; } /** * @inheritDoc */ public static function newFromRow( \stdClass $row ) { // @phan-suppress-next-line PhanTypeInstantiateAbstractStatic return new static( $row->ir_ipb_id, $row->ir_value ); } /** * @inheritDoc */ public function toRow() { return [ 'ir_ipb_id' => $this->getBlockId(), 'ir_type' => $this->getTypeId(), 'ir_value' => $this->getValue(), ]; } /** * @inheritDoc */ public function equals( Restriction $other ) { return $this->getHash() === $other->getHash(); } /** * @inheritDoc */ public function getHash() { return $this->getType() . '-' . $this->getValue(); } } PK ! ��� � NamespaceRestriction.phpnu �Iw�� PK ! �ãt t � ActionRestriction.phpnu �Iw�� PK ! ]���O O � Restriction.phpnu �Iw�� PK ! ��Q� � A PageRestriction.phpnu �Iw�� PK ! �(`"� � AbstractRestriction.phpnu �Iw�� PK � �)
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка