![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-review/Block/Customer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Review\Block\Customer; use Magento\Catalog\Model\Product; use Magento\Review\Model\ResourceModel\Rating\Option\Vote\Collection as VoteCollection; use Magento\Review\Model\Review; /** * Customer Review detailed view block * * @api * @author Magento Core Team <[email protected]> * @since 100.0.2 */ class View extends \Magento\Catalog\Block\Product\AbstractProduct { /** * Customer view template name * * @var string */ protected $_template = 'Magento_Review::customer/view.phtml'; /** * Catalog product model * * @var \Magento\Catalog\Api\ProductRepositoryInterface */ protected $productRepository; /** * Review model * * @var \Magento\Review\Model\ReviewFactory */ protected $_reviewFactory; /** * Rating option model * * @var \Magento\Review\Model\Rating\Option\VoteFactory */ protected $_voteFactory; /** * Rating model * * @var \Magento\Review\Model\RatingFactory */ protected $_ratingFactory; /** * @var \Magento\Customer\Helper\Session\CurrentCustomer */ protected $currentCustomer; /** * @param \Magento\Catalog\Block\Product\Context $context * @param \Magento\Catalog\Api\ProductRepositoryInterface $productRepository * @param \Magento\Review\Model\ReviewFactory $reviewFactory * @param \Magento\Review\Model\Rating\Option\VoteFactory $voteFactory * @param \Magento\Review\Model\RatingFactory $ratingFactory * @param \Magento\Customer\Helper\Session\CurrentCustomer $currentCustomer * @param array $data */ public function __construct( \Magento\Catalog\Block\Product\Context $context, \Magento\Catalog\Api\ProductRepositoryInterface $productRepository, \Magento\Review\Model\ReviewFactory $reviewFactory, \Magento\Review\Model\Rating\Option\VoteFactory $voteFactory, \Magento\Review\Model\RatingFactory $ratingFactory, \Magento\Customer\Helper\Session\CurrentCustomer $currentCustomer, array $data = [] ) { $this->productRepository = $productRepository; $this->_reviewFactory = $reviewFactory; $this->_voteFactory = $voteFactory; $this->_ratingFactory = $ratingFactory; $this->currentCustomer = $currentCustomer; parent::__construct( $context, $data ); } /** * Initialize review id * * @return void */ protected function _construct() { parent::_construct(); $this->setReviewId($this->getRequest()->getParam('id', false)); } /** * Get product data * * @return Product */ public function getProductData() { if ($this->getReviewId() && !$this->getProductCacheData()) { $product = $this->productRepository->getById($this->getReviewData()->getEntityPkValue()); $this->setProductCacheData($product); } return $this->getProductCacheData(); } /** * Get review data * * @return Review */ public function getReviewData() { if ($this->getReviewId() && !$this->getReviewCachedData()) { $this->setReviewCachedData($this->_reviewFactory->create()->load($this->getReviewId())); } return $this->getReviewCachedData(); } /** * Return review customer url * * @return string */ public function getBackUrl() { return $this->getUrl('review/customer'); } /** * Get review rating collection * * @return VoteCollection */ public function getRating() { if (!$this->getRatingCollection()) { $ratingCollection = $this->_voteFactory->create()->getResourceCollection()->setReviewFilter( $this->getReviewId() )->addRatingInfo( $this->_storeManager->getStore()->getId() )->setStoreFilter( $this->_storeManager->getStore()->getId() )->load(); $this->setRatingCollection($ratingCollection->getSize() ? $ratingCollection : false); } return $this->getRatingCollection(); } /** * Get rating summary * * @deprecated 100.3.3 * @return array */ public function getRatingSummary() { if (!$this->getRatingSummaryCache()) { $this->setRatingSummaryCache( $this->_ratingFactory->create()->getEntitySummary($this->getProductData()->getId()) ); } return $this->getRatingSummaryCache(); } /** * Get total reviews * * @return int */ public function getTotalReviews() { if (!$this->getTotalReviewsCache()) { $this->setTotalReviewsCache( $this->_reviewFactory->create()->getTotalReviews($this->getProductData()->getId()), false, $this->_storeManager->getStore()->getId() ); } return $this->getTotalReviewsCache(); } /** * Get formatted date * * @param string $date * @return string */ public function dateFormat($date) { return $this->formatDate($date, \IntlDateFormatter::LONG); } /** * @inheritDoc */ protected function _toHtml() { return $this->currentCustomer->getCustomerId() ? parent::_toHtml() : ''; } }