Ideal CMS v. 3.1
Система управления контентом с открытым исходным кодом, написанная на PHP.
Используемые технологии и продукты:
- PHP 5.3+,
- MySQL 4+,
- MVC,
- PSR-0, PSR-1, PSR-2
- Twig,
- jQuery,
- Twitter Bootstrap 3,
- CKEditor,
- CKFinder,
- FirePHP.
Все подробности на сайте idealcms.ru
Версия 3.1
- ADD: возможность использования прокси скрипта для ЯндексПоиска
- ADD: библиотека ЯндексПоиска получает текст ошибки напрямую от Яндекса без дополнительного класса
- ADD: скрипт обновления для поля 'proxyUrl'
- ADD: скрипт обновления для поля 'proxyUrl'
- FIX: более правильное определение папки админки в скрипте локального обновления
- ADD: вывод графика 'Распределение заказов по видам'
- FIX: настройки Ideal CMS можно перезагружать из файлов в run-time
- FIX: построение url при наличии is_skip сегментов
- FIX: определение страницы с вложенными is_skip структурами
- FIX: построение ссылок для меню с произвольным количеством вложенностей
Версия 3.0.1
- ADD: скрипт обновления, добавляющий структуры справочников и заказов с сайта для сайтов на версии 3.0
Версия 3.0
- Переход с Template на Addon (теперь можно добавить несколько аддонов к одному элементу структуры)
- ADD: поле Ideal_Template позволяет указать любой twig-шаблон для подключения к каждому элементу
- ADD: аддон Фотогалерея, позволяющий легко оперировать фотографиями на одной странице
- ADD: аддон Яндекс.XML для реализации поиска по сайту (перенесён из структуры)
Версия 2.4
- ADD: получение информации о том, откуда пришёл пользователь первый раз
- ADD: значение реферра сохраняется во флеш куках
- ADD: структура Ideal_Order для записи заказов с сайта
- ADD: раздел Конверсии в Сервисе с графиками конверсий
- ADD: скрипт обновления, добавляющий структуры справочников и заказов с сайта
Версия 2.3.5
- FIX: конвертация кода амперсанда в знак амперсанда при сборе карты сайта
- FIX: автозагрузка классов FormPhp при использовании его отдельно от фреймворка
- ADD: виджет для вывода двухуровневого меню
- ADD: виджет для вывода многоуровневой иерархии страниц
Версия 2.3.4
- ADD: в файл _.php добавлена проверка $isConsole
- FIX: получение количества скриптов для обновления
Версия 2.3.3
- FIX: неверное определение подключения Google Analytics в FormPhp
- FIX: вывод сообщений валидатора при одной ошибке в форме FormPhp
- FIX: пример использования FormPhp
Версия 2.3.2
- FIX: расположение кнопок редактирования и удаления элемента
- FIX: убрал лишнее уведомление об удалении элемента
- FIX: уведомление об ошибке при составлении xml-карты сайта, если ссылка заканчивается на пробел
- ADD: класс для тестирования методов Sitemap\Crawler
- FIX: в поле Url не сохранялись ссылки на другие страницы
- FIX: Функция получения значения во фреймворке форм была переименована в 'getValue'
- ADD: во фреймворк форм добавлен метод для отправки сообщений
- WRN: В FormPhp/Field/FileMulti/Controller метод getFileInputBlock переименован в getInputText
- ADD: варианты подключения окружения в примере использования фреймворка форм FormPhp
- ADD: абстрактные методы для получения html-кода меток и полей ввода
- ADD: пример отправки письма через фреймворк форм
- ADD: поле Ideal_Price
- FIX: поле Ideal_Integer - html5-защита от ввода дробных чисел
- ADD: структура заказов с сайта Ideal_Order
- ADD: поле Ideal_Referer в ideal CMS
- ADD: поле Referer во фреймворке форм FormPhp
Версия 2.3.1
- FIX: ошибки в обработке is_skip для вложенных структур
- FIX: notice при сохранении site_data.php
- ADD: в библиотеке форм, добавлено срабатывание целей Google Analytics
- FIX: исключение из html-карты сайта вложенных элементов из скрытых разделов
- FIX: если у элемента прописан is_skip=1 и url='---', то в html-карте сайта не выводим его url
Версия 2.3
- ADD: полностью переписан скрипт сбора xml-карты сайта
- ADD: обновление на одну версию возможно локально, через консоль setup/update.php
- Улучшено обновление модулей из админки
- FIX: проблема с обращением к админке по любому адресу, начинающемуся с названия админки
- FIX: проверка существования переменной в $_REQUEST при помощи функции isset()
Версия 2.2
- Реализована проверка целостности скриптов CMS
- WRN: при создании элементов в админке поля не пустые, а полностью отсутствуют в pageData
- FIX: нулевые значения для числовых полей в БД
- ADD: метод для получения номера отображаемой страницы
Версия 2.1.1
- FIX: экшены AjaxController теперь могут возвращать контент, который затем выведет FrontController
- ADD: подсветка розовым ссылки на главную в шапке админки, если находимся в режиме разработчика
- FIX: проверка на существование такой страницы, если страница выдаёт не 200 и не 404
- FIX: проблемы с файловым кэшированием
- FIX: проверка пустого значения при редактировании поля в админке (теперь число 0 не будет считаться как незаполненное поле)
- ADD: переменная isAdmin во View, определяющая, залогинен пользователь в админку или нет
Версия 2.1
- FIX: создание новых элементов при повторном нажатии на кнопку Применить при создании элемента
- ADD: FormPhp\Select
- UPD: bootstarp-multiselect
- Защита от подбора брутфорсом доступа к админке
- Файловое кэширование (создание статических файлов для страничек, генерируемых из БД)
- FIX: определение дублированных URL
Версия 2.0
- ADD: класс поля для загрузки файлов в фреймворк FormPhp
- WARNING!!! В контроллере вьюха не переинициализируется при повторном вызове templateInit(), если она уже была инициализирована
- ADD: теги Ideal_Tag и подключены к новостям
- FIX: html-версия письма отправляется в quoted-printable
- FIX: ошибки в сервисе бэкапа
- Запрещено создание страниц с одинаковым URL
- FIX: подсветка полей с ошибками в админке
- Проверка случая, если в Ideal_Part за найденным элементом с is_skip есть ещё элементы с is_skip
- ADD: в Site\Model.php метод-заглушка, используемый для построения html-карты сайта
Версия 2.0b17
- ADD: фреймворк FormPhp для работы с формами
- FIX: работа карты сайта с указанным на странице html-тегом
- FIX: тема уведомления о 404-ой ошибке заменена на "Страница не найдена (404) на сайте ..."
- ADD: автопродолжение сбора карты сайта в админке
- ADD: окно логина после ajax-запроса на сохранение данных
- FIX: проблема с определением состояния auto url при формировании url по полю отличному от name
- UPD: пересохранение конфигурационных файлов, чтобы в значениях были двойные кавычки
- ADD: импорт базы данных через админку
- ADD: добавление номера версии админки к названию файла бэкапа
- ADD: добавление комментариев к файлам бэкапа
- FIX: приоритеты продвигаемых ссылок при создании карты сайта
Версия 2.0b16
- FIX: сохранение атрибута data-* у тегов в Rich_Edit
- FIX: при проверке домена для установки опции isProduction теперь не учитывается www
- ADD: отображение в списке элементов админки значка картинки и отображение всплывающей картинки при наведении на значок
- FIX: удаление старой временной папки CMS при обновлении
- ADD: возможность генерировать данные из шаблона в AjaxController
- ADD: для known404 можно записывать правила в формате htaccess
- FIX: работа с переводами строки при редактировании конфигов через админку
Версия 2.0b15
- ADD: возможность указывать по какому полю генерировать url
- FIX: в файле бэкапа базы таблицы дропаются перед созданием
- Обновление Twig до версии 1.16.3
- ADD: resize для png-файлов
- FIX: в конфиге значение параметра может быть окружено как одинарными кавычками, так и двойными, а сохраняет только двойными
- ADD: отправка писем о битых ссылках, за исключением $config->cms['known404']
Версия 2.0b14
- FIX: отображение is_skip страниц
- FIX: правильное определение URL, когда один из элементов пути - ссылка
- FIX: обработка случая, когда по одному url есть несколько новостей
- FIX: указание номера страницы в title
- FIX: по умолчанию номер страницы равен 1, а если идёт запрос списка страниц, то номер страницы будет null
- FIX: создание файла update.log
- FIX: отображение multiselect
- FIX: пропуск незаполненных sql-полей при создании таблицы
Версия 2.0b13
- ВАЖНО: Изменено название метода Util::is_email на Util::isEmail !!!
- В скрипте отправки писем сделана возможность указывать только html-код письма, без plain-версии
- Чтобы не накручивать статистику Метрики и Аналитики добавлена возможность определения места выполнения скрипта (production/development)
- Обновление кода FirePHP до самого актуального
- FIX: копирование минифайеров при установке CMS
- ADD: возможность указания в .htaccess логина, пароля и названия базы данных
- CKEditor обновлён до версии 4.4.6
- FIX: выдача 404 ошибки на неправильно сформированный параметр action в query_string
Версия 2.0b12
- Обновлён скрипт изменения размера изображения
- Тег <style> теперь можно использовать в визуальном редакторе текста
- Свойство sqlAdd должно быть инициализировано для каждого редактируемого поля
- Indirect modification массивов в классе View
- FIX: неправильные иконки в CKEditor
- ADD: метод finishMod в Helper для финальных модификаций в тексте страницы
Версия 2.0b11
- Улучшен внешний вид редактирования поля SelectMulti
- ADD: правило в .htaccess для создания картинок с изменёнными размерами
- ADD: суффикс тайтла для листалки
- FIX: карта сайта не будет создаваться, если не были собраны ссылки
- FIX: принудительное создание карты в админке
- FIX: проблема с разбором site_data, при наличии символа табуляции вместо пробелов
- FIX: проблемы связанные с обновлением системы
Версия 2.0b10
- FIX: название файла с классом минификатора в генераторах минифицированных файлов
- FIX: гарантированная установка body в классе отправки почты
- FIX: подключение js-файла локализации для DateTimePicker
- FIX: не убирать из RichEdit пустые span и span с классами
- FIX: возврат к версии CKEditor 4.4.4, так как в 4.4.5 не работает CodeMirror
Версия 2.0b9
- Исправлено некорректное формирование url у новостей
- Удалена типизация в методе Core\AjaxController::run, так как теперь там может быть и Site и Admin
- Исправлена генерация капчи на новых версиях PHP
- Обновлены библиотеки Moment.js и bootstrap-datatime-picker для корректной работы в Chrome
Версия 2.0b8
- Усовершенствована система обновлений:
- Каждый этап обновления происходит с помощью отдельного ajax-запроса
- Скрипты обновления разделены на две части: работающие до обновления CMS и работающие после обновления CMS
- Добавлен метод рекурсивной смены прав для папок и файлов
Версия 2.0b7
- FIX: удаление в админке элементов ростера и пользователей
- FIX: дублирование слэшей в поле Area
- Изменение схемы вызова ajax-контроллеров
- Создание файла настроек site_map.php в корне админки, если его нет в системе
- Подключение twig-шаблонов внутри самих шаблонов с помощью указания пути к шаблону от корня админки
- CKFinder обновлён до версии 2.4.2
- Twitter Bootstrap обновлён до версии 3.2.0
- Переход на версию JQuery 2.1.1 (в админке не поддерживаются IE 6, 7, 8)
- CKEditor обновлён до версии 4.4.5
- Добавлен объединитель и минимизатор JS и CSS файлов
- FIX: система обновлений
Версия 2.0b6
- FIX: если не определён mysqli_result::fetch_all (не подключён mysqlnd)
- Изменена структура файла site_data.php:
- Поля startUrl, errorLog выведены во вкладку cms
- Поле tmpDir перенесено во вкладку cms и переименовано в tmpFolder
- Удалено поле templateCachePath
- Поля isTemplateCache и isTemplateAdminCache переименованы в templateSite и templateAdmin и перенесены во вкладку cache
- Во вкладку cache добавлено поле memcache
Версия 2.0b5
- Вкладки в окне редактирования перенесены в заголовок
- FIX: в CKEditor удалялся тег script и атрибуты style и class
- Отображение страниц с is_skip=1
- FIX: формат конфигурационного файла в папке установки
- FIX: постраничная навигация, лог ошибок в файл, удаление элементов в админке
Версия 2.0b4
- При обновлении CMS и модулей могут выполнятся php и sql скрипты
- Внедрение нового класса доступа к БД, расширяющего mysqli и с кэшированием через memcached
- Завершение перевода работы с картой сайта через админку
Версия 2.0b3
- Обновление CKEditor до версии 4.4.3 и удаление нескольких неиспользуемых модулей
- При обычном подключении RichEdit появляются ВСЕ кнопки
- Мелкие правки для устранения notice и warning сообщений
Версия 2.0b2
- Показ миниатюры картинки для поля Ideal_Image
- Добавлена новая сущность Medium
- Обновлён FirePHP
- Добавлено поле Ideal_SelectMulti
- Исправления в карте сайта (обработка ссылок tel, многострочных html-комментариев)
- Исправлена страница установки CMS для работы под Twi Bootstrap 3 и сделана двухколоночная вёрстка
- Регулярные выражения для исключения URL в html-карте сайта
- Исправлена отправка писем с разными типами вложений
- Работа с картой сайта через админку
- Исправлена проблема с экранированием слэшей и кавычек в Ideal_Area
- Обновление CKEditor до версии 4.4.2
- Отображение на сайте скрытой страницы для авторизированных в админку пользователей
Версия 2.0c
- Обновление jquery-плагина datetimepicker до версии 3.0
- FIX: определение кол-ва элементов на странице
- FIX: проверка наличия кастомных и модульных папок Template в виде таблиц в базе
- FIX: размер модального окна в админке при изменении размера окна браузера
- FIX: получение default значения
- ADD: Новый тип поля Ideal_Integer
- FIX: фильтр для toolbar в админке
- Новая вёрстка шаблона front-end под Twitter Bootstrap 3
Версия 2.0b
- FIX: листалка в админке в стиле Twi 3
- FIX: доработка редактирования редиректов под Twi 3
- FIX: доработка создания резервных копий БД под Twi 3
- Обновление Twitter Bootstrap до версии 3.1.1
- FIX: Исправлена проблема с автоматической генерацией url
- ADD: вкладки в настройках в админке
Версия 2.0a
- Обновление Twitter Bootstrap до версии 3
- Изменения в админской части для перехода на Bootstrap 3
Переход на версию 1.0
-
Во всех структурах поле structure_path изменено на prev_structure и содержит ID родительской структуры и ID родительского элемента в этой структуре.
-
Изменён принцип роутинга. Теперь для вложенных структур метод detectPageByUrl вызывается не из роутера, а из родительской структуры. Что даёт возможность правильно обрабатывать вложенный структуры с элементами is_skip.
-
Изменён корневой .htacces, теперь адрес страницы не передаётся в GET-переменной, а берётся в роутере из
$_SERVER['REQUEST_URI']
. -
Переменная модели object переименована в pageData и сделана protected, а также переименованы соответствующие методы.
-
Определение 404-ошибки перенесено из роутера в методы detectPageBy* модели. В этих методах должны инициализироваться свойства класса path и is404, а сами методы возвращают либо свой объект (
$this
), либо объект вложенной модели. Для 404 ошибки добавлен специальный шаблон 404.twig и экшен error404Action в контроллерах.