* Added BaseTemplateAfterPortlet hook to allow injecting html after portlets in skins.
* Support has been added for a JSON based localisation file format. The
installer has been updated to use it.
+* Add new hooks OldChangesListBegin and EnhancedChangesListBegin hooks to allow
+ extensions a chance to batch process the result set prior to rendering.
=== Bug fixes in 1.23 ===
* (bug 41759) The "updated since last visit" markers (on history pages, recent
&$hookErr: Out-param for the error. Passed as the parameters to
OutputPage::showErrorPage.
+'EnhancedChangesListBegin': to receive the full list of rows to be rendered
+in the enhanced changes list before rendering begings.
+$changesList: EnhancedChangesList object
+$rows: ResultWrapper containing all rows to be rendered
+
'ExemptFromAccountCreationThrottle': Exemption from the account creation
throttle.
$ip: The ip address of the user
&$transform: whether or not to expand variables and templates
in the message (bool)
+'OldChangesListBegin': to receive the full list of rows to be rendered
+in the enhanced changes list before rendering begings.
+$changesList: OldChangesList object
+$rows: array containing all rows to be rendered
+
'OldChangesListRecentChangesLine': Customize entire recent changes line, or
return false to omit the line from RecentChanges and Watchlist special pages.
&$changeslist: The OldChangesList instance.
/**
* Returns text for the start of the tabular part of RC
+ * @param ResultWrapper|array $rows
* @return string
*/
- public function beginRecentChangesList() {
+ public function beginRecentChangesList( $rows ) {
$this->rc_cache = array();
$this->rcMoveIndex = 0;
$this->rcCacheIndex = 0;
/**
* Add the JavaScript file for enhanced changeslist
+ *
+ * @param ResultWrapper $res
* @return string
*/
- public function beginRecentChangesList() {
+ public function beginRecentChangesList( $res ) {
$this->rc_cache = array();
$this->rcMoveIndex = 0;
$this->rcCacheIndex = 0;
'mediawiki.icon',
) );
+ wfRunHooks( 'EnhancedChangesListBegin', array( $this, $res ) );
+
return '<div class="mw-changeslist">';
}
return "$dateheader<li class=\"" . implode( ' ', $classes ) . "\">" . $s . "</li>\n";
}
+
+ /**
+ * Returns text for the start of the tabular part of RC
+ *
+ * @param ResultWrapper $res
+ * @return string
+ */
+ public function beginRecentChangesList( $res ) {
+ wfRunHooks( 'OldChangesListBegin', array( $this, $res ) );
+ return parent::beginRecentChangesList( $res );
+ }
}
$counter = 1;
$list = ChangesList::newFromContext( $this->getContext() );
- $rclistOutput = $list->beginRecentChangesList();
+ $rclistOutput = $list->beginRecentChangesList( $rows );
foreach ( $rows as $obj ) {
if ( $limit == 0 ) {
break;
$list = ChangesList::newFromContext( $this->getContext() );
$list->setWatchlistDivs();
- $s = $list->beginRecentChangesList();
+ $s = $list->beginRecentChangesList( $rows );
+ $dbr->dataSeek( $rows, 0 );
$counter = 1;
foreach ( $rows as $obj ) {
# Make RC entry