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

MaxSite CMS 0.53

19-06-2011Reading time ~ 3 min.Versions 30303

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

- Добавлены инструкции и языковые файлы для немецкой локализации (спасибо, Александр Шиллинг!).

- В опциях плагинов (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 на серверах с часовым поясом отличным от Гринвича.

Related Posts
Comments (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 без ошибок вроде. файлы поверх перезаписались, а новые экстрактировались и дописались. работает вроде ))

Leave a comment!