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

Reply via email to