Ejemplo n.º 1
0
 if (!strlen(trim($_POST['job_name']))) {
     $error = "Job name must be provided.";
 } else {
     // 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 />";
         }
     }
 }