FatCat Опубликовано 23 Декабря 2007 Автор Жалоба Поделиться Опубликовано 23 Декабря 2007 Хочу скрипт постепенно идущий по всей таблице постов, и отправляющий всё в архив.Глянь в другом моде: http://www.ibresource.ru/forums/index.php?showtopic=4543Проще его переделать, чтобы не джаваскриптовые файлы генерил, а тупо сбрасывал содержимое ячейки в файл. И пути сделать.Лично я предпочитаю идти по топикам. Иногда и очень старый топик имеет смысл оставить в БД, чтобы его можно было находить поиском по форуму. И ещё. Мы можем так сделать, чтобы не было обращения к ibf_post если файл сообщения имеется?Там одно обращение на всю страницу.Опять же, без обращения к БД не узнать список постов на эту страницу. Чем я думаю может быть поморочиться - это сделать для архивированных постов кнопки "редактировать" и "цитировать" так, чтобы они восстанавливали в БД, а затем уже открывали для редактирования или цитирования. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 23 Декабря 2007 Жалоба Поделиться Опубликовано 23 Декабря 2007 Цитировать у меня и так работает. Просто кусок текста ява-скриптом копируется. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 23 Декабря 2007 Автор Жалоба Поделиться Опубликовано 23 Декабря 2007 Это "быстрая цитата" джавскриптом. Естественно, что она работает.Я о штатной кнопке "Цитировать", отдающий цитированный текст вместе со смайликами, рисунками, ББ-кодами и прочими атрибутами форматирования. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 25 Декабря 2007 Автор Жалоба Поделиться Опубликовано 25 Декабря 2007 Обнаружил еще одну недоделку:При разделении темы, архивированные сообщения не отображаются. Moderate.phpПосле кода: $post_query = $DB->query("SELECT post, pid, post_date, author_id, author_name FROM ibf_posts WHERE topic_id='{$this->topic['tid']}' AND queued <> 1 ORDER BY post_date"); $post_count = 0; while ( $row = $DB->fetch_row($post_query) ) {добавить: $arc_path = ($row['pid']-$row['pid']%1000)/1000; $arc_path = intval($arc_path)."/"; $arc_file = $row['pid']%1000; $arc_file = intval($arc_file).".arc"; if (is_file("arc/".$arc_path.$arc_file)) @ob_start(); if(is_writeable( "arc/".$arc_path.$arc_file )) { include( "arc/".$arc_path.$arc_file ); $row['post'] = @ob_get_contents(); } @ob_end_clean(); Инструкцию обновил и перезалил. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 26 Декабря 2007 Жалоба Поделиться Опубликовано 26 Декабря 2007 Прочел всю тему так и не понял зачем вообще может понадобится поменять местами два сообщения.Не бейте ногами обьясните за чем это вообще может понадобится. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 26 Декабря 2007 Автор Жалоба Поделиться Опубликовано 26 Декабря 2007 Прочел всю тему так и не понял зачем вообще может понадобится поменять местами два сообщения.Не бейте ногами обьясните за чем это вообще может понадобится.Простой пример:На рабочем форуме я, будучи врачом, отвечаю на вопросы пациентов.Представь, захожу я в топик, и вижу, что за время моего отсутствия в нем появилось ДВА вопроса от разных людей.Я пишу ответ на первый вопрос, и затем меняю местами мой ответ и второй вопрос - и ответ на первый вопрос уезжает к своему вопросу. Затем спокойно пишу второй ответ на второй вопрос. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 26 Декабря 2007 Жалоба Поделиться Опубликовано 26 Декабря 2007 Ясно. Я когда пишу ответ, то пишу в одном посте обоим обращаясь к тем кому пишу + ссылки в снапбеке на месаги их идут Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 26 Декабря 2007 Жалоба Поделиться Опубликовано 26 Декабря 2007 Прочел всю тему так и не понял зачем вообще может понадобится поменять местами два сообщения.Не бейте ногами обьясните за чем это вообще может понадобится. Я у себя на сайте пишу какой-нибудь совет для 2.1Потом допишу для 1.х 2.1 -> 1.х - так нелогично.А когда поменяешь посты - логично, удобно и красиво.Да мало ли ситуаций может быть.. Забыл например чего-нить дописать в середине какого-то ответа, с помощью обмена это довольно легко сделать. Ну вообщем модераторы не раз спрашивали такую возможность.Всё было лень сделать, а тут FatCat подсказал интересное решение Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 1 Января 2008 Автор Жалоба Поделиться Опубликовано 1 Января 2008 Обнаружил еще одну недоделку: при ответе в архивированный топик не отображаются архивированные в "последние 10 сообщений топика".Исправление: =================Post.php================= Найти: $post_query = $DB->query("SELECT post, pid, post_date, author_id, author_name FROM ibf_posts WHERE topic_id=$topic_id and queued <> 1 ORDER BY pid DESC LIMIT 0,10"); while ( $row = $DB->fetch_row($post_query) ) { $row['author'] = $row['author_name']; $row['date'] = $std->get_date( $row['post_date'], 'LONG' );Ниже добавить: $arc_path = ($row['pid']-$row['pid']%1000)/1000; $arc_path = intval($arc_path)."/"; $arc_file = $row['pid']%1000; $arc_file = intval($arc_file).".arc"; if (is_file("arc/".$arc_path.$arc_file)) { @ob_start(); include( "arc/".$arc_path.$arc_file ); $row['post'] = @ob_get_contents(); @ob_end_clean(); } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 1 Января 2008 Жалоба Поделиться Опубликовано 1 Января 2008 Что за "последние 10 сообщений топика" ?А можно сделать чтобы последние сообщения в профиле юзверя отображались архивированные? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 1 Января 2008 Автор Жалоба Поделиться Опубликовано 1 Января 2008 (изменено) Что за "последние 10 сообщений топика" ?По кнопке "Ответить", под формой ввода сообщения последние 10 постов топика. А можно сделать чтобы последние сообщения в профиле юзверя отображались архивированные?У тебя они сделаны целыми сообщениями?У меня ссылками. Для показа полных сообщений в профиле (сборка Игорька М.)Profile.phpПеред кодом: $info['last_five'] .= "<tr><td class='darkrow2'>$row[name] [ <a href={$info['base_url']}showtopic=$row[tid]&view=findpost&p=$row[pid]>$row[title]</a> ]</td></tr>";добавить: $arc_path = ($row['pid']-$row['pid']%1000)/1000; $arc_path = intval($arc_path)."/"; $arc_file = $row['pid']%1000; $arc_file = intval($arc_file).".arc"; if (is_file("arc/".$arc_path.$arc_file)) { @ob_start(); include( "arc/".$arc_path.$arc_file ); $row['post'] = @ob_get_contents(); @ob_end_clean(); } Изменено 1 Января 2008 пользователем FatCat Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 13 Января 2008 Автор Жалоба Поделиться Опубликовано 13 Января 2008 Переделал функцию разархивирования. Теперь можно разархивировать не по одному, а все помеченные. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Gaber Опубликовано 26 Марта 2008 Жалоба Поделиться Опубликовано 26 Марта 2008 Простите, а не подскажете как этот мод поставить на 2.1.7 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 27 Марта 2008 Автор Жалоба Поделиться Опубликовано 27 Марта 2008 Простите, а не подскажете как этот мод поставить на 2.1.7Мод по иронии судьбы разросся в целый набор модераторских функций.Теоретически, его можно переписать под "двушку", но практически его лучше написать с нуля, взяв из мода только те идеи, которые еще не реализованы в двушках. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 9 Апреля 2008 Автор Жалоба Поделиться Опубликовано 9 Апреля 2008 Спешиал для Паладина наверное:Добавил pack топика: все сообщения топика склеиваются в одно и архивируются в первый пост. Получается что-то типа "версии для печати"; но нет кучи мелких файлов архивов, всё в одном файле.И БД подрезается ощутимо, и дисковое пространство на кучу мелких файлов не расходуется.Дополненную инструкцию перезалил. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.