%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/modules/sale/admin/ |
| Current File : //home/bitrix/www/bitrix/modules/sale/admin/1c_admin_profile.php |
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$module_id = "sale";
$salePermissions = $APPLICATION->GetGroupRight($module_id);
if ($salePermissions >= "R") :
include_once($GLOBALS["DOCUMENT_ROOT"]."/bitrix/modules/sale/include.php");
IncludeModuleLangFile(__FILE__);
$arAllOptions = array(
array("1C_SALE_SITE_LIST", GetMessage("SALE_1C_SITE_LIST"), "", Array("list", $arSites)),
array("1C_EXPORT_PAYED_ORDERS", GetMessage("SALE_1C_EXPORT_PAYED_ORDERS"), "", Array("checkbox")),
array("1C_EXPORT_ALLOW_DELIVERY_ORDERS", GetMessage("SALE_1C_EXPORT_ALLOW_DELIVERY_ORDERS"), "", Array("checkbox")),
array("1C_EXPORT_FINAL_ORDERS", GetMessage("SALE_1C_EXPORT_FINAL_ORDERS"), "", Array("list", $arStatuses)),
array("1C_FINAL_STATUS_ON_DELIVERY", GetMessage("SALE_1C_FINAL_STATUS_ON_DELIVERY"), "F", Array("list", $arStatuses)),
array("1C_REPLACE_CURRENCY", GetMessage("SALE_1C_REPLACE_CURRENCY"), GetMessage("SALE_1C_RUB"), Array("text")),
array("1C_SALE_GROUP_PERMISSIONS", GetMessage("SALE_1C_GROUP_PERMISSIONS"), "-", Array("mlist", 5, $arUGroupsEx)),
array("1C_SALE_USE_ZIP", GetMessage("SALE_1C_USE_ZIP"), "Y", Array("checkbox")),
);
$arPersonType = array();
if($REQUEST_METHOD=="POST" && strlen($Update)>0 && $salePermissions>="W" && check_bitrix_sessid())
{
$dbExport = CSaleExport::GetList();
while($arExport = $dbExport->Fetch())
{
$arExportProfile[$arExport["PERSON_TYPE_ID"]] = $arExport["ID"];
}
$dbPersonType = CSalePersonType::GetList(
array("SORT" => "ASC"),
array("ACTIVE" => "Y")
);
while ($arPersonType = $dbPersonType->GetNext())
{
$arParams = array();
if (strlen(${"export_fields_".$arPersonType["ID"]}) > 0)
{
$arActFields = explode(",", ${"export_fields_".$arPersonType["ID"]});
$actFieldsCount = count($arActFields);
for ($i = 0; $i < $actFieldsCount; $i++)
{
$arActFields[$i] = Trim($arActFields[$i]);
$typeTmp = ${"TYPE_".$arActFields[$i]."_".$arPersonType["ID"]};
$valueTmp = ${"VALUE1_".$arActFields[$i]."_".$arPersonType["ID"]};
if (strlen($typeTmp) <= 0)
$valueTmp = ${"VALUE2_".$arActFields[$i]."_".$arPersonType["ID"]};
$arParams[$arActFields[$i]] = array(
"TYPE" => $typeTmp,
"VALUE" => $valueTmp
);
}
$arParams["IS_FIZ"] = ((${"person_type_1c_".$arPersonType["ID"]}=="FIZ")?"Y":"N");
$i = 0;
foreach($_POST as $k => $v)
{
if(strpos($k, "REKV_".$arPersonType["ID"]."_") !== false && strlen($v) > 0)
{
$ind = substr($k, strrpos($k, "_")+1);
$typeTmp = ${"TYPE_REKV_".$ind."_".$arPersonType["ID"]};
$valueTmp = ${"VALUE1_REKV_".$ind."_".$arPersonType["ID"]};
if (strlen($valueTmp) <= 0)
$valueTmp = ${"VALUE2_REKV_".$ind."_".$arPersonType["ID"]};
if(strlen($v) > 0 && strlen($valueTmp) > 0)
{
$arParams["REKV_".$i] = array(
"TYPE" => $typeTmp,
"VALUE" => $valueTmp,
"NAME" => $v,
);
$i++;
}
}
}
}
if(IntVal($arExportProfile[$arPersonType["ID"]])>0)
$res = CSaleExport::Update($arExportProfile[$arPersonType["ID"]], Array("PERSON_TYPE_ID" => $arPersonType["ID"], "VARS" => serialize($arParams)));
else
$res = CSaleExport::Add(Array("PERSON_TYPE_ID" => $arPersonType["ID"], "VARS" => serialize($arParams)));
}
}
?>
<script>
<!--
var arUserFieldsList = new Array("ID", "LOGIN", "NAME", "SECOND_NAME", "LAST_NAME", "EMAIL", "LID", "PERSONAL_PROFESSION", "PERSONAL_WWW", "PERSONAL_ICQ", "PERSONAL_GENDER", "PERSONAL_FAX", "PERSONAL_PHONE", "PERSONAL_MOBILE", "PERSONAL_STREET", "PERSONAL_MAILBOX", "PERSONAL_CITY", "PERSONAL_STATE", "PERSONAL_ZIP", "PERSONAL_COUNTRY", "WORK_COMPANY", "WORK_DEPARTMENT", "WORK_POSITION", "WORK_WWW", "WORK_PHONE", "WORK_FAX", "WORK_STREET", "WORK_MAILBOX", "WORK_CITY", "WORK_STATE", "WORK_ZIP", "WORK_COUNTRY", "PERSONAL_NOTES");
var arUserFieldsNameList = new Array("<?=GetMessage("SPS_USER_ID")?>", "<?=GetMessage("SPS_USER_LOGIN")?>", "<?=GetMessage("SPS_USER_NAME")?>", "<?=GetMessage("SPS_USER_SECOND_NAME")?>", "<?=GetMessage("SPS_USER_LAST_NAME")?>", "EMail", "<?=GetMessage("SPS_USER_SITE")?>", "<?=GetMessage("SPS_USER_PROF")?>", "<?=GetMessage("SPS_USER_WEB")?>", "<?=GetMessage("SPS_USER_ICQ")?>", "<?=GetMessage("SPS_USER_SEX")?>", "<?=GetMessage("SPS_USER_FAX")?>", "<?=GetMessage("SPS_USER_PHONE")?>", "<?=GetMessage("SPS_USER_PHONE_MOBILE")?>", "<?=GetMessage("SPS_USER_ADDRESS")?>", "<?=GetMessage("SPS_USER_POST")?>", "<?=GetMessage("SPS_USER_CITY")?>", "<?=GetMessage("SPS_USER_STATE")?>", "<?=GetMessage("SPS_USER_ZIP")?>", "<?=GetMessage("SPS_USER_COUNTRY")?>", "<?=GetMessage("SPS_USER_COMPANY")?>", "<?=GetMessage("SPS_USER_DEPT")?>", "<?=GetMessage("SPS_USER_DOL")?>", "<?=GetMessage("SPS_USER_COM_WEB")?>", "<?=GetMessage("SPS_USER_COM_PHONE")?>", "<?=GetMessage("SPS_USER_COM_FAX")?>", "<?=GetMessage("SPS_USER_COM_ADDRESS")?>", "<?=GetMessage("SPS_USER_COM_POST")?>", "<?=GetMessage("SPS_USER_COM_CITY")?>", "<?=GetMessage("SPS_USER_COM_STATE")?>", "<?=GetMessage("SPS_USER_COM_ZIP")?>", "<?=GetMessage("SPS_USER_COM_COUNTRY")?>", "<?=GetMessage("SPS_USER_COM_NOTES")?>");
var arOrderFieldsList = new Array("ID", "DATE_INSERT", "DATE_INSERT_DATE", "SHOULD_PAY", "CURRENCY", "PRICE", "LID", "PRICE_DELIVERY", "DISCOUNT_VALUE", "USER_ID", "PAY_SYSTEM_ID", "PAY_SYSTEM_NAME", "DELIVERY_ID", "DELIVERY_NAME", "TAX_VALUE", "TRACKING_NUMBER", "PAY_VOUCHER_NUM", "PAY_VOUCHER_DATE", "SUM_PAID", "DELIVERY_DOC_NUM", "DELIVERY_DOC_DATE", "COMMENTS", "USER_DESCRIPTION");
var arOrderFieldsNameList = new Array("<?=GetMessage("SPS_ORDER_ID")?>", "<?=GetMessage("SPS_ORDER_DATETIME")?>", "<?=GetMessage("SPS_ORDER_DATE")?>", "<?=GetMessage("SPS_ORDER_PRICE")?>", "<?=GetMessage("SPS_ORDER_CURRENCY")?>", "<?=GetMessage("SPS_ORDER_SUM")?>", "<?=GetMessage("SPS_ORDER_SITE")?>", "<?=GetMessage("SPS_ORDER_PRICE_DELIV")?>", "<?=GetMessage("SPS_ORDER_DESCOUNT")?>", "<?=GetMessage("SPS_ORDER_USER_ID")?>", "<?=GetMessage("SPS_ORDER_PS")?>","<?=GetMessage("SPS_ORDER_PS_NAME")?>", "<?=GetMessage("SPS_ORDER_DELIV")?>", "<?=GetMessage("SPS_ORDER_DELIV_NAME")?>", "<?=GetMessage("SPS_ORDER_TAX")?>", "<?=GetMessage("SPS_ORDER_TRACKING_NUMBER")?>", "<?=GetMessage("SPS_ORDER_PAY_VOUCHER_NUM")?>", "<?=GetMessage("SPS_ORDER_PAY_VOUCHER_DATE")?>", "<?=GetMessage("SPS_ORDER_SUM_PAID")?>", "<?=GetMessage("SPS_ORDER_DELIVERY_DOC_NUM")?>", "<?=GetMessage("SPS_ORDER_DELIVERY_DOC_DATE")?>", "<?=GetMessage("SPS_ORDER_COMMENTS")?>", "<?=GetMessage("SPS_ORDER_USER_DESCRIPTION")?>");
var arPropFieldsList = new Array();
var arPropFieldsNameList = new Array();
function PropertyTypeChange(pkey, ind)
{
var oType = BX("TYPE_" + pkey + "_" + ind);
var oValue1 = BX("VALUE1_" + pkey + "_" + ind);
var oValue2 = BX("VALUE2_" + pkey + "_" + ind);
eval("var cur_type = ''; if (typeof(param_" + pkey + "_type_" + ind + ") == 'string') cur_type = param_" + pkey + "_type_" + ind + ";");
eval("var cur_val = ''; if (typeof(param_" + pkey + "_value_" + ind + ") == 'string') cur_val = param_" + pkey + "_value_" + ind + ";");
eval("var cur_name = ''; if (typeof(param_" + pkey + "_name_" + ind + ") == 'string') cur_name = param_" + pkey + "_name_" + ind + ";");
if(cur_name.length > 0)
{
num = pkey.substr(pkey.lastIndexOf('_')+1);
src = BX("REKV_" + ind + "_" + num);
if(src.value.length <= 0)
src.value = cur_name;
}
var value1_length = oValue1.length;
while (value1_length > 0)
{
value1_length--;
oValue1.options[value1_length] = null;
}
value1_length = 0;
var typeVal = oType[oType.selectedIndex].value;
if (typeVal == "USER")
{
oValue2.style["display"] = "none";
oValue1.style["display"] = "block";
for (i = 0; i < arUserFieldsList.length; i++)
{
var newoption = new Option(arUserFieldsNameList[i], arUserFieldsList[i], false, false);
oValue1.options[value1_length] = newoption;
if (typeVal == cur_type && cur_val == arUserFieldsList[i])
oValue1.selectedIndex = value1_length;
value1_length++;
}
}
else
{
if (typeVal == "ORDER")
{
oValue2.style["display"] = "none";
oValue1.style["display"] = "block";
for (i = 0; i < arOrderFieldsList.length; i++)
{
var newoption = new Option(arOrderFieldsNameList[i], arOrderFieldsList[i], false, false);
oValue1.options[value1_length] = newoption;
if (typeVal == cur_type && cur_val == arOrderFieldsList[i])
oValue1.selectedIndex = value1_length;
value1_length++;
}
}
else
{
if (typeVal == "PROPERTY")
{
oValue2.style["display"] = "none";
oValue1.style["display"] = "block";
for (i = 0; i < arPropFieldsList[ind].length; i++)
{
var newoption = new Option(arPropFieldsNameList[ind][i], arPropFieldsList[ind][i], false, false);
oValue1.options[value1_length] = newoption;
if (typeVal == cur_type && cur_val == arPropFieldsList[ind][i])
oValue1.selectedIndex = value1_length;
value1_length++;
}
}
else
{
oValue1.style["display"] = "none";
oValue2.style["display"] = "block";
oValue2.value = cur_val;
}
}
}
}
function InitActionProps(pkey, ind)
{
if(pkey == 'REKV_n0')
{
eval("var rekv_cnt = 0; if (typeof(param_person_type_rekv_" + ind + ") == 'string') rekv_cnt = param_person_type_rekv_" + ind + ";");
rekv_cnt1 = parseInt(rekv_cnt);
if(rekv_cnt1 > 0)
rekv_cnt1 += 3;
else
rekv_cnt1 = 2;
for (j = 1; j <= rekv_cnt1; j++)
{
AddRekv(ind, j);
pkey1 = 'REKV_n' + j;
var oType = BX("TYPE_" + pkey1 + "_" + ind);
var cur_type = '';
eval("if (typeof(param_" + pkey1 + "_type_" + ind + ") == 'string') cur_type = param_" + pkey1 + "_type_" + ind + ";");
for (i = 0; i < oType.options.length; i++)
{
if (oType.options[i].value == cur_type)
{
oType.selectedIndex = i;
break;
}
}
PropertyTypeChange(pkey1, ind);
}
}
var oType = BX("TYPE_" + pkey + "_" + ind);
var cur_type = '';
eval("if (typeof(param_" + pkey + "_type_" + ind + ") == 'string') cur_type = param_" + pkey + "_type_" + ind + ";");
for (i = 0; i < oType.options.length; i++)
{
if (oType.options[i].value == cur_type)
{
oType.selectedIndex = i;
break;
}
}
PropertyTypeChange(pkey, ind);
}
function ActionFileChange(ind, type)
{
ind = parseInt(ind);
var cur_type_1c = '';
eval("if (typeof(param_person_type_1c_" + ind + ") == 'string') cur_type_1c = param_person_type_1c_" + ind + ";");
if(cur_type_1c != "" && type == "")
{
type = cur_type_1c;
BX("person_type_1c_"+ind).value = type;
}
window.frames["hidden_action_frame_" + ind].location.replace('/bitrix/admin/sale_options_get.php?lang=<?= htmlspecialcharsbx($lang) ?>&type='+type+'&divInd='+ind);
}
function AddRekv(ind, j)
{
var tbl = BX('rekv-table-'+ind);
var newRow = tbl.insertRow(tbl.rows.length);
var oCell = newRow.insertCell(-1);
var oCellHtml = BX.clone(BX('REKV_' + ind + '_n0'), true);
oCellHtml.id = 'REKV_' + ind + '_n' + j;
oCellHtml.name = 'REKV_' + ind + '_n' + j;
oCellHtml.value = '';
oCell.appendChild(oCellHtml);
var oCell = newRow.insertCell(-1);
var oCellHtml = BX.clone(BX('TYPE_REKV_n0_' + ind), true);
oCellHtml.id = 'TYPE_REKV_n' + j +'_' + ind;
oCellHtml.name = 'TYPE_REKV_n' + j +'_' + ind;
oCellHtml.onchange = null;
oCell.appendChild(oCellHtml);
BX.bind(BX('TYPE_REKV_n' + j +'_' + ind), 'change', function() {PropertyTypeChange('REKV_n'+j, ind);});
var oCell = newRow.insertCell(-1);
var oCellHtml = BX.clone(BX('VALUE1_REKV_n0_' + ind), true);
oCellHtml.id = 'VALUE1_REKV_n' + j +'_' + ind;
oCellHtml.name = 'VALUE1_REKV_n' + j +'_' + ind;
oCellHtml.style.display = 'none';
oCell.appendChild(oCellHtml);
var oCellHtml = BX.clone(BX('VALUE2_REKV_n0_' + ind), true);
oCellHtml.id = 'VALUE2_REKV_n' + j +'_' + ind;
oCellHtml.name = 'VALUE2_REKV_n' + j +'_' + ind;
oCellHtml.value = '';
oCellHtml.style.display = 'block';
oCell.appendChild(oCellHtml);
eval('param_person_type_rekv_' + ind + ' = ' + j + ';');
}
function AddRekvMore(ind)
{
eval('curV = param_person_type_rekv_' + ind + ';');
curV = parseInt(curV);
AddRekv(ind, curV+1);
}
//-->
</script>
<tr>
<td colspan="2">
<script language="JavaScript">
<!--
var paySysActVisible_<?= $arPersonType["ID"] ?> = true;
<?
$dbExport = CSaleExport::GetList();
while($arExport = $dbExport->Fetch())
{
$arExpParams = unserialize($arExport["VARS"]);
$i = 0;
foreach($arExpParams as $k => $v)
{
if(!is_array($v))
{
$v = array("NAME" => "", "VALUE" => "", "TYPE" => "");
}
if(strlen($v["NAME"]) > 0)
{
$k = str_replace("REKV_", "REKV_n", $k);
?>
var param_<?=$k?>_name_<?= $arExport["PERSON_TYPE_ID"] ?> = '<?= CUtil::JSEscape($v["NAME"]) ?>';
<?
}
if(strpos($k, "REKV_") !== false)
$i++;
?>
var param_<?= $k ?>_type_<?= $arExport["PERSON_TYPE_ID"] ?> = '<?= CUtil::JSEscape($v["TYPE"]) ?>';
var param_<?= $k ?>_value_<?= $arExport["PERSON_TYPE_ID"] ?> = '<?= CUtil::JSEscape($v["VALUE"]) ?>';
<?
}
?>
var param_person_type_1c_<?=$arExport["PERSON_TYPE_ID"]?> = '<?=(($arExpParams["IS_FIZ"]=="Y")?"FIZ":"UR")?>';
var param_person_type_rekv_<?=$arExport["PERSON_TYPE_ID"]?> = '<?=IntVal($i)?>';
<?
}
?>
//-->
</script>
<?
$aTabs1 = array();
$personType = Array();
$dbPersonType = CSalePersonType::GetList(Array("SORT" => "ASC", "NAME"=>"ASC"), Array("ACTIVE"=>"Y"));
while($arPersonType = $dbPersonType -> GetNext())
{
$aTabs1[] = Array("DIV"=>"oedit".$arPersonType["ID"], "TAB" => $arPersonType["NAME"]." (".htmlspecialcharsbx(implode(", ", $arPersonType["LIDS"])).")", "TITLE" => $arPersonType["NAME"]." (".htmlspecialcharsbx(implode(", ", $arPersonType["LIDS"])).")");
$personType[$arPersonType["ID"]] = $arPersonType;
?>
<script>
<!--
arPropFieldsList[<?= $arPersonType["ID"] ?>] = new Array();
arPropFieldsNameList[<?= $arPersonType["ID"] ?>] = new Array();
<?
$dbOrderProps = CSaleOrderProps::GetList(
array("SORT" => "ASC", "NAME" => "ASC"),
array("PERSON_TYPE_ID" => $arPersonType["ID"]),
false,
false,
array("ID", "CODE", "NAME", "TYPE", "SORT")
);
$i = -1;
while ($arOrderProps = $dbOrderProps->Fetch())
{
$i++;
?>
arPropFieldsList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["ID"]) ?>';
arPropFieldsNameList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["NAME"]) ?>';
<?
if ($arOrderProps["TYPE"] == "LOCATION")
{
$i++;
?>
arPropFieldsList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["ID"]."_COUNTRY") ?>';
arPropFieldsNameList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["NAME"]." (".GetMessage("SPS_JCOUNTRY").")") ?>';
<?
$i++;
?>
arPropFieldsList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["ID"]."_REGION") ?>';
arPropFieldsNameList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["NAME"]." (".GetMessage("SPS_JREGION").")") ?>';
<?
$i++;
?>
arPropFieldsList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["ID"]."_CITY") ?>';
arPropFieldsNameList[<?= $arPersonType["ID"] ?>][<?= $i ?>] = '<?= CUtil::JSEscape($arOrderProps["NAME"]." (".GetMessage("SPS_JCITY").")") ?>';
<?
}
}
?>
//-->
</script>
<?
}
$tabControl1 = new CAdminViewTabControl("tabControl1", $aTabs1);
$tabControl1->Begin();
foreach($personType as $val)
{
$tabControl1->BeginNextTab();
?>
<table cellspacing="5" cellpadding="0" border="0" width="0%">
<tr>
<td><?=GetMessage("SO_CHOOSE_1C_PERSON_TYPE")?></td>
<td><select name="person_type_1c_<?=$val["ID"]?>" id="person_type_1c_<?=$val["ID"]?>" onchange="ActionFileChange(<?=CUtil::JSEscape($val["ID"])?>, this.value)">
<option value="FIZ"><?=GetMessage("SO_PERSON_TYPE_FIZ")?></option>
<option value="UR"><?=GetMessage("SO_PERSON_TYPE_UR")?></option>
</select>
</td>
</tr>
</table>
<br />
<div id="export_<?= $val["ID"] ?>" style="display: block;"></div>
<iframe style="width:0px; height:0px; border: 0px" name="hidden_action_frame_<?= $val["ID"] ?>" src="" width="0" height="0"></iframe>
<input type="hidden" name="export_fields_<?=$val["ID"]?>" id="export_fields_<?=$val["ID"]?>" value="">
<script language="JavaScript">
<!--
BX.ready(function(){ActionFileChange(<?=CUtil::JSEscape($val["ID"])?>, '');});
//-->
</script>
<?
}
$tabControl1->End();
?>
<?echo BeginNote();?>
<font class="legendtext">
<?=GetMessage("SO_1C_COMMENT")?>
</font>
<?echo EndNote(); ?>
</td>
</tr>
<?
endif;
?>