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

Revision: 99642
Author:   jeroendedauw
Date:     2011-10-12 18:58:45 +0000 (Wed, 12 Oct 2011)
Log Message:
-----------
work on email sending and some typo fix

Modified Paths:
--------------
    trunk/extensions/Contest/Contest.hooks.php
    trunk/extensions/Contest/Contest.php
    trunk/extensions/Contest/includes/ContestUtils.php
    trunk/extensions/Contest/specials/SpecialContestWelcome.php
    trunk/extensions/Contest/specials/SpecialMyContests.php
    trunk/extensions/Contest/test/ContestValidationTests.php

Modified: trunk/extensions/Contest/Contest.hooks.php
===================================================================
--- trunk/extensions/Contest/Contest.hooks.php  2011-10-12 17:53:54 UTC (rev 
99641)
+++ trunk/extensions/Contest/Contest.hooks.php  2011-10-12 18:58:45 UTC (rev 
99642)
@@ -159,6 +159,28 @@
                }
 
                return true;
-       }  
+       } 
        
+       /**
+     * Used when generating internal and interwiki links in Linker::link(),
+     * just before the function returns a value.
+     * @see https://www.mediawiki.org/wiki/Manual:Hooks/LinkEnd
+        * 
+        * @since 0.1
+        * 
+        * @param Skin $skin
+        * @param Title $target
+        * @param array $options
+        * @param string $text
+        * @param array $attribs
+        * @param $ret
+        * 
+        * @return true
+        */
+       function onLinkEnd( Skin $skin, Title $target, array $options, &$text, 
array &$attribs, &$ret ) {
+               if ( $GLOBALS['wgContestEmailParse'] ) {
+                       $attribs['href'] = $target->getFullURL();
+               }
+       }
+       
 }

Modified: trunk/extensions/Contest/Contest.php
===================================================================
--- trunk/extensions/Contest/Contest.php        2011-10-12 17:53:54 UTC (rev 
99641)
+++ trunk/extensions/Contest/Contest.php        2011-10-12 18:58:45 UTC (rev 
99642)
@@ -104,6 +104,7 @@
 $wgHooks['UserSetEmail'][]                                             = 
'ContestHooks::onUserSetEmail';
 $wgHooks['PersonalUrls'][]                                             = 
'ContestHooks::onPersonalUrls';
 $wgHooks['GetPreferences'][]                                   = 
'ContestHooks::onGetPreferences';
+$wgHooks['LinkEnd'][]                                                  = 
'ContestHooks::onLinkEnd';
 
 // Rights
 
@@ -247,3 +248,5 @@
 unset( $moduleTemplate );
 
 $egContestSettings = array();
+
+$wgContestEmailParse = false;

Modified: trunk/extensions/Contest/includes/ContestUtils.php
===================================================================
--- trunk/extensions/Contest/includes/ContestUtils.php  2011-10-12 17:53:54 UTC 
(rev 99641)
+++ trunk/extensions/Contest/includes/ContestUtils.php  2011-10-12 18:58:45 UTC 
(rev 99642)
@@ -58,12 +58,19 @@
                // but would require setting some global such as 
$isContestEmailParse to true
                // before the parse call and to false afterwards, which also is 
not very nice.
                
-               global $wgParser;
-               return $wgParser->parse(
-                       self::replaceRelativeLinks( $article->fetchContent() ),
+               global $wgParser, $wgContestEmailParse;
+               
+               $wgContestEmailParse = true;
+               
+               $text = $wgParser->parse(
+                       $article->fetchContent(),
                        $article->getTitle(),
                        $article->getParserOptions()
                )->getText();
+               
+               $wgContestEmailParse = false;
+               
+               return $text;
        }
        
        /**

Modified: trunk/extensions/Contest/specials/SpecialContestWelcome.php
===================================================================
--- trunk/extensions/Contest/specials/SpecialContestWelcome.php 2011-10-12 
17:53:54 UTC (rev 99641)
+++ trunk/extensions/Contest/specials/SpecialContestWelcome.php 2011-10-12 
18:58:45 UTC (rev 99642)
@@ -179,10 +179,10 @@
                        $contestName .= '/' . $challengeId;
                }
                
-               $signupitle = SpecialPage::getTitleFor( 'ContestSignup', 
$contestName );
+               $signupTitle = SpecialPage::getTitleFor( 'ContestSignup', 
$contestName );
                
                if ( $this->getUser()->isLoggedIn() ) {
-                       return $signupitle->getLocalURL();
+                       return $signupTitle->getLocalURL();
                }
                else {
                        return SpecialPage::getTitleFor( 'Userlogin' 
)->getLocalURL( array(

Modified: trunk/extensions/Contest/specials/SpecialMyContests.php
===================================================================
--- trunk/extensions/Contest/specials/SpecialMyContests.php     2011-10-12 
17:53:54 UTC (rev 99641)
+++ trunk/extensions/Contest/specials/SpecialMyContests.php     2011-10-12 
18:58:45 UTC (rev 99642)
@@ -441,7 +441,13 @@
                
                $allowedPatterns = array(
                        // GitHub URLs such as 
https://github.com/JeroenDeDauw/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b
-                       
'@^https://github\.com/[a-zA-Z0-9-]+/[a-zA-Z0-9_-]+/tree/[a-zA-Z0-9]{40}$@i'
+                       // 
'@^https://github\.com/[a-zA-Z0-9-]+/[a-zA-Z0-9_-]+/tree/[a-zA-Z0-9]{40}$@i'
+                       
+                       // Any GitHub URL
+                       '@^https://github\.com/.*$@i',
+                       
+                       // Any Gitorious URL
+                       '@^https://(www\.)?gitorious\.org/.*$@i',
                );
                
                foreach ( $allowedPatterns as $pattern ) {

Modified: trunk/extensions/Contest/test/ContestValidationTests.php
===================================================================
--- trunk/extensions/Contest/test/ContestValidationTests.php    2011-10-12 
17:53:54 UTC (rev 99641)
+++ trunk/extensions/Contest/test/ContestValidationTests.php    2011-10-12 
18:58:45 UTC (rev 99642)
@@ -18,15 +18,19 @@
                $tests = array(
                        
'https://github.com/JeroenDeDauw/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => true,
                        
'https://github.com/Jeroen-De-Dauw42/smwcon_-42/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => true,
-                       
'https://github.com/JeroenDeDauw$/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => false,
-                       
'https://github.com/JeroenDeDauw/smwcon/tree3/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => false,
-                       
'https://github.com/JeroenDeDauw/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53'
 => false,
-                       
'https://github.com/JeroenDeDauw/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53ba'
 => false,
-                       
'https://github.com/JeroenDeDauw/smwc*/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => false,
+//                     
'https://github.com/JeroenDeDauw$/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => false,
+//                     
'https://github.com/JeroenDeDauw/smwcon/tree3/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => false,
+//                     
'https://github.com/JeroenDeDauw/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53'
 => false,
+//                     
'https://github.com/JeroenDeDauw/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53ba'
 => false,
+//                     
'https://github.com/JeroenDeDauw/smwc*/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b'
 => false,
                        'in ur unit test, being quite silly' => false,
                        '   
https://github.com/JeroenDeDauw/smwcon/tree/f9b26ec4ba1101b1f5d4ef76b7ae6ad3dabfb53b
   ' => true,
                        '' => true,
                        '   ' => true,
+                       'https://github.com/JeroenDeDauw/smwcon' => true,
+                       'https://github.com/JeroenDeDauw' => true,
+                       'https://gitorious.org/statusnet' => true,
+                       
'https://gitorious.org/statusnet/mainline/merge_requests/2224' => true,
                );
                
                foreach ( $tests as $test => $isValdid ) {


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

Reply via email to