/**
  * @param \Solarium\QueryType\Select\Result\Result $ergebnisse
  * @return array();
  */
 public static function ergebnisse2FeedData($ergebnisse)
 {
     $data = array();
     $dokumente = $ergebnisse->getDocuments();
     $highlighting = $ergebnisse->getHighlighting();
     $purifier = new CHtmlPurifier();
     $purifier->options = array('URI.AllowedSchemes' => array('http' => true, 'https' => true));
     foreach ($dokumente as $dokument) {
         $model = Dokument::getDocumentBySolrId($dokument->id);
         $risitem = $model->getRISItem();
         if (!$risitem) {
             continue;
         }
         $link = $risitem->getLink();
         $highlightedDoc = $highlighting->getResult($dokument->id);
         $item = array("title" => $model->name . " (zu " . $risitem->getTypName() . " \"" . $risitem->getName() . "\"", "link" => $link, "content" => "", "dateCreated" => RISTools::date_iso2timestamp(str_replace("T", " ", str_replace("Z", "", $dokument->sort_datum))), "aenderung_guid" => $link);
         if ($highlightedDoc && count($highlightedDoc) > 0) {
             foreach ($highlightedDoc as $highlight) {
                 $item["content"] .= $purifier->purify(implode(' (...) ', $highlight)) . '<br/>';
             }
         }
         $data[] = $item;
     }
     return $data;
 }
Beispiel #2
0
 $suche->addKritsToSolr($select);
 $select->setRows(50);
 $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>');
 /** @var \Solarium\QueryType\Select\Result\Result $ergebnisse */
 $ergebnisse = $solr->select($select);
 $dokumente = $ergebnisse->getDocuments();
 if (count($dokumente) > 0) {
     echo '<tr><th>Namentlich erwähnt in:</th><td><ul>';
     $highlighting = $ergebnisse->getHighlighting();
     foreach ($dokumente as $dokument) {
         $dok = Dokument::getDocumentBySolrId($dokument->id, true);
         if (!$dok) {
             if ($this->binContentAdmin()) {
                 echo "<li>Dokument nicht gefunden: " . $dokument->id . "</li>";
             }
         } elseif (!$dok->getRISItem()) {
             if ($this->binContentAdmin()) {
                 echo "<li>Dokument-Zuordnung nicht gefunden: " . $dokument->typ . " / " . $dokument->id . "</li>";
             }
         } else {
             $risitem = $dok->getRISItem();
             if (!$risitem) {
                 continue;
             }
             $dokurl = $dok->getLinkZumDokument();
             echo '<li style="margin-bottom: 10px;">';