• Почему FormData уходит как undefined?

    Lynn
    @Lynn
    nginx, js, css
    Если в вашей форме нет файлов, то проще посылать application/x-www-form-urlencoded

    const response = await fetch(
      'https://example.com:8443/server',
      {
        method: 'PUT',
        body: new URLSearchParams(new FormData(payForm)),
      }
    );


    И req.on('data', ...) не нужен.

    app.use(bodyParser.urlencoded({ extended: false }));
    app.put('/server',(req, res) => {
      const mail = req.body.email;
      res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'})
      res.end(mail);
    })


    Если же очень хочется multipart/form-data, то на сервере нужен multer, т.к. встроенный в Express body-parser не умеет обрабатывать такие запросы.
    Ответ написан
    3 комментария
  • Kак ставить маркеры на OSM у себя на сайте?

    ghaiklor
    @ghaiklor
    NodeJS TechLead
    Вам нужно смотреть на такие вещи как OpenLayers.Marker или OpenLayers.Feature.Vector. Чтобы создать маркер с такими-то координатами, я использую вот такой код:
    addVehicle: function (layerName, coordinates, attributes) {
            attributes = this.parent.BaseFunc.extendConfigFromDefault(attributes, defaultOptions.vehicleOptions);
            var layer = this.parent.Layer.getLayerByName(layerName);
            if (this.parent.BaseFunc.checkUndefined(layer) || !layer) {
                this.parent.Console.writeError('Func: addVehicle | Layer ' + layerName + ' doesn\'t exists!');
                return false;
            }
            var feature = this.parent.Layer.getFeatureById(layerName, attributes.id);
            if (!this.parent.BaseFunc.checkUndefined(feature) || feature) {
                this.parent.Console.writeWarning('Func: addVehicle | Layer ' + layerName + ' already have feature with this ID: ' + attributes.id + '!');
                return false;
            }
            var point = new OpenLayers.Geometry.Point(coordinates.longitude, coordinates.latitude);
            point.transform(new OpenLayers.Projection(attributes.projection), new OpenLayers.Projection(this.parent.Map.getProjectionObject()));
            layer.addFeatures(new OpenLayers.Feature.Vector(point, attributes));
            return true;
        }
    

    Так же можете почитать вот эту статью. Было время, когда мне нужно было упростить такие шаблонные участки и я написал это мини-плагин.

    В документации OpenLayers есть вот такое дело. В этом направлении и нужно копать.
    Ответ написан
    1 комментарий
  • Определение вхождения адреса (координат) в полигоне?

    @Tomarev
    Вы можете попробовать этот простой класс https://github.com/xopbatgh/sb-polygon-pointer

    Эта мини библиотека очень мне помогла.

    $polygonBox = [
        [55.761515, 37.600375],
        [55.759428, 37.651156],
        [55.737112, 37.649566],
        [55.737649, 37.597301],
    ];
    
    $sbPolygonEngine = new sbPolygonEngine($polygonBox);
    
    $isCrosses = $sbPolygonEngine->isCrossesWith(55.746768, 37.625605);
    
    // $isCrosses is boolean
    Ответ написан
    Комментировать
  • Как изменить центр Ymap при смене разрешения?

    @peretc001
    ymaps.ready(init);
        //Set default center and zoom
        function init() {
            myMap = new ymaps.Map('map_page', {
                center: [45.0701, 38.9048],
                zoom: 9
            });
    
    
            //Set user Icon
            s = {
                iconLayout: 'default#image',
                iconImageHref: '/wp-content/themes/okhall/img/logo-map.svg',
                iconImageSize: [87, 74],
                iconImageOffset: [-43, -56]
            };
            //Set some points
            m = {
                m1: new ymaps.Placemark([45.0710, 38.9038], {}, s),
                m1center: [45.0701, 38.9048],
                m2: new ymaps.Placemark([45.0349, 39.1317], {}, s),
                m2center: [45.0349, 39.1317],
                m3: new ymaps.Placemark([44.7491, 37.7263], {}, s),
                m3center: [44.7491, 37.7265],
                m4: new ymaps.Placemark([45.2299, 38.1138], {}, s),
                m4center: [45.2299, 38.1138],
                m5: new ymaps.Placemark([45.8417, 40.1357], {}, s),
                m5center: [45.8417, 40.1357],
                m6: new ymaps.Placemark([44.9367, 37.9675], {}, s),
                m6center: [44.9367, 37.9675]
            };
            //Disabled scroll
            //myMap.behaviors.disable('scrollZoom');
            //on mobile disable touch
            if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
                //... отключаем перетаскивание карты
                myMap.behaviors.disable('drag');
            } 
           //Add points on the map
            myMap.geoObjects
                .add(m['m1'])
                .add(m['m2'])
                .add(m['m3'])
                .add(m['m4'])
                .add(m['m5'])
                .add(m['m6']);
    
            // ON RESIZE
            //Get curent center and zoom
            var pixelCenter = myMap.getGlobalPixelCenter('map_page');
            console.log(pixelCenter);
    
            //
            function onResizeMap() {
            if ($(window).width() > '992') { 
                //Set New center
                myMap.setCenter([45.0701, 37.0048]);
                var pixelCenter2 = myMap.getGlobalPixelCenter('map_page');
                console.log(pixelCenter2);
                } else {
                    myMap.setCenter([45.0701, 38.9048]);
                }
            } onResizeMap();
    
            window.onresize = function () {
                onResizeMap();
            };
        };
    Ответ написан
    Комментировать
  • Как преобразовать строку в числа PHP?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    $arrayOfInt = array_map(function($item){
      return (int)trim($item);
    }, explode(',', $DATA));
    Ответ написан
    Комментировать
  • Как быстро очистить корзину (1.000.000+ файлов) Windows 10?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    C:\Windows\System32\cleanmgr.exe
    Или просто удалите папку на нужном диске:
    rmdir /q /s C:\$RECYCLE.BIN
    Ответ написан
    Комментировать
  • Почему jQuery TwentyTwenty не работает внутри Magnific Popup?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Работает. Но поскольку в момент инициализации всплывающее окно скрыто, то размеры получаются нулевыми. Плагин слушает изменение размеров окна, чтобы поддерживать размеры контейнера и содержимого в актуальном состоянии, так что добавьте в настройки magnificPopup'а:

    callbacks: {
      open() {
        $(window).trigger('resize');
      },
    },
    Ответ написан
    2 комментария
  • Как платить фрилансерам в белую (субподряд)?

    kumaxim
    @kumaxim
    Web-программист
    Пример №1
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик тоже ИП в РФ.
    Что делать: подписывайте договор на оказание услуги, например, Вы платите 5 т.р. за разработку дизайна.
    Расходы: пересылка конверта с документами в адрес Вашего подрядчика, который будет рисовать дизайн
    Налоги: нет

    Пример №2
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик физическое лицо в РФ.
    Что делать: подписывается гражданко-правовой договор(часто Вы можете встретить сокращение ГПХ - гражданско-правового характера). Он будет точно таким же как договор между ИП, только в качестве исполнителя в нем указано физ.лицо.
    Первое что необходимо помнить при оформлении договора подряда с физ.лицом - коные договора должен быть четко определен, например, "...Исполнитель обязазуется нарисовать Заказчику дизайн-макет сайта кулинарной тематики и предоставить его до 25.10.2016". Ни в коем случае не должно быть указано выполнение какие-либо переодических действий, например, "...Исполнитель обязуется выполнять работы по разработке дизайн-макетов сайтов, в течении 10 дней с момента поступления запроса от Заказчика..." Это уже будет являться трудовым договором, а это уже отдельная тема.
    Расходы: пересылка договора подрядчику + пересылка отчетов в ФНС и ПФР
    Условие: Пусть 5 000 рублей это сумма, за которую работает Ваш подрядчик.
    Налоги:
    1. 13% - налог на доходы физ.лиц
    2. 22% - взнос в Пенсионный фонд
    3. 5,1% - взнос в фонд Обязательного мед.страхования

    Расчет:
    1. 5 000 - 13% = 4350 - столько получит на карточку Ваш исполнитель
    2. 5 000 - 87% = 650 - это 13% НДФЛ
    3. 5 000 + 22% = 1100 - в Пенсионный фонд
    4. 5 000 + 5.1% = 255 - на медицину
    Итог: Ваш подрядчик получает 4350 рублей. Бюджет РФ получает с этого 1975 рублей. Суммарно Вы заплатите 6325 рублей
    Отчеты: в Пенсионный фонд(если не ошибаюсь форма РСВ-1) и в ФНС. В ПФР отчет должен быть отправлен в конце месяца, хотя могу ошибаться. Для наемных сотрудников на трудовом договоре РСВ-1 точно ежемесячно предоставляется. Для людей на договорах подряда точно не скажу, спрашивайте в своем ПФР. В ФНС отчет раз в год до 01.04 должен быть предоставлен.

    Пример №3
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик физическое лицо вне юрисдикции РФ
    Что делать: ежайте в эту самую другую юрисдикцию, открывайте там филиал/представительство и работаете по законам той страны. Деньги сначала со своего ИП кидайте на представительство, а потом с него уже Вашим наемным людям. И да, еще Вас ждет с распростертыми объятиями валютный контроль банка и ФНС внешние операцияии с аффилированными иностранными компаниями любит под микроскопом рассматривать.
    Налоги: не знаю, сильно зависит от страны назначения.

    Пример №4
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик ИП/юр.лицо вне юрисдикции РФ
    Что делать: идти в банк и узнавать что такое валютный контроль, что надо заполнять, сколько это идет и т.д. Точно нужен будет счет в иностранной валюте. Вроде бы, но могу ошибаться, еще нужно будет регистрироваться на таможне, даже если Вы физически через границу ничего перемещать не собирайтесь(тут могу ошибаться).

    Вывод.

    Оцените объем работы, которую Вы хотите сами аутсорсить и либо найдите веб-студию, которой будите аутсорсить и получать от них все документы либо возьмите себе в штат человека, который будет все это делать.
    Ответ написан
    1 комментарий
  • Как с помощью PHP или JS показывать div в определенные дни?

    riky
    @riky
    Laravel
    $today = date('m-d');
    
    if ('11-21' <= $today && $today <= '11-25') {
       // показать
    }
    Ответ написан
    Комментировать
  • Как с помощью PHP или JS показывать div в определенные дни?

    swede2k
    @swede2k
    Full-stack developer
    $today = strtotime(date("Y-m-d"));
    $begin = strtotime(date("Y-11-21"));
    $end = strtotime(date("Y-11-25"));
    
    if($today >= $begin && $today <= $end) {
       echo "Показываем div";
    }
    Ответ написан
    Комментировать
  • Как с помощью PHP или JS показывать div в определенные дни?

    KickeRocK
    @KickeRocK
    FrontFinish
    JS:
    let dateDay = new Date().getDate(),
    dateMonth = new Date().getMonth();
    if(dateMonth==10&&dateDay>=21&&dateDay<=25){
    document.querySelector('#mydiv').style.display = "block";
    }

    Месяцы с 0(январь=0,февраль=1 итд)
    Ответ написан
    Комментировать
  • Что плохого в прямых запросах к БД в Wordpress?

    mihdan
    @mihdan
    WordPress-евангелист, ведущий РНР - разработчик
    Если вы знакомы с понятие API, то такие вопросы НЕ должны возникать. Вы работаете с абстракцией и вам совершенно должно быть по барабану, что там внутри и как устроена база, которая в последних версиях значительно изменилась и будет менять в будущем.

    Например, не так давно появилась новая таблица wp_termmeta - для хранения метаинформации по терминам, раньше эта информация лежала в wp_options.

    В прямых запросах нет ничего плохого, если вы знаете что и зачем вы делаете, как защитить запрос от неверных данных, от инъекций, отфильтровать параметры.

    В обычной ситуации WP_Query вам хватит с головой. А ваш кейс решается простым прочтением документации в виде функции get_post_meta().

    Если второй параметр у функции опустить, то будут получены все произвольные поля поста. Если вы хотите работать напрямую с SQL в обход API, в котором 2000 готовых функций, зачем вам тогда WordPress? Пишите на чистом коде.

    Удачи в прочтении Кодекса WordPress!
    Ответ написан
    1 комментарий
  • Какие существуют способы проверки php функции mail() на отправку письма?

    mihdan
    @mihdan
    WordPress-евангелист, ведущий РНР - разработчик
    Самым распространенным вариантом является библиотека PHPMailer, не привязанная к конкретному фреймворку. Умеет SMTP, Inline Attachments и прочие плюшки. Заведите ящик где-нить на Яндексе и используйте их smtp.yandex.ru сервер
    Ответ написан
    Комментировать
  • Как написать простой слайдер с автопрокруткой?

    @void01
    чтото не вижу я там слайдера
    увидел -)
    такую фигню можно даже на чистом CSS сделать

    UPD
    https://jsfiddle.net/zcqzzzn4/
    не стал запариваться с красотой и точными таймингами -) просто идею донести
    Ответ написан
    Комментировать
  • Как написать простой слайдер с автопрокруткой?

    sabramovskikh
    @sabramovskikh
    Ответ написан
    Комментировать
  • Какие есть хорошие живые блоговые движки помимо Wordpress?

    Zalite
    @Zalite
    Designer&foodporn enthusiast
    Сама пользуюсь тем же вордпрессом, но в прошлом году тестировала Ghost. Они хороши, но на тот момент я была не готова платить.
    Ответ написан
    1 комментарий
  • Какой лучший способ для создания мобильной версии сайта?

    @yaBliznyk
    Все зависит от ваших знаний и навыков. Есть готовые фреймворки типа framework7. Есть очень крутая штука от google polymer, которая умеет понимать жесты и сделана в лучших традициях material design.
    Так-же стоит уделить внимание самому material design. Большинство людей будут заходить на ваш сайт с android устройств и им будет комфортно работать в нем, если он будет внешне совпадать с большинством android приложений.

    Добавлю React native
    Ответ написан
    8 комментариев