## MOD Title: phpBB SEO Ultimate SEO URL
## MOD Author: dcz / http://www.phpbb-seo.com
## MOD Description: This mod will URL rewrite phpBB URLs in a lot of different ways.
Ещё внимание!
Об авторских правах. Этот мод распространяется под лицензией RPL. Подробнее смотрите здесь
phpBB SEO Ultimate SEO URL
Самый мощный и гибконастраиваемый мод для создания ЧПУ на форуме.
Возможна работа в трех режимах: Расширенном (Advanced), Смешаном (Mixed) и Простом (Simple)
В этой теме осуществляется поддержка только актуальной версии. До версии 0.6.0 все три режима шли отдельными модами.
Их обсуждение можно найти в этих темах:
Advanced phpBB3 SEO mod Rewrite
Simple phpBB3 SEO mod Rewrite
Теперь они не поддерживаются. Обновляйтесь до актуальной версии, если вам нужна поддержка.
Переведенная инструкция по установке с описанием функций мода и первоначальными настройками. Автор перевода: Slon77
Внимание!
При работе этого мода возможны конфликты с другими модами, установленными на вашей конференции. Например, с модами, дающими ссылку на сообщения на форуме, - в этом случае ссылки остаются не ЧПУ. Решение для каждого мода индивидуальное. На данный момент мне не известно о решении этих проблем, но, возможно, они есть на официальном форуме.
Сделано при помощи rxu и Izya
В файле viewtopic_body.html вашего стиля
НайтиЗаменить наКод: Выделить всё
<a href="#postform" onclick="addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{L_QUOTE}</a>
В файле language\ru\viewtopic.phpКод: Выделить всё
<a href="javascript:void(0)" onclick="if((window.getSelection && window.getSelection().toString() == '') || (document.getSelection && document.getSelection() == '') || (document.selection && document.selection.createRange().text == '')){alert('{L_NO_SELECTION}');}else{ addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false; }" title="{L_QUOTE_TEXT}">{L_QUOTE}</a>
НайтиДобавить передКод: Выделить всё
'ATTACHMENT' => 'Вложение',
Код: Выделить всё
'NO_SELECTION' => 'Вы ничего не выделили',
Код: Выделить всё
http://musite.ru/forum/topicXXXXXX.html
.../topicXXXXXX.html
<---Открыть
Root/viewtopic.php
Найти
Код: Выделить всё
// Do we have a topic or post id?
if (!$topic_id && !$post_id)
{
trigger_error('NO_TOPIC');
}
Код: Выделить всё
// End fix phpBB SEO Ultimate SEO URL -Users browsing this forum
else if (!$forum_id)
{
if ($topic_id)
{
$sql = 'SELECT forum_id
FROM ' . TOPICS_TABLE . "
WHERE topic_id = $topic_id";
$result = $db->sql_query($sql);
$forum_id = (int) $db->sql_fetchfield('forum_id');
$db->sql_freeresult($result);
if ($forum_id)
{
$user->page['forum'] = $forum_id;
$sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array(
'session_forum_id' => $user->page['forum'],
)) . " WHERE session_id = '" . $db->sql_escape($user->session_id) . "'";
$result = $db->sql_query($sql);
}
}
}
// End fix phpBB SEO Ultimate SEO URL -Users browsing this forum
В случае если url имеют вид
Код: Выделить всё
http://musite.ru/forum/postXXXXXX.html#pXXXXXX
.../postXXXXXX.html#pXXXXXX
<---Открыть
Root/viewtopic.php
Найти
Код: Выделить всё
// Do we have a topic or post id?
if (!$topic_id && !$post_id)
{
trigger_error('NO_TOPIC');
}
Код: Выделить всё
// fix phpBB SEO Ultimate SEO URL -Users browsing this forum
else if (!$forum_id)
{
if ($topic_id)
{
$sql = 'SELECT forum_id
FROM ' . TOPICS_TABLE . "
WHERE topic_id = $topic_id";
$result = $db->sql_query($sql);
} else {
$sql = 'SELECT forum_id
FROM ' . POSTS_TABLE . "
WHERE post_id = $post_id";
$result = $db->sql_query($sql);
}
$forum_id = (int) $db->sql_fetchfield('forum_id');
$db->sql_freeresult($result);
if ($forum_id)
{
$user->page['forum'] = $forum_id;
$sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array(
'session_forum_id' => $user->page['forum'],
)) . " WHERE session_id = '" . $db->sql_escape($user->session_id) . "'";
$result = $db->sql_query($sql);
}
}
// End fix phpBB SEO Ultimate SEO URL -Users browsing this forum
Найти (первое вхождение)
Код: Выделить всё
return;
}
Код: Выделить всё
// Custom characters replacement
$url_replace = array(
'А' => 'A', 'а' => 'a',
'Б' => 'B', 'б' => 'b',
'В' => 'V', 'в' => 'v',
'Г' => 'G', 'г' => 'g',
'Д' => 'D', 'д' => 'd',
'Е' => 'E', 'е' => 'e',
'Ё' => 'E', 'ё' => 'e',
'Ж' => 'J', 'ж' => 'j',
'З' => 'Z', 'з' => 'z',
'И' => 'I', 'и' => 'i',
'Й' => 'Y', 'й' => 'y',
'К' => 'K', 'к' => 'k',
'Л' => 'L', 'л' => 'l',
'М' => 'M', 'м' => 'm',
'Н' => 'N', 'н' => 'n',
'О' => 'O', 'о' => 'o',
'П' => 'P', 'п' => 'p',
'Р' => 'R', 'р' => 'r',
'С' => 'S', 'с' => 's',
'Т' => 'T', 'т' => 't',
'У' => 'U', 'у' => 'u',
'Ф' => 'F', 'ф' => 'f',
'Х' => 'H', 'х' => 'h',
'Ц' => 'C', 'ц' => 'c',
'Ч' => 'CH', 'ч' => 'ch',
'Ш' => 'SH', 'ш' => 'sh',
'Щ' => 'SHCH', 'щ' => 'shch',
'Ъ' => '', 'ъ' => '',
'Ы' => 'I', 'ы' => 'i',
'Ь' => '', 'ь' => '',
'Э' => 'E', 'э' => 'e',
'Ю' => 'U', 'ю' => 'u',
'Я' => 'YA','я' => 'ya',
);
$this->seo_opt['url_find'] = array_keys($url_replace);
$this->seo_opt['url_replace'] = array_values($url_replace);
// Custom characters replacement
Код: Выделить всё
$url = preg_replace('`\[.*\]`U','',$url);
Код: Выделить всё
$url = str_replace( $this->seo_opt['url_find'], $this->seo_opt['url_replace'], $url );
Открыть posting.php, найти:Заменить на:Код: Выделить всё
if (($pos = strrpos($redirect_url, '#')) !== false) { $redirect_url = substr_replace($redirect_url, "&ipr_p={$data['post_id']}", $pos); } redirect($redirect_url);
Код: Выделить всё
//-- mod : Instant Post Redirect adds ipr_p - IE-Fix if (($pos = strrpos($redirect_url, '#')) !== false) { // $redirect_url = substr_replace($redirect_url, "&ipr_p={$data['post_id']}", $pos); $seo_sep = strpos($redirect_url, '?') !== false ? '&' : '?'; $redirect_url = substr_replace($redirect_url, $seo_sep . "ipr_p={$data['post_id']}", $pos); } redirect($redirect_url); //-- end mod : Instant Post Redirect
открыть:
phpbb_seo/phpbb_seo_class.php
найти:
Перед добавитьКод: Выделить всё
if ( $this->seo_opt['url_rewrite'] && !defined('ADMIN_START') && isset($this->file_hbase[$this->seo_opt['req_file']])) { $this->seo_opt['seo_base_href'] = '<base href="' . $this->file_hbase[$this->seo_opt['req_file']] . '"/>'; }
Код: Выделить всё
if (strpos($this->seo_opt['req_self'], GALLERY_ROOT_PATH) !== false) { $this->file_hbase['index'] = $this->file_hbase['search'] = $this->seo_path['phpbb_url'] . GALLERY_ROOT_PATH; }
------------
------------
Русский перевод от klahla [Русский перевод] phpBB SEO Ultimate SEO URL 0.7.0
Обновления
Выпущена версия 0.6.2 совместимая с phpBB 3.0.6. Рекомендуется обновиться. Скачать можно здесь
-----------
Доступна версия phpBB SEO Ultimate SEO URL V 0.6.6 совместимая с phpBB 3.0.8
----------
phpBB SEO Zero Duplicate V 0.6.6
---------
Доступна версия phpBB Ultimate SEO URL v0.6.8 совместимая с phpBB 3.0.9
---------
Мод карты сайта работающий во всех режимах seo мода GYM sitemaps & RSS
--------
Доступна версия phpBB SEO Ultimate SEO URL v0.7.0 совместимая с phpBB3 3.0.10
Мод phpBB SEO Related Topics выводить список похожих тем на странице просмотра темы.