Автор: madv1ch
Ведь не в каждой публикации нужна данная функция.
Инструкция для DLE 9.6-9.8
Для начала, выполняем SQL запрос:
ALTER TABLE `ПРЕФИКС_post` ADD `forum_discus` tinyint(1) NOT NULL
Где ПРЕФИКС, ваш префикс соответственно.
Открываем
\engine\modules\addnews.phpНаходим:
$allow_comm = intval( $_POST['allow_comm'] );
Ниже добавляем:
$forum_discus = intval( $_POST['forum_discus'] );
Находим:
$allow_comm = 1;
Ниже добавляем:
$forum_discus = 1;
Находим строку:
$db->query( "UPDATE " . PREFIX . "_post ...пропущено...
В ней находим allow_br='$allow_br' и через запятую добавляем forum_discus='$forum_discus' (запятую не забываем ставить)
Находим строку:
$db->query( "INSERT INTO " . PREFIX . "_post ...пропущено...
В ней находим allow_br и через запитую добавляем forum_discus (запятую не забываем ставить)
Там же находим '$allow_br' и через запитую добавляем '$forum_discus' (запятую не забываем ставить)
Теперь находим:
$admintag = "<input type=\"checkbox\" name=\"allow_comm\" id=\"allow_comm\" value=\"1\" checked=\"checked\" /> <label for=\"allow_comm\">" . $lang['add_al_com'] . "</label>";
Меняем на:
$admintag = "<input type=\"checkbox\" name=\"allow_comm\" id=\"allow_comm\" value=\"1\" checked=\"checked\" /> <label for=\"allow_comm\">" . $lang['add_al_com'] . "</label><br><input type=\"checkbox\" name=\"forum_discus\" id=\"forum_discus\" value=\"1\"/> <label for=\"forum_discus\">Обсудить на форуме</label>";
Все, чекбокс добавлен.
Открываем
\engine\inc\addnews.phpНаходим:
<tr>
<td>{$main_input}</td>
<td><input type="checkbox" name="allow_comm" value="1" checked> {$lang['addnews_comm']}</td>
<td>{$disable_index}</td>
</tr>
<tr>
<td><input type="checkbox" name="allow_rating" value="1" checked> {$lang['addnews_allow_rate']}</td>
<td>{$fix_input}</td>
<td> </td>
</tr>
Меняем на:
<tr>
<td>{$main_input}</td>
<td><input type="checkbox" name="allow_comm" value="1" checked> {$lang['addnews_comm']}</td>
<td><input type="checkbox" name="forum_discus" value="1" > Добавить - Обсудить на форуме</td>
</tr>
<tr>
<td><input type="checkbox" name="allow_rating" value="1" checked> {$lang['addnews_allow_rate']}</td>
<td>{$fix_input}</td>
<td>{$disable_index}</td>
<td> </td>
</tr>
Находим:
$allow_comm = isset( $_POST['allow_comm'] ) ? intval( $_POST['allow_comm'] ) : 0;
Ниже добавляем:
$forum_discus = isset( $_POST['forum_discus'] ) ? intval( $_POST['forum_discus'] ) : 0;
Находим строку:
$db->query( "INSERT INTO " . PREFIX . "_post ...пропущено...
В ней находим allow_br и через запитую добавляем forum_discus (запятую не забываем ставить)
Там же находим '$allow_br' и через запитую добавляем '$forum_discus' (запятую не забываем ставить)
Готово!
Открываем
\engine\inc\editnews.phpНаходим:
if( $row['allow_comm'] ) $ifch = "checked"; else $ifch = "";
Ниже добавляем:
if( $row['forum_discus'] ) $discus = "checked"; else $discus = "";
Находим:
<tr>
<td>{$main_input}</td>
<td><input type="checkbox" name="allow_comm" value="1" {$ifch}> {$lang['addnews_comm']}</td>
<td>{$disable_index}</td>
</tr>
<tr>
<td><input type="checkbox" name="allow_rating" value="1" {$ifrat}> {$lang['addnews_allow_rate']}</td>
<td>{$fix_input}</td>
<td> </td>
</tr>
Меняем на:
<tr>
<td>{$main_input}</td>
<td><input type="checkbox" name="allow_comm" value="1" {$ifch}> {$lang['addnews_comm']}</td>
<td><input type="checkbox" name="forum_discus" value="1" {$discus}> Добавить - Обсудить на форуме</td>
</tr>
<tr>
<td><input type="checkbox" name="allow_rating" value="1" {$ifrat}> {$lang['addnews_allow_rate']}</td>
<td>{$fix_input}</td>
<td>{$disable_index}</td>
<td> </td>
</tr>
Находим:
$allow_comm = isset( $_POST['allow_comm'] ) ? intval( $_POST['allow_comm'] ) : 0;
Ниже добавляем:
$forum_discus = isset( $_POST['forum_discus'] ) ? intval( $_POST['forum_discus'] ) : 0;
Находим строчку(В ДВУХ МЕСТАХ!):
$db->query( "UPDATE " . PREFIX . "_post ...пропущено...
В ней находим allow_br='$allow_br' и через запятую добавляем forum_discus='$forum_discus' (запятую не забываем ставить)
Всё.
Открываем \engine\modules\show.full.php и находим ранее добавленный код кнопки
if ( $view_template != "print") {$tpl->set('{forumDiscus}', $apiBullet->setLinckDiscus(array(
'idPost' => $row['id'],
'id' => $row['topic_id'],
'tree' => $category_id))) ;}
Заменяем его на
if( $row['forum_discus'] ) {
if ( $view_template != "print") {$tpl->set('{forumDiscus}', $apiBullet->setLinckDiscus(array(
'idPost' => $row['id'],
'id' => $row['topic_id'],
'tree' => $category_id))) ;}
$tpl->set( '[forum_Discus]', "" );
$tpl->set( '[/forum_Discus]', "" );
} else {
$tpl->set( '{forumDiscus}', "" );
$tpl->set_block( "'\\[forum_Discus\\](.*?)\\[/forum_Discus\\]'si", "" );
}
В
fullstory.tpl будет доступна конструкция:
[forum_Discus]{forumDiscus}[/forum_Discus]