1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
event.php
См. документацию.
1<?php
2
9
11
12class CEvent
13{
14 public static $EVENT_SITE_PARAMS = [];
15
16 public static function CheckEvents()
17 {
19 }
20
21 public static function ExecuteEvents()
22 {
24 }
25
26 public static function CleanUpAgent()
27 {
29 }
30
31 public static function SendImmediate($event, $lid, $arFields, $Duplicate = "Y", $message_id = "", $files = [], $languageId = '', array $filesContent = [])
32 {
33 $arLocalFields = [
34 "EVENT_NAME" => $event,
35 "C_FIELDS" => $arFields,
36 "LID" => $lid,
37 "DUPLICATE" => ($Duplicate != "N" ? "Y" : "N"),
38 "MESSAGE_ID" => (intval($message_id) > 0 ? intval($message_id) : ""),
39 "DATE_INSERT" => GetTime(time(), "FULL"),
40 "FILE" => $files,
41 "LANGUAGE_ID" => ($languageId == '' ? LANGUAGE_ID : $languageId),
42 "ID" => "0",
43 "FILES_CONTENT" => $filesContent,
44 ];
45
46 $result = Mail\Event::sendImmediate($arLocalFields);
47
49 }
50
51 public static function Send($event, $lid, $arFields, $Duplicate = "Y", $message_id = "", $files = [], $languageId = '')
52 {
53 $arLocalFields = [
54 "EVENT_NAME" => $event,
55 "C_FIELDS" => $arFields,
56 "LID" => $lid,
57 "DUPLICATE" => ($Duplicate != "N" ? "Y" : "N"),
58 "MESSAGE_ID" => (intval($message_id) > 0 ? intval($message_id) : ""),
59 "FILE" => $files,
60 "LANGUAGE_ID" => ($languageId == '' ? LANGUAGE_ID : $languageId),
61 ];
62
63 $result = Mail\Event::send($arLocalFields);
64
65 $id = false;
66 if ($result->isSuccess())
67 {
68 $id = $result->getId();
69 }
70 return $id;
71 }
72
73 public static function fieldencode($s)
74 {
75 if (is_array($s))
76 {
77 $ret_val = '';
78 foreach ($s as $v)
79 {
80 $ret_val .= ($ret_val <> '' ? ', ' : '') . CEvent::fieldencode($v);
81 }
82 }
83 else
84 {
85 $ret_val = str_replace("%", "%2", $s);
86 $ret_val = str_replace("&", "%1", $ret_val);
87 $ret_val = str_replace("=", "%3", $ret_val);
88 }
89 return $ret_val;
90 }
91
92 public static function ExtractMailFields($str)
93 {
94 $ar = explode("&", $str);
95 $newar = [];
96 foreach ($ar as $val)
97 {
98 $val = str_replace("%1", "&", $val);
99 $tar = explode("=", $val);
100 $key = $tar[0];
101 $val = $tar[1];
102 $key = str_replace("%3", "=", $key);
103 $val = str_replace("%3", "=", $val);
104 $key = str_replace("%2", "%", $key);
105 $val = str_replace("%2", "%", $val);
106 if ($key != "")
107 {
108 $newar[$key] = $val;
109 }
110 }
111 return $newar;
112 }
113
114 public static function GetSiteFieldsArray($site_id)
115 {
116 if ($site_id !== false && isset(static::$EVENT_SITE_PARAMS[$site_id]))
117 {
118 return static::$EVENT_SITE_PARAMS[$site_id];
119 }
120
121 $SITE_NAME = COption::GetOptionString("main", "site_name", $GLOBALS["SERVER_NAME"]);
122 $SERVER_NAME = COption::GetOptionString("main", "server_name", $GLOBALS["SERVER_NAME"]);
123 $DEFAULT_EMAIL_FROM = COption::GetOptionString("main", "email_from", "admin@" . $GLOBALS["SERVER_NAME"]);
124
125 if ($site_id <> '')
126 {
127 $dbSite = CSite::GetByID($site_id);
128 if ($arSite = $dbSite->Fetch())
129 {
130 static::$EVENT_SITE_PARAMS[$site_id] = [
131 "SITE_NAME" => ($arSite["SITE_NAME"] <> '' ? $arSite["SITE_NAME"] : $SITE_NAME),
132 "SERVER_NAME" => ($arSite["SERVER_NAME"] <> '' ? $arSite["SERVER_NAME"] : $SERVER_NAME),
133 "DEFAULT_EMAIL_FROM" => ($arSite["EMAIL"] <> '' ? $arSite["EMAIL"] : $DEFAULT_EMAIL_FROM),
134 "SITE_ID" => $arSite['ID'],
135 "SITE_DIR" => $arSite['DIR'],
136 ];
137 return static::$EVENT_SITE_PARAMS[$site_id];
138 }
139 }
140
141 return [
142 "SITE_NAME" => $SITE_NAME,
143 "SERVER_NAME" => $SERVER_NAME,
144 "DEFAULT_EMAIL_FROM" => $DEFAULT_EMAIL_FROM,
145 ];
146 }
147
148 public static function ReplaceTemplate($str, $ar, $bNewLineToBreak = false)
149 {
150 $str = str_replace("%", "%2", $str);
151 foreach ($ar as $key => $val)
152 {
153 if ($bNewLineToBreak && !str_contains($val, "<"))
154 {
155 $val = nl2br($val);
156 }
157 $val = str_replace("%", "%2", $val);
158 $val = str_replace("#", "%1", $val);
159 $str = str_replace("#" . $key . "#", $val, $str);
160 }
161 $str = str_replace("%1", "#", $str);
162 $str = str_replace("%2", "%", $str);
163
164 return $str;
165 }
166
170 public static function Is8Bit($str)
171 {
172 return Mail\Mail::is8Bit($str);
173 }
174
178 public static function EncodeMimeString($text, $charset)
179 {
180 return Mail\Mail::encodeMimeString($text, $charset);
181 }
182
186 public static function EncodeSubject($text, $charset)
187 {
188 return Mail\Mail::encodeSubject($text, $charset);
189 }
190
194 public static function EncodeHeaderFrom($text, $charset)
195 {
196 return Mail\Mail::encodeHeaderFrom($text, $charset);
197 }
198
202 public static function GetMailEOL()
203 {
204 return Mail\Mail::getMailEol();
205 }
206
210 public static function HandleEvent($arEvent)
211 {
212 if (isset($arEvent['C_FIELDS']))
213 {
214 $arEvent['FIELDS'] = $arEvent['C_FIELDS'];
215 unset($arEvent['C_FIELDS']);
216 }
217
218 return Mail\Event::handleEvent($arEvent);
219 }
220}
static handleEvent(array $arEvent)
Определения event.php:161
static send(array $data)
Определения event.php:48
static sendImmediate(array $data)
Определения event.php:30
const SEND_RESULT_NONE
Определения event.php:19
static executeEvents()
Определения eventmanager.php:44
static checkEvents()
Определения eventmanager.php:17
static cleanUpAgent()
Определения eventmanager.php:148
static encodeHeaderFrom($text, $charset)
Определения mail.php:836
static is8Bit($inputString)
Определения mail.php:786
static getMailEol()
Определения mail.php:856
static encodeMimeString($text, $charset)
Определения mail.php:798
static encodeSubject($text, $charset)
Определения mail.php:824
Определения event.php:13
static fieldencode($s)
Определения event.php:73
static EncodeHeaderFrom($text, $charset)
Определения event.php:194
static HandleEvent($arEvent)
Определения event.php:210
static GetSiteFieldsArray($site_id)
Определения event.php:114
static CheckEvents()
Определения event.php:16
static SendImmediate($event, $lid, $arFields, $Duplicate="Y", $message_id="", $files=[], $languageId='', array $filesContent=[])
Определения event.php:31
static ExecuteEvents()
Определения event.php:21
static EncodeMimeString($text, $charset)
Определения event.php:178
static EncodeSubject($text, $charset)
Определения event.php:186
static CleanUpAgent()
Определения event.php:26
static $EVENT_SITE_PARAMS
Определения event.php:14
static ExtractMailFields($str)
Определения event.php:92
static ReplaceTemplate($str, $ar, $bNewLineToBreak=false)
Определения event.php:148
static Send($event, $lid, $arFields, $Duplicate="Y", $message_id="", $files=[], $languageId='')
Определения event.php:51
static Is8Bit($str)
Определения event.php:170
static GetMailEOL()
Определения event.php:202
$str
Определения commerceml2.php:63
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
GetTime($timestamp, $type="SHORT", $site=false, $bSearchInSitesOnly=false)
Определения tools.php:1890
Определения address.php:8
$files
Определения mysql_to_pgsql.php:30
$GLOBALS['____1690880296']
Определения license.php:1
$event
Определения prolog_after.php:141
return false
Определения prolog_main_admin.php:185
$ar
Определения options.php:199
if(empty($signedUserToken)) $key
Определения quickway.php:257
$text
Определения template_pdf.php:79
$val
Определения options.php:1793
$site_id
Определения sonet_set_content_view.php:9