Патчи к форуму. Улучшения и исправление ошибок. ver. 0.11.17 от 09.04.11
450,011 726
 

  York ( Слушатель )
26 сен 2008 15:04:37

Тред №53659

новая дискуссия Дискуссия  620

[anchor=doc2]Документация (продолжение)[/anchor]



[anchor=doc_11]11.[/anchor] Экспорт и импорт "чёрного" и "белого" списков.
"Чёрный" и "белый" списки можно по отдельности экспортировать и импортировать.
Чтобы экспортировать список надо открыть настройки, переключиться на нужный список пользователей ("чёрный" или "белый") и нажать кнопку "Экспорт". После этого появится окно содержащее строку определённого формата. Скопируйте эту строку в буфер обмена, и сохраните куда-нибудь её. После этого имея эту строку вы в любой момент сможете восстановить список пользователей, воспользовавшись кнопкой "Импорт" в настройках.
Для импорта списка надо открыть настройки, переключиться на нужный список пользователей ("чёрный" или "белый") и нажать кнопку "Импорт". В появившемся диалоговом окне в строку ввода вставить полученную ранее при экспорте списка строку и нажать кнопку "OK" (если нажать кнопку "Отмена", то ничего не произойдёт). После этого существующий список пользователей полностью заменится импортируемым. Чтобы изменения сохранились, надо нажать кнопку "Сохранить".



[anchor=doc_12]12.[/anchor] Развитие автоматического сворачивания разделов (см. пункт 9 документации).
На форуме в сутки в среднем появляется по 680 сообщений (в октябре новых сообщений - 21208, делим на 31 день), чтобы все их прочитать нужно очень много времени. Поэтому я читаю только несколько интересующих меня тем. Отсюда возникает деление на отслеживаемые и неотслеживаемые темы.
Скрипт помогает не обращать внимание на неотслеживаемые темы, скрывая их на главной странице не смотря на то, что в них есть новые сообщения.

Как это выглядит
Свёрнутый раздел "Разговоры":


Развёрнутый раздел "Разговоры":


На рисунках выше есть отслеживаемая тема "улыбаемся и машем, парни!", она содержит новые сообщения и видна и свёрнутом и развёрнутом виде. Также есть новая тема "Космическая китайская мистификация", она также видна в обоих случаях.
На втором рисунке есть тема "Компьютерные игры. Виртуальное отражение реальности", она содержит новые сообщения, но не видна в свёрнутом виде, т.к. это неотслеживаемая тема.

Работает это следующим образом. Тема может находиться в одном из трёх состояний:
  • Отслеживаемая.

  • Неотслеживаемая.

  • Новая тема, про которую неизвестно, является она интересной или нет.


Все эти темы по разному отображаются на первой странице (см. рисуноки выше).
Отслеживаемая тема выглядит как обычно, и если в них появляется новое соощение, то она будет отображена в разделе.
Неотслеживаемая тема, также выглядит как обычно, но независимо от наличия новых сообщений, на главной странице она всегда скрывается.
Новая тема, отмечается надписью "Новая тема: отслеживать / не отслеживать".
Слова "отслеживать" и "не отслеживать" являются ссылками. При нажатии на ссылку тема переводится в соответствующую имени категорию.
Как это реализовано
Отслеживаемой считается тема, в которой установлена закладка ("якорь"). Если вы не пользуетесь закладками, достаточно установить закладку на любое сообщение темы, чтобы она стала считаться отслеживаемой.
Неотслеживаемой считается тема, в которой установлена специально сформированная закладка. Такие закладки формировует скрипт при нажатии на ссылку "не отслеживать".
Новая тема - это тема, на которой вообще нет закладок. При нажатии на одну из ссылок "отслеживать" или "не отслеживать" будет сформирована закладка соответствующего типа и тема перейдёт в одну из двух предыдущих категорий.
Закладки хранятся на сервере (в отличии от настроек, хранимих на компьютере), значит независимо от того, где вы читаете форум, деление тем на отслеживаемые и неотслеживаемые одно и тоже.



[anchor=doc_13]13.[/anchor] Меню скрипта.
Скрипт добавляет на каждую страницу форума своё меню.

На всех страницах форума в этом меню есть пункт "Настройки", остальные пункты зависят от текущей страницы.
В настоящий момент есть только два дополнительных пункта - это "Свернуть все разделы" и "Развернуть все разделы". Они отображаются если открыта первая страница (см. рисунок выше). Назначение этих пунктов меню, думаю, понятно из их названияУлыбающийся, и относится к автоматическому сворачиванию разделов, описанному в 9 и 11 пунктах документации.



[anchor=doc_14]14.[/anchor] Автоматическое форматирование таблиц, т.е. расстановка тегов [nobbc][table], [tr], [td][/nobbc].
В форме отправки/редактирования сообщения появилась новая кнопка , самая первая после кнопок для таблиц.
Теперь таблицы можно форматировать так:
  • Делается таблица в Excel и копируется или копируется готовая таблица с какой-нибудь интернет страницы.

  • Таблица вставляется в сообщение. Вставленная таблица не отформатирована, её ячейки разделены табуляцией (это такой большой пробел), а строки обычными разрывами строки.

  • Выделяете всю таблицу и жмёте новую кнопку .


В тексте сообщения появляются нужные тэги.



[anchor=doc_15]15.[/anchor] Отрисовка границ у таблиц в сообщениях.
Для этого появилась новая настройка "Рисовать границы у таблиц в сообщениях", после её включения все таблицы будут иметь границы, и дополнительно текст в первой строке будет полужирным.
По умолчанию эта возможность отключена.



[anchor=doc_16]16.[/anchor] В форму отправки/редактирования сообщения добавлены кнопки для вставки URL , цитат и кнопка для вставки тега CODE .
Кнопка CODE работает как и другие кнопки для форматирования текста. А кнопки URL и цитата немного отличаются. Их можно использовать следующим образом:
  • Выделить текст ссылки/цитату, нажать нужную кнопку появится запрос для вставки URL/источника цитирования. Вставляете URL/источник цитирования, нажимаете OK и получаете готовую ссылку/цитату.

  • Ничего не выделяете жмёте нужную кнопку, у Вас также запрашивается URL/источник цитирования. Вставляете его. После этого вписываете между тегами текст ссылки/цитаты.





[anchor=doc_17]17.[/anchor] Автоматический поиск сообщения при переходе по ссылке вида [nobbc]http://glav.su/forum/index.php/[/nobbc]topic,N.msgNNN.html#msgNNN.
При переходе по ссылке из заголовка цитаты, при переходе к закладке, а также при переходе по многим другим ссылкам, которые должны вести к определённому сообщению, в ряде случаев осуществляется переход на страницу, которая не содержит нужное сообщение, а на несколько страниц раньше или позже.
Эту проблему просто так не решишь, но кое-что я всё же сделал: если при переходе к сообщению была загружена страница, не содержащая его, то скрипт автоматически начинает искать это сообщение.
Подробнее смотрите в этом сообщении.
Поиск сообщения по умолчанию отключён, чтобы его включить есть специальная настройка.
Кроме этого есть настройка "Выдавать запрос перед началом поиска сообщения", если она включена, то прежде чем начать поиск сообщения, скрипт запросит подтверждение у пользователя. По умолчанию, настройка отключена.
Автоматический поиск сообщения писался с расчётом на то, что он будет работать независимо от того, какой порядок вывода сообщений. Но я его не тестировал для случая, когда новые сообщения появляются в начале темы, поэтому если что-то будет работать не так, сообщайте, будем разбираться.



[anchor=doc_18]18.[/anchor] Добавление ссылок на оригинал к уменьшенным изображениям без ссылок.
Теперь можено кликнуть по любой уменьшенной картинке, на которой раньше не было ссылок, и она откроется в новом окне и будет нормального размера.
Эта возможность по умолчанию отключена, чтобы её включить есть специальная настройка.



[anchor=doc_19]19.[/anchor] В сообщениях в закрытых темах добавлена кнопка .
Внимание!. Кнопка "Сохранить в архив" не исчезает с сообщений в закрытых темах, которые уже есть в Архиве.



[anchor=doc_20]20.[/anchor] Возможность удалять и восстанавливать удалённые закладки.
Чтобы появились/исчезли элементы управления закладками надо нажать на ссылку "Показать управление закладками" / "Скрыть управление закладками" в меню скрипта.
При нажатии на ссылки "Удалить закладку" и "Восстановить закладку" должна открыться страница содержащая: [pre]{result: "1"}[/pre] Это признак того, что закладка удалена/восстановлена.
Если удалить/восстановить закладку не удалось, будет загружена примерно следующая страница: [pre]{result: "0", resultStatus: "<СООБЩЕНИЕ ОБ ОШИБКЕ>"}[/pre] Где вместо <СООБЩЕНИЕ ОБ ОШИБКЕ> будет текст сообщения об ошибке.

После этого, если перейти на первую страницу форума, то можно увидеть сделанные изменения, но лишь после того, как будет загружена не кэшированная страница. Кэшированная первая страница не имеет тэга title, т.е. в этом случае в заголовке браузера пишется "[nobbc]http://glav.su/forum/index.php[/nobbc]", если страница не кэшированная, а обновлённая, то тэг title присутствует и в заголовке браузера пишется "Форум - Главная страница".

Внимание! Темы, у которых удалена закладка автоматически сворачиваются даже если в них есть новые сообщения, если конечно в настройках включено сворачивание разделов.



[anchor=doc_21]21.[/anchor] Где-то в феврале-марте 2009 года, было добавлено перенаправление всех ссылок в сообщениях через [nobbc]http://glav.su/redirect.php[/nobbc], после этого перестали работать ссылки содержащие несколько параметров, разделённых '&', т.к. эти параметры стали отбрасываться. Скрипт исправляет такие URL.
Пример работы см. в этом сообщении.



[anchor=doc_22]22.[/anchor] Скрипт добавляет следующие горячие клавиши:
     
  • На первой странице форума:
         
    • Ctrl+Alt+ или Ctrl+Shift+ - свернуть все разделы;

    •    
    • Ctrl+Alt+ или Ctrl+Shift+ - развернуть все разделы.

    •    

     

  •  
  • При просмотре темы:
         
    • Ctrl+Alt+ или Ctrl+Shift+ - свернуть все игнорируемые сообщения;

    •    
    • Ctrl+Alt+ или Ctrl+Shift+ - развернуть все игнорируемые сообщения;

    •    
    • Ctrl+ - перейти на предыдущую страницу темы;

    •    
    • Ctrl+ - перейти на следующую страницу темы;

    •    
    • Ctrl+Home - перейти к первой странице темы;

    •    
    • Ctrl+End - перйти к последней странице темы.

    •    

     

  •  

Предлагайте свои варианты горячих клавиш, добавлю их в новые версии.
Отредактировано: York - 31 май 2009 11:37:22
  • +0.00 / 0
  • АУ
ОТВЕТЫ (4)
 
 
  zz ( Слушатель )
04 окт 2008 02:29:24


FireFox 3.0.3

При регистрации на форуме указал, что в начале показывать самые свежие сообщения: по-дефолту щелкаешь на название темы и попадаешь на первую страницу(можно щелкнуть и непосредственно на номер  страницы) - самое верхнее сообщение будет самое последнее по-времени создания. Соответственно, на страницах с большими номерами - самые старые сообщения.
Поставил скрипт, открываешь тему - запоминает положение. Двигаешься к большим номерам(более старые сообщения)-запоминает страницу. Двигаешься к меньшим номерам -не двигается. Все бы ничего, но как сказал выше, новые сообщения приходят на страницу с номером 1.
Возможно внести коррекцию?
  • +0.00 / 0
  • АУ
 
 
  York ( Слушатель )
04 окт 2008 16:03:41


Это к автору - mushroom. Но, боюсь это трудно реализуемо. Если запоминать номер наименьшей просмотренной страницы, то после опубликования нескольких сообщений, последнее прочитанное вами сообщение уедет дальше, а когда вы перейдёте на последнюю просмотренную страницу, на ней уже будут другие более новые сообщения.
К сожалению, я со своей стороны также не нашёл способа, как изменить эту настройку (зато в процессе нашёл другие вещи, которые будут добавлены в будующих версияхПодмигивающий). Для этого надо править код на сервере. Напишите Аванюристю на почту, может быть починит редактирование профиля?
А чем вас закладки (якоря) не устравивают? Вы читали это сообщение?
  • +0.00 / 0
  • АУ
 
 
  mushroom ( Слушатель )
04 окт 2008 23:48:05

Используйте якоря (рядом со временем сообщения).
До вашего сообщения я вообще не подозревал о таком инверсном отображении форума. Если прочитанная область всё время сдвигается назад, не понятно, что запоминать в этом случае.
Кстати, заметил, что в оглавлении форума показывается общее количество страниц (со скрытыми сообщениями), а в теме без скрытых - т.е. номера страниц не совпадают. Расхождения на "Мировом кризисе" уже +13 страниц. А мой скрипт запоминает реальную последнюю и переходит на неё.
Конечно, можно и пропустить что-то - если Авантюрист массово стирает флуд, а потом это место заполнилось новыми сообщениями.

Про чёрный/белый списки - основная проблема - обновление этих списков. Редактировать каждый раз код - неудобно (я так делал для другого сайта), а автоматизировать и хранить у себя в компе - можно только в FF. Но тут хороший форум, флудеров регулирно банят.
  • +0.00 / 0
  • АУ
 
 
 
  York ( Слушатель )
06 окт 2008 10:00:44


В Opera для хранения значений между сессиями можно использовать cookies, конечно в этом случае желательно не хранить строки по несколько килобайт, но белый или чёрный список в cookie впихать можно.
Вот, посмотрите этот скрипт: Emulate Greasemonkey functions to work with Opera.
  • +0.00 / 0
  • АУ