1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
val_date_ex.php
См. документацию.
1<?php
2
4
6{
7 public static function GetDescription()
8 {
9 return array(
10 "NAME" => "date_ext", // unique validator string ID
11 "DESCRIPTION" => GetMessage('FORM_VALIDATOR_VAL_DATE_EX_DESCRIPTION'), // validator description
12 "TYPES" => array("date"), // list of types validator can be applied.
13 "SETTINGS" => array("CFormValidatorDateEx", "GetSettings"), // method returning array of validator settings, optional
14 "CONVERT_TO_DB" => array("CFormValidatorDateEx", "ToDB"), // method, processing validator settings to string to put to db, optional
15 "CONVERT_FROM_DB" => array("CFormValidatorDateEx", "FromDB"), // method, processing validator settings from string from db, optional
16 "HANDLER" => array("CFormValidatorDateEx", "DoValidate") // main validation method
17 );
18 }
19
20 public static function GetSettings()
21 {
22 return array(
23 "DATE_FROM" => array(
24 "TITLE" => GetMessage("FORM_VALIDATOR_VAL_DATE_EX_SETTINGS_DATE_FROM")." (".FORMAT_DATE.")",
25 "TYPE" => "DATE",
26 "DEFAULT" => ConvertTimeStamp(time()-365*86400),
27 ),
28
29 "DATE_TO" => array(
30 "TITLE" => GetMessage("FORM_VALIDATOR_VAL_DATE_EX_SETTINGS_DATE_TO")." (".FORMAT_DATE.")",
31 "TYPE" => "DATE",
32 "DEFAULT" => ConvertTimeStamp(time()+365*86400),
33 ),
34 );
35 }
36
37 public static function ToDB($arParams)
38 {
39 if ($arParams["DATE_FROM"] <> '') $arParams["DATE_FROM"] = MakeTimeStamp($arParams["DATE_FROM"]);
40 if ($arParams["DATE_TO"] <> '') $arParams["DATE_TO"] = MakeTimeStamp($arParams["DATE_TO"]);
41
42 if ($arParams["DATE_FROM"] > $arParams["DATE_TO"] && $arParams["DATE_TO"] <> '')
43 {
44 $tmp = $arParams["DATE_FROM"];
45 $arParams["DATE_FROM"] = $arParams["DATE_TO"];
46 $arParams["DATE_TO"] = $tmp;
47 }
48
49 return serialize($arParams);
50 }
51
52 public static function FromDB($strParams)
53 {
54 $arParams = unserialize($strParams, ['allowed_classes' => false]);
55 if ($arParams["DATE_FROM"] <> '') $arParams["DATE_FROM"] = ConvertTimeStamp($arParams["DATE_FROM"], "SHORT");
56 if ($arParams["DATE_TO"] <> '') $arParams["DATE_TO"] = ConvertTimeStamp($arParams["DATE_TO"], "SHORT");
57
58 return $arParams;
59 }
60
61 public static function DoValidate($arParams, $arQuestion, $arAnswers, $arValues)
62 {
63 global $APPLICATION;
64
65 foreach ($arValues as $value)
66 {
67 // check minimum date
68 if ($arParams["DATE_FROM"] <> '' && MakeTimeStamp($value) < MakeTimeStamp($arParams["DATE_FROM"]))
69 {
70 $APPLICATION->ThrowException(GetMessage("FORM_VALIDATOR_VAL_DATE_EX_ERROR_LESS"));
71 return false;
72 }
73
74 // check maximum date
75 if ($arParams["DATE_TO"] <> '' && MakeTimeStamp($value) > MakeTimeStamp($arParams["DATE_TO"]))
76 {
77 $APPLICATION->ThrowException(GetMessage("FORM_VALIDATOR_VAL_DATE_EX_ERROR_MORE"));
78 return false;
79 }
80 }
81
82 return true;
83 }
84}
85
86AddEventHandler("form", "onFormValidatorBuildList", array("CFormValidatorDateEx", "GetDescription"));
$arParams
Определения access_dialog.php:21
global $APPLICATION
Определения include.php:80
static ToDB($arParams)
Определения val_date_ex.php:37
static GetSettings()
Определения val_date_ex.php:20
static DoValidate($arParams, $arQuestion, $arAnswers, $arValues)
Определения val_date_ex.php:61
static FromDB($strParams)
Определения val_date_ex.php:52
static GetDescription()
Определения val_date_ex.php:7
$arValues
Определения component_props.php:25
if(!is_array($prop["VALUES"])) $tmp
Определения component_props.php:203
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
const FORMAT_DATE
Определения include.php:63
AddEventHandler($FROM_MODULE_ID, $MESSAGE_ID, $CALLBACK, $SORT=100, $FULL_PATH=false)
Определения tools.php:5165
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
MakeTimeStamp($datetime, $format=false)
Определения tools.php:538