MaxSite CMS 0.36

Рубрика: MaxSite CMS -> Версии
Пятница, 18 декабря 2009 г.
Просмотров: 2809
Подписаться на комментарии по RSS
]]>
]]>

Очередная версия MaxSite CMS. В ней достаточно изменений, чтобы вы не задерживались с обновлением.

- Изменение в способе вызова Ajax-файлов. Раньше можно было использовать произвольное имя php-файла. Теперь строго формат «имя-ajax.php». Сделано это из соображений безопасности, поскольку аяксовский заголовок можно (теоретически) подделать и тем самым получить доступ к любому php-файлу. Теперь такое будет невозможно.

- Аналогично введен новый тип «require», с помощью которого можно подключить к системе произвольный php-файл. Формат «имя-require-maxsite.php». Использовать можно например при динамических css-стилях. Пример:

  1.  Подключаем стили (шаблонный header.php):
  2.    
  3.  <link rel="stylesheet" href="<?= getinfo('require-maxsite')
  4.              . base64_encode('templates/'
  5.              . getinfo('template')
  6.              . '/style-require-maxsite.php') ?>" type="text/css" media="screen">
  7.    
  8.  Файл в шаблоне: style-require-maxsite.php
  9.    
  10.  <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
  11.    
  12.  header('Content-type: text/css');
  13.    
  14.  $a_color = 'green';
  15.    
  16.  echo "a {color: $a_color;}";
  17.    
  18.  ?>

- Новый плагин Mail Send. C его помощью можно организовать массовую рассылку по указанным адресам.

- Реализована рассылка на новые комментарии. В предыдущих версиях MaxSite CMS были введены опции подписки в профилях комюзеров, теперь я сделал саму рассылку. Чтобы подтвердить подписку комюзер должен зайти на свою страницу и отметить нужные опции.

- Так же добавлена опция рассылки в модерацию комментария.

- В настройках редактора появились дефолтные значения для «Разрешить комментарии» и «Разрешить RSS».

- Изменен алгоритм подключения мета-полей в визуальном редакторе. Теперь вначале подключается meta.ini из дефолтного шаблона, потом свой. Сделано для того, чтобы не дублировать по шаблонам дефолтный meta.ini. Для того, чтобы в вашем шаблоне отключить отображение дефолтных мета-полей, следует их указать пустыми секциями.

- В мета-полях можно использовать PHP-функцию. (PHP_START функция PHP_END)

- В мета-поля можно добавить произвольный код по хуку «admin_page_form_add_all_meta».

- Перед рубриками можно добавить свой блок по хуку «admin_page_form_add_block_1».

- В функцию mso_admin_plugin_options() добавил последним параметром произвольный текст, который будет выводиться вместо «Вернуться на страницу плагинов». Грубо говоря можно настроить плагин так, чтобы страница опций была в меню без отображения этой надписи, что позволяет упростить создание страниц настроек.

- В формы визуальных редакторов добавлен «enctype="multipart/form-data"». Задел на будущее, чтобы можно было грузить картинки сразу при публикации страниц.

- В SQL-запросах используется не указание даты с помощью PHP (функция date), а sql-функция NOW. Тем самым, если включить DB-кэширование CodeIgniter, получится 0 запросов к базе данных. С учетом того, что в MaxSite CMS используются несколько тяжелых join-запросов для некоторых серверов выигрыш в нагрузке будет ощутим.

- При использовании getinfo() для «name_site», «description_site», «title», «description» и «keywords» происходит обработка htmlspecialchars() с целью преобразования «конфликтных» символов в их html-аналоги (например кавычки).

- В настройках сайдбаров в условиях отображения виджетов можно использовать глобальную переменную $page. Это может понадобиться, например при определении условия типа страницы, slug и т.д. То есть всё, то что входит в массив $page.

- Функция mso_mail() теперь принимает вложения, а также можно задать способ вывода отладочной информации (при ошибках).

- При задании меню можно указать title: «адрес | название | подсказка».

- Исправлена ошибка зацикливания при переходе на logout с чужого сайта.

- Улучшен алгоримт работы с ini-файлами. Раньше каждая опция при изменении/получении требовала одного запроса к БД. Теперь все выполняется парой запросов.

- Новые функции для работы с мета-полями: mso_parse_ini_values() и mso_find_options_key().

- В mso_get_pages() можно указать смещение времени в параметре «time_zone». Мне он потребовался, чтобы задавать смещение в SQL-запросах (учет временной поправки).

- В mso_get_pages() для типа «tag» можно дополнительно задать meta_key и meta_table для получения страниц с заданными мета-данными. Если нужно задать meta_value, то это slug.

- В mso_get_pages() новый хук «mso_get_pages», котором можно поменять все входящие параметры.

- В mso_get_pages() можно задать type в виде массива. Это если нужно сделать выборку по нескольким типам сразу (например static и blog).

- В mso_get_pages() можно задать параметр «pagination_next_url», который отвечает за «признак» пагинации.

- В настроках шаблона добавил опции для блока "Еще записи этой рубрики".

- Немного изменил model.sql: добавил новые ключи и убрал ключи с fulltext. По-идее это улучшит поиск и уменьшит размер базы. Для уже установленных сайтов ничего менять не нужно.

- Изменен index.php шаблона default. Раньше нужно было вручную прописывать и подключать файлы типов данных и т.д. Теперь будет автоматически подключаться файл типа текущего шаблона. Если его нет, то из default. Если система определила тип как page_404, то на основе входящего url будет произведен поиск одноименного файла в текущем шаблоне, и, если нет, в дефолтном. Короче говоря, теперь все работает и подключается автоматом.

]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 11

  1. 2009-12-19 в 07:52:28 | VolCh
    ]]>]]>

    Обновился, опять common.php пришлось править, чтоб на нестандартном порту заработало. А ток всё нормально вроде, будем тестить рассылки

  2. 2009-12-19 в 08:11:25 | Максим
    ]]>]]>

    Порт будет учитываться в следующем латест.

  3. 2009-12-20 в 15:45:42 | Podedinov
    ]]>]]>

    Не выводит последние записи ни в дефолтовом шаблоне ни в своем

  4. 2009-12-20 в 20:42:48 | master
    ]]>]]>
    [Sun Dec 20 21:38:15 2009] [error] [client 95.181.12.146] PHP Parse error:  syntax error, unexpected T_LOGICAL_AND
    

    В этой строке была опечатка:

    было:

    if (isset(and $arg['preferences']['print_debugger']) and $arg['preferences']['print_debugger'])
    

    надо:

    if (isset($arg['preferences']['print_debugger']) and $arg['preferences']['print_debugger'])
    
  5. 2009-12-20 в 22:46:39 | Максим
    ]]>]]>

    Поправлю.

  6. 2009-12-23 в 09:59:24 | GTAlex
    ]]>]]>

    было бы здорово, если в данные демо-сайта были встроено побольше плагинов и виджетов, а то скудновато выглядит после инсталяции

  7. 2009-12-23 в 14:43:28 | vargrup

    Где находится файл и как он называется в котором вот эта опечатка?

    if (isset(and $arg['preferences']['print_debugger']) and $arg['preferences']['print_debugger'])

  8. 2009-12-23 в 16:24:55 | master
    ]]>]]>
    Где находится файл и как он называется в котором вот эта опечатка?
    if (isset(and $arg['preferences']['print_debugger']) and $arg['preferences']['print_debugger'])

    в фале модуля smtp_mail

    application/maxsite/plugins/smtp_mail/index.php

  9. 2009-12-23 в 17:43:29 | Denis

    в страницах footer header нужно применить по окончанию flush(); с 500мс упало до 200мс

    Читаем Flush the Buffer Early

    http://developer.yahoo.com/performance/rules.html

  10. 2009-12-23 в 19:30:25 | Максим
    ]]>]]>

    Точно! Если в шаблоне указать

    ... </head><?php flush(); ?>
    ...
    

    то время загрузки уменьшается. Нужно еще проверить как работает буферизация с глобальным кэшем, но выглядит заманчиво. Спасибо за наводку. smile

  11. 2009-12-23 в 19:34:34 | master
    ]]>]]>

    точно-точно минус 600мс на моем vds

    будем юзать

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

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)