public function getFeed() { $this->articles = $this->pager->getResults(); $title = sfConfig::get('app_aEvent_feed_title', $this->page->getTitle()); $this->feed = sfFeedPeer::createFromObjects($this->articles, array('format' => 'rss', 'title' => $title, 'link' => '@a_event', 'authorEmail' => sfConfig::get('app_aEvent_feed_author_email'), 'authorName' => sfConfig::get('app_aEvent_feed_author_name'), 'routeName' => '@a_event', 'methods' => array('description' => 'getFeedText'))); $this->getResponse()->setContent($this->feed->asXml()); }
public function executeFeed() { /** @var sfWebRequest **/ $request = $this->getContext()->getRequest(); $IdType = $this->getRequestParameter('IdType', null); $id = $this->getRequestParameter('id', null); //Build the title $title = "Metadata Registry Change History"; $filter = false; switch ($IdType) { //ElementSet :: (Schema)Element :: (Schema)ElementProperty //Schema :: SchemaProperty :: SchemaPropertyElement case "schema_property_element_id": /** @var SchemaPropertyElement **/ $element = DbFinder::from('SchemaPropertyElement')->findPk($id); if ($element) { /** @var SchemaProperty **/ $property = $element->getSchemaPropertyRelatedBySchemaPropertyId(); $title .= " for Property: '" . $element->getProfileProperty()->getLabel(); if ($property) { $title .= "' of Element: '" . $property->getLabel() . "' in Element Set: '" . $property->getSchema()->getName() . "'"; } } $filter = true; break; case "schema_property_id": /** @var SchemaProperty **/ $property = DbFinder::from('SchemaProperty')->findPk($id); if ($property) { $title .= " for Element: '" . $property->getLabel() . "' in Element Set: '" . $property->getSchema()->getName() . "'"; } $filter = true; break; case "schema_id": /** @var Schema **/ $schema = DbFinder::from('Schema')->findPk($id); if ($schema) { $title .= " for Element Set: '" . $schema->getName() . "'"; } $filter = true; break; default: //the whole shebang $title .= " for all Element Sets"; break; } $column = sfInflector::camelize($IdType); //default limit to 100 if not set in config $limit = $request->getParameter('nb', sfConfig::get('app_frontend_feed_count', 100)); $finder = DbFinder::from('SchemaPropertyElementHistory')->orderBy('SchemaPropertyElementHistory.CreatedAt', 'desc')->join('SchemaPropertyElementHistory.SchemaPropertyElementId', 'SchemaPropertyElement.Id', 'left join')->join('SchemaProperty', 'left join')->join('Schema', 'left join')->join('Status', 'left join')->join('User', 'left join')->join('ProfileProperty', 'left join')->with('Schema', 'ProfileProperty', 'User', 'Status', 'SchemaProperty'); if ($filter) { $finder = $finder->where('SchemaPropertyElementHistory.' . $column, $id); } $finder = $finder->find($limit); $this->setTemplate('feed'); $this->feed = sfFeedPeer::createFromObjects($finder, array('format' => $request->getParameter('format', 'atom1'), 'link' => $request->getUriPrefix() . $request->getPathInfo(), 'feedUrl' => $request->getUriPrefix() . $request->getPathInfo(), 'title' => htmlentities($title), 'methods' => array('authorEmail' => '', 'link' => 'getFeedUniqueId'))); return; }
public function executePostsForTagFeed() { sfLoader::loadHelpers(array('I18N')); $tag = $this->getRequestParameter('tag'); $this->forward404Unless($tag); $posts = sfSimpleBlogPostPeer::getTagged($tag, $this->getRequestParameter('nb', sfConfig::get('app_sfSimpleBlog_feed_count', 5))); $this->feed = sfFeedPeer::createFromObjects($posts, array('format' => $this->getRequestParameter('format', 'atom1'), 'title' => __('Posts tagged "%1%" from %2%', array('%1%' => $tag, '%2%' => sfConfig::get('app_sfSimpleBlog_title', ''))), 'link' => $this->getController()->genUrl('sfSimpleBlog/showByTag?tag=' . $tag), 'authorName' => sfConfig::get('app_sfSimpleBlog_author', ''), 'methods' => array('authorEmail' => ''))); $this->setTemplate('feed'); }
/** * rss and atom feeds * * @return return_type */ public function executeFeed() { /** @var sfWebRequest **/ $request = $this->getContext()->getRequest(); $IdType = $this->getRequestParameter('IdType', null); $id = $this->getRequestParameter('id', null); //Build the title $title = "Metadata Registry Change History"; $filter = false; switch ($IdType) { case "property_id": /** @var ConceptProperty **/ $conceptProperty = ConceptPropertyPeer::retrieveByPK($id); if ($conceptProperty) { $vocabularyname = $conceptProperty->getVocabulary() ? $conceptProperty->getVocabulary()->getName() : "?"; $title .= " for Property: '" . $conceptProperty->getProfileProperty()->getName() . "' of Concept: '" . $conceptProperty->getConceptRelatedByConceptId()->getPrefLabel() . "' in Vocabulary: '" . $vocabularyname . "'"; } $filter = true; break; case "concept_id": /** @var Concept **/ $concept = DbFinder::from('Concept')->findPk($id); if ($concept) { $title .= " for Concept: '" . $concept->getPrefLabel() . "' in Vocabulary: '" . $concept->getVocabulary()->getName() . "'"; } $filter = true; break; case "vocabulary_id": /** @var Vocabulary **/ $vocab = DbFinder::from('Vocabulary')->findPk($id); if ($vocab) { $title .= " for Vocabulary: '" . $vocab->getName() . "'"; } $filter = true; break; default: //the whole shebang $title .= " for all Vocabularies"; break; } //special rule for property_id $column = "property_id" == $IdType ? "ConceptPropertyId" : sfInflector::camelize($IdType); //default limit to 100 if not set in config $limit = $request->getParameter('nb', sfConfig::get('app_frontend_feed_count', 100)); $finder = DbFinder::from('ConceptPropertyHistory')->orderBy('ConceptPropertyHistory.CreatedAt', 'desc')->join('ConceptProperty', 'left join')->join('Concept', 'left join')->join('Vocabulary', 'left join')->join('Status', 'left join')->join('User', 'left join')->join('SkosProperty', 'left join')->with('Vocabulary', 'SkosProperty', 'User', 'Status', 'ConceptProperty', 'Concept'); if ($filter) { $finder = $finder->where('ConceptPropertyHistory.' . $column, $id); } $finder = $finder->find($limit); $this->setTemplate('feed'); $this->feed = sfFeedPeer::createFromObjects($finder, array('format' => $request->getParameter('format', 'atom1'), 'link' => $request->getUriPrefix() . $request->getPathInfo(), 'feedUrl' => $request->getUriPrefix() . $request->getPathInfo(), 'title' => htmlentities($title), 'methods' => array('authorEmail' => '', 'link' => 'getFeedUniqueId'))); return; }
protected function getFeedFromObjects($objects) { $feed = sfFeedPeer::createFromObjects($objects, array('format' => 'atom1', 'title' => $this->feed_title, 'link' => $this->rule, 'methods' => array('authorEmail' => ''))); $this->setLayout(false); return $feed->asXml(); }
public function executeCommentsForPostFeed() { sfLoader::loadHelpers(array('I18N')); $post = sfSimpleBlogPostPeer::retrieveByStrippedTitleAndDate($this->getRequestParameter('stripped_title'), $this->getDateFromRequest()); $this->forward404Unless($post); $comments = sfSimpleBlogCommentPeer::getForPost($post, $this->getRequestParameter('nb', sfConfig::get('app_sfSimpleBlog_feed_count', 5))); $this->feed = sfFeedPeer::createFromObjects($comments, array('format' => $this->getRequestParameter('format', 'atom1'), 'title' => __('Comments on post "%1%" from %2%', array('%1%' => $post->getTitle(), '%2%' => sfConfig::get('app_sfSimpleBlog_title', ''))), 'link' => $this->getController()->genUrl('sfSimpleBlog/show?stripped_title=' . $post->getStrippedTitle()), 'authorName' => sfConfig::get('app_sfSimpleBlog_author', ''), 'methods' => array('title' => 'getPostTitle', 'authorEmail' => ''))); $this->setTemplate('feed'); }