Merge branch 'feature/sitemap' into develop

Карта сайта в основную дев-ветку.
This commit is contained in:
Exile 2014-08-04 23:17:31 +04:00
commit 92d822d53c
13 changed files with 569 additions and 4 deletions

View file

@ -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);
-- --------------------------------------------------------

3
readme.txt Normal file
View file

@ -0,0 +1,3 @@
Для получения информации об установке движка, откройте в своем браузере указаную ссылку:
https://github.com/torrentpier/tracker/tree/master#torrentpier-ii

View file

@ -0,0 +1,52 @@
<?php
if (!empty($setmodules))
{
$module['Mods']['SITEMAP'] = basename(__FILE__);
return;
}
require('./pagestart.php');
require(INC_DIR .'functions_selects.php');
$sql = "SELECT * FROM " . BB_CONFIG;
if (!$result = DB()->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 = $lang['SITEMAP_CREATED'].': <b>'.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).'</b> '.$lang['SITEMAP_AVAILABLE'].': <a href="'.make_url('/sitemap/sitemap.xml').'" target="_blank">'.make_url('/sitemap/sitemap.xml').'</a>';
$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : $lang['SITEMAP_NOT_CREATED'];
$template->assign_vars(array(
'STATIC_SITEMAP' => $new['static_sitemap'],
'MESSAGE' => $message,
));
print_page('admin_sitemap.tpl', 'admin');

View file

@ -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');
}
}

64
upload/ajax/sitemap.php Normal file
View file

@ -0,0 +1,64 @@
<?php
if (!defined('IN_AJAX')) die(basename(__FILE__));
global $bb_cfg, $lang;
$mode = (string) $this->request['mode'];
$map = new sitemap();
$html = '';
switch ($mode)
{
case 'create':
$map->create();
if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml"))
{
$html .= $lang['SITEMAP_CREATED'].': <b>'.bb_date(TIMENOW, $bb_cfg['post_date_format']).'</b> '.$lang['SITEMAP_AVAILABLE'].': <a href="'.make_url('/sitemap/sitemap.xml').'" target="_blank">'.make_url('/sitemap/sitemap.xml').'</a>';
} else {
$html .= $lang['SITEMAP_NOT_CREATED'];
}
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 .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
} else {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://google.com/webmasters/sitemaps/ping?sitemap='.urlencode($map_link).'" target="_blank">http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.'</a>';
}
if (strpos($map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link), "OK") !== false) {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
} else {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://ping.blogs.yandex.ru/ping?sitemap='.urlencode($map_link).'" target="_blank">http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.'</a>';
}
if ($map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link)) {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
} else {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://www.bing.com/webmaster/ping.aspx?siteMap='.urlencode($map_link).'" target="_blank">http://www.bing.com/webmaster/ping.aspx?siteMap='.$map_link.'</a>';
}
if (strpos($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
} else {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.urlencode($map_link).'" target="_blank">http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.'</a>';
}
if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
} else {
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap='.urlencode($map_link).'" target="_blank">http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap='.$map_link.'</a>';
}
break;
}
$this->response['html'] = $html;
$this->response['mode'] = $mode;

View file

@ -68,7 +68,7 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do
// Version info
$bb_cfg['tp_version'] = '2.0.9 (RC)';
$bb_cfg['tp_release_date'] = '07-08-2014';
$bb_cfg['tp_release_date'] = '04-08-2014';
$bb_cfg['tp_release_state'] = 'R593';
// Database

View file

@ -0,0 +1,229 @@
<?php
class sitemap
{
var $home = "";
var $limit = 0;
var $topic_priority = "0.5";
var $stat_priority = "0.5";
var $priority = "0.6";
var $cat_priority = "0.7";
function sitemap () {
global $bb_cfg;
$this->home = 'http://'.$bb_cfg['server_name'].'/';
}
function build_map () {
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
$map .= $this->get_static();
$map .= $this->get_forum();
$map .= $this->get_topic();
$map .= "</urlset>";
return $map;
}
function build_index ($count) {
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
$lastmod = date("Y-m-d");
$map .= "<sitemap>\n<loc>{$this->home}sitemap/sitemap1.xml</loc>\n<lastmod>{$lastmod}</lastmod>\n</sitemap>\n";
for ($i = 0; $i < $count; $i++) {
$t = $i + 2;
$map .= "<sitemap>\n<loc>{$this->home}sitemap/sitemap{$t}.xml</loc>\n<lastmod>{$lastmod}</lastmod>\n</sitemap>\n";
}
$map .= "</sitemapindex>";
return $map;
}
function build_stat () {
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
$map .= $this->get_static();
$map .= $this->get_forum();
$map .= "</urlset>";
return $map;
}
function build_map_topic ($n) {
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
$map .= $this->get_topic($n);
$map .= "</urlset>";
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<url>\n";
$xml .= "\t\t<loc>$loc</loc>\n";
$xml .= "\t\t<lastmod>$lastmod</lastmod>\n";
$xml .= "\t\t<priority>" . $this->priority . "</priority>\n";
$xml .= "\t</url>\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);
}
}

View file

@ -0,0 +1,19 @@
<?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
require(INC_DIR .'class.sitemap.php');
$map = new sitemap();
$map->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);
}

View file

@ -2972,4 +2972,25 @@ $lang['MC_COMMENT'] = array(
'title' => 'Violation from %s',
'type' => 'Violation',
),
);
);
$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 <a href="http://www.google.com/webmasters/" target="_blank">Google Webmaster</a> using your Google account.';
$lang['SITEMAP_GOOGLE_2'] = '<a href="https://www.google.com/webmasters/tools/sitemap-list" target="_blank">Add sitemap</a> of site you registered.';
$lang['SITEMAP_YANDEX_1'] = 'Register your site at <a href="http://webmaster.yandex.ru/sites/" target="_blank">Yandex Webmaster</a> using your Yandex account.';
$lang['SITEMAP_YANDEX_2'] = '<a href="http://webmaster.yandex.ru/site/map.xml" target="_blank">Add sitemap</a> 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, <b>http://torrentpier.me/memberlist.php</b>) 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!';

View file

@ -2972,4 +2972,25 @@ $lang['MC_COMMENT'] = array(
'title' => 'Нарушение от %s',
'type' => 'Нарушение',
),
);
);
$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'] = 'Зарегистрируйте ваш сайт в <a href="http://www.google.com/webmasters/" target="_blank">Google Webmaster</a> с использованием вашей учетной записи Google.';
$lang['SITEMAP_GOOGLE_2'] = '<a href="https://www.google.com/webmasters/tools/sitemap-list" target="_blank">Добавьте файл sitemap</a> зарегистрированного вами сайта.';
$lang['SITEMAP_YANDEX_1'] = 'Зарегистрируйте ваш сайт в <a href="http://webmaster.yandex.ru/sites/" target="_blank">Yandex Webmaster</a> с использованием вашей учетной записи Yandex.';
$lang['SITEMAP_YANDEX_2'] = '<a href="http://webmaster.yandex.ru/site/map.xml" target="_blank">Добавьте файл sitemap</a> зарегистрированного вами сайта.';
$lang['SITEMAP_ADD_TITLE'] = 'Дополнительные страницы для sitemap';
$lang['SITEMAP_ADD_PAGE'] = 'Дополнительные страницы';
$lang['SITEMAP_ADD_EXP_1'] = 'Здесь вы можете указать дополнительные страницы сайта (например <b>http://torrentpier.me/memberlist.php</b>), которые должны быть включены в создаваемый файл вами файл sitemap.';
$lang['SITEMAP_ADD_EXP_2'] = 'Каждая ссылка должна начинаться с http(s):// и новой строки!';

View file

@ -2972,4 +2972,25 @@ $lang['MC_COMMENT'] = array(
'title' => 'Порушення від %s',
'type' => 'Порушення',
),
);
);
$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'] = 'Зареєструйте ваш сайт в <a href="http://www.google.com/webmasters/" target="_blank">Google Webmaster</a> з використанням вашого облікового запису Google.';
$lang['SITEMAP_GOOGLE_2'] = '<a href="https://www.google.com/webmasters/tools/sitemap-list" target="_blank">Додайте файл sitemap</a> зареєстрованого вами сайту.';
$lang['SITEMAP_YANDEX_1'] = 'Зареєструйте ваш сайт в <a href="http://webmaster.yandex.ru/sites/" target="_blank">Yandex Webmaster</a> з використанням вашого облікового запису Yandex.';
$lang['SITEMAP_YANDEX_2'] = '<a href="http://webmaster.yandex.ru/site/map.xml" target="_blank">Додайте файл sitemap</a> зареєстрованого вами сайту.';
$lang['SITEMAP_ADD_TITLE'] = 'Додаткові сторінки для sitemap';
$lang['SITEMAP_ADD_PAGE'] = 'Додаткові сторінки';
$lang['SITEMAP_ADD_EXP_1'] = 'Тут ви можете вказати додаткові сторінки сайту (наприклад <b>http://torrentpier.me/memberlist.php</b>), які повинні бути включені в створюваний файл вами файл sitemap.';
$lang['SITEMAP_ADD_EXP_2'] = 'Кожне посилання має починатись з http(s):// і нової рядки!';

0
upload/sitemap/.keep Normal file
View file

View file

@ -0,0 +1,122 @@
<style>
.btn{
color: rgb(255, 255, 255);
text-decoration: none;
padding: 2px 7px;
font-size: 12px;
border-radius: 3px;
}
.btn-success {
background-image: -moz-linear-gradient(top, #62c462, #51a351);
background-image: -ms-linear-gradient(top, #62c462, #51a351);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
background-image: -webkit-linear-gradient(top, #62c462, #51a351);
background-image: -o-linear-gradient(top, #62c462, #51a351);
background-image: linear-gradient(top, #62c462, #51a351);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
border-color: #51a351 #51a351 #387038;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
}
.btn-success:active,
.btn-success:disabled,
.btn-success:focus,
.btn-success:hover,
.btn-warning:active,
.btn-warning:disabled,
.btn-warning:focus,
.btn-warning:hover {
text-decoration: none;
color: rgb(255, 255, 255);
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.btn-warning:active,
.btn-warning:disabled,
.btn-warning:focus,
.btn-warning:hover {
background-color: #f89406;
}
.btn-success:active,
.btn-success:disabled,
.btn-success:focus,
.btn-success:hover {
background-color: #51a351;
}
.btn-warning {
background-color: #faa732;
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
background-image: -ms-linear-gradient(top, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
background-image: -o-linear-gradient(top, #fbb450, #f89406);
background-image: linear-gradient(top, #fbb450, #f89406);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
border-color: #f89406 #f89406 #ad6704;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
}
.td_pads { padding: 10px 15px !important; }
</style>
<script type="text/javascript">
ajax.sitemap = function(mode) {
ajax.exec({
action : 'sitemap',
mode : mode
});
}
ajax.callback.sitemap = function(data) {
if(data.mode == 'create') $('#mess_time').html(data.html);
else $('#sitemap').html(data.html);
}
</script>
<h1>{L_SITEMAP_ADMIN}</h1>
<form action="admin_sitemap.php" method="post">
<table class="forumline">
<tr class="row1">
<td width="25%"><span class="gen"><b>{L_INFORMATION}:</b></span></td>
<td class="td_pads"><div id="mess_time">{MESSAGE}</div></td>
</tr>
<tr class="row1">
<td width="25%"><span class="gen"><b>{L_SITEMAP_OPTIONS}:</b></span></td>
<td class="td_pads">
<a href="#" class="btn btn-success" onclick="ajax.sitemap('create'); return false;">{L_SITEMAP_CREATE}</a>&nbsp;&nbsp;
<a href="#" class="btn btn-warning" onclick="ajax.sitemap('search_update'); return false;">{L_SITEMAP_NOTIFY}</a><br />
<div id="sitemap"></div>
</td>
</tr>
<tr>
<th colspan="2">{L_SITEMAP_WHAT_NEXT}</th>
</tr>
<tr>
<td class="row1" colspan="2">
<p>1. {L_SITEMAP_GOOGLE_1}</p>
<p>2. {L_SITEMAP_GOOGLE_2}</p>
<p>3. {L_SITEMAP_YANDEX_1}</p>
<p>4. {L_SITEMAP_YANDEX_2}</p>
</td>
</tr>
<tr>
<th colspan="2">{L_SITEMAP_ADD_TITLE}</th>
</tr>
<tr class="row1">
<td class="row1">
<span class="gen"><b>{L_SITEMAP_ADD_PAGE}:</b></span>
</td>
<td>
<textarea name="static_sitemap" rows="5" cols="70">{STATIC_SITEMAP}</textarea><br />
<p>{L_SITEMAP_ADD_EXP_1} <b style="color: #993300;">{L_SITEMAP_ADD_EXP_2}</b></p>
</td>
</tr>
<tr>
<td class="catBottom" colspan="2">
<input type="submit" name="submit" value="{L_SUBMIT}" class="mainoption" />&nbsp;&nbsp;
<input type="reset" value="{L_RESET}" class="liteoption" />
</td>
</tr>
</table>
</form>