jquery AJAX проблема с кодировкой

Проблема решается довольно просто. В запросе добавляем параметр contentType.


        jQuery.ajax({
            type: 'GET',
            url: link,
            data: FormData,
            dataType: 'json',
            contentType: 'application/json; charset=utf-8'
        })

nginx + php-fpm на vps centos 7, ubuntu

Развернем сервачок на vps под centos 7 или убунту. Покупаем любой за 150 рублей. После активации поставим последнюю версию php , nginx. Об установке писать не буду, вкратце опишу конфиги. Обратите внимание на наличие свопа, без него mysql будет частенько падать с памятью 256-512 Мб. Как поставить swap есть хорошая статья https://www.digitalocean.com/community/tutorials/how-to-configure-virtual-memory-swap-file-on-a-vps. Также не помешает проверить частоту процессора командой cat /proc/cpuinfo, лучше будет от 2000Mhz, чем 500, хотя это не важно.

Открываем под админом www.conf

 


// centos
nano /etc/php-fpm.d/www.conf
// ubuntu
nano /etc/php/7.0/fpm/pool.d/www.conf

Меняем пользователя с php-fpm на своего


user = aaa
group = aaa

listen.owner = aaa
listen.group = aaa

Раскомментируем строку сокета


// centos
listen = /run/php-fpm/www.sock
// ubuntu
listen = /run/php/php7.0-fpm.sock

Читать далее «nginx + php-fpm на vps centos 7, ubuntu»

ПЭК публичный апи для расчета стоимости доставки

Публичное апи для расчета стоимости перевозки достаточно простое. Делаем GET запрос на адрес http://calc.pecom.ru/bitrix/components/pecom/calc/ajax.php. В параметрах передаем габариты груза, город отправки и доставки. Обратите внимание, минусы для городов обязательны!
Читать далее «ПЭК публичный апи для расчета стоимости доставки»

google goal, yandex цели

Добавим цели с типом «событие» на кнопки для гугл и яндекс.

Материал здесь https://yandex.ru/support/metrika/objects/reachgoal.xml и здесь https://developers.google.com/analytics/devguides/collection/analyticsjs/events?hl=ru.
Надеюсь, GA и YM у вас подключены. Место размещения футер или хедер не важно.
1. В админке гугла добавляем цель



вешаем событие на кнопку


<input type="submit" onclick="ga('send', 'event', 'php', 'click');">

Читать далее «google goal, yandex цели»

symfony form

Создадим форму симфони.
Понадобятся всего 4 зависимости.


      "require": {
        "symfony/form": "^3.3",
		"symfony/twig-bridge": "^3.3",
		"symfony/translation": "^3.3",
		"symfony/security-csrf": "^3.3"
      }

Далее подключаем классы формы, твига, переводчика и защиту от Csrf атак.
Читать далее «symfony form»

Bitrix google recaptcha для компонентов

Добавим рекапчу от гугл в компоненты


1. blog.post.comment // комментарии в блоге
2. forum.topic.reviews // комментарии к статическим страницам
3. iblock.element.add.form // форма

Как подключать рекапчу писал в статье http://phpjs.ru/2017/07/18/google-captcha-v2/
Воспользуемся этим кодом для валидации наших форм от роботов.
Вынесем верификацию в recaptchalib.php


    public function verifyCaptcha()
    {
        if ($_POST["g-recaptcha-response"]) {
            $resp = $this->verifyResponse(
                $_SERVER["REMOTE_ADDR"],
                $_POST["g-recaptcha-response"]
            );
            return $resp;
        }
    }

Читать далее «Bitrix google recaptcha для компонентов»

wordpress google invisible recaptcha

Плагин Contact Form 7 уже имеет встроенную поддержку google recaptcha. Достаточно прописать ключи в Contact Form 7 — Интеграция. А в самой форме вставить тег

[recaptcha]

Как получить ключи и подключить рекапчу писал в статье http://phpjs.ru/2017/07/18/google-captcha-v2/.
Но невидимую капчу тегом не вставить. Немного пошаманим) В той же статье читаем как подключать невидимку. Нужна кнопка сабмита, гугл рекапча привязана как раз к ней. Меняемм ее в форме


<button class="g-recaptcha" data-sitekey="6Lc3likUAAAAANxk2iL3pOE4EvMwIZHadasfasdfsdfa" data-callback="onSubmit">Отправить</button>

Далее на странице с формой подключаем скрипт рекапчи, добавляем обработчик, id формы.
Читать далее «wordpress google invisible recaptcha»

google captcha v2

Гугл капча сейчас везде. Поставим ее к себе на сайт.

Регистрируем свой домен по ссылке https://www.google.com/recaptcha/admin#list . Получаем ключи. Гугл предоставляет свое мини-апи для запросов на проверку. Скачать его можно тут https://code.google.com/archive/p/recaptcha/downloads Размещаем на страничке HTML-код капчи с секретным ключом.


<div class="g-recaptcha" data-sitekey="<?php echo $siteKey;?>"></div>

Подключаем javascript


<script src='https://www.google.com/recaptcha/api.js'></script>

И непосредственно обработка отправленной капчи
Читать далее «google captcha v2»

php SOAP api на примере DPD

Поработаем с протоколом SOAP на примере DPD api. Напишем запрос и получим результат.


// создаем объект клиента
$soap = new SoapClient( 'http://ws.dpd.ru/services/geography2?wsdl' );
// вызовем метод getCitiesCashPay
$obj = $soap->getCitiesCashPay($arData);
// в параметрах можно передать только ключи. Внимание, здесь нерабочие ключи
$arData['request']['auth'] = array(
			'clientNumber' => 1230000123,
			'clientKey' => '023E2F77487F5BF05B663ACBB95F42079D961111');

Читать далее «php SOAP api на примере DPD»

Bitrix Paymaster

битрикс paymaster
битрикс paymaster

Магазин — Платежные системы — Добавить платежную систему


Выбираем обработчик. Есть системные, а есть свои. Кастомные распологаем в php_interface/include/sale_payment/какая-то платеж. система (или local/php_interface/..)
Можно скопировать системный и дальше доработать его. Лежат они в bitrix/modules/sale/payment/paymaster/payment.php
Читать далее «Bitrix Paymaster»