1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
<?php
/**
* Content object implementation for representing unknown content.
*
* 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
*
* @since 1.36 (As UnknownContent in 1.34)
*
* @file
* @ingroup Content
*
* @author Daniel Kinzler
*/
namespace MediaWiki\Content;
/**
* Content object implementation representing unknown content.
*
* This can be used to handle content for which no ContentHandler exists on the system,
* perhaps because the extension that provided it has been removed.
*
* FallbackContent instances are immutable.
*
* @ingroup Content
*/
class FallbackContent extends AbstractContent {
/** @var string */
private $data;
/**
* @param string $data
* @param string $model_id The model ID to handle
*/
public function __construct( $data, $model_id ) {
parent::__construct( $model_id );
$this->data = $data;
}
/**
* @return Content $this
*/
public function copy() {
// FallbackContent is immutable, so no need to copy.
return $this;
}
/**
* Returns an empty string.
*
* @param int $maxlength
*
* @return string
*/
public function getTextForSummary( $maxlength = 250 ) {
return '';
}
/**
* Returns the data size in bytes.
*
* @return int
*/
public function getSize() {
return strlen( $this->data );
}
/**
* Returns false.
*
* @param bool|null $hasLinks If it is known whether this content contains links,
* provide this information here, to avoid redundant parsing to find out.
*
* @return bool
*/
public function isCountable( $hasLinks = null ) {
return false;
}
/**
* @return string data of unknown format and meaning
*/
public function getNativeData() {
return $this->getData();
}
/**
* @return string data of unknown format and meaning
*/
public function getData() {
return $this->data;
}
/**
* @param string|null $format
*
* @return string data of unknown format and meaning
*/
public function serialize( $format = null ) {
return $this->getData();
}
/**
* Returns an empty string.
*
* @return string The raw text.
*/
public function getTextForSearchIndex() {
return '';
}
/**
* @return false
*/
public function getWikitextForTransclusion() {
return false;
}
/**
* @param string $toModel
* @param string $lossy
* @return false
*/
public function convert( $toModel, $lossy = '' ) {
return false;
}
protected function equalsInternal( Content $that ) {
if ( !$that instanceof FallbackContent ) {
return false;
}
return $this->getData() == $that->getData();
}
}
/** @deprecated class alias since 1.43 */
class_alias( FallbackContent::class, 'FallbackContent' );
|