275 lines
12 KiB
PHP
275 lines
12 KiB
PHP
<?php
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/config.php");
|
|
|
|
/*ini_set('display_errors', 1);
|
|
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);*/
|
|
|
|
if ($_SESSION['id'] && $_GET['packageId'] && is_numeric($_GET['packageId'])) {
|
|
|
|
$get = clearInputData($_GET);
|
|
|
|
$curUser = new User();
|
|
$curUser->get($_SESSION['id']);
|
|
|
|
$objectId = null;
|
|
if (isset($get['objectId']))
|
|
$objectId = intval($get['objectId']);
|
|
|
|
$obj = null;
|
|
if (!is_null($objectId)) {
|
|
$sql = "SELECT objects.* FROM objects WHERE objects.id = $objectId";
|
|
if ($query = mysql_query($sql)) {
|
|
$obj = mysql_fetch_assoc($query);
|
|
}
|
|
}
|
|
|
|
$requestToSend = [];
|
|
|
|
$login = $curUser->zipal_login;
|
|
$password = $curUser->zipal_password;
|
|
|
|
if (empty($login) || empty($password)) {
|
|
$login = $curUser->agencyZipalLogin;
|
|
$password = $curUser->agencyZipalPassword;
|
|
}
|
|
|
|
$requestToSend['login'] = $login;
|
|
$requestToSend['password'] = $password;
|
|
$requestToSend['method'] = 'GetPrices';
|
|
$requestToSend['request'] = [];
|
|
$requestToSend['request']['requestType'] = 'GetPricesByParamsRequestType';
|
|
|
|
$requestToSend['request']['region'] = '78';
|
|
|
|
if (isset($obj['id_rf_region'])) {
|
|
$sql = "SELECT code FROM rf_regions WHERE rf_regions.id = ".$obj['id_rf_region'];
|
|
if ($query = mysql_query($sql)) {
|
|
$requestToSend['request']['region'] = mysql_fetch_assoc($query)['code'];
|
|
}
|
|
}
|
|
|
|
$packageId = isset($get['packageId']) ? $get['packageId'] : null;
|
|
$package = null;
|
|
$packageDestinations = [];
|
|
|
|
if ($packageId) {
|
|
$sqlPackage = "SELECT * FROM advertising_package WHERE id=$packageId";
|
|
$rezPackage = mysql_query($sqlPackage);
|
|
$package = mysql_fetch_assoc($rezPackage);
|
|
|
|
$sqlPackageDestinations = "SELECT * FROM advertising_package_destinations WHERE deleted=0 AND advertising_package_id=$packageId";
|
|
$rezPackageDestinations = mysql_query($sqlPackageDestinations);
|
|
|
|
while ($dest = mysql_fetch_assoc($rezPackageDestinations)) {
|
|
array_push($packageDestinations, $dest);
|
|
}
|
|
}
|
|
|
|
if ($package == null) {
|
|
echo "Пакет не найден";
|
|
die();
|
|
}
|
|
|
|
$daysCount = $package['days_count'];
|
|
|
|
if (isset($get['days_count'])) {
|
|
$daysCount = $get['days_count'];
|
|
}
|
|
|
|
$requestToSend['request']['days'] = $daysCount;
|
|
|
|
|
|
$requestToSend['request']['hasPhotos'] = $package['has_photo'] == 1 ? true : false;
|
|
|
|
$dealTypeId = $package['advertising_package_deal_type_id'];
|
|
$objectTypeId = $package['advertising_package_object_type_id'];
|
|
$priceTypeId = $package['advertising_package_price_type_id'];
|
|
|
|
$priceType = null;
|
|
|
|
$sqlDealType = "SELECT * FROM advertising_package_deal_type WHERE id=$dealTypeId";
|
|
$rezDealType = mysql_query($sqlDealType);
|
|
$dealType = mysql_fetch_assoc($rezDealType);
|
|
|
|
$sqlObjectType = "SELECT * FROM advertising_package_object_type WHERE id=$objectTypeId";
|
|
$rezObjectType = mysql_query($sqlObjectType);
|
|
$objectType = mysql_fetch_assoc($rezObjectType);
|
|
|
|
if ($dealType['code'] == 'RENT') {
|
|
if (!$priceTypeId || $priceTypeId == -1) {
|
|
echo "<p style='color: red;'>Необходимо указать Тип цены для типа сделки Аренда</p>";
|
|
exit();
|
|
} else {
|
|
$sqlPriceType = "SELECT * FROM advertising_package_price_type WHERE id=$priceTypeId";
|
|
$rezPriceType = mysql_query($sqlPriceType);
|
|
$priceType = mysql_fetch_assoc($rezPriceType);
|
|
}
|
|
}
|
|
|
|
$requestToSend['request']['room'] = $objectType['is_room'] == 1 ? true : false;
|
|
$requestToSend['request']['dealType'] = $dealType['code'];
|
|
if ($priceType != null) {
|
|
$requestToSend['request']['priceType'] = $priceType['code'];
|
|
}
|
|
$requestToSend['request']['objectType'] = $objectType['code'];
|
|
|
|
$user_agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; HTC_Touch_Diamond2_T5353; Windows Phone 6.5)';
|
|
|
|
//делаем запрос к zipal
|
|
$result = curl_request_zipal_json("https://zipal.ru/ws/json", $_SESSION['id'], $user_agent, json_encode($requestToSend));
|
|
|
|
/*if ($_SESSION['id'] == 93) {
|
|
echo json_encode($requestToSend);
|
|
}*/
|
|
|
|
$jsonResult = json_decode($result, true);
|
|
|
|
if ($jsonResult['resultCode'] == "FAIL") {
|
|
//ошибка
|
|
$res = strpos($jsonResult['result'], "at [Source:");
|
|
if ($res) {
|
|
echo substr($jsonResult['result'], $res);
|
|
} else {
|
|
echo $jsonResult['result'];
|
|
}
|
|
echo $jsonResult['result'];
|
|
} else {
|
|
if ($jsonResult['resultCode'] == "OK") {
|
|
|
|
//print_r($jsonResult['result']);
|
|
?>
|
|
<input type="hidden" name="adv_pack_formed" id="adv_pack_formed" value="1"/>
|
|
<div class="form-block">
|
|
<div class="label">Дней размещения</div>
|
|
<div class="inputs">
|
|
<input style="width: 70px;" class="text" type="number" min="1" max="30" name="adv_pck_zipal_days" id="adv_pck_zipal_days"
|
|
value="<?php echo $daysCount; ?>"/>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div class="form-block">
|
|
<div class="label">Базовая цена</div>
|
|
<div class="label" style="color: black;">
|
|
<span id="adv-pck-zipal-base-price"><?php echo ($jsonResult['result']['basePrice'] / 100) * $ZIPAL_MULTIPLY; ?></span>
|
|
<span class="rub">p</span>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div class="form-block">
|
|
<div class="label">Зипал</div>
|
|
<div class="label" style="color: black;">
|
|
<span id="adv-pck-zipal-only-price">0</span>
|
|
<span class="rub">p</span>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div class="form-block">
|
|
<div class="label">Доп. площадки</div>
|
|
<div class="label" style="color: black;">
|
|
<span id="adv-pck-zipal-other-price">0</span>
|
|
<span class="rub">p</span>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div class="form-block">
|
|
<div class="label">Итого</div>
|
|
<div class="label" style="color: black;">
|
|
<span id="adv-pck-zipal-total-price"><?php echo $package ? $package['price'] : ($jsonResult['result']['basePrice'] / 100) * $ZIPAL_MULTIPLY; ?></span>
|
|
<span class="rub">p</span>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div style="max-height: 600px; overflow-y: auto;">
|
|
<table cellpadding="0" cellspacing="0" border="0" style="width: 100%">
|
|
<?php
|
|
|
|
$zipalPrice = $jsonResult['result']['basePrice'] / 100;
|
|
$nonZipalPrice = 0;
|
|
|
|
foreach ($packageDestinations as $dbDest) {
|
|
$targetName = $ZIPAL_TARGETS[$dbDest['destination']];
|
|
|
|
if (!$targetName) {
|
|
$targetName = $dbDest['destination'];
|
|
}
|
|
|
|
$zipalDest = null;
|
|
$zipalDestPrice = null;
|
|
|
|
foreach ($jsonResult['result']['destination'] as $dest) {
|
|
if ($dbDest['destination'] === $dest['destination']) {
|
|
$zipalDest = $dest;
|
|
|
|
foreach ($dest['price'] as $price) {
|
|
if ($price['type'] === $dbDest['placement_type']) {
|
|
$zipalDestPrice = $price;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($zipalDest != null && $zipalDestPrice != null) {
|
|
|
|
$priceTypeVal = $ZIPAL_PRICE_TYPES[$zipalDestPrice['type']];
|
|
|
|
if (!$priceTypeVal) {
|
|
$priceTypeVal = $zipalDestPrice['type'];
|
|
}
|
|
|
|
$manPrice = 0;
|
|
|
|
if ($dbDest['manual_price'] > 0) {
|
|
if ($zipalDest['destination'] === 'AVITO') {
|
|
$manPrice = $dbDest['manual_price'];
|
|
} else {
|
|
$manPrice = $dbDest['manual_price'] * $daysCount;
|
|
}
|
|
}
|
|
|
|
?>
|
|
<tr style="border-top: 1px solid gray;" class="<?php echo $dbDest['destination']; ?>_row">
|
|
<td style="width:50%;font-size: 16px; font-weight: bold;">
|
|
<?php echo $targetName; ?>
|
|
</td>
|
|
<td style="padding: 10px 0;">
|
|
<label style="display: block; cursor: pointer;position: relative;">
|
|
<span id="adv_<?php echo $zipalDest['destination'] . "_" .$zipalDestPrice['type']; ?>_value" style="width:60px;position: absolute;top: 0;text-align: right;right: 100%;">
|
|
<?php if ($zipalDestPrice['price'] > 0) {
|
|
$zipalPrice = $zipalPrice + ($zipalDestPrice['price'] / 100);
|
|
?>
|
|
<?php echo $zipalDestPrice['price'] / 100; ?><span class="rub">p</span>
|
|
<?php } ?>
|
|
<?php if ($dbDest['manual_price'] > 0) {
|
|
$nonZipalPrice = $nonZipalPrice + $manPrice;
|
|
?>
|
|
<?php echo $manPrice; ?><span class="rub">p</span>
|
|
<?php } ?>
|
|
</span>
|
|
<input name="adv_<?php echo $zipalDest['destination']; ?>_radio"
|
|
data-price="<?php echo $dbDest['manual_price'] > 0 ? $manPrice : $zipalDestPrice['price'] / 100; ?>"
|
|
type="radio" data-type="<?php echo $zipalDestPrice['type']; ?>"
|
|
data-feed="false"
|
|
data-dest="<?php echo $zipalDest['destination'];?>"
|
|
class="adv-package-publish-radio"
|
|
checked
|
|
value="<?php echo $zipalDestPrice['type']; ?>"> <?php echo (($dbDest['feed'] == 1 ? "Фид - " : "") . $priceTypeVal); ?>
|
|
</label>
|
|
</td>
|
|
</tr>
|
|
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
</table>
|
|
<script type="text/javascript">
|
|
$('#adv-pck-zipal-only-price').html(<?php echo $zipalPrice;?>);
|
|
$('#adv-pck-zipal-other-price').html(<?php echo $nonZipalPrice;?>);
|
|
</script>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|
|
}
|
|
|