urisoft Опубликовано 13 Июля 2007 Жалоба Поделиться Опубликовано 13 Июля 2007 Дополнение для mJournal v2.0pb7: Запрет постинга комментариев гостям по отдельной записиАвтор: replicant 1. Запрет постинга комментариев гостям по отдельной записи2. Отключение добавления новых комментариев к записи без сокрытия уже существующих Делаем запрос в таблицу ibf_jposts:ALTER TABLE `ibf_jposts` ADD `no_comment_g` TINYINT( 1 ) NOT NULL ; Открываем файл comments.php В функции show_comments() находим:// Process comments и все, что идет после этой строки до // render page меняем на://Fix show comments when blocking for ghosts if (($post['no_comment'] == 1)||(($post['no_comment_g'] == 1)&&(!$ibforums->member['id']))) { $output['COMMENTS'] = $journal->skin->html['global']->info($ibforums->lang['j_inf_nocomment']); $DB->query("SELECT c.*, m.id, m.mgroup, me.photo_type, me.photo_location, me.photo_dimensions, m.j_photo_dim, m.j_photo_type, m.j_photo, me.avatar_location, me.avatar_size, me.avatar_type FROM ibf_jcomments c LEFT JOIN ibf_jmembers m ON (m.id=c.author_id) LEFT JOIN ibf_member_extra me ON (me.id=c.author_id) WHERE c.post_id='".$post['pid']."' ORDER BY c.post_date ASC LIMIT ".$ibforums->input['st'].", ".$journal->users['j_comment_page']); if ($DB->get_num_rows()) { $output['COMMENTS'] .= $journal->skin->html['posts']->comment_top($ibforums->lang['j_comments']); while ($row = $DB->fetch_row()) { list($row['date'],$row['time']) = explode("|",$journal->get_date($row['post_date'],"d F Y|H:i")); if ($row['attach_key'] != '') { $attach_pids[] = $row['cid']; } $row = $this->post_render->process_comment($row); $output['COMMENTS'] .= $journal->skin->html['posts']->comment_row($row); } $output['COMMENTS'] .= $journal->skin->html['posts']->comment_bottom(); } else { $output['COMMENTS'] = $journal->skin->html['global']->info($ibforums->lang['j_err_no_comments']); } $output['COMMENTS'] .= $journal->skin->html['global']->info($ibforums->lang['j_inf_nocomment']); } else { if ($post['comments'] > 0) { // Output comments for this post $DB->query("SELECT c.*, m.id, m.mgroup, me.photo_type, me.photo_location, me.photo_dimensions, m.j_photo_dim, m.j_photo_type, m.j_photo, me.avatar_location, me.avatar_size, me.avatar_type FROM ibf_jcomments c LEFT JOIN ibf_jmembers m ON (m.id=c.author_id) LEFT JOIN ibf_member_extra me ON (me.id=c.author_id) WHERE c.post_id='".$post['pid']."' ORDER BY c.post_date ASC LIMIT ".$ibforums->input['st'].", ".$journal->users['j_comment_page']); if ($DB->get_num_rows()) { $output['COMMENTS'] = $journal->skin->html['posts']->comment_top($ibforums->lang['j_comments']); while ($row = $DB->fetch_row()) { list($row['date'],$row['time']) = explode("|",$journal->get_date($row['post_date'],"d F Y|H:i")); if ($row['attach_key'] != '') { $attach_pids[] = $row['cid']; } $row = $this->post_render->process_comment($row); $output['COMMENTS'] .= $journal->skin->html['posts']->comment_row($row); } $output['COMMENTS'] .= $journal->skin->html['posts']->comment_bottom(); } else { $output['COMMENTS'] = $journal->skin->html['global']->info($ibforums->lang['j_err_no_comments']); } } else { $output['COMMENTS'] = $journal->skin->html['global']->info($ibforums->lang['j_err_no_comments']); } // Add reply form if ($this->post_func->allow_comments()) { $ibforums->input['pid'] = $ibforums->input['comm']; $output['REPLY_FORM'] = $this->post_func->reply_form(array( 'title' => $ibforums->lang['j_add_comment'], 'code' => 'new', 'mode' => 'comm', 'id' => $ibforums->input['comm'], 'key' => $this->md5_check)); } }--------------------------------------------------------------------------------Открываем \lang\{DIR}\lang_journal.php Находим в нем:'j_nocomment_post' => "<strong>Запретить</strong> комментарии", после добавляем: 'j_nocomment_post_ghost' => "<strong>Запретить</strong> комментарии гостям",--------------------------------------------------------------------------------Открываем skin_q_reply Находим функцию://========================================= // get_box_nocomment //========================================= function get_box_nocomment($checked="") { global $ibforums, $journal; ............... }После добавляем еще одну://===================================================== // get_box_nocomment_g //===================================================== function get_box_nocomment_g($checked="") { global $ibforums, $journal; $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <br /><input class='checkbox' type='checkbox' name='no_comment_g' value='yes' $checked /> {$ibforums->lang['j_nocomment_post_ghost']} EOF; //--endhtml--// return $IPBHTML; }Ниже в файле ищем: {$data['_NO_COMMENT_CHECK']} После добавляем: {$data['_NO_COMMENT_G_CHECK']} ЗАГРУЖАЕМ ШАБЛОНЫ В АДМИНКЕ-------------------------------------------------------------------------------- Открываем post_functions.php Находим:if (isset($data['BOX_NOCOMMENT'])) { $data['_NO_COMMENT_CHECK'] = $journal->skin->html['q_reply']->get_box_nocomment($data['BOX_NOCOMMENT'] ? 'checked="checked"' : ''); }Добавляем после еще один IF:if (isset($data['BOX_NOCOMMENT_G'])) { $data['_NO_COMMENT_G_CHECK'] = $journal->skin->html['q_reply']->get_box_nocomment_g($data['BOX_NOCOMMENT_G'] ? 'checked="checked"' : ''); } Ниже находим:'no_comment' => $ibforums->input['no_comment'] == 'yes' ? 1 : 0, После добавляем:'no_comment_g' => $ibforums->input['no_comment_g'] == 'yes' ? 1 : 0, -------------------------------------------------------------------------------- Открываем post_edit.php Находим:'BOX_NOCOMMENT' => $row['no_comment'], После добавляем:'BOX_NOCOMMENT_G' => $row['no_comment_g'], Еще ниже находим:'BOX_NOCOMMENT' => $_POST['no_comment'] == 'yes' ? 1 : 0, Добавляем:'BOX_NOCOMMENT_G' => $_POST['no_comment_g'] == 'yes' ? 1 : 0, Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 13 Июля 2007 Жалоба Поделиться Опубликовано 13 Июля 2007 Для 1.3 не получится это сделать? Не совместимы эти инструкции? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 19 Июля 2007 Жалоба Поделиться Опубликовано 19 Июля 2007 urisoft, но ты же тут появляешься. Неужеди не можешь черкнуть пару слов в ответ на мой пост? плз Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 31 Июля 2007 Автор Жалоба Поделиться Опубликовано 31 Июля 2007 Код для 1.3 и для 2.х сильно разный, и все что пишется для 2.х не будет работать с 1.3 к сожалению. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.