Index: trunk/extensions/MoodBar/SpecialFeedbackDashboard.php |
— | — | @@ -235,7 +235,10 @@ |
236 | 236 | if ( isset( $response[$id] ) ) { |
237 | 237 | //for now we only display the latest response |
238 | 238 | foreach ( $response[$id] AS $response_detail ) { |
239 | | - if ( $responder = User::newFromId( $response_detail->mbfr_user_id ) ) { |
| 239 | + |
| 240 | + $responder = User::newFromId( $response_detail->mbfr_user_id ); |
| 241 | + |
| 242 | + if ( !$responder->isAnon() ) { |
240 | 243 | |
241 | 244 | $now = wfTimestamp( TS_UNIX ); |
242 | 245 | $responsetimestamp = wfTimestamp( TS_UNIX, $response_detail->mbfr_timestamp ); |
— | — | @@ -248,7 +251,7 @@ |
249 | 252 | |
250 | 253 | $individual_response = wfMsgExt('moodbar-feedback-response-summary', array('parse'), |
251 | 254 | $responder->getUserPage()->getFullText(), |
252 | | - htmlspecialchars($responder->getName()), |
| 255 | + $responder->getName(), |
253 | 256 | $permalinkTitle . '#feedback-dashboard-response-' . $response_detail->mbfr_id, |
254 | 257 | $responsetime); |
255 | 258 | $showResponseBox = false; |
— | — | @@ -620,12 +623,12 @@ |
621 | 624 | |
622 | 625 | $response = array(); |
623 | 626 | |
624 | | - if ( $feedback = implode( ',', $feedback ) ) { |
| 627 | + if ( count( $feedback ) > 0 ) { |
625 | 628 | $res = $dbr->select( array( 'moodbar_feedback_response' ), |
626 | 629 | array( 'mbfr_id', 'mbfr_mbf_id', 'mbfr_user_id', 'mbfr_timestamp' ), |
627 | | - array( 'mbfr_mbf_id IN (' . $feedback . ') AND mbfr_user_id != 0' ), |
| 630 | + array( 'mbfr_mbf_id' => $feedback, 'mbfr_user_id != 0' ), |
628 | 631 | __METHOD__, |
629 | | - array( 'ORDER BY' => "mbfr_timestamp DESC, mbfr_id DESC" ) |
| 632 | + array( 'ORDER BY' => "mbfr_mbf_id DESC, mbfr_timestamp DESC, mbfr_id DESC" ) |
630 | 633 | ); |
631 | 634 | |
632 | 635 | foreach ( $res AS $row ) { |
Index: trunk/extensions/MoodBar/ApiFeedbackDashboardResponse.php |
— | — | @@ -29,7 +29,7 @@ |
30 | 30 | if ( $commenter !== null && $commenter->isAnon() == false ) { |
31 | 31 | $talkPage = $commenter->getTalkPage(); |
32 | 32 | |
33 | | - $feedback_link = wfMessage('moodbar-feedback-response-title')->rawParams($wgContLang->getNsText( NS_SPECIAL ) . |
| 33 | + $feedback_link = wfMessage('moodbar-feedback-response-title')->params($wgContLang->getNsText( NS_SPECIAL ) . |
34 | 34 | ':FeedbackDashboard/' . $item->getProperty('feedback'))->escaped(); |
35 | 35 | |
36 | 36 | $api = new ApiMain( new FauxRequest( array( |
Index: trunk/extensions/MoodBar/MoodBar.hooks.php |
— | — | @@ -105,6 +105,10 @@ |
106 | 106 | $updater->addExtensionUpdate( array( 'addTable', 'moodbar_feedback_response', |
107 | 107 | dirname(__FILE__).'/sql/moodbar_feedback_response.sql', true ) ); |
108 | 108 | |
| 109 | + $updater->addExtensionUpdate( array( 'addIndex', 'moodbar_feedback_response', |
| 110 | + 'mbfr_timestamp_id', dirname( __FILE__ ) . '/sql/mbfr_timestamp_id_index.sql', true ) |
| 111 | + ); |
| 112 | + |
109 | 113 | return true; |
110 | 114 | } |
111 | 115 | |
Index: trunk/extensions/MoodBar/sql/mbfr_timestamp_id_index.sql |
— | — | @@ -0,0 +1,2 @@ |
| 2 | + |
| 3 | +CREATE INDEX /*i*/mbfr_timestamp_id ON /*_*/moodbar_feedback_response (mbfr_mbf_id, mbfr_timestamp, mbfr_id); |