Доработка форума 1.10

+70
3.13K
И так по немногочисленным просьбам, а именно одной на форуме)) и собственным нуждам, был доработан форум.

Что изменилось

Добавлены дополнительные опции просмотра в админке;
Отмена анархии модераторов));
Корректный вывод сообщений и тем по правам;
Возможность восстанавливать удалённые посты и темы;
Автор и причина редактирования/удаления постов;
Прикрепление первого поста;
Иной вывод обновлений форума;
Правильный вывод обновлённых тем, с последнего визита, при нахождении на сайте, а также склейке последнего поста;
На выбор вывод под ником либо должности, либо группы юзера;
Установите и сами всё увидите =)

Отредактированные и удалённые сообщения:
Иллюстрация

Удалённая тема в корзине:
Иллюстрация

Вкладка форум:
Иллюстрация

Вкладка новое:
Иллюстрация

Вкладка активности юзера:
Иллюстрация

Установка

1. Распаковать содержимое папки upload архива в корень сайта.
2. В файле /core/classes/user.class.php перед:
  1. 958 cmsDatabase::getInstance()->query("UPDATE cms_users SET logdate = CURRENT_TIMESTAMP WHERE id = '$user_id'");
вставить:
  1. cmsDatabase::getInstance()->query("UPDATE cms_users SET last_logdate = logdate WHERE id = '$user_id'");
3. В файле styles.css вашего шаблона, если он вдруг не очень отличается оформлением форума от дефолтного:
Это:
  1. 2560 .darkBlue-LightBlue a { color:#FFF; border-color: #FFF; }
  2. 2561 .darkBlue-LightBlue a:hover { color:#CCC; border-color: #CCC; }
заменить на:
  1. .darkRed-LightRed { background-color:#F64747; background-image: -webkit-gradient(linear,left bottom,left top,from(#A40506),to(#F64747)); background-image: -moz-linear-gradient(bottom, #A40506, #F64747); background-image: -o-linear-gradient(bottom, #A40506, #F64747); color: #FFF; font-size:14px; clear: both; }
  2. .darkBlue-LightBlue a, .darkRed-LightRed a { color:#FFF; border-color: #FFF; }
  3. .darkBlue-LightBlue a:hover, .darkRed-LightRed a:hover { color:#CCC; border-color: #CCC; }
Это:
  1. 2568 .post_content{
  2. word-wrap: break-word;
  3. }
заменить на:
  1. .post_content {
  2. clear: both;
  3. overflow: hidden;
  4. word-wrap: break-word;
  5. }
После:
  1. .subforumshead{
  2. font-size:12px;
  3. font-weight:bold;
  4. color:#333333;
  5. }
вставить:
  1. .fm_moder{color:green}
  2. .fm_super_moder{color:blue}
  3. .fm_admin{color:red}
  4. .fm_moder:hover,.fm_super_moder:hover,.fm_admin:hover{}
4. В разделе "Установка компонентов" админки обновить форум, возможно он там появится после обновления странички браузера.
5. Выполнить настройку компонента и модуля форума, обязательно сохранить!

Архив: instantcms.ru/users/files/download2650.html

Принимаются пожелания для дальнейших доработок v
+1
artscripts artscripts 12 лет назад #
Большое спасибо, оперативненько вы :)
0
Blogger Blogger 12 лет назад #
А на 1,9 можете такое сделать?
+1
lokanaft lokanaft 12 лет назад #
1.10 - последняя версия ветки, обновитесь до неё и будет вам счастье ;)
0
Azura Azura 11 лет назад #
Тоже это интересует, не имею возможности к миграции из-за наличия серьёзных хаков.... sad Было бы очумительно переделать это дополнение под 1.9 smile Скажите как хотя бы =)))
0
Blogger Blogger 12 лет назад #
Я не собираюсь мигрировать, так что можете на 1,9 сделать???
0
fact fact 12 лет назад #
я так понял многие не будут мигрировать, видел уже много отзывов тех кто так и смог мигрировать, либо пол сайта пришлось удалить.

Кажется я тоже старые сайты оставлю на тупиковой 1.9... жалко
+2
DeeMon DeeMon 12 лет назад #
Именно так, пока тоже забил на миграцию ибо после 5 попыток так не чего нормально и не вышло, хотя система была без изменений и сторонних плагинов и прочего.
+3
lokanaft lokanaft 12 лет назад #
Я мигрировал во время тестирования раз 5, и каждый раз удачно.
0
picaboo picaboo 12 лет назад #
Нужное дело сделано, спасибо. Будем тестить ;)
0
Blogger Blogger 12 лет назад #
Так что сделаешь на 1,9? Буду очень благодарен! joke
+7
lokanaft lokanaft 12 лет назад #
Если начать что-то городить под старые версии: "Вернитесь, перекрасьте нам грабли, а то краска об лоб слезла", - то уже нельзя будет останавливаться и каждую доработку надо будет делать и для 1.9, поэтому - нет.
+2
picaboo picaboo 12 лет назад #
а оно вообще наверное нереально допилить под 1.9 поскольку форум кардинально переписан в 1.10...по сути придется писать заново
+2
lokanaft lokanaft 12 лет назад #
Под чистую 1.9 можно просто перенести этот форум и переделать в нём методы базы, а под существующий ещё и мигратор надо писать...
0
Умные Интернет Разработки Умные Интернет Разработки 12 лет назад #
Вот так и поступил)
0
Azura Azura 11 лет назад #
Расскажите как!!! Поделитесь!
-7
Blogger Blogger 12 лет назад #
я огорчен.
0
FreeLancer FreeLancer 12 лет назад #
а под 1.2 сделаете? :D
0
Zau4man Zau4man 12 лет назад #
Положил в закладки smile как обновлюсь, поставлю.
0
prosis prosis 12 лет назад #
выделение ТС сделаете?
0
lokanaft lokanaft 12 лет назад #
Договорились)
То ли никто не ставил, то ли медведь в лесу сдох и я написал без ошибок =D
Пишите свои предложения для новой версии. У меня только массовые операции с постами и возможность топикстатёру какой либо группы модерировать свою тему.
0
prosis prosis 12 лет назад #
я единственное, что нашел, так это после восстановления удаленного поста открывается 404 страница.
0
lokanaft lokanaft 12 лет назад #
Под какими правами вы это делаете и чей пост? Я перепробовал все варианты, ничего подобного не получилось.
0
prosis prosis 12 лет назад #
под админом, удалял и востанавливал пост юзера
0
NekSOR NekSOR 11 лет назад #
Всё сделал как написано, кроме последнего пункта. Как обновить?
+1
lokanaft lokanaft 11 лет назад #
вашсайт/admin/index.php?view=install&do=component
0
NekSOR NekSOR 11 лет назад #
Вот именно что там пусто после всех сделанных пунктов
0
lokanaft lokanaft 11 лет назад #
Обновите страничку - должно появиться.
0
st.Puh st.Puh 11 лет назад #
Все сделал ко описано, в итоге в админке установить не появилось как не старался,форум весь пустой, есть только названия разделов, тем, и все самих постов нет.Вот скрины
""

и второй
""

Помогите пожалуйста.
0
lokanaft lokanaft 11 лет назад #

Для всех!

Кто не может обновить: если у вас версия форума (написана в списке компонентов) не 1.5, то зайдите в бд и поменяйте в таблице cms_components "version" для строки форума на 1.5

Что-то я сразу не подумал, я проверял на системе, живущей ещё с 1.5 просто smile и видимо версии компонентов при обновлении не обновляются, а при чистой установке другое значение.
0
NekSOR NekSOR 11 лет назад #
Не помогло
0
lokanaft lokanaft 11 лет назад #
Вот такого уже быть точно не может, st.Puh помогло, значит и вам должно было помочь.
0
Azura Azura 11 лет назад #
Супер, спасибо!!!! Подковыряю свой форум :))) А обновление будет? Ну... чтоб на все версии компонента действовало. =)
0
AndroS AndroS 11 лет назад #
Круто! Надо бы в теги блогов еще дописывать релиз ядра icms, чтобы искать было легче все полезности и вкусности по тегам :)
0
Май Май 11 лет назад #
Большое спасибо автору, и большой респект. Все встало отлично, все работает. Но есть небольшое замечание, если прикрепить первый пост, то на остальных страницах в первом посте слетает скрытый текст, выводится прямо с bb кодом, пример
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
. Был бы очень признателен за исправление.
0
Май Май 11 лет назад #
Хах, пример мой сайт вывел как надо, ну вы поняли ) Короче в первом прикрепленном посте на других страницах выводится просто строчка bb кода, а не правильная область со скрытым текстом.
0
lokanaft lokanaft 11 лет назад #
Откройте /plugins/p_hidetext/plugin.php, найдите в нём:
Код PHP:
  1. case 'GET_FORUM_POSTS': $item = $this->eventGetPosts($item); break;
Перед вставьте:
Код PHP:
  1. case 'GET_FORUM_POST': $item = $this->eventGetPost($item); break;
Найдите:
Код PHP:
  1. $this->events[] = 'GET_FORUM_POSTS';
Перед вставьте:
Код PHP:
  1. $this->events[] = 'GET_FORUM_POST';
0
Май Май 11 лет назад #
Сделал все по вашим инструкциям, но ничего не изменилось. Вот скрины после внесения правок:

Скрытый текст на первой странице в первом посте выводится как положено

""


Скрытый текст в прикрепленном посте на других страницах выводится как bb код

""
0
lokanaft lokanaft 11 лет назад #
Тогда ещё зайдите в админку, посмотрите там id плагина "Скрытый текст" и выполните запрос к БД:
Код SQL:
  1. INSERT INTO cms_event_hooks (`id`, `event`, `plugin_id`)
  2. VALUES (NULL, 'GET_FORUM_POST', 'тут id плагина (цифра)')
0
Май Май 11 лет назад #
Заработало! Огромное спасибо!
0
Май Май 11 лет назад #
Еще бы доработать редактор форума, в Хроме, Опере, Сафари, IE не работает автогроу и нет полосы прокрутки, это не удобно при работе с большими текстами, все работает корректно только в Фаэрфоксе, я например получаю жалобы от пользователей, им не нравится такой редактор, у которого нет прокрутки. Я создал тему здесь несколько дней назад http://instantcms.ru/forum/thread12934.html но пока никто не ответил. Может посмотрите что можно сделать?
0
Май Май 11 лет назад #
Уже не актуально, решение найдено.
0
Май Май 11 лет назад #
Вот еще замечание. В настройках не сохраняется параметр "Принадлежность пользователя к группе и звание" по умолчанию стоит "Выводить должность" при выборе других опций, после сохранения - опция снова установлена на "Выводить должность".
0
Май Май 11 лет назад #
Если принимаете пожелания по дальнейшим доработкам, то могу предложить следующее: сделать возможность устанавливать права на создание новой темы форума для определенных групп пользователей. Реализовать таким образом, чтобы ссылку "Новая тема" могли видеть не все пользователи, а только определенная группа пользователей.

Вот мне например такая возможность очень нужна по специфике моего проекта. Готов заплатить за доработку.
+1
Май Май 11 лет назад #
В процессе активного использования доработанного форума, стали появляться неприятные баги. В целом, форум работает стабильно, но после того как народ начинает удалять свои посты в темах начинаются проблемы, во первых, появляется рассогласование нумерации постов, у пользователей одна нумерация, у админов - другая, но это мелочи. Самое неприятное - это то, что админы не видят последних постов в конце страницы, включая собственные посты, до тех пор пока кто нибудь не напишет еще несколько постов и произойдет создание очередной страницы, это сильно мешает, а из-за склейки постов в один нельзя написать несколько отдельных постов чтобы вытолкнуть следующую страницу. Очень прошу подправить этот баг, сильно мешает, приходится залогиниваться под другими акками, делать тестовые посты чтобы создалась новая страница.
0
Май Май 11 лет назад #
Пока нашел для себя такой выход: проблема эта возникает только в том случае, когда посты не удалены полностью а только скрыты, и если посты удалять полностью, то все работает правильно. Решение - указать в настройках сразу удалять посты, не скрывать. Посему получается так, что функция скрывания удаленных постов с возможностью восстановления - вещь конечно полезная, но пока не вполне работоспособная.
0
lokanaft lokanaft 11 лет назад #
Учту это в версии для 1.10.1
0
Петрмаг Петрмаг 11 лет назад #
Кто ставил как работает?
0
Бурдель Дмитрий Бурдель Дмитрий 11 лет назад #
На 1.10.1 работает отлично.http://dk-agarkova.ru/forum
0
Май Май 11 лет назад #
А модуль Новое на форуме работает? Отображает обновления?
0
Luccita Luccita 11 лет назад #
Огромное Вам СПАСИБО!Все работает отлично!
0
Май Май 11 лет назад #
А модуль Новое на форуме работает? Отображает обновления?
0
lokanaft lokanaft 11 лет назад #
Он в любом случае отображает, если раздел не скрыт, либо виден пользователю, и для модуля вы не включали кэширование - его нельзя кэшировать, ибо он разным юзерам представляется в разном виде.
+1
Май Май 11 лет назад #
Сам модуль отображается, как заголовок, но в нем ничего нет, он пустой, проверил на чистой установке (обновил чистую 1.10 до 1.10.1 а затем установил доработку форума) получил такие же результаты - на 1.10.1 модуль перестает работать. Кеширование выключено. Раздел не скрыт. На 1.10 модуль работает без проблем, на 1.10.1 не работает.
0
Май Май 11 лет назад #
Еще такое дополнение, на тестовой версии после обновления до 1.10.1 и установке доработки модуль все еще отображает обновления, но перестает работать после пересохранения настроек модуля.
0
Dinar Dinar 11 лет назад #
Что необходимо изменить, чтобы в 1.10.1 работал модуль "Последние темы форума"?
0
Dinar Dinar 11 лет назад #
Спросил - ответил
добавить mod_forum / module.php
Код PHP:
  1. $inDB->addJoin('INNER JOIN cms_forums f ON f.id = t.forum_id');
перед
Код PHP:
  1. $inDB->addSelect('f.title as forum_title');
0
Май Май 11 лет назад #
Спасибо конечно, вставил этот код, но не помогло, ничего не изменилось.
+1
Май Май 11 лет назад #
Всё, проблема с модулем вывода новостей форума решилась, нужно было просто после обновления до 1.10.1 залить заново файлы доработанного форума на сервер и пересохранить настройки. Сейчас всё ок.
lokanaft, извините что отвлекал понапрасну.
+1
lokanaft lokanaft 11 лет назад #
Такого я не мог даже предположить конечно =(
0
Евгений Евгений 10 лет назад #
На 1.10.2 будет работать?
0
Александр Александр 10 лет назад #
а под 1.10.3 - 4 ?

Еще от автора

Ajax подгрузка контента для двойки
Ну что, товарищи, сегодня вы своими руками сможете сделать ajax подгрузку записей контента.
AJAX подгрузка комментов для двойки
Как следует из названия, дополнение ограничивает полный вывод всех комментов записи и позволяет пользователю при необходимости посмотреть следующие.
ContentWatch - проверка уникальности добавляемого контента для icms2
Компонент позволяет проверять уникальность текста с помощью сервиса Content-Watch.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.