- Модуль: webservice
- Путь к файлу: ~/bitrix/modules/webservice/classes/general/sharepoint/client.php
- Класс: CSPListsClient
- Вызов: CSPListsClient::UpdateListItems
public function UpdateListItems($listName, $arChanges)
{
$arMethodParams = array('listName' => $listName);
$updates = CXMLCreator::createTagAttributed('Batch OnError="Continue" DateInUtc="TRUE" Properties="TRUE"');
$i = 0;
foreach ($arChanges as $row)
{
$obRow = CXMLCreator::createTagAttributed('Method ID="'.($i++).'"');
if ($ID = intval($row['ID']))
{
$obRow->setAttribute('Cmd', 'Update');
}
else
{
$obRow->setAttribute('Cmd', 'New');
unset($row['ID']);
$obRow->addChild(CXMLCreator::createTagAttributed('Field Name="ID"', 'New'));
$obRow->addChild(CXMLCreator::createTagAttributed('Field Name="MetaInfo" Property="ReplicationID"', $row['ReplicationID']));
unset($row['ReplicationID']);
}
foreach ($row as $fld => $value)
{
if (mb_substr($fld, 0, 9) == 'MetaInfo_')
{
$obRow->addChild(CXMLCreator::createTagAttributed('Field Name="MetaInfo" Property="'.CXMLCreator::xmlspecialchars(mb_substr($fld, 9)).'"', $value));
}
else
{
if ($fld)
{
$obRow->addChild(CXMLCreator::createTagAttributed('Field Name="'.CXMLCreator::xmlspecialchars($fld).'"', $value));
}
}
}
$updates->addChild($obRow);
}
$arMethodParams['updates'] = $updates;
$RESULT = false;
if (
$this->__initialize()
&& $this->Call('UpdateListItems', $arMethodParams)
&& ($DOM = $this->RESPONSE->DOMDocument)
)
{
$RESULT = array();
$arResults = $DOM->elementsByName('Result');
foreach ($arResults as $resultNode)
{
$arRes = array(
'ErrorCode' => $resultNode->children[0]->textContent(),
'Row' => $this->ConvertRows($resultNode),
);
if ($arRes['Row']) $arRes['Row'] = $arRes['Row'][0];
$RESULT[] = $arRes;
}
}
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/sp_client5.log', 'a');
fwrite($fp, $this->getRawRequest());
fwrite($fp, $this->getRawResponse());
fwrite($fp, "n==========================================nn");
fclose($fp);
return $RESULT;
}