403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/workflow/admin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/workflow/admin/workflow_status_edit.php
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/workflow/prolog.php';
/** @var CMain $APPLICATION */
/** @var CDatabase $DB */
$WORKFLOW_RIGHT = $APPLICATION->GetGroupRight('workflow');
if ($WORKFLOW_RIGHT == 'D')
{
	$APPLICATION->AuthForm(GetMessage('ACCESS_DENIED'));
}

/* @var $request \Bitrix\Main\HttpRequest */
$request = \Bitrix\Main\Context::getCurrent()->getRequest();

require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/workflow/include.php';
IncludeModuleLangFile(__FILE__);
define('HELP_FILE', 'workflow_status_list.php');

$ID = intval($request['ID']);
$message = false;
$bVarsFromForm = false;

$aTabs = [
	[
		'DIV' => 'edit1',
		'TAB' => GetMessage('FLOW_EDIT_RECORD'),
		'ICON' => 'workflow_edit',
		'TITLE' => GetMessage('FLOW_EDIT_RECORD'),
	],
];
$tabControl = new CAdminTabControl('tabControl', $aTabs);

if (
	$request->isPost()
	&& (
		(string)$request['save'] !== ''
		|| (string)$request['apply'] !== ''
	)
	&& $WORKFLOW_RIGHT == 'W'
	&& check_bitrix_sessid()
)
{
	$obWorkflowStatus = new CWorkflowStatus();

	$arFields = [
		'~TIMESTAMP_X' => $DB->GetNowFunction(),
		'C_SORT' => $request['C_SORT'],
		'ACTIVE' => $request['ACTIVE'] !== 'Y' ? 'N' : 'Y',
		'TITLE' => $request['TITLE'],
		'DESCRIPTION' => $request['DESCRIPTION'],
		'NOTIFY' => $request['NOTIFY'] !== 'Y' ? 'N' : 'Y',
	];
	if ($ID > 0)
	{
		$res = $obWorkflowStatus->Update($ID, $arFields);
	}
	else
	{
		$ID = $obWorkflowStatus->Add($arFields);
		$res = ($ID > 0);
	}

	if ($res)
	{
		$arPERMISSION_M = is_array($request['arPERMISSION_M']) ? $request['arPERMISSION_M'] : [];
		$obWorkflowStatus->SetPermissions($ID, $arPERMISSION_M, 1);
		$arPERMISSION_E = is_array($request['arPERMISSION_E']) ? $request['arPERMISSION_E'] : [];
		$obWorkflowStatus->SetPermissions($ID, $arPERMISSION_E, 2);

		if ($request['apply'])
		{
			LocalRedirect('/bitrix/admin/workflow_status_edit.php?ID=' . $ID . '&lang=' . LANG . '&' . $tabControl->ActiveTabParam());
		}
		else
		{
			LocalRedirect('/bitrix/admin/workflow_status_list.php?lang=' . LANG);
		}
	}
	else
	{
		if ($e = $APPLICATION->GetException())
		{
			$message = new CAdminMessage(GetMessage('FLOW_ERROR'), $e);
		}
		$bVarsFromForm = true;
	}
}

ClearVars();
$str_ACTIVE = 'Y';
$str_C_SORT = CWorkflowStatus::GetNextSort();
$str_TIMESTAMP_X = '';
$str_TITLE = '';
$str_DESCRIPTION = '';
$str_NOTIFY = '';

if ($ID > 0)
{
	$status = CWorkflowStatus::GetByID($ID);
	if (!$status->ExtractFields('str_'))
	{
		$ID = 0;
	}
}

$arPERMISSION_M = [];
$arPERMISSION_E = [];
if ($bVarsFromForm)
{
	$DB->InitTableVarsForEdit('b_workflow_status', '', 'str_');
	if (is_array($request->getPost('arPERMISSION_M')))
	{
		$arPERMISSION_M = $request->getPost('arPERMISSION_M');
	}
	if (is_array($request->getPost('arPERMISSION_E')))
	{
		$arPERMISSION_E = $request->getPost('arPERMISSION_E');
	}
}
elseif ($ID > 0)
{
	$strSql = '
		SELECT
			GROUP_ID,
			PERMISSION_TYPE
		FROM
			b_workflow_status2group
		WHERE
			STATUS_ID=' . $ID . '
		';
	$z = $DB->Query($strSql);
	while ($zr = $z->Fetch())
	{
		if ($zr['PERMISSION_TYPE'] == '1')
		{
			$arPERMISSION_M[] = $zr['GROUP_ID'];
		}
		elseif ($zr['PERMISSION_TYPE'] == '2')
		{
			$arPERMISSION_E[] = $zr['GROUP_ID'];
		}
	}
}

$sDocTitle = ($ID > 0) ? GetMessage('FLOW_EDIT_RECORD', ['#ID#' => $ID]) : GetMessage('FLOW_NEW_RECORD');
$APPLICATION->SetTitle($sDocTitle);
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php';

$aMenu = [
	[
		'ICON' => 'btn_list',
		'TEXT' => GetMessage('FLOW_RECORDS_LIST'),
		'LINK' => 'workflow_status_list.php?lang=' . LANGUAGE_ID,
	],
];
if (intval($ID) > 0)
{
	$aMenu[] = [
		'SEPARATOR' => 'Y',
	];
	$aMenu[] = [
		'ICON' => 'btn_new',
		'TEXT' => GetMessage('FLOW_NEW_STATUS'),
		'LINK' => 'workflow_status_edit.php?lang=' . LANGUAGE_ID,
	];
	if ($WORKFLOW_RIGHT == 'W' && intval($ID) > 1)
	{
		$aMenu[] = [
			'ICON' => 'btn_delete',
			'TEXT' => GetMessage('FLOW_DELETE_STATUS'),
			'LINK' => "javascript:if(confirm('" . GetMessage('FLOW_DELETE_STATUS_CONFIRM') . "')) window.location='workflow_status_list.php?action=delete&ID=" . $ID . '&lang=' . LANGUAGE_ID . '&' . bitrix_sessid_get() . "';",
		];
	}
}

$context = new CAdminContextMenu($aMenu);
$context->Show();

if ($message)
{
	echo $message->Show();
}
?>
<form method="POST" name="form1" action="<?php echo $APPLICATION->GetCurPage()?>?" enctype="multipart/form-data">
<?=bitrix_sessid_post()?>
<input type="hidden" name="ID" value=<?=$ID?>>
<input type="hidden" name="lang" value="<?=LANG?>">
<?php

$tabControl->Begin();
$tabControl->BeginNextTab();
?>
<?php if ($str_TIMESTAMP_X <> '' && $str_TIMESTAMP_X != '00.00.0000 00:00:00') : ?>
	<tr>
		<td><?=GetMessage('FLOW_TIMESTAMP')?></td>
		<td><?=$str_TIMESTAMP_X?></td>
	</tr>
<?php endif; ?>
<?php if ($ID > 0) : ?>
	<tr>
		<td><?=GetMessage('FLOW_DOCUMENTS')?></td>
		<td><a href="workflow_list.php?lang=<?=LANG?>&find_status=<?=$ID?>&set_filter=Y" title="<?=GetMessage('FLOW_DOCUMENTS_ALT')?>"><?php echo intval($str_DOCUMENTS)?></a></td>
	</tr>
<?php endif;?>
<?php if ($ID != 1):?>
	<tr>
		<td><label for="active"><?=GetMessage('FLOW_ACTIVE')?></label></td>
		<td><?=InputType('checkbox', 'ACTIVE', 'Y', $str_ACTIVE, false, '', 'id="active"')?></td>
	</tr>
<?php endif;?>
	<tr>
		<td width="40%"><?=GetMessage('FLOW_SORTING')?></td>
		<td width="60%"><input type="text" name="C_SORT" size="5" value="<?=$str_C_SORT?>"></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?=GetMessage('FLOW_TITLE')?></td>
		<td><input type="text" name="TITLE" maxlength="255" value="<?=$str_TITLE?>" style="width:60%"></td>
	</tr>
	<tr>
		<td class="adm-detail-valign-top"><?=GetMessage('FLOW_DESCRIPTION')?></td>
		<td><textarea name="DESCRIPTION" rows="5" style="width:60%"><?php echo $str_DESCRIPTION?></textarea></td>
	</tr>
	<tr>
		<td class="adm-detail-valign-top"><?=GetMessage('FLOW_MOVE_RIGHTS');?><br><img src="/bitrix/images/workflow/mouse.gif" width="44" height="21" border=0 alt=""></td>
		<td><?php echo SelectBoxM('arPERMISSION_M[]', CGroup::GetDropDownList(''), $arPERMISSION_M, '', true, 8);?></td>
	</tr>
	<tr>
		<td class="adm-detail-valign-top"><?php echo GetMessage('FLOW_EDIT_RIGHTS');?><br><img src="/bitrix/images/workflow/mouse.gif" width="44" height="21" border=0 alt=""></td>
		<td><?php echo SelectBoxM('arPERMISSION_E[]', CGroup::GetDropDownList(''), $arPERMISSION_E, '', true, 8);?></td>
	</tr>
	<tr>
		<td><label for="notify"><?=GetMessage('FLOW_NOTIFY')?></label></td>
		<td><?=InputType('checkbox', 'NOTIFY', 'Y', $str_NOTIFY, false, '', 'id="notify"')?></td>
	</tr>
<?php
$tabControl->Buttons([
	'disabled' => $WORKFLOW_RIGHT < 'W',
	'back_url' => 'workflow_status_list.php?lang=' . LANGUAGE_ID,
]);
$tabControl->End();
?>
</form>
<?php $tabControl->ShowWarnings('form1', $message);?>
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_admin.php';

Youez - 2016 - github.com/yon3zu
LinuXploit