X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialProtectedtitles.php;h=a80f0d0a1c69bb36b4d714494b53c0a26566f9a9;hb=0d81130dd47970a71871dae4ff1f625ff6f33014;hp=c768b3e2ba6f64d412ab07eff7f41e18cc30a9c8;hpb=bdc31bb9bc995e28b2cf79cba8e95e44513da635;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialProtectedtitles.php b/includes/specials/SpecialProtectedtitles.php index c768b3e2ba..a80f0d0a1c 100644 --- a/includes/specials/SpecialProtectedtitles.php +++ b/includes/specials/SpecialProtectedtitles.php @@ -36,8 +36,6 @@ class SpecialProtectedtitles extends SpecialPage { } function execute( $par ) { - global $wgOut, $wgRequest; - $this->setHeaders(); $this->outputHeader(); @@ -46,26 +44,26 @@ class SpecialProtectedtitles extends SpecialPage { Title::purgeExpiredRestrictions(); } - $type = $wgRequest->getVal( $this->IdType ); - $level = $wgRequest->getVal( $this->IdLevel ); - $sizetype = $wgRequest->getVal( 'sizetype' ); - $size = $wgRequest->getIntOrNull( 'size' ); - $NS = $wgRequest->getIntOrNull( 'namespace' ); + $request = $this->getRequest(); + $type = $request->getVal( $this->IdType ); + $level = $request->getVal( $this->IdLevel ); + $sizetype = $request->getVal( 'sizetype' ); + $size = $request->getIntOrNull( 'size' ); + $NS = $request->getIntOrNull( 'namespace' ); $pager = new ProtectedTitlesPager( $this, array(), $type, $level, $NS, $sizetype, $size ); - $wgOut->addHTML( $this->showOptions( $NS, $type, $level ) ); + $this->getOutput()->addHTML( $this->showOptions( $NS, $type, $level ) ); if ( $pager->getNumRows() ) { - $s = $pager->getNavigationBar(); - $s .= ""; - $s .= $pager->getNavigationBar(); + $this->getOutput()->addHTML( + $pager->getNavigationBar() . + '' . + $pager->getNavigationBar() + ); } else { - $s = '

' . wfMsgHtml( 'protectedtitlesempty' ) . '

'; + $this->getOutput()->addWikiMsg( 'protectedtitlesempty' ); } - $wgOut->addHTML( $s ); } /** @@ -74,57 +72,59 @@ class SpecialProtectedtitles extends SpecialPage { * @return string */ function formatRow( $row ) { - global $wgLang; - wfProfileIn( __METHOD__ ); - static $skin = null; + static $infinity = null; - if( is_null( $skin ) ) - $skin = $this->getSkin(); + if( is_null( $infinity ) ){ + $infinity = wfGetDB( DB_SLAVE )->getInfinity(); + } $title = Title::makeTitleSafe( $row->pt_namespace, $row->pt_title ); - $link = $skin->link( $title ); + $link = Linker::link( $title ); $description_items = array (); - $protType = wfMsgHtml( 'restriction-level-' . $row->pt_create_perm ); + $protType = $this->msg( 'restriction-level-' . $row->pt_create_perm )->escaped(); $description_items[] = $protType; - $stxt = ''; - - if ( $row->pt_expiry != 'infinity' && strlen($row->pt_expiry) ) { - $expiry = $wgLang->formatExpiry( $row->pt_expiry ); - - $expiry_description = wfMsg( 'protect-expiring', $wgLang->timeanddate( $expiry ) , $wgLang->date( $expiry ) , $wgLang->time( $expiry ) ); - - $description_items[] = $expiry_description; + $lang = $this->getLanguage(); + $expiry = strlen( $row->pt_expiry ) ? $lang->formatExpiry( $row->pt_expiry, TS_MW ) : $infinity; + if( $expiry != $infinity ) { + $user = $this->getUser(); + $description_items[] = $this->msg( + 'protect-expiring-local', + $lang->userTimeAndDate( $expiry, $user ), + $lang->userDate( $expiry, $user ), + $lang->userTime( $expiry, $user ) + )->escaped(); } wfProfileOut( __METHOD__ ); - return '
  • ' . wfSpecialList( $link . $stxt, implode( $description_items, ', ' ) ) . "
  • \n"; + return '
  • ' . $lang->specialList( $link, implode( $description_items, ', ' ) ) . "
  • \n"; } /** * @param $namespace Integer: * @param $type string * @param $level string + * @return string * @private */ function showOptions( $namespace, $type='edit', $level ) { global $wgScript; $action = htmlspecialchars( $wgScript ); - $title = SpecialPage::getTitleFor( 'Protectedtitles' ); + $title = $this->getTitle(); $special = htmlspecialchars( $title->getPrefixedDBkey() ); return "
    \n" . '
    ' . - Xml::element( 'legend', array(), wfMsg( 'protectedtitles' ) ) . + Xml::element( 'legend', array(), $this->msg( 'protectedtitles' )->text() ) . Html::hidden( 'title', $special ) . " \n" . $this->getNamespaceMenu( $namespace ) . " \n" . $this->getLevelMenu( $level ) . " \n" . - " " . Xml::submitButton( wfMsg( 'allpagessubmit' ) ) . "\n" . + " " . Xml::submitButton( $this->msg( 'allpagessubmit' )->text() ) . "\n" . "
    "; } @@ -136,9 +136,17 @@ class SpecialProtectedtitles extends SpecialPage { * @return string */ function getNamespaceMenu( $namespace = null ) { - return Xml::label( wfMsg( 'namespace' ), 'namespace' ) - . ' ' - . Xml::namespaceSelector( $namespace, '' ); + return Html::namespaceSelector( + array( + 'selected' => $namespace, + 'all' => '', + 'label' => $this->msg( 'namespace' )->text() + ), array( + 'name' => 'namespace', + 'id' => 'namespace', + 'class' => 'namespaceselector', + ) + ); } /** @@ -148,13 +156,13 @@ class SpecialProtectedtitles extends SpecialPage { function getLevelMenu( $pr_level ) { global $wgRestrictionLevels; - $m = array( wfMsg('restriction-level-all') => 0 ); // Temporary array + $m = array( $this->msg( 'restriction-level-all' )->text() => 0 ); // Temporary array $options = array(); // First pass to load the log names foreach( $wgRestrictionLevels as $type ) { if ( $type !='' && $type !='*') { - $text = wfMsg("restriction-level-$type"); + $text = $this->msg( "restriction-level-$type" )->text(); $m[$text] = $type; } } @@ -169,7 +177,7 @@ class SpecialProtectedtitles extends SpecialPage { } return - Xml::label( wfMsg('restriction-level') , $this->IdLevel ) . ' ' . + Xml::label( $this->msg( 'restriction-level' )->text(), $this->IdLevel ) . ' ' . Xml::tags( 'select', array( 'id' => $this->IdLevel, 'name' => $this->IdLevel ), implode( "\n", $options ) ); @@ -189,7 +197,7 @@ class ProtectedTitlesPager extends AlphabeticPager { $this->level = $level; $this->namespace = $namespace; $this->size = intval($size); - parent::__construct(); + parent::__construct( $form->getContext() ); } function getStartBody() { @@ -207,10 +215,20 @@ class ProtectedTitlesPager extends AlphabeticPager { return ''; } + /** + * @return Title + */ + function getTitle() { + return $this->mForm->getTitle(); + } + function formatRow( $row ) { return $this->mForm->formatRow( $row ); } + /** + * @return array + */ function getQueryInfo() { $conds = $this->mConds; $conds[] = 'pt_expiry>' . $this->mDb->addQuotes( $this->mDb->timestamp() );