%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.224.65.20
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/components/bitrix/rest.hook.ap.edit/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/rest.hook.ap.edit/component.php
<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
	die();
}

/**
 * Bitrix vars
 *
 * @var array $arParams
 * @var array $arResult
 * @var CBitrixComponent $this
 * @global CMain $APPLICATION
 * @global CUser $USER
 */

if(!\Bitrix\Main\Loader::includeModule('rest') || !$USER->IsAuthorized())
{
	return;
}

$arParams['ID'] = intval($arParams['ID']);

InitBVar($arParams['SET_TITLE']);

if($arParams['ID'] > 0)
{
	$dbRes = \Bitrix\Rest\APAuth\PasswordTable::getById($arParams['ID']);
	$password = $dbRes->fetch();

	if(is_array($password))
	{
		if($password['USER_ID'] != $USER->GetID())
		{
			$password = false;
		}
	}

	if(!$password)
	{
		ShowError(\Bitrix\Main\Localization\Loc::getMessage('REST_HAPE_NOT_FOUND'));
		return;
	}

	$arResult['INFO'] = array(
		'ID' => $password['ID'],
		"TITLE" => $password['TITLE'],
		"COMMENT" => $password['COMMENT'],
		"DATE_CREATE" => $password['DATE_CREATE'],
		"DATE_LOGIN" => $password['DATE_LOGIN'],
		"LAST_IP" => $password['LAST_IP'],
		"PASSWORD" => $password['PASSWORD'],
		"SCOPE" => array(),
	);

	$arResult['EXAMPLE'] = \CRestUtil::getWebhookEndpoint($arResult['INFO']['PASSWORD'], $password['USER_ID'], 'profile');

	$dbRes = \Bitrix\Rest\APAuth\PermissionTable::getList(
		array(
			'filter' => array(
				'=PASSWORD_ID' => $password['ID'],
			),
			'select' => array('PERM')
		)
	);
	while($perm = $dbRes->fetch())
	{
		$arResult['INFO']['SCOPE'][] = $perm['PERM'];
	}

	$arResult['INFO']['SCOPE'] = \Bitrix\Rest\APAuth\PermissionTable::cleanPermissionList($arResult['INFO']['SCOPE']);
}
else
{
	$arResult['INFO'] = array(
		'ID' => 0,
		'TITLE' => \Bitrix\Main\Localization\Loc::getMessage('REST_HAPE_TITLE_DEFAULT'),
		'SCOPE' => array(),
	);
}

$request = \Bitrix\Main\Context::getCurrent()->getRequest();

if($request->isPost() && check_bitrix_sessid())
{
	$arResult['INFO']['TITLE'] = trim($request['TITLE']);
	$arResult['INFO']['COMMENT'] = trim($request['COMMENT']);
	$arResult['INFO']['SCOPE'] = is_array($request['SCOPE']) ? $request['SCOPE'] : array();

	$arResult['INFO']['SCOPE'] = \Bitrix\Rest\APAuth\PermissionTable::cleanPermissionList($arResult['INFO']['SCOPE']);

	$justCreated = false;

	if($arResult['INFO']['ID'] > 0)
	{
		$result = \Bitrix\Rest\APAuth\PasswordTable::update(
			$arResult['INFO']['ID'],
			array(
				'TITLE' => $arResult['INFO']['TITLE'],
				'COMMENT' => $arResult['INFO']['COMMENT'],
			)
		);
	}
	else
	{
		$arResult['INFO']['PASSWORD'] = \Bitrix\Rest\APAuth\PasswordTable::generatePassword();

		$result = \Bitrix\Rest\APAuth\PasswordTable::add(
			array(
				'USER_ID' => $USER->getId(),
				'PASSWORD' => $arResult['INFO']['PASSWORD'],
				'DATE_CREATE' => new \Bitrix\Main\Type\DateTime(),
				'TITLE' => $arResult['INFO']['TITLE'],
				'COMMENT' => $arResult['INFO']['COMMENT'],
			)
		);

		$justCreated = true;
	}

	if($result->isSuccess())
	{
		if($arResult['INFO']['ID'] > 0)
		{
			\Bitrix\Rest\APAuth\PermissionTable::deleteByPasswordId($arResult['INFO']['ID']);
		}
		else
		{
			$arResult['INFO']['ID'] = $result->getId();
		}

		foreach($arResult['INFO']['SCOPE'] as $scope)
		{
			\Bitrix\Rest\APAuth\PermissionTable::add(array(
				'PASSWORD_ID' => $arResult['INFO']['ID'],
				'PERM' => $scope,
			));
		}

		$url = (new \Bitrix\Main\Web\Uri(str_replace(
			'#id#', $arResult['INFO']['ID'], $arParams['EDIT_URL_TPL']
		)))->addParams(array('success' => 1));

		if (\CRestUtil::isSlider())
		{
			$url->addParams(array('IFRAME' => 'Y'));
		}
		if ($justCreated || \CRestUtil::isSlider())
		{
			LocalRedirect($url->getLocator());
		}
		else
		{
			LocalRedirect($arParams['LIST_URL']);
		}
	}
	else
	{
		$arResult['ERROR'] = implode('<br />', $result->getErrorMessages());
	}
}

$arResult["SCOPE"] = \Bitrix\Rest\Engine\ScopeManager::getInstance()->listScope();
$arResult["SCOPE"] = \Bitrix\Rest\APAuth\PermissionTable::cleanPermissionList($arResult['SCOPE']);

$arResult['HTTPS'] = $request->isHttps();

if($arParams['SET_TITLE'] == 'Y')
{
	if($arResult['INFO']['ID'] > 0)
	{
		$APPLICATION->SetTitle(\Bitrix\Main\Localization\Loc::getMessage('REST_HAPE_EDIT_TITLE'));
	}
	else
	{
		$APPLICATION->SetTitle(\Bitrix\Main\Localization\Loc::getMessage('REST_HAPE_ADD_TITLE'));
	}
}

$this->IncludeComponentTemplate();

Youez - 2016 - github.com/yon3zu
LinuXploit