Система автоматического обновления

Система автоматического обновления предназначена для обеспечения синхронизации контента партнерских магазинов с содержимым центрального сервера партнерской программы.

Раз в сутки (устанавливается парамтером $UPGRADE_INTERVAL в файле /config.php), система запрашивает с центрального сервера (billing.powerpartners.ru) информацию об изменениях. Если на центральном сервере есть информация о необходимости внесения изменений в партнерский магазин, обновления скачиваются и автоматически устанавливаются (при помощи вызова скрипта /upgrade.php).

Система автоматического обновления распространяется на все файлы и каталоги партнерского магазина за исключением файлов в каталоге /custom/ и /theme/, которые предназначены для кастомизации контента и внешнего вида партнерского магазина (см. "Структура партнерского магазина").

Для принудителього обновления необходимо вручную обратиться к скрипту htp://site.ru/upgrade.php вашего партнерского магазина. При этом произойдет немедленное обновление магазина, которое будет сопровождаться выводом пустой страницы (в случае отсутствия ошибок) или страницы с перечнем ошибок обновления.

Подробности работы системы автоматического обновления

Ключевой точкой, служащей маяком для работы системы автоматического обновления, является файл /version.txt. В нем, в текстовом формате, хранится текущая версия партнерского магазина. Каждый раз, при обращении к партнерскому магазину, в файле /util.php, происходит анализ времени последнего изменения этого файла. Если это время отличается от текущего более чем на $UPGRADE_INTERVAL (значение по умолчанию - сутки), происходит вызов скрипта /upgrade.php.

Скрипт /upgrade.php, в свою очередь, получив управление, обращается к центральному серверу (POST http://billing.powerpartners.ru/upgrade.php?version=xx) передавая в качестве версии, содержимое локального файла /version.txt, и получает в ответ либо текстовую строку NO_NEWER_VERSION, сигнализирующую об отсутствии обновлений, либо список файлов, подлежащих копированию с центрального сервера на хост партнерского магазина.

В случае необходимости обновления, для каждого файла из списка, генерируется запрос к центральному серверу (POST http://billing.powerpartners.ru/getupdate.php?version=i) в ответе которого, содержится содержимое копируемого файла, которое сохраняется в локальном файле на хостинге партнерского магазина.

В случае безошибочной отработки скрипта /upgrade.php, время последнего доступа к файлу /version.txt устанавливается на текущее, обеспечивая таким образом, задержку в работе системы автоматического обновления на сутки.

Для отключения системы автоматического обновления, необходимо в файле /config.php установить для константы $UPGRADE_INTERVAL значение PHP_INT_MAX.