Ejemplo n.º 1
0
        // Instantiate an engine
        $engineClass = $_POST['job_engine'];
        $engine = new $engineClass(null);
        // Wonky, I know.
        $error = $engine->validateConfig();
    }
    if (empty($error)) {
        // All is good.  let's create our job.
        $config = new ImportConfig($engineClass);
        $engine->buildConfig($config);
        $importJob = new ImportJob();
        $importJob->setName($_POST['job_name']);
        $importJob->setDescription($_POST['job_description']);
        $importJob->setCmd(ImportJob::CMD_START);
        $importJob->setConfig(serialize($config));
        $importJob->setStartTime(time());
        $importJob->setStatus("Starting...");
        $importJob->setStatusCode(ImportJob::STATUS_STARTING);
        $importJob->save();
        // Attempt to execute the external importer script, fork it, and love it.
        exec("php importer/import.php " . $importJob->getId() . " > /dev/null", $tempOutput, $retVal);
        if ($retVal != 42) {
            $error = "Failed to run external importer script. Return value: " . $retVal . "<br /> Error:";
            foreach ($tempOutput as $output) {
                $error .= $output . "<br />";
            }
        }
    }
}
print_header("Importer");
if (isset($importJob)) {