• Как сменить фотографию пользователя через вебхук?

    @dratsky Автор вопроса
    Каким именно образом нужно это передать ?
    У меня
    $arr_file = base64_encode([
        "name" =>"image.jpg",
        "size" => filesize(dirname(__FILE__) ."/xxx/image.jpg"),
        "tmp_name" =>dirname(__FILE__) ."/xxx/image.jpg",
        "type" => "",
        "old_file" => "",
        "del" => "Y",
        "MODULE_ID" => ""
    ]);
    $data=http_build_query(
            [
                "ID"=>"38",
                "PERSONAL_PHOTO"=>$arr_file,
                ]
        );
    
    $ch = curl_init('https://xxx.bitrix24.ru/rest/1/xxx/user.update');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $response=curl_exec($ch);
    curl_close($ch);
    var_dump((array)json_decode($response));

    вроде срабатывает успешно, но изображение не меняется.
    А при
    $arr_file = [
        "name" =>"image.jpg",
        "size" => filesize(dirname(__FILE__) ."/xxx/image.jpg"),
        "tmp_name" =>dirname(__FILE__) ."/xxx/image.jpg",
        "type" => "",
        "old_file" => "",
        "del" => "Y",
        "MODULE_ID" => ""
    ];

    выдает ["error_description"]=> "Неверный тип файла
  • Не могу добавить картинку?

    @dratsky Автор вопроса
    Проблема в том, что и файл и картинка как раз в одной папке - в корневой.
  • Пропадает выпадающее меню?

    @dratsky Автор вопроса
    Кажется, нашёл в bootstrap.jp от bootstrap 4 код, отвечающий за очистку выпадающего меню. Может подскажет то, как его надо переделать. чтобы при повторном нажатии на кнопку выпадающего меню или в любое другое место исчезали только пункты выпадающего меню, а не оно само ?

    Dropdown._clearMenus = function _clearMenus(event) {
            if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
              return;
            }
    
            var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
    
            for (var i = 0; i < toggles.length; i++) {
              var parent = Dropdown._getParentFromElement(toggles[i]);
    
              var context = $$$1(toggles[i]).data(DATA_KEY);
              var relatedTarget = {
                relatedTarget: toggles[i]
              };
    
              if (!context) {
                continue;
              }
    
              var dropdownMenu = context._menu;
    
              if (!$$$1(parent).hasClass(ClassName.SHOW)) {
                continue;
              }
    
              if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
                continue;
              }
    
              var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
              $$$1(parent).trigger(hideEvent);
    
              if (hideEvent.isDefaultPrevented()) {
                continue;
              } // If this is a touch-enabled device we remove the extra
              // empty mouseover listeners we added for iOS support
    
    
              if ('ontouchstart' in document.documentElement) {
                $$$1(document.body).children().off('mouseover', null, $$$1.noop);
              }
    
              toggles[i].setAttribute('aria-expanded', 'false');
              $$$1(dropdownMenu).removeClass(ClassName.SHOW);
              $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
            }
          };
  • Пропадает выпадающее меню?

    @dratsky Автор вопроса
    Кажется, нашёл в bootstrap.jp от bootstrap 4 код, отвечающий за очистку выпадающего меню. Может подскажет то, как его надо переделать. чтобы при повторном нажатии на кнопку выпадающего меню или в любое другое место исчезали только пункты выпадающего меню, а не оно само ?

    Dropdown._clearMenus = function _clearMenus(event) {
            if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
              return;
            }
    
            var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
    
            for (var i = 0; i < toggles.length; i++) {
              var parent = Dropdown._getParentFromElement(toggles[i]);
    
              var context = $$$1(toggles[i]).data(DATA_KEY);
              var relatedTarget = {
                relatedTarget: toggles[i]
              };
    
              if (!context) {
                continue;
              }
    
              var dropdownMenu = context._menu;
    
              if (!$$$1(parent).hasClass(ClassName.SHOW)) {
                continue;
              }
    
              if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
                continue;
              }
    
              var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
              $$$1(parent).trigger(hideEvent);
    
              if (hideEvent.isDefaultPrevented()) {
                continue;
              } // If this is a touch-enabled device we remove the extra
              // empty mouseover listeners we added for iOS support
    
    
              if ('ontouchstart' in document.documentElement) {
                $$$1(document.body).children().off('mouseover', null, $$$1.noop);
              }
    
              toggles[i].setAttribute('aria-expanded', 'false');
              $$$1(dropdownMenu).removeClass(ClassName.SHOW);
              $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
            }
          };