Пример #1
0
require_once "commandLine.inc";
$sitemap = new SitemapPage();
$namespaces = $sitemap->getNamespacesList();
wfOut("Caching {$wgDBname} ({$wgCityId}) for {$sitemap->mCacheTime} sec.\n");
/*
 * DPL causes some problems while parsing wiki text ( Video description )
 * so let's unset DPL parser hooks for maintenance script
 */
$key = array_search("ExtDynamicPageList::setupDPL", $wgHooks['ParserFirstCallInit']);
if ($key > 0) {
    unset($wgHooks['ParserFirstCallInit'][$key]);
}
$indexes = array();
foreach ($namespaces as $namespace) {
    echo "Caching namespace {$namespace}...";
    $indexes[$namespace] = $sitemap->cachePages($namespace);
    echo " pages " . count($indexes[$namespace]);
    echo " done\n";
    $includeVideo = (bool) F::app()->wg->EnableVideoSitemaps;
    if ($includeVideo && $namespace != NS_FILE) {
        $includeVideo = false;
    }
    if ($includeVideo) {
        echo "`-> Caching sitemaps for namespace: {$namespace} ...\n";
        $sitemap->cacheSitemap($namespace, $indexes);
    }
}
/**
 * cache for week
 */
$wgMemc->set(wfMemcKey("sitemap-index"), $indexes, $sitemap->mCacheTime);