Автор: создатель модуля
Модификация стандартного cron файла, модификация позволит создавать карту форума для поисковых систем.
Работает только с кроном, или при прямом обращение с нужными параметрами.
Загрузите файл из прикрепленного архива в директорию
/engine/bullet_energy/classes/Откройте файл cron.php в корневой директории сайта.
Найдите в этом файле строку:
if($cronmode == "sitemap") {
Замените эту строку на:
if($cronmode == "forum_map") {
include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng' ;
include_once ENGINE_DIR . '/bullet_energy/classes/google.class.php' ;
include_once ENGINE_DIR . '/bullet_energy/data/forum_config.php' ;
include_once ENGINE_DIR . '/bullet_energy/data/router_param_type_' . $bullet_energy_config['is_cpu_type'] . '.php' ;
$map = new googlemap() ;
$map->allow_url = $config['allow_alt_url'] ;
$map->home = $config['http_home_url'] ;
$map->router = $bulletRouter ;
if(!empty($bullet_energy_config['slash']) and $bullet_energy_config['cpu']) {
$map->endLinckSymbol = '/' ;
} else {
$map->endLinckSymbol = '' ;
}
$map->type = $bullet_energy_config['is_cpu_type'] ;
$map->cpu = $bullet_energy_config['cpu'] ;
$config['charset'] = strtolower($config['charset']) ;
$row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_be_topic") ;
$map->limit = $row['count'] ;
if($map->limit > 45000) {
$pages_count = @ceil($row['count'] / 40000) ;
$sitemap = $map->build_index($pages_count) ;
if($config['charset'] != "utf-8")
$sitemap = iconv($config['charset'], "UTF-8//IGNORE", $sitemap) ;
$handler = fopen(ROOT_DIR . "/uploads/forum_map.xml", "wb+") ;
fwrite($handler, $sitemap) ;
fclose($handler) ;
@chmod(ROOT_DIR . "/uploads/forum_map.xml", 0666) ;
if($config['charset'] != "utf-8")
$sitemap = iconv($config['charset'], "UTF-8//IGNORE", $sitemap) ;
$handler = fopen(ROOT_DIR . "/uploads/forum_map1.xml", "wb+") ;
fwrite($handler, $sitemap) ;
fclose($handler) ;
@chmod(ROOT_DIR . "/uploads/forum_map1.xml", 0666) ;
for ($i = 0; $i < $pages_count; $i++) {
$t = $i + 2 ;
$n = $n + 1 ;
$sitemap = $map->build_map_topic($n) ;
if($config['charset'] != "utf-8")
$sitemap = iconv($config['charset'], "UTF-8//IGNORE", $sitemap) ;
$handler = fopen(ROOT_DIR . "/uploads/forum_map{$t}.xml", "wb+") ;
fwrite($handler, $sitemap) ;
fclose($handler) ;
@chmod(ROOT_DIR . "/uploads/forum_map{$t}.xml", 0666) ;
}
} else {
$sitemap = $map->build_map() ;
if($config['charset'] != "utf-8")
$sitemap = iconv($config['charset'], "UTF-8//IGNORE", $sitemap) ;
$handler = fopen(ROOT_DIR . "/uploads/forum_map.xml", "wb+") ;
fwrite($handler, $sitemap) ;
fclose($handler) ;
@chmod(ROOT_DIR . "/uploads/forum_map.xml", 0666) ;
}
die("done") ;
} elseif($cronmode == "sitemap") {
Для автоматической генерации новой карты форума нужно добавить файл site.ru/cron.php?cronmode=forum_map в список задач cron. Карта сайта будет доступна по адресу site.ru/uploads/forum_map.xml