Поддержка серверов

CDavExchangeContacts::GetAddressbookById: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=185773

//    CDavExchangeContacts::GetAddressbookById()
//    /bitrix/modules/dav/classes/general/exchangecontacts.php:430

    public function GetAddressbookById($id)
    {
        $this->ClearErrors();

        $request = $this->CreateSOAPRequest("POST", $this->GetPath());
        $request->AddHeader("Content-Type", "text/xml; charset=utf-8");
        $request->AddHeader("SOAPAction", "http://schemas.microsoft.com/exchange/services/2006/messages/GetFolder");
        $request->AddHeader("Connection", "Keep-Alive");

        $request->CreateGetFolderBody($id, "AllProperties");

        $this->Connect();
        $response = $this->Send($request);
        $this->Disconnect();

        if (is_null($response))
            return null;

        if ($this->ParseError($response))
            return null;

        $arResultFoldersList = array();
        $xmlDoc = $response->GetBodyXml();

        $arResponseMessage = $xmlDoc->GetPath("/Envelope/Body/GetFolderResponse/ResponseMessages/GetFolderResponseMessage");
        foreach ($arResponseMessage as $responseMessage)
        {
            $arResponseCode = $responseMessage->GetPath("/GetFolderResponseMessage/ResponseCode");
            $responseCode = null;
            if (count($arResponseCode) > 0)
                $responseCode = $arResponseCode[0]->GetContent();

            $responseClass = $responseMessage->GetAttribute("ResponseClass");

            if ((!is_null($responseClass) && ($responseClass != "Success")) || (!is_null($responseCode) && ($responseCode != "NoError")))
            {
                $arMessageText = $responseMessage->GetPath("/GetFolderResponseMessage/MessageText");
                $messageText = "Error";
                if (count($arMessageText) > 0)
                    $messageText = $arMessageText[0]->GetContent();

                $this->AddError(!is_null($responseCode) ? $this->Encode($responseCode) : $this->Encode($responseClass), $this->Encode($messageText));
                continue;
            }

            $arContactFolder = $responseMessage->GetPath("/GetFolderResponseMessage/Folders/ContactsFolder");
            foreach ($arContactFolder as $contactFolder)
                $arResultFoldersList[] = $this->ConvertContactFolderToArray($contactFolder);
        }

        return $arResultFoldersList;
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение