}
/**
- * @todo document (needs one-sentence top-level class description)
+ *
* @addtogroup SpecialPage
*/
class LogReader {
}
$this->title =& $title;
$this->pattern = $pattern;
- $ns = intval( $title->getNamespace() );
+ $ns = $title->getNamespace();
if ( $pattern && !$wgMiserMode ) {
$safetitle = $this->db->escapeLike( $title->getDBkey() ); // use escapeLike to avoid expensive search patterns like 't%st%'
$this->whereClauses[] = "log_namespace=$ns AND log_title LIKE '$safetitle%'";
}
/**
- * @todo document (needs one-sentence top-level class description)
+ *
* @addtogroup SpecialPage
*/
class LogViewer {
if ( $s->log_type == 'move' && isset( $paramArray[0] ) ) {
$destTitle = Title::newFromText( $paramArray[0] );
if ( $destTitle ) {
- $reviewlink = $this->skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Movepage' ),
+ $revert = '(' . $this->skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Movepage' ),
wfMsg( 'revertmove' ),
'wpOldTitle=' . urlencode( $destTitle->getPrefixedDBkey() ) .
'&wpNewTitle=' . urlencode( $title->getPrefixedDBkey() ) .
'&wpReason=' . urlencode( wfMsgForContent( 'revertmove' ) ) .
- '&wpMovetalk=0' );
+ '&wpMovetalk=0' ) . ')';
}
// show undelete link
} elseif ( $s->log_action == 'delete' && $wgUser->isAllowed( 'delete' ) ) {
*/
function showOptions( &$out ) {
global $wgScript, $wgMiserMode;
+ $action = htmlspecialchars( $wgScript );
$title = SpecialPage::getTitleFor( 'Log' );
- $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> </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> </td><td>' . Xml::checkLabel( wfMsg( 'log-title-wildcard' ), 'pattern', 'pattern', $this->reader->queryPattern() ) . '</td></tr>';
- }
- $form .= '<tr><td> </td><td>' . Xml::submitButton( wfMsg( 'log-search-submit' ) ) . '</td></tr>';
- $form .= '</table>';
- $form .= '</fieldset>';
- $form .= '</form>';
- $out->addHtml( $form );
+ $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>" );
}
/**
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( 'log-title-wildcard' ), 'pattern', 'pattern', $pattern );
+ }
+
/**
* @param OutputPage &$out where to send output
* @private