http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84617

Revision: 84617
Author:   ashley
Date:     2011-03-23 18:05:09 +0000 (Wed, 23 Mar 2011)
Log Message:
-----------
SocialProfile: remove last raw SQL bits from UserBoard. Untested.

Modified Paths:
--------------
    trunk/extensions/SocialProfile/UserBoard/UserBoardClass.php

Modified: trunk/extensions/SocialProfile/UserBoard/UserBoardClass.php
===================================================================
--- trunk/extensions/SocialProfile/UserBoard/UserBoardClass.php 2011-03-23 
17:46:12 UTC (rev 84616)
+++ trunk/extensions/SocialProfile/UserBoard/UserBoardClass.php 2011-03-23 
18:05:09 UTC (rev 84617)
@@ -255,40 +255,49 @@
 
        public function getUserBoardMessages( $user_id, $user_id_2 = 0, $limit 
= 0, $page = 0 ) {
                global $wgUser, $wgOut, $wgTitle;
+
                $dbr = wfGetDB( DB_SLAVE );
 
-               if ( $limit > 0 ) {
-                       $limitvalue = 0;
-                       if ( $page ) {
-                               $limitvalue = $page * $limit - ( $limit );
-                       }
-                       $limit_sql = " LIMIT {$limitvalue},{$limit} ";
+               $where = array();
+               $limitvalue = 0;
+               if ( $limit > 0 && $page ) {
+                       $limitvalue = $page * $limit - ( $limit );
                }
 
                if ( $user_id_2 ) {
-                       $user_sql = "( (ub_user_id={$user_id} AND 
ub_user_id_from={$user_id_2}) OR
+                       $where[] = "( (ub_user_id={$user_id} AND 
ub_user_id_from={$user_id_2}) OR
                                        (ub_user_id={$user_id_2} AND 
ub_user_id_from={$user_id}) )";
                        if ( !( $user_id == $wgUser->getID() || $user_id_2 == 
$wgUser->getID() ) ) {
-                               $user_sql .= " AND ub_type = 0 ";
+                               $where['ub_type'] = 0;
                        }
                } else {
-                       $user_sql = "ub_user_id = {$user_id}";
+                       $where['ub_user_id'] = $user_id;
                        if ( $user_id != $wgUser->getID() ) {
-                               $user_sql .= " AND ub_type = 0 ";
+                               $where['ub_type'] = 0;
                        }
                        if ( $wgUser->isLoggedIn() ) {
-                               $user_sql .= " OR (ub_user_id={$user_id} AND 
ub_user_id_from={$wgUser->getID() }) ";
+                               $where[] = " OR (ub_user_id={$user_id} AND 
ub_user_id_from={$wgUser->getID()}) ";
                        }
                }
 
-               $sql = "SELECT ub_id, ub_user_id_from, ub_user_name_from, 
ub_user_id, ub_user_name,
-                       ub_message,UNIX_TIMESTAMP(ub_date) AS unix_time,ub_type
-                       FROM {$dbr->tableName( 'user_board' )}
-                       WHERE {$user_sql}
-                       ORDER BY ub_id DESC
-                       {$limit_sql}";
-               $res = $dbr->query( $sql, __METHOD__ );
+               $res = $dbr->select(
+                       'user_board',
+                       array(
+                               'ub_id', 'ub_user_id_from', 
'ub_user_name_from', 'ub_user_id',
+                               'ub_user_name', 'ub_message',
+                               'UNIX_TIMESTAMP(ub_date) AS unix_time', 
'ub_type'
+                       ),
+                       $where,
+                       __METHOD__,
+                       array(
+                               'ORDER BY' => 'ub_id DESC',
+                               'LIMIT' => $limitvalue,
+                               'OFFSET' => $limit
+                       )
+               );
+
                $messages = array();
+
                foreach ( $res as $row ) {
                        $parser = new Parser();
                        $message_text = $parser->parse( $row->ub_message, 
$wgTitle, $wgOut->parserOptions(), true );
@@ -305,6 +314,7 @@
                                'type' => $row->ub_type
                        );
                }
+
                return $messages;
        }
 
@@ -312,21 +322,26 @@
                global $wgUser;
                $dbr = wfGetDB( DB_SLAVE );
 
-               $user_sql = " ( (ub_user_id={$user_id} AND 
ub_user_id_from={$user_id_2}) OR
+               $where = array();
+               $where = " ( (ub_user_id={$user_id} AND 
ub_user_id_from={$user_id_2}) OR
                                        (ub_user_id={$user_id_2} AND 
ub_user_id_from={$user_id}) )";
 
                if ( !( $user_id == $wgUser->getID() || $user_id_2 == 
$wgUser->getID() ) ) {
-                       $user_sql .= " AND ub_type = 0 ";
+                       $where['ub_type'] = 0;
                }
-               $sql = "SELECT count(*) AS the_count
-                       FROM {$dbr->tableName( 'user_board' )}
-                       WHERE {$user_sql}";
 
-               $res = $dbr->query( $sql, __METHOD__ );
+               $res = $dbr->select(
+                       'user_board',
+                       'COUNT(*) AS the_count',
+                       $where,
+                       __METHOD__
+               );
+
                $row = $dbr->fetchObject( $res );
                if ( $row ) {
                        $count = $row->the_count;
                }
+
                return $count;
        }
 
@@ -347,12 +362,17 @@
                                $delete_link = '';
 
                                if ( $wgUser->getName() != 
$message['user_name_from'] ) {
-                                       $board_to_board = '<a href="' . 
UserBoard::getUserBoardToBoardURL( $message['user_name'], 
$message['user_name_from'] ) . '">' . wfMsgHtml( 'userboard_board-to-board' ) . 
'</a>';
-                                       $board_link = '<a href="' . 
UserBoard::getUserBoardURL( $message['user_name_from'] ) . '">' . wfMsgHtml( 
'userboard_sendmessage', $message['user_name_from'] ) . '</a>';
+                                       $board_to_board = '<a href="' . 
UserBoard::getUserBoardToBoardURL(
+                                               $message['user_name'],
+                                               $message['user_name_from']
+                                       ) . '">' . wfMsgHtml( 
'userboard_board-to-board' ) . '</a>';
+                                       $board_link = '<a href="' . 
UserBoard::getUserBoardURL( $message['user_name_from'] ) . '">' .
+                                               wfMsgHtml( 
'userboard_sendmessage', $message['user_name_from'] ) . '</a>';
                                }
                                if ( $wgUser->getName() == 
$message['user_name'] || $wgUser->isAllowed( 'userboard-delete' ) ) {
                                        $delete_link = "<span 
class=\"user-board-red\">
-                                                       <a 
href=\"javascript:void(0);\" 
onclick=\"javascript:delete_message({$message['id']})\">" . wfMsgHtml( 
'userboard_delete' ) . '</a>
+                                                       <a 
href=\"javascript:void(0);\" 
onclick=\"javascript:delete_message({$message['id']})\">" .
+                                                       wfMsgHtml( 
'userboard_delete' ) . '</a>
                                                </span>';
                                }
                                if ( $message['type'] == 1 ) {


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to