![]() 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/wyomind/msicustomattributes/Observer/MsiStockStatus/ |
<?php /** * Copyright © 2020 Wyomind. All rights reserved. * See LICENSE.txt for license details. */ namespace Wyomind\MsiCustomAttributes\Observer\MsiStockStatus; use Magento\Framework\Event\Observer; use Magento\Framework\Stdlib\DateTime\Timezone\LocalizedDateToUtcConverterInterface; use Wyomind\MsiCustomAttributes\Helper\CustomAttribute; /** * Class SalesOrderPlaceBefore * @package Wyomind\EstimatedDeliveryDate\Observer */ class ConvertAttributes implements \Magento\Framework\Event\ObserverInterface { public $localeConverter; public function __construct(\Wyomind\MsiCustomAttributes\Helper\Delegate $wyomind) { $wyomind->constructor($this, $wyomind, __CLASS__); } /** * @param Observer $observer */ public function execute(Observer $observer) { $attributes = $observer->getEvent()->getAttributes(); $source = $observer->getEvent()->getSource(); $product = $observer->getEvent()->getProduct(); foreach ($attributes as $customAttribute => $config) { $value = null; if ($config["type"] == CustomAttribute::TYPE_DATE) { if ($source->getData($customAttribute)) { $value = $this->localeConverter->convertLocalizedDateToUtc($source->getData($customAttribute) . ' 00:00:00'); //$locale = $this->localeResolver->getLocale(); //$value = $this->timezone->formatDateTime($source->getData($customAttribute), \IntlDateFormatter::SHORT, \IntlDateFormatter::NONE, $locale, "UTC"); } } elseif ($config["type"] == CustomAttribute::TYPE_BOOL) { if ($source->getData($customAttribute)) { $value = __("Yes"); } else { $value = __("No"); } } elseif ($config["type"] == CustomAttribute::TYPE_SELECT) { if (isset($config["options"][$source->getData($customAttribute)])) { $value = $config["options"][$source->getData($customAttribute)]; } } if ($value != null) { //apply to product $product->setData($customAttribute, $value); // //apply to source $source->setData($customAttribute, $value); } } } }