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

MaxSite CMS 0.40

10-08-2010Время чтения ~ 4 мин.Versions 31840

Представляю вашему вниманию MaxSite CMS 0.40. В ней исправлены некоторые ошибки, недочеты, добавлены новые возможности. Так же немного оптимизирована структура базы данных, поэтому, помимо привычной замены старых файлов, нужно будет запустить и обновление базы так: http://сайт/update040.

  • Я занялся анализом SQL-запросов с тем, чтобы выловить самые медленные и проверил эффективность использования индексов таблиц. Помощницей была Дарья (http://darievna.ru/), которая, собственно, и инициировала этот процесс. Сайт у неё довольно посещаемый и оптимизация таблиц и запросов по-идее должна благотворно сказаться на общей производительности. Из медленных запросов оказались те, которые используют подсчет количества комментариев к записи (count с group_by). Без этого время выполнения запроса уменьшается примерно в 5 раз. Поэтому я принял решение добавить один быстрый запрос и тем самым получить небольшое ускорение. Так же были удалены неэффективные индексы. Отмечу, что какого-то серьезного роста скорости не будет, это просто оптимизация для высокопосещаемых сайтов. Для большинства особой роли это не сыграет, ну разве что немного уменьшится размер базы.
  • Немного подправлен контролер для более корректной работы с get-параметрами. Теперь явно проверяется первый сегмент URL, и если его нет, то считается, что это тип home (главная страница).
  • При редактировании комментария появилась возможность поменять автора.
Сразу отмечу, что много правок было предложено участниками нашего форума. Особо хочу поблагодарить Вадима Деркача (Wave), который не только предлагает изменения и доработки, но и поддерживает в актуальном состоянии репозитарий в гугл-группе.
  • Появилась возможность удалить комюзера (зарегистрированного комментатора). Все его комментарии помечаются, как анонимные.
  • Указать высоту визуального редактора теперь можно в настройках редактора. То есть перенес из общих настроек.
  • Новые опции в общих настройках: Email для комментариев, Уведомления о комментариях, Разрешить рассылку подписчикам.
  • В функции mso_admin_plugin_options() можно визуально разделять опции на группы. Для этого в качестве разделителя используется тип info, например так:
...
'temp' => array(
		'type' => 'info', # нужно указать такой тип!
		'title' => 'Тут какой-то Заголовок', 
		'text' => 'Тут какой-то текст', 
		),
...

Ключ - произвольный, разве что уникальный в массиве. Пример использования вы можете посмотреть в плагине Random gallery.

  • Исправлены некоторые функции для рубрик. Например при подсчете количества записей теперь учитывается время публикации. Будущие записи не считаются.
  • Email-рассылка подписчикам теперь осуществляется в зависисмости от выставленных опций (Уведомления о комментариях).
  • В функции задания хука (mso_hook_add) теперь по-умолчанию используется приоритет 10. Это позволяет задавать поздние хуки.
  • В функции отправки почты (mso_mail) можно задавать mailtype и поле from.
  • В ini-файлах для textarea-полей можно указывать «_QUOT_», который автоматом заменится на спецсимвол «"».
  • Достаточно много изменений в функциях получения страниц с помощью mso_get_pages(). Часть связана с изменением алгоритма получения количества комментариев (что-бы исключить медленные SQL-запросы). Другая часть - исправлены ошибки и недочеты предыдущей версии.
  • В плагине BB-code добавил возможность указывать произвольные атрибуты для div, span, table, td и tr. Примеры можно посмотреть в bbcode-help.txt на странице плагинов. Кроме того в плагине в его опциях можно указать где именно использовать замены.
  • Исправлен плагин крона. Ошибка приводила к тому, что срабатывали только те плагины, которые начинались до буквы «c».
  • В виджете последних записей добавил возможность указывать формат количества комментариев, а также код для ссылки текущей страницы. Так же в нем исправил недочет, связанный с неучтением указанной временной поправки.
  • В виджете «Самое читаемое» можно задать тип страницы.
  • Виджет/плагин «Галереи» (Random gallery) переделан так, чтобы можно было задавать свой вывод в файле gallery.php, который следует расположить в каталоге шаблона.
  • В плагине редиректа добавлена возможность указывать шаблон регулярных выражений.
  • Исправление/доработка плагина голосования samborsky_polls.
  • Плагин «Theme switch» доработан так, чтобы шаблоны можно было переключать с помощью get-запроса, например: http://сайт/?theme=clouds.
  • В виджете «Блок tweetmeme.com» можно указать где выводить retweet.
  • В некоторых type-файлах заменил вызов функции mso_page_comments_link, чтобы первым параметром был массив опций. Это боле универсальное решение.
  • Доработана форма контактов. В Настройках шаблона появилось множество опций. В самой форме прописаны css-классы, которые позволят кастомизировать форму под нужный дизайн.
  • Карту сайта (sitemap) можно выводить по хуку sitemap.
  • При установке MaxSite CMS теперь подключается демонстрационные данные. Раньше была просто заглушка.
  • В Sypex Dumper Lite явно указана рабочая кодировка - UTF8.
  • Обновлен Upload.php из CodeIgniter. Что-то связанное с безопасностью.
  • Ряд других мелких правок.
Похожие записи
Комментарии (21) RSS
1 Иван 2010-08-10 13:52:30

Большое спасибо за обновление, очень нравится ваша система.

У меня к вам вопрос: мне нужно для галереи добавить в загрузчик алгоритм создания миниатюр изображения, который сделает их квадратными, то есть сначала обрежет слева и справа (сверху и снизу) лишнее до квадрата, а потом уменьшит. Как я понимаю, если я его добавлю сам, то при обновлении он затрется. Может быть, вы добавите его в следующую версию загрузчика?


2 Максим 2010-08-10 14:54:46 admin

Если сделаете, то присылайте свой вариант на мой email. Я посмотрю.


3 Feelov 2010-08-10 17:25:31

Было бы еще очень круто добавить в плагин "добавить в ..." кнопку для вконтакте, для "моего мира" мэйл.ру.

И, конечно, спасибо! Сейчас обновлюсь! :)


4 daster 2010-08-10 20:07:58

Как всегда большое спасибо за обновления, буду обновлять блоги и смотреть новые фичи.


5 Максим 2010-08-10 21:47:32 admin
Было бы еще очень круто добавить в плагин "добавить в ..." кнопку для вконтакте, для "моего мира" мэйл.ру.

Есть ссылка на коды размещения и иконки?


6 Игорь 2010-08-11 06:41:08

Обновил все файлы, но при запуске обновления базы вышла ошибка:

Error Number: 1091

Can't DROP 'category_type'; check that column/key exists

ALTER TABLE mso_category DROP INDEX category_type

И теперь на сайте все посты дублируются - cmsbezmysql.ru - подскажите что сделать нужно.


7 @feelov 2010-08-11 07:06:03
Есть ссылка на коды размещения и иконки?

Максим, да, конечно. :)

коды размещения и иконки:

в контакте - http://vkontakte.ru/pages.php?act=share

мой мир - http://developers.my.mail.ru/wiki/Ссылки@Mail.Ru


8 Максим 2010-08-11 08:21:49 admin
Обновил все файлы, но при запуске обновления базы вышла ошибка:

Error Number: 1091

Can't DROP 'category_type'; check that column/key exists

ALTER TABLE mso_category DROP INDEX category_type

Значит обновление уже было выполнено, поэтому выдается сообщение об ошибке. Чтобы отключить сообщение нужно в файле application\config\database.php выставить $db['default']['db_debug'] = FALSE; .

Убедиться, что обновление выполнено можно с помошью phpMyAdmin. Например в таблице mso_category не должно быть индекса category_type.

Файл application\controllers\update040.php после обновления в принципе можно удалить.

И теперь на сайте все посты дублируются - cmsbezmysql.ru - подскажите что сделать нужно.

Проверьте, что вы действительно обновили все файлы системы.


9 GTAlex 2010-08-11 08:24:31

как отписаться от комментариев ?

(вообще неплохо бы эту ссылочку в рассылаемые по почте комментарии добавить)


10 Игорь 2010-08-11 14:54:09
Убедиться, что обновление выполнено можно с помошью phpMyAdmin. Например в таблице mso_category не должно быть индекса category_type.

Индекса вроде нет - значит все таки обновилось.

Все файлики обновил еще разок, но на главной все равно дублируются сообщения, в рубриках все нормально - что такое не пойму.


11 Anonymous 2010-08-11 17:20:06

Обновился, никаких проблем не возникло. Спасибо за новую версию!!!


12 Anabiotick 2010-08-15 13:06:38

Отлично. Обновилось без сучка и без задоринки после отключения дебага базы в database.php

Спасибо, система становится все лучше и лучше.


13 jogurt 2010-08-18 00:29:21

Максим, такая проблема возникла после обновления.

В бд префикс у таблиц не mso, а другой выставлен.

В сайдбарах для виджетов выставлены условия, связанные с проверкой типа страницы (blog, static и т.п.).

Все виджеты нормально работают на сайте, но при попытке войти на страницу админки настройки виджетов (не самого сайдбара, там все нормально) выдает ошибку БД Error Number: 1146

и пишет, что не существует таблица type_page, при этом там для этой таблицы в сообщении об ошибке указаны оба префикса, т.е. и mso, который по умолчанию, и тот, который я на самом деле использую.

Примерно так: iks_mso_page_type вместо просто iks_page_type


14 Максим 2010-08-18 09:22:38 admin

Вот тема на форуме, где обсуждаются проблемы с обновлением: http://forum.max-3000.com/viewtopic.php?f=2&t=2824


15 sagitaria 2010-08-19 11:15:59

Скажите пожалуйста, а есть ли возможность включать микроформаты в виджете ссылок?


16 @35metod 2010-08-20 09:15:06

с редактором есть ещё одна "засада")) - ширина

она очень узкая теперь в некоторых шаблонах админки, например от Dimox

пришлось переключиться на дефолтный, тут всё ок


17 Karamurza 2010-08-20 19:00:28

Порадовало очередное обновление, хотя возникли некоторые трудности (т.к. ставил сразу латест 3.40), но я с ними справился благодаря обсуждению нового обновления на форуме. Что-ж, так держать - вперёд к большей стабильности и безопасности. Спасибо за систему, очень нравится.


18 Сергей М 2010-08-28 19:48:06

СПС за обновленьице)


19 Anonymous 2010-09-02 13:44:22

Достойная замена WP


20 Anonymous 2010-09-02 15:41:37

Заметил одну особеность. В шаблонах используется конструкция <?= которая не работает при отключённых коротких тегах(short_open_tag = off).

А в базе оптимизировать нужно не только запросы ,но и типы данных.

Например в таблице users в поле users_password используется тип varchar(255), а оптимальнее использовать char(32)(поскольку хранится хэш пароля а его длина всегда 32 символа).

P.S. В коментах не пропускает <


21 Дмитрий 2010-09-11 16:14:51

Спасибо, очень хорошая CMS!|

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