Skip to content
Snippets Groups Projects
Select Git revision
  • 6504a7e5284055529649223200b5191622f84e42
  • dev default protected
  • prod protected
  • 1.0.58
  • 1.0.57
  • 1.0.52
  • 1.0.56
  • 1.0.51
  • 1.0.50
  • 1.0.33
  • 1.0.32
  • 1.0.31
  • 1.0.30
  • 1.0.29
  • 1.0.28
  • 1.0.27
  • 1.0.26
  • 1.0.25
  • 1.0.24
  • 1.0.23
  • 1.0.22
  • 1.0.21
  • 1.0.20
23 results

ConfigChangeObserver.php

Blame
  • ConfigChangeObserver.php 4.55 KiB
    <?php
    
    namespace BobGroup\BobGo\Observer;
    
    use Magento\Framework\Event\Observer;
    use Magento\Framework\Event\ObserverInterface;
    use Magento\Framework\App\Config\ScopeConfigInterface;
    use Magento\Framework\HTTP\Client\Curl;
    
    class ConfigChangeObserver implements ObserverInterface
    {
        protected $scopeConfig;
        protected $curl;
    
        public function __construct(
            ScopeConfigInterface $scopeConfig,
            Curl $curl
        ) {
            $this->scopeConfig = $scopeConfig;
            $this->curl = $curl;
        }
    
        public function execute(Observer $observer)
        {
            $sectionId = $observer->getEvent()->getSection();
    
            // Ensure we're working with the 'carriers' section
            if ($sectionId === 'carriers') {
                $isEnabled = $this->scopeConfig->getValue('carriers/bobgo/active', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
    
                // Check if the extension is enabled
                if ($isEnabled) {
                    $url = 'https://api.dev.bobgo.co.za/rates-at-checkout/magento';
    
                    // Prepare the payload
                    $payload = json_encode([
                        "identifier" => "woodemo3.bobgo.co.za",
                        "rate" => [
                            "origin" => [
                                "country" => "ZA",
                                "postal_code" => "0181",
                                "province" => "GP",
                                "city" => "Pretoria",
                                "name" => null,
                                "address1" => "125 Dallas Avenue",
                                "address2" => "Newlands",
                                "address3" => null,
                                "phone" => "",
                                "fax" => "",
                                "email" => null,
                                "address_type" => null,
                                "company_name" => ""
                            ],
                            "destination" => [
                                "country" => "ZA",
                                "postal_code" => "0181",
                                "province" => "GP",
                                "city" => "Pretoria",
                                "name" => null,
                                "address1" => null,
                                "address2" => "",
                                "address3" => null,
                                "phone" => "",
                                "fax" => "",
                                "email" => null,
                                "address_type" => null,
                                "company_name" => "",
                                "shipping_suburb" => "Elarduspark"
                            ],
                            "currency" => "ZAR",