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

Revision: 95976
Author:   jeroendedauw
Date:     2011-09-01 13:04:23 +0000 (Thu, 01 Sep 2011)
Log Message:
-----------
use id and name in token salt; bug 30644

Modified Paths:
--------------
    trunk/extensions/UploadWizard/includes/specials/SpecialUploadCampaigns.php

Modified: 
trunk/extensions/UploadWizard/includes/specials/SpecialUploadCampaigns.php
===================================================================
--- trunk/extensions/UploadWizard/includes/specials/SpecialUploadCampaigns.php  
2011-09-01 13:02:20 UTC (rev 95975)
+++ trunk/extensions/UploadWizard/includes/specials/SpecialUploadCampaigns.php  
2011-09-01 13:04:23 UTC (rev 95976)
@@ -57,7 +57,7 @@
 
                $this->setHeaders();
                $this->outputHeader();
-               $subPage = explode( '/', $subPage, 2 );
+               $subPage = explode( '/', $subPage, 4 );
 
                // If the user is authorized, display the page, if not, show an 
error.
                if ( $this->userCanExecute( $wgUser ) ) {
@@ -66,9 +66,9 @@
                                && $wgRequest->getCheck( 'newcampaign' ) ) {
                                        $this->getOutput()->redirect( 
SpecialPage::getTitleFor( 'UploadCampaign', $wgRequest->getVal( 'newcampaign' ) 
)->getLocalURL() );
                        }
-                       elseif ( count( $subPage ) == 2 && $subPage[0] == 'del'
-                               && $wgUser->matchEditToken( $wgRequest->getVal( 
'wpEditToken' ) ) ) {
-                               $campaign = UploadWizardCampaign::newFromName( 
$subPage[1], false );
+                       elseif ( count( $subPage ) == 4 && $subPage[0] == 'del'
+                               && $wgUser->matchEditToken( $subPage[3], 
serialize( array( $subPage[1], $subPage[2] ) ) ) ) {
+                               $campaign = UploadWizardCampaign::newFromId( 
$subPage[1], false );
                                $campaign->deleteFromDB();
                                $this->getOutput()->redirect( 
$this->getTitle()->getLocalURL() );
                        }
@@ -173,9 +173,13 @@
                $out->addHTML( '<tbody>' );
                
                global $wgUser;
-               $editToken = array( 'wpEditToken' => $wgUser->editToken() );
                
                foreach ( $campaigns as $campaign ) {
+                       $editToken = $wgUser->editToken( serialize( array(
+                               $campaign->campaign_id,
+                               $campaign->campaign_name
+                       ) ) );
+                       
                        $out->addHTML(
                                '<tr>' .
                                        '<td>' .
@@ -201,7 +205,10 @@
                                                Html::element(
                                                        'a',
                                                        array(
-                                                               'href' => 
SpecialPage::getTitleFor( 'UploadCampaigns', 'del/' . $campaign->campaign_name 
)->getLocalURL( $editToken ),
+                                                               'href' => 
SpecialPage::getTitleFor( 
+                                                                       
'UploadCampaigns',
+                                                                       
implode( '/', array( 'del', $campaign->campaign_id, $campaign->campaign_name, 
$editToken ) )
+                                                               
)->getLocalURL(),
                                                                'onclick' => 
'return confirm( "' . wfMsg( 'mwe-upwiz-campaigns-confdel' ) . '" )'
                                                        ),
                                                        wfMsg( 
'mwe-upwiz-campaigns-delete' )


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

Reply via email to