Пропустить

Два вопроса

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

Два вопроса

Сообщение ra » 06.06.2004 20:09

1. Как узнать, что сообщение в теме является первым?
2. Для ответа в тему и на ЛС используется одна переменная -
$mode == 'reply'

И соответсвенно выражение
if ($mode == 'reply') echo('Blin');
будет верно для ответа в тему и в ЛС. Как узнать, что ответ идёт именно в тему, а не на ЛС?

ra
phpBB 2.0.9
 
Сообщения: 326
Зарегистрирован: 28.04.2004 21:35
Откуда: Беларусь
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 07.06.2004 19:46

1. Это вроде как-то смотрится в БД, вечером скажу.
2. Тоже ближе к вечеру. Кстати, echo 'Blin';

Добавлено спустя 11 часов 35 минут 30 секунд:

Первое проверяется следующим образом: смотрим, равняются ли id первого поста темы и id нашего поста. Вот как это реализовано в posting.php:
$select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : '';
$from_sql = ( !$submit ) ? ", " . POSTS_TEXT_TABLE . " pt, " . USERS_TABLE . " u" : '';
$where_sql = ( !$submit ) ? "AND pt.post_id = p.post_id AND u.user_id = p.poster_id" : '';

$sql = "SELECT f.*, t.topic_id, t.topic_status, t.topic_type, t.topic_first_post_id, t.topic_last_post_id, t.topic_vote, p.post_id, p.poster_id" . $select_sql . " 
			FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $from_sql . " 
			WHERE p.post_id = $post_id 
				AND t.topic_id = p.topic_id 
				AND f.forum_id = p.forum_id
				$where_sql";

. . .

if ( $result = $db->sql_query($sql) )
{

. . .

$post_data['first_post'] = ( $post_info['topic_first_post_id'] == $post_id ) ? true : false;
$post_data['last_post'] = ( $post_info['topic_last_post_id'] == $post_id ) ? true : false;

. . .
}


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

Сообщение ra » 07.06.2004 19:50

Уф как всё сложно. Спасибо!

ra
phpBB 2.0.9
 
Сообщения: 326
Зарегистрирован: 28.04.2004 21:35
Откуда: Беларусь
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


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

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

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

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