1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120:
<?php
session_start();
$_classPath = "../";
include($_classPath . "class/obj.class.php");
PHPShopObj::loadClass("base");
PHPShopObj::loadClass("order");
PHPShopObj::loadClass("modules");
PHPShopObj::loadClass("lang");
PHPShopObj::loadClass("delivery");
PHPShopObj::loadClass("cart");
$PHPShopBase = new PHPShopBase($_classPath . "inc/config.ini",true,true);
$PHPShopBase->checkMultibase("../../");
$PHPShopSystem = new PHPShopSystem();
$PHPShopOrder = new PHPShopOrderFunction();
$PHPShopLang = new PHPShopLang(array('locale'=>$_SESSION['lang'],'path'=>'shop'));
$PHPShopModules = new PHPShopModules($_classPath . "modules/");
if ($_REQUEST['type'] != 'json') {
require_once $_classPath . "lib/Subsys/JsHttpRequest/Php.php";
$JsHttpRequest = new Subsys_JsHttpRequest_Php("windows-1251");
}
require_once $_classPath . "core/order.core/delivery.php";
function GetDeliveryPrice($deliveryID, $sum, $weight = 0) {
global $SysValue,$link_db;
$PHPShopDelivery = new PHPShopDelivery();
if (!empty($deliveryID)) {
$sql = "select * from " . $SysValue['base']['delivery'] . " where id='$deliveryID' and enabled='1'";
$result = mysqli_query($link_db,$sql);
$num = mysqli_num_rows($result);
$row = mysqli_fetch_array($result);
if ($num == 0) {
$sql = "select * from " . $SysValue['base']['delivery'] . " where flag='1' and enabled='1'";
$result = mysqli_query($link_db,$sql);
$row = mysqli_fetch_array($result);
}
} else {
$sql = "select * from " . $SysValue['base']['delivery'] . " where flag='1' and enabled='1'";
$result = mysqli_query($link_db,$sql);
$row = mysqli_fetch_array($result);
}
if ($row['price_null_enabled'] == 1 and $sum >= $row['price_null']) {
return 0;
} else {
if ($row['taxa'] > 0) {
$addweight = $weight - $PHPShopDelivery->fee;
if ($addweight < 0) {
$addweight = 0;
$at = '';
} else {
$at = '';
}
$addweight = ceil($addweight / $PHPShopDelivery->fee) * $row['taxa'];
$endprice = $row['price'] + $addweight;
return $at . $endprice;
} else {
return $row['price'];
}
}
}
$GetDeliveryPrice = GetDeliveryPrice(intval($_REQUEST['xid']), $_REQUEST['sum'], floatval($_REQUEST['wsum']));
$GetDeliveryPrice = $GetDeliveryPrice*$PHPShopSystem->getDefaultValutaKurs(true);
$PHPShopCart = new PHPShopCart();
$totalsumma = (float) $PHPShopOrder->returnSumma($PHPShopCart->getSumPromo(true));
$totalsumma += (float) $PHPShopOrder->returnSumma($PHPShopCart->getSumWithoutPromo(true), $PHPShopOrder->ChekDiscount($_REQUEST['sum']), '', (float) $GetDeliveryPrice);
$deliveryArr = delivery(false, intval($_REQUEST['xid']),$_REQUEST['sum']);
$dellist = $deliveryArr['dellist'];
$adresList = $deliveryArr['adresList'];
$format = $PHPShopSystem->getSerilizeParam("admoption.price_znak");
$_RESULT = array(
'delivery' => number_format($GetDeliveryPrice, $format, '.', ' '),
'dellist' => $dellist,
'discount'=>$PHPShopOrder->ChekDiscount($_REQUEST['sum']),
'adresList' => $adresList,
'total' => number_format($totalsumma, $PHPShopOrder->format, '.', ' '),
'wsum' => floatval($_REQUEST['wsum']),
'success' => 1
);
$hook = $PHPShopModules->setHookHandler('delivery', 'delivery', false, array($_RESULT, $_REQUEST['xid']));
if(is_array($hook))
$_RESULT = $hook;
if ($_REQUEST['type'] == 'json'){
$_RESULT['dellist']=PHPShopString::win_utf8($_RESULT['dellist'],false);
$_RESULT['adresList']=PHPShopString::win_utf8($_RESULT['adresList'],false);
echo json_encode($_RESULT);
}
?>