22 $arDefaultParams =
array(
35 foreach ($arDefaultParams as $param => $value)
36 $this->arConnectionParams[$param] = isset(
$arParams[$param]) ?
$arParams[$param] : $value;
38 if ($this->arConnectionParams[
'scheme'] ==
'https')
39 $this->arConnectionParams[
'port'] = 443;
40 elseif ($this->arConnectionParams[
'port'] == 443)
41 $this->arConnectionParams[
'scheme'] =
'https';
49 $this->RESPONSE = $this->
send($REQUEST);
53 $GLOBALS[
'APPLICATION']->ThrowException(
'Connection error!');
56 elseif ($this->RESPONSE->isFault())
58 $GLOBALS[
'APPLICATION']->ThrowException(
'SOAP Fault '.$this->RESPONSE->faultCode().
': '.$this->RESPONSE->faultString());
72 && $this->
Call(
'GetListCollection')
73 && ($DOM = $this->RESPONSE->DOMDocument)
76 $arListNodes = $DOM->elementsByName(
'List');
78 if (!is_array($arListNodes) ||
count($arListNodes) <= 0)
85 foreach ($arListNodes as $node)
88 'ID' => $node->getAttribute(
'ID'),
89 'URL' => $node->getAttribute(
'DefaultViewUrl'),
90 'TITLE' => $node->getAttribute(
'Title'),
91 'DESCRIPTION' => $node->getAttribute(
'Description'),
92 'IMAGE' => $node->getAttribute(
'ImageUrl'),
116 $arMethodParams =
array(
'listName' => $listName);
121 if (!is_array($XML_ID))
129 foreach ($XML_ID as $item)
134 $query->children[0]->addChild($obOr);
137 $arMethodParams[
'query'] =
$query;
141 && $this->
Call(
'GetListItems', $arMethodParams)
142 && ($DOM = $this->RESPONSE->DOMDocument)
145 $DATA_NODE = $DOM->elementsByName(
'data');
146 if (is_array($DATA_NODE) &&
count($DATA_NODE) > 0)
159 && $this->
Call(
'GetList',
array(
'listName' => $listName))
160 && ($DOM = $this->RESPONSE->DOMDocument)
165 $LIST = $DOM->elementsByName(
'List');
168 $ar = $LIST->getAttributes();
169 foreach (
$ar as $attr)
171 $RESULT[
'PARAMS'][$attr->name()] = $attr->textContent();
174 $arFieldNodes = $LIST->elementsByName(
'Field');
176 if (is_array($arFieldNodes) &&
count($arFieldNodes) > 0)
178 foreach ($arFieldNodes as $node)
180 $ar = $node->getAttributes();
182 foreach (
$ar as $attr)
184 $arField[$attr->name()] = $attr->textContent();
189 if ($arField[
'Type'] ==
'Choice' || $arField[
'Type'] ==
'MultiChoice')
191 $arChoiceNodes = $node->elementsByName(
'CHOICE');
192 $arField[
'CHOICE'] =
array();
193 foreach ($arChoiceNodes as $choice_node)
195 $arField[
'CHOICE'][] = $choice_node->textContent();
198 $arDefaultNodes = $arChoiceNodes = $node->elementsByName(
'Default');
199 if (
count($arDefaultNodes) > 0)
200 $arField[
'DEFAULT'] = $arDefaultNodes[0]->textContent();
203 $RESULT[
'FIELDS'][] = $arField;
251 $arMethodParams =
array(
'listName' => $listName);
254 $arMethodParams[
'changeToken'] =
$arParams[
'TOKEN'];
257 $arMethodParams[
'rowLimit'] = intval(
$arParams[
'NUM_ROWS']);
265 $arMethodParams[
'queryOptions'] = $queryOptions;
270 $viewFields->setAttribute(
'Properties',
'TRUE');
275 $arMethodParams[
'viewFields'] = $viewFields;
280 && $this->
Call(
'GetListItemChangesSinceToken', $arMethodParams)
281 && ($DOM = $this->RESPONSE->DOMDocument)
286 $CHANGES = $DOM->elementsByName(
'Changes');
288 $RESULT[
'MORE_ROWS'] =
false;
289 if (is_array($CHANGES) &&
count($CHANGES) > 0)
291 $CHANGES = $CHANGES[0];
292 $RESULT[
'TOKEN'] = $CHANGES->getAttribute(
'LastChangeToken');
293 $RESULT[
'MORE_ROWS'] |= ($CHANGES->getAttribute(
'MoreChanges') ==
'TRUE');
296 $DATA_NODE = $DOM->elementsByName(
'data');
297 if (is_array($DATA_NODE) &&
count($DATA_NODE) > 0)
299 $DATA_NODE = $DATA_NODE[0];
301 $RESULT[
'COUNT'] = $DATA_NODE->getAttribute(
'ItemCount');
302 $RESULT[
'PAGING'] = $DATA_NODE->getAttribute(
'ListItemCollectionPositionNext');
303 $RESULT[
'MORE_ROWS'] |= ($RESULT[
'PAGING'] <>
'');
307 if (
count($RESULT[
'DATA']) <= 0)
308 $RESULT[
'MORE_ROWS'] =
false;
319 $arMethodParams =
array(
'listName' => $listName);
320 $arMethodParams[
'listItemID'] =
$arParams[
'SP_ID'];
324 && $this->
Call(
'GetAttachmentCollection', $arMethodParams)
325 && ($DOM = $this->RESPONSE->DOMDocument)
330 $ATTACHMENTS = $DOM->elementsByName(
'Attachment');
332 foreach ($ATTACHMENTS as $ATTACH)
334 $RESULT[] = $ATTACH->textContent();
345 $arMethodParams =
array(
'listName' => $listName);
351 foreach ($arChanges as $row)
355 if (
$ID = intval($row[
'ID']))
357 $obRow->setAttribute(
'Cmd',
'Update');
361 $obRow->setAttribute(
'Cmd',
'New');
367 unset($row[
'ReplicationID']);
370 foreach ($row as $fld => $value)
372 if (mb_substr($fld, 0, 9) ==
'MetaInfo_')
385 $updates->addChild($obRow);
388 $arMethodParams[
'updates'] = $updates;
394 && $this->
Call(
'UpdateListItems', $arMethodParams)
395 && ($DOM = $this->RESPONSE->DOMDocument)
400 $arResults = $DOM->elementsByName(
'Result');
402 foreach ($arResults as $resultNode)
405 'ErrorCode' => $resultNode->children[0]->textContent(),
406 'Row' => $this->ConvertRows($resultNode),
427 rawurlencode(urldecode(
$arParams[
'URL']))
430 $CLIENT =
new CHTTP();
433 if ($this->arConnectionParams[
'user'])
435 $CLIENT->SetAuthBasic(
436 $this->arConnectionParams[
'user'],
437 $this->arConnectionParams[
'pass']
441 if ($file_contents = $CLIENT->Get($URL))
443 $point_pos = mb_strrpos($URL,
'.');
446 $new_filename = md5($URL).($point_pos > 0? mb_substr($URL, $point_pos) :
'');
448 $new_filepath =
$_SERVER[
'DOCUMENT_ROOT'].$this->ATTACHMENTS_PATH.
'/'.mb_substr($new_filename, 0, 2).
'/'.$new_filename;
451 $fp = fopen($new_filepath,
'wb');
452 fwrite($fp, $file_contents);
455 $res = CFile::MakeFileArray($new_filepath);
484 if (!$this->arConnectionParams[
'host'])
490 $this->
CSOAPClient($this->arConnectionParams[
'host'], $this->arConnectionParams[
'path'], $this->arConnectionParams[
'port']);
492 if ($this->arConnectionParams[
'user'])
494 $this->
setLogin($this->arConnectionParams[
'user']);
495 $this->
setPassword($this->arConnectionParams[
'pass']);
521 foreach ($RESULT as
$key => $file)
538 $DATA = $DATA_NODE->elementsByName(
'row');
539 foreach ($DATA as $row)
542 $arAttrs = $row->getAttributes();
543 foreach($arAttrs as $attr)
546 $name = mb_substr($attr->name, 0, 4) ==
'ows_'
547 ? mb_substr($attr->name, 4)
550 $arRow[
$name] = $attr->content;
GetListItemChangesSinceToken($listName, $arParams=array())
GetListItemChangesSinceTokenProcessResult($RESULT)
UpdateListItems($listName, $arChanges)
GetByID($listName, $XML_ID)
Call($method, $arParams=array())
GetListProcessResult($RESULT)
LoadFile($listName, $arParams)
GetListCollectionProcessResult($RESULT)
GetByIDProcessResult($RESULT)
GetAttachmentCollection($listName, $arParams)
GetAttachmentCollectionProcessResult($RESULT)
SetConnectionParams($arParams)
static createTagAttributed($heavyTag, $value=null)
static xmlspecialchars($str)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
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."%"
$GLOBALS['_____370096793']