1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
domain2.php
См. документацию.
1<?php
2
4{
5
6 public function __construct()
7 {
8 }
9
10 public static function getImapData()
11 {
13
14 return array(
15 'server' => $result['server'],
16 'port' => $result['port'],
17 'secure' => $result['secure'] ? 'Y' : 'N',
18 );
19 }
20
21 public static function addDomain($token, $domain, &$error)
22 {
23 $result = CMailYandex2::addDomain($token, $domain, $error);
24
25 if ($result !== false)
26 {
27 return array(
28 'domain' => $result['domain'],
29 'stage' => $result['stage'],
30 'secrets' => $result['secrets']
31 );
32 }
33 else
34 {
35 $error = self::getErrorCode2($error);
36 return null;
37 }
38 }
39
40 public static function getDomainStatus($token, $domain, &$error)
41 {
43
44 if ($result !== false)
45 {
46 return array(
47 'domain' => $result['domain'],
48 'stage' => $result['stage']
49 );
50 }
51 else
52 {
53 $error = self::getErrorCode2($error);
54 return null;
55 }
56 }
57
58 public static function checkDomainStatus($token, $domain, &$error)
59 {
61
62 if ($result !== false)
63 {
64 return array(
65 'domain' => $result['domain'],
66 'stage' => $result['stage'],
67 'secrets' => $result['secrets'],
68 'last_check' => $result['last_check'],
69 'next_check' => $result['next_check']
70 );
71 }
72 else
73 {
74 $error = self::getErrorCode2($error);
75 return null;
76 }
77 }
78
79 public static function deleteDomain($token, $domain, &$error)
80 {
81 $result = CMailYandex2::deleteDomain($token, $domain, $error);
82
83 if ($result !== false)
84 {
85 return true;
86 }
87 else
88 {
89 $error = self::getErrorCode2($error);
90 return null;
91 }
92 }
93
94 public static function isUserExists($token, $domain, $login, &$error)
95 {
96 $result = CMailYandex2::checkUser($token, $domain, $login, $error);
97
98 switch ($result)
99 {
100 case 'exists':
101 return true;
102 case 'nouser':
103 return false;
104 default:
105 $error = self::getErrorCode($error);
106 return null;
107 }
108 }
109
110 public static function addUser($token, $domain, $login, $password, &$error)
111 {
112 $domain = trim(mb_strtolower($domain));
113 $login = trim(mb_strtolower($login));
114
115 if (empty($domain))
116 {
117 $error = self::getErrorCode('no_domain');
118 return null;
119 }
120
121 if (empty($login))
122 {
123 $error = self::getErrorCode('no_login');
124 return null;
125 }
126
128
129 if ($result !== false)
130 {
132 'DOMAIN' => $domain,
133 'LOGIN' => $login,
134 ));
135
136 // @TODO: temporary fix for simple passwords
137 \CMailYandex2::editUser($token, $domain, $login, array('password' => $password), $dummy);
138
139 return true;
140 }
141 else
142 {
143 $error = self::getErrorCode($error);
144 return null;
145 }
146 }
147
148 public static function getRedirectUrl($locale, $token, $domain, $login, $errorUrl, &$error)
149 {
151
152 if ($result !== false)
153 {
154 return CMailYandex2::passport($locale, $result, $errorUrl);
155 }
156 else
157 {
158 $error = self::getErrorCode($error);
159 return null;
160 }
161 }
162
163 public static function getUnreadMessagesCount($token, $domain, $login, &$error)
164 {
165 $result = CMailYandex2::getMailInfo($token, $domain, $login, $error);
166
167 if ($result !== false)
168 {
169 return intval($result);
170 }
171 else
172 {
173 $error = self::getErrorCode($error);
174 return null;
175 }
176 }
177
178 public static function changePassword($token, $domain, $login, $password, &$error)
179 {
180 $result = CMailYandex2::editUser($token, $domain, $login, array('password' => $password), $error);
181
182 if ($result !== false)
183 {
184 return true;
185 }
186 else
187 {
188 $error = self::getErrorCode($error);
189 return null;
190 }
191 }
192
193 public static function getDomainUsers($token, $domain, &$error, $resync = false)
194 {
195 global $DB;
196
197 $domain = trim(mb_strtolower($domain));
198 $users = array();
199
200 if (empty($domain))
201 {
202 $error = self::getErrorCode('no_domain');
203 return null;
204 }
205
206 if (!$resync)
207 {
209 'filter' => array(
210 '=DOMAIN' => $domain,
211 ),
212 ));
213 if ($res !== false)
214 {
215 while ($item = $res->fetch())
216 $users[] = $item['LOGIN'];
217 }
218 }
219
220 if ($resync || empty($users))
221 {
222 $users = array();
223
224 $page = 0;
225 do
226 {
227 $result = CMailYandex2::getDomainUsers($token, $domain, $per_page = 30, ++$page, $error);
228
229 if ($result === false)
230 break;
231
232 foreach ($result['accounts'] as $email)
233 {
234 list($login, $emailDomain) = explode('@', $email['login'], 2);
235 if ($emailDomain == $domain)
236 $users[] = trim(mb_strtolower($login));
237 }
238 }
239 while ($result['total'] > $per_page*$page);
240
241 $users = array_unique($users);
242
243 if (!$error)
244 {
245 $cached = array();
246
248 'filter' => array(
249 '=DOMAIN' => $domain,
250 ),
251 ));
252 if ($res !== false)
253 {
254 while ($item = $res->fetch())
255 $cached[] = $item['LOGIN'];
256 }
257
258 foreach (array_diff($cached, $users) as $login)
259 {
261 'DOMAIN' => $domain,
262 'LOGIN' => $login,
263 ));
264 }
265 foreach (array_diff($users, $cached) as $login)
266 {
268 'DOMAIN' => $domain,
269 'LOGIN' => $login,
270 ));
271 }
272 }
273 }
274
275 if (empty($users) && $error)
276 {
277 $error = self::getErrorCode($error);
278 return null;
279 }
280 else
281 {
282 sort($users);
283 return $users;
284 }
285 }
286
287 public static function setDomainLogo($token, $domain, $logo, $replace, &$error)
288 {
289 if (!$replace)
290 {
291 $result = CMailYandex2::checkLogo($token, $domain, $error);
292
293 if ($result !== false)
294 {
295 if (preg_match('~^https?://avatars\.yandex\.net/get-for-domain/~i', $result))
296 return false;
297 }
298 else
299 {
300 $error = self::getErrorCode2($error);
301 return null;
302 }
303 }
304
305 $result = CMailYandex2::setLogo($token, $domain, $logo, $error);
306
307 if ($result !== false)
308 {
309 return $result;
310 }
311 else
312 {
313 $error = self::getErrorCode2($error);
314 return null;
315 }
316 }
317
318 public static function selLocale($token, $domain, $locale, &$error)
319 {
320 $result = CMailYandex2::setCountry($token, $domain, $locale, $error);
321
322 if ($result !== false)
323 {
324 return true;
325 }
326 else
327 {
328 $error = self::getErrorCode2($error);
329 return null;
330 }
331 }
332
333 public static function deleteUser($token, $domain, $login, &$error)
334 {
335 $domain = trim(mb_strtolower($domain));
336 $login = trim(mb_strtolower($login));
337
338 if (empty($domain))
339 {
340 $error = self::getErrorCode('no_domain');
341 return null;
342 }
343
344 if (empty($login))
345 {
346 $error = self::getErrorCode('no_login');
347 return null;
348 }
349
350 $result = CMailYandex2::deleteUser($token, $domain, $login, $error);
351
352 if ($result !== false)
353 {
355 'DOMAIN' => $domain,
356 'LOGIN' => $login,
357 ));
358
359 return true;
360 }
361 else
362 {
363 $error = self::getErrorCode($error);
364 return null;
365 }
366 }
367
368 private static function getErrorCode($error)
369 {
370 $errorsList = array(
371 'unknown' => CMail::ERR_API_DEFAULT,
372 'no_token' => CMail::ERR_API_DENIED,
373 'no_domain' => CMail::ERR_API_EMPTY_DOMAIN,
374 'no_ip' => CMail::ERR_API_DEFAULT,
375 'bad_domain' => CMail::ERR_API_BAD_DOMAIN,
376 'prohibited' => CMail::ERR_API_PROHIBITED_DOMAIN,
377 'bad_token' => CMail::ERR_API_DENIED,
378 'no_auth' => CMail::ERR_API_DENIED,
379 'bad_oauth' => CMail::ERR_API_DENIED,
380 'not_allowed' => CMail::ERR_API_DENIED,
381 'blocked' => CMail::ERR_API_DENIED,
382 'no_uid_or_login' => CMail::ERR_API_EMPTY_NAME,
383 'passwd-tooshort' => CMail::ERR_API_SHORT_PASSWORD,
384 'passwd-toolong' => CMail::ERR_API_LONG_PASSWORD,
385 'badpasswd' => CMail::ERR_API_BAD_PASSWORD,
386 'user_blocked' => CMail::ERR_API_DENIED,
387 'account_not_found' => CMail::ERR_API_USER_NOTFOUND,
388 'no_login' => CMail::ERR_API_EMPTY_NAME,
389 'no_password' => CMail::ERR_API_EMPTY_PASSWORD,
390 'occupied' => CMail::ERR_API_NAME_OCCUPIED,
391 'login_reserved' => CMail::ERR_API_NAME_OCCUPIED,
392 'login-empty' => CMail::ERR_API_EMPTY_NAME,
393 'passwd-empty' => CMail::ERR_API_EMPTY_PASSWORD,
394 'login-toolong' => CMail::ERR_API_LONG_NAME,
395 'badlogin' => CMail::ERR_API_BAD_NAME,
396 'not_master_admin' => CMail::ERR_API_DENIED,
397 'get_new_token_please' => CMail::ERR_API_OLD_TOKEN,
398 );
399
400 $error = explode(',', $error);
401 $error = trim($error[count($error)-1]);
402
403 return array_key_exists($error, $errorsList) ? $errorsList[$error] : CMail::ERR_API_DEFAULT;
404 }
405
406 private static function getErrorCode2($error)
407 {
408 $errorsList = array(
409 'unknown' => CMail::ERR_API_DEFAULT,
410 'no_token' => CMail::ERR_API_DENIED,
411 'no_domain' => CMail::ERR_API_EMPTY_DOMAIN,
412 'no_ip' => CMail::ERR_API_DEFAULT,
413 'bad_domain' => CMail::ERR_API_BAD_DOMAIN,
414 'prohibited' => CMail::ERR_API_PROHIBITED_DOMAIN,
415 'bad_token' => CMail::ERR_API_DENIED,
416 'no_auth' => CMail::ERR_API_DENIED,
417 'bad_oauth' => CMail::ERR_API_DENIED,
418 'not_allowed' => CMail::ERR_API_DENIED,
419 'blocked' => CMail::ERR_API_DENIED,
420 'occupied' => CMail::ERR_API_DOMAIN_OCCUPIED,
421 'not_master_admin' => CMail::ERR_API_DENIED,
422 'bad_country' => CMail::ERR_API_DEFAULT,
423 'status_none' => CMail::ERR_API_DEFAULT,
424 'get_new_token_please' => CMail::ERR_API_OLD_TOKEN,
425 );
426
427 $error = explode(',', $error);
428 $error = trim($error[count($error)-1]);
429
430 return array_key_exists($error, $errorsList) ? $errorsList[$error] : CMail::ERR_API_DEFAULT;
431 }
432
433}
$login
Определения change_password.php:8
static getList(array $parameters=array())
Определения datamanager.php:431
static delete($primary)
Определения datamanager.php:1644
static add(array $data)
Определения datamanager.php:877
Определения domain2.php:4
__construct()
Определения domain2.php:6
static setDomainLogo($token, $domain, $logo, $replace, &$error)
Определения domain2.php:287
static getUnreadMessagesCount($token, $domain, $login, &$error)
Определения domain2.php:163
static selLocale($token, $domain, $locale, &$error)
Определения domain2.php:318
static getRedirectUrl($locale, $token, $domain, $login, $errorUrl, &$error)
Определения domain2.php:148
static getDomainUsers($token, $domain, &$error, $resync=false)
Определения domain2.php:193
static changePassword($token, $domain, $login, $password, &$error)
Определения domain2.php:178
static isUserExists($token, $domain, $login, &$error)
Определения domain2.php:94
static getDomainStatus($token, $domain, &$error)
Определения domain2.php:40
static addDomain($token, $domain, &$error)
Определения domain2.php:21
static addUser($token, $domain, $login, $password, &$error)
Определения domain2.php:110
static checkDomainStatus($token, $domain, &$error)
Определения domain2.php:58
static deleteUser($token, $domain, $login, &$error)
Определения domain2.php:333
static deleteDomain($token, $domain, &$error)
Определения domain2.php:79
static getImapData()
Определения domain2.php:10
const ERR_API_DENIED
Определения mail.php:23
const ERR_API_BAD_NAME
Определения mail.php:31
const ERR_API_OLD_TOKEN
Определения mail.php:37
const ERR_API_BAD_PASSWORD
Определения mail.php:32
const ERR_API_LONG_PASSWORD
Определения mail.php:35
const ERR_API_LONG_NAME
Определения mail.php:34
const ERR_API_PROHIBITED_DOMAIN
Определения mail.php:41
const ERR_API_EMPTY_PASSWORD
Определения mail.php:29
const ERR_API_EMPTY_DOMAIN
Определения mail.php:27
const ERR_API_BAD_DOMAIN
Определения mail.php:40
const ERR_API_EMPTY_NAME
Определения mail.php:28
const ERR_API_DOMAIN_OCCUPIED
Определения mail.php:39
const ERR_API_USER_NOTFOUND
Определения mail.php:26
const ERR_API_DEFAULT
Определения mail.php:22
const ERR_API_NAME_OCCUPIED
Определения mail.php:25
const ERR_API_SHORT_PASSWORD
Определения mail.php:30
static getDomainUsers($token, $domain, $per_page=30, $page=0, &$error)
Определения yandex2.php:377
static getMailInfo($token, $domain, $login, &$error)
Определения yandex2.php:261
static checkLogo($token, $domain, &$error)
Определения yandex2.php:393
static getOAuthToken($token, $domain, $login, &$error)
Определения yandex2.php:221
static getDomainStatus($token, $domain, &$error)
Определения yandex2.php:61
static addDomain($token, $domain, &$error)
Определения yandex2.php:34
static setLogo($token, $domain, $file, &$error)
Определения yandex2.php:407
static addUser($token, $domain, $login, $password, &$error)
Определения yandex2.php:189
static checkUser($token, $domain, $login, &$error)
Определения yandex2.php:145
static editUser($token, $domain, $login, $data, &$error)
Определения yandex2.php:326
static checkDomainStatus($token, $domain, &$error)
Определения yandex2.php:88
static deleteUser($token, $domain, $login, &$error)
Определения yandex2.php:292
static setCountry($token, $domain, $country, &$error)
Определения yandex2.php:443
static passport($country, $oauthToken, $errorUrl)
Определения yandex2.php:236
static deleteDomain($token, $domain, &$error)
Определения yandex2.php:116
static getImapData()
Определения yandex2.php:12
</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
$result
Определения get_property_values.php:14
global $DB
Определения cron_frame.php:29
$email
Определения payment.php:49
$page
Определения order_form.php:33
</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
$password
Определения result.php:7
$error
Определения subscription_card_product.php:20