|
Правила •
Регистрация •
Справка Сообщения за день • Поиск |
|
|
|
Опции темы | Опции просмотра |
Напильникъ - наше все
|
Поскольку, как мне показалось, на данном форуме было затишье - разместил пару своих модификаций для форума newbb_plus 0.92 на офф.сайте (вот сама тема). Сделал пока только фиксацию флагов о прочитанном в базе данных и фиксация перехода на последнее/произвольное сообщение темы (при этом даже патч от пользователя 2San не нужен!). Если понадобится - переведу на русский
Последний раз редактировалось ZlydenGL, 01-07-2009 в 01:42 Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Старожил
|
Не совсем понятно...
На русский можно? Всё для Sony Ericsson |
||||
|
|
Напильникъ - наше все
|
Можно Сделал 2 хака для форума newbb_plus версии 0.92:
1. Флаги о прочитанном хранятся в БД (вроде не совсем оптимально, но пока хватает). Т.е. для зарегистрированных пользователей информация о прочитанных темах не пропадет никогда - даже если они винты форматнут Для гостей инфа естественно продолжает храниться в кукисах. 2. На предыдущей странице пользователь 2San оставлял патч, чтобы появилась возможность переходить на последнее сообщение темы. На самом деле он НЕ НУЖЕН - необходимо только пофиксить процедуру getPageOffset в модуле class/class.forumposts.php - после чего переход на произвольное сообщение в теме будет производиться АБСОЛЮТНО корректно без патча 2San'а! Последний раз редактировалось ZlydenGL, 01-07-2009 в 01:42 Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Старожил
|
ZlydenGL непосредственно хак можно опубликовать здесь?
не весь файл (раз в одном только) а код хака, что на что менять. Всё для Sony Ericsson |
||||
|
|
Напильникъ - наше все
|
Если разговор идет только про коррекцию переходна на нужное сообщение - то одноименную функцию надо заменить на эту:
PHP код:
Последний раз редактировалось ZlydenGL, 01-07-2009 в 01:41 Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Старожил
|
что-то я не допонимаю.
В каких случаях неправильно осуществлялся переход. можно примеры? Всё для Sony Ericsson |
||||
|
|
Напильникъ - наше все
|
Например на индексе форумов щелчок по последней теме должен переводить на последнее сообщение в данной теме - даже если в теме больше одной страницы. Базовый функционал форума newbb_plus 0.92 (и похоже, 0.94 не лишен этой проблемы) не позволяет совершить переход на последнее сообщение многостраничной темы - из-за ошибки в функции getPageOffset.
Для сравнения: идем на индекс форума http://runcms.org/modules/newbb_plus/index.php и щелкаем по ссылке Can i change MODULES fold... (на момент написания сообщения эта тема - последняя в форуме Core RunCMS modules). Откроется ПЕРВАЯ страница темы (несмотря на то, что последнее сообщение - на второй странице). Для исправления данной проблемы патч 2San'а добавляет get переменную start и переходит по ссылкам в привязке к этой переменной - что не всегда удобно. Если же пофиксить функцию getPageOffset, то переход на последнее сообщение любой темы будет происходить корректно. Увидеть это можно на форуме портала моей жены, щелкнув допустим по ссылке Цепочка номер 1 (как видно по адресу ссылки, никаких дополнительных переменных, по отношению к базовым, нет) - переход будет абсолютно корректно произведен на последнее сообщение темы. Последний раз редактировалось ZlydenGL, 01-07-2009 в 01:39 Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Старожил
|
ZlydenGL спасибо, у меня не выводит этого на главной, поэтому в ступор и пришел.
Всё для Sony Ericsson |
||||
|
|
Напильникъ - наше все
|
Еще одна модификация, которую Zormax наверняка сделал у себя
Касается она десятка запросов для админов и юзверей, и все по одной и той же тематике. Модифицировать будем класс class/class.forumposts.php. 1. В вышеприведенном классе функция ShowPost вызывает функцию fModsArray, хотя эта функция уже "вызвана" в файле viewtopic.php, а ее результат запомнен в переменную $modsarray. Почему бы не использовать ее же в классе? Берем напильник, поминаем такую-то маму и... Блок PHP код:
Все, -10 запросов для АДМИНОВ обеспечены Теперь займемся пользователями. 2. В упомянутом же классе и упомянутой же функции ShowPost регулярно вызывается функция PHP код:
PHP код:
PHP код:
После этого в вышеупомянутой функции ShowPost вышеупомянутого класса class/class.forumposts.php строку PHP код:
PHP код:
Все, теперь и пользователи будут требовать на 10 запросов меньше при загрузке страниц форума Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Напильникъ - наше все
|
Сегодня меня что-то проперло на форумные правки Еще одна.
Напряг тут меня хостер, что слишком прожорливые поисковики слишком большую нагрузку на форум создаютъ. Нехорошо? Нехорошо! Ведь есть же архивная версия форума, которая в разы меньше запросов требует для генерации своих страничек (индекс, к сожалению, кушает столько же). Но - в роне 1.6.1 архив НЕ РАБОТАЕТ В смысле - не работаЛ Вот что пришлось сделать: Строку PHP код:
PHP код:
Думаете, на этом все? Шиш! Индекс форума под ГОСТЕМ выкидывает сообщение о нехватке прав на просмотр Лезем опять в archive.php, ВНИМАТЕЛЬНО читаем начало и вместе со мной хором материм авторов. После чего меняем блок PHP код:
PHP код:
Все, после этих несложных манипуляций архив форума прекрасно заводится - осталось только подсунуть ссылки на него поисковикам Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
|
|
|
Powered by: vBulletin Version 3.0 Copyright ©2000-2025, Jelsoft Enterprises Ltd. |
Все разделы прочитаны - Руководство форума - Архив - Вверх |