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

CCalendarRestService::SectionUpdate: метод Битрикс

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

//    CCalendarRestService::SectionUpdate()
//    /bitrix/modules/calendar/classes/general/calendar_restservice.php:1010

    public static function SectionUpdate($params = array(), $nav = null, $server = null)
    {
        $userId = CCalendar::GetCurUserId();
        $methodName = "calendar.section.update";

        if (isset($params['type']))
            $type = $params['type'];
        else
            throw new RestException(Loc::getMessage('CAL_REST_PARAM_EXCEPTION', array('#REST_METHOD#' => $methodName, '#PARAM_NAME#' => 'type')));

        if (isset($params['ownerId']))
            $ownerId = intval($params['ownerId']);
        elseif($type == 'user')
            $ownerId = $userId;
        else
            throw new RestException(Loc::getMessage('CAL_REST_PARAM_EXCEPTION', array('#REST_METHOD#' => $methodName, '#PARAM_NAME#' => 'ownerId')));

        if (isset($params['id']) && intVal($params['id']) > 0)
            $id = intVal($params['id']);
        else
            throw new RestException(Loc::getMessage('CAL_REST_SECT_ID_EXCEPTION'));

        if (!CCalendar::IsPersonal($type, $ownerId, $userId) && !CCalendarSect::CanDo('calendar_edit_section', $id, $userId))
            throw new RestException(Loc::getMessage('CAL_REST_ACCESS_DENIED'));

        $arFields = Array(
            'ID' => $id,
            'CAL_TYPE' => $type,
            'OWNER_ID' => $ownerId
        );

        if (isset($params['name']) && trim($params['name']) != '')
            $arFields['NAME'] = trim($params['name']);

        if (isset($params['description']) && trim($params['description']) != '')
            $arFields['DESCRIPTION'] = trim($params['description']);

        if (isset($params['color']))
            $arFields['COLOR'] = CCalendar::Color($params['color']);

        if (isset($params['text_color']))
            $arFields['TEXT_COLOR'] = CCalendar::Color($params['text_color']);

        if (isset($params['access']) && is_array($params['access']))
            $arFields['ACCESS'] = $params['access'];

        $id = intVal(CCalendar::SaveSection(
            array(
                'bAffectToDav' => false,
                'arFields' => $arFields
            )
        ));

        if (!$id)
            throw new RestException(Loc::getMessage('CAL_REST_SECTION_SAVE_ERROR'));

        return $id;
    }

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

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

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

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

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

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

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

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