<?php IncludeModuleLangFile(__FILE__); $MODULE_ID = 'intaro.retailcrm'; $CRM_API_HOST_OPTION = 'api_host'; $CRM_API_KEY_OPTION = 'api_key'; $CRM_SITES_LIST= 'sites_list'; $CRM_PAYMENT_TYPES = 'pay_types_arr'; $CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr'; $CRM_PAYMENT_TYPES = 'pay_types_arr'; $CRM_PAYMENT_STATUSES = 'pay_statuses_arr'; $CRM_PAYMENT = 'payment_arr'; $CRM_ORDER_TYPES_ARR = 'order_types_arr'; $api_host = COption::GetOptionString($MODULE_ID, $CRM_API_HOST_OPTION, 0); $api_key = COption::GetOptionString($MODULE_ID, $CRM_API_KEY_OPTION, 0); $arResult['arSites'] = RCrmActions::SitesList(); $RETAIL_CRM_API = new \RetailCrm\ApiClient($api_host, $api_key); COption::SetOptionString($MODULE_ID, $CRM_API_HOST_OPTION, $api_host); COption::SetOptionString($MODULE_ID, $CRM_API_KEY_OPTION, $api_key); COption::SetOptionString($MODULE_ID, $CRM_SITES_LIST, serialize(array())); if (!isset($arResult['PAYMENT'])) { $arResult['PAYMENT'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_PAYMENT, 0)); } if (!isset($arResult['ORDER_TYPES'])) { $arResult['ORDER_TYPES'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_ORDER_TYPES_ARR, 0)); } if (!isset($arResult['paymentTypesList'])) { $arResult['bitrixPaymentTypesList'] = RCrmActions::PaymentList(); $arResult['paymentTypesList'] = $RETAIL_CRM_API->paymentTypesList()->paymentTypes; $arResult['PAYMENT_TYPES'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_PAYMENT_TYPES, 0)); } if (!isset($arResult['bitrixStatusesList'])) { $arResult['bitrixStatusesList'] = RCrmActions::StatusesList(); $arResult['paymentList'] = $RETAIL_CRM_API->statusesList()->statuses; $arResult['paymentGroupList'] = $RETAIL_CRM_API->statusGroupsList()->statusGroups; } if (!isset($arResult['orderTypesList'])) { $arResult['bitrixOrderTypesList'] = RCrmActions::OrderTypesList($arResult['arSites']); $arResult['orderTypesList'] = $RETAIL_CRM_API->orderTypesList()->orderTypes; } if (!isset($arResult['paymentStatusesList'])) { $arResult['paymentStatusesList'] = $RETAIL_CRM_API->paymentStatusesList()->paymentStatuses; $arResult['PAYMENT_STATUSES'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_PAYMENT_STATUSES, 0)); } if (!isset($arResult['bitrixDeliveryTypesList'])) { $arResult['bitrixDeliveryTypesList'] = RCrmActions::DeliveryList(); $arResult['deliveryTypesList'] = $RETAIL_CRM_API->deliveryTypesList()->deliveryTypes; $arResult['DELIVERY_TYPES'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_DELIVERY_TYPES_ARR, 0)); } //bitrix pyament Y/N $arResult['bitrixPaymentList'][0]['NAME'] = GetMessage('PAYMENT_Y'); $arResult['bitrixPaymentList'][0]['ID'] = 'Y'; $arResult['bitrixPaymentList'][1]['NAME'] = GetMessage('PAYMENT_N'); $arResult['bitrixPaymentList'][1]['ID'] = 'N'; if(isset($arResult['ORDER_TYPES'])){ $defaultOrderTypes = $arResult['ORDER_TYPES']; } else{ $defaultOrderTypes = array ( 1 => 'eshop-individual', 2 => 'eshop-legal' ); } if(isset($arResult['DELIVERY_TYPES'])){ $defaultDelivTypes = $arResult['DELIVERY_TYPES']; } else{ $defaultDelivTypes = array ( 1 => 'courier', 2 => 'self-delivery' ); } if(isset($arResult['PAYMENT_TYPES'])){ $defaultPayTypes = $arResult['PAYMENT_TYPES']; } else{ $defaultPayTypes = array ( 1 => 'cash', 4 => 'e-money', 5 => 'bank-card', 9 => 'bank-transfer' ); } if(isset($arResult['PAYMENT_STATUSES'])){ $defaultPayStatuses = $arResult['PAYMENT_STATUSES']; } else{ $defaultPayStatuses = array ( 'N' => 'new', 'P' => 'prepayed', 'F' => 'complete', ); } if(isset($arResult['PAYMENT'])){ $defaultPayment = $arResult['PAYMENT']; } else{ $defaultPayment = array( 'Y' => 'paid', 'N' => 'not-paid' ); } ?> <style type="text/css"> input[name="update"] { right:2px; position: absolute !important; top:3px; } </style> <script type="text/javascript" src="/bitrix/js/main/jquery/jquery-1.7.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('input[name="update"]').live('click', function() { $('input[name="step"]').val(2); BX.showWait(); var updButton = this; // hide next step button $(updButton).css('opacity', '0.5').attr('disabled', 'disabled'); var handlerUrl = $(this).parents('form').attr('action'); var data = $(this).parents('form').serialize() + '&ajax=1'; $.ajax({ type: 'POST', url: handlerUrl, data: data, dataType: 'json', success: function(response) { if(response.success) { $.each(response.result, function(i,item){ $('select[name="' + i + '"]').replaceWith(item); }); } BX.closeWait(); $(updButton).css('opacity', '1').removeAttr('disabled'); $('input[name="step"]').val(3); if(!response.success) alert('<?php echo GetMessage('MESS_5'); ?>'); }, error: function () { BX.closeWait(); $(updButton).css('opacity', '1').removeAttr('disabled'); $('input[name="step"]').val(3); alert('<?php echo GetMessage('MESS_5'); ?>'); } }); return false; }); $('input[name="delivery-types-export"]').click(function() { if($(this).val() === 'true') $('tr.delivery-types').hide('slow'); else if($(this).val() === 'false') $('tr.delivery-types').show('slow'); }); }); </script> <div class="adm-detail-content-item-block"> <form action="<?php echo $APPLICATION->GetCurPage() ?>" method="POST"> <?php echo bitrix_sessid_post(); ?> <input type="hidden" name="lang" value="<?php echo LANGUAGE_ID ?>"> <input type="hidden" name="id" value="intaro.retailcrm"> <input type="hidden" name="install" value="Y"> <input type="hidden" name="step" value="3"> <table class="adm-detail-content-table edit-table" id="edit1_edit_table"> <tbody> <!--<tr class="heading"> <td colspan="2" style="position:relative;"> <b><?php echo GetMessage('STEP_NAME'); ?></b> <input type="submit" name="update" value="<?php echo GetMessage('UPDATE_CATS'); ?>" class="adm-btn-save"> </td> </tr>--> <tr align="center"> <td colspan="2"><b><?php echo GetMessage('INFO_1'); ?></b></td> </tr> <tr align="center"> <td colspan="2"><?php echo GetMessage('INFO_2') . " " . "<a href='". $api_host ."/admin/statuses' target=_blank>" . GetMessage('URL_1') . "</a>" . " " . 'retailCRM.'; ?></td> </tr> <tr align="center"> <td colspan="2"><?php echo GetMessage('INFO_3'); ?></td> </tr> <tr class="heading"> <td colspan="2"><b><?php echo GetMessage('DELIVERY_TYPES_LIST'); ?></b></td> </tr> <tr class="heading"> <td width="50%" class="adm-detail-content-cell-l"> <label><input type="radio" name="delivery-types-export" value="true" checked> <?php echo GetMessage('DELIV_TYPES_EXPORT'); ?></label> </td> <td width="50%" class="adm-detail-content-cell-r"> <label><input type="radio" name="delivery-types-export" value="false"> <?php echo GetMessage('DELIV_TYPES_EXPORT_F'); ?></label> </td> </tr> <?php foreach($arResult['bitrixDeliveryTypesList'] as $bitrixDeliveryType): ?> <tr class="delivery-types" style="display: none;"> <td width="50%" class="adm-detail-content-cell-l" name="<?php echo $bitrixDeliveryType['ID']; ?>"> <?php echo $bitrixDeliveryType['NAME']; ?> </td> <td width="50%" class="adm-detail-content-cell-r"> <select name="delivery-type-<?php echo $bitrixDeliveryType['ID']; ?>" class="typeselect"> <option value=""></option> <?php foreach($arResult['deliveryTypesList'] as $deliveryType): ?> <option value="<?php echo $deliveryType['code']; ?>" <?php if($defaultDelivTypes[$bitrixDeliveryType['ID']] == $deliveryType['code']) echo 'selected'; ?>> <?php echo $APPLICATION->ConvertCharset($deliveryType['name'], 'utf-8', SITE_CHARSET); ?> </option> <?php endforeach; ?> </select> </td> </tr> <?php endforeach; ?> <tr class="heading"> <td colspan="2"><b><?php echo GetMessage('PAYMENT_TYPES_LIST'); ?></b></td> </tr> <?php foreach($arResult['bitrixPaymentTypesList'] as $bitrixPaymentType): ?> <tr> <td width="50%" class="adm-detail-content-cell-l" name="<?php echo $bitrixPaymentType['ID']; ?>"> <?php echo $bitrixPaymentType['NAME']; ?> </td> <td width="50%" class="adm-detail-content-cell-r"> <select name="payment-type-<?php echo $bitrixPaymentType['ID']; ?>" class="typeselect"> <option value=""></option> <?php foreach($arResult['paymentTypesList'] as $paymentType): ?> <option value="<?php echo $paymentType['code']; ?>" <?php if($defaultPayTypes[$bitrixPaymentType['ID']] == $paymentType['code']) echo 'selected'; ?>> <?php echo $APPLICATION->ConvertCharset($paymentType['name'], 'utf-8', SITE_CHARSET); ?> </option> <?php endforeach; ?> </select> </td> </tr> <?php endforeach; ?> <tr class="heading"> <td colspan="2"><b><?php echo GetMessage('PAYMENT_STATUS_LIST'); ?></b></td> </tr> <tr> <td width="50%"></td> <td width="50%"> <table width="100%"> <tr> <td width="50%"></td> <td width="50%"><?php echo GetMessage('CANCELED'); ?></td> </tr> </table> </td> </tr> <?php foreach($arResult['bitrixStatusesList'] as $bitrixStatus): ?> <tr> <td width="50%" class="adm-detail-content-cell-l" name="<?php echo $bitrixStatus['ID']; ?>"> <?php echo $bitrixStatus['NAME']; ?> </td> <td width="50%" class="adm-detail-content-cell-r"> <table width="100%"> <tr> <td width="70%"> <select name="payment-status-<?php echo $bitrixStatus['ID']; ?>" class="typeselect"> <option value="" selected=""></option> <?php foreach($arResult['paymentGroupList'] as $orderStatusGroup): if(!empty($orderStatusGroup['statuses'])) : ?> <optgroup label="<?php echo $APPLICATION->ConvertCharset($orderStatusGroup['name'], 'utf-8', SITE_CHARSET); ?>"> <?php foreach($orderStatusGroup['statuses'] as $payment): ?> <?php if(isset($arResult['paymentList'][$payment])): ?> <option value="<?php echo $arResult['paymentList'][$payment]['code']; ?>" <?php if ($defaultPayStatuses[$bitrixStatus['ID']] == $arResult['paymentList'][$payment]['code']) echo 'selected'; ?>> <?php echo $APPLICATION->ConvertCharset($arResult['paymentList'][$payment]['name'], 'utf-8', SITE_CHARSET); ?> </option> <?php endif; ?> <?php endforeach; ?> </optgroup> <?php endif; endforeach; ?> </select> </td> <td width="30%"> <input name="order-cansel-<?php echo $bitrixStatus['ID']; ?>" value="Y" type="checkbox" /> </td> </tr> </table> </td> </tr> <?php endforeach; ?> <tr class="heading"> <td colspan="2"><b><?php echo GetMessage('PAYMENT_LIST'); ?></b></td> </tr> <?php foreach($arResult['bitrixPaymentList'] as $bitrixPayment): ?> <tr> <td width="50%" class="adm-detail-content-cell-l" name="<?php echo $bitrixPayment['ID']; ?>"> <?php echo $bitrixPayment['NAME']; ?> </td> <td width="50%" class="adm-detail-content-cell-r"> <select name="payment-<?php echo $bitrixPayment['ID']; ?>" class="typeselect"> <option value=""></option> <?php foreach($arResult['paymentStatusesList'] as $paymentStatus): ?> <option value="<?php echo $paymentStatus['code']; ?>" <?php if($defaultPayment[$bitrixPayment['ID']] == $paymentStatus['code']) echo 'selected'; ?>> <?php echo $APPLICATION->ConvertCharset($paymentStatus['name'], 'utf-8', SITE_CHARSET); ?> </option> <?php endforeach; ?> </select> </td> </tr> <?php endforeach; ?> <tr class="heading"> <td colspan="2"><b><?php echo GetMessage('ORDER_TYPES_LIST'); ?></b></td> </tr> <?php foreach($arResult['bitrixOrderTypesList'] as $bitrixOrderType): ?> <tr> <td width="50%" class="adm-detail-content-cell-l" name="<?php echo $bitrixOrderType['ID']; ?>"> <?php echo $bitrixOrderType['NAME']; ?> </td> <td width="50%" class="adm-detail-content-cell-r"> <select name="order-type-<?php echo $bitrixOrderType['ID']; ?>" class="typeselect"> <option value=""></option> <?php foreach($arResult['orderTypesList'] as $orderType): ?> <option value="<?php echo $orderType['code']; ?>" <?php if($defaultOrderTypes[$bitrixOrderType['ID']] == $orderType['code']) echo 'selected'; ?>> <?php echo $APPLICATION->ConvertCharset($orderType['name'], 'utf-8', SITE_CHARSET); ?> </option> <?php endforeach; ?> </select> </td> </tr> <?php endforeach; ?> </tbody> </table> <br /> <div style="padding: 1px 13px 2px; height:28px;"> <div align="right" style="float:right; width:50%; position:relative;"> <input type="submit" name="inst" value="<?php echo GetMessage("MOD_NEXT_STEP"); ?>" class="adm-btn-save"> </div> <div align="left" style="float:right; width:50%; position:relative;"> <input type="submit" name="back" value="<?php echo GetMessage("MOD_PREV_STEP"); ?>" class="adm-btn-save"> </div> </div> </form> </div>