Данная сборка посвящена доменам РФ, умному отлавливанию ошибок при парсинге, кроссбраузерному улучшению визуального редактора и остальным очень полезным вещам.
1. Блоги.
- Теперь это отдельный плагин, который не входит в стандартную сборку.
- Когда черновик становится чистовиком - то дата публикации обновляется на текущую, словно это новая страница.
3. Улучшения.
- В движок сайта добавлено отлавливание php-ошибок при парсенге PHP-скриптов. Раньше если в YaPro CMS возникала ошибка в каком-нибудь подключаемом скрипте, CMS не прекращала работу, выдавая в этом месте ошибку парсинга выдаваемую самим PHP. Теперь, CMS в месте ошибки будет выдавать надпись ---error:see_log_file--- которая не будет рассказывать посетителю/хакеру о ошибке. Кроме этого YaPro будет подсказывать Вам код в котором возникла ошибка, записывая информацию о ошибке в лог-файл + отправит письмо на контактный E-mail, это поможет очень быстро устранить проблему.
- В левом фрэйме Системы Администрирования, возле выбора сайта, появилась кнопка перейти на сайт (выбранный сайт открывается в новом окне). Подводя курсор к данной кнопке, чуть ниже появляется кнопка Выйти, которая позволяет Выйти из Системы Администрирования.
- Личный кабинет на сайте. Улучшено отображение обновленного файла аватары.
- В Админке - Файлы - улучшена обработка превью изображений в файл-менеджере, теперь изображениям до 150 Кб не создаются превью. Следовательно небольшие многослойные PNG-изображения пропорционально выводятся в миниатюрах.
- В движке появилась глобальная переменная $_SERVER['HTTP_HOST_NAME'] в которой содержится всегда правильное название домена. Например если это кириллический домен xn----8sbkzpdb0b9a.xn--p1ai, то в данной переменной будет содержаться значение чудо-окна.рф
- В визивик TinyMCE добавлена полная поддержка всех возможных атрибутов для элемента FORM
- Теперь если Вы решили быстро отредактировать страницу с помощью данного плагина, но оказались не авторизованы в Админке, то Админка запомнит страницу, которую Вы хотели отредактировать и как только Вы авторизуетесь Админка справа загрузит Вам страницу редактирования (реализовано по просьбе studio107.ru).
- Если кто-то редактирует страницу в админке, то форма редактирования сообщит Вам имя пользователя, который редактирует данную страницу.
- В модуле просмотра статистики раздела Опросы и голосования в системе администрирования, реализована возможность копировать данные в программу Excel и сделана сортировку вывода данных по дате ответа.
- В модуле Опросы и голосования - Статистика, добавлена возможность подсветки ответов участника по клику на его идентификатор, что значительно облегчает задачу сравнение ответов в разных вопросах.
- Доработал скрипт комментариев, теперь смайлы и карма поддерживаются даже при подгрузке через Ajax.
- Улучшены методы создания автоматических метатегов, для более правильной поисковой оптимизации и добавления ссылок в социальные сети (которые научились автоматически подтягивать информацию с указанной в посте страницы любого сайта).
- В плагине поиска добавлена возможность сортировки данных с учетом приоритета поиска, реализованная за счет указания порядка тегов и совпадения искомой фразы с тегом привязанным к странице. Ранее был просто поиск с учетом тегов, теперь важен приоритет их указания. Это очень полезно, когда Вы хотите чтобы в результатах поиска одни страницы показывались выше других.
- Эксперементально. В Админке - Файлы - Проводник добавлена обработка запроса данных через отложенные процессы. Это означает, что когда пользователь вызывает к просмотру данный модуль, то модуль подгружается тогда, когда данные собраны и могут быть показаны. Отложенные процессы сделаны для того, чтобы на слабых серверах пользователь мог просматривать страницы модулей, которые загружаются более 30 секунд (стандартное время ожидания работы скрипта в пхп).
- Раздел Сайт в админке переименован в Пользователи сайта. В раздел появилась возможность Добавлять пользователей и Редактировать их данные.
- В модуль Система - Сайты добавлено поле Доп.информация в котором можно сделать себе заметку о домене. Например когда домен в зоне РФ, в поле Доменное имя он указывается в idna-формате, когда таких доменов больше чем один возникает вопрос, данные какого сайта редактируются в этом модуле. В такой ситуации в поле Доп.информация можно написать настоящее доменное и Вы уже не запутаетесь с доменами.
- В таблице страниц сайта добавлено поле Средняя оценка страницы, а в модуле Система - Опции, появилась опция Переиндексировать информацию о оценках страниц »
4. Исправления
- Исправлены моменты автоматического добавления основных страниц при добавлении третьего сайта.
- Пофиксены моменты авторизации пользователей на сайте, который сменил доменное имя на www.-вариант.
- В статистике посещаемости устранена ошибка при обработке якорных урл вида /url/page#Tab1.1 которая ранее считалась скачиваемым файлом.
- Исправлена JavaScript ошибка при выборе Родительского раздела для страницы сайта.
- Доработан фикс обработки данных поступающих с TinyMCE при сохранении страницы
- Исправлена работа пхп-функции blank
- Опера. Выявлено, что контекстное меню вызываемое правой клавишей мыши, в TinyMCE не работает, поэтому в визуальный редактор снова добавлена строка работы с таблицей.
- Исправлены моменты неправильного удаления данных посещаемости в модуле Админка - Статистика - Удаление данных
- Исправлен плагин /inner/sys_rss_comments_head.php в котором был прописан адрес RSS-новости раздела, а должен быть прописан адрес RSS-комментариев раздела
- Карма комментария. Если у юзера IP не определился, возникала ошибка т.к. таблица данных не была подготовлена к подобному виду данных (т.е. в отсутствии данных)
- В классе работы с данными пользователями ( /inner/libraries/users.php ) при изменении аватары, данные о ширине и высоте аватары теперь добавляются в соответствующие поля таблицы users
Cписок измененных файлов и директорий (красным - выделены новые файлы, зеленым - изменившие свое месторасположение):
/outer/captcha.ru.1.2.6/kcaptcha.php
/outer/system_statistics.php
/outer/system_image_resize.php
/outer/cookies.php
/outer/lebnik_bookmarks/latest.php
/outer/lebnik_bookmarks/latest.js
/outer/lebnik_bookmarks/vkontakte.ru.png
/outer/lebnik_bookmarks/odnoklassniki20x22.png
/outer/cron_page_comments.php - плагин информирования комментаторов о новых комментария в темах
/outer/unsubscribe.php - плагин предоставляющий возможность отписаться от всех рассылок с сайта
/outer/unsubscribe_pages_comments.php - плагин предоставляющий возможность отписаться от новых комментариев
/javascript/tiny_mce/plugins/yaproHideMe/editor_plugin.js
/javascript/tiny_mce/plugins/yaproInsertHTML/editor_plugin.js
/javascript/tiny_mce/plugins/yaproInsertHTML/textarea.html
/javascript/system.js
/javascript/jquery.lebnik.Comments/rss.php
/javascript/ajaxFile/ajaxFile.js
/javascript/jquery.yapro.Rating/latest.css
/javascript/jquery.yapro.Rating/colors.gif
/javascript/jquery.yapro.Rating/lines_colors.gif
/javascript/jquery.yapro.Rating/rating_square.gif
/javascript/jquery.yapro.Rating/stars_colors.png
/javascript/jquery.yapro.Rating/stars_light.png
/javascript/jquery.yapro.Rating/stars_night.gif
/javascript/jquery.yapro.Spelling/latest.php
/inner/autoInclude/yandex.metrika.php - добавлен плагин предоставляющий возможность просматривать места кликов в статистике Яндекс.Метрика
/inner/afterContent/lebnik_admin_page_edite_link.php
/inner/system_map.php
/inner/system_search.php
/inner/system_comments.php
/inner/libraries/functions.php
/inner/libraries/user_info.php
/inner/libraries/users.php
/inner/libraries/pages.php
/inner/libraries/cron_timer.php - добавлена библиотека для правильной работы с cron-файлами
/inner/system_rating.php
/inner/system_poll.php
/inner/system_sectons.php
/inner/system_poll_answers.php
/inner/lebnik_tags_pages.php
/inner/sys_lebnik_user.php
/inner/sys_rss_comments_head.php
/inner/sys_lebnik_cloud_tags.php
/inner/lebnik_tags_subclauses.php
/inner/lebnik_search_in_section.php
/inner/lebnik_rss_links.php
/images/tags.gif
/images/ico-rss.png
/admin/css/system.css
/admin/images/elements/ok.png
/admin/javascript/system.js
/admin/modules/comments/messages.php
/admin/modules/files/right.php
/admin/modules/files/left.php
/admin/modules/index/left.php
/admin/modules/pages/right.php
/admin/modules/pages/left.php
/admin/modules/pages/permissions.php
/admin/modules/pages/finder.php
/admin/modules/pages/archive.php
/admin/modules/pages/info.php
/admin/modules/pages/lock/ - директория, в которой хранится информация о редактировании страниц в админке
/admin/modules/pages/lock.php - скрипт выполняющий обновление информации о текущем редактировании страницы в админке
/admin/modules/statistics/seo.php
/admin/modules/statistics/delete.php
/admin/modules/statistics/site_search_keywords.php - модуль позволяющий узнать, что ищут посетители на вашем сайте
/admin/modules/system/connects.php
/admin/modules/system/info.php
/admin/modules/system/sites.php
/admin/modules/system/modules/right.php
/admin/modules/system/actions.php
/admin/modules/fields/include/parent_id.php
/admin/modules/mail/variants.php
/admin/modules/poll/stat.php
/admin/modules/site/users.php
/admin/modules/site/communications.php
/admin/modules/site/fields_right.php
/admin/index.php
/admin/libraries/access.php
/admin/libraries/functions.php
/admin/version.txt
/admin/results - кэш директория в которую складываются результаты обработки долгих запросов (например просмотра иерархии всего сайта в модуле Файлы)
/config.php
/index.php
Большое спасибо за отличные идеи, нахождение ошибок и помощь в развитии проекта компаниям SMSdesign (в частности Милиневскому Сергею) и Студия 107 (в частности Максиму Фалалееву) и другим пользователям, которые предложили свои идеи, нашли ошибки и сообщили о них.
Совет: если Ваш сайт посещает более 10 тысяч уникальных человек в сутки, то через пол года использования внутренней статистики Вы можете заметить притормаживание работы сайта. Следовательно отключите внутреннюю статистику или хотя бы часть собираемых данных, а уже собранные ненужные данные статистики удалите. Это ускорит работу сайта, а посетители Вашего сайта будут Вам благодарны.
Совет 2: если Вы используете плагины или скрипты основанные на методе проверки и выполнения преобразования текста в ссылки не забывайте использовать NoReplace чаще, чтобы парсеру было легче, от этого нагрузка на сервер будет меньше, а страницы Вашего сайта будут загружаться быстрее. Напомню, что начиная с прошлой сборки NoReplace не имеет отношения к редирект-преобразованию ссылок на сторонние сайты.
Совет 3: в последнее время на крупных форумах рассылают спам с помощью массовой рассылки личных сообщений (сообщений внутри форума). Поэтому, если Вы не видите особой пользы в личных сообщениях на форуме - отключайте такую возможность или запретите делать массовые рассылки. На форуме phpbb3 это делается в Админке форума - вкладка Общие - раздел Конфигурация - подраздел Личные сообщения - блок Общие параметры - Разрешить отправку ЛС нескольким пользователям или группам пользователей - поставьте Нет.
Интересный факт: не смотря на то, что теперь при размещения комментария - вводить капчу не нужно, комментариев не стало появляться больше чем прежде.
Как обновить версию CMS YaPro
1. Если давно не обновляли, не забудьте выполнить всё что связано с SQL-запросами в предыщущих обновлениях »
2. Удалите или переименуйте файлы:
- /cache/comment_smiles.js
- /cache/comment_smiles.php
3. Распакуйте в корне сайта все файлы и директории новой версии, кроме:
| файлов |
директорий |
| /config.php, /robots.txt, /favicon.ico, /jabber.php, /.htaccess |
/install, /templates, /css, /cache, /uploads
|
4. Запустите файл обновлений расположенный в корне сайта обратившись к нему так: http://site.ru/update_20110223.php и после обновления ОБЯЗАТЕЛЬНО удалите его.
На время обновления дайте следующие права пользователю MySQL: SELECT, INSERT, UPDATE, CREATE, ALTER, DROP, INDEX, SHOW VIEW иначе скрипт обновления укажет Вам о запросах, которые не смог выполнить сам.
5. Если Вы начали знакомиться с CMS версии от 05.01.2011, то советую либо настроить GOOGLE_API_key или зайти в Админка - Страницы - Обзор - Система - Поиск по сайту, и удалить код:
<script src="/javascript/jquery.lebnik.google.search.js" type="text/javascript"></script>
6. Оказывается на некоторых хостингах, IP адрес пользователя не всегда определяется, точнее он определяется как unknown. В связи с этим может возникнуть проблема вставки данных в MySQL таблицу, при запросе в котором используется функция INET_ATON. Чтобы избежать данной проблемы на Вашем сайте, откройте файл /config.php и найдите там код:
@session_start();// заводим сессию
перед этим кодом добавьте такой код:
$ip = explode('.',$_SERVER['REMOTE_ADDR']);// бывает IP адрес определяется как строка unknown
if(!$ip || !$ip['3'] || !is_numeric($ip['0']) || !is_numeric($ip['1']) || !is_numeric($ip['2']) || !is_numeric($ip['3'])){
$_SERVER['REMOTE_ADDR'] = 0;
}
сохраните файл. Теперь если IP-адрес посетителя не определился, переменная $_SERVER['REMOTE_ADDR'] будет равна нулю (0).
Поздравляю всех мужиков с праздником, удачи вам и хорошо отметить!