Выдано 112505 лицензий

Обновления HostCMS

Обновление 6.2.2 от 23.03.2015 г.

Убрана зависимости панелей центра администрирования в клиентском разделе от версии jQuery, используемой в макете.
Пользователям с включенным модулем кэширования рекомендуется перенести хранения данных по структуре объектов ORM в кэш, для этого в modules/core/config/orm.php только для опции columnCache укажите основной используемый кэш, чаще всего это apc, eaccelerator или file. Пример содержания файла:
<?php

return array (
'cache' => 'memory',
'columnCache' => 'apc'
);
Обновлен контроллер экспорта в Яндекс.Маркет. Добавлен экспорт по типам товаров 'vendor.model'|'book'|'audiobook'|'artist.title'|'tour'|'event-ticket'.

Обновление 6.2.1 от 16.03.2015 г.

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

В типовой динамической странице "Интернет-магазин" необходимо заменить строку:
$query_currency_switch = "IF (`shop_items`.`shop_currency_id` = '{$oShop_Currency->id}', IF (shop_discounts.percent, price * (100 - shop_discounts.percent) * {$currency_coefficient} / 100, shop_items.price * {$currency_coefficient}), {$query_currency_switch})";

на:
$query_currency_switch = "IF (`shop_items`.`shop_currency_id` = '{$oShop_Currency->id}', IF (shop_discounts.value, IF(shop_discounts.type, price * {$currency_coefficient} - shop_discounts.value, price * (100 - shop_discounts.value) * {$currency_coefficient} / 100), shop_items.price * {$currency_coefficient}), {$query_currency_switch})";

В контроллеры показа добавлен метод getShownIDs(), возвращающий массив идентификаторов показанных элементов, например, для контроллера показа информационных систем будет возвращен массив идентификаторов информационных элементов.

Обновление 6.2.0 от 06.03.2015 г.

Улучшена работа с памятью. Для сайтов с выделенными 64 Мб памяти и более рекомендуется в modules/core/config/objectwatcher.php установить значение не менее 512 для каждых 64 Мб.
В модуле форм при использовании нескольких получателей перед отправкой письма с формой второму и последующему получателю добавлена задержка 0.35 сек. для исключения в запрет отправки письма со стороны хостинга.
Добавлен метод Core_Page::instance()->prependCss($css), добавляющий CSS в начало списка. Обратите внимание, последний вызванный prependCss() добавит CSS в самое начало списка.
Добавлена возможность асинхронного подключения Javascript файлов.
Указание асинхронной загрузки при подключении одного JS-файла:
Core_Page::instance()->js('/hostcmsfiles/my.js', TRUE);
Указание асинхронной загрузки при объединении всех JS-файлов в один:
Core_Page::instance()->showJs(TRUE);
Добавлена поддержка тэга "Склады" при обмене с 1С и поддержка дополнительных свойств характеристик.
Добавлен конфигурационный файл modules/shop/config/cml.php с массивом названий "Реквизитов", которые будут загружены как дополнительные свойства.
Добавлена дополнительная защита по IP-адресу в модуле "Опросы". В типовой динамической странице "Опросы" необходимо заменить блок:
/* Если был хотя бы один вариант ответа */
if (count($aPollResponsesId) > 0)
{
$voted = Core_Array::get($_COOKIE, 'poll' . $oPoll->id);

if (!$voted)
{
foreach ($aPollResponsesId as $iPollResponseId)
{
$oPoll_Response = Core_Entity::factory('Poll_Response', $iPollResponseId);

$oPoll_Response->voted++;
$oPoll_Response->save();
}

$oPoll->voted++;
$oPoll->save();

setcookie("poll" . $oPoll->id, "1", time() + 31536000, '/');
}

$Poll_Group_Controller_Show->addEntity(
Core::factory('Core_Xml_Entity')
->name('ПользовательИмеетПравоОтвечать')->value(intval(!$voted))
);
}

на:

/* Если был хотя бы один вариант ответа */
if (count($aPollResponsesId) > 0)
{
$bNew_Vote = $Poll_Group_Controller_Show->vote($aPollResponsesId);

$Poll_Group_Controller_Show->addEntity(
Core::factory('Core_Xml_Entity')
->name('ПользовательИмеетПравоОтвечать')->value(intval($bNew_Vote))
);
}
Для форм центра администрирования добавлен GUID, позволяющий динамически получать свои формы по GUID в собственных модулях.
Обновлен обработчик платежной системы ROBOKASSA. Добавлен пересчет суммы заказа для физических лиц (владельцев магазинов).
Обновлен обработчик платежной системы QIWI с использованием REST.

Обновление 6.1.9 от 29.01.2015 г.

В списке доменов добавлена опция "Редирект", позволяющая использовать 301 редирект и перенаправлять трафик на основной домен. Опция также помогает поисковым системам определить основное зеркало сайта. В случае указания редиректа для неосновных доменов мы рекомендуем использовать в качестве основного домена сайт с www (вместо *.), например www.site.ru, а для site.ru и всех других зеркал включить опцию "Редирект".
Улучшена очистка статичного кэша в модуле "Кэширование".
В контроллеры показа структуры, информационных систем и магазинов добавлены методы inCache(), проверяющие наличие закэшированных данных для текущих условий показа. Используется в случае подготовки ресурсоемких вычислений перед контроллером показа и позволяет избежать таких вычислений при наличии закэшированного блока.
Обновлен контроллер экспорта в Яндекс.Недвижимость.

Обновление 6.1.8 от 05.12.2014 г.

Значительно расширен модуль "Компрессия страниц", реализовано сжатие и объединение CSS и JS файлов, заметно ускоряющее загрузку.
Улучшена работа кэширования в статичные файлы, теперь кэширование в статичные файлы работает в большем количестве случаев.
Реализовано массовое добавление элементов списка.
Реализована отправка SMS-сообщений о заказах через Robokassa. Для отправки:
1. Включите опцию отправки СМС в личном кабинете Робокассы.
2. Добавьте в конец bootstrap.php строки:
// Robokassa SMS observers
Core_Event::attach('shop_order.onAfterChangeStatusPaid', array('Shop_Observer_Robokassa', 'onAfterChangeStatusPaid'));
Core_Event::attach('Shop_Payment_System_Handler.onAfterProcessOrder', array('Shop_Observer_Robokassa', 'onAfterProcessOrder'));
Реализовано указание идентификаторов макетов, XSL-шаблонов и типовых динамических страниц при редактировании узлов структуры сайта.
Добавление обработчика события onBeforeAddEntity для потомков Admin_Form_Controller теперь указывается без указания skin-а, т.е. вместо Skin_Summer_Admin_Form_Controller.onBeforeAddEntity необходимо использовать Admin_Form_Controller.onBeforeAddEntity. Потребуется корректировка модулей, использующих данную функциональность.
После установки обновления в файл .htaccess в корне системы управления добавьте следующие директивы:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 week"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
</IfModule>

# Apache 2.2
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css text/javascript application/javascript application/x-javascript
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>

# Apache 1.3, 2.0
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(css|js)$
mod_gzip_item_include mime ^application/javascript$
mod_gzip_item_include mime ^application/x-javascript$
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Обновление 6.1.7 от 27.10.2014 г.

В контроллер показа магазина и контроллер показа корзины добавлена опции ->taxes(TRUE) для показа списка налогов в XML магазина.
Реализован вывод модификаций товаров текущей группы на одном уровне с товарами группы, что позволяет проводить фильтрацию модификаций на уровне с товарами. Для включения вывода списка модификаций на одном уровне с товарами используйте опцию контроллера показа ->modificationsList(TRUE)
Добавлено резервирование товаров магазина при заказе. Опция резервирования включается в настройках магазина с указанием времени резервирования.
Добавлена константа SYNTAX_HIGHLIGHTING, управляющая подсветкой синтаксиса редактора кода.
Для пользователя центра администрирования добавлена опция активности.
В XSL-шаблоне "МагазинКорзина" необходимо выполнить замену. Строка <xsl:value-of select="/shop/shop_warehouse[@id=$shop_warehouse_id]/name"/> (<xsl:value-of select="count"/>) заменяется на <xsl:value-of select="/shop/shop_warehouse[@id=$shop_warehouse_id]/name"/> (<xsl:value-of select="count - reserved"/>)
В XSL-шаблоне "МагазинТовар" необходимо выполнить замену. Строка <xsl:value-of disable-output-escaping="yes" select="rest"/> заменяется на <xsl:value-of disable-output-escaping="yes" select="rest - reserved"/>

Обновление 6.1.6 от 25.08.2014 г.

Добавлен редактор кода с подсветкой синтаксиса.
В модуле Helpdesk добавлен выбор флажка из списка тикетов.
При добавлении дополнительного свойства название xml-тега генерируется из названия свойства.
В дистрибутив 6.1.6 добавлен блок "Последний заказ". При обновлении блок можно добавить вручную http://www.hostcms.ru/forums/3/10011/
Загружаемые баннеры перемещены из директории /upload/banners/ в /upload/img/, из имени баннера убрано слово banner.

Обновление 6.1.5 от 17.07.2014 г.

Добавлен модуль "Магазин приложений", позволяющий устанавливать дополнительные модули, разработанные нашими партнерами.
В переопределенные методы _applyObjectProperty() контроллеров редактирования добавлены события onAfterRedeclaredApplyObjectProperty.
В поставку добавлен обработчик платежной системы AcquiroPay.

Обновление 6.1.4 от 25.04.2014 г.

В обновлении была добавлена возможность авторизации пользователей сайта через популярные социальные сети при помощи протокола OAuth. Авторизация доступна через VK, Odnoklassniki, Facebook, Twitter, Google+, Yandex, Mail.ru. Производится загрузка значков для провайдеров авторизации с идентификатором 9 - 15, если у Вас вручную были созданы дополнительные провайдеры, данное обновление может заменить их значки.
Для включения возможности авторизации по протоколу OAuth необходимо активировать соответствующих провайдеров в модуле "Пользователи сайта" - "Провайдеры" - "Список провайдеров". После активации необходимо зайти в папку /modules/siteuser/config на сервере и прописать необходимые константы для каждого провайдера. Предполагается, что свои приложения в каждой социальной сети Вы зарегистрировали.
XSL-шаблон и изменения в типовую дин. страницу: http://www.hostcms.ru/forums/3/9765/
Реализованы подсказки при добавлении меток для товаров и информационных элементов.
Добавлено поле "Артикул" при добавлении сопутствующих товаров.
В переопределенные методы show() контроллеров показа добавлены события onBeforeRedeclaredShow
Добавлен параметр ->groupsPropertiesList() у контроллера показа магазина и информационной системы.
Добавлен параметр ->cart() в контроллере магазина для показа в XML товаров, находящихся в корзине.
Элемент списка теперь создается активным по умолчанию.
Модели выпуска рассылки добавлены события maillist_fascicle.onBeforeApplyFascicleTemplate, maillist_fascicle.onAfterApplyFascicleTemplate

Обновление 6.1.3 от 28.03.2014 г.

Визуальный редактор обновлен до версии 3.5.10.
После установки обновления очистить кэш в браузере, нажатием Ctrl+F5 обновить дважды страницу с визуальным редактором.
Визуальный редактор с версии 3.5 изменяет поведение при добавлении абзаца, для сохранения прежнего поведения в файле modules/core/config/wysiwyg.php должны быть установлены следующие опции:
'forced_root_block' => '""',
'force_p_newlines' => 'true',
Реализовано редактирование цен из списка товаров и модификаций.
Добавлено дополнительное свойства типа "Интернет-магазин", позволяющее выбрать товар в качестве значения свойства.
Добавлена стандартная проверка остатка на складе при добавлении в корзину, по умолчанию проверка отключена. Для включения проверки в настройках типовой дин. страницы "Корзина" везде, где используется Shop_Cart_Controller::instance() добавьте ->checkStock(TRUE)
При создании/редактировании склада добавлена опция "Установить количество товара на складе", устанавливающая нулевой остаток на складе для товаров, не имеющих значение остатка на этом складе.
При создании/редактировании дополнительного свойства товара добавлена опция "Добавить отсутствующие значения свойства по умолчанию у товаров", устанавливающая значение по умолчанию для товаров, не имеющих значение свойства.
Для более гибкой интеграции шаблонов центра администрирования теперь обработчики действий в центре администрирования создаются с использованием фабрик, например: $oStructure_Controller_Edit = Admin_Form_Action_Controller::factory(
'Structure_Controller_Edit', $oAdmin_Form_Action
);
В классы модулей добавлены события индексации, позволяющие влиять на отбор элементов, подлежащих индексации.
В модули "Почтовые рассылки" и "Пользователи сайта" добавлена возможность массового добавления пользователей сайта и подписчиков.