コード例 #1
0
ファイル: process.php プロジェクト: Krassmus/Fleximport
 public function edit_action($process_id = null)
 {
     $this->process = new FleximportProcess($process_id);
     if (Request::isPost()) {
         if (Request::submitted("delete_process")) {
             $this->process->delete();
             PageLayout::postMessage(MessageBox::success(_("Prozess wurde gelöscht.")));
             $processes = FleximportProcess::findBySQL("1=1 ORDER BY name ASC");
             $this->redirect("import/overview" . (count($processes) ? "/" . $processes[0]['process_id'] : ""));
         } else {
             $this->process->setData(Request::getArray("data"));
             $this->process->store();
             PageLayout::postMessage(MessageBox::success(_("Prozess wurde gespeichert")));
             $this->redirect("import/overview/" . $this->process->getId());
         }
     }
 }
コード例 #2
0
 public function triggerImport()
 {
     $processes = FleximportProcess::findBySQL("triggered_by_cronjob = '1' ORDER BY name ASC");
     if ($GLOBALS['FLEXIMPORT_IS_CRONJOB']) {
         echo "Starting Import at " . date("c") . "\n\n";
     }
     foreach ($processes as $process) {
         foreach ($process->tables as $table) {
             //import data if needed
             $table->fetchData();
         }
     }
     if ($GLOBALS['FLEXIMPORT_IS_CRONJOB']) {
         echo "Fetching data finished at " . date("c") . "\n";
     }
     $protocol = array();
     foreach ($processes as $process) {
         foreach ($process->tables as $table) {
             if ($GLOBALS['FLEXIMPORT_IS_CRONJOB']) {
                 echo "\nStarting Import of " . $table['name'] . " at " . date("c") . "\n";
             }
             $protocol = array_merge($protocol, $table->doImport());
         }
     }
     if (count($protocol) && $GLOBALS['FLEXIMPORT_IS_CRONJOB'] && FleximportConfig::get("REPORT_CRONJOB_ERRORS")) {
         $message = _("Es hat folgende Probleme beim Import gegeben:");
         $message .= "\n" . implode("\n", $protocol);
         $mail = new StudipMail();
         $mail->setSubject(_("Fleximport Fehlerbericht von Stud.IP"));
         $mail->setBodyText($message);
         $emails = preg_split("/\\s*[,;\\s]+\\s*/", FleximportConfig::get("REPORT_CRONJOB_ERRORS"), null, PREG_SPLIT_NO_EMPTY);
         foreach ($emails as $email) {
             $mail->addRecipient($email);
         }
         $mail->send();
     }
     if ($GLOBALS['FLEXIMPORT_IS_CRONJOB']) {
         echo implode("\n", $protocol);
     }
     if ($GLOBALS['FLEXIMPORT_IS_CRONJOB']) {
         echo "\nImport ends at " . date("c") . "\n";
     }
 }