Пропустить

Как вставить поле для ввода в панель модератора?

Форум для авторов модов для phpBB 2.0.x.

Как вставить поле для ввода в панель модератора?

Сообщение Kraft » 28.08.2006 9:58

Я взял мод Custom META generator, который позволяет создавать для каждого форума свои мета-теги и название страницы (title) и немного его переделал так, чтобы можно было ставить теги и на отдельные топеки. Проблема в том, что я не силен в PHP :oops: и не знаю как прикрутить интерфейс для добавления и редактирования тегов. Желательно чтобы это было через панель модератора. Пока что данные в базу вношу с помощью phpmyadmin.

Помогите plz.

Вот переделанный мной код мода:
#
#-----[ SQL ]------------------------------------------
#Where 'phpbb_' is your table prefix 
ALTER TABLE phpbb_forums ADD `meta_descript` VARCHAR(255), ADD `meta_keywords` VARCHAR(255)

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\'';
$lang['meta_edit'] = 'Мета-теги выводятся в начале каждой страницы форума';
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#
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=\"Trimedadus1\">\n<meta name=\"keywords\" content=\"Trimedadus2\">";
}
#
#-----[ НАЙТИ ]------------------------------------------
#
        '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>
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM

Kraft
phpBB 1.2.1
 
Сообщения: 27
Зарегистрирован: 28.08.2006 9:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Kraft » 29.08.2006 15:23

неужели ни кто на этом форуме не имеет представления о PHP?

Kraft
phpBB 1.2.1
 
Сообщения: 27
Зарегистрирован: 28.08.2006 9:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение avm » 29.08.2006 19:30

Kraft, прошло чуть больше суток, а вы уже стоните... тут up для темы - 5 дней.

хорошо владеющих php тут много, просто пока не нашлось желающих делать для вас административный интерфейс на халяву... подождите - может найдутся.
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Аватара пользователя
avm
phpBB 2.0.18
 
Сообщения: 584
Зарегистрирован: 16.01.2005 11:40
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 30.08.2006 0:27

Kraft
1. если тема уже задана, то ее параметры уже вытащены из базы, нет смысла таскать их еще раз отдельным запросом, тем более не используя DBAL.
2. я задавался вопросом тегов для форума, много общался с теми кто занимается SEO. Все что кроме использовании названия форума и темы не нужно.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5492
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение viento » 30.08.2006 11:32

2. так Крафту как раз и надо, чтобы для каждого топика (это ведь то же самое что "тема"?) можно было задавать отдельные мета теги (в общем случае) отличные от тегов заданных для всего форума. желательно, чтобы это мог проделать модератор.
это возможно сделать? помогите, пожалуйста! :)

1. после того, как создан топик, модератор в зависимости от темы топика (не тавтология?) вручную из модераторской панели указывает адекватные мета теги для этого топика. только один раз.

viento
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 24.08.2006 14:34
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 30.08.2006 12:17

viento писал(а):2. так Крафту как раз и надо, чтобы для каждого топика (это ведь то же самое что "тема"?) можно было задавать отдельные мета теги (в общем случае) отличные от тегов заданных для всего форума.

Чем плохо использование названия темы? Зачем вводить что-то?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5492
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Kraft » 30.08.2006 13:12

Xpert писал(а):Чем плохо использование названия темы? Зачем вводить что-то?


Зачем использовать название темы, если она не несет в себе ни какой полезной информации. Например: "Помогите!!!!", "Срочно нужна помощь!!!" и т.д. Разьве не лучше будет, если модератор сможет ввести чтото более осмысленное?

идея на счет того, чтобы использовать в мета-тегах название темы мне нравится. Зделаю в виде заглушки для случая, когда модератор не ввел мета-теги сам :wink:

Kraft
phpBB 1.2.1
 
Сообщения: 27
Зарегистрирован: 28.08.2006 9:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение viento » 30.08.2006 13:41

Xpert писал(а):Чем плохо использование названия темы? Зачем вводить что-то?


просто в мета тегах нам бы хотелось указать что то более информатичное, чем просто название темы. keywords и description. для того, чтобы оптимизировать форум для поисковиков. то есть у каждого топика будут свои мета теги, которые укажет для него модератор в зависимости от того, о чем в топике говорят :)

viento
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 24.08.2006 14:34
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Поручик » 30.08.2006 14:37

В прошлом году я видел подобный мод, который позволяет добавлять ключевые слова к теме (даже со скриншотом)
Сейчас просмотрел десяток страниц на оффсайте, но ничего не нашел. Возможно, это было на другом сайте.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Поручик
Former team member
 
Сообщения: 3988
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 26 раз.
Поблагодарили: 50 раз.

Сообщение avm » 30.08.2006 15:00

Kraft писал(а):Зачем использовать название темы, если она не несет в себе ни какой полезной информации. Например: "Помогите!!!!", "Срочно нужна помощь!!!" и т.д. Разьве не лучше будет, если модератор сможет ввести чтото более осмысленное?
Вообще-то модератору либо стоит снести такую тему, либо переименовать ее во что-то более осмысленное ;) мало того - это создало бы лучшее соответствие между <title>, <meta description> и простым текстом... (я правда еще и subj выводил бы в <h1> а не в class="maintitle"...)
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Аватара пользователя
avm
phpBB 2.0.18
 
Сообщения: 584
Зарегистрирован: 16.01.2005 11:40
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Kraft » 30.08.2006 15:40

Поручик Мод брао отсюда http://myphpbb.com.ru/?mods/admin. Называется Mod Meta.
Он еще и <title> позволяет менять на разделы, но ИМХО по умолчанию <title> выглядит лучше :).

2 All Помогите пожалуста. PHP ни когда не изучал. Он конечно похож на С++ но....
http://trimedadus.ru - Онлайн журнал для мужчин и женщин

Kraft
phpBB 1.2.1
 
Сообщения: 27
Зарегистрирован: 28.08.2006 9:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Kraft » 31.08.2006 12:58

Не дождался помощи. Зделал сам. Пользуйтесь кому надо

############################################################## 
## Название мода: 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}" />
		&nbsp;
		<input type="submit" name="move" class="liteoption" value="{L_MOVE}" />
		&nbsp;
		<input type="submit" name="lock" class="liteoption" value="{L_LOCK}" />
		&nbsp;
		<input type="submit" name="unlock" class="liteoption" value="{L_UNLOCK}" />
	  </td>
#
#-----[ ПОСЛЕ, ДОБАВИТЬ ]------------------------------------------
#
      <tr>
        <td class="row2" colspan="2" align="right">
          {L_META_DESCRIPT}
          &nbsp;
          <input type="text" size="25" name="meta_descript" value="{META_DESCRIPT}" class="post" />
          <br />
          {L_META_KEYWORDS}
          &nbsp;
          <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&amp;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&amp;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&amp;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

Kraft
phpBB 1.2.1
 
Сообщения: 27
Зарегистрирован: 28.08.2006 9:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Поручик » 04.09.2006 18:11

$getmeta=mysql_query('select meta_descript

От этих запросов можно и избавиться
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Поручик
Former team member
 
Сообщения: 3988
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 26 раз.
Поблагодарили: 50 раз.

Сообщение Xpert » 04.09.2006 18:47

Kraft писал(а): $sql = "UPDATE " . TOPICS_TABLE . "
SET meta_descript = '".$HTTP_POST_VARS['meta_descript']."', meta_keywords = '".$HTTP_POST_VARS['meta_keywords']. "'

Kraft писал(а): meta_descript = '".$HTTP_POST_VARS['meta_descript']."', meta_keywords = '".$HTTP_POST_VARS['meta_keywords']."',

Попахивает SQL-injection.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5492
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Kraft » 05.09.2006 15:13

Поручик писал(а):
$getmeta=mysql_query('select meta_descript

От этих запросов можно и избавиться

Как?

Xpert Что такое SQL-injection, и как с этим бороться?

Kraft
phpBB 1.2.1
 
Сообщения: 27
Зарегистрирован: 28.08.2006 9:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

След.

Вернуться в Для авторов (phpBB 2.0.x)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы