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";
 }
 /**
  * @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";
 }