require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/include.php"); $saleModulePermissions = $APPLICATION->GetGroupRight("sale"); if ($saleModulePermissions < "W") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); IncludeModuleLangFile(__FILE__); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/prolog.php"); $sTableID = "tbl_sale_pay_system"; $oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $arFilterFields = array( //"filter_lang", "filter_currency", "filter_active", "filter_person_type", ); $lAdmin->InitFilter($arFilterFields); $arFilter = array(); //if (strlen($filter_lang)>0 && $filter_lang!="NOT_REF") $arFilter["LID"] = Trim($filter_lang); if (strlen($filter_currency)>0) $arFilter["CURRENCY"] = Trim($filter_currency); if (strlen($filter_active)>0 && $filter_active != "NOT_REF") $arFilter["ACTIVE"] = Trim($filter_active); if (!empty($filter_person_type) && !in_array("NOT_REF", $filter_person_type)) $arFilter["PSA_PERSON_TYPE_ID"] = $filter_person_type; else $filter_person_type = Array(); if (($arID = $lAdmin->GroupAction()) && $saleModulePermissions >= "W") { if ($_REQUEST['action_target']=='selected') { $arID = Array(); $dbResultList = CSalePaySystem::GetList( array($by => $order), $arFilter, false, false, array("ID") ); while ($arResult = $dbResultList->Fetch()) $arID[] = $arResult['ID']; } foreach ($arID as $ID) { if (strlen($ID) <= 0) continue; switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CSalePaySystem::Delete($ID)) { $DB->Rollback(); if ($ex = $APPLICATION->GetException()) $lAdmin->AddGroupError($ex->GetString(), $ID); else $lAdmin->AddGroupError(GetMessage("SPSAN_ERROR_DELETE"), $ID); } $DB->Commit(); break; case "activate": case "deactivate": $arFields = array( "ACTIVE" => (($_REQUEST['action']=="activate") ? "Y" : "N") ); if (!CSalePaySystem::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) $lAdmin->AddGroupError($ex->GetString(), $ID); else $lAdmin->AddGroupError(GetMessage("SPSAN_ERROR_UPDATE"), $ID); } break; } } } $arPersonTypeList = array(); $dbPersonType = CSalePersonType::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array()); while ($arPersonType = $dbPersonType->Fetch()) $arPersonTypeList[$arPersonType["ID"]] = $arPersonType["NAME"]; $arFilter["!ID"] = \Bitrix\Sale\Internals\PaySystemInner::getId(); $dbResultList = CSalePaySystem::GetList( array($by => $order), $arFilter, false, false, array("ID", "LID", "CURRENCY", "NAME", "ACTIVE", "SORT", "DESCRIPTION") //array("ID", "NAME", "ACTIVE", "SORT", "DESCRIPTION") ); $siteList = array(); $rsSites = CSite::GetList($b = "sort", $o = "asc", Array()); while($arRes = $rsSites->Fetch()) $siteList[$arRes['ID']] = $arRes['NAME']; $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("SALE_PRLIST"))); $lAdmin->AddHeaders(array( array("id"=>"ID", "content"=>"ID", "sort"=>"id", "default"=>true), array("id"=>"NAME","content"=>GetMessage("SALE_NAME"), "sort"=>"NAME", "default"=>true), array("id"=>"ACTIVE", "content"=>GetMessage("SALE_ACTIVE"), "sort"=>"ACTIVE", "default"=>true), array("id"=>"SORT", "content"=>GetMessage("SALE_SORT"), "sort"=>"SORT", "default"=>true), array("id"=>"LID", "content"=>GetMessage('SALE_LID'), "sort"=>"LID", "default"=>false), array("id"=>"CURRENCY", "content"=>GetMessage("SALE_H_CURRENCY"), "sort"=>"CURRENCY", "default"=>false), array("id"=>"DESCRIPTION", "content"=>GetMessage("SALE_H_DESCRIPTION"), "default"=>false), array("id"=>"PERSON_TYPES", "content"=>GetMessage("SALE_H_PERSON_TYPES"), "default"=>false), array("id"=>"ACTION_FILES", "content"=>GetMessage("SALE_H_ACTION_FILES"), "default"=>false), )); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); while ($arCCard = $dbResultList->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arCCard, "sale_pay_system_edit.php?ID=".$f_ID."&lang=".LANG, GetMessage("SALE_EDIT_DESCR")); $row->AddField("ID", "".$f_ID.""); $row->AddField("NAME", $f_NAME); $row->AddField("LID", $siteList[$f_LID]." (".$f_LID.")"); $row->AddField("CURRENCY", $f_CURRENCY); $row->AddField("ACTIVE", (($f_ACTIVE=="Y") ? GetMessage("SPS_YES") : GetMessage("SPS_NO"))); $row->AddField("SORT", $f_SORT); $row->AddField("DESCRIPTION", $f_DESCRIPTION); $pTypes = ''; $aFiles = ''; $dbPSAction = CSalePaySystemAction::GetList( array(), array("PAY_SYSTEM_ID" => $f_ID), false, false, array("PERSON_TYPE_ID", "ACTION_FILE") ); while ($arPSAction = $dbPSAction->Fetch()) { if(isset($arPersonTypeList[$arPSAction["PERSON_TYPE_ID"]])) $pTypes .= "