/**
  * @param Solarium\QueryType\Update\Query\Query $update
  */
 private function solrIndex_antrag_do($update)
 {
     if (!$this->antrag) {
         return;
     }
     $max_datum = "";
     /** @var RISSolrDocument $doc */
     $doc = $update->createDocument();
     $doc->id = "Document:" . $this->id;
     $doc->text = RISSolrHelper::string_cleanup(RISTools::korrigiereTitelZeichen($this->antrag->betreff) . " " . $this->text_pdf);
     $doc->text_ocr = RISSolrHelper::string_cleanup($this->text_ocr_corrected);
     $doc->dokument_name = RISSolrHelper::string_cleanup($this->name);
     $doc->dokument_url = $this->url;
     $doc->antrag_nr = $this->antrag->antrags_nr;
     $doc->antrag_wahlperiode = $this->antrag->wahlperiode;
     $doc->antrag_typ = $this->antrag->typ;
     $doc->antrag_ba = $this->antrag->ba_nr;
     $doc->antrag_id = $this->antrag->id;
     $doc->antrag_betreff = RISSolrHelper::string_cleanup($this->antrag->betreff);
     $doc->referat_id = $this->antrag->referat_id;
     $antrag_erstellt = $aenderungs_datum = [];
     if (preg_match("/^[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}\$/", $this->antrag->gestellt_am)) {
         $antrag_erstellt[] = RISSolrHelper::mysql2solrDate($this->antrag->gestellt_am . " 12:00:00");
         $aenderungs_datum[] = RISSolrHelper::mysql2solrDate($this->antrag->gestellt_am . " 12:00:00");
         $max_datum = $this->antrag->gestellt_am . " 12:00:00";
     }
     $geo = [];
     $dokument_bas = [];
     $dokument_bas[] = $this->antrag->ba_nr > 0 ? $this->antrag->ba_nr : 0;
     foreach ($this->orte as $ort) {
         if ($ort->ort->to_hide == 0) {
             $geo[] = $ort->ort->lat . "," . $ort->ort->lon;
             if ($ort->ort->ba_nr > 0 && !in_array($ort->ort->ba_nr, $dokument_bas)) {
                 $dokument_bas[] = $ort->ort->ba_nr;
             }
         }
     }
     $doc->geo = $geo;
     $doc->dokument_bas = $dokument_bas;
     /** @var array|RISAenderung[] $aenderungen */
     $aenderungen = RISAenderung::model()->findAllByAttributes(["ris_id" => $this->antrag_id], ["order" => "datum DESC"]);
     foreach ($aenderungen as $o) {
         $aenderungs_datum[] = RISSolrHelper::mysql2solrDate($o->datum);
         $max_datum = $o->datum;
     }
     $doc->antrag_erstellt = $antrag_erstellt;
     $doc->aenderungs_datum = $aenderungs_datum;
     $doc->antrag_gestellt_von = RISSolrHelper::string_cleanup($this->antrag->gestellt_von . " " . $this->antrag->initiatorInnen);
     if ($max_datum != "") {
         $doc->sort_datum = RISSolrHelper::mysql2solrDate($max_datum);
     }
     $update->addDocuments([$doc]);
 }
 public function actionFeed()
 {
     if (isset($_REQUEST["krit_typ"])) {
         $krits = RISSucheKrits::createFromUrl($_REQUEST);
         $titel = Yii::app()->params['projectTitle'] . ': ' . $krits->getTitle();
         $solr = RISSolrHelper::getSolrClient("ris");
         $select = $solr->createSelect();
         $krits->addKritsToSolr($select);
         $select->setRows(100);
         $select->addSort('sort_datum', $select::SORT_DESC);
         /** @var Solarium\QueryType\Select\Query\Component\Highlighting\Highlighting $hl */
         $hl = $select->getHighlighting();
         $hl->setFields('text, text_ocr, antrag_betreff');
         $hl->setSimplePrefix('<b>');
         $hl->setSimplePostfix('</b>');
         $ergebnisse = $solr->execute($select);
         $data = RISSolrHelper::ergebnisse2FeedData($ergebnisse);
     } else {
         $data = [];
         /** @var array|RISAenderung[] $aenderungen */
         $aenderungen = RISAenderung::model()->findAll(["order" => "id DESC", "limit" => 100]);
         foreach ($aenderungen as $aenderung) {
             $data[] = $aenderung->toFeedData();
         }
         $titel = Yii::app()->params['projectTitle'] . ' Änderungen';
     }
     $this->render("feed", ["feed_title" => $titel, "feed_description" => $titel, "data" => $data]);
 }
Beispiel #3
0
 /**
  * @param int $von_ts
  * @param int $bis_ts
  * @return RISAenderung[]
  */
 public function findeAenderungen($von_ts, $bis_ts = 0)
 {
     /** @var RISAenderung[] $aenderungen */
     $aenderungen = RISAenderung::model()->findAllByAttributes(["typ" => $this->typ, "ris_id" => $this->id]);
     foreach ($aenderungen as $ae) {
         // @TODO var_dump($ae->getAttributes());
     }
 }