1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
comment.php
См. документацию.
1<?php
2
3namespace Bitrix\Forum\Comments;
4
5use Bitrix\Forum\Internals\Error\ErrorCollection;
6use Bitrix\Forum;
7use Bitrix\Main\Config\Option;
8use Bitrix\Main\Loader;
9use Bitrix\Main\Web\Json;
10use \Bitrix\Main\Localization\Loc;
11use \Bitrix\Forum\Internals\Error\Error;
12use \Bitrix\Main\Event;
13use \Bitrix\Main\EventResult;
14use \Bitrix\Main\ArgumentException;
15
16Loc::loadMessages(__FILE__);
17
18class Comment extends BaseObject
19{
20
21 const ERROR_PARAMS_MESSAGE = 'params0006';
22 const ERROR_PERMISSION = 'params0007';
23 const ERROR_MESSAGE_IS_NULL = 'params0008';
24 const ERROR_PARAMS_TYPE = 'params0009';
25
26
27 /* @var integer */
28 private $id = 0;
29 /* @var array */
30 private $message = null;
31
32 private function prepareFields(array &$params, ErrorCollection $errorCollectionParam)
33 {
34 $result = array(
35 "FORUM_ID" => $this->topic["FORUM_ID"],
36 "TOPIC_ID" => $this->topic["ID"],
37 "POST_MESSAGE" => trim($params["POST_MESSAGE"]),
38 "AUTHOR_ID" => $params["AUTHOR_ID"],
39 "AUTHOR_NAME" => trim($params["AUTHOR_NAME"]),
40 "AUTHOR_EMAIL" => trim($params["AUTHOR_EMAIL"]),
41 "USE_SMILES" => ($params["USE_SMILES"] == "Y" ? "Y" : "N"),
42 "APPROVED" => $this->topic["APPROVED"],
43 "XML_ID" => $this->getEntity()->getXmlId(),
44 "AUX" => ($params["AUX"] ?? 'N'),
45 "AUX_DATA" => ($params["AUX_DATA"] ?? ''),
46 ) + array_intersect_key($params, array_flip([
47 "POST_DATE", "SOURCE_ID",
48 "AUTHOR_IP", "AUTHOR_REAL_IP",
49 "GUEST_ID"
50 ]));
51
53 if (isset($params["SERVICE_TYPE"]))
54 {
55 if (!in_array($params["SERVICE_TYPE"], \Bitrix\Forum\Comments\Service\Manager::getTypesList()))
56 {
57 $errorCollection->addOne(new Error(Loc::getMessage("FORUM_CM_ERR_TYPE_INCORRECT"), self::ERROR_PARAMS_TYPE));
58 }
59 else
60 {
61 $result["SERVICE_TYPE"] = $params["SERVICE_TYPE"];
62 if (!isset($params["SERVICE_DATA"]))
63 {
64 if (($result["SERVICE_TYPE"] === \Bitrix\Forum\Comments\Service\Manager::TYPE_TASK_INFO ||
65 $result["SERVICE_TYPE"] === \Bitrix\Forum\Comments\Service\Manager::TYPE_TASK_CREATED)
66 && JSon::decode($result["POST_MESSAGE"]) == $params["AUX_DATA"])
67 {
68 $params["SERVICE_DATA"] = $result["POST_MESSAGE"];
69 $result["POST_MESSAGE"] = "";
70 }
71 else
72 {
73 $params["SERVICE_DATA"] = Json::encode($params["AUX_DATA"] ?? []);
74 }
75 }
76 $result["SERVICE_DATA"] = $params["SERVICE_DATA"];
77 if ($result["POST_MESSAGE"] == "" &&
78 ($handler = \Bitrix\Forum\Comments\Service\Manager::find(
79 ["SERVICE_TYPE" => $result["SERVICE_TYPE"]]
80 )))
81 {
82 $result["POST_MESSAGE"] = $handler->getText($result["SERVICE_DATA"]);
83 }
84 }
85 }
86 if ($result["POST_MESSAGE"] == '')
87 {
88 $errorCollection->addOne(new Error(Loc::getMessage("FORUM_CM_ERR_EMPTY_TEXT"), self::ERROR_PARAMS_MESSAGE));
89 }
90
91 if ($result["AUTHOR_NAME"] == '' && $result["AUTHOR_ID"] > 0)
92 $result["AUTHOR_NAME"] = self::getUserName($result["AUTHOR_ID"]);
93 if ($result["AUTHOR_NAME"] == '')
94 $errorCollection->addOne(new Error(Loc::getMessage("FORUM_CM_ERR_EMPTY_AUTHORS_NAME"), self::ERROR_PARAMS_MESSAGE));
95
96 if (is_array($params["FILES"]) && in_array($this->forum["ALLOW_UPLOAD"], array("Y", "F", "A")))
97 {
98 $result["FILES"] = array();
99 foreach ($params["FILES"] as $key => $val)
100 {
101 if (intval($val["FILE_ID"]) > 0 && $val["del"] !== "Y")
102 {
103 unset($val["del"]);
104 }
105 $result["FILES"][$key] = $val;
106 }
107 $res = array(
108 "FORUM_ID" => $this->forum["ID"],
109 "TOPIC_ID" => $this->topic["ID"],
110 "MESSAGE_ID" => 0,
111 "USER_ID" => $result["AUTHOR_ID"],
112 "FORUM" => $this->forum
113 );
114 if (!\CForumFiles::checkFields($result["FILES"], $res, "NOT_CHECK_DB"))
115 {
116 $text = "File upload error.";
117 if (($ex = $this->getApplication()->getException()) && $ex)
118 $text = $ex->getString();
119 $errorCollection->addOne(new Error($text, self::ERROR_PARAMS_MESSAGE));
120 }
121 }
122 if ($result["APPROVED"] != "N")
123 {
124 $result["APPROVED"] = ($this->forum["MODERATION"] != "Y" || $this->getEntity()->canModerate($this->getUser()->getId())) ? "Y" : "N";
125 }
126 if ($errorCollection->hasErrors())
127 {
128 $errorCollectionParam->add($errorCollection->toArray());
129 return false;
130 }
131
132 global $USER_FIELD_MANAGER;
133 $ufData = array_intersect_key(
134 $params,
136 );
137 if (!empty($ufData))
138 {
139 $USER_FIELD_MANAGER->editFormAddFields(Forum\MessageTable::getUfId(), $result, ["FORM" => $ufData]);
140 }
141
143 return true;
144 }
145
146 public function appendUserFields(array &$params): static
147 {
148 global $USER_FIELD_MANAGER;
149
151
152 return $this;
153 }
154
155 private function updateStatisticModule($messageId)
156 {
157 if (Loader::includeModule("statistic"))
158 {
159 $forumEvent1 = $this->forum["EVENT1"];
160 $forumEvent2 = $this->forum["EVENT2"];
161 $forumEvent3 = $this->forum["EVENT3"];
162 if (empty($forumEvent3))
163 {
164 $site = (array) \CForumNew::getSites($this->forum["ID"]);
165 $forumEvent3 = \CForumNew::preparePath2Message((array_key_exists(SITE_ID, $site) ? $site[SITE_ID] : reset($site)),
166 array(
167 "FORUM_ID" => $this->forum["ID"],
168 "TOPIC_ID" => $this->topic["ID"],
169 "MESSAGE_ID" => $messageId
170 )
171 );
172 }
173 \CStatistics::set_Event($forumEvent1, $forumEvent2, $forumEvent3);
174 }
175 }
176
182 public function add(array $params)
183 {
184 $aux = (isset($params['AUX']) && $params['AUX'] === "Y");
185 $auxData = ($params['AUX_DATA'] ?? '');
186
187 $params = array(
188 "SOURCE_ID" => $params["SOURCE_ID"] ?? 0,
189
190 "POST_DATE" => array_key_exists("POST_DATE", $params) ? $params["POST_DATE"] : new \Bitrix\Main\Type\DateTime(),
191 "POST_MESSAGE" => trim($params["POST_MESSAGE"]),
192 "FILES" => $params["FILES"] ?? null,
193
194 "USE_SMILES" => $params["USE_SMILES"],
195
196 "AUTHOR_ID" => $this->getUser()->getId(),
197 "AUTHOR_NAME" => trim($params["AUTHOR_NAME"] ?? ''),
198 "AUTHOR_EMAIL" => trim($params["AUTHOR_EMAIL"] ?? ''),
199
200 "AUTHOR_IP" => $params["AUTHOR_IP"] ?? "<no address>",
201 "AUTHOR_REAL_IP" => $params["AUTHOR_REAL_IP"] ?? "<no address>",
202 "GUEST_ID" => $params["GUEST_ID"] ?? null,
203
204 "AUX" => $params["AUX"] ?? null,
205 "AUX_DATA" => $auxData,
206 "SERVICE_TYPE" => ($params["SERVICE_TYPE"] ?? null),
207 "SERVICE_DATA" => ($params["SERVICE_DATA"] ?? null),
208 ) + array_filter($params, fn($key) => strpos($key, 'UF_') === 0, ARRAY_FILTER_USE_KEY);
209
210 if ($this->prepareFields($params, $this->errorCollection))
211 {
212 /***************** Events OnBeforeCommentAdd ******************/
213 $event = new Event("forum", "OnBeforeCommentAdd", [
214 $this->getEntity()->getType(),
215 $this->getEntity()->getId(),
216 $params
217 ]);
218 $event->send($this);
219 if($event->getResults())
220 {
221 foreach($event->getResults() as $eventResult)
222 {
223 if($eventResult->getType() != EventResult::SUCCESS)
224 {
225 $run = false;
226 break;
227 }
228 }
229 }
230 /***************** /Events *****************************************/
231
232 $topic = \Bitrix\Forum\Topic::getById($params["TOPIC_ID"]);
234
235 if ($result->isSuccess())
236 {
237 $mid = $result->getId();
238
239 if (!$aux)
240 {
241 $this->updateStatisticModule($mid);
242 \CForumMessage::sendMailMessage($mid, array(), false, "NEW_FORUM_MESSAGE");
243 }
244
245 $this->setComment($mid);
246
247 if (
248 !$aux // create task from livefeed
249 || $auxData <> '' // tasks commentposter, add to livefeed
250 )
251 {
252 $event = new Event("forum", "OnAfterCommentAdd", array(
253 $this->getEntity()->getType(),
254 $this->getEntity()->getId(),
255 array(
256 "TOPIC_ID" => $this->topic["ID"],
257 "MESSAGE_ID" => $mid,
258 "PARAMS" => $params,
259 "MESSAGE" => $this->getComment(),
260 "AUX_DATA" => $auxData
261 ))
262 );
263 $event->send();
264 }
265
266 return $this->getComment();
267 }
268 $this->errorCollection->addFromResult($result);
269 }
270 return false;
271 }
272
277 public function edit(array $params)
278 {
279 $paramsRaw = $params;
280 if ($this->message === null)
281 {
282 $this->errorCollection->addOne(new Error(Loc::getMessage("FORUM_CM_ERR_COMMENT_IS_LOST1"), self::ERROR_MESSAGE_IS_NULL));
283 }
284 else
285 {
286 $run = true;
287 $fields = array(
288 $this->getEntity()->getType(),
289 $this->getEntity()->getId(),
290 array(
291 "TOPIC_ID" => $this->topic["ID"],
292 "MESSAGE_ID" => $this->message["ID"],
293 "PARAMS" => &$paramsRaw,
294 "ACTION" => "EDIT",
295 "MESSAGE" => $this->getComment()
296 )
297 );
298 /***************** Events OnBeforeCommentUpdate ******************/
299 $event = new Event("forum", "OnBeforeCommentUpdate", $fields);
300 $event->send($this);
301 if($event->getResults())
302 {
303 foreach($event->getResults() as $eventResult)
304 {
305 if($eventResult->getType() != EventResult::SUCCESS)
306 {
307 $run = false;
308 break;
309 }
310 }
311 }
312 /***************** /Events *****************************************/
313 if (!$run)
314 {
315 $text = Loc::getMessage("ADDMESS_ERROR_EDIT_MESSAGE");
316 if (($str = $this->getApplication()->getException()) && $str)
317 $text = $str->getString();
318 $this->errorCollection->addOne(new Error($text, self::ERROR_PARAMS_MESSAGE));
319 }
320 else if (($params = array(
321 "POST_MESSAGE" => trim($params["POST_MESSAGE"]),
322 "AUTHOR_ID" => $this->message["AUTHOR_ID"],
323 "AUTHOR_NAME" => $params["AUTHOR_NAME"] ?? $this->message["AUTHOR_NAME"],
324 "AUTHOR_EMAIL" => $params["AUTHOR_EMAIL"] ?? $this->message["AUTHOR_EMAIL"],
325 "USE_SMILES" => $params["USE_SMILES"] ?? 'Y',
326 "FILES" => $params["FILES"] ?? [],
327 "AUX" => $params["AUX"] ?? null,
328 "AUX_DATA" => $params["AUX_DATA"] ?? null,
329 ) + array_filter($params, fn($key) => strpos($key, 'UF_') === 0, ARRAY_FILTER_USE_KEY))
330 && $this->prepareFields($params, $this->errorCollection)
331 )
332 {
333 if (array_key_exists("POST_DATE", $paramsRaw))
334 {
335 $params["POST_DATE"] = $paramsRaw["POST_DATE"];
336 }
337 if (array_key_exists("EDIT_REASON", $paramsRaw))
338 {
339 $params += array(
340 "EDITOR_ID" => $this->getUser()->getId(),
341 "EDITOR_NAME" => trim($paramsRaw["EDITOR_NAME"]),
342 "EDITOR_EMAIL" => trim($paramsRaw["EDITOR_EMAIL"]),
343 "EDIT_REASON" => trim($paramsRaw["EDIT_REASON"]),
344 "EDIT_DATE" => ""
345 );
346 if ($params["EDITOR_NAME"] == '')
347 $params["EDITOR_NAME"] = ($params["EDITOR_ID"] > 0 ? self::getUserName($params["EDITOR_ID"]) : Loc::getMessage("GUEST"));
348 }
349 $result = \Bitrix\Forum\Message::getById($this->message["ID"])->edit($params);
350 if ($result->isSuccess())
351 {
352 $mid = $this->message["ID"];
353 unset($GLOBALS["FORUM_CACHE"]["MESSAGE"][$mid]);
354 unset($GLOBALS["FORUM_CACHE"]["MESSAGE_FILTER"][$mid]);
355
356 if ($params["AUTHOR_ID"] != $this->getUser()->getId() || Option::get("forum", "LOGS", "Q") < "U")
357 {
358 $resLog = array();
359 foreach ($paramsRaw as $key => $val)
360 {
361 if (!isset($this->message[$key]) || $val == $this->message[$key])
362 continue;
363 else if ($key == "FILES")
364 $resLog["FILES"] = GetMessage("F_ATTACH_IS_MODIFIED");
365 else
366 $resLog[$key] = array(
367 "before" => $this->message[$key],
368 "after" => $val
369 );
370 }
371 if (!empty($resLog))
372 {
373 $resLog["FORUM_ID"] = $this->forum["ID"];
374 $resLog["TOPIC_ID"] = $this->topic["ID"];
375 $resLog["TITLE"] = $this->topic["TITLE"];
376 \CForumEventLog::log("message", "edit", $this->message["ID"], serialize($resLog));
377 }
378 }
379 $this->updateStatisticModule($mid);
380 \CForumMessage::sendMailMessage($mid, array(), false, "EDIT_FORUM_MESSAGE");
381
382 $this->setComment($mid);
383 $fields["PARAMS"] = $params;
384 /***************** Events OnAfterCommentUpdate *******************/
385 $event = new Event("forum", "OnAfterCommentUpdate", $fields);
386 $event->send();
387 /***************** /Events *****************************************/
388 return $this->getComment();
389 }
390 $this->errorCollection->addFromResult($result);
391 }
392 }
393 return false;
394 }
395
396 public function delete()
397 {
398 if ($this->message === null)
399 {
400 $this->errorCollection->addOne(new Error(Loc::getMessage("FORUM_CM_ERR_COMMENT_IS_LOST2"), self::ERROR_MESSAGE_IS_NULL));
401 }
402 else
403 {
404 $run = true;
405 $fields = array(
406 $this->getEntity()->getType(),
407 $this->getEntity()->getId(),
408 array(
409 "TOPIC_ID" => $this->topic["ID"],
410 "MESSAGE_ID" => $this->message["ID"],
411 "MESSAGE" => $this->getComment(),
412 "ACTION" => "DEL",
413 'USER_ID' => $this->getUser()?->getId(),
414 ));
415 /***************** Events OnBeforeCommentDelete ******************/
416 $event = new Event("forum", "OnBeforeCommentDelete", $fields);
417 $event->send($this);
418 if($event->getResults())
419 {
420 foreach($event->getResults() as $eventResult)
421 {
422 if($eventResult->getType() != EventResult::SUCCESS)
423 {
424 $run = false;
425 break;
426 }
427 }
428 }
429 /***************** /Events *****************************************/
430 if ($run && \CForumMessage::delete($this->message["ID"]))
431 {
432 \CForumEventLog::log("message", "delete", $this->message["ID"], serialize($this->message + array("TITLE" => $this->topic["TITLE"])));
433 /***************** Events OnCommentDelete ************************/
434 $event = new Event("forum", "OnCommentDelete", $fields);
435 $event->send();
436 /***************** Events OnAfterCommentUpdate *********************/
437 $event = new Event("forum", "OnAfterCommentUpdate", $fields); // It is not a mistake
438 $event->send();
439 /***************** /Events *****************************************/
440 }
441 else
442 {
443 $text = Loc::getMessage("FORUM_CM_ERR_DELETE");
444 if (($ex = $this->getApplication()->getException()) && $ex)
445 $text = $ex->getString();
446 $this->errorCollection->addOne(new Error($text, self::ERROR_PARAMS_MESSAGE));
447 }
448 }
449 return true;
450 }
451
452 public function moderate($show)
453 {
454 if ($this->message === null)
455 {
456 $this->errorCollection->addOne(new Error(Loc::getMessage("FORUM_CM_ERR_COMMENT_IS_LOST3"), self::ERROR_MESSAGE_IS_NULL));
457 }
458 else
459 {
460 $run = true;
461 $fields = array(
462 $this->getEntity()->getType(),
463 $this->getEntity()->getId(),
464 array(
465 "TOPIC_ID" => $this->topic["ID"],
466 "MESSAGE_ID" => $this->message["ID"],
467 "MESSAGE" => $this->getComment(),
468 "ACTION" => $show ? "SHOW" : "HIDE",
469 "PARAMS" => array("APPROVED" => ($show ? "Y" : "N"))
470 ));
471 /***************** Events OnBeforeCommentModerate ****************/
472 $event = new Event("forum", "OnBeforeCommentModerate", $fields);
473 $event->send($this);
474 if($event->getResults())
475 {
476 foreach($event->getResults() as $eventResult)
477 {
478 if($eventResult->getType() != EventResult::SUCCESS)
479 {
480 $run = false;
481 break;
482 }
483 }
484 }
485 /***************** /Events *****************************************/
486 if ($run && $this->message["APPROVED"] == $fields[2]["PARAMS"]["APPROVED"] || ($mid = \CForumMessage::update($this->message["ID"], $fields[2]["PARAMS"])) > 0)
487 {
488 $this->setComment($this->message["ID"]);
489 /***************** Event onMessageModerate ***********************/
490 $event = new Event("forum", "onMessageModerate", array($this->message["ID"], ($show ? "SHOW" : "HIDE"), $this->message, $this->topic));
491 $event->send();
492 /***************** Events OnCommentModerate ************************/
493 $event = new Event("forum", "OnCommentModerate", $fields);
494 $event->send();
495 /***************** Events OnAfterCommentUpdate *********************/
496 $event = new Event("forum", "OnAfterCommentUpdate", $fields); // It is not a mistake
497 $event->send();
498 /***************** /Events *****************************************/
499 $res = serialize(array(
500 "ID" => $this->message["ID"],
501 "AUTHOR_NAME" => $this->message["AUTHOR_NAME"],
502 "POST_MESSAGE" => $this->message["POST_MESSAGE"],
503 "TITLE" => $this->topic["TITLE"],
504 "TOPIC_ID" => $this->topic["ID"],
505 "FORUM_ID" => $this->topic["FORUM_ID"]));
506 \CForumMessage::sendMailMessage($this->message["ID"], array(), false, ($show ? "NEW_FORUM_MESSAGE" : "EDIT_FORUM_MESSAGE"));
507 \CForumEventLog::log("message", ($show ? "approve" : "unapprove"), $this->message["ID"], $res);
508 return $this->getComment();
509 }
510 else
511 {
512 $text = Loc::getMessage("FORUM_CM_ERR_MODERATE");
513 if (($ex = $this->getApplication()->getException()) && $ex)
514 $text = $ex->getString();
515 $this->errorCollection->addOne(new Error($text, self::ERROR_PARAMS_MESSAGE));
516 }
517 }
518 return false;
519 }
520
521 public function canEdit()
522 {
523 $result = false;
524 if ($this->message === null)
525 {
526 $this->errorCollection->addOne(new Error(Loc::getMessage("FORUM_CM_ERR_COMMENT_IS_LOST4"), self::ERROR_MESSAGE_IS_NULL));
527 }
528 else
529 {
530 $result = ($this->getEntity()->canEdit($this->getUser()->getId()) || (
531 ((int) $this->message["AUTHOR_ID"] > 0) &&
532 ((int) $this->message["AUTHOR_ID"] == (int) $this->getUser()->getId()) &&
533 $this->getEntity()->canEditOwn($this->getUser()->getId())
534 ));
535 }
536 return $result;
537 }
538
542 public function canEditOwn()
543 {
544 return $this->getEntity()->canEditOwn($this->getUser()->getId());
545 }
546
550 public function canDelete()
551 {
552 return $this->canEdit();
553 }
554
555 public function setComment($id)
556 {
557 $id = intval($id);
558 $message = ($id > 0 ? \CForumMessage::getById($id) : null);
559 if (!empty($message))
560 {
561 if ($message["TOPIC_ID"] != $this->topic["ID"])
562 {
563 throw new ArgumentException(Loc::getMessage("ACCESS_DENIED"), self::ERROR_PERMISSION);
564 }
565 $this->id = $id;
566 $this->message = $message;
567 }
568 }
569
570 public function getComment()
571 {
572 return $this->message;
573 }
574
581 public static function createFromId(Feed $feed, $id)
582 {
583 $forum = $feed->getForum();
584 $comment = new Comment($forum["ID"], $feed->getEntity()->getFullId(), $feed->getUser()->getId());
585 $comment->getEntity()->setPermission($feed->getUser()->getId(), $feed->getEntity()->getPermission($feed->getUser()->getId()));
586 $comment->setComment($id);
587 return $comment;
588 }
589
594 public static function create(Feed $feed)
595 {
596 $forum = $feed->getForum();
597 $comment = new Comment($forum["ID"], $feed->getEntity()->getFullId(), $feed->getUser()->getId());
598 $comment->getEntity()->setPermission($feed->getUser()->getId(), $feed->getEntity()->getPermission($feed->getUser()->getId()));
599 return $comment;
600 }
601}
if(! $messageFields||!isset($messageFields['message_id'])||!isset($messageFields['status'])||!CModule::IncludeModule("messageservice")) $messageId
Определения callback_ismscenter.php:26
getUserName($userId)
Определения baseobject.php:298
moderate($show)
Определения comment.php:452
edit(array $params)
Определения comment.php:277
static createFromId(Feed $feed, $id)
Определения comment.php:581
const ERROR_MESSAGE_IS_NULL
Определения comment.php:23
const ERROR_PARAMS_MESSAGE
Определения comment.php:21
const ERROR_PERMISSION
Определения comment.php:22
add(array $params)
Определения comment.php:182
setComment($id)
Определения comment.php:555
static create(Feed $feed)
Определения comment.php:594
const ERROR_PARAMS_TYPE
Определения comment.php:24
appendUserFields(array &$params)
Определения comment.php:146
static create($parentObject, array $fields)
Определения message.php:697
static getUfId()
Определения message.php:91
add(array $errors)
Определения errorcollection.php:32
Определения error.php:15
Определения event.php:5
static includeModule($moduleName)
Определения loader.php:67
$str
Определения commerceml2.php:63
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
global $USER_FIELD_MANAGER
Определения attempt.php:6
$result
Определения get_property_values.php:14
$mid
Определения options.php:27
GetMessage($name, $aReplace=null)
Определения tools.php:3397
Определения collection.php:2
$GLOBALS['____1690880296']
Определения license.php:1
$message
Определения payment.php:8
$event
Определения prolog_after.php:141
if(empty($signedUserToken)) $key
Определения quickway.php:257
$text
Определения template_pdf.php:79
$comment
Определения template.php:15
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799
$val
Определения options.php:1793
const SITE_ID
Определения sonet_set_content_view.php:12
$site
Определения yandex_run.php:614
$fields
Определения yandex_run.php:501