<?php\r
\r
\r
+class RssController extends CubeIT_Controller_LayoutlessController {\r
\r
-class RssController extends CubeIT_Controller_LayoutlessController{\r
+ protected $_queryLimit = null; // Number of entries to return by default. Set to NULL for no limit.\r
\r
- protected $_queryLimit = 10; // Number of entries to return by default. Set to NULL for no limit.\r
\r
+ public function indexAction() {\r
\r
- public function indexAction() {\r
+ }\r
\r
- }\r
+ public function newsAction() {\r
\r
- public function newsAction() {\r
+ // Set up the feed with values from the CMS\r
+ $rss = CubeIT_Util_Cms::unserialize($this->getOpt('rss'));\r
+ $feed = $this->_initFeed($rss['rss_news_title'], $rss['rss_news_description']);\r
\r
- // Set up the feed with values from the CMS\r
- $rss = CubeIT_Util_Cms::unserialize($this->getOpt('rss'));\r
- $feed = $this->_initFeed($rss['rss_news_title'], $rss['rss_news_description']);\r
+ $news = CubeIT_Util_Cms::unserialize($this->getOpt('actus'));\r
\r
- $news=CubeIT_Util_Cms::unserialize($this->getOpt('actus'));\r
+ // echo '<pre>'; print_r($news); exit;\r
\r
-// echo '<pre>'; print_r($news); exit;\r
+ foreach ($news['actualites'] as $n) {\r
\r
- foreach($news['actualites'] as $n) {\r
+ $link = null;\r
\r
- $link = null;\r
+ // Handle links - can be either an external URL or an internal page link. Internal has priority.\r
+ if (!empty($n['link']['url']) || !empty($n['link']['page'])) {\r
+ $link = !empty($n['link']['page']) ? CubeIT_View_Helper_Link::internal($n['link']['page']) : $n['link']['url'];\r
\r
- // Handle links - can be either an external URL or an internal page link. Internal has priority.\r
- if(!empty($n['link']['url']) || !empty($n['link']['page'])) {\r
- $link = !empty($n['link']['page']) ? CubeIT_View_Helper_Link::internal($n['link']['page']) : $n['link']['url'];\r
+ // Make sure that link is properly formed (mainly for the external URL)\r
+ if (!Zend_Uri::check($link)) {\r
+ $link = 'http://' . $link;\r
+ }\r
+ }\r
\r
- // Make sure that link is properly formed (mainly for the external URL)\r
- if(!Zend_Uri::check($link)) {\r
- $link = 'http://'.$link;\r
- }\r
- }\r
+ $e = $feed->createEntry();\r
\r
- $e = $feed->createEntry();\r
+ $e->setTitle($n['texte']);\r
+ $e->setDateCreated(strtotime($n['date']));\r
+ $e->setId($n['date']);\r
+ if ($link) {\r
+ $e->setLink($link);\r
+ }\r
\r
- $e->setTitle($n['texte']);\r
- $e->setDateCreated(strtotime($n['date']));\r
- $e->setId($n['date']);\r
- if($link) { $e->setLink($link); }\r
+ $feed->addEntry($e);\r
\r
- $feed->addEntry($e);\r
+ }\r
\r
- }\r
+ echo $feed->export('rss');\r
+ }\r
\r
- echo $feed->export('rss');\r
- }\r
+ public function projectsAction() {\r
\r
- public function projectsAction() {\r
+ $realisations = Cubedesigners_Model_Realisation::factory()->where('online = ?', 1)->order('date DESC')->limit($this->_queryLimit)->find();\r
\r
- $realisations = Cubedesigners_Model_Realisation::factory()->where('online = ?', 1)\r
- ->order('date DESC')\r
- ->limit($this->_queryLimit)\r
- ->find();\r
+ // Set up the feed with values from the CMS\r
+ $rss = CubeIT_Util_Cms::unserialize($this->getOpt('rss'));\r
+ $feed = $this->_initFeed($rss['rss_projects_title'], $rss['rss_projects_description']);\r
\r
- // Set up the feed with values from the CMS\r
- $rss = CubeIT_Util_Cms::unserialize($this->getOpt('rss'));\r
- $feed = $this->_initFeed($rss['rss_projects_title'], $rss['rss_projects_description']);\r
+ foreach ($realisations as $r) {\r
\r
- foreach($realisations as $r){\r
+ //fb($r);\r
\r
- //fb($r);\r
+ // Prepare feed data\r
+ $title = CubeIT_Util_Cms::unserialize($r->getTitre());\r
+ $description = CubeIT_Util_Cms::unserialize($r->getDescription());\r
+ $date = $r->getDate();\r
+ $enclosure = $this->_enclosureDetails(CubeIT_Util_Cms::unserialize($r->getVisuel()));\r
\r
- // Prepare feed data\r
- $title = CubeIT_Util_Cms::unserialize($r->getTitre());\r
- $description = CubeIT_Util_Cms::unserialize($r->getDescription());\r
- $date = $r->getDate();\r
- $enclosure = $this->_enclosureDetails(CubeIT_Util_Cms::unserialize($r->getVisuel()));\r
+ // Get the link using the navigation class. "3" is the ID of the realisations / portfolio page\r
+ $link = CubeIT_View_Helper_Link::internal('3/' . $r->getId());\r
\r
- // Get the link using the navigation class. "3" is the ID of the realisations / portfolio page\r
- $link = CubeIT_View_Helper_Link::internal('3/' . $r->getId());\r
+ $e = $feed->createEntry();\r
\r
- $e = $feed->createEntry();\r
+ $e->setTitle($title);\r
+ //$e->setId($url);\r
+ $e->setLink($link);\r
+ $e->setDateCreated($date);\r
+ if (!empty($description)) {\r
+ $e->setDescription($description);\r
+ }\r
+ if ($enclosure) {\r
+ $e->setEnclosure($enclosure);\r
+ }\r
\r
- $e->setTitle($title);\r
- //$e->setId($url);\r
- $e->setLink($link);\r
- $e->setDateCreated($date);\r
- if(!empty($description)) { $e->setDescription($description); }\r
- if($enclosure) { $e->setEnclosure($enclosure); }\r
+ $feed->addEntry($e);\r
\r
- $feed->addEntry($e);\r
+ // Note: unserialize() automatically returns data for the current locale if it can. A different locale can be specified too.\r
+ //fb(CubeIT_Util_Cms::unserialize($r->getTitre())); // using magic functions for accessing data from model ->getnameCamelCased();\r
\r
- // Note: unserialize() automatically returns data for the current locale if it can. A different locale can be specified too.\r
- //fb(CubeIT_Util_Cms::unserialize($r->getTitre())); // using magic functions for accessing data from model ->getnameCamelCased();\r
+ }\r
\r
- }\r
+ echo $feed->export('rss');\r
\r
- echo $feed->export('rss');\r
+ }\r
\r
- }\r
+ public function casestudiesAction() {\r
\r
- public function casestudiesAction() {\r
+ $studies = Cubedesigners_Model_Casestudy::factory()->where('online = ?', 1)->order('annee DESC')->limit($this->_queryLimit)->find();\r
\r
- $studies = Cubedesigners_Model_Casestudy::factory()->where('online = ?', 1)\r
- ->order('annee DESC')\r
- ->limit($this->_queryLimit)\r
- ->find();\r
+ //fb($studies);\r
\r
- //fb($studies);\r
+ // Set up the feed with values from the CMS\r
+ $rss = CubeIT_Util_Cms::unserialize($this->getOpt('rss'));\r
+ $feed = $this->_initFeed($rss['rss_casestudies_title'], $rss['rss_casestudies_description']);\r
\r
- // Set up the feed with values from the CMS\r
- $rss = CubeIT_Util_Cms::unserialize($this->getOpt('rss'));\r
- $feed = $this->_initFeed($rss['rss_casestudies_title'], $rss['rss_casestudies_description']);\r
+ foreach ($studies as $s) {\r
\r
- foreach($studies as $s) {\r
+ // Prepare feed data\r
+ $title = CubeIT_Util_Cms::unserialize($s->getTitre());\r
+ $description = CubeIT_Util_Cms::unserialize($s->getDescription());\r
+ $enclosure = $this->_enclosureDetails(CubeIT_Util_Cms::unserialize($s->getVisuel()));\r
+ $date = $s->getAnnee();\r
\r
- // Prepare feed data\r
- $title = CubeIT_Util_Cms::unserialize($s->getTitre());\r
- $description = CubeIT_Util_Cms::unserialize($s->getDescription());\r
- $enclosure = $this->_enclosureDetails(CubeIT_Util_Cms::unserialize($s->getVisuel()));\r
- $date = $s->getAnnee();\r
+ // Get the link using the navigation class. "4" is the ID of the case studies page\r
+ $link = CubeIT_View_Helper_Link::internal('4/' . $s->getId());\r
\r
- // Get the link using the navigation class. "4" is the ID of the case studies page\r
- $link = CubeIT_View_Helper_Link::internal('4/' . $s->getId());\r
+ $e = $feed->createEntry();\r
\r
- $e = $feed->createEntry();\r
+ $e->setTitle($title);\r
+ if (!empty($description)) {\r
+ $e->setDescription($description);\r
+ }\r
+ //$e->setId($url);\r
+ $e->setLink($link);\r
+ if ($enclosure) {\r
+ $e->setEnclosure($enclosure);\r
+ }\r
+ $e->setDateCreated($date);\r
\r
- $e->setTitle($title);\r
- if(!empty($description)) { $e->setDescription($description); }\r
- //$e->setId($url);\r
- $e->setLink($link);\r
- if($enclosure) { $e->setEnclosure($enclosure); }\r
- $e->setDateCreated($date);\r
+ $feed->addEntry($e);\r
\r
- $feed->addEntry($e);\r
+ }\r
\r
- }\r
+ echo $feed->export('rss');\r
\r
- echo $feed->export('rss');\r
+ }\r
\r
- }\r
\r
+ /**\r
+ * Set up common feed options\r
+ * @param string $title\r
+ * @return Zend_Feed_Writer_Feed\r
+ * @throws Zend_Feed_Exception\r
+ */\r
+ protected function _initFeed($title = 'Cubedesigners News', $description = 'The latest updates from Cubedesigners') {\r
\r
- /**\r
- * Set up common feed options\r
- * @param string $title\r
- * @return Zend_Feed_Writer_Feed\r
- * @throws Zend_Feed_Exception\r
- */\r
- protected function _initFeed($title = 'Cubedesigners News', $description = 'The latest updates from Cubedesigners') {\r
+ $feed = new Zend_Feed_Writer_Feed;\r
\r
- $feed = new Zend_Feed_Writer_Feed;\r
+ $feed->setTitle($title);\r
+ $feed->setLink('http://' . $this->getOpt('webhost') . '/');\r
+ $feed->setGenerator(array('name' => 'cubeRSS'));\r
+ $feed->setDescription($description);\r
\r
- $feed->setTitle($title);\r
- $feed->setLink('http://'.$this->getOpt('webhost').'/');\r
- $feed->setGenerator(array('name' => 'cubeRSS'));\r
- $feed->setDescription($description);\r
+ return $feed;\r
\r
- return $feed;\r
+ }\r
\r
- }\r
+ /**\r
+ * Get details for attached imagery on feed items\r
+ * @param array $images\r
+ * @return array\r
+ */\r
+ protected function _enclosureDetails($images) {\r
\r
- /**\r
- * Get details for attached imagery on feed items\r
- * @param array $images\r
- * @return array\r
- */\r
- protected function _enclosureDetails($images) {\r
+ if (is_array($images)) {\r
\r
- if(is_array($images)) {\r
+ $baseURL = 'http://' . $this->getOpt('webhost');\r
\r
- $baseURL = 'http://' . $this->getOpt('webhost');\r
+ $imageURI = CubeIT_View_Helper_ImageCms::getPath($images[0]); // Just get the first image, even if there are more\r
+ $imagePath = $_SERVER['DOCUMENT_ROOT'] . $imageURI;\r
\r
- $imageURI = CubeIT_View_Helper_ImageCms::getPath($images[0]); // Just get the first image, even if there are more\r
- $imagePath = $_SERVER['DOCUMENT_ROOT'] . $imageURI;\r
+ // Find the MIME type of the file\r
+ $finfo = finfo_open(FILEINFO_MIME_TYPE);\r
+ $type = finfo_file($finfo, $imagePath);\r
\r
- // Find the MIME type of the file\r
- $finfo = finfo_open(FILEINFO_MIME_TYPE);\r
- $type = finfo_file($finfo, $imagePath);\r
+ $filesize = filesize($imagePath);\r
\r
- $filesize = filesize($imagePath);\r
+ $image['uri'] = $baseURL . $imageURI;\r
+ $image['type'] = $type;\r
+ $image['length'] = $filesize;\r
\r
- $image['uri'] = $baseURL . $imageURI;\r
- $image['type'] = $type;\r
- $image['length'] = $filesize;\r
+ return $image;\r
\r
- return $image;\r
+ }\r
\r
- }\r
+ return false;\r
\r
- return false;\r
-\r
- }\r
+ }\r
\r
}
\ No newline at end of file