1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
26:
27: 28: 29: 30: 31: 32: 33:
34: class Mage_Review_Block_Form extends Mage_Core_Block_Template
35: {
36: public function __construct()
37: {
38: $customerSession = Mage::getSingleton('customer/session');
39:
40: parent::__construct();
41:
42: $data = Mage::getSingleton('review/session')->getFormData(true);
43: $data = new Varien_Object($data);
44:
45:
46: if (!$data->getNickname()) {
47: $customer = $customerSession->getCustomer();
48: if ($customer && $customer->getId()) {
49: $data->setNickname($customer->getFirstname());
50: }
51: }
52:
53: $this->setAllowWriteReviewFlag($customerSession->isLoggedIn() || Mage::helper('review')->getIsGuestAllowToWrite());
54: if (!$this->getAllowWriteReviewFlag) {
55: $this->setLoginLink(
56: Mage::getUrl('customer/account/login/', array(
57: Mage_Customer_Helper_Data::REFERER_QUERY_PARAM_NAME => Mage::helper('core')->urlEncode(
58: Mage::getUrl('*/*/*', array('_current' => true)) .
59: '#review-form')
60: )
61: )
62: );
63: }
64:
65: $this->setTemplate('review/form.phtml')
66: ->assign('data', $data)
67: ->assign('messages', Mage::getSingleton('review/session')->getMessages(true));
68: }
69:
70: public function getProductInfo()
71: {
72: $product = Mage::getModel('catalog/product');
73: return $product->load($this->getRequest()->getParam('id'));
74: }
75:
76: public function getAction()
77: {
78: $productId = Mage::app()->getRequest()->getParam('id', false);
79: return Mage::getUrl('review/product/post', array('id' => $productId));
80: }
81:
82: public function getRatings()
83: {
84: $ratingCollection = Mage::getModel('rating/rating')
85: ->getResourceCollection()
86: ->addEntityFilter('product')
87: ->setPositionOrder()
88: ->addRatingPerStoreName(Mage::app()->getStore()->getId())
89: ->setStoreFilter(Mage::app()->getStore()->getId())
90: ->load()
91: ->addOptionToItems();
92: return $ratingCollection;
93: }
94: }
95: