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/clouds/ |
Upload File : |
<?php /*.require_module 'standard';.*/ /*.require_module 'bitrix_main';.*/ if (!defined('CACHED_b_clouds_file_bucket')) { define('CACHED_b_clouds_file_bucket', 360000); } if (!defined('CACHED_clouds_file_resize')) { define('CACHED_clouds_file_resize', 360000); } if (!defined('BX_S3_MIN_UPLOAD_PART_SIZE')) { define('BX_S3_MIN_UPLOAD_PART_SIZE', 5242880); //5MB } //if (defined("BX24_IS_STAGE") && BX24_IS_STAGE === true) define("BX_CLOUDS_COUNTERS_DEBUG", "#^/([^/]+/)?(tmp/BXTEMP-|export/|BXTEMP-[0-9-]+/)#"); CModule::AddAutoloadClasses( 'clouds', [ 'clouds' => 'install/index.php', 'CCloudUtil' => 'classes/general/util.php', 'CCloudStorage' => 'classes/general/storage.php', 'CCloudStorageBucket' => 'classes/general/storage_bucket.php', 'CCloudStorageUpload' => 'classes/general/storage_upload.php', 'CCloudTempFile' => 'classes/general/temp_file.php', 'CCloudFailover' => 'classes/general/failover.php', 'CCloudFileHash' => 'classes/general/filehash.php', 'CCloudStorageService' => 'classes/general/storage_service.php', 'CCloudStorageService_S3' => 'classes/general/storage_service_s3.php', 'CCloudStorageService_AmazonS3' => 'classes/general/storage_service_amazon.php', 'CCloudStorageService_Yandex' => 'classes/general/storage_service_yandex.php', 'CCloudStorageService_HotBox' => 'classes/general/storage_service_hotbox.php', 'CCloudStorageService_OpenStackStorage' => 'classes/general/storage_service_openstack.php', 'CCloudStorageService_RackSpaceCloudFiles' => 'classes/general/storage_service_rackspace.php', 'CCloudStorageService_ClodoRU' => 'classes/general/storage_service_clodo.php', 'CCloudStorageService_Selectel' => 'classes/general/storage_service_selectel.php', 'CCloudStorageService_Selectel_S3' => 'classes/general/storage_service_selectel_s3.php', 'CCloudStorageService_GoogleStorage' => 'classes/general/storage_service_google.php', 'CCloudSecurityService_AmazonS3' => 'classes/general/security_service_s3.php', 'CCloudSecurityService_HotBox' => 'classes/general/security_service_hotbox.php', 'CCloudSecurityService_STS' => 'classes/general/security_service_sts.php', 'CCloudSecurityService_Amazon' => 'classes/general/security_service_amazon.php', 'CCloudSecurityService_Yandex' => 'classes/general/security_service_yandex.php', ] ); class CCloudsDebug { protected static $instances = []; public static function getInstance($action = 'counters') { if (!isset(static::$instances[$action])) { static::$instances[$action] = new static($action); } return static::$instances[$action]; } protected $head = ''; protected $id = ''; public function __construct($action) { $this->head = BX24_HOST_NAME . '|' . $action; $this->id = 0; $now = time(); $expired = $now - 600; while (!apcu_add($this->head . '|' . $this->id, $now)) { $prev = apcu_fetch($this->head . '|' . $this->id); if ($prev > 0 && $prev < $expired) { $cloudsKey = $this->head . '|' . $this->id . '|mess'; $prevTrace = apcu_fetch($cloudsKey); if ($prevTrace) { AddMessage2Log($prevTrace, 'clouds', 0); } apcu_delete($cloudsKey); apcu_delete($this->head . '|' . $this->id); } $this->id++; } } public function __destruct() { $cloudsKey = $this->head . '|' . $this->id . '|mess'; $prevTrace = apcu_fetch($cloudsKey); if ($prevTrace) { AddMessage2Log($prevTrace, 'clouds', 0); } apcu_delete($cloudsKey); apcu_delete($this->head . '|' . $this->id); } public static function getBackTrace($skip = 0) { $functionStack = ''; $fileStack = ''; foreach (Bitrix\Main\Diag\Helper::getBackTrace(0, DEBUG_BACKTRACE_IGNORE_ARGS, $skip) as $backTraceFrame) { if ($functionStack) { $functionStack .= ' < '; } if (isset($backTraceFrame['class'])) { $functionStack .= $backTraceFrame['class'] . '::'; } $functionStack .= $backTraceFrame['function']; if (isset($backTraceFrame['file'])) { $fileStack .= "\t" . $backTraceFrame['file'] . ':' . $backTraceFrame['line'] . "\n"; } } return ' ' . $functionStack . "\n" . $fileStack; } public function startAction($filePath = '') { $newTrace = $this->head . ':v2:' . $filePath . "\n" . $_SERVER['REQUEST_URI'] . "\n" . static::getBackTrace(2); $cloudsKey = $this->head . '|' . $this->id . '|mess'; if (!apcu_add($cloudsKey, $newTrace)) { $prevTrace = apcu_fetch($cloudsKey); if ($prevTrace) { AddMessage2Log($prevTrace, 'clouds', 0); } } apcu_store($cloudsKey, $newTrace); } public function endAction() { $cloudsKey = $this->head . '|' . $this->id . '|mess'; apcu_delete($cloudsKey); } }