Не дождался помощи. Зделал сам. Пользуйтесь кому надо
Код: Выделить всё
##############################################################
## Название мода: META generator
## Автор мода: Kraft kraft@trimedadus.ru
## Описание мода: Позволяет создавать для каждого форума и каждого топика свои мета-теги
## Версия мода: 1.0.0
##
## Уровень установки: лёгкий
## Время установки: 5 min
## Файлов для изменения: includes/page_header.php
## language/lang_russian/lang_admin.php
## language/lang_english/lang_admin.php
## language/lang_russian/lang_main.php
## language/lang_english/lang_main.php
## templates/subSilver/modcp_body.tpl
## templates/subSilver/admin/forum_edit_body.tpl
## admin/admin_forums.php
## modcp.php
##############################################################
## Author Notes:
## Мета теги для разделов форума меняются через панель Администратора
## Мета теги для топикав форума меняются через панель Модератора
##
## На главной странице значение метатегов равно "Main page"
## Изменяестя так:
## Открыть includes/page_header.php
## Найти "Main page" без кавычек
## Заменить на то, что нужно
##############################################################
## Прежде, чем добалять этот МОД на Ваш форум на всякий случай сохраните
## копии файлов МОДа и файлов, которые будут заменены.
##############################################################
#
#-----[ SQL ]------------------------------------------
#Where 'phpbb_' is your table prefix
ALTER TABLE phpbb_forums ADD `meta_descript` VARCHAR(255), ADD `meta_keywords` VARCHAR(255)
#
#-----[ SQL ]------------------------------------------
#Where 'phpbb_' is your table prefix
ALTER TABLE phpbb_topics ADD `meta_descript` VARCHAR(255), ADD `meta_keywords` VARCHAR(255)
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
language/lang_russian/lang_admin.php
#
#-----[ НАЙТИ ]------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
//Meta Mod
$lang['meta_descript'] = 'содержание мета-тега \'description\'';
$lang['meta_keywords'] = 'содержание мета-тега \'keywords\'';
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
language/lang_english/lang_admin.php
#
#-----[ НАЙТИ ]------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
//Meta Mod
$lang['meta_descript'] = 'content of \'description\' meta';
$lang['meta_keywords'] = 'content of \'keywords\' meta';
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
language/lang_russian/lang_main.php
#
#-----[ НАЙТИ ]------------------------------------------
#
?>
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
//Meta Mod
$lang['meta_descript'] = 'содержание мета-тега \'description\'';
$lang['meta_keywords'] = 'содержание мета-тега \'keywords\'';
$lang['set_meta']= 'Установить Мета-теги';
$lang['Metas_Installed'] = 'Мета-теги \'description\' и \'keywords\' были успешно добавленны к выбранным темам.';
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ НАЙТИ ]------------------------------------------
#
?>
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
//Meta Mod
$lang['meta_descript'] = 'content of \'description\' meta';
$lang['meta_keywords'] = 'content of \'keywords\' meta';
$lang['set_meta']= 'Set meta-tegs';
$lang['Metas_Installed'] = '\'description\' and \'keywords\' have been installed to the selected topics.';
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
includes/page_header.php
#
#-----[ НАЙТИ ]------------------------------------------
#
//
// The following assigns all _common_ variables that may be used at any point
// in a template.
//
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
//getting META info for forum
if(isset($topic_id)) {
$getmeta=mysql_query('select meta_descript, meta_keywords from '.TOPICS_TABLE.' where topic_id='.$topic_id);
if ($getmeta != ''){
$meta_row=mysql_fetch_array($getmeta);
}
$metatags="<meta name=\"description\" content=\"".$meta_row["meta_descript"]."\">\n<meta name=\"keywords\" content=\"".$meta_row["meta_keywords"]."\">";
} else if(isset($forum_id)){
$getmeta=mysql_query('select meta_descript, meta_keywords from '.FORUMS_TABLE.' where forum_id='.$forum_id);
$meta_row=mysql_fetch_array($getmeta);
$metatags="<meta name=\"description\" content=\"".$meta_row["meta_descript"]."\">\n<meta name=\"keywords\" content=\"".$meta_row["meta_keywords"]."\">";
} else {
$metatags="<meta name=\"description\" content=\"Main page\">\n<meta name=\"keywords\" content=\"Main page\">";
}
#
#-----[ НАЙТИ ]------------------------------------------
#
'NAV_LINKS' => $nav_links_html)
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
'META' => $metatags,
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
admin/admin_forums.php
#
#-----[ НАЙТИ ]------------------------------------------
#
//
// start forum prune stuff.
//
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
//getting META info for forum
$getmeta=mysql_query('select meta_descript, meta_keywords from '.FORUMS_TABLE.' where forum_id='.$forum_id);
$meta_row=mysql_fetch_array($getmeta);
$meta_descript=$meta_row["meta_descript"];
$meta_keywords=$meta_row["meta_keywords"];
#
#-----[ НАЙТИ ]------------------------------------------
#
'PRUNE_DAYS' => ( isset($pr_row['prune_days']) ) ? $pr_row['prune_days'] : 7,
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
'L_META_DESCRIPT' => $lang['meta_descript'],
'L_META_KEYWORDS' => $lang['meta_keywords'],
'META_DESCRIPT' => $meta_descript,
'META_KEYWORDS' => $meta_keywords,
#
#-----[ НАЙТИ ]------------------------------------------
#
$sql = "UPDATE " . FORUMS_TABLE . "
SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
#
#-----[ В СТРОКЕ, НАЙТИ ]------------------------------------------
#
forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "',
#
#-----[ В СТРОКЕ ПОСЛЕ, ДОБАВИТЬ ]------------------------------------------
#
meta_descript = '".$HTTP_POST_VARS['meta_descript']."', meta_keywords = '".$HTTP_POST_VARS['meta_keywords']."',
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
templates/subSilver/admin/forum_edit_body.tpl
#
#-----[ НАЙТИ ]------------------------------------------
#
<tr>
<td class="row1">{L_CATEGORY}</td>
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
<tr>
<td class="row1">{L_META_DESCRIPT}</td>
<td class="row2"><input type="text" size="25" name="meta_descript" value="{META_DESCRIPT}" class="post" /></td>
</tr>
<tr>
<td class="row1">{L_META_KEYWORDS}</td>
<td class="row2"><input type="text" size="25" name="meta_keywords" value="{META_KEYWORDS}" class="post" /></td>
</tr>
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
templates/subSilver/modcp_body.tpl
#
#-----[ НАЙТИ ]------------------------------------------
#
<td class="catBottom" colspan="5" height="29"> {S_HIDDEN_FIELDS}
<input type="submit" name="delete" class="liteoption" value="{L_DELETE}" />
<input type="submit" name="move" class="liteoption" value="{L_MOVE}" />
<input type="submit" name="lock" class="liteoption" value="{L_LOCK}" />
<input type="submit" name="unlock" class="liteoption" value="{L_UNLOCK}" />
</td>
#
#-----[ ПОСЛЕ, ДОБАВИТЬ ]------------------------------------------
#
<tr>
<td class="row2" colspan="2" align="right">
{L_META_DESCRIPT}
<input type="text" size="25" name="meta_descript" value="{META_DESCRIPT}" class="post" />
<br />
{L_META_KEYWORDS}
<input type="text" size="25" name="meta_keywords" value="{META_KEYWORDS}" class="post" />
</td>
<td class="row2" colspan="3"><input type="submit" name="set_meta" class="liteoption" value="{L_SET_META}" /></td>
</tr>
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
modcp.php
#
#-----[ НАЙТИ ]------------------------------------------
#
$unlock = ( isset($HTTP_POST_VARS['unlock']) ) ? TRUE : FALSE;
#
#-----[ ПОСЛЕ, ДОБАВИТЬ ]------------------------------------------
#
$set_meta = ( isset($HTTP_POST_VARS['set_meta']) ) ? TRUE : FALSE;
#
#-----[ НАЙТИ ]------------------------------------------
#
if ( $delete )
{
$mode = 'delete';
}
else if ( $move )
{
$mode = 'move';
}
else if ( $lock )
{
$mode = 'lock';
}
else if ( $unlock )
{
$mode = 'unlock';
}
#
#-----[ ПОСЛЕ, ДОБАВИТЬ ]------------------------------------------
#
else if ( $set_meta )
{
$mode = 'set_meta';
}
#
#-----[ НАЙТИ ]------------------------------------------
#
case 'split':
$page_title = $lang['Mod_CP'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
#
#-----[ ДО, ДОБАВИТЬ ]------------------------------------------
#
case 'set_meta':
if ( empty($HTTP_POST_VARS['topic_id_list']) && empty($topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['None_selected']);
}
$topics = ( isset($HTTP_POST_VARS['topic_id_list']) ) ? $HTTP_POST_VARS['topic_id_list'] : array($topic_id);
$topic_id_sql = '';
for($i = 0; $i < count($topics); $i++)
{
$topic_id_sql .= ( ( $topic_id_sql != "") ? ', ' : '' ) . intval($topics[$i]);
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET meta_descript = '".$HTTP_POST_VARS['meta_descript']."', meta_keywords = '".$HTTP_POST_VARS['meta_keywords']. "'
WHERE topic_id IN ($topic_id_sql)
AND forum_id = $forum_id
AND topic_moved_id = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
if ( !empty($topic_id) )
{
$redirect_page = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&sid=" . $userdata['session_id'];
$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
}
else
{
$redirect_page = "modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'];
$message = sprintf($lang['Click_return_modcp'], '<a href="' . $redirect_page . '">', '</a>');
}
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
);
message_die(GENERAL_MESSAGE, $lang['Metas_Installed'] . '<br /><br />' . $message);
break;
#
#-----[ НАЙТИ ]------------------------------------------
#
default:
$page_title = $lang['Mod_CP'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->assign_vars(array(
'FORUM_NAME' => $forum_name,
'L_MOD_CP' => $lang['Mod_CP'],
'L_MOD_CP_EXPLAIN' => $lang['Mod_CP_explain'],
'L_SELECT' => $lang['Select'],
'L_DELETE' => $lang['Delete'],
'L_MOVE' => $lang['Move'],
'L_LOCK' => $lang['Lock'],
'L_UNLOCK' => $lang['Unlock'],
'L_TOPICS' => $lang['Topics'],
'L_REPLIES' => $lang['Replies'],
'L_LASTPOST' => $lang['Last_Post'],
'L_SELECT' => $lang['Select'],
#
#-----[ ПОСЛЕ, ДОБАВИТЬ ]------------------------------------------
#
'L_META_DESCRIPT' => $lang['meta_descript'],
'L_META_KEYWORDS' => $lang['meta_keywords'],
'L_SET_META' => $lang['set_meta'],
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM