Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_Adminhtml_Rss_CatalogController
  • Mage_Adminhtml_Rss_OrderController
  • Mage_Rss_Block_Abstract
  • Mage_Rss_Block_Catalog_Abstract
  • Mage_Rss_Block_Catalog_Category
  • Mage_Rss_Block_Catalog_New
  • Mage_Rss_Block_Catalog_NotifyStock
  • Mage_Rss_Block_Catalog_Review
  • Mage_Rss_Block_Catalog_Salesrule
  • Mage_Rss_Block_Catalog_Special
  • Mage_Rss_Block_Catalog_Tag
  • Mage_Rss_Block_List
  • Mage_Rss_Block_Order_Details
  • Mage_Rss_Block_Order_New
  • Mage_Rss_Block_Order_Status
  • Mage_Rss_Block_Wishlist
  • Mage_Rss_CatalogController
  • Mage_Rss_Helper_Catalog
  • Mage_Rss_Helper_Data
  • Mage_Rss_Helper_Order
  • Mage_Rss_IndexController
  • Mage_Rss_Model_Mysql4_Order
  • Mage_Rss_Model_Observer
  • Mage_Rss_Model_Resource_Order
  • Mage_Rss_Model_Rss
  • Mage_Rss_Model_Session
  • Mage_Rss_Model_System_Config_Backend_Links
  • Mage_Rss_OrderController
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * Magento
  4:  *
  5:  * NOTICE OF LICENSE
  6:  *
  7:  * This source file is subject to the Open Software License (OSL 3.0)
  8:  * that is bundled with this package in the file LICENSE.txt.
  9:  * It is also available through the world-wide-web at this URL:
 10:  * http://opensource.org/licenses/osl-3.0.php
 11:  * If you did not receive a copy of the license and are unable to
 12:  * obtain it through the world-wide-web, please send an email
 13:  * to license@magentocommerce.com so we can send you a copy immediately.
 14:  *
 15:  * DISCLAIMER
 16:  *
 17:  * Do not edit or add to this file if you wish to upgrade Magento to newer
 18:  * versions in the future. If you wish to customize Magento for your
 19:  * needs please refer to http://www.magentocommerce.com for more information.
 20:  *
 21:  * @category    Mage
 22:  * @package     Mage_Rss
 23:  * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 24:  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 25:  */
 26: 
 27: /**
 28:  * Review form block
 29:  *
 30:  * @category   Mage
 31:  * @package    Mage_Rss
 32:  * @author     Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_Rss_Block_Catalog_Review extends Mage_Rss_Block_Abstract
 35: {
 36: 
 37:     /**
 38:      * Cache tag constant for feed reviews
 39:      *
 40:      * @var string
 41:      */
 42:     const CACHE_TAG = 'block_html_rss_catalog_review';
 43: 
 44:     /**
 45:      * Initialize cache
 46:      *
 47:      * @return null
 48:      */
 49:     protected function _construct()
 50:     {
 51:         $this->setCacheTags(array(self::CACHE_TAG));
 52:         /*
 53:         * setting cache to save the rss for 10 minutes
 54:         */
 55:         $this->setCacheKey('rss_catalog_review');
 56:         $this->setCacheLifetime(600);
 57:     }
 58: 
 59:     /**
 60:      * Render XML response
 61:      *
 62:      * @return string
 63:      */
 64:     protected function _toHtml()
 65:     {
 66:         $newUrl = Mage::getUrl('rss/catalog/review');
 67:         $title = Mage::helper('rss')->__('Pending product review(s)');
 68:         Mage::helper('rss')->disableFlat();
 69: 
 70:         $rssObj = Mage::getModel('rss/rss');
 71:         $data = array(
 72:             'title' => $title,
 73:             'description' => $title,
 74:             'link'        => $newUrl,
 75:             'charset'     => 'UTF-8',
 76:         );
 77:         $rssObj->_addHeader($data);
 78: 
 79:         $reviewModel = Mage::getModel('review/review');
 80: 
 81:         $collection = $reviewModel->getProductCollection()
 82:             ->addStatusFilter($reviewModel->getPendingStatus())
 83:             ->addAttributeToSelect('name', 'inner')
 84:             ->setDateOrder();
 85: 
 86:         Mage::dispatchEvent('rss_catalog_review_collection_select', array('collection' => $collection));
 87: 
 88:         Mage::getSingleton('core/resource_iterator')->walk(
 89:             $collection->getSelect(),
 90:             array(array($this, 'addReviewItemXmlCallback')),
 91:             array('rssObj'=> $rssObj, 'reviewModel'=> $reviewModel));
 92:         return $rssObj->createRssXml();
 93:     }
 94: 
 95:     /**
 96:      * Format single RSS element
 97:      *
 98:      * @param array $args
 99:      * @return null
100:      */
101:     public function addReviewItemXmlCallback($args)
102:     {
103:         $rssObj = $args['rssObj'];
104:         $row = $args['row'];
105: 
106:         $store = Mage::app()->getStore($row['store_id']);
107:         $urlModel = Mage::getModel('core/url')->setStore($store);
108:         $productUrl = $urlModel->getUrl('catalog/product/view', array('id' => $row['entity_id']));
109:         $reviewUrl = Mage::helper('adminhtml')->getUrl(
110:             'adminhtml/catalog_product_review/edit/',
111:             array('id' => $row['review_id'], '_secure' => true, '_nosecret' => true));
112:         $storeName = $store->getName();
113: 
114:         $description = '<p>'
115:                      . $this->__('Product: <a href="%s">%s</a> <br/>', $productUrl, $row['name'])
116:                      . $this->__('Summary of review: %s <br/>', $row['title'])
117:                      . $this->__('Review: %s <br/>', $row['detail'])
118:                      . $this->__('Store: %s <br/>', $storeName )
119:                      . $this->__('click <a href="%s">here</a> to view the review', $reviewUrl)
120:                      . '</p>';
121:         $data = array(
122:             'title'         => $this->__('Product: "%s" review By: %s', $row['name'], $row['nickname']),
123:             'link'          => 'test',
124:             'description'   => $description,
125:         );
126:         $rssObj->_addEntry($data);
127:     }
128: }
129: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0