Система автоматического обновления
Система автоматического обновления предназначена для обеспечения синхронизации контента партнерских магазинов с содержимым центрального сервера партнерской программы.
Раз в сутки (устанавливается параметром $UPGRADE_INTERVAL в файле /config.php),
система запрашивает с центрального сервера (billing.powerpartners.ru) информацию об изменениях.
Если на центральном сервере есть информация о необходимости внесения изменений в партнерский магазин, обновления
скачиваются и автоматически устанавливаются (при помощи вызова скрипта /upgrade.php).
Система автоматического обновления распространяется на все файлы и каталоги партнерского магазина за исключением
файлов в каталоге /custom/ и /theme/, которые предназначены для кастомизации контента и внешнего вида
партнерского магазина (см. "Структура партнерского магазина").
Для принудительного обновления необходимо вручную обратиться к скрипту http://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.