limit for IP addresses: [[MediaWiki:Ratelimit-excluded-ips]]
* Special:Version now displays whether a SQLite database supports full-text
search.
+* (bug 24343) New parser hook {{linkurl:}}, same as {{localurl:}} with fragment
=== Bug fixes in 1.17 ===
* (bug 17560) Half-broken deletion moved image files to deletion archive
$parser->setFunctionHook( 'localurle', array( __CLASS__, 'localurle' ), SFH_NO_HASH );
$parser->setFunctionHook( 'fullurl', array( __CLASS__, 'fullurl' ), SFH_NO_HASH );
$parser->setFunctionHook( 'fullurle', array( __CLASS__, 'fullurle' ), SFH_NO_HASH );
+ $parser->setFunctionHook( 'linkurl', array( __CLASS__, 'linkurl' ), SFH_NO_HASH );
$parser->setFunctionHook( 'formatnum', array( __CLASS__, 'formatnum' ), SFH_NO_HASH );
$parser->setFunctionHook( 'grammar', array( __CLASS__, 'grammar' ), SFH_NO_HASH );
$parser->setFunctionHook( 'gender', array( __CLASS__, 'gender' ), SFH_NO_HASH );
static function localurle( $parser, $s = '', $arg = null ) { return self::urlFunction( 'escapeLocalURL', $s, $arg ); }
static function fullurl( $parser, $s = '', $arg = null ) { return self::urlFunction( 'getFullURL', $s, $arg ); }
static function fullurle( $parser, $s = '', $arg = null ) { return self::urlFunction( 'escapeFullURL', $s, $arg ); }
+ static function linkurl( $parser, $s = '', $arg = null ) { return self::urlFunction( 'getLinkUrl', $s, $arg ); }
static function urlFunction( $func, $s = '', $arg = null ) {
$title = Title::newFromText( $s );
'nse' => array( 0, 'NSE:' ),
'localurl' => array( 0, 'LOCALURL:' ),
'localurle' => array( 0, 'LOCALURLE:' ),
+ 'linkurl' => array( 0, 'LINKURL:' ),
'articlepath' => array( 0, 'ARTICLEPATH' ),
'server' => array( 0, 'SERVER' ),
'servername' => array( 0, 'SERVERNAME' ),
<?php
class TitleTest extends PHPUnit_Framework_TestCase {
+ function setUp() {
+ global $wgContLang;
+ $wgContLang = Language::factory( 'en' );
+ }
function testLegalChars() {
$titlechars = Title::legalChars();
}
}
}
+
+ /**
+ * Test originally wrote to investigate bug 24343
+ * FIXME : some tests might fail depending on local settings.
+ */
+ function testGetURLS() {
+ global $wgArticlePath, $wgScript;
+
+ $title = Title::newFromText( 'User:Bob#section' );
+
+ $this->assertEquals( "$wgScript/User:Bob", $title->getLocalURL(),
+ 'Title::getLocalURL() does NOT have fragment' );
+ $this->assertEquals( "$wgScript/User:Bob", $title->escapeLocalURL(),
+ 'Title::escapeLocalURL() does NOT have fragment' );
+ $this->assertEquals( "$wgScript/User:Bob#section", $title->getLinkURL(),
+ 'Title::getLinkURL() does have fragment' );
+
+ #$this->assertEquals( 'toto', $title->getFullURL() );
+ #$this->assertEquals( 'toto', $title->escapeFullURL() );
+ }
}