From: Aaron Schulz Date: Thu, 12 Feb 2009 19:02:14 +0000 (+0000) Subject: * consolidated getDateMenu duplication into xml.php X-Git-Tag: 1.31.0-rc.0~42918 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=1e06acb82038402a6b60fcfc59df4aa7214e8c7c;p=lhc%2Fweb%2Fwiklou.git * consolidated getDateMenu duplication into xml.php * made filter settings carry over when pressing "go" * made filter links a bit smaller * removed DefaultQuery cruft * updated docs --- diff --git a/includes/LogEventsList.php b/includes/LogEventsList.php index b85634b3da..252de82597 100644 --- a/includes/LogEventsList.php +++ b/includes/LogEventsList.php @@ -65,10 +65,11 @@ class LogEventsList { * @param $pattern String * @param $year Integer: year * @param $month Integer: month - * @param $filter Boolean + * @param $filter: array + * @param $tagFilter: array? */ public function showOptions( $type = '', $user = '', $page = '', $pattern = '', $year = '', - $month = '', $filter = null, $tagFilter='' ) + $month = '', $filter = null, $tagFilter='' ) { global $wgScript, $wgMiserMode; $action = htmlspecialchars( $wgScript ); @@ -98,15 +99,17 @@ class LogEventsList { $messages = array( wfMsgHtml( 'show' ), wfMsgHtml( 'hide' ) ); // Option value -> message mapping $links = array(); + $hiddens = ''; // keep track for "go" button foreach( $filter as $type => $val ) { $hideVal = 1 - intval($val); $link = $this->skin->makeKnownLinkObj( $wgTitle, $messages[$hideVal], wfArrayToCGI( array( "hide_{$type}_log" => $hideVal ), $this->getDefaultQuery() ) ); $links[$type] = wfMsgHtml( "log-show-hide-{$type}", $link ); + $hiddens .= Xml::hidden( "hide_{$type}_log", $val ) . "\n"; } // Build links - return $wgLang->pipeList( $links ); + return ''.$wgLang->pipeList( $links ) . '' . $hiddens; } private function getDefaultQuery() { @@ -183,29 +186,7 @@ class LogEventsList { * @return string Formatted HTML */ private function getDateMenu( $year, $month ) { - # Offset overrides year/month selection - if( $month && $month !== -1 ) { - $encMonth = intval( $month ); - } else { - $encMonth = ''; - } - if ( $year ) { - $encYear = intval( $year ); - } else if( $encMonth ) { - $thisMonth = intval( gmdate( 'n' ) ); - $thisYear = intval( gmdate( 'Y' ) ); - if( intval($encMonth) > $thisMonth ) { - $thisYear--; - } - $encYear = $thisYear; - } else { - $encYear = ''; - } - return Xml::label( wfMsg( 'year' ), 'year' ) . ' '. - Xml::input( 'year', 4, $encYear, array('id' => 'year', 'maxlength' => 4) ) . - ' '. - Xml::label( wfMsg( 'month' ), 'month' ) . ' '. - Xml::monthSelector( $encMonth, -1 ); + return Xml::dateMenu( $year, $month ); } /** @@ -523,7 +504,7 @@ class LogPager extends ReverseChronologicalPager { $this->mLogEventsList = $list; - $this->limitType( $type ); + $this->limitType( $type ); // excludes hidden types too $this->limitUser( $user ); $this->limitTitle( $title, $pattern ); $this->getDateCond( $year, $month ); @@ -532,10 +513,6 @@ class LogPager extends ReverseChronologicalPager { public function getDefaultQuery() { $query = parent::getDefaultQuery(); - $query['type'] = $this->type; - $query['user'] = $this->user; - $query['month'] = $this->mMonth; - $query['year'] = $this->mYear; return $query; } diff --git a/includes/Xml.php b/includes/Xml.php index 68990d86df..40a5a3038f 100644 --- a/includes/Xml.php +++ b/includes/Xml.php @@ -172,6 +172,36 @@ class Xml { . implode( "\n", $options ) . self::closeElement( 'select' ); } + + /** + * @param $year Integer + * @param $month Integer + * @return string Formatted HTML + */ + public static function dateMenu( $year, $month ) { + # Offset overrides year/month selection + if( $month && $month !== -1 ) { + $encMonth = intval( $month ); + } else { + $encMonth = ''; + } + if( $year ) { + $encYear = intval( $year ); + } else if( $encMonth ) { + $thisMonth = intval( gmdate( 'n' ) ); + $thisYear = intval( gmdate( 'Y' ) ); + if( intval($encMonth) > $thisMonth ) { + $thisYear--; + } + $encYear = $thisYear; + } else { + $encYear = ''; + } + return Xml::label( wfMsg( 'year' ), 'year' ) . ' '. + Xml::input( 'year', 4, $encYear, array('id' => 'year', 'maxlength' => 4) ) . ' '. + Xml::label( wfMsg( 'month' ), 'month' ) . ' '. + Xml::monthSelector( $encMonth, -1 ); + } /** * diff --git a/includes/specials/SpecialContributions.php b/includes/specials/SpecialContributions.php index 84ece2a0f2..a8955d8e1d 100644 --- a/includes/specials/SpecialContributions.php +++ b/includes/specials/SpecialContributions.php @@ -74,27 +74,12 @@ class SpecialContributions extends SpecialPage { $skip = $wgRequest->getText( 'offset' ) || $wgRequest->getText( 'dir' ) == 'prev'; # Offset overrides year/month selection - if( ( $month = $wgRequest->getIntOrNull( 'month' ) ) !== null && $month !== -1 ) { - $this->opts['month'] = intval( $month ); - } else { - $this->opts['month'] = ''; - } - if( ( $year = $wgRequest->getIntOrNull( 'year' ) ) !== null ) { - $this->opts['year'] = intval( $year ); - } else if( $this->opts['month'] ) { - $thisMonth = intval( gmdate( 'n' ) ); - $thisYear = intval( gmdate( 'Y' ) ); - if( intval( $this->opts['month'] ) > $thisMonth ) { - $thisYear--; - } - $this->opts['year'] = $thisYear; - } else { - $this->opts['year'] = ''; - } - if( $skip ) { $this->opts['year'] = ''; $this->opts['month'] = ''; + } else { + $this->opts['year'] = $wgRequest->getIntOrNull( 'year' ); + $this->opts['month'] = $wgRequest->getIntOrNull( 'month' ); } // Add RSS/atom links @@ -243,7 +228,7 @@ class SpecialContributions extends SpecialPage { } $f = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ); - + # Add hidden params for tracking foreach ( $this->opts as $name => $value ) { if( in_array( $name, array( 'namespace', 'target', 'contribs', 'year', 'month' ) ) ) { continue; @@ -267,14 +252,8 @@ class SpecialContributions extends SpecialPage { ( $tagFilter ? Xml::tags( 'p', null, implode( ' ', $tagFilter ) ) : '' ) . Xml::openElement( 'p' ) . '' . - Xml::label( wfMsg( 'year' ), 'year' ) . ' '. - Xml::input( 'year', 4, $this->opts['year'], array('id' => 'year', 'maxlength' => 4) ) . - '' . - ' '. - '' . - Xml::label( wfMsg( 'month' ), 'month' ) . ' '. - Xml::monthSelector( $this->opts['month'], -1 ) . ' '. - '' . + Xml::dateMenu( $this->opts['year'], $this->opts['month'] ) . + '' . ' ' . Xml::submitButton( wfMsg( 'sp-contributions-submit' ) ) . Xml::closeElement( 'p' );