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