Replace spaces with tabs
[lhc/web/wiklou.git] / maintenance / generateSitemap.php
index 84c3d6a..b31eebd 100644 (file)
@@ -162,6 +162,8 @@ class GenerateSitemap extends Maintenance {
        }
 
        private function setNamespacePriorities() {
+               global $wgSitemapNamespacesPriorities;
+
                // Custom main namespaces
                $this->priorities[self::GS_MAIN] = '0.5';
                // Custom talk namesspaces
@@ -183,6 +185,19 @@ class GenerateSitemap extends Maintenance {
                $this->priorities[NS_HELP_TALK] = '0.1';
                $this->priorities[NS_CATEGORY] = '0.5';
                $this->priorities[NS_CATEGORY_TALK] = '0.1';
+
+               // Custom priorities
+               if ( $wgSitemapNamespacesPriorities !== false ) {
+                       foreach ( $wgSitemapNamespacesPriorities as $namespace => $priority ) {
+                               $float = floatval( $priority );
+                               if ( $float > 1.0 ) {
+                                       $priority = '1.0';
+                               } elseif ( $float < 0.0 ) {
+                                       $priority = '0.0';
+                               }
+                               $this->priorities[$namespace] = $priority;
+                       }
+               }
        }
 
        /**
@@ -194,7 +209,7 @@ class GenerateSitemap extends Maintenance {
                }
                # Create directory if needed
                if ( $fspath && !is_dir( $fspath ) ) {
-                       wfMkdirParents( $fspath ) or die( "Can not create directory $fspath.\n" );
+                       wfMkdirParents( $fspath, null, __METHOD__ ) or die( "Can not create directory $fspath.\n" );
                }
 
                return realpath( $fspath ) . DIRECTORY_SEPARATOR ;
@@ -298,7 +313,7 @@ class GenerateSitemap extends Maintenance {
                                }
                                $title = Title::makeTitle( $row->page_namespace, $row->page_title );
                                $date = wfTimestamp( TS_ISO_8601, $row->page_touched );
-                               $entry = $this->fileEntry( $title->getFullURL(), $date, $this->priority( $namespace ) );
+                               $entry = $this->fileEntry( $title->getCanonicalURL(), $date, $this->priority( $namespace ) );
                                $length += strlen( $entry );
                                $this->write( $this->file, $entry );
                                // generate pages for language variants
@@ -306,7 +321,7 @@ class GenerateSitemap extends Maintenance {
                                        $variants = $wgContLang->getVariants();
                                        foreach ( $variants as $vCode ) {
                                                if ( $vCode == $wgContLang->getCode() ) continue; // we don't want default variant
-                                               $entry = $this->fileEntry( $title->getFullURL( '', $vCode ), $date, $this->priority( $namespace ) );
+                                               $entry = $this->fileEntry( $title->getCanonicalURL( '', $vCode ), $date, $this->priority( $namespace ) );
                                                $length += strlen( $entry );
                                                $this->write( $this->file, $entry );
                                        }
@@ -456,7 +471,7 @@ class GenerateSitemap extends Maintenance {
 
                $this->limit = array(
                        strlen( $this->openFile() ),
-                       strlen( $this->fileEntry( $title->getFullUrl(), wfTimestamp( TS_ISO_8601, wfTimestamp() ), $this->priority( $namespace ) ) ),
+                       strlen( $this->fileEntry( $title->getCanonicalURL(), wfTimestamp( TS_ISO_8601, wfTimestamp() ), $this->priority( $namespace ) ) ),
                        strlen( $this->closeFile() )
                );
        }