Use class for toggle links on Special:Log
[lhc/web/wiklou.git] / includes / specials / SpecialLog.php
index f16e5ba..a164c1e 100644 (file)
@@ -165,7 +165,7 @@ class SpecialLog extends SpecialPage {
                $loglist = new LogEventsList(
                        $this->getContext(),
                        null,
-                       LogEventsList::USE_REVDEL_CHECKBOXES
+                       LogEventsList::USE_CHECKBOXES
                );
                $pager = new LogPager(
                        $loglist,
@@ -218,10 +218,10 @@ class SpecialLog extends SpecialPage {
        private function getActionButtons( $formcontents ) {
                $user = $this->getUser();
                $canRevDelete = $user->isAllowedAll( 'deletedhistory', 'deletelogentry' );
-               $canModifyTags = $user->isAllowed( 'changetags' );
+               $showTagEditUI = ChangeTags::showTagEditingUI( $user );
                # If the user doesn't have the ability to delete log entries nor edit tags,
                # don't bother showing them the button(s).
-               if ( !$canRevDelete && !$canModifyTags ) {
+               if ( !$canRevDelete && !$showTagEditUI ) {
                        return $formcontents;
                }
 
@@ -246,7 +246,7 @@ class SpecialLog extends SpecialPage {
                                $this->msg( 'showhideselectedlogentries' )->text()
                        ) . "\n";
                }
-               if ( $canModifyTags ) {
+               if ( $showTagEditUI ) {
                        $buttons .= Html::element(
                                'button',
                                array(
@@ -258,6 +258,33 @@ class SpecialLog extends SpecialPage {
                                $this->msg( 'log-edit-tags' )->text()
                        ) . "\n";
                }
+
+               // Select: All, None, Invert
+               $links = array();
+               $links[] = Html::element(
+                       'a', array( 'href' => '#', 'class' => 'mw-checkbox-all' ),
+                       $this->msg( 'checkbox-all' )->text()
+               );
+               $links[] = Html::element(
+                       'a', array( 'href' => '#', 'class' => 'mw-checkbox-none' ),
+                       $this->msg( 'checkbox-none' )->text()
+               );
+               $links[] = Html::element(
+                       'a', array( 'href' => '#', 'class' => 'mw-checkbox-invert' ),
+                       $this->msg( 'checkbox-invert' )->text()
+               );
+
+               $buttons .= Html::rawElement( 'p',
+                       array(
+                               'class' => "mw-checkbox-toggle-controls"
+                       ),
+                       $this->msg( 'checkbox-select' )
+                               ->rawParams( $this->getLanguage()->commaList( $links ) )->escaped()
+               );
+
+               $this->getOutput()->addModules( 'mediawiki.checkboxtoggle' );
+               $this->getOutput()->addModuleStyles( 'mediawiki.checkboxtoggle.styles' );
+
                $s .= $buttons . $formcontents . $buttons;
                $s .= Html::closeElement( 'form' );