/** * Filters the given shipping methods by default permission criteria * * @param SilvercartShippingMethod $shippingMethods Shipping methods to filter * * @return ArrayList * * @author Sebastian Diel <*****@*****.**> * @since 19.04.2012 */ public static function filterShippingMethods($shippingMethods) { $allowedShippingMethods = new ArrayList(); $customerGroups = SilvercartCustomer::getCustomerGroups(); foreach ($shippingMethods as $shippingMethod) { foreach ($customerGroups as $customerGroup) { if ($shippingMethod->SilvercartCustomerGroups()->find('ID', $customerGroup->ID) || $shippingMethod->SilvercartCustomerGroups()->count() == 0) { $allowedShippingMethods->push($shippingMethod); break; } } } return $allowedShippingMethods; }