private function checkOrderDeliverydate(&$order) { if (JFactory::getApplication()->isAdmin()) { return true; } self::$_deliveryOptions = null; self::$_deliveryDates = 0; self::$_deliveryNmlDates = 0; self::getDeliveryDates(); $datesValid = true; $item_delivery_dates = array(); foreach ($order->cart->products as $product) { if (empty($product->item_delivery_date)) { if (empty(self::$_fieldRequired)) { continue; } JError::raiseWarning(4720, self::$_params->get('nodeliverydate')); $datesValid = false; break; } $dateValid = false; foreach (self::$_deliveryOptions as $optionValue => $optionLabel) { if ($product->item_delivery_date == $optionValue) { $item_delivery_dates[$optionValue] = $optionLabel; $dateValid = true; break; } } if (!$dateValid) { JError::raiseWarning(4720, sprintf(self::$_params->get('misseddeliverytime'), $product->item_delivery_date_text)); $datesValid = false; break; } } if ($datesValid && isset($optionValue) && isset($item_delivery_dates[$optionValue])) { if (count($item_delivery_dates[$optionValue]) == 1) { $fieldsClass = hikashop_get('class.field'); $itemFields = $fieldsClass->getFields('', $element, 'order'); if (isset($itemFields['order_delivery_date']) && isset($itemFields['order_delivery_date_text'])) { foreach ($item_delivery_dates as $optionValue => $optionLabel) { if (empty($order->order_delivery_date)) { $order->order_delivery_date = $optionValue; $order->order_delivery_date_text = $optionLabel; } } } } return true; } if (self::$_params->get('shownodate')) { self::$_resetValue = null; } else { self::getDefault($order, self::$_resetValue); } self::$_resetFlag = true; return false; }