protected $successMessage;
+ protected $toc;
+
public function __construct(){
parent::__construct( 'EditWatchlist' );
}
if( $form->show() ){
$out->addHTML( $this->successMessage );
$out->returnToMain();
+ } elseif ( $this->toc !== false ) {
+ $out->prependHTML( $this->toc );
}
break;
}
$haveInvalidNamespaces = true;
continue;
}
-
- $namespace == NS_MAIN
- ? wfMsgHtml( 'blanknamespace' )
- : htmlspecialchars( $wgContLang->getFormattedNsText( $namespace ) );
$fields['TitlesNs'.$namespace] = array(
'class' => 'EditWatchlistCheckboxSeriesField',
$title = Title::makeTitleSafe( $namespace, $dbkey );
$text = $this->buildRemoveLine( $title );
$fields['TitlesNs'.$namespace]['options'][$text] = $title->getEscapedText();
+ $count++;
}
}
if ( $haveInvalidNamespaces ) {
$this->getContext()->getUser()->cleanupWatchlist();
}
+ if ( count( $fields ) > 1 && $count > 30 ) {
+ $this->toc = Linker::tocIndent();
+ $tocLength = 0;
+ foreach( $fields as $key => $data ) {
+ $ns = substr( $data['section'], 2 );
+ $nsText = $ns == NS_MAIN
+ ? wfMsgHtml( 'blanknamespace' )
+ : htmlspecialchars( $wgContLang->getFormattedNsText( $ns ) );
+ -$this->toc .= Linker::tocLine( "mw-htmlform-{$data['section']}", $nsText, ++$tocLength, 1 ) . Linker::tocLineEnd();
+ }
+ $this->toc = Linker::tocList( $this->toc );
+ } else {
+ $this->toc = false;
+ }
+
$form = new EditWatchlistNormalHTMLForm( $fields, $this->getContext() );
$form->setTitle( $this->getTitle() );
$form->setSubmitText( wfMessage( 'watchlistedit-normal-submit' )->text() );