• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/update/stepper.php
  • Класс: BitrixMainUpdateStepper
  • Вызов: Stepper::execAgent
static function execAgent()
{
	$updater = self::createInstance();
	$className = get_class($updater);

	$option = Option::get("main.stepper.".$updater->getModuleId(), $className, "");
	if ($option !== "" )
		$option = unserialize($option, ['allowed_classes' => false]);
	$option = is_array($option) ? $option : array();
	$updater->setOuterParams(func_get_args());
	if ($updater->execute($option) === self::CONTINUE_EXECUTION)
	{
		$option["steps"] = (array_key_exists("steps", $option) ? (int)$option["steps"] : 0);
		$option["count"] = (array_key_exists("count", $option) ? (int)$option["count"] : 0);
		$option["title"] = $updater::getTitle();

		Option::set("main.stepper.".$updater->getModuleId(), $className, serialize($option));
		return $className . '::execAgent('.$updater::makeArguments($updater->getOuterParams()).');';
	}
	if ($updater->deleteFile === true && BitrixMainModuleManager::isModuleInstalled("bitrix24") !== true)
	{
		$res = new ReflectionClass($updater);
		self::$filesToUnlink[] = $res->getFileName();
	}
	Option::delete('main.stepper.'.$updater->getModuleId(), ['name' => $className]);
	Option::delete('main.stepper.'.$updater->getModuleId(), ['name' => '\'.$className]);

	return '';
}