Eleanor CMS RC5
Очередной этап плодотворной работы над системой успешно завершен, и мы рады представить Вам новую версию Eleanor CMS - RC5 (Release Candidate 5). В ходе работы над которой, мы постарались учесть и внедрить все хорошие идеи, которые были предложены участниками сообщества Eleanor CMS. Надеемся на дальнейшее активное участие пользователей в развитии системы. А на текущий момент, в результате нашей совместной работы, были внедрены все наилучшии на наш взгляд предложения по улучшению системы.
Новинки RC5:
1. В комплект системы теперь входит три модуля: два старых "файлы" и "опросы" и один новый "блоги".
2. Разработан алгоритм вставки/получения различного контента в редакторы на сайте. Это позволило и смайлы вставлять в WISIWIG редакторы, и делать в них прямую вставку ссылки на файл из аплоадера. Для комментариев также снялось ограничение, когда редактором комментариев мог быть только Eleanor BB Editor.
3. Обновлены WISIWIG редакторы: TINY MCE обновлен до актуальной jQuery версии, FCKeditor заменен на CKeditor – своего последователя.
4. Доработан аплоадер файлов: увеличен его размер, теперь в админ панеле он помещен вне вкладок. Кнопка "Забрать" файл перенесена на изображения файла. Кроме этого при наводе мышью на это изображение теперь доступна дополнительная информация о загруженном файле: для изображений будет показано их содержимое, для остальных файлов – дата создания и размер. Ну и для полного счастья, добавлена возможность ограничения суммарного объема залитых пользователем файлов за один раз (при публикации новости, например).
5. Тип всех редиректов системы заменен с 302 на 301, это несомненно улучшит качество индексации Вашего сайта.
6. Теперь при сохранении публикации (новости, например), имя папки в которой хранятся прикрепленные файлы совпадает с IDом публикации. Ранее оно совпадало с URL публикации, но технология не оправдала себя: у многих стоит nginx который не обрабатывает крилличные ссылки.
7. ВАЖНО! Наконец-то реализованы алгоритмы своих BB кодов. Свои BB коды - это такие же BB коды, которые используются в обычном Eleanor BB editor за исключением того, что обрабатываются они в момент генерации страницы каждый раз по-новому. Свои BB коды одинаково работают в любом редакторе, обычные же BB коды, которые используются в Eleanor BB editor (типа b, i, u) - работают без изменений как и прежде – в момент сохранения преобразуются в HTML. В стандартную комплекцию системы входят следующие свои BB коды:
[php]...[/php] - все, что находится между этими тегами будет воспринято как PHP код и будет выполнено.
[script]...[/script] - все, что находится между этими тегами будет воспринято как javascript код и будет выполнено на странице.
[dohtml]...[/dohtml] - все, что находится между этими тегами будет воспринято как HTML код и не пройдет никаких проверок на валидность.
...
- все, что находится между этими тегами, будет воспринято как код какой-либо программы и будет отображено соответствующим образом. Другие BB коды и смайлы внутри этого участка обработаны не будут!
[csel]...[/csel] - код для выделения участков кода внутри тега [code], работает только внутри этого тега.
… - тег для скрытия определенного текста от определенных групп (настраивается).
[nobb]…[ /nobb] - тег, внутри которого не обрабатываются смайлы и BB коды.
...
– содержимое внутри тега будет обработано как цитата и соответствующе выделено.
[video]…[/video] – тег для вставки видео из онлайн сервисов You Tube, RuTube, Smotri.com, video.bigmir.net . Просто выделите ссылку на видео этим тегом.
[attach=file] - самый интересный BB код. Интересный потому, что результат обработки зависит от типа файла. Через этот BB вставляются все файлы, загруженные из аплоадера. Так, если вставлена картинка - будет показана ее уменьшенная копия, а при наводе на нее мышью или клике - оригинальная картинка.
Если вставлено видео или аудио - будет отображен плеер.
Если вставлен swf файл – будет показана флешка.
Таким образом посетители Вашего сайта смогут сразу и смотреть и слушать.
Для каждого своего BB кода можно выставить ограничение использования по группам.
8. Полностью переботаны механизмы обработки HTML, получаемого от пользователя. Всевозможные XSS вставки, скрипты и прочая гадость успешно вырезается. Производится проверка на корректность всех тегов: закрытие парных тегов и прописывание / у непарных. Ваши пользователи теперь смогут без проблем пользоваться WISIWIG редакторами для публикации комментариев.
9. Пересмотрена технология создания превьюшек, загружаемых изображений. Теперь превью создаются, но не отображаются в аплоадере. Изображение превью - это имя загруженного файла + приставка "_preview". Если для изображения доступна первьюшка - она будет автоматически вставлена, при публикации изображения через тег [ attach]
10. JS класс SWFobject обновлен до версии 2.2 . Блок tag_cloud.php так же переработан для корректной работы под новой версией.
11. Система украинизирована! В сборку добавлен украинский язык и теперь система доступна на трех языках: русском, английском и украинском. Добавление других языков в систему упростилось и теперь не требует изменения базы, поэтому пользователи, желающие выпускать сборки с дополнительными языками - смогут делать это по упрощенной схеме.
12. В модулях "Новости" и "Файлы" краткий и подробный обзоры объеденены в одно поле. Разделителем краткого обзора от подробного служит тег . Это упростит публикацию новостей.
13. Переделана технология автоматического скрытия внешних ссылок. Она стала более простой, но более эффективной. Теперь к внешним ссылкам вперед просто дописывается “go.php?”.
14. В комплект системы теперь входит ручная сортировка категорий.
15. Меню системы теперь реализовано по технологии NESTED SETS. Верхнее главное меню стало многоуровневым – при наводе мышью на пункт, в котором есть подпункты, последние будут показаны. Написан новый блок, подобный блоку "Категории", но он отображает меню. Блок не активирован, лежит в папке addons/menus/plus_minus.php
16. Переработан алгоритм работы HTML шаблонизатора – разбор переменных и условий в тексте избавился от регулярных выражений. Кроме этого в него добавлены новые возможности: обрезка строковых переменных до заданной длины и работа с массивами. Например, теперь Вы можете указать {title=10} и, если содержимое переменной {title} будет длинее 10 символов, оно автоматически будет обрезано до 10 символов, а в конце будет поставлено троеточие.
Если переменная {var} - массив, получить значение его элеменов можно при помощи точки.
{var.key1} - будет отображено содержимое элемента массива с ключом key1. Поддерживаются многомерные массивы: {var.key1.ky2.key3}. Однако не поддерживаются логические условия и ограничение длины, т.е. конструкции вида [var.key1]{var.key1}[/var.key1] и {var.key1=10} работать не будут.
17. Оптимизирован алгоритм создания Sitemap. Теперь скрипт не будет виснуть на большом объеме данных: обрабатывается порядка 500 ссылок за раз, после чего происходит перезагрузка скрипта. И так пока не обработаются все модули.
18. Опция "Включить ЧПУ" - теперь находится в основных настройках, а не где-то в настройках сервисов. Также по многочисленным просьбам пользователей "сапы" добавлена возможность автоматической транслитерации ЧПУ, однако в этом случае пропадает смысл использования ЧПУ.
19. В BB редакторе, благодаря замечаниям Diego, реализованы многоуровневые списки.
20. В интерфейс просмотра логов добавлено сообщение, отображающее объем папки с логами.
21. В модулях новости и файлы в поле даты добавлено еще и время.
22. Переработаны настройки: в них добавлена мультиязычность. Теперь можно указать разный заголовок сайта для разных языковых версий: просто нажимайте по флагам и вводите нужные значения в поля.
23. В админ панель модуля "Аккаунт пользователя" вынесен редактор писем, которые проходят пользователю на email при регистрации, восстановлении пароля и т.п.
24. Расширен модуль "статические страницы" - добавлены уровни и хлебные крошки. Это облегчит создание сайтов-визиток.
25. Добавлена автоматическая подсветка синтаксиса языков программирования. В частности HTML, XML, CSS, Apache, AVR Assembler, C++, C#, Delphi, Ini, Java, javascript, PHP, Perl, Python, Rubi, SQL, VBScript. По-умолчанию код не подсвечивается какой-либо подсветкой, чтобы активировать подсветку синтаксиса, необходимо в тег [ code] добавить = и название языка. Например [ code=php]. Если Вы хотите, чтобы язык программирования определился автоматически, просто добавьте в тег параметр auto, например: [ code auto].
26. Переключение языков в админ панеле и в пользовательской части для пользователя сохраняется в БД. Таким образом, пользователю не нужно будет каждый раз выбирать свой язык из доступных на сайте (в случае, если его родной язык отличается от основного на сайте) - система будет его запоминать. Для гостей язык все так же хранится в куке.
27. Добавлена возможность для пользователей и гостей сайта выбирать тему оформления сайта. Написан блок со списком доступных тем (правится этот список из админки), название блока block_themesel.php, лежит в папке addons/blocks (не активен). Для пользователей выбранная тема также запоминается в базе.
28. Доработан модуль обратной связи: теперь существует возможность указать несколько e-mail-ов с описанием, на один из которых пользователь сможет отправить свое сообщение, т.е. выбрать, кому оно адресовано.
29. В панели администратора создан контроль последних комментариев с возможность правки, удаления, изменения. Работает только для модулей: блоги, файлы, новости и опросы. Сторонним разработчикам придется править код этого контроля, чтобы добиться совместимости.
30. Расширены возможности комментирования для модулей "Файлы", "Новости" и "Опросы" (тех, которые входят в систему по умолчанию). Теперь опцию "Разрешить комментирование" можно поставить "С перемодерацией". Кроме этого добавлена возможность, чтобы пользователи смогли отмечать комментарии как спам.
31. По просьбам многих пользователей, добавлена возможность обращения к статическим страницам напрямую, указывая в строке запроса только адрес страницы. Например: site.ru/demo.html , при таком запросе система сначала будет искать модуль с именем demo, если не находит - пытается найти статическую страницу с именем demo, если и ее не найдет - только теперь будет показана главная страница.
32. Для облегчения жизни новичкам, и тем, кто пока еще плохо разбирается в ЧПУ Eleanor CMS, реализована поддержка мешанных запросов т.е. вида news.html?nid=1 Хотя так писать - неправильно, все-же лучше когда поддержка такого есть.
33. В модуле файлов, во вкладке "Файлы и картинки" вставлять ссылки в поля теперь можно сразу с ББ редактора: достаточно встать на поле и кликнуть кнопку "вставить ссылку" в ББ редакторе.
34. При генерации списка страниц, теперь в header прописываются теги и что позволяет листать сраницы кнопками "Вперед-назад".
35. Обновлен шаблон инсталлятора и панели администратора. Просьба не просить вернуть старое.
36. Исправлена ошибка, когда в Google Chrome не работали выпадающие меню со смайлами и настройками шрифта в Eleanor BB Editor-e.
37. Исправлена ошибка, когда в меню при переключении языка, к URL не добавлялась соответствующая приставка.
38. Исправлена ошибка при добавлении комментариев в IE, также исправлено ошибка когда после публикации комментария, страница не скролировалась к нему.
39. Исправлен глюк всплывающего окна в админ панеле, когда кликаем по нику пользователя или IP для получения подробной информации.
40. В комментарии возвращена карма комментариев, которая раньше почему-то не доступна была.
41. Информация для дизайнеров. Если Вы используете PHP шаблонизатор для файла index.php (темы оформления), то теперь все переменные, кроме {module},Страница сгенерирована за 0.076 секунд(ы). Использовано запросов: 15. GZIP включен. и нужно будет писать вот так: . Тоже самое касается и переменной HEAD, которую теперь нужно писать не {HEAD}, а . Поэтому разработчикам сторонних тем придется изменить свои шаблоны под RC5. Приносим извинения.
42. Информация для разработчиков. Из ядра системы полностью удален содержавшийся там HTML код. Из самого ядра удалены устаревшие функции:
BaseClass:
D();
Mainclass:
CharSet();
Strings:
GenHardPass();
Categories:
CategoryHeader();
CategoryNavi();
Function:
RssOut();
Так же ликвидированы переменны $Mainclass->GET и $Mainclass->COOKIE.
Если у кого-то перестанут из-за этого работать сторонние модули - пишите в ЛС - договоримся.
Оптимизирован формат хранения разных языковых версий контента. Поле one_lang удалено, а поле тип поля language изменен с enum, на varchar, что позволит быстро и безпроблемно добавлять новые языки в систему.
Если публикация установлена для всех языков, то language – пустое.
Это список наиболее важных и основных на мой взгляд изменений, писать о всех мелочах, мы не считаем нужным. Извините, что без картинок, они будут потом.
Для любопытных, сейчас мы:
* Разрабатываем новый шаблон для админ панели RC5.
* Разрабатываем модуль «Блоги».
И немного планов на будущее. В первой версии мы непременно реализуем:
* Установщик модулей.
* Разграничение прав администраторов.
А в недалеком будем мы планируем полностью реконструировать сайт.