b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / app / code / SendCloud / SendCloud / Block / Checkout /
Filename/home/dev2.destoffenstraat.com/app/code/SendCloud/SendCloud/Block/Checkout/MultiShipping.php
Size2.53 kb
Permissionrwxrwxrwx
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified11-Feb-2023 11:04
Last accessed23-Aug-2025 14:02
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php

namespace SendCloud\SendCloud\Block\Checkout;

use Magento\Directory\Helper\Data;
use Magento\Framework\Pricing\PriceCurrencyInterface;
use Magento\Framework\View\Element\Template;
use Magento\Multishipping\Block\Checkout\Shipping;
use Magento\Store\Model\ScopeInterface;
use SendCloud\SendCloud\Helper\WeightConverter;
use SendCloud\SendCloud\Plugin\Quote\Address\Rate;

class MultiShipping extends Shipping
{
/**
* @var Data
*/
private $magentoHelper;

/**
* @param Data $magentoHelper
* @param Template\Context $context
* @param \Magento\Framework\Filter\DataObject\GridFactory $filterGridFactory
* @param \Magento\Multishipping\Model\Checkout\Type\Multishipping $multishipping
* @param \Magento\Tax\Helper\Data $taxHelper
* @param PriceCurrencyInterface $priceCurrency
* @param array $data
*/
public function __construct(
Data $magentoHelper,
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\Filter\DataObject\GridFactory $filterGridFactory,
\Magento\Multishipping\Model\Checkout\Type\Multishipping $multishipping,
\Magento\Tax\Helper\Data $taxHelper,
PriceCurrencyInterface $priceCurrency,
array $data = []
) {
parent::__construct($context, $filterGridFactory, $multishipping, $taxHelper, $priceCurrency, $data);
$this->magentoHelper = $magentoHelper;
}

public function getMethods()
{
$addresses = $this->getAddresses();
$codes = [];
foreach ($addresses as $address) {
$rates = $address->getAllShippingRates();

/**
* @var Rate $rate
*/
foreach ($rates as $rate) {
if (strpos($rate->getCode(), 'sendcloud_checkout') === 0) {
$codes[$rate->getCode()] = $rate->getMethod();
}
}
}
return $codes;
}

public function getAddressesFormated()
{
$addresses = $this->getAddresses();
$formated = [];

foreach ($addresses as $address) {
$data = $address->getData();
$data['base_currency_code'] = $address->getQuote()->getBaseCurrencyCode();
$quoteExtensionAttributes = $address->getQuote()->getExtensionAttributes();
$data['weight_in_grams'] = WeightConverter::convertWeightToGrams($address->getWeight(), $this->magentoHelper->getWeightUnit());
$formated[$address->getData('address_id')] = $data;
}

return $formated;
}
}