function showFeed($aoPages)
 {
     $sFeedTitle = $this->t_("title") . " - " . self::globalCfgWebsiteName();
     $oFeed = new AnwFeed(AnwEnv::_GET("feed"), $sFeedTitle, AnwUtils::aLinkAbsolute("untranslated"));
     foreach ($aoPages as $oPage) {
         //add to feed
         $sUserDisplayName = "";
         $sItemTitle = '[' . $oPage->getLang() . '] ' . $oPage->getName() . ' (' . $oPage->getTranslatedPercent() . '%) - ' . Anwi18n::dateTime($oPage->getTime());
         $sPageLink = AnwUtils::linkAbsolute($oPage);
         $oFeedItem = new AnwFeedItem($sItemTitle, $sPageLink);
         $oFeedItem->setDate($oPage->getTime());
         $oFeedItem->setAuthor($sUserDisplayName);
         $oFeed->addItem($oFeedItem);
     }
     $oFeed->output();
 }
 function showFeed($aoChanges)
 {
     $sFeedTitle = $this->t_("title") . " - " . self::globalCfgWebsiteName();
     $oFeed = new AnwFeed(AnwEnv::_GET("feed"), $sFeedTitle, AnwUtils::aLinkAbsolute("lastchanges"));
     foreach ($aoChanges as $oChange) {
         $sType = AnwChange::changeTypei18n($oChange->getType());
         $sPageLink = "";
         if ($oChange->activePageExists()) {
             $oActivePage = $oChange->getActivePage();
             $sPageLink = AnwUtils::linkAbsolute($oActivePage);
             //active link, if it exists
             $sPageTitle = $oActivePage->getName() . ' (' . $oActivePage->getLang() . ')';
             //show old name from the change
         } else {
             $sPageTitle = '(DEL)' . $oChange->getPageName() . ' (' . $oChange->getPageLang() . ')';
         }
         //add to feed
         $sUserDisplayName = $oChange->getUser()->getDisplayName();
         $sItemTitle = $sPageTitle . ' - ' . $sType . ' - ' . $sUserDisplayName;
         $oFeedItem = new AnwFeedItem($sItemTitle, $sPageLink);
         $oFeedItem->setDate($oChange->getTime());
         $oFeedItem->setAuthor($sUserDisplayName);
         $oFeed->addItem($oFeedItem);
     }
     $oFeed->output();
 }
Example #3
0
 function toHtml($oContent, $oPage)
 {
     $aoContentClasses = array();
     $asContentClassNames = $oContent->getContentFieldValues(self::FIELD_CONTENTCLASS);
     foreach ($asContentClassNames as $sContentClassName) {
         $oContentClass = AnwContentClasses::getContentClass($sContentClassName);
         $aoContentClasses[] = $oContentClass;
     }
     unset($asContentClassNames);
     //get feed items
     $aoMatchingPages = AnwStorage::fetchPages($oContent->getContentFieldValues(self::FIELD_MATCH, true), $aoContentClasses, array($oPage->getLang()), $oContent->getContentFieldValue(self::FIELD_LIMIT), AnwUtils::SORT_BY_TIME, AnwUtils::SORTORDER_DESC);
     $aoFeedItems = array();
     foreach ($aoMatchingPages as $oMatchingPage) {
         $oFeedItem = $oMatchingPage->toFeedItem();
         $aoFeedItems[] = $oFeedItem;
     }
     if (AnwEnv::_GET(self::GET_FEED) != AnwFeed::TYPE_RSS2) {
         $sUrlRss = AnwUtils::link($oPage, "view", array(self::GET_FEED => AnwFeed::TYPE_RSS2));
         //show feed info
         $oOutputHtml = new AnwOutputHtml($oPage);
         $oOutputHtml->setTitle($oContent->getContentFieldValue(self::FIELD_TITLE));
         $sHtmlItems = "";
         foreach ($aoFeedItems as $oFeedItem) {
             $sHtmlItems .= $this->tpl()->feedItem($oFeedItem->getTitle(), $oFeedItem->getLink());
         }
         $sHtmlBody = $this->tpl()->feedInfo($oContent->getContentFieldValue(self::FIELD_TITLE), $oContent->getContentFieldValue(self::FIELD_DESCRIPTION), $sUrlRss, $sHtmlItems, $oPage->getLang());
         $oOutputHtml->setBody($sHtmlBody);
         // load contentclass CSS
         $sHtmlHead = $this->getCssSrcComponent(self::CSS_FILE);
         $sHtmlHead .= $this->tpl()->headRss($sUrlRss, $oContent->getContentFieldValue(self::FIELD_TITLE));
         $oOutputHtml->setHead($sHtmlHead);
     } else {
         $sUrlRss = AnwUtils::linkAbsolute($oPage, "view", array(self::GET_FEED => AnwFeed::TYPE_RSS2));
         //export to rss
         $oFeed = new AnwFeed(AnwFeed::TYPE_RSS2, $oContent->getContentFieldValue(self::FIELD_TITLE), $sUrlRss, $oContent->getContentFieldValue(self::FIELD_DESCRIPTION));
         foreach ($aoFeedItems as $oFeedItem) {
             $oFeed->addItem($oFeedItem);
         }
         $oFeed->output();
     }
     return $oOutputHtml;
 }