Файл: cron.php
Строк: 25
<?php
    $_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__);
    // Инициализация
    require_once "bootstrap.php";
    // Подключение модели
    $model = cmsCore::getModel('admin');
    // Получение списка задач для выполнения
    $tasks = $model->getPendingSchedulerTasks();
    // Если задач нет, выходим
    if (!$tasks) { exit; }
    // Коллекция контроллеров
    $controllers = array();
    //
    // Выполняем задачи по списку
    //
    foreach($tasks as $task){
        // Проверяем существование контроллера
        if (!cmsCore::isControllerExists($task['controller'])){ continue; }
        // Получаем контроллер из коллекции либо загружаем
        // и сохраняем в коллекцию
        if (isset($controllers[$task['controller']])){
            $controller = $controllers[$task['controller']];
        } else {
            $controller = cmsCore::getController($task['controller']);
            $controllers[$task['controller']] = $controller;
        }
        // Выполняем хук
        $controller->runHook("cron_{$task['hook']}");
        // Обновляем время последнего запуска задачи
        $model->updateSchedulerTaskDate($task['id']);
    }