Вот ссылка "производителя" http://derus.net/phpBB2/viewtopic.php?t=190.
В кратце: при создании сообщения можно поставить галку "отметить как новость" и данное сообщение появиться, к примеру, на главной странице сайта. Мне это очень помогло т.к. на моем сайте анонсируются вечеринки и их обсуждают. Для того что бы не создавать сообщение в начале в новостях а потом в форуме я поставил этот мод.
Есть у меня просьба помоч немного дополнить данный мод.
Как я уже говорил у меня анонсируются вечеринки проходящие в нашем городе и я хочу, что бы при добывлении сообщения было еще и поле для ввода даты когда пати будет (это видно только для админа ессно). Далее. На главной странице сайта, выше новостей, находится поле "Предстоящие события" и там отображаются события которые пройдут скоро. Проверка тут не сложная: если дата события больше сегодняшней даты, то вывести. Такое же поле можно сделать в overal_header.tpl.
Итог.
Нужно:
- Сделать поле с вводом даты при добывлении нового сообщения.
- сделать ячейку в мускуле.
- проверить если дата события больше сегодняшней датя, то вывести её.
- поставить данную инклюду на страницу сайта и форума.
В принцыпе это аналогия добавления галочки "отметить как новость", но вот сам что-то запутался что куда писать.
Помогите плз.
Добавлено спустя 1 час 28 минут 40 секунд:
И так:
добавляю новое поле на posting_body.tpl
Код: Выделить всё
#---[ OPEN ]---------------------------
templates/SubSilver/posting_body.tpl
#---[ FIND ]----------------------------
<!-- BEGIN switch_html_checkbox -->
#---[ BEFORE, ADD ]-------------------
<tr>
<td>
<input type="text" name="news_future_date" size="8" '.$news_future_on.' />
</td>
<td>
<span class="gen">{L_NEWS_FUTURE_DATE}</span>
</td>
</tr>
Код: Выделить всё
#---[ OPEN ]---------------------------
language/lang_english/lang_main.php
#---[ FIND ]----------------------------
//
// That's all Folks!
#---[ BEFORE, ADD ]-------------------
$lang['news_future_date'] = "Дата:";
Код: Выделить всё
includes/functions_post.php
#---[ OPEN ]---------------------------
includes/functions_post.php
#---[ FIND ]---------------------------
$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . "(topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";
#---[ REPLACE WITH ]-------------------
$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . "(topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig, news_future_date) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig, '$news_future_date')" : "UPDATE " . POSTS_TABLE . " SET news_future_date = '$news_future_date', post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";
Код: Выделить всё
#---[ OPEN ]-------------------------------
posting.php
#---[ FIND ]-------------------------------
$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";
#---[ REPLACE, WITH ]-------------------------------
$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, p.post_show_on_index, news_future_date" . $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";
#---[ FIND ]----------------------------------------
$post_data['poster_id'] = $post_info['poster_id'];
#---[ AFTER, ADD ]-------------------------------------
$post_data['news_future_date'] = $post_info['news_future_date'];
там же в posting.php (что-то нужно вставить вместо точек, я не знаю что)
Код: Выделить всё
#---[ FIND ]----------------------------------------
$is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_length'] : '';
$bbcode_uid = '';
#---[ AFTER, ADD ]-------------------------------------
$news_future_date = (!empty($HTTP_POST_VARS['news_future_date'])) ? .........................';
SQL я так понимаю должен быть такой:
Код: Выделить всё
ALTER TABLE `phpbb_posts` ADD `phpbb_posts` DATE NOT NULL ;