%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.217.40.118
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/admin/order_payment.php
<?php

use \Bitrix\Main\Application;
use \Bitrix\Sale\Internals\PaymentTable;
use \Bitrix\Sale\Order;
use \Bitrix\Main\Loader;

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");

Loader::includeModule('sale');
Loader::includeModule('currency');

$saleModulePermissions = $APPLICATION->GetGroupRight("sale");
if ($saleModulePermissions == "D")
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

IncludeModuleLangFile(__FILE__);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/prolog.php");

$tableId = "b_sale_order_payment";
$curPage = Application::getInstance()->getContext()->getCurrent()->getRequest()->getRequestUri();
$lang    = Application::getInstance()->getContext()->getLanguage();

$arUserGroups = $USER->GetUserGroupArray();

$arAccessibleSites = array();
$dbAccessibleSites = CSaleGroupAccessToSite::GetList(
	array(),
	array("GROUP_ID" => $arUserGroups),
	false,
	false,
	array("SITE_ID")
);
while ($arAccessibleSite = $dbAccessibleSites->Fetch())
{
	if (!in_array($arAccessibleSite["SITE_ID"], $arAccessibleSites))
	{
		$arAccessibleSites[] = $arAccessibleSite["SITE_ID"];
	}
}

$sAdmin = new CAdminSorting($tableId, "ORDER_ID", "DESC");
$lAdmin = new CAdminList($tableId, $sAdmin);

$filter = array(
	'filter_payment_id_from',
	'filter_payment_id_to',
	'filter_order_id_from',
	'filter_order_id_to',
	'filter_date_paid_from',
	'filter_date_paid_to',
	'filter_order_paid',
	'filter_site_id',
	'filter_pay_system_id',
	'filter_company_id',
	'filter_account_num',
	'filter_sum_from',
	'filter_sum_to',
	'filter_pay_voucher_num',
	'filter_user_id',
	'filter_user_login',
	'filter_user_email'
);

$lAdmin->InitFilter($filter);

$arFilter = array();
$runtimeFields = array();

$filter_order_id_from = intval($filter_order_id_from);
$filter_order_id_to = intval($filter_order_id_to);
$filter_sum_from = intval($filter_sum_from);
$filter_sum_to = intval($filter_sum_to);

if ($filter_payment_id_from > 0 && $filter_payment_id_to > 0)
	$arFilter['><ID'] = array($filter_payment_id_from, $filter_payment_id_to);
if ($filter_order_id_from > 0 && $filter_order_id_to > 0)
	$arFilter['><ORDER_ID'] = array($filter_order_id_from, $filter_order_id_to);
if ($filter_order_paid <> '' && $filter_order_paid != 'NOT_REF')
	$arFilter['PAID'] = $filter_order_paid;
if ($filter_site_id <> ''
	&& $filter_site_id != 'NOT_REF'
	&& ($saleModulePermissions >= "W" || in_array($filter_site_id, $arAccessibleSites))
)
{
	$arFilter['ORDER.LID'] = $filter_site_id;
}
elseif ($saleModulePermissions < "W")
{
	$arFilter['ORDER.LID'] = $arAccessibleSites;
}
if (is_array($filter_pay_system_id) && count($filter_pay_system_id) > 0 && $filter_pay_system_id[0] != 'NOT_REF')
	$arFilter['PAY_SYSTEM_ID'] = $filter_pay_system_id;
if ($filter_company_id <> '' && $filter_company_id != 'NOT_REF')
	$arFilter['COMPANY_ID'] = $filter_company_id;
if ($filter_account_num <> '')
	$arFilter['ORDER.ACCOUNT_NUMBER'] = $filter_account_num;
if (floatval($filter_sum_from)>0)
	$arFilter[">=SUM"] = floatval($filter_sum_from);
if (floatval($filter_sum_to)>0)
	$arFilter["<=SUM"] = floatval($filter_sum_to);
if ($filter_currency <> '' && $filter_currency != 'NOT_REF')
	$arFilter['CURRENCY'] = $filter_currency;
if ($filter_pay_voucher_num <> '')
	$arFilter['PAY_VOUCHER_NUM'] = $filter_pay_voucher_num;
if ($filter_user_login <> '')
	$arFilter["ORDER.USER.LOGIN"] = trim($filter_user_login);
if ($filter_user_email <> '')
	$arFilter["ORDER.USER.EMAIL"] = trim($filter_user_email);
if (intval($filter_user_id)>0)
	$arFilter["ORDER.USER_ID"] = intval($filter_user_id);
if($filter_date_paid_from <> '') $arFilter[">=DATE_PAID"] = trim($filter_date_paid_from);
if($filter_date_paid_to <> '')
{
	if($arDate = ParseDateTime($filter_date_paid_to, CSite::GetDateFormat("FULL", SITE_ID)))
	{
		if(mb_strlen($filter_date_paid_to) < 11)
		{
			$arDate["HH"] = 23;
			$arDate["MI"] = 59;
			$arDate["SS"] = 59;
		}

		$filter_date_paid_to = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"]));
		$arFilter["<=DATE_PAID"] = $filter_date_paid_to;
	}
	else
	{
		$filter_date_paid_to = "";
	}
}

$allowedStatusesView = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('view'));
$allowedStatusesUpdate = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('update'));

if($saleModulePermissions == "P")
{
	$userCompanyList = \Bitrix\Sale\Services\Company\Manager::getUserCompanyList($USER->GetID());

	$arFilter[] = array(
		'LOGIC' => 'OR',
		'=COMPANY_ID' => $userCompanyList,
		'=ORDER.RESPONSIBLE_ID' => intval($USER->GetID()),
		'=ORDER.COMPANY_ID' => $userCompanyList,
		'=RESPONSIBLE_ID' => intval($USER->GetID())
	);
}


if($saleModulePermissions < "W")
{
	$statusList = array();
	if (!empty($allowedStatusesView) && is_array($allowedStatusesView))
	{
		$statusList = $allowedStatusesView;
	}
	if (!empty($allowedStatusesUpdate) && is_array($allowedStatusesUpdate))
	{
		$statusList = array_merge($statusList, $allowedStatusesUpdate);
	}
	$arFilter["=ORDER.STATUS_ID"] = array_unique($statusList);
}

if (($ids = $lAdmin->GroupAction()) && !$bReadOnly)
{
	$payments = array();

	$select = array(
		'ID', 'ORDER_ID'
	);

	$params = array(
		'select' => $select,
		'filter' => array_merge($arFilter, array('ID' => $ids)),
		'order'  => array($by => $order),
		'limit'  => 1000,
		'runtime' => $runtimeFields
	);

	$dbResultList = PaymentTable::getList($params);

	$payments = $dbResultList->fetchAll();
	foreach ($payments as $item)
	{
		if ($item['ID'] <= 0 || $item['ORDER_ID'] <= 0)
			continue;

		$registry = \Bitrix\Sale\Registry::getInstance(\Bitrix\Sale\Registry::REGISTRY_TYPE_ORDER);

		/** @var Order $orderClass */
		$orderClass = $registry->getOrderClassName();

		/** @var \Bitrix\Sale\Order $currentOrder */
		$currentOrder = $orderClass::load($item['ORDER_ID']);

		/** @var \Bitrix\Sale\PaymentCollection $paymentCollection */
		$paymentCollection = $currentOrder->getPaymentCollection();

		/** @var \Bitrix\Sale\Payment $payment */
		$payment = $paymentCollection->getItemById($item['ID']);
		if (!$payment)
			continue;

		switch ($_REQUEST['action'])
		{
			case "delete":
				@set_time_limit(0);

				$result = $payment->delete();
				if ($result->isSuccess())
					$result = $currentOrder->save();

				if (!$result->isSuccess())
					$lAdmin->AddGroupError(implode('\n', $result->getErrorMessages()));

				break;
			case "paid":
			case "paid_n":
				@set_time_limit(0);
				$paid = $_REQUEST['action'] === 'paid' ? 'Y' : 'N';
				$result = $payment->setPaid($paid);
				if ($result->isSuccess())
					$result = $currentOrder->save();

				if (!$result->isSuccess())
					$lAdmin->AddGroupError(implode('\n', $result->getErrorMessages()));

				break;
		}
	}
}

$headers = array(
	array(
		"id"        => "DATE_PAID",
		"content"   => GetMessage("SALE_ORDER_DATE_PAID"),
		"sort"      => "DATE_PAID",
		"default"   => true
	),
	array(
		"id"        => "ID",
		"content"   => "ID",
		"sort"      => "ID",
		"default"   => true
	),
	array(
		"id"        => "ORDER_ID",
		"content"   => GetMessage("SALE_ORDER_ID"),
		"sort"      => "ORDER_ID",
		"default"   => true
	),
	array(
		"id"        => "ACCOUNT_NUMBER",
		"content"   => GetMessage("SALE_ACCOUNT_NUMBER"),
		"sort"      => "ORDER.ACCOUNT_NUMBER",
		"default"   => false
	),
	array(
		"id"        => "ORDER_USER_NAME",
		"content"   => GetMessage("SALE_ORDER_USER_NAME"),
		"sort"      => "ORDER_USER_NAME",
		"default"   => true
	),
	array(
		"id"        => "PAID",
		"content"   => GetMessage("SALE_ORDER_PAID"),
		"sort"      => "PAID",
		"default"   => true
	),
	array(
		"id"        => "PAY_SYSTEM_NAME",
		"content"   => GetMessage("SALE_ORDER_PAY_SYSTEM_NAME"),
		"sort"      => "PAY_SYSTEM_NAME",
		"default"   => true
	),
	array(
		"id"        => "SUM",
		"content"   => GetMessage("SALE_ORDER_SUM"),
		"sort"      => "SUM",
		"default"   => true
	),
	array(
		"id"        => "COMPANY_BY",
		"content"   => GetMessage("SALE_ORDER_COMPANY_BY"),
		"sort"      => "COMPANY_BY.NAME",
		"default"   => true
	),
	array(
		"id"        => "PAY_VOUCHER_NUM",
		"content"   => GetMessage("SALE_ORDER_PAY_VOUCHER_NUM"),
		"sort"      => "PAY_VOUCHER_NUM",
		"default"   => true
	),
	array(
		"id"        => "RESPONSIBLE_BY",
		"content"   => GetMessage("SALE_ORDER_RESPONSIBLE_BY"),
		"sort"      => "",
		"default"   => true
	),
	array(
		"id"        => "PS_STATUS",
		"content"   => GetMessage("SALE_ORDER_PS_STATUS"),
		"sort"      => "PS_STATUS",
		"default"   => false
	),
	array(
		"id"        => "PS_STATUS_CODE",
		"content"   => GetMessage("SALE_ORDER_PS_STATUS_CODE"),
		"sort"      => "PS_STATUS_CODE",
		"default"   => false
	),
	array(
		"id"        => "PS_STATUS_DESCRIPTION",
		"content"   => GetMessage("SALE_ORDER_PS_STATUS_DESCRIPTION"),
		"sort"      => "PS_STATUS_DESCRIPTION",
		"default"   => false
	),
	array(
		"id"        => "PS_STATUS_MESSAGE",
		"content"   => GetMessage("SALE_ORDER_PS_STATUS_MESSAGE"),
		"sort"      => "PS_STATUS_MESSAGE",
		"default"   => false
	),
	array(
		"id"        => "PS_SUM",
		"content"   => GetMessage("SALE_ORDER_PS_SUM"),
		"sort"      => "PS_SUM",
		"default"   => false
	),
	array(
		"id"        => "PS_CURRENCY",
		"content"   => GetMessage("SALE_ORDER_PS_CURRENCY"),
		"sort"      => "PS_CURRENCY",
		"default"   => false
	),
	array(
		"id"        => "PS_RESPONSE_DATE",
		"content"   => GetMessage("SALE_ORDER_PS_RESPONSE_DATE"),
		"sort"      => "PS_RESPONSE_DATE",
		"default"   => false
	),
	array(
		"id"        => "PAY_VOUCHER_DATE",
		"content"   => GetMessage("SALE_ORDER_PAY_VOUCHER_DATE"),
		"sort"      => "PAY_VOUCHER_DATE",
		"default"   => false
	),
	array(
		"id"        => "DATE_PAY_BEFORE",
		"content"   => GetMessage("SALE_ORDER_DATE_PAY_BEFORE"),
		"sort"      => "DATE_PAY_BEFORE",
		"default"   => false
	),
	array(
		"id"        => "DATE_BILL",
		"content"   => GetMessage("SALE_ORDER_DATE_BILL"),
		"sort"      => "DATE_BILL",
		"default"   => false
	),
	array(
		"id"        => "PAY_SYSTEM_NAME",
		"content"   => GetMessage("SALE_ORDER_PAY_SYSTEM_NAME"),
		"sort"      => "PAY_SYSTEM_NAME",
		"default"   => false
	)
);


$select = array(
	'*',
	'COMPANY_BY_NAME' => 'COMPANY_BY.NAME',
	'RESPONSIBLE_BY_NAME' => 'RESPONSIBLE_BY.NAME',
	'RESPONSIBLE_BY_LAST_NAME' => 'RESPONSIBLE_BY.LAST_NAME',
	'ORDER_ACCOUNT_NUMBER' => 'ORDER.ACCOUNT_NUMBER',
	'ORDER_USER_LOGIN' => 'ORDER.USER.LOGIN',
	'ORDER_USER_NAME' => 'ORDER.USER.NAME',
	'ORDER_USER_LAST_NAME' => 'ORDER.USER.LAST_NAME',
	'ORDER_USER_ID' => 'ORDER.USER_ID',
	'ORDER_RESPONSIBLE_ID' => 'ORDER.RESPONSIBLE_ID',
);

$params = array(
	'select' => $select,
	'filter' => $arFilter,
	'order'  => array($by => $order),
	'runtime' => $runtimeFields
);

$usePageNavigation = true;
$navyParams = array();

$navyParams = CDBResult::GetNavParams(CAdminResult::GetNavSize($tableId));
if ($navyParams['SHOW_ALL'])
{
	$usePageNavigation = false;
}
else
{
	$navyParams['PAGEN'] = (int)$navyParams['PAGEN'];
	$navyParams['SIZEN'] = (int)$navyParams['SIZEN'];
}



if ($usePageNavigation)
{
	$params['limit'] = $navyParams['SIZEN'];
	$params['offset'] = $navyParams['SIZEN']*($navyParams['PAGEN']-1);
}

$totalPages = 0;

if ($usePageNavigation)
{
	$countQuery = new \Bitrix\Main\Entity\Query(PaymentTable::getEntity());
	$countQuery->addSelect(new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)'));
	$countQuery->setFilter($params['filter']);

	foreach ($params['runtime'] as $key => $field)
		$countQuery->registerRuntimeField($key, clone $field);

	$totalCount = $countQuery->setLimit(null)->setOffset(null)->exec()->fetch();
	unset($countQuery);
	$totalCount = (int)$totalCount['CNT'];

	if ($totalCount > 0)
	{
		$totalPages = ceil($totalCount/$navyParams['SIZEN']);

		if ($navyParams['PAGEN'] > $totalPages)
			$navyParams['PAGEN'] = $totalPages;

		$params['limit'] = $navyParams['SIZEN'];
		$params['offset'] = $navyParams['SIZEN']*($navyParams['PAGEN']-1);
	}
	else
	{
		$navyParams['PAGEN'] = 1;
		$params['limit'] = $navyParams['SIZEN'];
		$params['offset'] = 0;
	}
}

$dbResultList = new CAdminResult(PaymentTable::getList($params), $tableId);

if ($usePageNavigation)
{
	$dbResultList->NavStart($params['limit'], $navyParams['SHOW_ALL'], $navyParams['PAGEN']);
	$dbResultList->NavRecordCount = $totalCount;
	$dbResultList->NavPageCount = $totalPages;
	$dbResultList->NavPageNomer = $navyParams['PAGEN'];
}
else
{
	$dbResultList->NavStart();
}

$lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("group_admin_nav")));

$lAdmin->AddHeaders($headers);

$visibleHeaders = $lAdmin->GetVisibleHeaderColumns();

while ($payment = $dbResultList->Fetch())
{

	if ($payment['ORDER_USER_NAME'] || $payment['ORDER_USER_LAST_NAME'])
		$userName = htmlspecialcharsbx($payment['ORDER_USER_NAME'])." ".htmlspecialcharsbx($payment['ORDER_USER_LAST_NAME']);
	else
		$userName = htmlspecialcharsbx($payment['ORDER_USER_LOGIN']);

	$row =& $lAdmin->AddRow($payment['ID'], $payment);

	$row->AddField("ID", "<a href=\"sale_order_payment_edit.php?order_id=".$payment['ORDER_ID']."&payment_id=".$payment['ID']."&lang=".$lang.GetFilterParams("filter_")."\">".$payment['ID']."</a>");
	$row->AddField("ORDER_ID", "<a href=\"sale_order_edit.php?ID=".$payment['ORDER_ID']."&lang=".$lang.GetFilterParams("filter_")."\">".$payment['ORDER_ID']."</a>");
	$row->AddField("ACCOUNT_NUMBER", "<a href=\"sale_order_edit.php?ID=".$payment['ORDER_ID']."&lang=".$lang.GetFilterParams("filter_")."\">".htmlspecialcharsbx($payment['ORDER_ACCOUNT_NUMBER'])."</a>");
	$row->AddField("SUM", \CCurrencyLang::CurrencyFormat($payment['SUM'], $payment['CURRENCY']));
	$row->AddField("PAID", ($payment['PAID'] == 'Y') ? GetMessage("PAYMENT_ORDER_PAID_YES"): GetMessage("PAYMENT_ORDER_PAID_NO"));
	$row->AddField("PAY_SYSTEM_NAME", "<a href='sale_pay_system_edit.php?ID=".$payment['PAY_SYSTEM_ID']."&lang=".$lang."'>".htmlspecialcharsbx($payment['PAY_SYSTEM_NAME'])."</a>");
	$row->AddField("COMPANY_BY", "<a href='sale_pay_system_edit.php?ID=".$payment['COMPANY_ID']."&lang=".$lang."'>".htmlspecialcharsbx($payment['COMPANY_BY_NAME'])."</a>");
	$row->AddField("ORDER_USER_NAME", "<a href='/bitrix/admin/user_edit.php?ID=".$payment['ORDER_USER_ID']."&lang=".$lang."'>".$userName."</a>");
	$row->AddField("RESPONSIBLE_BY", "<a href=\"user_edit.php?ID=".$payment['RESPONSIBLE_ID']."\">".htmlspecialcharsbx($payment['RESPONSIBLE_BY_NAME'])." ".htmlspecialcharsbx($payment['RESPONSIBLE_BY_LAST_NAME'])."</a>");
	$arActions = array();
	$arActions[] = array("ICON"=>"edit", "TEXT"=>GetMessage("EDIT_PAYMENT_ALT"), "ACTION"=>$lAdmin->ActionRedirect("sale_order_payment_edit.php?order_id=".$payment['ORDER_ID']."&payment_id=".$payment['ID']."&lang=".$lang.GetFilterParams("filter_").""), "DEFAULT"=>true);

	if(!$bReadOnly)
	{
		$arActions[] = array("SEPARATOR" => true);
		$arActions[] = array("ICON"=>"delete", "TEXT"=>GetMessage("DELETE_PAYMENT_ALT"), "ACTION"=>"if(confirm('".GetMessageJS('DELETE_PAYMENT_CONFIRM')."')) ".$lAdmin->ActionDoGroup($payment['ID'], "delete", "order_id=".$payment['ORDER_ID']));
	}

	$row->AddActions($arActions);
}

$lAdmin->AddGroupActionTable(
	array(
		"delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"),
		"paid" => GetMessage("SALE_ORDER_PAYMENT_PAID"),
		"paid_n" => GetMessage("SALE_ORDER_PAYMENT_PAID_N"),
	)
);

$lAdmin->AddAdminContextMenu();

$lAdmin->AddFooter(
	array(
		array(
			"title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"),
			"value" => $dbResultList->SelectedRowsCount()
		),
		array(
			"counter" => true,
			"title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"),
			"value" => "0"
		),
	)
);

$lAdmin->CheckListMode();

$APPLICATION->SetTitle(GetMessage("PAYMENT_TITLE"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
?>
<form name="find_form" method="GET" action="<?=$curPage?>?">
<?
$filter = array(
	"filter_order_id" => GetMessage("PAYMENT_ORDER_ID"),
	"filter_order_paid" => GetMessage("PAYMENT_ORDER_PAID"),
	"filter_date_paid" => GetMessage("PAYMENT_DATE_PAID"),
	"filter_site_id" => GetMessage("PAYMENT_SITE_ID"),
	"filter_pay_system_id" => GetMessage("PAYMENT_PAY_SYSTEM_ID"),
	"filter_account_num" => GetMessage("PAYMENT_ACCOUNT_NUM"),
	"filter_sum" => GetMessage("PAYMENT_PRICE"),
	"filter_currency" => GetMessage("PAYMENT_CURRENCY"),
	"filter_pay_voucher_num" => GetMessage("PAYMENT_VOUCHER_NUM"),
	"filter_user_id" => GetMessage("SALE_PAYMENT_F_USER_ID"),
	"filter_user_login" => GetMessage("SALE_PAYMENT_F_USER_LOGIN"),
	"filter_user_email" => GetMessage("SALE_PAYMENT_F_USER_EMAIL")
);

$oFilter = new CAdminFilter(
	$tableId."_filter",
	$filter
);

$oFilter->Begin();
?>
<tr>
	<td>ID:</td>
	<td>
		<script type="text/javascript">
			function changeFilterPaymentIdFrom()
			{
				if (document.find_form.filter_payment_id_to.value.length<=0)
					document.find_form.filter_payment_id_to.value = document.find_form.filter_payment_id_from.value;
			}
		</script>
		<?=GetMessage("PAYMENT_ORDER_ID_FROM");?>
		<input type="text" name="filter_payment_id_from" onchange="changeFilterPaymentIdFrom()" value="<?=(intval($filter_payment_id_from)>0)?intval($filter_payment_id_from):""?>" size="10">
		<?=GetMessage("PAYMENT_ORDER_ID_TO");?>
		<input type="text" name="filter_payment_id_to" value="<?=(intval($filter_payment_id_to)>0)?intval($filter_payment_id_to):""?>" size="10">
	</td>
</tr>
<tr>
	<td><?=GetMessage("PAYMENT_ORDER_ID");?>:</td>
	<td>
		<script type="text/javascript">
			function changeFilterOrderIdFrom()
			{
				if (document.find_form.filter_order_id_to.value.length<=0)
					document.find_form.filter_order_id_to.value = document.find_form.filter_order_id_from.value;
			}
		</script>
		<?=GetMessage("PAYMENT_ORDER_ID_FROM");?>
		<input type="text" name="filter_order_id_from" onchange="changeFilterOrderIdFrom()" value="<?=(intval($filter_order_id_from)>0)?intval($filter_order_id_from):""?>" size="10">
		<?=GetMessage("PAYMENT_ORDER_ID_TO");?>
		<input type="text" name="filter_order_id_to" value="<?=(intval($filter_order_id_to)>0)?intval($filter_order_id_to):""?>" size="10">
	</td>
</tr>
<tr>
	<td><?echo GetMessage("PAYMENT_ORDER_PAID")?>:</td>
	<td>
		<select name="filter_order_paid">
			<option value="NOT_REF">(<?=GetMessage("PAYMENT_ORDER_PAID_ALL");?>)</option>
			<option value="Y"<?if ($filter_order_paid=="Y") echo " selected"?>><?=GetMessage("PAYMENT_ORDER_PAID_YES");?></option>
			<option value="N"<?if ($filter_order_paid=="N") echo " selected"?>><?=GetMessage("PAYMENT_ORDER_PAID_NO");?></option>
		</select>
	</td>
</tr>
<tr>
	<td><?=GetMessage("PAYMENT_DATE_PAID");?>:</td>
	<td>
		<?=CalendarPeriod("filter_date_paid_from", htmlspecialcharsbx($filter_date_paid_from), "filter_date_paid_to", htmlspecialcharsbx($filter_date_paid_to), "find_form", "Y")?>
	</td>
</tr>
<?
	$res = CSite::GetList();
	$siteInfo = array();
	while ($site = $res->Fetch())
	{
		if ($saleModulePermissions >= "W" || in_array($site['ID'], $arAccessibleSites))
		{
			$siteInfo[$site['ID']] = $site['SITE_NAME'];
		}
	}
?>
<tr>
	<td><?=GetMessage("PAYMENT_SITE_ID");?>:</td>
	<td>
		<select name="filter_site_id">
			<option value="NOT_REF">(<?=GetMessage("PAYMENT_ORDER_PAID_ALL");?>)</option>
			<?
			foreach ($siteInfo as $id => $siteName)
				echo '<option value="'.$id.'">'.htmlspecialcharsbx($siteName).'</option>';
			?>
		</select>
	</td>
</tr>
<?
	$params = array(
		'select' => array('ID', 'NAME'),
		'filter' => array('ACTIVE' => 'Y'),
		'order' => array("SORT"=>"ASC", "NAME"=>"ASC")
	);
	$res = \Bitrix\Sale\PaySystem\Manager::getList($params);
	$paySystems = $res->fetchAll();
?>
<tr>
	<td><?=GetMessage("PAYMENT_PAY_SYSTEM_ID");?>:</td>
	<td>
		<select multiple name="filter_pay_system_id[]">
			<option value="NOT_REF">(<?=GetMessage("PAYMENT_ORDER_PAID_ALL");?>)</option>
			<?
			$ptRes = \Bitrix\Sale\Internals\PersonTypeTable::getList(array(
				'order' => array("SORT"=>"ASC", "NAME"=>"ASC")
			));

			$personTypes = array();
			while ($personType = $ptRes->fetch())
				$personTypes[$personType['ID']] = $personType;

			foreach ($paySystems as $paySystem):
				$dbRestRes = \Bitrix\Sale\Services\PaySystem\Restrictions\Manager::getList(array(
					'select' => array('PARAMS'),
					'filter' => array(
						'=CLASS_NAME' => '\\'.\Bitrix\Sale\Services\PaySystem\Restrictions\PersonType::class,
						'SERVICE_ID' => $paySystem['ID']
					)
				));

				$ptParams = $dbRestRes->fetch();
				$personTypeString = '';
				if ($ptParams['PARAMS']['PERSON_TYPE_ID'])
				{
					$psPt = array();
					foreach ($ptParams['PARAMS']['PERSON_TYPE_ID'] as $id)
						$psPt[] = ((mb_strlen($personTypes[$id]['NAME']) > 15) ? mb_substr($personTypes[$id]['NAME'], 0, 6)."...".mb_substr($personTypes[$id]['NAME'], -7) : $personTypes[$id]['NAME'])."/".$personTypes[$id]["LID"]."";
					if ($psPt)
						$personTypeString = ' ('.join(', ', $psPt).')';
				}
				?><option title="<?echo htmlspecialcharsbx($paySystem["NAME"].$personTypeString);?>" value="<?echo htmlspecialcharsbx($paySystem["ID"])?>"<?if(is_array($filter_pay_system_id) && in_array($paySystem["ID"], $filter_pay_system_id)) echo " selected"?>>[<?echo htmlspecialcharsbx($paySystem["ID"]) ?>] <?echo htmlspecialcharsbx($paySystem["NAME"].$personTypeString);?></option><?
			endforeach;
			?>
		</select>
	</td>
</tr>
<?
	$params = array(
		'select' => array('ID', 'NAME')
	);
	$res = \Bitrix\Sale\Internals\CompanyTable::getList($params);
	$companies = $res->fetchAll();
?>
<tr>
	<td><?=GetMessage("PAYMENT_ACCOUNT_NUM");?>:</td>
	<td>
		<input type="text" name="filter_account_num" value="<?=htmlspecialcharsbx($filter_account_num)?>">
	</td>
</tr>
<tr>
	<td><?=GetMessage("PAYMENT_PRICE");?>:</td>
	<td>
		<?echo GetMessage("PAYMENT_PRICE_FROM");?>
		<input type="text" name="filter_sum_from" value="<?=($filter_sum_from!=0) ? htmlspecialcharsbx($filter_sum_from) : '';?>" size="3">

		<?echo GetMessage("PAYMENT_PRICE_TO");?>
		<input type="text" name="filter_sum_to" value="<?=($filter_sum_to!=0) ? htmlspecialcharsbx($filter_sum_to) : '';?>" size="3">
	</td>
</tr>
<tr>
	<td><?=GetMessage("PAYMENT_CURRENCY");?>:</td>
	<td>
		<?echo CCurrency::SelectBox("filter_currency", htmlspecialcharsbx($filter_currency), GetMessage("PAYMENT_CURRENCY_ALL"), false, "", ""); ?>
	</td>
</tr>
<tr>
	<td><?=GetMessage("PAYMENT_VOUCHER_NUM");?>:</td>
	<td>
		<input type="text" name="filter_pay_voucher_num" value="<?=htmlspecialcharsbx($filter_pay_voucher_num);?>">
	</td>
</tr>
<tr>
	<td><?echo \Bitrix\Main\Localization\Loc::getMessage("SALE_PAYMENT_F_USER_ID");?>:</td>
	<td>
		<?echo FindUserID("filter_user_id", $filter_user_id, "", "find_form");?>
	</td>
</tr>
<tr>
	<td><?echo \Bitrix\Main\Localization\Loc::getMessage("SALE_PAYMENT_F_USER_LOGIN");?>:</td>
	<td>
		<input type="text" name="filter_user_login" value="<?echo htmlspecialcharsbx($filter_user_login)?>" size="40">
	</td>
</tr>
<tr>
	<td><?echo \Bitrix\Main\Localization\Loc::getMessage("SALE_PAYMENT_F_USER_EMAIL");?>:</td>
	<td>
		<input type="text" name="filter_user_email" value="<?echo htmlspecialcharsbx($filter_user_email)?>" size="40">
	</td>
</tr>

<?

$oFilter->Buttons(
	array(
		"table_id" => $tableId,
		"url" => $curPage,
		"form" => "find_form"
	)
);

$oFilter->End();
?>
</form>
<?
$lAdmin->DisplayList();

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");

Youez - 2016 - github.com/yon3zu
LinuXploit