%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.133.159.49
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//company_edit.php
<?
use \Bitrix\Sale\Internals\CompanyTable;
use \Bitrix\Main\Application;
use Bitrix\Sale\Services\Company;
use Bitrix\Main;
use Bitrix\Main\Config;
use Bitrix\Main\Localization\Loc;

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

$saleModulePermissions = $APPLICATION->GetGroupRight("sale");

if ($saleModulePermissions < "W")
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

global $USER_FIELD_MANAGER, $USER;
IncludeModuleLangFile(__FILE__);

Main\Loader::includeModule('sale');

$documentRoot = Application::getDocumentRoot();
$lang = Application::getInstance()->getContext()->getLanguage();
$request = Application::getInstance()->getContext()->getRequest();
$id = intval($request->get("ID"));
$company = array();

$errorMessage = '';

if ($request->isPost() && $request->getPost("update") && check_bitrix_sessid() && $saleModulePermissions == 'W')
{
	$name = $request->getPost('NAME');
	$locationId = $request->getPost('LOCATION_ID');

	if (empty($name))
		$errorMessage .= GetMessage('ERROR_NO_NAME')."\n";

	if (empty($errorMessage))
	{
		$uFields = array();
		$USER_FIELD_MANAGER->EditFormAddFields(CompanyTable::getUfId(), $uFields);

		$fields = array(
			'NAME' => $name,
			'LOCATION_ID' => $locationId,
			'ADDRESS' => $request->getPost('ADDRESS'),
			'CODE' => $request->getPost('CODE'),
			'ACTIVE' => ($request->getPost('ACTIVE') !== null) ? 'Y' : 'N'
		);

		if ($request->getPost('SORT') > 0)
			$fields['SORT'] = $request->getPost('SORT');

		$fields = array_merge($fields, $uFields);

		if ($id > 0)
		{
			\Bitrix\Sale\Internals\CompanyGroupTable::deleteByCompanyId($id);
			\Bitrix\Sale\Internals\CompanyResponsibleGroupTable::deleteByCompanyId($id);
		}


		$result = null;
		if ($id > 0)
		{
			$fields['DATE_MODIFY'] = new \Bitrix\Main\Type\DateTime();
			$fields['MODIFIED_BY'] = $USER->GetID();
			$result = CompanyTable::update($id, $fields);
		}
		else
		{
			$fields['XML_ID'] = $request->getPost('XML_ID');
			$fields['DATE_CREATE'] = new \Bitrix\Main\Type\DateTime();
			$fields['CREATED_BY'] = $USER->GetID();
			$result = CompanyTable::add($fields);
		}

		if ($result && $result->isSuccess())
		{
			$id = $result->getId();

			if ($groups = $request->getPost('GROUPS'))
			{
				foreach ($groups as $groupId)
				{
					$r = \Bitrix\Sale\Internals\CompanyGroupTable::add(array(
																		   'COMPANY_ID' => $id,
																		   'GROUP_ID' => $groupId,
																	   ));

				}

			}

			if ($responsibleGroups = $request->getPost('RESPONSIBLE_GROUPS'))
			{
				foreach ($responsibleGroups as $groupId)
				{
					$r = \Bitrix\Sale\Internals\CompanyResponsibleGroupTable::add(array(
																		   'COMPANY_ID' => $id,
																		   'GROUP_ID' => $groupId,
																	   ));

				}

			}

			if ($request->getPost("apply") == '')
				LocalRedirect("/bitrix/admin/sale_company.php?lang=".$lang."&".GetFilterParams("filter_", false));
			else
				LocalRedirect("/bitrix/admin/sale_company_edit.php?lang=".$lang."&ID=".$id."&".GetFilterParams("filter_", false));
		}
		else
		{
			$errorMessage .= join("\n", $result->getErrorMessages());
		}
	}
}

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

Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/company.js");

if ($errorMessage !== '')
	CAdminMessage::ShowMessage($errorMessage);
if ($id > 0)
{
	$select = array('*', 'CREATED', 'MODIFIED');
	$fields = $USER_FIELD_MANAGER->GetUserFields(CompanyTable::getUfId());
	foreach ($fields as $field)
		$select[] = $field['FIELD_NAME'];

	$params = array(
		'select' => $select,
		'filter' => array('ID' => $id)
	);
	$res = CompanyTable::getList($params);
	$company = $res->fetch();

	$APPLICATION->SetTitle(str_replace("#NAME#", $company['NAME'], GetMessage("COMPANY_TITLE_UPDATE")));
}
else
{
	$APPLICATION->SetTitle(GetMessage("COMPANY_TITLE_ADD"));
}

$aTabs = array(
	array("DIV" => "edit1", "TAB" => GetMessage("COMPANY_TAB"), "TITLE" => GetMessage("COMPANY_TAB_DESCR")),
	array("DIV" => "edit2", "TAB" => GetMessage("COMPANY_USER_FIELD_TAB"), "TITLE" => GetMessage("COMPANY_USER_FIELD_TAB_DESCR")),
	array("DIV" => "edit3", "TAB" => GetMessage("COMPANY_RULES_USE_TAB"), "TITLE" => GetMessage("COMPANY_RULES_USE_TAB_DESCR")),
);
$tabControl = new CAdminForm("company_edit", $aTabs);
$tabControl->BeginPrologContent();
echo $USER_FIELD_MANAGER->ShowScript();
$tabControl->EndPrologContent();

$tabControl->BeginEpilogContent();
echo bitrix_sessid_post();
?>
<input type="hidden" name="update" value="Y">
<input type="hidden" name="lang" value="<?=$lang;?>">
<input type="hidden" name="ID" value="<?=$id;?>">
<?
$tabControl->EndEpilogContent();
$tabControl->Begin(array("FORM_ACTION" => $APPLICATION->GetCurPage()."?ID=".$id."&lang=".$lang));

$tabControl->BeginNextFormTab();

$fields = ($request->isPost()) ? $_POST : $company;

$tabControl->AddViewField("ID", "ID:", $company['ID']);
if ($id > 0)
{
	$createdBy = htmlspecialcharsbx($company['SALE_INTERNALS_COMPANY_CREATED_LAST_NAME']).' '.htmlspecialcharsbx($company['SALE_INTERNALS_COMPANY_CREATED_NAME']);
	$modifiedBy = htmlspecialcharsbx($company['SALE_INTERNALS_COMPANY_CREATED_LAST_NAME']).' '.htmlspecialcharsbx($company['SALE_INTERNALS_COMPANY_CREATED_NAME']);
	$tabControl->AddViewField('DATE_CREATE', GetMessage("COMPANY_DATE_CREATE"), $company['DATE_CREATE']);
	$tabControl->AddViewField('DATE_MODIFY', GetMessage("COMPANY_DATE_MODIFY"), $company['DATE_MODIFY']);
	$tabControl->AddViewField('CREATED_BY', GetMessage("COMPANY_CREATED_BY"), $createdBy);
	if ($modifiedBy)
		$tabControl->AddViewField('MODIFIED_BY', GetMessage("COMPANY_MODIFIED_BY"), $modifiedBy);
}
$tabControl->AddCheckBoxField("ACTIVE", GetMessage("COMPANY_ACTIVE"), false, 'Y', $fields['ACTIVE'] != 'N');
$tabControl->AddEditField("NAME", GetMessage("COMPANY_NAME"), true, array('size' => 120), htmlspecialcharsbx($fields['NAME']));

$tabControl->BeginCustomField('LOCATIONS', GetMessage("COMPANY_LOCATION_ID"));
if ($saleModulePermissions >= 'W'):?>
	<tr>
		<td style="vertical-align: top"><?=GetMessage("COMPANY_LOCATION_ID");?></td>
		<td>
			<?$APPLICATION->IncludeComponent("bitrix:sale.location.selector.".\Bitrix\Sale\Location\Admin\LocationHelper::getWidgetAppearance(), "", array(
					"ID" => "",
					"CODE" => $fields['LOCATION_ID'],
					"INPUT_NAME" => "LOCATION_ID",
					"PROVIDE_LINK_BY" => "code",
					"SHOW_ADMIN_CONTROLS" => 'Y',
					"SELECT_WHEN_SINGLE" => 'N',
					"FILTER_BY_SITE" => 'Y',
					"FILTER_SITE_ID" => Application::getInstance()->getContext()->getSite(),
					"SHOW_DEFAULT_LOCATIONS" => 'N',
					"SEARCH_BY_PRIMARY" => 'Y'
				),
				false
			);?>
		</td>
	</tr>
<?
else:
	try
	{
		$res = \Bitrix\Sale\Location\LocationTable::getPathToNodeByCode(
				$fields['LOCATION_ID'],
				array(
					'select' => array('CHAIN' => 'NAME.NAME'),
					'filter' => array('NAME.LANGUAGE_ID' => $lang)
				)
		);

		$chain = array();
		while ($item = $res->fetch())
			$chain[] = $item['CHAIN'];

		$path = implode(', ', array_reverse($chain));
	}
	catch (Main\SystemException $e)
	{
		$path = '';
	}
?>
	<tr>
		<td><?=GetMessage("COMPANY_LOCATION");?></td>
		<td><?=htmlspecialcharsbx($path);?></td>
	</tr>
<?
endif;
$tabControl->EndCustomField('LOCATIONS', '');

$tabControl->AddTextField("ADDRESS", GetMessage("COMPANY_LOCATION"), htmlspecialcharsbx($fields['ADDRESS']), array('cols' => 60, 'rows' => 5));

$tabControl->BeginCustomField('USER_GROUPS', GetMessage("COMPANY_GROUPS"));
$currentGroups = array();
if ($id > 0)
{
	$resCompayGroup = \Bitrix\Sale\Internals\CompanyGroupTable::getList(array(
		'filter' => array('=COMPANY_ID' => $id),
		'select' => array('GROUP_ID')
	));
	while($companyGroup = $resCompayGroup->fetch())
	{
		$currentGroups[] = $companyGroup['GROUP_ID'];
	}
}

$userGroupList = array();
$resGroups = CGroup::GetList("c_sort", "asc", array("ANONYMOUS" => "N"));
while ($groupData = $resGroups->Fetch())
{
	$groupData["ID"] = (int)$groupData["ID"];
	$userGroupList[] = $groupData;
}

?>
<tr>
	<td style="vertical-align: top"><?=GetMessage("COMPANY_GROUPS");?></td>
	<td>
		<select name="GROUPS[]" multiple size="5">
			<?
			foreach ($userGroupList as $userGroupData)
			{
				?><option value="<?= $userGroupData["ID"] ?>"<?if (in_array($userGroupData["ID"], $currentGroups)) echo " selected";?>><?= htmlspecialcharsEx($userGroupData["NAME"]) ?></option><?
			}
			?>
		</select>
	</td>
</tr>
<?
$tabControl->EndCustomField('USER_GROUPS', '');

$tabControl->BeginCustomField('RESPONSIBLE_USER_GROUPS', GetMessage("COMPANY_RESPONSIBLE_GROUPS"));
$currentResponsibleGroups = array();
if ($id > 0)
{
	$resCompayGroup = \Bitrix\Sale\Internals\CompanyResponsibleGroupTable::getList(array(
		'filter' => array('=COMPANY_ID' => $id),
		'select' => array('GROUP_ID')
	));
	while($companyGroup = $resCompayGroup->fetch())
	{
		$currentResponsibleGroups[] = $companyGroup['GROUP_ID'];
	}
}

$userGroupList = array();
$resGroups = CGroup::GetList("c_sort", "asc", array("ANONYMOUS" => "N"));
while ($groupData = $resGroups->Fetch())
{
	$groupData["ID"] = (int)$groupData["ID"];
	$userGroupList[] = $groupData;
}

?>
<tr>
	<td style="vertical-align: top"><?=GetMessage("COMPANY_RESPONSIBLE_GROUPS");?></td>
	<td>
		<select name="RESPONSIBLE_GROUPS[]" multiple size="5">
			<?
			foreach ($userGroupList as $userGroupData)
			{
				?><option value="<?= $userGroupData["ID"] ?>"<?if (in_array($userGroupData["ID"], $currentResponsibleGroups)) echo " selected";?>><?= htmlspecialcharsEx($userGroupData["NAME"]) ?></option><?
			}
			?>
		</select>
	</td>
</tr>
<?
$tabControl->EndCustomField('RESPONSIBLE_USER_GROUPS', '');
$tabControl->AddEditField("SORT", GetMessage("COMPANY_SORT"), false, array('size' => 30), $fields['SORT']);
$tabControl->AddEditField("CODE", GetMessage("COMPANY_CODE"), false, array('size' => 30), htmlspecialcharsbx($fields['CODE']));

$tabControl->BeginNextFormTab();
$tabControl->ShowUserFieldsWithReadyData(CompanyTable::getUfId(), $fields, false, 'ID');

if ($id > 0):
	$tabControl->BeginNextFormTab();
	$tabControl->BeginCustomField('COMPANY_RULES', GetMessage("COMPANY_RULES"));

	ob_start();
	require_once($documentRoot."/bitrix/modules/sale/admin/company_rules_list.php");
	$companyRules = ob_get_contents();
	ob_end_clean();
?>
	<tr>
		<td id="sale-company-rules-container"><?=$companyRules?></td>
	</tr>
<?
$tabControl->EndCustomField('COMPANY_RULES');
endif;

$tabControl->Buttons(array(
	"disabled" => ($saleModulePermissions < 'W'),
	"back_url" => "sale_company.php?lang=".$lang
));

$tabControl->Show();
?>

<script language="JavaScript">
	BX.message({
		SALE_COMPANY_RULE_TITLE: '<?=Loc::getMessage("SALE_COMPANY_RULE_TITLE")?>',
		SALE_COMPANY_RULE_SAVE: '<?=Loc::getMessage("SALE_COMPANY_RULE_SAVE")?>',
		SALE_PS_MODE: '<?=Loc::getMessage("F_PS_MODE")?>',
		SALE_BT_DEL: '<?=Loc::getMessage("SPS_LOGOTIP_DEL")?>'
	});

	var i;
	var isFormChange = false;
	var companyForm = BX('company_edit_form');

	var inputList = BX.findChildren(companyForm, {tag : 'input'}, true);
	for (i in inputList)
	{
		if (inputList.hasOwnProperty(i))
			BX.bind(inputList[i], 'change', function () {isFormChange = true});
	}

	var selectList = BX.findChildren(companyForm, {tag : 'select'}, true);
	for (i in selectList)
	{
		if (selectList.hasOwnProperty(i))
			BX.bind(selectList[i], 'change', function () {isFormChange = true});
	}

	var hrefList = BX.findChildren(companyForm, {tag : 'a'}, true);
	for (i in hrefList)
	{
		if (hrefList.hasOwnProperty(i))
		{
			if (hrefList[i].getAttribute('target') != '_blank' && hrefList[i].getAttribute('href').indexOf('javascript') < 0)
			{
				BX.bind(hrefList[i], 'click', function (e)
				{
					if (isFormChange)
					{
						if (!confirm(<?=Loc::getMessage('SALE_COMPANY_CHANGE_FORM_VALUE');?>))
						{
							if (!e) e = window.event;
							e.preventDefault();
						}
					}
				});
			}
		}
	}

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

Youez - 2016 - github.com/yon3zu
LinuXploit