[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Variant of QueryPage which formats the result as a simple link to the page. 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 * @file 21 * @ingroup SpecialPage 22 */ 23 24 /** 25 * Variant of QueryPage which formats the result as a simple link to the page 26 * 27 * @ingroup SpecialPage 28 */ 29 abstract class PageQueryPage extends QueryPage { 30 /** 31 * Run a LinkBatch to pre-cache LinkCache information, 32 * like page existence and information for stub color and redirect hints. 33 * This should be done for live data and cached data. 34 * 35 * @param DatabaseBase $db 36 * @param ResultWrapper $res 37 */ 38 public function preprocessResults( $db, $res ) { 39 if ( !$res->numRows() ) { 40 return; 41 } 42 43 $batch = new LinkBatch(); 44 foreach ( $res as $row ) { 45 $batch->add( $row->namespace, $row->title ); 46 } 47 $batch->execute(); 48 49 $res->seek( 0 ); 50 } 51 52 /** 53 * Format the result as a simple link to the page 54 * 55 * @param Skin $skin 56 * @param object $row Result row 57 * @return string 58 */ 59 public function formatResult( $skin, $row ) { 60 global $wgContLang; 61 62 $title = Title::makeTitleSafe( $row->namespace, $row->title ); 63 64 if ( $title instanceof Title ) { 65 $text = $wgContLang->convert( $title->getPrefixedText() ); 66 return Linker::link( $title, htmlspecialchars( $text ) ); 67 } else { 68 return Html::element( 'span', array( 'class' => 'mw-invalidtitle' ), 69 Linker::getInvalidTitleDescription( $this->getContext(), $row->namespace, $row->title ) ); 70 } 71 } 72 }
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 |