Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ConfigureFedexDefaults.php
Go to the documentation of this file.
1 <?php
8 
12 
14 {
18  private $moduleDataSetup;
19 
24  public function __construct(
25  \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup
26  ) {
27  $this->moduleDataSetup = $moduleDataSetup;
28  }
29 
34  public function apply()
35  {
36  $codes = [
37  'method' => [
38  'EUROPEFIRSTINTERNATIONALPRIORITY' => 'EUROPE_FIRST_INTERNATIONAL_PRIORITY',
39  'FEDEX1DAYFREIGHT' => 'FEDEX_1_DAY_FREIGHT',
40  'FEDEX2DAYFREIGHT' => 'FEDEX_2_DAY_FREIGHT',
41  'FEDEX2DAY' => 'FEDEX_2_DAY',
42  'FEDEX3DAYFREIGHT' => 'FEDEX_3_DAY_FREIGHT',
43  'FEDEXEXPRESSSAVER' => 'FEDEX_EXPRESS_SAVER',
44  'FEDEXGROUND' => 'FEDEX_GROUND',
45  'FIRSTOVERNIGHT' => 'FIRST_OVERNIGHT',
46  'GROUNDHOMEDELIVERY' => 'GROUND_HOME_DELIVERY',
47  'INTERNATIONALECONOMY' => 'INTERNATIONAL_ECONOMY',
48  'INTERNATIONALECONOMY FREIGHT' => 'INTERNATIONAL_ECONOMY_FREIGHT',
49  'INTERNATIONALFIRST' => 'INTERNATIONAL_FIRST',
50  'INTERNATIONALGROUND' => 'INTERNATIONAL_GROUND',
51  'INTERNATIONALPRIORITY' => 'INTERNATIONAL_PRIORITY',
52  'INTERNATIONALPRIORITY FREIGHT' => 'INTERNATIONAL_PRIORITY_FREIGHT',
53  'PRIORITYOVERNIGHT' => 'PRIORITY_OVERNIGHT',
54  'SMARTPOST' => 'SMART_POST',
55  'STANDARDOVERNIGHT' => 'STANDARD_OVERNIGHT',
56  'FEDEXFREIGHT' => 'FEDEX_FREIGHT',
57  'FEDEXNATIONALFREIGHT' => 'FEDEX_NATIONAL_FREIGHT',
58  ],
59  'dropoff' => [
60  'REGULARPICKUP' => 'REGULAR_PICKUP',
61  'REQUESTCOURIER' => 'REQUEST_COURIER',
62  'DROPBOX' => 'DROP_BOX',
63  'BUSINESSSERVICECENTER' => 'BUSINESS_SERVICE_CENTER',
64  'STATION' => 'STATION',
65  ],
66  'packaging' => [
67  'FEDEXENVELOPE' => 'FEDEX_ENVELOPE',
68  'FEDEXPAK' => 'FEDEX_PAK',
69  'FEDEXBOX' => 'FEDEX_BOX',
70  'FEDEXTUBE' => 'FEDEX_TUBE',
71  'FEDEX10KGBOX' => 'FEDEX_10KG_BOX',
72  'FEDEX25KGBOX' => 'FEDEX_25KG_BOX',
73  'YOURPACKAGING' => 'YOUR_PACKAGING',
74  ],
75  ];
76 
77  $conn = $this->moduleDataSetup->getConnection();
78  $configDataTable = $this->moduleDataSetup->getTable('core_config_data');
79  $select = $conn->select()->from(
80  $configDataTable
81  )->where(
82  'path IN (?)',
83  [
84  'carriers/fedex/packaging',
85  'carriers/fedex/dropoff',
86  'carriers/fedex/free_method',
87  'carriers/fedex/allowed_methods'
88  ]
89  );
90  $mapsOld = $conn->fetchAll($select);
91  foreach ($mapsOld as $mapOld) {
92  $mapNew = '';
93  if (stripos($mapOld['path'], 'packaging') !== false && isset($codes['packaging'][$mapOld['value']])) {
94  $mapNew = $codes['packaging'][$mapOld['value']];
95  } elseif (stripos($mapOld['path'], 'dropoff') !== false && isset($codes['dropoff'][$mapOld['value']])) {
96  $mapNew = $codes['dropoff'][$mapOld['value']];
97  } elseif (stripos($mapOld['path'], 'free_method') !== false && isset($codes['method'][$mapOld['value']])) {
98  $mapNew = $codes['method'][$mapOld['value']];
99  } elseif (stripos($mapOld['path'], 'allowed_methods') !== false) {
100  foreach (explode(',', $mapOld['value']) as $shippingMethod) {
101  if (isset($codes['method'][$shippingMethod])) {
102  $mapNew[] = $codes['method'][$shippingMethod];
103  } else {
104  $mapNew[] = $shippingMethod;
105  }
106  }
107  $mapNew = implode(',', $mapNew);
108  } else {
109  continue;
110  }
111  if (!empty($mapNew) && $mapNew != $mapOld['value']) {
112  $whereConfigId = $conn->quoteInto('config_id = ?', $mapOld['config_id']);
113  $conn->update($configDataTable, ['value' => $mapNew], $whereConfigId);
114  }
115  }
116  }
117 
121  public static function getDependencies()
122  {
123  return [];
124  }
125 
129  public static function getVersion()
130  {
131  return '2.0.0';
132  }
133 
137  public function getAliases()
138  {
139  return [];
140  }
141 }
__construct(\Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup)
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
$shippingMethod
Definition: popup.phtml:12