Bitrix-D7 23.9
 
Загрузка...
Поиск...
Не найдено
datetype.php
1<?
2
4
5
11{
12 const NONE = "NONE";
13 const YESTERDAY = "YESTERDAY";
14 const CURRENT_DAY = "CURRENT_DAY";
15 const TOMORROW = "TOMORROW";
16 const CURRENT_WEEK = "CURRENT_WEEK";
17 const CURRENT_MONTH = "CURRENT_MONTH";
18 const CURRENT_QUARTER = "CURRENT_QUARTER";
19 const LAST_7_DAYS = "LAST_7_DAYS";
20 const LAST_30_DAYS = "LAST_30_DAYS";
21 const LAST_60_DAYS = "LAST_60_DAYS";
22 const LAST_90_DAYS = "LAST_90_DAYS";
23 const PREV_DAYS = "PREV_DAYS";
24 const NEXT_DAYS = "NEXT_DAYS";
25 const MONTH = "MONTH";
26 const QUARTER = "QUARTER";
27 const YEAR = "YEAR";
28 const EXACT = "EXACT";
29 const LAST_WEEK = "LAST_WEEK";
30 const LAST_MONTH = "LAST_MONTH";
31 const RANGE = "RANGE";
32 const NEXT_WEEK = "NEXT_WEEK";
33 const NEXT_MONTH = "NEXT_MONTH";
34
35
40 public static function getList()
41 {
42 $reflection = new \ReflectionClass(__CLASS__);
43 return $reflection->getConstants();
44 }
45
50 public static function getPostfix()
51 {
52 return "_datesel";
53 }
54
61 public static function getLogicFilter(array $data, array $filterFields)
62 {
63 $filter = [];
64 $keys = array_filter($data, function($key) { return (mb_substr($key, 0 - mb_strlen(self::getPostfix())) == self::getPostfix()); }, ARRAY_FILTER_USE_KEY);
65 foreach ($keys as $key => $val)
66 {
67 $id = mb_substr($key, 0, 0 - mb_strlen(self::getPostfix()));
68 if (array_key_exists($id."_from", $data))
69 $filter[">=".$id] = $data[$id."_from"];
70 if (array_key_exists($id."_to", $data))
71 $filter["<=".$id] = $data[$id."_to"];
72 break;
73 }
74 return $filter;
75 }
76}
static getLogicFilter(array $data, array $filterFields)
Definition datetype.php:61