public function parse($id)
 {
     /** @var Rathausumschau $ru */
     $ru = Rathausumschau::model()->findByPk($id);
     if (count($ru->dokumente) > 0 && $ru->dokumente[0]->text_pdf != "") {
         return;
     }
     if (count($ru->dokumente) > 0) {
         if ($ru->dokumente[0]->text_pdf != "") {
             return;
         }
         $dokument = $ru->dokumente[0];
     } else {
         $result = Yii::app()->db->createCommand("SELECT MIN(id) minid FROM dokumente")->queryAll();
         $id = $result[0]["minid"];
         if ($id >= 0) {
             $id = 0;
         }
         $id--;
         $dokument = new Dokument();
         $dokument->id = $id;
         $dokument->typ = Dokument::$TYP_RATHAUSUMSCHAU;
         $dokument->rathausumschau_id = $ru->id;
     }
     $dokument->url = $ru->url;
     $dokument->datum = $ru->datum;
     $dokument->datum_dokument = $ru->datum;
     $dokument->name = "Rathausumschau " . $ru->nr . "/" . substr($ru->datum, 0, 4);
     $dokument->text_pdf = "";
     if (!$dokument->save()) {
         var_dump($dokument->getErrors());
         die;
     }
     $dokument->reDownloadIndex();
     echo "Load: " . $ru->url . "\n";
 }
Beispiel #2
0
    exit;
}
$gliederungid = $dokumenttemplate->getDokumentGliederungID($session);
$kategorieid = $dokumenttemplate->getDokumentKategorieID($session);
$statusid = $dokumenttemplate->getDokumentStatusID($session);
$file = $dokumenttemplate->getDokumentFile($session);
if (!$session->isAllowed("dokumente_create", $gliederungid)) {
    $api->output(array("failed" => "PERMISSION_DENIED"), 403);
    exit;
}
if ($file == null) {
    $api->output(array("failed" => "FILE_MISSING"), 400);
} else {
    $dokument = new Dokument($session->getStorage());
    // Zwischenspeichern um die ID zu bekommen
    $dokument->save();
    $revision = new DokumentRevision($session->getStorage());
    $revision->setDokument($dokument);
    $revision->setUser($session->getUser());
    $revision->setTimestamp(time());
    $revision->setGliederungID($gliederungid);
    $revision->setKategorieID($kategorieid);
    $revision->setStatusID($statusid);
    $revision->setIdentifier($dokumenttemplate->getDokumentIdentifier($session));
    $revision->setLabel($dokumenttemplate->getDokumentLabel($session));
    $revision->setFile($file);
    $revision->setData($dokumenttemplate->getDokumentData($session));
    $revision->setKommentar($dokumenttemplate->getDokumentKommentar($session));
    foreach ($dokumenttemplate->getDokumentFlags($session) as $flagid) {
        $flag = $session->getStorage()->getDokumentFlag($flagid);
        $revision->setFlag($flag);
 /**
  * @param string $typ
  * @param Antrag|Termin|Tagesordnungspunkt $antrag_termin_tagesordnungspunkt
  * @param array $dok
  * @throws Exception
  * @return string
  */
 public static function create_if_necessary($typ, $antrag_termin_tagesordnungspunkt, $dok)
 {
     $x = explode("/", $dok["url"]);
     $dokument_id = IntVal($x[count($x) - 1]);
     /** @var Dokument|null $dokument */
     $dokument = Dokument::model()->disableDefaultScope()->findByPk($dokument_id);
     if ($dokument) {
         if ($dokument->name != $dok["name"] || $dokument->name_title != $dok["name_title"]) {
             echo "- Dokumententitel geändert: " . $dokument->name . " (" . $dokument->name_title . ")";
             echo "=> " . $dok["name"] . " (" . $dok["name_title"] . ")\n";
             $dokument->name = $dok["name"];
             $dokument->name_title = $dok["name_title"];
             $dokument->save();
         }
         return "";
     }
     $dokument = new Dokument();
     $dokument->id = $dokument_id;
     $dokument->typ = $typ;
     $dokument->name_title = "";
     $dokument->datum_dokument = null;
     if (is_a($antrag_termin_tagesordnungspunkt, "Antrag")) {
         $dokument->antrag_id = $antrag_termin_tagesordnungspunkt->id;
     }
     if (is_a($antrag_termin_tagesordnungspunkt, "Termin")) {
         $dokument->termin_id = $antrag_termin_tagesordnungspunkt->id;
     }
     if (is_a($antrag_termin_tagesordnungspunkt, "Tagesordnungspunkt")) {
         $dokument->tagesordnungspunkt_id = $antrag_termin_tagesordnungspunkt->id;
     }
     $dokument->url = $dok["url"];
     $dokument->name = $dok["name"];
     $dokument->datum = date("Y-m-d H:i:s");
     $dokument->deleted = 0;
     if (defined("NO_TEXT")) {
         throw new Exception("Noch nicht implementiert");
     } else {
         $dokument->download_and_parse();
     }
     if (!$dokument->save()) {
         RISTools::send_email(Yii::app()->params['adminEmail'], "Dokument:create_if_necessary Error", print_r($dokument->getErrors(), true), null, "system");
         throw new Exception("Fehler");
     }
     $dokument->geo_extract();
     $dokument->solrIndex();
     $dokument->highlightBenachrichtigung();
     return "Neue Datei: " . $dokument_id . " / " . $dok["name"] . "\n";
 }