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

Revision: 90790
Author:   ashley
Date:     2011-06-25 19:36:26 +0000 (Sat, 25 Jun 2011)
Log Message:
-----------
SocialProfile: in UserGifts/SpecialGiftManager.php:
*coding style tweaks
*wrap some vars in intval() for sanity's sake
*add/tweak comments
*use $this->getTitle() to build the URLs instead of hacky DIY stuff; we require 
MW 1.16 anyway, so it should be perfectly safe

Modified Paths:
--------------
    trunk/extensions/SocialProfile/UserGifts/SpecialGiftManager.php

Modified: trunk/extensions/SocialProfile/UserGifts/SpecialGiftManager.php
===================================================================
--- trunk/extensions/SocialProfile/UserGifts/SpecialGiftManager.php     
2011-06-25 19:29:49 UTC (rev 90789)
+++ trunk/extensions/SocialProfile/UserGifts/SpecialGiftManager.php     
2011-06-25 19:36:26 UTC (rev 90790)
@@ -15,35 +15,61 @@
         * @param $par Mixed: parameter passed to the page or null
         */
        public function execute( $par ) {
-               global $wgUser, $wgOut, $wgRequest, $wgScriptPath, 
$wgUserGiftsScripts;
+               global $wgUser, $wgOut, $wgRequest, $wgUserGiftsScripts;
 
                $wgOut->setPageTitle( wfMsg( 'giftmanager' ) );
 
+               // Make sure that the user is logged in and that they can use 
this
+               // special page
                if ( $wgUser->isAnon() || !$this->canUserManage() ) {
                        throw new ErrorPageError( 'error', 'badaccess' );
                }
 
-               $wgOut->addStyle( $wgUserGiftsScripts . '/UserGifts.css' );
+               // Add CSS
+               $wgOut->addExtensionStyle( $wgUserGiftsScripts . 
'/UserGifts.css' );
 
                if ( count( $_POST ) ) {
                        if ( !( $_POST['id'] ) ) {
-                               $gift_id = Gifts::addGift( $_POST['gift_name'], 
$_POST['gift_description'], $_POST['access'] );
-                               $wgOut->addHTML( '<span class="view-status">' . 
wfMsg( 'giftmanager-giftcreated' ) . '</span><br /><br />' );
+                               $giftId = Gifts::addGift(
+                                       $_POST['gift_name'],
+                                       $_POST['gift_description'],
+                                       intval( $_POST['access'] )
+                               );
+                               $wgOut->addHTML(
+                                       '<span class="view-status">' .
+                                       wfMsg( 'giftmanager-giftcreated' ) .
+                                       '</span><br /><br />'
+                               );
                        } else {
-                               $gift_id = $_POST['id'];
-                               Gifts::updateGift( $gift_id, 
$_POST['gift_name'], $_POST['gift_description'], $_POST['access'] );
-                               $wgOut->addHTML( '<span class="view-status">' . 
wfMsg( 'giftmanager-giftsaved' ) . '</span><br /><br />' );
+                               $giftId = intval( $_POST['id'] );
+                               Gifts::updateGift(
+                                       $giftId,
+                                       $_POST['gift_name'],
+                                       $_POST['gift_description'],
+                                       intval( $_POST['access'] )
+                               );
+                               $wgOut->addHTML(
+                                       '<span class="view-status">' .
+                                       wfMsg( 'giftmanager-giftsaved' ) .
+                                       '</span><br /><br />'
+                               );
                        }
 
-                       $wgOut->addHTML( $this->displayForm( $gift_id ) );
+                       $wgOut->addHTML( $this->displayForm( $giftId ) );
                } else {
-                       $gift_id = $wgRequest->getVal( 'id' );
-                       if ( $gift_id || $wgRequest->getVal( 'method' ) == 
'edit' ) {
-                               $wgOut->addHTML( $this->displayForm( $gift_id ) 
);
+                       $giftId = $wgRequest->getInt( 'id' );
+                       if ( $giftId || $wgRequest->getVal( 'method' ) == 
'edit' ) {
+                               $wgOut->addHTML( $this->displayForm( $giftId ) 
);
                        } else {
+                               // If the user is allowed to create new gifts, 
show the
+                               // "add a gift" link to them
                                if ( $this->canUserCreateGift() ) {
-                                       $wgOut->addHTML( '<div><b><a href="' . 
$wgScriptPath . '/index.php?title=Special:GiftManager&amp;method=edit">'
-                                                                       . 
wfMsg( 'giftmanager-addgift' ) . '</a></b></div>' );
+                                       $wgOut->addHTML(
+                                               '<div><b><a href="' .
+                                               
$this->getTitle()->escapeFullURL( 'method=edit' ) .
+                                               '">' . wfMsg( 
'giftmanager-addgift' ) .
+                                               '</a></b></div>'
+                                       );
                                }
                                $wgOut->addHTML( $this->displayGiftList() );
                        }
@@ -66,7 +92,11 @@
                        return true;
                }
 
-               if ( $wgUser->isAllowed( 'giftadmin' ) || in_array( 
'giftadmin', $wgUser->getGroups() ) ) {
+               if (
+                       $wgUser->isAllowed( 'giftadmin' ) ||
+                       in_array( 'giftadmin', $wgUser->getGroups() )
+               )
+               {
                        return true;
                }
 
@@ -85,7 +115,11 @@
                        return false;
                }
 
-               if ( $wgUser->isAllowed( 'giftadmin' ) || in_array( 
'giftadmin', $wgUser->getGroups() ) ) {
+               if (
+                       $wgUser->isAllowed( 'giftadmin' ) ||
+                       in_array( 'giftadmin', $wgUser->getGroups() )
+               )
+               {
                        return true;
                }
 
@@ -105,42 +139,69 @@
                        return false;
                }
 
-               $created_count = Gifts::getCustomCreatedGiftCount( 
$wgUser->getID() );
-               if ( $wgUser->isAllowed( 'giftadmin' ) || in_array( 
'giftadmin', ( $wgUser->getGroups() ) ) || ( $wgMaxCustomUserGiftCount > 0 && 
$created_count < $wgMaxCustomUserGiftCount ) ) {
+               $createdCount = Gifts::getCustomCreatedGiftCount( 
$wgUser->getID() );
+               if (
+                       $wgUser->isAllowed( 'giftadmin' ) ||
+                       in_array( 'giftadmin', ( $wgUser->getGroups() ) ) ||
+                       ( $wgMaxCustomUserGiftCount > 0 && $createdCount < 
$wgMaxCustomUserGiftCount )
+               )
+               {
                        return true;
                } else {
                        return false;
                }
        }
 
+       /**
+        * Display the text list of all existing gifts and a delete link to 
users
+        * who are allowed to delete gifts.
+        *
+        * @return String: HTML
+        */
        function displayGiftList() {
-               global $wgScriptPath;
                $output = ''; // Prevent E_NOTICE
                $page = 0;
                $per_page = 10;
                $gifts = Gifts::getManagedGiftList( $per_page, $page );
                if ( $gifts ) {
                        foreach ( $gifts as $gift ) {
+                               $deleteLink = '';
+                               if ( $this->canUserDelete() ) {
+                                       $deleteLink = '<a href="' .
+                                               SpecialPage::getTitleFor( 
'RemoveMasterGift' )->escapeFullURL( "gift_id={$gift['id']}" ) .
+                                               '" style="font-size:10px; 
color:red;">' .
+                                               wfMsg( 'delete' ) . '</a>';
+                               }
+
                                $output .= '<div class="Item">
-                               <a href="' . $wgScriptPath . 
'/index.php?title=Special:GiftManager&amp;id=' . $gift['id'] . '">' . 
$gift['gift_name'] . '</a> ' .
-                               ( ( $this->canUserDelete() ) ? '<a href="' . 
SpecialPage::getTitleFor( 'RemoveMasterGift' )->escapeFulLURL( 
"gift_id={$gift["id"]}" ) . '" style="font-size:10px; color:red;">' . wfMsg( 
'delete' ) . '</a>' : '' )
-                               . "</div>\n";
+                               <a href="' . $this->getTitle()->escapeFullURL( 
"id={$gift['id']}" ) . '">' .
+                                       $gift['gift_name'] . '</a> ' .
+                                       $deleteLink . "</div>\n";
                        }
                }
                return '<div id="views">' . $output . '</div>';
        }
 
        function displayForm( $gift_id ) {
-               global $wgUser, $wgOut, $wgScriptPath;
+               global $wgUser;
 
                if ( !$gift_id && !$this->canUserCreateGift() ) {
                        return $this->displayGiftList();
                }
-               $form = '<div><b><a href="' . $wgScriptPath . 
'/index.php?title=Special:GiftManager">' . wfMsg( 'giftmanager-view' ) . 
'</a></b></div>';
 
+               $form = '<div><b><a href="' . 
$this->getTitle()->escapeFullURL() .
+                       '">' . wfMsg( 'giftmanager-view' ) . '</a></b></div>';
+
                if ( $gift_id ) {
                        $gift = Gifts::getGift( $gift_id );
-                       if ( $wgUser->getID() != $gift['creator_user_id'] && ( 
!in_array( 'giftadmin', $wgUser->getGroups() ) && !$wgUser->isAllowed( 'delete' 
) ) ) {
+                       if (
+                               $wgUser->getID() != $gift['creator_user_id'] &&
+                               (
+                                       !in_array( 'giftadmin', 
$wgUser->getGroups() ) &&
+                                       !$wgUser->isAllowed( 'delete' )
+                               )
+                       )
+                       {
                                throw new ErrorPageError( 'error', 'badaccess' 
);
                        }
                }
@@ -149,20 +210,27 @@
                $form .= '<table border="0" cellpadding="5" cellspacing="0" 
width="500">';
                $form .= '<tr>
                <td width="200" class="view-form">' . wfMsg( 'g-gift-name' ) . 
'</td>
-               <td width="695"><input type="text" size="45" class="createbox" 
name="gift_name" value="' . ( isset( $gift['gift_name'] ) ? $gift['gift_name'] 
: '' ) . '"/></td>
+               <td width="695"><input type="text" size="45" class="createbox" 
name="gift_name" value="' .
+                       ( isset( $gift['gift_name'] ) ? $gift['gift_name'] : '' 
) . '"/></td>
                </tr>
                <tr>
                <td width="200" class="view-form" valign="top">' . wfMsg( 
'giftmanager-description' ) . '</td>
-               <td width="695"><textarea class="createbox" 
name="gift_description" rows="2" cols="30">' . ( isset( 
$gift['gift_description'] ) ? $gift['gift_description'] : '' ) . 
'</textarea></td>
+               <td width="695"><textarea class="createbox" 
name="gift_description" rows="2" cols="30">' .
+                       ( isset( $gift['gift_description'] ) ? 
$gift['gift_description'] : '' ) . '</textarea></td>
                </tr>';
                if ( $gift_id ) {
                        $creator = Title::makeTitle( NS_USER, 
$gift['creator_user_name'] );
                        $form .= '<tr>
-                       <td class="view-form">' . wfMsgExt( 'g-created-by', 
'parsemag', $gift['creator_user_name'] ) . '</td>
-                       <td><a href="' . $creator->escapeFullURL() . '">' . 
$gift['creator_user_name'] . '</a></td>
+                       <td class="view-form">' .
+                               wfMsgExt( 'g-created-by', 'parsemag', 
$gift['creator_user_name'] ) .
+                       '</td>
+                       <td><a href="' . $creator->escapeFullURL() . '">' .
+                               $gift['creator_user_name'] . '</a></td>
                        </tr>';
                }
-               global $wgUploadPath;
+
+               // If the user isn't in the gift admin group, they can only 
create
+               // private gifts
                if ( !in_array( 'giftadmin', $wgUser->getGroups() ) ) {
                        $form .= '<input type="hidden" name="access" value="1" 
/>';
                } else {
@@ -171,20 +239,29 @@
                                <td class="view-form">' . wfMsg( 
'giftmanager-access' ) . '</td>
                                <td>
                                <select name="access">
-                                       <option value="0"' . ( ( 
$gift['access'] == 0 ) ? ' selected="selected"' : '' ) . '>' . wfMsg( 
'giftmanager-public' ) . '</option>
-                                       <option value="1"' . ( ( 
$gift['access'] == 1 ) ? ' selected="selected"' : '' ) . '>' . wfMsg( 
'giftmanager-private' ) . '</option>
+                                       <option value="0"' . ( ( 
$gift['access'] == 0 ) ? ' selected="selected"' : '' ) . '>' .
+                                               wfMsg( 'giftmanager-public' ) .
+                                       '</option>
+                                       <option value="1"' . ( ( 
$gift['access'] == 1 ) ? ' selected="selected"' : '' ) . '>' .
+                                               wfMsg( 'giftmanager-private' ) .
+                                       '</option>
                                </select>
                                </td>
                        </tr>';
                }
 
                if ( $gift_id ) {
-                       $gift_image = '<img src="' . $wgUploadPath . '/awards/' 
. Gifts::getGiftImage( $gift_id, 'l' ) . '" border="0" alt="' . wfMsg( 'g-gift' 
) . '" />';
+                       global $wgUploadPath;
+                       $gml = SpecialPage::getTitleFor( 'GiftManagerLogo' );
+                       $gift_image = '<img src="' . $wgUploadPath . '/awards/' 
.
+                               Gifts::getGiftImage( $gift_id, 'l' ) . '" 
border="0" alt="' .
+                               wfMsg( 'g-gift' ) . '" />';
                        $form .= '<tr>
                        <td width="200" class="view-form" valign="top">' . 
wfMsg( 'giftmanager-giftimage' ) . '</td>
                        <td width="695">' . $gift_image .
                        '<p>
-                       <a href="' . $wgScriptPath . 
'/index.php?title=Special:GiftManagerLogo&gift_id=' . $gift_id . '">' . wfMsg( 
'giftmanager-image' ) . '</a>
+                       <a href="' . $gml->escapeFullURL( 'gift_id=' . $gift_id 
) . '">' .
+                               wfMsg( 'giftmanager-image' ) . '</a>
                        </td>
                        </tr>';
                }


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to