}
HikashopshippingBFManualConfigDisplay::showBreak($first);
if (plgHikashopshippingBFManual::$_params->get('sizeweightpricecalc')) {
    HikashopshippingBFManualConfigDisplay::showBreak($first);
    HikashopshippingBFManualConfigDisplay::showSizeWeightPriceCalc($this->element->shipping_params);
}
HikashopshippingBFManualConfigDisplay::showBreak($first);
if (plgHikashopshippingBFManual::$_params->get('categorychk')) {
    HikashopshippingBFManualConfigDisplay::showBreak($first);
    HikashopshippingBFManualConfigDisplay::showCategoryChk($this->element->shipping_params);
}
if (plgHikashopshippingBFManual::$_params->get('productchk')) {
    HikashopshippingBFManualConfigDisplay::showBreak($first);
    HikashopshippingBFManualConfigDisplay::showProductChk($this->element->shipping_params);
}
$productfieldname = plgHikashopshippingBFManual::getParam('productfieldname', '');
if (!empty($productfieldname)) {
    HikashopshippingBFManualConfigDisplay::showBreak($first);
    HikashopshippingBFManualConfigDisplay::showProductFieldName($this->element->shipping_params, $productfieldname);
}
HikashopshippingBFManualConfigDisplay::showBreak($first);
if (plgHikashopshippingBFManual::$_params->get('addresschk')) {
    HikashopshippingBFManualConfigDisplay::showAddressChk($this->element->shipping_params);
}
if (plgHikashopshippingBFManual::$_params->get('productqtychk')) {
    HikashopshippingBFManualConfigDisplay::showProductQtyChk($this->element->shipping_params);
}
if (plgHikashopshippingBFManual::$_params->get('availablechk')) {
    HikashopshippingBFManualConfigDisplay::showAvailableChk($this->element->shipping_params);
}
HikashopshippingBFManualConfigDisplay::showHelp();
Esempio n. 2
0
 public static function unusableDeliveryRates($earliest_delivery_date, $local_usable_rates)
 {
     $notUsable = array();
     if (self::getParam('delivtime') || self::getParam('delivdate')) {
         $todaytime = time();
         $tomorrowtime = $todaytime + 24 * 60 * 60;
         $today = self::getFormattedDate('Ymd', $todaytime);
         $tomorrow = self::getFormattedDate('Ymd', $tomorrowtime);
         $now = self::getFormattedDate('H:i', $todaytime);
         foreach ($local_usable_rates as $k => $rate) {
             if (!isset($rate->shipping_params->shipping_extra_deliv_dates)) {
                 // This indicates that the plugin delivery date settings
                 // were set BEFORE the BFManual Hikashop shipping method.
                 if (empty(self::$_warn1)) {
                     JError::raiseWarning(4720, 'Please contact System Administrator');
                     self::$_warn1 = array();
                 }
                 if (empty(self::$_warn1[$rate->shipping_id])) {
                     JError::raiseWarning(4720, 'Delivery day setup error: "' . $rate->shipping_name . '"');
                     self::$_warn1[$rate->shipping_id] = true;
                 }
                 continue;
             }
             $found = false;
             for ($d = 0; $d < 7; $d++) {
                 $delivon = 'shipping_delivon_' . $d;
                 if (!empty($rate->shipping_params->{$delivon})) {
                     $found = true;
                     break;
                 }
             }
             if (!$found && empty($rate->shipping_params->shipping_extra_deliv_dates)) {
                 $notUsable[] = $k;
                 continue;
             }
             $shipping_order_before = @$rate->shipping_params->shipping_order_before;
             if (!empty($shipping_order_before) && $shipping_order_before <= $now) {
                 $notUsable[] = $k;
                 continue;
             }
             $shipping_same_day_before = @$rate->shipping_params->shipping_same_day_before;
             $shipping_next_day_after = @$rate->shipping_params->shipping_next_day_after;
             $shipping_next_day_before = @$rate->shipping_params->shipping_next_day_before;
             if (empty($earliest_delivery_date) || $earliest_delivery_date == $today) {
                 if (!empty($shipping_same_day_before)) {
                     if ($shipping_same_day_before <= $now) {
                         $notUsable[] = $k;
                         continue;
                     }
                     if (!self::validDeliveryDay($today, $rate->shipping_params)) {
                         $notUsable[] = $k;
                         continue;
                     }
                 }
             }
             if (empty($earliest_delivery_date) || $earliest_delivery_date == $tomorrow) {
                 if (!empty($shipping_next_day_before)) {
                     if ($shipping_next_day_before <= $now) {
                         $notUsable[] = $k;
                         continue;
                     }
                 }
                 if (!empty($shipping_next_day_after)) {
                     if ($shipping_next_day_after >= $now) {
                         $notUsable[] = $k;
                         continue;
                     }
                 }
                 if (!self::validDeliveryDay($tomorrow, $rate->shipping_params)) {
                     $notUsable[] = $k;
                     continue;
                 }
             }
             if (!empty($earliest_delivery_date) && $earliest_delivery_date > $tomorrow) {
                 if (!self::validDeliveryDay($earliest_delivery_date, $rate->shipping_params)) {
                     $notUsable[] = $k;
                     continue;
                 }
             }
         }
     }
     return $notUsable;
 }
 private static function checkDeliveryDate($order, $now = null, $day = 0)
 {
     if ($now === null) {
         if (empty($order->order_delivery_date)) {
             return false;
         }
         $value = self::orderDateValue2Time($order->order_delivery_date);
     } else {
         $value = $now + $day * 24 * 60 * 60;
         // Whoops, watch out for years with leap seconds!
     }
     if (class_exists('plgHikashopshippingBFManual')) {
         $localUsableRates = plgHikashopshippingBFManual::getLocalUsableRates();
         if (!empty($localUsableRates)) {
             $unusableRates = plgHikashopshippingBFManual::unusableDeliveryRates(self::getFormattedDate('Ymd', $value), $localUsableRates);
             if (!empty($unusableRates)) {
                 if (count($localUsableRates) == count($unusableRates)) {
                     return false;
                 }
                 if (!empty($order->shipping)) {
                     foreach ($order->shipping as $shipping) {
                         if (in_array($shipping->shipping_id, $unusableRates)) {
                             return false;
                         }
                     }
                 }
             }
         }
     }
     switch (self::getFormattedDate('N', $value)) {
         case '1':
             $allowedDate = self::$_params->get('monday');
             break;
         case '2':
             $allowedDate = self::$_params->get('tuesday');
             break;
         case '3':
             $allowedDate = self::$_params->get('wednesday');
             break;
         case '4':
             $allowedDate = self::$_params->get('thursday');
             break;
         case '5':
             $allowedDate = self::$_params->get('friday');
             break;
         case '6':
             $allowedDate = self::$_params->get('saturday');
             break;
         case '7':
             $allowedDate = self::$_params->get('sunday');
             break;
         default:
             return false;
     }
     if (self::blockedDeliveryDate($value)) {
         return false;
     }
     if ($allowedDate) {
         self::$_deliveryNmlDates += 1;
     } else {
         if (!self::extraDeliveryDate($value)) {
             return false;
         }
     }
     return $value;
 }