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]); }
/** * @param string $code */ public function actionAlleFeed($code) { $benutzerIn = BenutzerIn::getByFeedCode($code); if (!$benutzerIn) { $this->render('../index/error', ["code" => 400, "message" => "Das Feed konnte leider nicht gefunden werden."]); return; } $titel = "Suchergebnisse"; $description = "Neue Dokumente, die einem der folgenden Kriterien entsprechen:<br>"; $bens = $benutzerIn->getBenachrichtigungen(); foreach ($bens as $ben) { $description .= "- " . CHtml::encode($ben->getTitle()) . "<br>"; } $solr = RISSolrHelper::getSolrClient("ris"); $select = $this->getAlleSuchergebnisse($solr, $benutzerIn); $ergebnisse = $solr->select($select); $data = RISSolrHelper::ergebnisse2FeedData($ergebnisse); $this->render("../index/feed", ["feed_title" => $titel, "feed_description" => $description, "data" => $data]); }