diff --git a/intaro.crm/include.php b/intaro.crm/include.php index 03117c82..59995fc7 100644 --- a/intaro.crm/include.php +++ b/intaro.crm/include.php @@ -1,9 +1,4 @@ 'classes/general/ICrmApi.php' ) ); - ?> diff --git a/intaro.crm/install/index.php b/intaro.crm/install/index.php index e0f8eec8..b3394895 100644 --- a/intaro.crm/install/index.php +++ b/intaro.crm/install/index.php @@ -24,6 +24,7 @@ class intaro_crm extends CModule var $CRM_API_HOST_OPTION = 'api_host'; var $CRM_API_KEY_OPTION = 'api_key'; + var $CRM_ORDER_TYPES_ARR = 'order_types_arr'; var $CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr'; var $CRM_PAYMENT_TYPES = 'pay_types_arr'; var $CRM_PAYMENT_STATUSES = 'pay_statuses_arr'; @@ -41,8 +42,8 @@ class intaro_crm extends CModule $this->MODULE_VERSION_DATE = $arModuleVersion["VERSION_DATE"]; $this->MODULE_NAME = GetMessage('MODULE_NAME'); $this->MODULE_DESCRIPTION = GetMessage('MODULE_DESCRIPTION'); - $this->PARTNER_NAME = GetMessage('MODULE_PARTNER_NAME'); - $this->PARTNER_URI = GetMessage('MODULE_PARTNER_URI'); + $this->PARTNER_NAME = GetMessage('MODULE_PARTNER_NAME'); + $this->PARTNER_URI = GetMessage('MODULE_PARTNER_URI'); } /** @@ -54,7 +55,7 @@ class intaro_crm extends CModule { global $APPLICATION, $step, $arResult; - include($this->INSTALL_PATH . '/../classes/general/IntaroCrmRestApi.php'); + include($this->INSTALL_PATH . '/../classes/general/ICrmApi.php'); $step = intval($_REQUEST['step']); @@ -80,7 +81,7 @@ class intaro_crm extends CModule return; } - $this->INTARO_CRM_API = new IntaroCrmRestApi($api_host, $api_key); + $this->INTARO_CRM_API = new ICrmApi($api_host, $api_key); $this->INTARO_CRM_API->paymentStatusesList(); @@ -100,15 +101,30 @@ class intaro_crm extends CModule COption::SetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, $api_key); //prepare crm lists - //$orderTypes = $this->INTARO_CRM_API->orderTypesList(); -- no such method + $arResult['orderTypesList'] = $this->INTARO_CRM_API->orderTypesList(); $arResult['deliveryTypesList'] = $this->INTARO_CRM_API->deliveryTypesList(); $arResult['paymentTypesList'] = $this->INTARO_CRM_API->paymentTypesList(); $arResult['paymentStatusesList'] = $this->INTARO_CRM_API->paymentStatusesList(); - //bitrix orderTypesList - /* - * ...some code here... - */ + //bitrix orderTypesList -- personTypes + $dbOrderTypesList = CSalePersonType::GetList( + array( + "SORT" => "ASC", + "NAME" => "ASC" + ), + array( + "ACTIVE" => "Y", + ), + false, + false, + array() + ); + + if ($arOrderTypesList = $dbOrderTypesList->Fetch()) { + do { + $arResult['bitrixOrderTypesList'][] = $arOrderTypesList; + } while ($arOrderTypesList = $dbOrderTypesList->Fetch()); + } //bitrix deliveryTypesList $dbDeliveryTypesList = CSaleDelivery::GetList( @@ -174,6 +190,28 @@ class intaro_crm extends CModule if(!CModule::IncludeModule("sale")) { //handler } + + //bitrix orderTypesList -- personTypes + $dbOrderTypesList = CSalePersonType::GetList( + array( + "SORT" => "ASC", + "NAME" => "ASC" + ), + array( + "ACTIVE" => "Y", + ), + false, + false, + array() + ); + + //form order types ids arr + $orderTypesArr = array(); + if ($arOrderTypesList = $dbOrderTypesList->Fetch()) { + do { + $orderTypesArr[$arOrderTypesList['ID']] = $_POST['order-type-' . $arOrderTypesList['ID']]; + } while ($arOrderTypesList = $dbOrderTypesList->Fetch()); + } //bitrix deliveryTypesList $dbDeliveryTypesList = CSaleDelivery::GetList( @@ -229,40 +267,40 @@ class intaro_crm extends CModule ); //form payment statuses ids arr - $paymentStatusesArr = array(); + $paymentStatusesArr = array(); if ($arPaymentStatusesList = $dbPaymentStatusesList->Fetch()) { do { $paymentStatusesArr[$arPaymentStatusesList['ID']] = $_POST['payment-status-' . $arPaymentStatusesList['ID']]; } while ($arPaymentStatusesList = $dbPaymentStatusesList->Fetch()); } + COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_TYPES_ARR, serialize($orderTypesArr)); COption::SetOptionString($this->MODULE_ID, $this->CRM_DELIVERY_TYPES_ARR, serialize($deliveryTypesArr)); COption::SetOptionString($this->MODULE_ID, $this->CRM_PAYMENT_TYPES, serialize($paymentTypesArr)); COption::SetOptionString($this->MODULE_ID, $this->CRM_PAYMENT_STATUSES, serialize($paymentStatusesArr)); RegisterModule($this->MODULE_ID); - $APPLICATION->IncludeAdminFile( + $APPLICATION->IncludeAdminFile( GetMessage('MODULE_INSTALL_TITLE'), $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install/step3.php' ); - - } + } } function DoUninstall() { - global $APPLICATION; + global $APPLICATION; - UnRegisterModule($this->MODULE_ID); + UnRegisterModule($this->MODULE_ID); - COption::RemoveOption($this->MODULE_ID, $this->CRM_API_HOST_OPTION); - COption::RemoveOption($this->MODULE_ID, $this->CRM_API_KEY_OPTION); - COption::RemoveOption($this->MODULE_ID, $this->CRM_DELIVERY_TYPES_ARR); + COption::RemoveOption($this->MODULE_ID, $this->CRM_API_HOST_OPTION); + COption::RemoveOption($this->MODULE_ID, $this->CRM_API_KEY_OPTION); + COption::RemoveOption($this->MODULE_ID, $this->CRM_DELIVERY_TYPES_ARR); COption::RemoveOption($this->MODULE_ID, $this->CRM_PAYMENT_TYPES); COption::RemoveOption($this->MODULE_ID, $this->CRM_PAYMENT_STATUSES); - $APPLICATION->IncludeAdminFile( - GetMessage('MODULE_UNINSTALL_TITLE'), - $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install/unstep1.php' + $APPLICATION->IncludeAdminFile( + GetMessage('MODULE_UNINSTALL_TITLE'), + $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install/unstep1.php' ); } } diff --git a/intaro.crm/install/step2.php b/intaro.crm/install/step2.php index 87e2ac48..cf99b677 100644 --- a/intaro.crm/install/step2.php +++ b/intaro.crm/install/step2.php @@ -73,6 +73,26 @@ + + + + + + + + + + + + +
diff --git a/intaro.crm/install/step3.php b/intaro.crm/install/step3.php index 323ea311..77a9475f 100644 --- a/intaro.crm/install/step3.php +++ b/intaro.crm/install/step3.php @@ -6,5 +6,5 @@ echo CAdminMessage::ShowNote(GetMessage("MOD_INST_OK")); ?> - "> + " class="adm-btn-save">
diff --git a/intaro.crm/install/unstep1.php b/intaro.crm/install/unstep1.php index dea1f18e..a329a27d 100644 --- a/intaro.crm/install/unstep1.php +++ b/intaro.crm/install/unstep1.php @@ -6,5 +6,5 @@ - "> + " class="adm-btn-save">
diff --git a/intaro.crm/install/version.php b/intaro.crm/install/version.php index c6080001..b2a1360f 100644 --- a/intaro.crm/install/version.php +++ b/intaro.crm/install/version.php @@ -1,6 +1,6 @@ '0.1b', - 'VERSION_DATE' => '2013-08-04 18:12:00', + 'VERSION' => '0.2a', + 'VERSION_DATE' => '2013-07-05 21:08:00', ); ?> diff --git a/intaro.crm/lang/ru/install/step2.php b/intaro.crm/lang/ru/install/step2.php index e9d3f009..895e1481 100644 --- a/intaro.crm/lang/ru/install/step2.php +++ b/intaro.crm/lang/ru/install/step2.php @@ -4,4 +4,5 @@ $MESS ['MOD_NEXT_STEP'] = 'Следующий шаг'; $MESS ['DELIVERY_TYPES_LIST'] = 'Способы доставки'; $MESS ['PAYMENT_TYPES_LIST'] = 'Способы оплаты'; $MESS ['PAYMENT_STATUS_LIST'] = 'Статусы оплаты'; +$MESS ['ORDER_TYPES_LIST'] = 'Типы плательщиков'; ?> diff --git a/intaro.crm/options.php b/intaro.crm/options.php index 95a79c13..023f8c15 100644 --- a/intaro.crm/options.php +++ b/intaro.crm/options.php @@ -20,7 +20,7 @@ if (isset($_POST['Update']) && $_POST['Update']=='Y') { $api_key = htmlspecialchars(trim($_POST['api_key'])); if($api_host && $api_key) { - $api = new IntaroCrmRestApi($api_host, $api_key); + $api = new ICrmApi($api_host, $api_key); $api->paymentStatusesList(); @@ -34,6 +34,28 @@ if (isset($_POST['Update']) && $_POST['Update']=='Y') { } } + //bitrix orderTypesList -- personTypes + $dbOrderTypesList = CSalePersonType::GetList( + array( + "SORT" => "ASC", + "NAME" => "ASC" + ), + array( + "ACTIVE" => "Y", + ), + false, + false, + array() + ); + + //form order types ids arr + $orderTypesArr = array(); + if ($arOrderTypesList = $dbOrderTypesList->Fetch()) { + do { + $orderTypesArr[$arOrderTypesList['ID']] = $_POST['order-type-' . $arOrderTypesList['ID']]; + } while ($arOrderTypesList = $dbOrderTypesList->Fetch()); + } + //bitrix deliveryTypesList $dbDeliveryTypesList = CSaleDelivery::GetList( array( @@ -49,7 +71,7 @@ if (isset($_POST['Update']) && $_POST['Update']=='Y') { ); //form delivery types ids arr - $deliveryTypesArr = array(); + $deliveryTypesArr = array(); if ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch()) { do { $deliveryTypesArr[$arDeliveryTypesList['ID']] = $_POST['delivery-type-' . $arDeliveryTypesList['ID']]; @@ -94,7 +116,8 @@ if (isset($_POST['Update']) && $_POST['Update']=='Y') { $paymentStatusesArr[$arPaymentStatusesList['ID']] = $_POST['payment-status-' . $arPaymentStatusesList['ID']]; } while ($arPaymentStatusesList = $dbPaymentStatusesList->Fetch()); } - + + COption::SetOptionString($mid, 'order_types_arr', serialize($orderTypesArr)); COption::SetOptionString($mid, 'deliv_types_arr', serialize($deliveryTypesArr)); COption::SetOptionString($mid, 'pay_types_arr', serialize($paymentTypesArr)); COption::SetOptionString($mid, 'pay_statuses_arr', serialize($paymentStatusesArr)); @@ -105,18 +128,33 @@ if (isset($_POST['Update']) && $_POST['Update']=='Y') { $api_host = COption::GetOptionString($mid, 'api_host', 0); $api_key = COption::GetOptionString($mid, 'api_key', 0); - $api = new IntaroCrmRestApi($api_host, $api_key); + $api = new ICrmApi($api_host, $api_key); //prepare crm lists - //$orderTypes = $api->orderTypesList(); -- no such method + $arResult['orderTypesList'] = $api->orderTypesList(); $arResult['deliveryTypesList'] = $api->deliveryTypesList(); $arResult['paymentTypesList'] = $api->paymentTypesList(); $arResult['paymentStatusesList'] = $api->paymentStatusesList(); - //bitrix orderTypesList - /* - * ...some code here... - */ + //bitrix orderTypesList -- personTypes + $dbOrderTypesList = CSalePersonType::GetList( + array( + "SORT" => "ASC", + "NAME" => "ASC" + ), + array( + "ACTIVE" => "Y", + ), + false, + false, + array() + ); + + if ($arOrderTypesList = $dbOrderTypesList->Fetch()) { + do { + $arResult['bitrixOrderTypesList'][] = $arOrderTypesList; + } while ($arOrderTypesList = $dbOrderTypesList->Fetch()); + } //bitrix deliveryTypesList $dbDeliveryTypesList = CSaleDelivery::GetList( @@ -174,6 +212,7 @@ if (isset($_POST['Update']) && $_POST['Update']=='Y') { } //saved cat params + $optionsOrderTypes = unserialize(COption::GetOptionString($mid, 'order_types_arr', 0)); $optionsDelivTypes = unserialize(COption::GetOptionString($mid, 'deliv_types_arr', 0)); $optionsPayTypes = unserialize(COption::GetOptionString($mid, 'pay_types_arr', 0)); $optionsPayStatuses = unserialize(COption::GetOptionString($mid, 'pay_statuses_arr', 0)); @@ -273,7 +312,27 @@ if (isset($_POST['Update']) && $_POST['Update']=='Y') { - + + + + + + + + + + + + + + BeginNextTab(); ?> Buttons(); ?>