Бесплатная CMS для вашего сайта Разумная альтернатива WordPress

MaxSite CMS 0.53

19-06-2011Время чтения ~ 3 мин.Versions 30335

Очередное некритическое обновление системы. Исправлены некоторые ошибки, недочёты и реализованы новые возможности.

  • Добавлены инструкции и языковые файлы для немецкой локализации (спасибо, Александр Шиллинг!).
  • В опциях плагинов (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 Евгений 2011-06-20 08:38:03

    Подскажите, пожалуйста, планируется ли поддержка аутентификации через LDAP?


    2 vovans 2011-06-20 08:58:04

    а убрать эти H2 в виджетах "по умолчанию" нельзя? Это ведь неправильно, мягко говоря ))


    3 Максим 2011-06-20 09:02:01 admin
    Подскажите, пожалуйста, планируется ли поддержка аутентификации через LDAP?

    Даже не знаю, что это такое.


    4 Максим 2011-06-20 09:03:28 admin
    а убрать эти H2 в виджетах "по умолчанию" нельзя?

    Вы пример читали? Там всё разжевано.


    5 Ruslan Brest 2011-06-20 20:10:29

    Максим, надо бы team.txt заменить на http://humanstxt.org/


    6 Max Kochubey 2011-06-22 11:25:48

    Спасибо за обновление.

    Только вот пришлось ставить $config['sess_encrypt_cookie'] = FALSE;

    А иначе nginx + php-fpm упорно выдаёт 502 Bad Gateway.


    7 Anonymous 2011-06-25 18:18:41

    Шикарная вещь!


    8 Руслан Сафин 2011-06-26 09:55:58

    Для плагина internal links имеет ли значение регистр букв?

    И еще. Предложение по этому плагину.

    Нельзя ли совместить принципы работы этого плагина с плагином perelinks.

    То есть чтобы задавался только список слов, без указания ссылок.

    А плагин уже сам будет искать и подставлять под слово наиболее подходящую ссылку на статью или страницу


    9 Максим 2011-06-26 12:09:14 admin
    Для плагина internal links имеет ли значение регистр букв?

    Для одиночных слов - нет. Для остальных - регистр учитывается. Насколько я понял, то проблема в регулярке, которую я никак не могу побороть. По регулярке мне нужна помощь, поэтому пока будет этот не совсем корректный вариант.

    Нельзя ли совместить принципы работы этого плагина с плагином perelinks.

    Особого смысла нет, поскольку у плагинов совершенно разный способ перелинковки.


    10 ceval 2011-06-27 12:46:25

    Ссылку на 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 Максим 2011-06-27 14:20:23 admin

    Инструкция для чего?


    12 Владимир 2011-06-29 09:37:23

    При запуске страниц выводится например:

    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' ) msosql_build_home($r, &$pag);

    Способ устранения ошибки:

    необходимо удалить знак & из строки.

    Вид строки после исправления:

    if ( $custom_type == 'home' ) msosql_build_home($r, $pag);

    Вот и всё. Удачи всем.:-)


    13 Максим 2011-06-29 12:41:10 admin

    А install-ru.txt зачем?


    14 evg 2011-07-03 12:36:24
    Даже не знаю, что это такое.

    LDAP: openldap в nix-системах, Active Directory в Windows - по сути это каталог, в котором хранятся имена, логины пользователей, их пароли, мыла, в каких группах состоят и так далее, очень удобная вещь для единой аутентификации в разных системах (почта, джаббер, форум, samba), кстати в WordPress есть плагин для аутентификации через LDAP, но ужасно кривой. Я понимаю, что для рядового блоггера, в такой системе авторизации необходимости нет, но, пожалуйста, задумайтесь над таким функционалом, это довольно перспективное направление.


    15 Dima 2011-07-06 18:10:59

    Спасибо за ваш труд!


    16 niks 2011-07-06 22:17:26

    обновился с 0.42 на 0.53 без ошибок вроде. файлы поверх перезаписались, а новые экстрактировались и дописались. работает вроде ))

    Оставьте комментарий!