From 53274a6d9347c256430187a22347ca4a0910a395 Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Mon, 26 Jan 2009 21:10:32 +0000 Subject: PostgreSQL - code changes to avoid problems where user table is referenced in ad-hoc queries --- lib/jabber.php | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'lib/jabber.php') diff --git a/lib/jabber.php b/lib/jabber.php index 6196bc9e1..f1be57768 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -354,12 +354,13 @@ function jabber_broadcast_notice($notice) // First, get users to whom this is a direct reply $user = new User(); - $user->query('SELECT user.id, user.jabber ' . - 'FROM user JOIN reply ON user.id = reply.profile_id ' . + $UT = common_config('db','type')=='pgsql'?'"user"':'user'; + $user->query("SELECT $UT.id, $UT.jabber " . + "FROM $UT JOIN reply ON $UT.id = reply.profile_id " . 'WHERE reply.notice_id = ' . $notice->id . ' ' . - 'AND user.jabber is not null ' . - 'AND user.jabbernotify = 1 ' . - 'AND user.jabberreplies = 1 '); + "AND $UT.jabber is not null " . + "AND $UT.jabbernotify = 1 " . + "AND $UT.jabberreplies = 1 "); while ($user->fetch()) { common_log(LOG_INFO, @@ -375,12 +376,12 @@ function jabber_broadcast_notice($notice) // Now, get users subscribed to this profile $user = new User(); - $user->query('SELECT user.id, user.jabber ' . - 'FROM user JOIN subscription ' . - 'ON user.id = subscription.subscriber ' . + $user->query("SELECT $UT.id, $UT.jabber " . + "FROM $UT JOIN subscription " . + "ON $UT.id = subscription.subscriber " . 'WHERE subscription.subscribed = ' . $notice->profile_id . ' ' . - 'AND user.jabber is not null ' . - 'AND user.jabbernotify = 1 ' . + "AND $UT.jabber is not null " . + "AND $UT.jabbernotify = 1 " . 'AND subscription.jabber = 1 '); while ($user->fetch()) { @@ -399,9 +400,9 @@ function jabber_broadcast_notice($notice) // Now, get users who have it in their inbox because of groups $user = new User(); - $user->query('SELECT user.id, user.jabber ' . - 'FROM user JOIN notice_inbox ' . - 'ON user.id = notice_inbox.user_id ' . + $user->query("SELECT $UT.id, $UT.jabber " . + "FROM $UT JOIN notice_inbox " . + "ON $UT.id = notice_inbox.user_id " . 'WHERE notice_inbox.notice_id = ' . $notice->id . ' ' . 'AND notice_inbox.source = 2 ' . 'AND user.jabber is not null ' . -- cgit v1.2.3-54-g00ecf