http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84670
Revision: 84670
Author: ialex
Date: 2011-03-24 10:39:25 +0000 (Thu, 24 Mar 2011)
Log Message:
-----------
* Register special pages with $wgSpecialPages. These were the last calls to
SpecialPage::addPage().
* Dropped pre-1.13 compat code
* Use BeforePageDisplay hook to add a <link> item instead of doing this in an
extension functions
* Removed useless (and sometimes broken) require_once()
* Fixed path to "MwRdf" class in $wgAutoloadClasses
Modified Paths:
--------------
trunk/extensions/RdfRedland/Modelers/InPage.php
trunk/extensions/RdfRedland/SetupRdf.php
trunk/extensions/uniwiki/CustomToolbar/CustomToolbar.php
Modified: trunk/extensions/RdfRedland/Modelers/InPage.php
===================================================================
--- trunk/extensions/RdfRedland/Modelers/InPage.php 2011-03-24 08:44:42 UTC
(rev 84669)
+++ trunk/extensions/RdfRedland/Modelers/InPage.php 2011-03-24 10:39:25 UTC
(rev 84670)
@@ -24,8 +24,6 @@
* @ingroup Extensions
*/
-require_once( 'includes/Parser.php' );
-
class MwRdf_InPage_Modeler extends MwRdf_Modeler {
public function getName() { return 'inpage'; }
Modified: trunk/extensions/RdfRedland/SetupRdf.php
===================================================================
--- trunk/extensions/RdfRedland/SetupRdf.php 2011-03-24 08:44:42 UTC (rev
84669)
+++ trunk/extensions/RdfRedland/SetupRdf.php 2011-03-24 10:39:25 UTC (rev
84670)
@@ -25,21 +25,13 @@
* @ingroup Extensions
*/
-require_once( 'includes/GlobalFunctions.php' );
-require_once( 'includes/SpecialPage.php' );
-require_once( 'includes/Title.php' );
-require_once( 'includes/Article.php' );
-require_once( 'includes/User.php' );
-require_once( 'includes/Hooks.php' );
-require_once( 'includes/QueryPage.php' );
-
// To be redefined as needed in LocalSettings.php
$wgRdfStoreType = 'hashes';
$wgRdfStoreName = 'mwrdfstore';
$wgRdfStoreOptions = "hash-type='bdb',dir='$IP/rdfdata',contexts='yes'";
# Load our constituant classes
-$wgAutoloadClasses['MwRdf'] = "$IP/extensions/Rdf/Rdf.php";
+$wgAutoloadClasses['MwRdf'] = "$IP/extensions/RdfRedland/Rdf.php";
// Add custom Model Maker classes to this list
$wgRdfModelMakers = array( 'MwRdf_CreativeCommons_Modeler',
@@ -63,51 +55,43 @@
'cc' => 'MwRdf_Vocabulary_CreativeCommons'
);
-$wgExtensionFunctions[] = 'setupMwRdf';
-
$wgExtensionMessagesFiles['RdfRedland'] = dirname( __FILE__ ) .
'/RdfRedland.i18n.php';
$wgHooks['ParserFirstCallInit'][] = 'wfRdfOnParserFirstCallInit';
-$wgHooks['ArticleSave'][] = array( 'wfRdfOnArticleSave' );
-$wgHooks['ArticleSaveComplete'][] = array( 'wfRdfOnArticleSaveComplete' );
-$wgHooks['TitleMoveComplete'][] = array( 'wfRdfOnTitleMoveComplete' );
-$wgHooks['ArticleDeleteComplete'][] = array( 'wfRdfOnArticleDeleteComplete' );
+$wgHooks['ArticleSave'][] = 'wfRdfOnArticleSave';
+$wgHooks['ArticleSaveComplete'][] = 'wfRdfOnArticleSaveComplete';
+$wgHooks['TitleMoveComplete'][] = 'wfRdfOnTitleMoveComplete';
+$wgHooks['ArticleDeleteComplete'][] = 'wfRdfOnArticleDeleteComplete';
+$wgHooks['BeforePageDisplay'][] = 'wfRdfOnBeforePageDisplay';
-function setupMwRdf() {
- global $wgRequest, $wgOut;
+$wgSpecialPages['Rdf'] = array( 'SpecialPage', 'Rdf', '', true,
'wfRdfSpecialPage' );
- SpecialPage::addPage(new SpecialPage('Rdf', '', true,
'wfRdfSpecialPage',
- 'extensions/Rdf/Rdf.php'));
+// FIXME: function wfSpecialRdfQuery() does not exist
+//$wgSpecialPages['RdfQuery'] = array( 'SpecialPage', 'RdfQuery', '', true,
'wfSpecialRdfQuery' );
- SpecialPage::addPage(new SpecialPage('RdfQuery', '', true,
'wfSpecialRdfQuery',
- 'extensions/Rdf/Rdf.php'));
+function wfRdfOnBeforePageDisplay( $out, $sk ) {
+ global $wgRequest;
# Add an RDF metadata link if requested
- $action = $wgRequest->getText('action', 'view');
-
- # Note: $wgTitle not yet set; have to get it from the request
- $title = $wgRequest->getText('title');
- if ( ! isset($title) || strlen($title) == 0 )
+ $action = $wgRequest->getVal( 'action', 'view' );
+ if ( $action != 'view' ) {
return true;
+ }
- $nt = Title::newFromText($title);
- if ( ! isset( $nt ) || $nt->getNamespace() == NS_SPECIAL )
+ $title = $out->getTitle();
+ if ( $title->getNamespace() == NS_SPECIAL ) {
return true;
+ }
-
- # finally *if* this is a page view we need to add the link
- if ( ! $action == 'view')
- return true;
-
$rdft = SpecialPage::getTitleFor( 'Rdf' );
- $target = $nt->getPrefixedDBkey();
+ $target = $title->getPrefixedDBkey();
$linkdata = array(
'title' => 'RDF Metadata',
'type' => 'application/rdf+xml',
'href' => $rdft->getLocalURL( array( 'target' => $target ) )
);
- $wgOut->addMetadataLink($linkdata);
+ $out->addMetadataLink($linkdata);
return true;
}
Modified: trunk/extensions/uniwiki/CustomToolbar/CustomToolbar.php
===================================================================
--- trunk/extensions/uniwiki/CustomToolbar/CustomToolbar.php 2011-03-24
08:44:42 UTC (rev 84669)
+++ trunk/extensions/uniwiki/CustomToolbar/CustomToolbar.php 2011-03-24
10:39:25 UTC (rev 84670)
@@ -78,13 +78,7 @@
}
-$wgExtensionFunctions[] = 'wfCustomToolbarUploadForm';
-function wfCustomToolbarUploadForm() {
- $file = "extensions/uniwiki/CustomToolbar/CustomToolbar.php";
- SpecialPage::addPage(
- new UnlistedSpecialPage('CustomToolbarUpload', '', false, $file)
- );
-}
+$wgSpecialPages['CustomToolbarUpload'] = array( 'UnlistedSpecialPage',
'CustomToolbarUpload' );
function wfSpecialCustomToolbarUpload() {
global $wgRequest;
@@ -94,12 +88,9 @@
$wgHooks['UploadComplete'][] = array('CustomToolbarUploadForm::showSuccess');
//XX TODO investigate FileUpload hook for attachment purposes
//$wgHooks['FileUpload'][] = array('CustomToolbarUploadForm::showSuccess',
'attachment');
-$wgSpecialRefactorVersion = '1.13.0';
-if (version_compare($wgVersion, $wgSpecialRefactorVersion, '<')) {
- require_once('includes/SpecialUpload.php');
-} else {
- require_once('includes/specials/SpecialUpload.php');
-}
+
+require_once('includes/specials/SpecialUpload.php');
+
class CustomToolbarUploadForm extends UploadForm {
/* Some code poached from Travis Derouin's <[email protected]>
* UploadPopup extension
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs