[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Content handler for wiki text pages. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 * http://www.gnu.org/copyleft/gpl.html 19 * 20 * @since 1.21 21 * 22 * @file 23 * @ingroup Content 24 */ 25 26 /** 27 * Content handler for wiki text pages. 28 * 29 * @ingroup Content 30 */ 31 class WikitextContentHandler extends TextContentHandler { 32 33 public function __construct( $modelId = CONTENT_MODEL_WIKITEXT ) { 34 parent::__construct( $modelId, array( CONTENT_FORMAT_WIKITEXT ) ); 35 } 36 37 protected function getContentClass() { 38 return 'WikitextContent'; 39 } 40 41 /** 42 * Returns a WikitextContent object representing a redirect to the given destination page. 43 * 44 * @param Title $destination The page to redirect to. 45 * @param string $text Text to include in the redirect, if possible. 46 * 47 * @return Content 48 * 49 * @see ContentHandler::makeRedirectContent 50 */ 51 public function makeRedirectContent( Title $destination, $text = '' ) { 52 $optionalColon = ''; 53 54 if ( $destination->getNamespace() == NS_CATEGORY ) { 55 $optionalColon = ':'; 56 } else { 57 $iw = $destination->getInterwiki(); 58 if ( $iw && Language::fetchLanguageName( $iw, null, 'mw' ) ) { 59 $optionalColon = ':'; 60 } 61 } 62 63 $mwRedir = MagicWord::get( 'redirect' ); 64 $redirectText = $mwRedir->getSynonym( 0 ) . 65 ' [[' . $optionalColon . $destination->getFullText() . ']]'; 66 67 if ( $text != '' ) { 68 $redirectText .= "\n" . $text; 69 } 70 71 $class = $this->getContentClass(); 72 return new $class( $redirectText ); 73 } 74 75 /** 76 * Returns true because wikitext supports redirects. 77 * 78 * @return bool Always true. 79 * 80 * @see ContentHandler::supportsRedirects 81 */ 82 public function supportsRedirects() { 83 return true; 84 } 85 86 /** 87 * Returns true because wikitext supports sections. 88 * 89 * @return bool Always true. 90 * 91 * @see ContentHandler::supportsSections 92 */ 93 public function supportsSections() { 94 return true; 95 } 96 97 /** 98 * Returns true, because wikitext supports caching using the 99 * ParserCache mechanism. 100 * 101 * @since 1.21 102 * 103 * @return bool Always true. 104 * 105 * @see ContentHandler::isParserCacheSupported 106 */ 107 public function isParserCacheSupported() { 108 return true; 109 } 110 111 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |