Современная, быстрая и удобная система управления сайтом

MaxSite CMS 0.437

Версии (релизы)Комментарии: 24Просмотров: 20999

Очередная версия MaxSite CMS, где много новых «вкусностей» и исправлений ошибок. Теперь версии MaxSite CMS будут выходить по новым правилам. Это значит, что они будут появляться чаще, и больше не будет деления на «стабильную» и latest-версии. Будет просто одна последняя версия. Я бы рекомендовал всем пользователям системы обновлять версии хотя бы раз в несколько месяцев. Ну и конечно, если версия будет отмечена как «критическая», то обновиться желательно как можно быстрей.

Сейчас я сделаю анонс MaxSite CMS 0.437, где опубликую изменения по сравнению с предыдущей 0.42. В будущем изменения будут публиковаться аналогично: в сравнении с предыдущей версией.

Особо хочу отметить, что если вы найшли ошибку, недочёт или у вас есть пожелание, то вы можете сделать отдельную тему на специально выделенном для этого форуме. Если у вас возникли проблемы, то лучше всего задать их на форуме поддержки в общем форуме.

- В админ-панели в редактировании комментария добавил кнопку «Удалить комментарий».

- Исправлен недочёт при удалении комюзера (комментатора) раньше не удалялась его мета-информация.

- Принято решение, что поле «MSN» у пользователей теперь будет использоваться для аккаунта Twitter. Чтобы не переделывать структуру базы данных, название полей остались с «_msn». Разработчикам плагинов и шаблонов, которые меняют страницы комюзеров следует учитывать эти изменения.

- В админ-панели на странице «Информация» добавил ссылку на «ЧАВО по MaxSite CMS для новичков». Страница постоянно обновляется и дополняется. Также на странице Информация может отображаться последние записи с max-3000.com - так будет удобней следить за новостями. Чтобы включить получение новостей нужно отметить опцию «Получать анонсы MaxSite CMS» в Основных настройках. Сами записи получаются не чаще одного раза в сутки.

- При редактировании записей в блоке типов страниц отображается описание типа.

- При редактировании записей теперь можно использовать полноэкранный режим, при котором будет скрываются все управляющие блоки. Для переключения «туда/сюда» используется горячая клавиша F2 (фокус дожен быть либо на тексте, либо на заголовке).

- Убрал админ-шаблон Clouds.

- Переделана форма входа в админ-панель.

- Переделана функция создающая форму логина mso_login_form(). Убраны id элементов. Вместо этого используются class. Проблема была в том, что при использовании виджета login_form на одной странице отображаются элементы с одним id, что является ошибкой. Чтобы в будущем больше с ней не сталкиваться я и переделал всё на классы. Из-за этого на старых шаблонах может сбиться вёрстка формы логина и виджета login_form. В таких шаблонах в стилях (обычно это style.css шаблона) нужно удалить строчки

div.loginform {}
* html div.loginform {}

#flogin span {}
#flogin_user {}
#flogin_password {}
#flogin_submit {}

и заменить их на новые стили:

div.loginform {padding: 20px 20px 20px 15px; border: 1px solid #D5DDF3; background: #F0F0FB;  -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}

div.loginform p.header {font-size: 1.2em; text-align: center; margin: 0 0 15px 0; background: #3C5FB3; color: white; padding: 3px;}

form.flogin span {font-weight: bold;}
form.flogin input.flogin_user {width: 98%;}
form.flogin input.flogin_password {width: 98%;}
form.flogin input.flogin_submit {margin: 5px 0;}
form.flogin div.form-end {margin: 15px 0 0 0; text-align: right;}
form.flogin div.login-form-auth {font-size: .9em;}

Это стили default-шаблона.

Особо хочу отметить, что сама форма входа будет работать с любой вёрсткой, но новый вариант предусматривает более гибкое и удобное управление оформлением.

- В функции mso_segment() треьим параметром можно передать свой массив сегментов, как это принято в CodeIgniter. Обратите внимание, что нумерация этого массива начинается с 1.

- В функцию mso_mail() можно передать параметры «wordwrap» и «wrapchars», которые задают переносы в отправляемых письмах.

- Переход на jQuery 1.5.

- Новая функция mso_rss(), которая формирует html-код RSS-лент в зависимости от типа данных. Например на главной странице формируется RSS на новые записи и новые комментарии. На странице рубрики: «главная» + RSS записей этой рубрики. На странице записи: «главная» + новые комментарии этой записи. Таким образом функция берёт на себя генерацию html-кода, что упрощает написание шаблонов. Использовать в header.php шаблонов

<?= mso_rss() ?>

Ручное (как было раньше) размещение RSS-ссылок также будет работать без изменений.

- Изменён алгоритм вывода архива по датам. Можно указывать ссылки «http://сайт/archive/», «http://сайт/archive/год», «http://сайт/archive/год/месяц» и «http://сайт/archive/год/месяц/день».

- Достаточно большие изменения в common/comments.php (функции комментариев). Подправлены некотоыре мелкие ошибки и недочёты. Заложена основа для построения древовидных комментариев (можно передавть comments_parent_id). При регистрации нового комюзера сразу включается его подписка на новые комментарии. То есть теперь нет необходимости после регистрации заходить на свою персональную страницу и активировать подписку. При этом, если в Основных настройках разрешить автоматическую активацию email новых комюзеров (то есть не требуется подтвержать свой адрес), то получается полностью автоматическая подписка на новые комментарии. Данная схема удобна тем, что всё работает автоматом (регистрация+активация+подписка).

При выводе текста комментария проводятся дополнительные проверки на потенциальные угрозы, вроде XSS-атаки, а также улучшена обработка PRE. Аналогичные проверки проводятся для всех полей на персональной странице.

Исправлен недочёт, который в отдельных случаях мог приводить к тому, что у комюзера не устанавливалась опция «подписки».

- Новая функция mso_comuser_auth(), которая осуществляет регистрацию, активацию и вход. Возможности таковы, что с её помощью можно проводить регистрацию без отправки комментария. Грубо говоря это эквивалентно простой регистрации нового комюзера. Кроме того, через эту функцию осуществляется вход с помощью Oauth (открытый протокол авторизации), который поддержиавется многими крупными сервисами, например facebook.com. Обратите внимание, что авторизация в MaxSite CMS через посторонние сервисы возможна только в случае передачи email. Если сервис не отдаёт адрес электронной почты, или вы запретили его публикацию, что авторизоваться через Oauth не получится.

- Новый плагин авторизации fbauth - facebook.com. После активации плагина, на странице его настроек, необходимо зарегистрировать ваш сайт в фейсбуке (получть id приложения). Это связано с безопасностью и ограничениями самого фейсбука.

- Новый плагин авторизации loginza_auth - с помощью сервиса loginza.ru. Данный сервис является неким «буфером» между другими сервисами авторизации и вашим сайтом. Если у вас есть регистрации в соцсетях, то в loginza.ru можно не регистрироваться. На данный момент проверенно поддерживается авторизация facebook.com, google.com, loginza.ru, openid.net. Если разрешить отдачу email, то добавляются: twitter.com, yandex.ru, myopenid.com и webmoney.ru.

Ссылки на авторизацию появляются в форме виджета логина, а также в форме комментирования. Это касается всех плагинов авторизации. На данный момент это: MaxSiteAuth (между сайтами на MaxSite CMS), fbauth (facebook.com) и loginza_auth (loginza.ru).

- Новый плагин shjs (SHJS - Syntax Highlighting) - подсветка кода в PRE. Поддерживается языки CSS, HTML, JS и PHP. Если этих недостаточно, то можно скачать с оф.сайта дополнительные (39 штук). Также можно скачать различные схемы расцветки.

- Новый плагин ushki_to_hook (Ушки к хукам). Признаться я долго сомневался включать ли данный плагин в комплект, но потом решил, что он будет полезен вебместерам, которые занимаютс созданием сайтов. Суть плагина в том, что с его помощью можно сопоставить произвольному хуку произвольную ушку. Обычно, если требуется вывести какой-то блок для хука, мы делаем отдельный плагин, где «цепляем» к хуку нужную функцию. С помощью ushki_to_hook такой плагин не требуется: просто указываем хук и ушку. Пример использования см. с отдельной статье на моём блоге.

- В плагин addzakl (соц.закладки) добавил фейсбук и вконтакте.

- В BBCode добавил коды sub (верхний индекс) и sup (нижний индекс).

- Соответствующие правки в Editor markItUp - невизуальный редактор.

- В плагине Forms (произвольные формы) можно указывать дополнительное описание как поле tip. Отображается под полем ввода.

- Исправил ошибку в плагине randomtext (случайные цитаты), которая не позволяла менять опции при выводе.

- Несклько правок в samborsky_polls (голосование). Поправил верстку вывода, а также исправил ошибку, когда можно было проголосовать в уже закрытом голосовании.

- В плагине Твиттера можно отключить вывод своего ника.

- При выводе рубрики теперь отображается её описание.

- В RSS рубрики теперь учитывается тип страниц - выводится только blog (раньше выводились все типы). По основному фиду, наоборот: выводятся страницы без учёта типа страницы (раньше были только blog). Соответственно логика вывода записи в RSS упростилась и напрямую зависит от установленного разрешения при редактировании записи.

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

- Полностью переделан поиск по сайту. Теперь вывод найденных текстов отображает текст до найденной фразы (раньше его не было). То есть теперь тексты более информативны. Минимальное количество символов уменьшено до 2. Более информативные сообщения об ошибках. Поиск осуществляется не только по текстам, но и по названиям рубрик и меткам. Для тех, кому новый поиск не нужен, старый сохранён в файле search-old.php.

- Новые type_foreach-файлы: archive-posle.php, home-do-pagination.php, category-show-desc.php

- Для картинок смайлов ставится css-класс «smiley».

- Ряд других мелкий исправлений.

Хочу поблагодарить всех участников форума поддержки, благодаря которым появилось столько новых возможноестей!

Комментариев: 24 RSS

1FantaСайт09-02-2011 14:42

Для обновления с 039 достаточно залить файло поверх или еще что-то требуется??

2Максим09-02-2011 14:52

Да, просто поверх загрузить. Сбросить кэш. Если слетела форма логина, то поправить стили.

3Аноним09-02-2011 21:13

можно сделать название архива более информативным, к примеру mso-0.437.zip или добавить в архив файл с номером версии, а то понять какой "latest" последний по прошествии времени будет сложной задачей.

4Alexander V09-02-2011 21:27

Здравствуй, залил файлы поверх версии 0.433 кэш удалил, а в админе как показывало 0.433 так и показывает версию 0.433. Из-за чего всё это зависло?

6ravenhanСайт10-02-2011 07:51

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

А будет ли в будущем возможность создавать блоги для пользователей?

7Максим10-02-2011 09:45

можно сделать название архива более информативным, к примеру mso-0.437.zip или добавить в архив файл с номером версии, а то понять какой "latest" последний по прошествии времени будет сложной задачей.

Зачем плодить лишние файлы? Будет одна последняя актуальная версия.

Здравствуй, залил файлы поверх версии 0.433 кэш удалил, а в админе как показывало 0.433 так и показывает версию 0.433. Из-за чего всё это зависло?

Значит не всё залили.

А будет ли в будущем возможность создавать блоги для пользователей?

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

8Аноним10-02-2011 10:06

Спасибо за очередные улучшения!

Скажите, но будет ли улучшена работа с адресами создаваемых страниц? Чтобы можно было записи сохранять с расширением .html, например? Как к примеру это организованно в WordPress.

Вопрос кажется уже поднимался, но решения я так и не увидел.

Спрашиваю в связи с желанием перевести некоторые сайты на MaxSite CMS, но существует огромная проблема с сохранением прежних адресов страниц и каталогов...

Уверен также, что MaxSite CMS пригодился бы "canonical" в отдельных страницах. По той же причине непонятки с окончанием названия страниц: можно написать слэш, можно нет... Дублирование контента совсем не хочется.

Буду признателен за ответ.

9Максим10-02-2011 10:21

Скажите, но будет ли улучшена работа с адресами создаваемых страниц? Чтобы можно было записи сохранять с расширением .html, например? Как к примеру это организованно в WordPress.

Указывайте ссылки с .html при создании страниц. Нет никаких ограничений.

10Serg10-02-2011 10:33

Обновился на двух блогах и перестал работать поиск,

выдает вместо правильных результатов

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: max_char_count
Filename: type_foreach/search.php
Line Number: 39

либо

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: max_char_count
Filename: type_foreach/search.php
Line Number: 36

Если вводить несуществующий запрос- то выдает корректно список постов.

12Serg10-02-2011 10:43

Помогло, спасибо.

Но теперь сопутствующий вопрос- такие страницы

".../search/запрос" при попадании в индекс могут наплодить большое количество псевдодублей. Есть ли смысл закрыть /search/ в роботсе от индексации?

14Аноним11-02-2011 13:24

Обновил! Всё отлично, спасибо!

16ravenhanСайт11-02-2011 16:33

А не перегадаете.

Сейчас с ним работаю на локальном сервере и что, скажу неплохая CMS.

Буду переносить сайт на эту КМСку.

17Alexander MurvanidzeСайт12-02-2011 00:42

Максим, красавец! В очередной раз на высоте. Я долго искал но так и не нашёл - скажи пожалуйста, сколько надо заплатить, если клиент просит убрать твою ссылку из футера фронт-енда?

И что мне делать, если я хочу убрать из футера ссылку разработчика шаблона и не могу его найти чтобы задать тот же вопрос, что и тебе?

19Максим12-02-2011 09:36

Я долго искал но так и не нашёл - скажи пожалуйста, сколько надо заплатить, если клиент просит убрать твою ссылку из футера фронт-енда?
И что мне делать, если я хочу убрать из футера ссылку разработчика шаблона и не могу его найти чтобы задать тот же вопрос, что и тебе?

Строго говоря, любое производное от MaxSite CMS, будь то плагин или шаблон должны распространяться с той же лицензией, что и MaxSite CMS - GNU GENERAL PUBLIC LICENSE, где чётко сказано о необходимости сохранения всех авторских прав там, где они указаны.

Таким образом есть два пути. Первый - для себя вы можете вносить любые изменения. Главное, чтобы изменённый экземпляр системы вы не распространяли дальше.

Второй - если вы продаёте свои услуги, то ваш клиент должен получить 100% вариант CMS, без каких-либо ограничений. Если кому-то мешают ссылки в админке, то делаете свой шаблон, где указываете свои копирайты и убираете ссылки (в тексте файлов они должны остаться, чтобы клиент знал на основе чего они сделаны).

Что касается копирайтов чужих шаблонов/плагинов, то их все необходимо сохранять в исходом виде. Если автор особо не оговорил условия, то у вас нет прав убирать ссылки. Некоторые шаблонописатели разрешают убирать ссылки, например после оплаты, то есть в таких случаях лучше всего связываться с автором шаблона/дизайна и утрясти этот вопрос. Отмечу особо, что часто встречаются адаптация чужих шаблонов. В этом случае копирайт принадлежит исходному автору.

20Test13-02-2011 16:37

Возможно, проблема только у меня, но плагин ColorBox не дружит с jQuery 1.5 (с 1.4.2 картинки просматриваются без проблем)...

21Максим13-02-2011 17:30

Возможно, проблема только у меня, но плагин ColorBox не дружит с jQuery 1.5 (с 1.4.2 картинки просматриваются без проблем)...

Проверил, работает без проблем.

23Алексей09-03-2011 08:44

правильно ли я понял, что если Вы говорите "Заложена основа для построения древовидных комментариев (можно передавть comments_parent_id)" - это значит есть возможность комментировать отдельные комментарии? Т.е. ветки дискуссий как например в ЖЖ?

24Аноним22-04-2011 07:34

если Вы говорите "Заложена основа для построения древовидных комментариев (можно передавть comments_parent_id)" - это значит есть возможность комментировать отдельные комментарии? Т.е. ветки дискуссий как например в ЖЖ?

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

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

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