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/vendor/aheadworks/module-csblock/Model/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/aheadworks/module-csblock/Model/Csblock.php
<?php
namespace Aheadworks\Csblock\Model;

/**
 * Class Csblock
 * @package Aheadworks\Csblock\Model
 */
class Csblock extends \Magento\Framework\Model\AbstractModel
{

    /**
     * @var \Magento\Rule\Model\AbstractModel
     */
    private $_rule = null;

    /**
     * @param \Magento\Framework\Model\Context $context
     * @param \Magento\Framework\Registry $registry
     * @param \Aheadworks\Csblock\Model\ResourceModel\Csblock $resource
     * @param \Aheadworks\Csblock\Model\ResourceModel\Csblock\Collection $resourceCollection
     * @param array $data
     */
    public function __construct(
        \Magento\Framework\Model\Context $context,
        \Magento\Framework\Registry $registry,
        \Aheadworks\Csblock\Model\ResourceModel\Csblock $resource = null,
        \Aheadworks\Csblock\Model\ResourceModel\Csblock\Collection $resourceCollection = null,
        array $data = []
    ) {
        parent::__construct($context, $registry, $resource, $resourceCollection);
    }

    protected function _construct()
    {
        $this->_init(\Aheadworks\Csblock\Model\ResourceModel\Csblock::class);
    }

    /*
     * @return \Aheadworks\Csblock\Model\Rule\Product
     */
    public function getRuleModel()
    {
        if (null === $this->_rule) {
            $ruleModel = \Magento\Framework\App\ObjectManager::getInstance()
               ->create(\Aheadworks\Csblock\Model\Rule\Product::class);
            $this->_rule = $ruleModel;
        }
        return $this->_rule;
    }

    /*
     * Set up prepared conditions to model
     *
     * @param array $data
     * @param array $allowedKeys
     */
    public function loadPost($data, $allowedKeys)
    {
        if (empty($data)) {
            $this->setData('csblock_conditions', '');
            return $this;
        }
        $conditions = $this->_convertFlatToRecursive($data, $allowedKeys);
        $this->setData('csblock_conditions', $conditions['csblock'][1]);

        return $this;
    }

    /*
     * @param array $data
     * @param array $allowedKeys
     * @return array
     */
    protected function _convertFlatToRecursive(array $data, $allowedKeys = [])
    {
        $arr = [];
        foreach ($data as $key => $value) {
            if (in_array($key, $allowedKeys) && is_array($value)) {
                foreach ($value as $id => $data) {
                    $path = explode('--', (string)$id);
                    $node = & $arr;

                    for ($i = 0, $l = count($path); $i < $l; $i++) {
                        if (!isset($node[$key][$path[$i]])) {
                            $node[$key][$path[$i]] = [];
                        }
                        $node = & $node[$key][$path[$i]];
                    }
                    foreach ($data as $k => $v) {
                        $node[$k] = $v;
                    }
                }
            } else {
                /**
                 * Convert dates into \DateTime
                 */
                if (in_array($key, ['from_date', 'to_date']) && $value) {
                    $value = new \DateTime($value);
                }
                $this->setData($key, $value);
            }
        }
        return $arr;
    }
}

Spamworldpro Mini