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/extmag/shiplab/Model/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/extmag/shiplab/Model/ShippingMethods.php
<?php
/**
 * Copyright © Extmag. All rights reserved.
 */

namespace Extmag\Shiplab\Model;

use Extmag\Shiplab\Api\Data\ShippingMethodsInterface;
use Extmag\Shiplab\Model\Rule\Condition\Combine;
use Extmag\Shiplab\Model\Rule\Condition\CombineFactory;
use Magento\Framework\Api\AttributeValueFactory;
use Magento\Framework\Api\ExtensionAttributesFactory;
use Magento\Framework\Data\Collection\AbstractDb;
use Magento\Framework\Data\FormFactory;
use Magento\Framework\Model\Context;
use Magento\Framework\Model\ResourceModel\AbstractResource;
use Magento\Framework\Registry;
use Magento\Framework\Serialize\Serializer\Json;
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
use Magento\Quote\Model\Quote\Address;
use Magento\Rule\Model\AbstractModel;

class ShippingMethods extends AbstractModel implements ShippingMethodsInterface
{
    /**
     * @var CombineFactory
     */
    protected $_condCombineFactory;

    /**
     * @var Rule\Condition\Product\CombineFactory
     */
    protected $_condProdCombineF;

    /**
     * Store already validated addresses and validation results
     *
     * @var array
     */
    protected $_validatedAddresses = [];

    /**
     * Rule constructor
     *
     * @param Context $context
     * @param Registry $registry
     * @param FormFactory $formFactory
     * @param TimezoneInterface $localeDate
     * @param CombineFactory $condCombineFactory
     * @param Rule\Condition\Product\CombineFactory $condProdCombineF
     * @param AbstractResource|null $resource
     * @param AbstractDb|null $resourceCollection
     * @param array $data
     * @param ExtensionAttributesFactory|null $extensionFactory
     * @param AttributeValueFactory|null $customAttributeFactory
     * @param Json|null $serializer
     *
     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
     */
    public function __construct(
        Context                               $context,
        Registry                              $registry,
        FormFactory                           $formFactory,
        TimezoneInterface                     $localeDate,
        CombineFactory                        $condCombineFactory,
        Rule\Condition\Product\CombineFactory $condProdCombineF,
        AbstractResource                      $resource = null,
        AbstractDb                            $resourceCollection = null,
        array                                 $data = [],
        ExtensionAttributesFactory            $extensionFactory = null,
        AttributeValueFactory                 $customAttributeFactory = null,
        Json                                  $serializer = null
    ) {
        parent::__construct(
            $context,
            $registry,
            $formFactory,
            $localeDate,
            $resource,
            $resourceCollection,
            $data,
            $extensionFactory,
            $customAttributeFactory,
            $serializer
        );
        $this->_condCombineFactory = $condCombineFactory;
        $this->_condProdCombineF = $condProdCombineF;
    }

    /**
     * @return void
     */
    protected function _construct()
    {
        parent::_construct();
        $this->_init(ResourceModel\ShippingMethods::class);
        $this->setIdFieldName('entity_id');
    }

    /**
     * Get rule condition combine model instance
     *
     * @return Combine
     */
    public function getConditionsInstance()
    {
        return $this->_condCombineFactory->create();
    }

    /**
     * Get rule condition product combine model instance
     *
     * @return Rule\Condition\Product\Combine
     */
    public function getActionsInstance()
    {
        return $this->_condProdCombineF->create();
    }

    /**
     * Check cached validation result for specific address
     *
     * @param Address $address
     *
     * @return bool
     */
    public function hasIsValidForAddress($address)
    {
        $addressId = $this->_getAddressId($address);

        return isset($this->_validatedAddresses[$addressId]);
    }

    /**
     * Set validation result for specific address to results cache
     *
     * @param Address $address
     * @param bool $validationResult
     *
     * @return $this
     */
    public function setIsValidForAddress($address, $validationResult)
    {
        $addressId = $this->_getAddressId($address);
        $this->_validatedAddresses[$addressId] = $validationResult;

        return $this;
    }

    /**
     * Get cached validation result for specific address
     *
     * @param Address $address
     *
     * @return bool
     * @SuppressWarnings(PHPMD.BooleanGetMethodName)
     */
    public function getIsValidForAddress($address)
    {
        $addressId = $this->_getAddressId($address);

        return $this->_validatedAddresses[$addressId] ?? false;
    }

    /**
     * Return id for address
     *
     * @param Address $address
     *
     * @return string
     */
    protected function _getAddressId($address)
    {
        if ($address instanceof Address) {
            return $address->getId();
        }

        return $address;
    }

    /**
     * Get conditions field set id.
     *
     * @param string $formName
     *
     * @return string
     * @since 100.1.0
     */
    public function getConditionsFieldSetId($formName = '')
    {
        return $formName . 'rule_conditions_fieldset_' . $this->getId();
    }

    /**
     * Get actions field set id.
     *
     * @param string $formName
     *
     * @return string
     * @since 100.1.0
     */
    public function getActionsFieldSetId($formName = '')
    {
        return $formName . 'rule_actions_fieldset_' . $this->getId();
    }

    /**
     * @inheritDoc
     */
    public function getId()
    {
        return parent::getData(self::ENTITY_ID);
    }

    /**
     * @inheritDoc
     */
    public function setId($value)
    {
        return $this->setData(self::ENTITY_ID, $value);
    }

    /**
     * @inheritDoc
     */
    public function getAdminTitle()
    {
        return parent::getData(self::ADMIN_TITLE);
    }

    /**
     * @param string $title
     *
     * @return ShippingMethodsInterface
     */
    public function setAdminTitle($title)
    {
        return $this->setData(self::ADMIN_TITLE, $title);
    }

    /**
     * @inheritDoc
     */
    public function getCreatedTime()
    {
        return parent::getData(self::CREATED_TIME);
    }

    /**
     * @param string $createdTime
     *
     * @return ShippingMethodsInterface
     */
    public function setCreatedTime($createdTime)
    {
        return $this->setData(self::CREATED_TIME, $createdTime);
    }

    /**
     * @inheritDoc
     */
    public function getUpdateTime()
    {
        return parent::getData(self::UPDATED_TIME);
    }

    /**
     * @param string $updateTime
     *
     * @return ShippingMethodsInterface
     */
    public function setUpdateTime($updateTime)
    {
        return $this->setData(self::UPDATED_TIME, $updateTime);
    }

    /**
     * @inheritDoc
     */
    public function getArea()
    {
        return parent::getData(self::AREA);
    }

    /**
     * @inheritDoc
     */
    public function setArea($area)
    {
        return $this->setData(self::AREA, $area);
    }

    /**
     * @inheritDoc
     */
    public function getCarrier()
    {
        return parent::getData(self::CARRIER);
    }

    /**
     * @inheritDoc
     */
    public function setCarrier($carrier)
    {
        return $this->setData(self::CARRIER, $carrier);
    }

    /**
     * @inheritDoc
     */
    public function getCarrierTitle()
    {
        return parent::getData(self::CARRIER_TITLE);
    }

    /**
     * @inheritDoc
     */
    public function setCarrierTitle($carrierTitle)
    {
        return $this->setData(self::CARRIER_TITLE, $carrierTitle);
    }

    /**
     * @inheritDoc
     */
    public function getCarrierMethodsType()
    {
        return parent::getData(self::CARRIER_METHODS_TYPE);
    }

    /**
     * @inheritDoc
     */
    public function setCarrierMethodsType($carrierMethodsType)
    {
        return $this->setData(self::CARRIER_METHODS_TYPE, $carrierMethodsType);
    }

    /**
     * @inheritDoc
     */
    public function getPrice()
    {
        return parent::getData(self::PRICE);
    }

    /**
     * @inheritDoc
     */
    public function setPrice($price)
    {
        return $this->setData(self::PRICE, $price);
    }

    /**
     * @inheritDoc
     */
    public function getCarrierMethods()
    {
        return parent::getData(self::CARRIER_METHODS);
    }

    /**
     * @inheritDoc
     */
    public function setCarrierMethods($carrierMethods)
    {
        return $this->setData(self::CARRIER_METHODS, $carrierMethods);
    }

    /**
     * @inheritDoc
     */
    public function getConditionsSerialized()
    {
        return parent::getData(self::CONDITIONS_SERIALIZED);
    }

    /**
     * @inheritDoc
     */
    public function setConditionsSerialized($conditions)
    {
        return $this->setData(self::CONDITIONS_SERIALIZED, $conditions);
    }

    /**
     * @inheritDoc
     */
    public function getActionsSerialized()
    {
        return parent::getData(self::ACTIONS_SERIALIZED);
    }

    /**
     * @inheritDoc
     */
    public function setActionsSerialized($actions)
    {
        return $this->setData(self::ACTIONS_SERIALIZED, $actions);
    }

    /**
     * @inheritDoc
     */
    public function getStatus()
    {
        return parent::getData(self::STATUS);
    }

    /**
     * @inheritDoc
     */
    public function setStatus($status)
    {
        return $this->setData(self::STATUS, $status);
    }

    /**
     * @inheritDoc
     */
    public function getFreeShipping()
    {
        return parent::getData(self::FREE_SHIPPING);
    }

    /**
     * @inheritDoc
     */
    public function setFreeShipping($freeShipping)
    {
        return $this->setData(self::FREE_SHIPPING, $freeShipping);
    }

    /**
     * @inheritDoc
     */
    public function getWebsiteIds()
    {
        return parent::getData(self::WEBSITE_IDS);
    }

    /**
     * @inheritDoc
     */
    public function setWebsiteIds($websiteIds)
    {
        if (is_array($websiteIds)) {
            $websiteIds = implode(',', $websiteIds);
        }

        return $this->setData(self::WEBSITE_IDS, $websiteIds);
    }

    /**
     * @inheritDoc
     */
    public function getCustomerGroupIds()
    {
        return parent::getData(self::CUSTOMER_GROUP_IDS);
    }

    /**
     * @inheritDoc
     */
    public function setCustomerGroupIds($customerGroupIds)
    {
        if (is_array($customerGroupIds)) {
            $customerGroupIds = implode(',', $customerGroupIds);
        }

        return $this->setData(self::CUSTOMER_GROUP_IDS, $customerGroupIds);
    }

    /**
     * @inheritDoc
     */
    public function getCarrierDiscount()
    {
        return parent::getData(self::CARRIER_DISCOUNT);
    }

    /**
     * @inheritDoc
     */
    public function setCarrierDiscount($carrierDiscount)
    {
        return $this->setData(self::CARRIER_DISCOUNT, $carrierDiscount);
    }

    /**
     * @inheritDoc
     */
    public function getAccessPoint()
    {
        return parent::getData(self::ACCESS_POINT);
    }

    /**
     * @inheritDoc
     */
    public function setAccessPoint($accessPoint)
    {
        return $this->setData(self::ACCESS_POINT, $accessPoint);
    }

    /**
     * @inheritDoc
     */
    public function getIsTit()
    {
        return parent::getData(self::IS_TIT);
    }

    /**
     * @inheritDoc
     */
    public function setIsTit($isTit)
    {
        return $this->setData(self::IS_TIT, $isTit);
    }

    /**
     * @inheritDoc
     */
    public function getTitFormat()
    {
        if (empty(parent::getData(self::TIT_FORMAT))) {
            return 'Y.m.d H:i';
        }

        return parent::getData(self::TIT_FORMAT);
    }

    /**
     * @inheritDoc
     */
    public function setTitFormat($titFormat)
    {
        return $this->setData(self::TIT_FORMAT, $titFormat);
    }

    /**
     * @inheritDoc
     */
    public function getTitPrefix()
    {
        return parent::getData(self::TIT_PREFIX);
    }

    /**
     * @inheritDoc
     */
    public function setTitPrefix($titPrefix)
    {
        return $this->setData(self::TIT_PREFIX, $titPrefix);
    }

    /**
     * @inheritDoc
     */
    public function getTitSuffix()
    {
        return parent::getData(self::TIT_SUFFIX);
    }

    /**
     * @inheritDoc
     */
    public function setTitSuffix($titSuffix)
    {
        return $this->setData(self::TIT_SUFFIX, $titSuffix);
    }

    /**
     * @inheritDoc
     */
    public function getDateFrom()
    {
        return parent::getData(self::DATE_FROM);
    }

    /**
     * @inheritDoc
     */
    public function setDateFrom($dateFrom)
    {
        return parent::setData(self::DATE_FROM, $dateFrom);
    }

    /**
     * @inheritDoc
     */
    public function getDateTo()
    {
        return parent::getData(self::DATE_TO);
    }

    /**
     * @inheritDoc
     */
    public function setDateTo($dateTo)
    {
        return parent::setData(self::DATE_TO, $dateTo);
    }

    /**
     * @inheritDoc
     */
    public function getFrequency()
    {
        return parent::getData(self::FREQUENCY);
    }

    /**
     * @inheritDoc
     */
    public function setFrequency($frequency)
    {
        return parent::setData(self::FREQUENCY, $frequency);
    }

    /**
     * @inheritDoc
     */
    public function getDayWeek()
    {
        return parent::getData(self::DAY_WEEK);
    }

    /**
     * @inheritDoc
     */
    public function setDayWeek($data)
    {
        return parent::setData(self::DAY_WEEK, $data);
    }

    /**
     * @return array|false|string[]
     */
    public function getDayWeekAsArray()
    {
        $days = parent::getData(self::DAY_WEEK);
        if (!empty($days)) {
            return explode(',', $days);
        }

        return [];
    }

    /**
     * @inheritDoc
     */
    public function getLogo()
    {
        return parent::getData(self::LOGO);
    }

    /**
     * @inheritDoc
     */
    public function setLogo($logo)
    {
        return parent::setData(self::LOGO, $logo);
    }

    /**
     * @inheritDoc
     */
    public function getPriceRuleIds()
    {
        return parent::getData(self::PRICE_RULE_IDS);
    }

    /**
     * @return array
     */
    public function getPriceRuleIdsAsArray()
    {
        $ids = [];
        $priceRuleIds = $this->getPriceRuleIds();
        if (!empty($priceRuleIds)) {
            $priceRuleIds = json_decode($priceRuleIds, true);
            foreach ($priceRuleIds as $priceRuleId) {
                $ids[$priceRuleId['position']] = $priceRuleId['rule_id'];
            }
            ksort($ids);
        }

        return $ids;
    }

    /**
     * @inheritDoc
     */
    public function setPriceRuleIds($data)
    {
        return parent::setData(self::PRICE_RULE_IDS, $data);
    }

    /**
     * @inheritDoc
     */
    public function getPriceRulesApply()
    {
        return parent::getData(self::PRICE_RULES_APPLY);
    }

    /**
     * @inheritDoc
     */
    public function setPriceRulesApply($data)
    {
        return parent::setData(self::PRICE_RULES_APPLY, $data);
    }

    /**
     * @inheritDoc
     */
    public function getWebsiteType()
    {
        return parent::getData(self::WEBSITE_TYPE);
    }

    /**
     * @inheritDoc
     */
    public function setWebsiteType($websiteType)
    {
        return parent::setData(self::WEBSITE_TYPE, $websiteType);
    }

    /**
     * @inheritDoc
     */
    public function getCustomerGroupType()
    {
        return parent::getData(self::CUSTOMER_GROUP_TYPE);
    }

    /**
     * @inheritDoc
     */
    public function setCustomerGroupType($customerGroupType)
    {
        return parent::setData(self::CUSTOMER_GROUP_TYPE, $customerGroupType);
    }

    /**
     * @inheritDoc
     */
    public function getMethodsNamesMapping()
    {
        $data = parent::getData(self::METHODS_NAMES_MAPPING);
        if ($data) {
            return json_decode($data, true);
        }

        return [];
    }

    /**
     * @inheritDoc
     */
    public function setMethodsNamesMapping($data)
    {
        return parent::setData(self::METHODS_NAMES_MAPPING, $data);
    }
}

Spamworldpro Mini