14 $result = self::query(
'https://pddimp.yandex.ru/check_user.xml',
array(
19 if ($resultNode =
$result->selectNodes(
'/page/result'))
20 return $resultNode->textContent();
28 $result = self::query(
'https://pddimp.yandex.ru/reg_user_token.xml',
array(
34 if ($okNode =
$result->selectNodes(
'/page/ok'))
35 return $okNode->getAttribute(
'uid');
43 $result = self::query(
'https://pddimp.yandex.ru/api/user_oauth_token.xml',
array(
49 if ($oauthTokenNode =
$result->selectNodes(
'/action/domains/domain/email/oauth-token'))
50 return $oauthTokenNode->textContent();
62 $passportZone =
'ru';
break;
65 $passportZone =
'com';
break;
67 $passportZone =
'com';
71 'https://passport.yandex.%s/passport?mode=oauth&type=trusted-pdd-partner&error_retpath=%s&access_token=%s',
72 $passportZone, urlencode($errorUrl), urlencode($oauthToken)
78 $result = self::query(
'https://pddimp.yandex.ru/delete_user.xml',
array(
83 if ($okNode =
$result->selectNodes(
'/page/ok'))
92 $result = self::query(
'https://pddimp.yandex.ru/get_mail_info.xml',
array(
97 if ($okNode =
$result->selectNodes(
'/page/ok'))
98 return $okNode->getAttribute(
'new_messages');
107 $result = self::query(
'https://pddimp.yandex.ru/get_user_info.xml',
array(
112 if ($userNode =
$result->selectNodes(
'/page/domain/user'))
115 foreach ($userNode->children() as $userFieldNode)
116 $userInfo[$userFieldNode->name()] = $userFieldNode->textContent();
141 $postData[
'domain_name'] = (string) $value;
157 if ($okNode =
$result->selectNodes(
'/page/ok'))
158 return $okNode->getAttribute(
'uid');
166 $result = self::query(
'https://pddimp.yandex.ru/get_domain_users.xml',
array(
168 'on_page' => $per_page,
172 if ($domainNode =
$result->selectNodes(
'/page/domains/domain'))
174 $domainInfo =
array();
175 foreach ($domainNode->children() as $domainFieldNode)
177 if (in_array($domainFieldNode->name(),
array(
'name',
'status')))
178 $domainInfo[$domainFieldNode->name()] = $domainFieldNode->textContent();
179 if (in_array($domainFieldNode->name(),
array(
'emails-max-count')))
180 $domainInfo[$domainFieldNode->name()] = intval($domainFieldNode->textContent());
181 if ($domainFieldNode->name() ==
'emails')
183 $domainInfo[
'emails'] =
array();
184 foreach ($domainFieldNode->children() as $domainEmailsNode)
186 if (in_array($domainEmailsNode->name(),
array(
'found',
'total')))
187 $domainInfo[
'emails_'.$domainEmailsNode->name()] = $domainEmailsNode->textContent();
188 if ($domainEmailsNode->name() ==
'email')
191 foreach ($domainEmailsNode->children() as $emailNode)
192 $domainInfo[
'emails'][
$key][$emailNode->name()] = $emailNode->textContent();
207 $http = new \Bitrix\Main\Web\HttpClient();
209 $boundary =
'CMY' . md5(rand().time());
213 $data .=
'--' . $boundary .
"\r\n";
214 $data .=
'Content-Disposition: form-data; name="token"' .
"\r\n\r\n";
215 $data .= $token .
"\r\n";
217 $data .=
'--' . $boundary .
"\r\n";
218 $data .=
'Content-Disposition: form-data; name="domain"' .
"\r\n\r\n";
219 $data .= $domain .
"\r\n";
221 $data .=
'--' . $boundary .
"\r\n";
222 $data .=
'Content-Disposition: form-data; name="file"; filename="file"' .
"\r\n";
223 $data .=
'Content-Type: application/octet-stream' .
"\r\n\r\n";
224 $data .= file_get_contents($file) .
"\r\n";
226 $data .=
'--' . $boundary .
"--\r\n";
228 $http->setHeader(
'Content-type',
'multipart/form-data; boundary='.$boundary);
229 $http->setHeader(
'Content-length', strlen(
$data));
231 $response = $http->post(
'https://pddimp.yandex.ru/api/add_logo.xml',
$data);
236 if ($logoUrlNode =
$result->selectNodes(
'/action/domains/domain/logo/url'))
237 return $logoUrlNode->textContent();
245 $http = new \Bitrix\Main\Web\HttpClient();
255 private static function setError($xml, &
$error)
257 if ($errorNode = $xml->selectNodes(
'/page/error'))
258 $error = $errorNode->getAttribute(
'reason');
261 private static function setError2($xml, &
$error)
263 if ($errorNode = $xml->selectNodes(
'/action/status/error'))
264 $error = $errorNode->textContent();
static addLogo($token, $domain, $file, &$error)
static editUser($token, $login, $data, &$error)
static getUserInfo($token, $login, &$error)
static checkUser($token, $login, &$error)
static registerUserToken($token, $login, $password, &$error)
static getMailInfo($token, $login, &$error)
static deleteUser($token, $login, &$error)
static getDomainUsers($token, $per_page=30, $page=0, &$error)
static userOAuthToken($token, $domain, $login, &$error)
static passport($country, $oauthToken, $errorUrl)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
if(empty($signedUserToken)) $key
</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."%"