http://www.mediawiki.org/wiki/Special:Code/MediaWiki/70075
Revision: 70075
Author: werdna
Date: 2010-07-28 10:02:34 +0000 (Wed, 28 Jul 2010)
Log Message:
-----------
Revert r70017 and r70018. I'm not going to deliberately remove support for 1.15
just because 1.16 was released a few minutes ago.
Modified Paths:
--------------
trunk/extensions/LiquidThreads/classes/NewMessagesController.php
Modified: trunk/extensions/LiquidThreads/classes/NewMessagesController.php
===================================================================
--- trunk/extensions/LiquidThreads/classes/NewMessagesController.php
2010-07-28 07:36:59 UTC (rev 70074)
+++ trunk/extensions/LiquidThreads/classes/NewMessagesController.php
2010-07-28 10:02:34 UTC (rev 70075)
@@ -108,7 +108,8 @@
}
private static function getRowsObject( $t ) {
- $tables = array( 'watchlist', 'user_message_state',
'user_properties' );
+ // <= 1.15 compatibility, it kinda sucks having to do all this
up here.
+ $tables = array( 'watchlist', 'user_message_state' );
$joins = array(
'user_message_state' =>
array(
@@ -117,17 +118,28 @@
'ums_user=wl_user',
'ums_thread' => $t->id()
)
- ),
- 'user_properties' =>
- array(
+ )
+ );
+ $fields = array( 'wl_user', 'ums_user', 'ums_read_timestamp' );
+
+ global $wgVersion;
+ if ( version_compare( $wgVersion, '1.15.999', '<=' ) ) {
+ $oldPrefCompat = true;
+
+ $tables[] = 'user';
+ $joins['user'] = array( 'left join', 'user_id=wl_user'
);
+ $fields[] = 'user_options';
+ } else {
+ $tables[] = 'user_properties';
+ $joins['user_properties'] = array(
'left join',
array(
'up_user=wl_user',
'up_property' => 'lqtnotifytalk',
)
- )
- );
- $fields = array( 'wl_user', 'ums_user', 'ums_read_timestamp',
'up_value' );
+ );
+ $fields[] = 'up_value';
+ }
$dbr = wfGetDB( DB_SLAVE );
return $dbr->select( $tables, $fields, self::getWhereClause( $t
), __METHOD__, array(), $joins );
@@ -256,30 +268,34 @@
$dbr = wfGetDB( DB_SLAVE );
$fields = array( $dbr->tableName( 'user' ) . '.*' );
$join_conds = array();
-
- $tableNameUserProperties = $dbr->tableName( 'user_properties' );
+ $oldPreferenceFormat = false;
+ if ( version_compare( $wgVersion, '1.16', '<' ) ) {
+ $oldPreferenceFormat = true;
+ } else {
+ $tableNameUserProperties = $dbr->tableName(
'user_properties' );
- $tables[] = $tableNameUserProperties . ' as tc_prop';
- $fields[] = 'tc_prop.up_value as timecorrection';
+ $tables[] = $tableNameUserProperties . ' as tc_prop';
+ $fields[] = 'tc_prop.up_value as timecorrection';
- $join_conds[$tableNameUserProperties . ' as tc_prop'] = array(
- 'left join',
- array(
- 'tc_prop.up_user=user_id',
- 'tc_prop.up_property' => 'timecorrection',
- )
- );
+ $join_conds[$tableNameUserProperties . ' as tc_prop'] =
array(
+ 'left join',
+ array(
+ 'tc_prop.up_user=user_id',
+ 'tc_prop.up_property' =>
'timecorrection',
+ )
+ );
- $tables[] = $tableNameUserProperties . ' as l_prop';
- $fields[] = 'l_prop.up_value as language';
+ $tables[] = $tableNameUserProperties . ' as l_prop';
+ $fields[] = 'l_prop.up_value as language';
- $join_conds[$tableNameUserProperties . ' as l_prop'] = array(
- 'left join',
- array(
- 'l_prop.up_user=user_id',
- 'l_prop.up_property' => 'language',
- )
- );
+ $join_conds[$tableNameUserProperties . ' as l_prop'] =
array(
+ 'left join',
+ array(
+ 'l_prop.up_user=user_id',
+ 'l_prop.up_property' => 'language',
+ )
+ );
+ }
$res = $dbr->select(
$tables, $fields,
@@ -301,7 +317,9 @@
while ( $row = $dbr->fetchObject( $res ) ) {
$u = User::newFromRow( $row );
- if ( $row->language ) {
+ if ( $oldPreferenceFormat ) {
+ $langCode = $u->getOption( 'language' );
+ } elseif ( $row->language ) {
$langCode = $row->language;
} else {
global $wgLanguageCode;
@@ -311,7 +329,11 @@
$lang = Language::factory( $langCode );
// Adjust with time correction
- $timeCorrection = $row->timecorrection;
+ if ( $oldPreferenceFormat ) {
+ $timeCorrection = $u->getOption(
'timecorrection' );
+ } else {
+ $timeCorrection = $row->timecorrection;
+ }
$adjustedTimestamp = $lang->userAdjust( $timestamp,
$timeCorrection );
$date = $lang->date( $adjustedTimestamp );
@@ -324,7 +346,7 @@
$msg = wfMsgReal( $msgName, $params, true /* use DB */,
$langCode,
true
/*transform*/ );
- $to = new MailAddress( $u );
+ $to = new MailAddress( $u );
$subject = wfMsgReal( $subjectMsg, array(
$threadSubject ), true /* use DB */,
$langCode, true /* transform */ );
@@ -370,9 +392,8 @@
$cval = $wgMemc->get( wfMemcKey( 'lqt-new-messages-count',
$user->getId() ) );
- if ( $cval ) {
+ if ( $cval )
return $cval;
- }
$dbr = wfGetDB( DB_SLAVE );
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs