From f0317fa7c29fd79bd6d9d10de532f310a14bad46 Mon Sep 17 00:00:00 2001 From: Exile Date: Sat, 2 Aug 2014 21:11:49 +0400 Subject: [PATCH 1/6] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена карта сайта. Необходимо протестировать работоспособность и локализовать. --- install/sql/mysql.sql | 3 + readme.txt | 4 +- upload/admin/admin_sitemap.php | 52 +++++ upload/ajax.php | 10 + upload/ajax/sitemap.php | 64 +++++++ upload/includes/class.sitemap.php | 229 +++++++++++++++++++++++ upload/includes/cron/jobs/sitemap.php | 19 ++ upload/sitemap/.keep | 0 upload/templates/admin/admin_sitemap.tpl | 122 ++++++++++++ 9 files changed, 502 insertions(+), 1 deletion(-) create mode 100644 upload/admin/admin_sitemap.php create mode 100644 upload/ajax/sitemap.php create mode 100644 upload/includes/class.sitemap.php create mode 100644 upload/includes/cron/jobs/sitemap.php create mode 100644 upload/sitemap/.keep create mode 100644 upload/templates/admin/admin_sitemap.tpl diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index fe0a74fb6..66c0e5ab7 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -557,8 +557,10 @@ INSERT INTO `bb_config` VALUES ('seed_bonus_points', ''); INSERT INTO `bb_config` VALUES ('seed_bonus_tor_size', '0'); INSERT INTO `bb_config` VALUES ('seed_bonus_user_regdate', '0'); INSERT INTO `bb_config` VALUES ('site_desc', 'A little text to describe your forum'); +INSERT INTO `bb_config` VALUES ('sitemap_time', ''); INSERT INTO `bb_config` VALUES ('sitename', 'TorrentPier II - Torrent Tracker'); INSERT INTO `bb_config` VALUES ('smilies_path', 'images/smiles'); +INSERT INTO `bb_config` VALUES ('static_sitemap', ''); INSERT INTO `bb_config` VALUES ('topics_per_page', '50'); INSERT INTO `bb_config` VALUES ('xs_use_cache', '1'); INSERT INTO `bb_config` VALUES ('active_ads', ''); @@ -642,6 +644,7 @@ INSERT INTO `bb_cron` VALUES (18, 1, 'Seeder last seen', 'tr_update_seeder_last_ INSERT INTO `bb_cron` VALUES (19, 1, 'Captcha', 'captcha_gen_gc.php', 'daily', NULL, '05:00:00', 120, '', '', NULL, 0, '', 0, 0, 0); INSERT INTO `bb_cron` VALUES (20, 1, 'Tracker dl-complete count', 'tr_complete_count.php', 'interval', NULL, NULL, 255, '', '', '06:00:00', 0, '', 0, 0, 0); INSERT INTO `bb_cron` VALUES (21, 1, 'Cache garbage collector', 'cache_gc.php', 'interval', NULL, NULL, 255, '', '', '00:05:00', 0, '', 0, 0, 0); +INSERT INTO `bb_cron` VALUES (22, 1, 'Sitemap update', 'sitemap.php', 'daily', NULL, '06:00:00', 30, '', '', NULL, 0, '', 0, 0, 0); -- -------------------------------------------------------- diff --git a/readme.txt b/readme.txt index fd68905d4..997fb1c42 100644 --- a/readme.txt +++ b/readme.txt @@ -6,7 +6,8 @@ Заходим в phpmyadmin, открываем или создаем новую базу, потом импортируем дамп (install/sql/mysql.sql) Правим файл конфигурации config.php (изменяем данные входа в БД, остальное по усмотрению) -* Файлы favicon.ico (меняем на свою иконку, если есть), robots.txt(допуск или запрет ботам поисковиков к серверу, блокирует не все, меняем адреса в строках Host: и Sitemap: на свои адреса) +* favicon.ico (меняем на свою иконку, если есть) +* robots.txt (меняем адреса в строках Host: и Sitemap: на свои) ************************************ ** Права доступа на папки и файлы ** @@ -24,6 +25,7 @@ - images/ranks - images/smiles - log +- sitemap - triggers ************************************ diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php new file mode 100644 index 000000000..61cb44790 --- /dev/null +++ b/upload/admin/admin_sitemap.php @@ -0,0 +1,52 @@ +sql_query($sql)) +{ + bb_die('Could not query config information in admin_sitemap'); +} +else +{ + $new_params = array(); + + while ($row = DB()->sql_fetchrow($result)) + { + $config_name = $row['config_name']; + $config_value = $row['config_value']; + $default_config[$config_name] = $config_value; + $new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $default_config[$config_name]; + + if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name]) + { + $new_params[$config_name] = $new[$config_name]; + } + } + + if (isset($_POST['submit'])) + { + if (!empty($new_params)) + { + bb_update_config($new_params); + } + } +} + +$s_mess = 'Файл индекса создан '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; +$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл индекса не создан'; + +$template->assign_vars(array( + 'STATIC_SITEMAP' => $new['static_sitemap'], + 'MESSAGE' => $message, +)); + +print_page('admin_sitemap.tpl', 'admin'); \ No newline at end of file diff --git a/upload/ajax.php b/upload/ajax.php index 58539d0c8..2979402fa 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -55,6 +55,10 @@ switch ($ajax->action) case 'group_membership': require(INC_DIR . 'functions_group.php'); break; + + case 'sitemap'; + require(INC_DIR .'class.sitemap.php'); + break; } // position in $ajax->valid_actions['xxx'] @@ -78,6 +82,7 @@ class ajax_common 'change_user_opt' => array('admin'), 'manage_user' => array('admin'), 'manage_admin' => array('admin'), + 'sitemap' => array('admin'), 'mod_action' => array('mod'), 'topic_tpl' => array('mod'), @@ -406,4 +411,9 @@ class ajax_common { require(AJAX_DIR . 'chat.php'); } + + function sitemap() + { + require(AJAX_DIR .'sitemap.php'); + } } \ No newline at end of file diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php new file mode 100644 index 000000000..1a6c3a0d6 --- /dev/null +++ b/upload/ajax/sitemap.php @@ -0,0 +1,64 @@ +request['mode']; +$map = new sitemap(); +$html = ''; + +switch ($mode) +{ + case 'create': + $map->create(); + if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) + { + $html .= 'Файл индекса создан '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; + } else { + $html .= 'Файл индекса не создан'; + } + break; + + case 'search_update': + if (!@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) + { + $map->create(); + } + + $map_link = make_url('/sitemap/sitemap.xml'); + + if (strpos($map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link), "successfully added") !== false) { + $html .= '
Уведомление поисковой системы Google: отправка завершена'; + } else { + $html .= '
Уведомление поисковой системы Google: ошибка отправки URL: http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.''; + } + + if (strpos($map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link), "OK") !== false) { + $html .= '
Уведомление поисковой системы Yandex: отправка завершена'; + } else { + $html .= '
Уведомление поисковой системы Yandex: ошибка отправки URL: http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.''; + } + + if ($map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link)) { + $html .= '
Уведомление поисковой системы Bing: отправка завершена'; + } else { + $html .= '
Уведомление поисковой системы Bing: ошибка отправки'; + } + + if (strpos ($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) { + $html .= '
Уведомление поисковой системы Weblogs: отправка завершена'; + } else { + $html .= '
Уведомление поисковой системы Weblogs: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + } + + if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) { + $html .= '
Уведомление поисковой системы Yahoo: отправка завершена'; + } else { + $html .= '
Уведомление поисковой системы Yahoo: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + } + break; +} + +$this->response['html'] = $html; +$this->response['mode'] = $mode; \ No newline at end of file diff --git a/upload/includes/class.sitemap.php b/upload/includes/class.sitemap.php new file mode 100644 index 000000000..94616872d --- /dev/null +++ b/upload/includes/class.sitemap.php @@ -0,0 +1,229 @@ +home = 'http://'.$bb_cfg['server_name'].'/'; + } + + function build_map () { + $map = "\n\n"; + + $map .= $this->get_static(); + $map .= $this->get_forum(); + $map .= $this->get_topic(); + $map .= ""; + + return $map; + } + + function build_index ($count) { + $map = "\n\n"; + + $lastmod = date("Y-m-d"); + $map .= "\n{$this->home}sitemap/sitemap1.xml\n{$lastmod}\n\n"; + + for ($i = 0; $i < $count; $i++) { + $t = $i + 2; + $map .= "\n{$this->home}sitemap/sitemap{$t}.xml\n{$lastmod}\n\n"; + } + + $map .= ""; + + return $map; + } + + function build_stat () { + $map = "\n\n"; + + $map .= $this->get_static(); + $map .= $this->get_forum(); + $map .= ""; + + return $map; + } + + function build_map_topic ($n) { + $map = "\n\n"; + + $map .= $this->get_topic($n); + $map .= ""; + + return $map; + } + + function get_forum () { + global $datastore; + + $this->priority = $this->cat_priority; + $xml = ""; + $lastmod = date( "Y-m-d" ); + + if (!$forums = $datastore->get('cat_forums')) + { + $datastore->update('cat_forums'); + $forums = $datastore->get('cat_forums'); + } + $not_forums_id = $forums['not_auth_forums']['guest_view']; + + $ignore_forum_sql = ($not_forums_id) ? "WHERE forum_id NOT IN($not_forums_id)" : ''; + + $sql = DB()->sql_query("SELECT forum_id, forum_topics, forum_parent, forum_name FROM ".BB_FORUMS." ".$ignore_forum_sql." ORDER BY forum_id ASC"); + + while ($row = DB()->sql_fetchrow($sql)) { + if (function_exists('seo_url')) $loc = $this->home . seo_url(FORUM_URL . $row['forum_id'], $row['forum_name']); + else $loc = $this->home . FORUM_URL. $row['forum_id']; + $xml .= $this->get_xml( $loc, $lastmod ); + } + + return $xml; + } + + function get_topic ($page = false) { + global $datastore; + + $xml = ""; + $this->priority = $this->topic_priority; + + if ($page) { + $page = $page - 1; + $page = $page * 40000; + $this->limit = " LIMIT {$page},40000"; + } else { + if ($this->limit < 1) $this->limit = false; + if( $this->limit ) { + $this->limit = " LIMIT 0," . $this->limit; + } else { + $this->limit = ""; + } + } + + if (!$forums = $datastore->get('cat_forums')) { + $datastore->update('cat_forums'); + $forums = $datastore->get('cat_forums'); + } + + $not_forums_id = $forums['not_auth_forums']['guest_view']; + $ignore_forum_sql = ($not_forums_id) ? "WHERE forum_id NOT IN($not_forums_id)" : ''; + + $sql = DB()->sql_query("SELECT topic_id, topic_title, topic_time FROM " . BB_TOPICS . " ".$ignore_forum_sql." ORDER BY topic_time DESC" . $this->limit); + + while ($row = DB()->sql_fetchrow($sql)) { + if (function_exists('seo_url')) $loc = $this->home . seo_url(TOPIC_URL . $row['topic_id'], $row['topic_title']); + else $loc = $this->home . TOPIC_URL. $row['topic_id']; + $xml .= $this->get_xml($loc, date("Y-m-d", $row['topic_time'])); + } + + return $xml; + } + + function get_static () { + global $bb_cfg; + + $xml = ""; + $lastmod = date("Y-m-d"); + $this->priority = $this->stat_priority; + + if (isset($bb_cfg['static_sitemap'])) { + $static_url = preg_replace("/\s/", '', $bb_cfg['static_sitemap']); //вырезаем переносы строк + preg_match_all ('#(https?://[\w-]+[\.\w-]+/((?!https?://)[\w- ./?%&=])+)#', $static_url, $out); + + $static_url = count($out['0']); + if ($static_url > 0) + { + foreach($out['0'] as $url) + { + $loc = $url; + $xml .= $this->get_xml($loc, $lastmod); + } + } + } + + return $xml; + } + + function get_xml ($loc, $lastmod) { + $xml = "\t\n"; + + $xml .= "\t\t$loc\n"; + $xml .= "\t\t$lastmod\n"; + $xml .= "\t\t" . $this->priority . "\n"; + $xml .= "\t\n"; + + return $xml; + } + + function send_url ($url, $map) { + $data = false; + $file = $url.urlencode($map); + + if (function_exists('curl_init')) { + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, $file); + curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 6); + + $data = curl_exec($ch); + curl_close($ch); + + return $data; + } else { + return @file_get_contents($file); + } + } + + function create () { + $row = DB()->fetch_row("SELECT COUNT(*) AS count FROM ". BB_TOPICS); + + if (!$this->limit) $this->limit = $row['count']; + if ($this->limit > 40000) { + $pages_count = @ceil($row['count'] / 40000); + + $sitemap = $this->build_index($pages_count); + + $handler = fopen(BB_ROOT. "/sitemap/sitemap.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666); + + $sitemap = $this->build_stat(); + + $handler = fopen(BB_ROOT. "/sitemap/sitemap1.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666); + + for ($i = 0; $i < $pages_count; $i++) { + $t = $i + 2; + $n = $i + 1; + + $sitemap = $this->build_map_topic($n); + $handler = fopen(BB_ROOT. "/sitemap/sitemap{$t}.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap{$t}.xml", 0666); + } + } else { + $sitemap = $this->build_map(); + + $handler = fopen(BB_ROOT. "/sitemap/sitemap.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666); + } + + $params['sitemap_time'] = TIMENOW; + bb_update_config($params); + } +} \ No newline at end of file diff --git a/upload/includes/cron/jobs/sitemap.php b/upload/includes/cron/jobs/sitemap.php new file mode 100644 index 000000000..5d9e55ae3 --- /dev/null +++ b/upload/includes/cron/jobs/sitemap.php @@ -0,0 +1,19 @@ +create(); + +if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) +{ + $map_link = make_url('/sitemap/sitemap.xml'); + + $map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link); + $map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link); + $map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link); + $map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link); + $map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link); +} \ No newline at end of file diff --git a/upload/sitemap/.keep b/upload/sitemap/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/upload/templates/admin/admin_sitemap.tpl b/upload/templates/admin/admin_sitemap.tpl new file mode 100644 index 000000000..45910616a --- /dev/null +++ b/upload/templates/admin/admin_sitemap.tpl @@ -0,0 +1,122 @@ + + + + +

Меню управления Sitemap

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Информация
{MESSAGE}
Опции + Создать / Обновить файл карты сайта   Уведомить поисковые системы о наличии новой версии карты сайта
+
+
Дополнительные страницы для Sitemap
+ Дополнительные страницы
+

Здесь можно написать дополнительные страницы, например http://domain.ru/faq.php


+

Cсылки должны начинаться с http://

+
+ +
+    + +
Описание
+

1. Необходимо зарегистрироваться в Google Sitemaps с использованием вашей учетной записи Google.


+

2. Перейдите по ссылке "Добавьте вашу карту сайта".


+

3. Необходимо зарегистрироваться в Yandex Webmaster с использованием вашей учетной записи.


+

4. Добавить карту сайта в Yandex Webmaster


+
+
\ No newline at end of file From 0a3e461971b1dc041d39933cd1fe0926e98543ca Mon Sep 17 00:00:00 2001 From: Exile Date: Sun, 3 Aug 2014 02:45:30 +0400 Subject: [PATCH 2/6] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Стили в админке карты сайта. --- upload/admin/admin_sitemap.php | 4 +-- upload/ajax/sitemap.php | 4 +-- upload/templates/admin/admin_sitemap.tpl | 42 +++++++++++++----------- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php index 61cb44790..4eda8d0f5 100644 --- a/upload/admin/admin_sitemap.php +++ b/upload/admin/admin_sitemap.php @@ -41,8 +41,8 @@ else } } -$s_mess = 'Файл индекса создан '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; -$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл индекса не создан'; +$s_mess = 'Файл sitemap создан: '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; +$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл sitemap еще не создан'; $template->assign_vars(array( 'STATIC_SITEMAP' => $new['static_sitemap'], diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php index 1a6c3a0d6..4837a3757 100644 --- a/upload/ajax/sitemap.php +++ b/upload/ajax/sitemap.php @@ -14,9 +14,9 @@ switch ($mode) $map->create(); if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) { - $html .= 'Файл индекса создан '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; + $html .= 'Файл sitemap создан: '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; } else { - $html .= 'Файл индекса не создан'; + $html .= 'Файл sitemap еще не создан'; } break; diff --git a/upload/templates/admin/admin_sitemap.tpl b/upload/templates/admin/admin_sitemap.tpl index 45910616a..fa6a4f8d3 100644 --- a/upload/templates/admin/admin_sitemap.tpl +++ b/upload/templates/admin/admin_sitemap.tpl @@ -73,32 +73,45 @@ ajax.callback.sitemap = function(data) { } -

Меню управления Sitemap

+

Управление картой сайта

- + - + - + + + + + + + @@ -107,16 +120,5 @@ ajax.callback.sitemap = function(data) { - - - - - -
Информация{L_INFORMATION}:
{MESSAGE}
ОпцииОпции: - Создать / Обновить файл карты сайта   Уведомить поисковые системы о наличии новой версии карты сайта
+ Создать / обновить файл карты сайта   + Уведомить поисковые системы о наличии новой версии карты сайта
Дополнительные страницы для SitemapЧто сделать дальше?
+

1. Зарегистрируйте ваш сайт в Google Webmaster с использованием вашей учетной записи Google.

+

2. Зайдите в раздел "Файлы Sitemap" и нажмите кнопку "Добавление/проверка файла sitemap".

+

3. Зарегистрируйте ваш сайт в Yandex Webmaster с использованием вашей учетной записи.

+

4. Добавьте карту зарегистрированного вами сайта.

+
Дополнительные страницы для sitemap
- Дополнительные страницы
-

Здесь можно написать дополнительные страницы, например http://domain.ru/faq.php


-

Cсылки должны начинаться с http://

+ Дополнительные страницы:
- +
+

Здесь вы можете указать дополнительные страницы сайта (например http://torrentpier.me/memberlist.php), + которые должны быть включены в создаваемый файл вами файл sitemap. Каждая ссылка + должна начинаться с http(s):// и новой строки!

Описание
-

1. Необходимо зарегистрироваться в Google Sitemaps с использованием вашей учетной записи Google.


-

2. Перейдите по ссылке "Добавьте вашу карту сайта".


-

3. Необходимо зарегистрироваться в Yandex Webmaster с использованием вашей учетной записи.


-

4. Добавить карту сайта в Yandex Webmaster


-
\ No newline at end of file From b53d6c2b51c4b5f5cb84cfaf10ef3d95f3d3d258 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:08:51 +0400 Subject: [PATCH 3/6] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Локализация карты сайта. Разработка фичи завершена. --- upload/admin/admin_sitemap.php | 6 ++--- upload/ajax/sitemap.php | 28 ++++++++++++------------ upload/language/en/main.php | 23 ++++++++++++++++++- upload/language/ru/main.php | 23 ++++++++++++++++++- upload/language/ua/main.php | 23 ++++++++++++++++++- upload/templates/admin/admin_sitemap.tpl | 26 ++++++++++------------ 6 files changed, 95 insertions(+), 34 deletions(-) diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php index 4eda8d0f5..836ee58d5 100644 --- a/upload/admin/admin_sitemap.php +++ b/upload/admin/admin_sitemap.php @@ -2,7 +2,7 @@ if (!empty($setmodules)) { - $module['Mods']['Sitemap'] = basename(__FILE__); + $module['Mods']['SITEMAP'] = basename(__FILE__); return; } require('./pagestart.php'); @@ -41,8 +41,8 @@ else } } -$s_mess = 'Файл sitemap создан: '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; -$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл sitemap еще не создан'; +$s_mess = $lang['SITEMAP_CREATED'].': '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' '.lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; +$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : $lang['SITEMAP_NOT_CREATED']; $template->assign_vars(array( 'STATIC_SITEMAP' => $new['static_sitemap'], diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php index 4837a3757..a0c3806bd 100644 --- a/upload/ajax/sitemap.php +++ b/upload/ajax/sitemap.php @@ -2,7 +2,7 @@ if (!defined('IN_AJAX')) die(basename(__FILE__)); -global $bb_cfg; +global $bb_cfg, $lang; $mode = (string) $this->request['mode']; $map = new sitemap(); @@ -14,9 +14,9 @@ switch ($mode) $map->create(); if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) { - $html .= 'Файл sitemap создан: '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; + $html .= $lang['SITEMAP_CREATED'].': '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' '.$lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; } else { - $html .= 'Файл sitemap еще не создан'; + $html .= $lang['SITEMAP_NOT_CREATED']; } break; @@ -29,33 +29,33 @@ switch ($mode) $map_link = make_url('/sitemap/sitemap.xml'); if (strpos($map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link), "successfully added") !== false) { - $html .= '
Уведомление поисковой системы Google: отправка завершена'; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
Уведомление поисковой системы Google: ошибка отправки URL: http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.''; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: '.$lang['SITEMAP_ERROR'].' URL: http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.''; } if (strpos($map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link), "OK") !== false) { - $html .= '
Уведомление поисковой системы Yandex: отправка завершена'; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
Уведомление поисковой системы Yandex: ошибка отправки URL: http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.''; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: '.$lang['SITEMAP_ERROR'].' URL: http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.''; } if ($map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link)) { - $html .= '
Уведомление поисковой системы Bing: отправка завершена'; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
Уведомление поисковой системы Bing: ошибка отправки'; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: '.$lang['SITEMAP_ERROR'].' URL: http://www.bing.com/webmaster/ping.aspx?siteMap='.$map_link.''; } - if (strpos ($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) { - $html .= '
Уведомление поисковой системы Weblogs: отправка завершена'; + if (strpos($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) { + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
Уведомление поисковой системы Weblogs: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: '.$lang['SITEMAP_ERROR'].' URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; } if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) { - $html .= '
Уведомление поисковой системы Yahoo: отправка завершена'; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
Уведомление поисковой системы Yahoo: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_ERROR'].' URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; } break; } diff --git a/upload/language/en/main.php b/upload/language/en/main.php index caf5728db..d67bd3b51 100644 --- a/upload/language/en/main.php +++ b/upload/language/en/main.php @@ -2976,4 +2976,25 @@ $lang['MC_COMMENT'] = array( 'title' => 'Violation from %s', 'type' => 'Violation', ), -); \ No newline at end of file +); + +$lang['SITEMAP'] = 'Sitemap'; +$lang['SITEMAP_ADMIN'] = 'Manage sitemap'; +$lang['SITEMAP_CREATED'] = 'Sitemap created'; +$lang['SITEMAP_AVAILABLE'] = 'and is available at'; +$lang['SITEMAP_NOT_CREATED'] = 'Sitemap is not yet created'; +$lang['SITEMAP_NOTIFY_SEARCH'] = 'Notification of the search engine'; +$lang['SITEMAP_SENT'] = 'send completed'; +$lang['SITEMAP_ERROR'] = 'sending error'; +$lang['SITEMAP_OPTIONS'] = 'Options'; +$lang['SITEMAP_CREATE'] = 'Create / update the sitemap'; +$lang['SITEMAP_NOTIFY'] = 'Notify search engines about new version of sitemap'; +$lang['SITEMAP_WHAT_NEXT'] = 'What to do next?'; +$lang['SITEMAP_GOOGLE_1'] = 'Register your site at Google Webmaster using your Google account.'; +$lang['SITEMAP_GOOGLE_2'] = 'Add sitemap of site you registered.'; +$lang['SITEMAP_YANDEX_1'] = 'Register your site at Yandex Webmaster using your Yandex account.'; +$lang['SITEMAP_YANDEX_2'] = 'Add sitemap of site you registered.'; +$lang['SITEMAP_ADD_TITLE'] = 'Additional pages for sitemap'; +$lang['SITEMAP_ADD_PAGE'] = 'Additional pages'; +$lang['SITEMAP_ADD_EXP_1'] = 'You can specify additional pages on your site (for example, http://torrentpier.me/memberlist.php) which should be included in your sitemap file that you creating.'; +$lang['SITEMAP_ADD_EXP_2'] = 'Each reference must begin with http(s):// and a new line!'; \ No newline at end of file diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php index 6f5cadf3a..b4ba79c53 100644 --- a/upload/language/ru/main.php +++ b/upload/language/ru/main.php @@ -2976,4 +2976,25 @@ $lang['MC_COMMENT'] = array( 'title' => 'Нарушение от %s', 'type' => 'Нарушение', ), -); \ No newline at end of file +); + +$lang['SITEMAP'] = 'Карта сайта (sitemap)'; +$lang['SITEMAP_ADMIN'] = 'Управление картой сайта (sitemap)'; +$lang['SITEMAP_CREATED'] = 'Файл sitemap создан'; +$lang['SITEMAP_AVAILABLE'] = 'и доступен по адресу'; +$lang['SITEMAP_NOT_CREATED'] = 'Файл sitemap еще не создан'; +$lang['SITEMAP_NOTIFY_SEARCH'] = 'Уведомление поисковой системы'; +$lang['SITEMAP_SENT'] = 'отправка завершена'; +$lang['SITEMAP_ERROR'] = 'ошибка отправки'; +$lang['SITEMAP_OPTIONS'] = 'Опции'; +$lang['SITEMAP_CREATE'] = 'Создать / обновить файл sitemap'; +$lang['SITEMAP_NOTIFY'] = 'Уведомить поисковые системы о наличии новой версии файла sitemap'; +$lang['SITEMAP_WHAT_NEXT'] = 'Что сделать дальше?'; +$lang['SITEMAP_GOOGLE_1'] = 'Зарегистрируйте ваш сайт в Google Webmaster с использованием вашей учетной записи Google.'; +$lang['SITEMAP_GOOGLE_2'] = 'Добавьте файл sitemap зарегистрированного вами сайта.'; +$lang['SITEMAP_YANDEX_1'] = 'Зарегистрируйте ваш сайт в Yandex Webmaster с использованием вашей учетной записи Yandex.'; +$lang['SITEMAP_YANDEX_2'] = 'Добавьте файл sitemap зарегистрированного вами сайта.'; +$lang['SITEMAP_ADD_TITLE'] = 'Дополнительные страницы для sitemap'; +$lang['SITEMAP_ADD_PAGE'] = 'Дополнительные страницы'; +$lang['SITEMAP_ADD_EXP_1'] = 'Здесь вы можете указать дополнительные страницы сайта (например http://torrentpier.me/memberlist.php), которые должны быть включены в создаваемый файл вами файл sitemap.'; +$lang['SITEMAP_ADD_EXP_2'] = 'Каждая ссылка должна начинаться с http(s):// и новой строки!'; \ No newline at end of file diff --git a/upload/language/ua/main.php b/upload/language/ua/main.php index 833ea87e0..b47472108 100644 --- a/upload/language/ua/main.php +++ b/upload/language/ua/main.php @@ -2976,4 +2976,25 @@ $lang['MC_COMMENT'] = array( 'title' => 'Порушення від %s', 'type' => 'Порушення', ), -); \ No newline at end of file +); + +$lang['SITEMAP'] = 'Карта сайту (sitemap)'; +$lang['SITEMAP_ADMIN'] = 'Управління картою сайту (sitemap)'; +$lang['SITEMAP_CREATED'] = 'Файл sitemap створений'; +$lang['SITEMAP_AVAILABLE'] = 'і доступний за адресою'; +$lang['SITEMAP_NOT_CREATED'] = 'Файл sitemap ще не створено'; +$lang['SITEMAP_NOTIFY_SEARCH'] = 'Повідомлення пошукової системи'; +$lang['SITEMAP_SENT'] = 'відправка завершена'; +$lang['SITEMAP_ERROR'] = 'помилка відсилання'; +$lang['SITEMAP_OPTIONS'] = 'Опції'; +$lang['SITEMAP_CREATE'] = 'Створити / оновити файл sitemap'; +$lang['SITEMAP_NOTIFY'] = 'Повідомити пошукові системи про наявність нової версії файлу sitemap'; +$lang['SITEMAP_WHAT_NEXT'] = 'Що зробити далі?'; +$lang['SITEMAP_GOOGLE_1'] = 'Зареєструйте ваш сайт в Google Webmaster з використанням вашого облікового запису Google.'; +$lang['SITEMAP_GOOGLE_2'] = 'Додайте файл sitemap зареєстрованого вами сайту.'; +$lang['SITEMAP_YANDEX_1'] = 'Зареєструйте ваш сайт в Yandex Webmaster з використанням вашого облікового запису Yandex.'; +$lang['SITEMAP_YANDEX_2'] = 'Додайте файл sitemap зареєстрованого вами сайту.'; +$lang['SITEMAP_ADD_TITLE'] = 'Додаткові сторінки для sitemap'; +$lang['SITEMAP_ADD_PAGE'] = 'Додаткові сторінки'; +$lang['SITEMAP_ADD_EXP_1'] = 'Тут ви можете вказати додаткові сторінки сайту (наприклад http://torrentpier.me/memberlist.php), які повинні бути включені в створюваний файл вами файл sitemap.'; +$lang['SITEMAP_ADD_EXP_2'] = 'Кожне посилання має починатись з http(s):// і нової рядки!'; \ No newline at end of file diff --git a/upload/templates/admin/admin_sitemap.tpl b/upload/templates/admin/admin_sitemap.tpl index fa6a4f8d3..675f64548 100644 --- a/upload/templates/admin/admin_sitemap.tpl +++ b/upload/templates/admin/admin_sitemap.tpl @@ -73,7 +73,7 @@ ajax.callback.sitemap = function(data) { } -

Управление картой сайта

+

{L_SITEMAP_ADMIN}

@@ -82,36 +82,34 @@ ajax.callback.sitemap = function(data) { - + - + - + From cd4ef72f01a3f0bf00e9fa7a4c6cf37be901f3db Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:13:34 +0400 Subject: [PATCH 4/6] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фикс карты сайта. --- upload/admin/admin_sitemap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php index 836ee58d5..122178815 100644 --- a/upload/admin/admin_sitemap.php +++ b/upload/admin/admin_sitemap.php @@ -41,7 +41,7 @@ else } } -$s_mess = $lang['SITEMAP_CREATED'].': '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' '.lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; +$s_mess = $lang['SITEMAP_CREATED'].': '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' '.$lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; $message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : $lang['SITEMAP_NOT_CREATED']; $template->assign_vars(array( From 5c524ab2dcef54f7f5e63494c9602811fce1ca77 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:18:28 +0400 Subject: [PATCH 5/6] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Форматирование. --- upload/includes/class.sitemap.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/upload/includes/class.sitemap.php b/upload/includes/class.sitemap.php index 94616872d..75fd7a0e0 100644 --- a/upload/includes/class.sitemap.php +++ b/upload/includes/class.sitemap.php @@ -2,12 +2,12 @@ class sitemap { - var $home = ""; - var $limit = 0; + var $home = ""; + var $limit = 0; var $topic_priority = "0.5"; - var $stat_priority = "0.5"; - var $priority = "0.6"; - var $cat_priority = "0.7"; + var $stat_priority = "0.5"; + var $priority = "0.6"; + var $cat_priority = "0.7"; function sitemap () { global $bb_cfg; From 319fc3fb9ca10622e3dbe2357bbe5629c655d4b1 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 22:10:43 +0400 Subject: [PATCH 6/6] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Неправильный текст ссылки. --- upload/ajax/sitemap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php index a0c3806bd..b5aa40e2a 100644 --- a/upload/ajax/sitemap.php +++ b/upload/ajax/sitemap.php @@ -55,7 +55,7 @@ switch ($mode) if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) { $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_ERROR'].' URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + $html .= '
'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_ERROR'].' URL: http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap='.$map_link.''; } break; }
{MESSAGE}
Опции:{L_SITEMAP_OPTIONS}: - Создать / обновить файл карты сайта   - Уведомить поисковые системы о наличии новой версии карты сайта
+ {L_SITEMAP_CREATE}   + {L_SITEMAP_NOTIFY}
Что сделать дальше?{L_SITEMAP_WHAT_NEXT}
-

1. Зарегистрируйте ваш сайт в Google Webmaster с использованием вашей учетной записи Google.

-

2. Зайдите в раздел "Файлы Sitemap" и нажмите кнопку "Добавление/проверка файла sitemap".

-

3. Зарегистрируйте ваш сайт в Yandex Webmaster с использованием вашей учетной записи.

-

4. Добавьте карту зарегистрированного вами сайта.

+

1. {L_SITEMAP_GOOGLE_1}

+

2. {L_SITEMAP_GOOGLE_2}

+

3. {L_SITEMAP_YANDEX_1}

+

4. {L_SITEMAP_YANDEX_2}

Дополнительные страницы для sitemap{L_SITEMAP_ADD_TITLE}
- Дополнительные страницы: + {L_SITEMAP_ADD_PAGE}:
-

Здесь вы можете указать дополнительные страницы сайта (например http://torrentpier.me/memberlist.php), - которые должны быть включены в создаваемый файл вами файл sitemap. Каждая ссылка - должна начинаться с http(s):// и новой строки!

+

{L_SITEMAP_ADD_EXP_1} {L_SITEMAP_ADD_EXP_2}