1C-Bitrix 25.700.0
rest.php
См. документацию.
1<?php
8namespace Bitrix\Main\UserConsent;
9
10use Bitrix\Main\Error;
11use Bitrix\Rest\RestException;
12
17class Rest
18{
27 public static function getAgreementList($query, $nav = 0, \CRestServer $server)
28 {
30 'select' => array('ID', 'NAME', 'ACTIVE', 'LANGUAGE_ID'),
31 'order' => array('ID' => 'DESC')
32 ))->fetchAll();
33 }
34
44 public static function getAgreementText($query, $nav = 0, \CRestServer $server)
45 {
46 $query = array_change_key_case($query, CASE_LOWER);
47 $id = empty($query['id']) ? null : $query['id'];
48 $replace = empty($query['replace']) ? [] : $query['replace'];
49 $replace = is_array($replace) ? $replace : [];
50
51 $agreement = self::getAgreementById($id);
52 $agreement->setReplace($replace);
53
54 return [
55 'LABEL' => $agreement->getLabelText(),
56 'TEXT' => $agreement->getText(),
57 ];
58 }
59
69 public static function addConsent($query, $nav = 0, \CRestServer $server)
70 {
71 $query = array_change_key_case($query, CASE_UPPER);
72 $agreementId = $query['AGREEMENT_ID'] ?? null;
73 self::getAgreementById($agreementId);
74
76 'AGREEMENT_ID' => $agreementId,
77 'USER_ID' => $query['USER_ID'] ?? null,
78 'IP' => $query['IP'] ?? null,
79 'URL' => $query['URL'] ?? null,
80 'ORIGIN_ID' => $query['ORIGIN_ID'] ?? null,
81 'ORIGINATOR_ID' => $query['ORIGINATOR_ID'] ?? null,
82 ]);
83
84 if (!$result->isSuccess())
85 {
86 self::printErrors($result->getErrors());
87 }
88
89 return $result->getId();
90 }
91
99 protected static function getAgreementById($id)
100 {
101 $agreement = new Agreement($id);
102 if ($agreement->hasErrors())
103 {
104 self::printErrors($agreement->getErrors());
105 }
106
107 return $agreement;
108 }
109
116 protected static function printErrors(array $errors)
117 {
118 foreach ($errors as $error)
119 {
120 throw new RestException(
121 $error->getMessage(),
122 RestException::ERROR_ARGUMENT,
123 \CRestServer::STATUS_WRONG_REQUEST
124 );
125 }
126 }
127}
static getList(array $parameters=array())
Определения datamanager.php:431
static add(array $data)
Определения datamanager.php:877
</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
$query
Определения get_search.php:11
$errors
Определения iblock_catalog_edit.php:74
Определения handlers.php:8
$error
Определения subscription_card_product.php:20