Anna Опубликовано 3 Сентября 2005 Жалоба Поделиться Опубликовано 3 Сентября 2005 Мод: Разделение ПОСТАКатегория: МодификацииСовместимость: 2.0.xОписание:Вот банальный пример для ДАННОГО сайта. В правилах сказано - "один вопрос - одна тема". Что если пользователь задал в тему ДВА вопроса. Причем предположим, что вопросы важные и нужные для истории, но им место в разных темах. Что делать? С помощью данного мода, можно разделить этот пост на два и потом разнести части в разные темы. Апдейт 31/10/2007:Вот версия под 2.1.х. http://www.ibresource.ru/db/981/Поддержку осуществляет ее автор - Arhar Подробнее...Скачать Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 4 Сентября 2005 Жалоба Поделиться Опубликовано 4 Сентября 2005 Thanks Ссылка на комментарий Поделиться на других сайтах Прочее
dundee Опубликовано 8 Сентября 2005 Жалоба Поделиться Опубликовано 8 Сентября 2005 Классный мод ! Все работает и не жужжит ! Спасибо ! Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 9 Сентября 2005 Автор Жалоба Поделиться Опубликовано 9 Сентября 2005 Спасибо Dr.Freddy за найденные баги и исправления по данному моду Ссылка на комментарий Поделиться на других сайтах Прочее
Dr.Freddy Опубликовано 9 Сентября 2005 Жалоба Поделиться Опубликовано 9 Сентября 2005 Взаимно: спасибо за мод. Надеюсь, больше багов не всплывёт. Ссылка на комментарий Поделиться на других сайтах Прочее
KiRiK de Ch Опубликовано 9 Января 2006 Жалоба Поделиться Опубликовано 9 Января 2006 Будет под 2.1.3 работать? Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 9 Января 2006 Автор Жалоба Поделиться Опубликовано 9 Января 2006 Сомневаюсь Ссылка на комментарий Поделиться на других сайтах Прочее
Dr.Freddy Опубликовано 9 Января 2006 Жалоба Поделиться Опубликовано 9 Января 2006 Нет, они несовместимы. Требуется доработка. Ссылка на комментарий Поделиться на других сайтах Прочее
KiRiK de Ch Опубликовано 9 Января 2006 Жалоба Поделиться Опубликовано 9 Января 2006 Какого рода доработка? Ссылка на комментарий Поделиться на других сайтах Прочее
Dr.Freddy Опубликовано 9 Января 2006 Жалоба Поделиться Опубликовано 9 Января 2006 Адаптация под древовидную структуру 2.1.x, естественно. Плюс часть изменений нужно делать в других файлах. Ссылка на комментарий Поделиться на других сайтах Прочее
mrMad-Cat Опубликовано 15 Сентября 2006 Жалоба Поделиться Опубликовано 15 Сентября 2006 PLZ PLZ PLZ! Ктонить, адоптируйте его под 2.1.х! Ссылка на комментарий Поделиться на других сайтах Прочее
Pavel Ushakov Опубликовано 4 Мая 2010 Жалоба Поделиться Опубликовано 4 Мая 2010 Тема бородатая, но для меня актуальная. Может кто-то возьмется заточить этот мод под версию v2.3.1. Оплата за суету предполагается. Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 4 Мая 2010 Жалоба Поделиться Опубликовано 4 Мая 2010 Ох наворотили... А попроще алгоритм в голову не пришел?Элементарно же.SELECT * FROM ibf_posts WHERE topic_id = zzz ORDER BY pid ASCВ цикле по строкам сначала копируем строку (посты, помеченные для разделения, копируем дважды), затем удаляем исходную строку.И ВСЁ!!! Получаем топик с нужным порядком сообщений и дублированием тех, которые нужно разделить. Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 4 Мая 2010 Жалоба Поделиться Опубликовано 4 Мая 2010 а как будут выглядеть pid для копированных постов? P.S. для 2.3.х все уже есть давно Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 4 Мая 2010 Жалоба Поделиться Опубликовано 4 Мая 2010 а как будут выглядеть pid для копированных постов?Я напишу как в однушке, я думаю ты поймешь. Пишу с руки, поэтому если где-то по мелочи ошибусь, строго не суди.$uno = $DB->query("SELECT * FROM ibf_posts WHERE topic_id = ".$ibforums->input['topic_id']." ORDER BY pid ASC"); while($row = $DB->fetch_row($uno)) { // Забираем содержимое строки: $db_string = array(); foreach($row as $k=>$v)if($k != "pid")db_string[$k] = $v; // Компонуем для вставки: $db_string = $DB->compile_db_insert_string($db_string); // Вставляем; айдишник получит по инкременту: $DB->query("INSERT INTO ibf_posts (" .$db_string['FIELD_NAMES']. ") VALUES (". $db_string['FIELD_VALUES'] .")"); // И еще раз для разделяемого сообщения: if($row['pid'] == $ibforums->input['post_id']) $DB->query("INSERT INTO ibf_posts (" .$db_string['FIELD_NAMES']. ") VALUES (". $db_string['FIELD_VALUES'] .")"); // Удаляем прошлую строку: $DB->query("DELETE FROM ibf_posts WHERE pid = ".$row['pid']); }Заданный пост сдублируется. Единственная проблема, которую я вижу - у всех постов этого топика изменятся айдишники. А значит, если в других топиках есть прямые ссылки на пост, они перестанут работать.По этой причине не буду делать такой мод разделения у себя; у меня при цитировании автоматически делается ссылка на цитируемый пост, и прямых ссылок на сообщение реально много. Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 5 Мая 2010 Жалоба Поделиться Опубликовано 5 Мая 2010 Потому я предлагаю ставит в настройках по умолчанию сортировку по дате, а с id как угодно разобраться. В моде изменения порядка сообщений так и делал, сохранял номера и менял доты местами. Вроде бы Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 5 Мая 2010 Жалоба Поделиться Опубликовано 5 Мая 2010 Потому я предлагаю ставит в настройках по умолчанию сортировку по дате, а с id как угодно разобраться.Этот вариант мне в принципе не годится. Медицинский форум: вопросы посетителей, ответы врачей; даты и время сообщений менять я не буду, это какая-никакая история болезни. Теперь ситуация: захожу в топик, а там подряд 2 разных вопроса от разных посетителей. Если я потом напишу 2 ответа подряд, визуально будет трудно понять к какому опросу какой ответ. Я делаю проще: пишу ответ на первый вопрос, а потом подменой айдишника поднимаю его под сам вопрос - мод обмена айдишниками между двумя сообщениями у меня давно сделан. Сейчас и разделение у меня сделано, но не всегда оно может работать: мод считает айдишники между разделяемым постом и следующим постом темы, и если есть "свободный" айдишник (в результате удаления сообщения) - разделяет; если же нет свободного айдишника - просит пардону и не разделяет. Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 5 Мая 2010 Жалоба Поделиться Опубликовано 5 Мая 2010 Это уже специфика, редкий случай Ссылка на комментарий Поделиться на других сайтах Прочее
Pavel Ushakov Опубликовано 6 Мая 2010 Жалоба Поделиться Опубликовано 6 Мая 2010 P.S. для 2.3.х все уже есть давно А можно ссылку? Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения