%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.190.253.88 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/form/validators/ |
Upload File : |
<?php IncludeModuleLangFile(__FILE__); class CFormValidatorFileSize { public static function GetDescription() { return array( "NAME" => "file_size", // unique validator string ID "DESCRIPTION" => GetMessage('FORM_VALIDATOR_FILE_SIZE_DESCRIPTION'), // validator description "TYPES" => array("file", "image"), // list of types validator can be applied. "SETTINGS" => array("CFormValidatorFileSize", "GetSettings"), // method returning array of validator settings, optional "CONVERT_TO_DB" => array("CFormValidatorFileSize", "ToDB"), // method, processing validator settings to string to put to db, optional "CONVERT_FROM_DB" => array("CFormValidatorFileSize", "FromDB"), // method, processing validator settings from string from db, optional "HANDLER" => array("CFormValidatorFileSize", "DoValidate") // main validation method ); } public static function GetSettings() { return array( "SIZE_FROM" => array( "TITLE" => GetMessage("FORM_VALIDATOR_FILE_SIZE_SETTINGS_SIZE_FROM"), "TYPE" => "TEXT", "DEFAULT" => "0", ), "SIZE_TO" => array( "TITLE" => GetMessage("FORM_VALIDATOR_FILE_SIZE_SETTINGS_SIZE_TO"), "TYPE" => "TEXT", "DEFAULT" => "5242880", ), ); } public static function ToDB($arParams) { $arParams["SIZE_FROM"] = intval($arParams["SIZE_FROM"]); $arParams["SIZE_TO"] = intval($arParams["SIZE_TO"]); if ($arParams["SIZE_FROM"] > $arParams["SIZE_TO"]) { $tmp = $arParams["SIZE_FROM"]; $arParams["SIZE_FROM"] = $arParams["SIZE_TO"]; $arParams["SIZE_TO"] = $tmp; } return serialize($arParams); } public static function FromDB($strParams) { return unserialize($strParams, ['allowed_classes' => false]); } public static function DoValidate($arParams, $arQuestion, $arAnswers, $arValues) { global $APPLICATION; if (count($arValues) > 0) { foreach ($arValues as $arFile) { if ($arFile["tmp_name"] <> '' && $arFile["error"] == "0") { if ($arParams["SIZE_FROM"] > 0 && $arFile["size"] < $arParams["SIZE_FROM"]) { $APPLICATION->ThrowException(GetMessage("FORM_VALIDATOR_FILE_SIZE_ERROR_LESS")); return false; } if ($arParams["SIZE_TO"] > 0 && $arFile["size"] > $arParams["SIZE_TO"]) { $APPLICATION->ThrowException(GetMessage("FORM_VALIDATOR_FILE_SIZE_ERROR_MORE")); return false; } } } } return true; } } AddEventHandler("form", "onFormValidatorBuildList", array("CFormValidatorFileSize", "GetDescription"));