Пример #1
0
            sitemap_parse($t, $items, array('url' => cot_url('users', array('m' => 'details', 'id' => $row['user_id'], 'u' => $row['user_name'])), 'date' => '', 'freq' => $cfg['plugin']['sitemap']['users_freq'], 'prio' => $cfg['plugin']['sitemap']['users_prio']));
        }
    }
    /* === Hook === */
    foreach (cot_getextplugins('sitemap.main') as $pl) {
        include $pl;
    }
    /* ===== */
    // Save the last page
    $t->parse();
    sitemap_save($t->text(), (int) ceil($items / $perpage) - 1);
    // Save count file
    file_put_contents($count_file, $items);
}
if ($a == 'index') {
    // Show sitemap index
    $t = new XTemplate(cot_tplfile('sitemap.index', 'plug'));
    $pages = (int) ceil($items / $perpage);
    foreach (range(0, $pages - 1) as $pg) {
        $durl = $pg > 0 ? "&d={$pg}" : '';
        $filename = $pg > 0 ? $cfg['cache_dir'] . "/sitemap/sitemap.{$pg}.xml" : $cfg['cache_dir'] . "/sitemap/sitemap.xml";
        $t->assign(array('SITEMAP_ROW_URL' => COT_ABSOLUTE_URL . cot_url('plug', 'r=sitemap' . $durl), 'SITEMAP_ROW_DATE' => sitemap_date(filemtime($filename))));
        $t->parse('MAIN.SITEMAP_ROW');
    }
    $t->parse();
    echo sitemap_compress($t->text());
} else {
    // Show requested sitemap
    sitemap_load($items, $d);
}
exit;
Пример #2
0
/**
 * Saves a cache file
 * @param  string  $xml XML source
 * @param  integer $d   Sitemap page number
 */
function sitemap_save($xml, $d = 0)
{
    global $cfg;
    if (!file_exists($cfg['cache_dir'] . '/sitemap')) {
        mkdir($cfg['cache_dir'] . '/sitemap');
    }
    $filename = $d > 0 ? $cfg['cache_dir'] . "/sitemap/sitemap.{$d}.xml" : $cfg['cache_dir'] . "/sitemap/sitemap.xml";
    file_put_contents($filename, sitemap_compress($xml));
}