1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
service.php
См. документацию.
1<?php
8
9namespace Bitrix\Sender\Integration\MessageService\Sms;
10
11use Bitrix\Main\Loader;
12use Bitrix\Main\Web\Uri;
13use Bitrix\MessageService;
14
20{
21 public static function canUse()
22 {
23 return Loader::includeModule('messageservice');
24 }
25
31 public static function getProviders()
32 {
33 $result = array();
34 $list = static::getSenderInfoList();
35 foreach ($list as $item)
36 {
37 $item['from'] = static::getSenderFromList($item['id']);
38
39 $result[] = $item;
40 }
41
42 return $result;
43 }
44
50 public static function getSenderNames()
51 {
52 $list = array();
53 foreach (self::getProviders() as $item)
54 {
55 if (!$item['canUse'] || count($item['from']) == 0)
56 {
57 continue;
58 }
59 foreach ($item['from'] as $number)
60 {
61 $id = $item['id'] . ':' . $number['id'];
62 $name = $item['id'] === 'rest' ? $number['name'] : ($item['shortName'] ?: $item['name']);
63 $list[$id] = $name;
64 }
65 }
66
67 return $list;
68 }
69
75 public static function getDailyLimits()
76 {
78 }
79
90 public static function send($senderId, $from, $to, $text, $authorId = 1)
91 {
92 if (!static::canUse())
93 {
94 return false;
95 }
96
98 if (!$sender)
99 {
100 return false;
101 }
102
104 'AUTHOR_ID' => $authorId,
105 'MESSAGE_TO' => $to,
106 'MESSAGE_BODY' => $text,
107 'MESSAGE_FROM' => $from,
108 'MESSAGE_HEADERS' => array(
109 'module_id' => 'sender'
110 )
111 ), $sender);
112
113 $sendResult = $smsMessage->sendDirectly();
114 return $sendResult->isSuccess();
115 }
116
122 public static function getManageUrl()
123 {
124 return MessageService\Sender\SmsManager::getManageUrl();
125 }
126
132 public static function getLimitsUrl()
133 {
134 return '/crm/configs/sms/?page=limits';
135 }
136
141 protected static function getSenderFromList($senderId)
142 {
143 $list = array();
144 if (static::canUse())
145 {
147 if ($sender)
148 {
149 $list = $sender->getFromList();
150 }
151 }
152 return $list;
153 }
154
159 protected static function getSenderInfoList($getFromList = false)
160 {
161 $info = array();
162 if (static::canUse())
163 {
164 $uri = new Uri(self::getManageUrl());
165 foreach (MessageService\Sender\SmsManager::getSenders() as $sender)
166 {
168 $uri->deleteParams(['sender'])->addParams(['sender' => $sender->getId()]);
169
170 $senderInfo = array(
171 'id' => $sender->getId(),
172 'isConfigurable' => $sender->isConfigurable(),
173 'name' => $sender->getName(),
174 'shortName' => $sender->getShortName(),
175 'canUse' => $sender->canUse(),
176 'isDemo' => $sender->isConfigurable() ? $sender->isDemo() : null,
177 'manageUrl' => $sender->isConfigurable() ?
178 $uri->getLocator() : ''
179 );
180
181 if ($getFromList)
182 {
183 $senderInfo['fromList'] = static::getSenderFromList($sender->getId());
184 }
185
186 $info[] = $senderInfo;
187 }
188 }
189
190 return $info;
191 }
192
193 public static function getFormattedOutputNumber($value)
194 {
195 static $numbers;
196 if (null === $numbers)
197 {
198 $numbers = [];
199 if (static::canUse())
200 {
201 $providers = static::getProviders();
202 foreach ($providers as $provider)
203 {
204 foreach ($provider['from'] as $number)
205 {
206 $numbers[$provider['id'] . ':'. $number['id']] = $number['name'];
207 }
208 }
209 }
210 }
211
212 return $numbers[$value] ?: $value;
213 }
214}
if(!Loader::includeModule('messageservice')) $provider
Определения callback_ednaruimhpx.php:21
static includeModule($moduleName)
Определения loader.php:67
Определения uri.php:17
static createMessage(array $messageFields, Base $sender=null)
Определения smsmanager.php:250
static getSenderById($id)
Определения smsmanager.php:158
static getFormattedOutputNumber($value)
Определения service.php:193
static getSenderFromList($senderId)
Определения service.php:141
static send($senderId, $from, $to, $text, $authorId=1)
Определения service.php:90
</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
if(file_exists($_SERVER['DOCUMENT_ROOT'] . "/urlrewrite.php")) $uri
Определения urlrewrite.php:61
if($NS['step']==6) if( $NS[ 'step']==7) if(COption::GetOptionInt('main', 'disk_space', 0) > 0) $info
Определения backup.php:924
$name
Определения menu_edit.php:35
$text
Определения template_pdf.php:79
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936