uawdijnntqw1x1x1
IP : 216.73.216.5
Hostname : toronto-dev2
Kernel : Linux toronto-dev2 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
srv
/
users
/
craft4
/
apps
/
craft4-newsite-space
/
vendor
/
craftcms
/
commerce
/
src
/
test
/
..
/
helpers
/
Order.php
/
/
<?php /** * @link https://craftcms.com/ * @copyright Copyright (c) Pixel & Tonic, Inc. * @license https://craftcms.github.io/license/ */ namespace craft\commerce\helpers; use craft\commerce\elements\Order as OrderElement; /** * Order helper * * @author Pixel & Tonic, Inc. <support@pixelandtonic.com> * @since 2.1 */ class Order { /** * @return bool Were any line items merged? */ public static function mergeDuplicateLineItems(OrderElement $order): bool { $lineItems = $order->getLineItems(); // Ensure no duplicate line items exist, and if they do, combine them. $lineItemsByKey = []; foreach ($lineItems as $lineItem) { $key = $lineItem->orderId . '-' . $lineItem->purchasableId . '-' . $lineItem->getOptionsSignature(); if (isset($lineItemsByKey[$key])) { $lineItemsByKey[$key]->qty += $lineItem->qty; // If a note already exists, merge it. if ($lineItemsByKey[$key]->note && $lineItem->note) { $lineItemsByKey[$key]->note .= ' - ' . $lineItem->note; } else { $lineItemsByKey[$key]->note = $lineItem->note; } } else { $lineItemsByKey[$key] = $lineItem; } } $order->setLineItems(array_values($lineItemsByKey)); return $lineItems > $lineItemsByKey; } }
/srv/users/craft4/apps/craft4-newsite-space/vendor/craftcms/commerce/src/test/../helpers/Order.php