Ejemplo n.º 1
0
 /**
  * Retrieve review data as xml object
  *
  * @param Mage_Review_Model_Review $review
  * @param string $itemNodeName
  * @return Mage_XmlConnect_Model_Simplexml_Element
  */
 public function reviewToXmlObject(Mage_Review_Model_Review $review, $itemNodeName = 'item')
 {
     $rating = 0;
     /** @var $item Mage_XmlConnect_Model_Simplexml_Element */
     $item = Mage::getModel('xmlconnect/simplexml_element', '<' . $itemNodeName . '></' . $itemNodeName . '>');
     if ($review->getId()) {
         $item->addChild('review_id', $review->getId());
         $item->addChild('created_at', $this->formatDate($review->getCreatedAt()));
         $item->addChild('title', $item->escapeXml($review->getTitle()));
         $item->addChild('nickname', $item->escapeXml($review->getNickname()));
         $detail = $item->escapeXml($review->getDetail());
         if ($itemNodeName == 'item') {
             $remainder = '';
             $deviceType = Mage::helper('xmlconnect')->getDeviceType();
             if ($deviceType != Mage_XmlConnect_Helper_Data::DEVICE_TYPE_IPAD) {
                 $detail = Mage::helper('core/string')->truncate($detail, self::REVIEW_DETAIL_TRUNCATE_LEN, '', $remainder, false);
             }
         }
         $item->addChild('detail', $detail);
         $summary = Mage::getModel('rating/rating')->getReviewSummary($review->getId());
         if ($summary->getCount() > 0) {
             $rating = round($summary->getSum() / $summary->getCount() / 10);
         }
         if ($rating) {
             $item->addChild('rating_votes', $rating);
         }
     }
     return $item;
 }
Ejemplo n.º 2
0
 /**
  * @param Mage_Review_Model_Review $review
  * @return string
  */
 public function getTitle($review)
 {
     return $review->getTitle();
 }
Ejemplo n.º 3
0
 /**
  * set title for the review
  */
 public function setTitle()
 {
     parent::setTitle($this->item->getTitle());
 }
Ejemplo n.º 4
0
 public function _prepareUpdateData(Mage_Review_Model_Review $review)
 {
     $data = array('detail' => array('title' => strip_tags($review->getTitle()), 'detail' => strip_tags($review->getDetail()), 'nickname' => strip_tags($review->getNickname())), 'base' => array('status_id' => $review->getStatusId()));
     if ($review->hasData('stores') && is_array($review->getStores())) {
         $stores = $review->getStores();
         $stores[] = 0;
         $data['stores'] = $stores;
     } elseif ($review->hasData('stores')) {
         $data['stores'] = array();
     }
     return $data;
 }