1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
yandex2.php
См. документацию.
1<?php
2
4
6{
7
8 public function __construct()
9 {
10 }
11
12 public static function getImapData()
13 {
14 return array(
15 'server' => 'imap.yandex.ru',
16 'port' => 993,
17 'secure' => true,
18 );
19 }
20
34 public static function addDomain($token, $domain, &$error)
35 {
36 $result = self::post('https://pddimp.yandex.ru/api2/admin/domain/register', array(
37 'token' => $token,
38 'domain' => $domain
39 ));
40
41 if (isset($result['success']) && $result['success'] == 'ok')
42 return $result;
43
44 self::setError($result, $error);
45 return false;
46 }
47
61 public static function getDomainStatus($token, $domain, &$error)
62 {
63 $result = self::get('https://pddimp.yandex.ru/api2/admin/domain/details', array(
64 'token' => $token,
65 'domain' => $domain
66 ));
67
68 if (isset($result['success']) && $result['success'] == 'ok')
69 return $result;
70
71 self::setError($result, $error);
72 return false;
73 }
74
88 public static function checkDomainStatus($token, $domain, &$error)
89 {
90 $result = self::get('https://pddimp.yandex.ru/api2/admin/domain/registration_status', array(
91 'token' => $token,
92 'domain' => $domain
93 ));
94
95 if (isset($result['success']) && $result['success'] == 'ok')
96 return $result;
97
98 self::setError($result, $error);
99 return false;
100 }
101
116 public static function deleteDomain($token, $domain, &$error)
117 {
118 $result = self::post('https://pddimp.yandex.ru/api2/admin/domain/delete', array(
119 'token' => $token,
120 'domain' => $domain
121 ));
122
123 if (isset($result['success']) && $result['success'] == 'ok')
124 return true;
125
126 self::setError($result, $error);
127 return false;
128 }
129
145 public static function checkUser($token, $domain, $login, &$error)
146 {
147 if (in_array(mb_strtolower($login), array('abuse', 'postmaster')))
148 return 'exists';
149
150 $result = self::get('https://pddimp.yandex.ru/api2/admin/email/details', array(
151 'token' => $token,
152 'domain' => $domain,
153 'login' => $login
154 ));
155
156 if (isset($result['success']) && $result['success'] == 'ok')
157 return 'exists';
158 else if (isset($result['error']) && $result['error'] == 'account_not_found')
159 return 'nouser';
160
161 self::setError($result, $error);
162 return false;
163 }
164
189 public static function addUser($token, $domain, $login, $password, &$error)
190 {
191 $result = self::post('https://pddimp.yandex.ru/api2/admin/email/add', array(
192 'token' => $token,
193 'domain' => $domain,
194 'login' => $login,
195 'password' => $password
196 ));
197
198 if (isset($result['success']) && $result['success'] == 'ok')
199 return $result['uid'];
200
201 self::setError($result, $error);
202 return false;
203 }
204
221 public static function getOAuthToken($token, $domain, $login, &$error)
222 {
223 $result = self::get('https://pddimp.yandex.ru/api2/admin/email/get_oauth_token', array(
224 'token' => $token,
225 'domain' => $domain,
226 'login' => $login
227 ));
228
229 if (isset($result['success']) && $result['success'] == 'ok')
230 return $result['oauth-token'];
231
232 self::setError($result, $error);
233 return false;
234 }
235
236 public static function passport($country, $oauthToken, $errorUrl)
237 {
238 switch ($country)
239 {
240 case 'ru':
241 case 'ua':
242 $passportZone = 'ru'; break;
243 case 'en':
244 case 'de':
245 $passportZone = 'com'; break;
246 default:
247 $passportZone = 'com';
248 }
249
250 return sprintf(
251 'https://passport.yandex.%s/passport?mode=oauth&type=trusted-pdd-partner&error_retpath=%s&access_token=%s',
252 $passportZone, urlencode($errorUrl), urlencode($oauthToken)
253 );
254 }
255
261 public static function getMailInfo($token, $domain, $login, &$error)
262 {
263 $result = self::get('https://pddimp.yandex.ru/api2/admin/email/counters', array(
264 'token' => $token,
265 'domain' => $domain,
266 'login' => $login
267 ));
268
269 if (isset($result['success']) && $result['success'] == 'ok')
270 return $result['counters']['unread'];
271
272 self::setError($result, $error);
273 return false;
274 }
275
292 public static function deleteUser($token, $domain, $login, &$error)
293 {
294 $result = self::post('https://pddimp.yandex.ru/api2/admin/email/del', array(
295 'token' => $token,
296 'domain' => $domain,
297 'login' => $login
298 ));
299
300 if (isset($result['success']) && $result['success'] == 'ok')
301 return true;
302
303 self::setError($result, $error);
304 return false;
305 }
306
326 public static function editUser($token, $domain, $login, $data, &$error)
327 {
329 'token' => $token,
330 'domain' => $domain,
331 'login' => $login
332 );
333
334 foreach ($data as $key => $value)
335 {
336 switch ($key)
337 {
338 case 'password':
339 case 'iname':
340 case 'fname':
341 case 'hintq':
342 case 'hinta':
343 case 'birth_date':
344 $postData[$key] = (string) $value;
345 break;
346 case 'enabled':
347 $postData[$key] = (boolean) $value;
348 break;
349 case 'sex':
350 $postData[$key] = (integer) $value;
351 break;
352 }
353 }
354
355 $result = self::post('https://pddimp.yandex.ru/api2/admin/email/edit', $postData);
356
357 if (isset($result['success']) && $result['success'] == 'ok')
358 return $result['uid'];
359
360 self::setError($result, $error);
361 return false;
362 }
363
377 public static function getDomainUsers($token, $domain, $per_page = 30, $page = 0, &$error)
378 {
379 $result = self::get('https://pddimp.yandex.ru/api2/admin/email/list', array(
380 'token' => $token,
381 'domain' => $domain,
382 'on_page' => $per_page,
383 'page' => $page
384 ));
385
386 if (isset($result['success']) && $result['success'] == 'ok')
387 return $result;
388
389 self::setError($result, $error);
390 return false;
391 }
392
393 public static function checkLogo($token, $domain, &$error)
394 {
395 $result = self::get('https://pddimp.yandex.ru/api2/admin/domain/logo/check', array(
396 'token' => $token,
397 'domain' => $domain
398 ));
399
400 if (isset($result['success']) && $result['success'] == 'ok')
401 return $result['logo-url'];
402
403 self::setError($result, $error);
404 return false;
405 }
406
407 public static function setLogo($token, $domain, $file, &$error)
408 {
409 $http = new \Bitrix\Main\Web\HttpClient();
410
411 $boundary = 'CMY2' . md5(rand().time());
412
413 $data = '';
414
415 $data .= '--' . $boundary . "\r\n";
416 $data .= 'Content-Disposition: form-data; name="token"' . "\r\n\r\n";
417 $data .= $token . "\r\n";
418
419 $data .= '--' . $boundary . "\r\n";
420 $data .= 'Content-Disposition: form-data; name="domain"' . "\r\n\r\n";
421 $data .= $domain . "\r\n";
422
423 $data .= '--' . $boundary . "\r\n";
424 $data .= 'Content-Disposition: form-data; name="file"; filename="logo"' . "\r\n";
425 $data .= 'Content-Type: application/octet-stream' . "\r\n\r\n";
426 $data .= file_get_contents($file) . "\r\n";
427
428 $data .= '--' . $boundary . "--\r\n";
429
430 $http->setHeader('Content-type', 'multipart/form-data; boundary='.$boundary);
431 $http->setHeader('Content-length', strlen($data));
432
433 $response = $http->post('https://pddimp.yandex.ru/api2/admin/domain/logo/set', $data);
434 $result = json_decode($response, true);
435
436 if (isset($result['success']) && $result['success'] == 'ok')
437 return true;
438
439 self::setError($result, $error);
440 return false;
441 }
442
443 public static function setCountry($token, $domain, $country, &$error)
444 {
445 $result = self::post('https://pddimp.yandex.ru/api2/admin/domain/settings/set_country', array(
446 'token' => $token,
447 'domain' => $domain,
448 'country' => $country
449 ));
450
451 if (isset($result['success']) && $result['success'] == 'ok')
452 return true;
453
454 self::setError($result, $error);
455 return false;
456 }
457
458 private static function post($url, $data)
459 {
460 $http = new \Bitrix\Main\Web\HttpClient();
461
462 if (!empty($data['token']))
463 {
464 $http->setHeader('PddToken', $data['token']);
465 }
466
467 $response = $http->post($url, $data);
468 $result = json_decode($response, true);
469
470 return $result;
471 }
472
473 private static function get($url, $data)
474 {
475 $http = new \Bitrix\Main\Web\HttpClient();
476
477 if (!empty($data['token']))
478 {
479 $http->setHeader('PddToken', $data['token']);
480 }
481
482 $response = $http->get($url.'?'.http_build_query($data));
483 $result = json_decode($response, true);
484
485 return $result;
486 }
487
488 private static function setError($result, &$error)
489 {
490 $error = empty($result['error'])
491 ? 'unknown'
492 : $result['error'];
493 }
494
495}
$login
Определения change_password.php:8
Определения yandex2.php:6
__construct()
Определения yandex2.php:8
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
$data['IS_AVAILABLE']
Определения .description.php:13
</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
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
$country
Определения payment.php:59
if(empty($signedUserToken)) $key
Определения quickway.php:257
$page
Определения order_form.php:33
$password
Определения result.php:7
$response
Определения result.php:21
$postData
Определения index.php:29
$error
Определения subscription_card_product.php:20
$url
Определения iframe.php:7