* (bug 1130) Reorder old title checks; use title null instead of empty
[lhc/web/wiklou.git] / includes / SpecialBooksources.php
index 8e7aa72..85a8178 100644 (file)
@@ -1,10 +1,16 @@
 <?php
+/**
+ * ISBNs in wiki pages will create links to this page, with the ISBN passed
+ * in via the query string.
+ *
+ * @package MediaWiki
+ * @subpackage SpecialPage
+ */
 
-# ISBNs in wiki pages will create links to this page, with
-# the ISBN passed in via the query string.
-
-function wfSpecialBooksources( $par )
-{
+/**
+ * Constructor
+ */
+function wfSpecialBooksources( $par ) {
        global $wgRequest;
        
        $isbn = $par;
@@ -17,6 +23,11 @@ function wfSpecialBooksources( $par )
        $bsl->show();
 }
 
+/**
+ *
+ * @package MediaWiki
+ * @subpackage SpecialPage
+ */
 class BookSourceList {
        var $mIsbn;
 
@@ -36,27 +47,25 @@ class BookSourceList {
        }
        
        function showList() {
-               global $wgOut, $wgUser, $wgLang;
+               global $wgOut, $wgUser, $wgContLang;
                $fname = "BookSourceList::showList()";
                
                # First, see if we have a custom list setup in
                # [[Wikipedia:Book sources]] or equivalent.
-               $bstitle = Title::newFromText( wfmsg( "booksources" ) );
-               $sql = "SELECT cur_text FROM cur " .
-                       "WHERE cur_namespace=4 and cur_title='" .
-                       wfStrencode( $bstitle->getDBkey() ) . "'";
-               $res = wfQuery( $sql, DB_READ, $fname );
-               if( ( $s = wfFetchObject( $res ) ) and ( $s->cur_text != "" ) ) {       
-                       $bstext = $s->cur_text;
-                       $bstext = str_replace( "MAGICNUMBER", $this->mIsbn, $bstext );
-                       
-                       $wgOut->addWikiText( $bstext );
-                       return;
+               $bstitle = Title::makeTitleSafe( NS_PROJECT, wfMsg( "booksources" ) );
+               $bsarticle = new Article( $bstitle );
+               if( $bsarticle->exists() ) {
+                       $bstext = $bsarticle->getContent( false );
+                       if( $bstext ) { 
+                               $bstext = str_replace( "MAGICNUMBER", $this->mIsbn, $bstext );
+                               $wgOut->addWikiText( $bstext );
+                               return;
+                       }
                }
                
                # Otherwise, use the list of links in the default Language.php file.
                $s = wfMsg( "booksourcetext" ) . "<ul>\n";
-               $bs = $wgLang->getBookstoreList() ;
+               $bs = $wgContLang->getBookstoreList() ;
                $bsn = array_keys ( $bs ) ;
                foreach ( $bsn as $name ) {
                        $adr = $bs[$name] ;