Beef up the Special:Log search form so it's laid out a bit clearer; clarified English...
authorRob Church <robchurch@users.mediawiki.org>
Tue, 27 Mar 2007 19:07:05 +0000 (19:07 +0000)
committerRob Church <robchurch@users.mediawiki.org>
Tue, 27 Mar 2007 19:07:05 +0000 (19:07 +0000)
includes/SpecialLog.php
languages/messages/MessagesEn.php
maintenance/language/messages.inc

index 9c55696..55b9e4e 100644 (file)
@@ -401,19 +401,28 @@ class LogViewer {
         */
        function showOptions( &$out ) {
                global $wgScript, $wgMiserMode;
-               $action = htmlspecialchars( $wgScript );
                $title = SpecialPage::getTitleFor( 'Log' );
-               $special = htmlspecialchars( $title->getPrefixedDBkey() );
-               $out->addHTML( "<form action=\"$action\" method=\"get\">\n" .
-                       '<fieldset>' .
-                       Xml::element( 'legend', array(), wfMsg( 'log' ) ) .
-                       Xml::hidden( 'title', $special ) . "\n" .
-                       $this->getTypeMenu() . "\n" .
-                       $this->getUserInput() . "\n" .
-                       $this->getTitleInput() . "\n" .
-                       (!$wgMiserMode?($this->getTitlePattern()."\n"):"") .
-                       Xml::submitButton( wfMsg( 'allpagessubmit' ) ) . "\n" .
-                       "</fieldset></form>" );
+               $form  = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) );
+               $form .= Xml::hidden( 'title', $title->getPrefixedDBkey() );
+               $form .= '<fieldset><legend>' . wfMsgHtml( 'log-search-legend' ) . '</legend>';
+               $form .= '<table>';
+               # Log selection
+               $form .= '<tr><td>&nbsp;</td><td>' . $this->getTypeMenu() . '</td></tr>';
+               $form .= '<tr><td>' . Xml::label( wfMsg( 'specialloguserlabel' ), 'user' ) . '</td>';
+               # User filter
+               $form .= '<td>' . Xml::input( 'user', 30, $this->reader->queryUser(), array( 'id' => 'user' ) ) . '</td></tr>';         
+               # Title filter
+               $form .= '<tr><td>' . Xml::label( wfMsg( 'speciallogtitlelabel' ), 'page' ) . '</td>';
+               $form .= '<td>' . Xml::input( 'page', 30, $this->reader->queryTitle(), array( 'id' => 'page' ) ) . '</td></tr>';
+               # Title "wildcard" checkbox (if enabled)
+               if( !$wgMiserMode ) {
+                       $form .= '<tr><td>&nbsp;</td><td>' . Xml::checkLabel( wfMsg( 'log-title-wildcard' ), 'pattern', 'pattern', $this->reader->queryPattern() ) . '</td></tr>';
+               }
+               $form .= '<tr><td>&nbsp;</td><td>' . Xml::submitButton( wfMsg( 'log-search-submit' ) ) . '</td></tr>';
+               $form .= '</table>';
+               $form .= '</fieldset>';
+               $form .= '</form>';
+               $out->addHtml( $form );
        }
 
        /**
@@ -445,33 +454,6 @@ class LogViewer {
                return $out;
        }
 
-       /**
-        * @return string Formatted HTML
-        * @private
-        */
-       function getUserInput() {
-               $user =  $this->reader->queryUser();
-               return Xml::inputLabel( wfMsg( 'specialloguserlabel' ), 'user', 'user', 12, $user );
-       }
-
-       /**
-        * @return string Formatted HTML
-        * @private
-        */
-       function getTitleInput() {
-               $title = $this->reader->queryTitle();
-               return Xml::inputLabel( wfMsg( 'speciallogtitlelabel' ), 'page', 'page', 20, $title );
-       }
-
-       /**
-        * @return boolean Checkbox
-        * @private
-        */
-       function getTitlePattern() {
-               $pattern = $this->reader->queryPattern();
-               return Xml::checkLabel( wfMsg( 'title-pattern' ), 'pattern', 'pattern', $pattern );
-       }
-
        /**
         * @param OutputPage &$out where to send output
         * @private
index 43fbbcc..d3f51fe 100644 (file)
@@ -1607,10 +1607,12 @@ further information about books you are looking for:',
 'specialloguserlabel'  => 'User:',
 'speciallogtitlelabel' => 'Title:',
 'log'                  => 'Logs',
+'log-search-legend' => 'Search for logs',
+'log-search-submit' => 'Go',
 'alllogstext'          => 'Combined display of all available logs of {{SITENAME}}.
 You can narrow down the view by selecting a log type, the user name, or the affected page.',
 'logempty'             => 'No matching items in log.',
-'title-pattern'        => 'Title starts with …',
+'log-title-wildcard' => 'Search titles starting with this text',
 
 # Special:Allpages
 'nextpage'          => 'Next page ($1)',
index c23f394..cc95a19 100644 (file)
@@ -1002,9 +1002,11 @@ $wgMessageStructure = array(
                'specialloguserlabel',
                'speciallogtitlelabel',
                'log',
+               'log-search-legend',
+               'log-search-submit',
                'alllogstext',
                'logempty',
-               'title-pattern',
+               'log-title-wildcard',
        ),
        'allpages' => array(
                'nextpage',