Очередное некритическое обновление системы. Исправлены некоторые ошибки, недочёты и реализованы новые возможности.
- Добавлены инструкции и языковые файлы для немецкой локализации (спасибо, Александр Шиллинг!).
- В опциях плагинов (mso_admin_plugin_options) для textarea можно указывать количество строк (ключ rows), по аналогии с ini-файлами.
- Исправлена ошибка в настройках рубриках, которая приводила к тому, что вложенные рубрики не отображались в списке пока в них не было добавленно ни одной записи.
- Новые функции mso_get_val() и mso_set_val(), призванные получать и менять значение произвольных ключей. Идея вот в чём: у нас в системе есть некоторые спорные моменты при генерации HTML-кода. Например заголовки виджетов оформляются как h2.box. Для посетителей и верстальщиков нет никакой разницы, будет ли это h2 или div. Но с точки зрения SEO (поискового продвижения), заголовки h2 рассматриваются как подзаголовки в тексте и участвуют в ранжировании страниц. Поэтому было бы логичней не использовать h2 «в холостую». Чтобы не создавать проблемы совместимости с плагинами и шаблонами мы и ввели эти функции.
Функция mso_get_val(ключ, по-умолчанию) получает текущее значение ключа и, если его нет, возвращает значение по-умолчанию. Функция mso_set_val(ключ, значение) устанавливает новое значение ключа. Например в виджетах мы задаём h2.box через mso_get_val():
$options['header'] = mso_get_val('widget_header_start', '<h2 class="box"><span>') . $options['header'] . mso_get_val('widget_header_end', '</span></h2>');
Здесь используется два ключа widget_header_start и widget_header_end. Теперь, чтобы переопределить эти ключи в своём шаблоне в файле functions.php (как вариант) указываем:
mso_set_val('widget_header_start', '<div class="widget_header"><span>'); mso_set_val('widget_header_end', '</span></div>');
На текущий момент я внёс изменения в шаблоны и плагины. Доступны следующие ключи:
- Заголовок виджета: widget_header_start, widget_header_end
- Заголовок «Комментариев»: page_comments_count_start, page_comments_count_end
- «Подписаться на эту рубрику по RSS»: show_rss_text_start, show_rss_text_end
- Рубрика в home-cat-block: home_full_text_cat_start, home_full_text_cat_end
- «Оставьте комментарий»: leave_a_comment_start, leave_a_comment_end
- «Еще записи по теме»: page_other_pages_start, page_other_pages_end
Постепенно буду добавлять и другие ключи. Пока это самые основные.
- Новый плагин «Внутренние ссылки» (internal links) с помощью которого можно сделать внутреннюю перелинковку страниц. В MaxSite CMS уже есть плагин перелинковки «Perelinks», который выполняет автоматическую перелинковку по словам всех заголовков сайта. В «Internal links» фразы-ссылки указываются вручную, что позволяет полностью контролировать процесс. Сразу предупреждаю, что плагин не до конца отработан. В частности, если фраза встречается в параметрах тэгов, например в title, то замена фразы на ссылку приведет к невалидности HTML-кода. Также я не смог понять, почему поиск для одиночных слов регистронезависим, а для двойных и более слов - регистрозависим. Если вы разбираетесь в регулярных выражениях, буду признателен за помощь в решении эти проблем.
- BB-код [url] теперь поддерживает такие варианты:
[url]http://maxsite.org/[/url] [url=http://maxsite.org/]Блог Макса[/url] [url=http://maxsite.org/ rel="nofollow"]Блог Макса[/url] [url rel="nofollow"]http://maxsite.org/[/url]
То есть можно указывать любые дополнительные параметры ссылки.
- Также в BB-коде добавил и другие дополнительные параметры для кодов.
- В файлах RSS изменён способ указания часового пояса. Теперь часовой пояс выставляется как смещение времени, заданного в настройках, плюс часовой пояс сервера. Это позволяет корректно отображать GMT на серверах с часовым поясом отличным от Гринвича.
Комментариев: 16 RSS
1Евгений20-06-2011 08:38
Подскажите, пожалуйста, планируется ли поддержка аутентификации через LDAP?
2vovans20-06-2011 08:58
а убрать эти H2 в виджетах "по умолчанию" нельзя? Это ведь неправильно, мягко говоря ))
3Максим20-06-2011 09:02
Даже не знаю, что это такое.
4Максим20-06-2011 09:03
Вы пример читали? Там всё разжевано.
5Ruslan BrestСайт20-06-2011 20:10
Максим, надо бы team.txt заменить на http://humanstxt.org/
6Max Kochubey22-06-2011 11:25
Спасибо за обновление.
Только вот пришлось ставить $config['sess_encrypt_cookie'] = FALSE;
А иначе nginx + php-fpm упорно выдаёт 502 Bad Gateway.
7Аноним25-06-2011 18:18
Шикарная вещь!
8Руслан СафинСайт26-06-2011 09:55
Для плагина internal links имеет ли значение регистр букв?
И еще. Предложение по этому плагину.
Нельзя ли совместить принципы работы этого плагина с плагином perelinks.
То есть чтобы задавался только список слов, без указания ссылок.
А плагин уже сам будет искать и подставлять под слово наиболее подходящую ссылку на статью или страницу
9Максим26-06-2011 12:09
Для одиночных слов - нет. Для остальных - регистр учитывается. Насколько я понял, то проблема в регулярке, которую я никак не могу побороть. По регулярке мне нужна помощь, поэтому пока будет этот не совсем корректный вариант.
Особого смысла нет, поскольку у плагинов совершенно разный способ перелинковки.
10cevalСайт27-06-2011 12:46
Ссылку на 0.5 ни нашел, попробовал обновиться на этой сборки, с 0.444 до 0.53
выдает ошибку:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: scaffolding_trigger
Filename: libraries/Router.php
Line Number: 164
Fatal error: Class 'CI_Controller' not found in /msite/application/controllers/maxsite.php on line 8
11Максим27-06-2011 14:20
Инструкция для чего?
12Владимир29-06-2011 09:37
При запуске страниц выводится например:
A PHP Error was encountered
Severity: 8192
Message: Call-time pass-by-reference has been deprecated
Filename: common/page.php Line Number: 195 и такое сообщение выводится начиная со 195 по 210.
Пример срока 195
if ( $custom_type == 'home' ) _mso_sql_build_home($r, &$pag);
Способ устранения ошибки:
необходимо удалить знак & из строки.
Вид строки после исправления:
if ( $custom_type == 'home' ) _mso_sql_build_home($r, $pag);
Вот и всё. Удачи всем.:-)
13Максим29-06-2011 12:41
А install-ru.txt зачем?
14evg03-07-2011 12:36
LDAP: openldap в nix-системах, Active Directory в Windows - по сути это каталог, в котором хранятся имена, логины пользователей, их пароли, мыла, в каких группах состоят и так далее, очень удобная вещь для единой аутентификации в разных системах (почта, джаббер, форум, samba), кстати в WordPress есть плагин для аутентификации через LDAP, но ужасно кривой. Я понимаю, что для рядового блоггера, в такой системе авторизации необходимости нет, но, пожалуйста, задумайтесь над таким функционалом, это довольно перспективное направление.
15Dima06-07-2011 18:10
Спасибо за ваш труд!
16niks06-07-2011 22:17
обновился с 0.42 на 0.53 без ошибок вроде. файлы поверх перезаписались, а новые экстрактировались и дописались. работает вроде ))