r50565 - Code Review

From MediaWiki.org

Jump to: navigation, search
Repository:MediaWiki
Revision:r50564 | r50565 (on ViewVC) | r50566 >
Date:21:36, 13 May 2009
Author:ashley
Status:deferred
Tags:
Comment:UserBoard: allow privileged users to delete others' board messages (based on code written by Przemek Piotrowski for Wikia; http://trac.wikia-code.com/changeset/8583), disallow blocked users to send user board messages (http://trac.wikia-code.com/changeset/8237) and fix encoding issue (http://trac.wikia-code.com/changeset/8467)
Modified paths:

Diff [purge]

Index: trunk/extensions/SocialProfile/UserBoard/UserBoardClass.php
===================================================================
--- trunk/extensions/SocialProfile/UserBoard/UserBoardClass.php	(revision 50564)
+++ trunk/extensions/SocialProfile/UserBoard/UserBoardClass.php	(revision 50565)
@@ -281,7 +281,7 @@
 					$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'] ){
+				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>
 						</span>";
Index: trunk/extensions/SocialProfile/UserBoard/UserBoard_AjaxFunctions.php
===================================================================
--- trunk/extensions/SocialProfile/UserBoard/UserBoard_AjaxFunctions.php	(revision 50564)
+++ trunk/extensions/SocialProfile/UserBoard/UserBoard_AjaxFunctions.php	(revision 50565)
@@ -20,7 +20,7 @@
 	global $wgMemc, $wgUser;
 
 	$b = new UserBoard();
-	if( $b->doesUserOwnMessage( $wgUser->getID(), $ub_id ) ){
+	if( $b->doesUserOwnMessage( $wgUser->getID(), $ub_id ) || $wgUser->isAllowed( 'userboard-delete' ) ){
 		$b->deleteMessage( $ub_id );
 	}
 	return 'ok';
Index: trunk/extensions/SocialProfile/UserBoard/UserBoard.i18n.php
===================================================================
--- trunk/extensions/SocialProfile/UserBoard/UserBoard.i18n.php	(revision 50564)
+++ trunk/extensions/SocialProfile/UserBoard/UserBoard.i18n.php	(revision 50565)
@@ -53,6 +53,7 @@
 	'userboard_sendbutton' => 'send',
 	'userboard_loggedout' => 'You must be <a href="$1">logged in</a> to post messages to other users.',
 	'userboard_showingmessages' => 'Showing {{PLURAL:$4|message $3|messages $2-$3}} of {{PLURAL:$1|$1 message|$1 messages}}',
+	'right-userboard-delete' => "Delete others' board messages",
 	'message_received_subject' => '$1 wrote on your board on {{SITENAME}}',
 	'message_received_body' => 'Hi $1.
 
@@ -777,6 +778,7 @@
 	'userboard_sendbutton' => 'lähetä',
 	'userboard_loggedout' => 'Sinun tulee olla <a href="$1">kirjautunut sisään</a> lähettääksesi viestejä toisille käyttäjille.',
 	'userboard_showingmessages' => 'Näkyvillä on {{PLURAL:$4|viesti $3|viestit $2–$3}}. Yhteensä {{PLURAL:$1|$1 viesti|$1 viestiä}}.',
+	'right-userboard-delete' => 'Poistaa toisten käyttäjien keskustelualueviestejä',
 	'message_received_subject' => '$1 kirjoitti keskustelualueellesi {{GRAMMAR:inessive|{{SITENAME}}}}',
 	'message_received_body' => 'Hei $1:
  
Index: trunk/extensions/SocialProfile/UserBoard/SpecialUserBoard.php
===================================================================
--- trunk/extensions/SocialProfile/UserBoard/SpecialUserBoard.php	(revision 50564)
+++ trunk/extensions/SocialProfile/UserBoard/SpecialUserBoard.php	(revision 50565)
@@ -116,7 +116,7 @@
 				if(\$(\"message\").value && !posted){
 					posted = 1;
 					var url = \"index.php?action=ajax\";
-					var pars = 'rs=wfSendBoardMessage&rsargs[]=' + escape(\$(\"user_name_to\").value) +'&rsargs[]=' + encodeURIComponent(\$(\"message\").value) + '&rsargs[]=' + \$(\"message_type\").value + '&rsargs[]={$per_page}'
+					var pars = 'rs=wfSendBoardMessage&rsargs[]=' + encodeURIComponent(\$(\"user_name_to\").value) +'&rsargs[]=' + encodeURIComponent(\$(\"message\").value) + '&rsargs[]=' + \$(\"message_type\").value + '&rsargs[]={$per_page}'
 
 					var callback = {
 						success: function(originalRequest){
@@ -233,7 +233,7 @@
 		}
 
 		if( $can_post ){
-			if( $wgUser->isLoggedIn() ){
+			if( $wgUser->isLoggedIn() && !$wgUser->isBlocked() ){
 				$output .= '<div class="user-page-message-form">
 					<input type="hidden" id="user_name_to" name="user_name_to" value="' . $user_name_to . '"/>
 					<input type="hidden" id="user_name_from" name="user_name_from" value="' . $user_name_from . '"/>
@@ -251,7 +251,7 @@
 
 				</div>';
 			} else {
-				$login_link = SpecialPage::getTitleFor( 'UserLogin' );
+				$login_link = SpecialPage::getTitleFor( 'Userlogin' );
 				$output .= '<div class="user-page-message-form">
 						' . wfMsg( 'userboard_loggedout', $login_link->escapeFullURL() ) . '
 						</div>';
@@ -261,7 +261,7 @@
 
 		if( $ub_messages ){
 			foreach( $ub_messages as $ub_message ) {
-				$user =  Title::makeTitle( NS_USER, $ub_message['user_name_from'] );
+				$user = Title::makeTitle( NS_USER, $ub_message['user_name_from'] );
 				$avatar = new wAvatar( $ub_message['user_id_from'], 'm' );
 
 				$board_to_board = '';
@@ -274,7 +274,7 @@
 				} else {
 					$board_link = '<a href="' . UserBoard::getUserBoardURL( $ub_message['user_name_from'] ) . '">' . wfMsg( 'userboard_myboard' ) . '</a>';
 				}
-				if( $wgUser->getName() == $ub_message['user_name'] ){
+				if( $wgUser->getName() == $ub_message['user_name'] || $wgUser->isAllowed( 'userboard-delete' ) ){
 					$delete_link = "<span class=\"user-board-red\">
 						<a href=\"javascript:void(0);\" onclick=\"javascript:delete_message({$ub_message["id"]})\">" . wfMsg( 'userboard_delete' ) . "</a>
 					</span>";

Status & tagging log

Views
Toolbox