Spamworldpro Mini Shell
Spamworldpro


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/app/code/Soon/AnonReview/Observer/Review/Model/ResourceModel/Review/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/app/code/Soon/AnonReview/Observer/Review/Model/ResourceModel/Review/Collection.php
<?php
/**
 * @license http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 * @author Hervé Guétin <[email protected]> <@herveguetin>
 * @copyright Copyright (c) 2018 Agence Soon (http://www.agence-soon.fr)
 */

namespace Soon\AnonReview\Observer\Review\Model\ResourceModel\Review;

class Collection implements \Magento\Framework\Event\ObserverInterface
{
    /**
     * @param \Magento\Framework\Event\Observer $observer
     * @return void
     */
    const NICKNAME_COL_NAME = 'nickname';

    /**
     * @param \Magento\Framework\Event\Observer $observer
     * @throws \Zend_Db_Select_Exception
     */
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        /** @var \Magento\Review\Model\ResourceModel\Review\Collection $collection */
        $collection = $observer->getData('collection');
        $select = $collection->getSelect();
        $this->cleanNickname($select);

        // Set the 'nickname' column always with the value "Anonymous"
        $test = '"' . __('Anonymous') . '"';
        $select->columns(new \Zend_Db_Expr("{$test} AS `" . self::NICKNAME_COL_NAME . "`"));
    }

    /**
     * @param \Magento\Framework\DB\Select $select
     * @throws \Zend_Db_Select_Exception
     */
    private function cleanNickname(\Zend_Db_Select $select)
    {
        $columns = $select->getPart(\Zend_Db_Select::COLUMNS);

        // Remove the select column with name "nickname"
        unset($columns[array_search(self::NICKNAME_COL_NAME, array_column($columns, 1))]);

        $select->reset(\Zend_Db_Select::COLUMNS);
        $select->setPart(\Zend_Db_Select::COLUMNS, $columns);
    }
}

Spamworldpro Mini