понедельник, 23 февраля 2015 г.

Регистрация сайта в твиттере

Чтобы зарегистрировать сайт в твиттере нужно действовать так:



·         Необходимо  иметь подтвержденный аккаунт в сети. (  все действия производятся с этого акаунта)
·         Сходить по ссылке https://apps.twitter.com/   Create new app
·         Заполнить форму
Name : Название сайта ( его увидит пользователь)
Description: Краткое человеческое описание сайта (его видит пользовать при входе)
Website: адрес сайта
Callback URL: http://ДОМЕН_САЙТА/addon/index.php?r=site%2Flogin&service=twitter
·         На следующей странице будут доступны ключи для API

Модерация не требуется.

Как зарегистрировать сайт во вконтакте

Чтобы зарегистрироваться свой сайт во социальной сети вконтакте нужно проделать во такую нехитрую последовательность действий




·         Необходимо  иметь подтвержденный аккаунт в сети. (  все действия производятся с этого акаунта)
·         Сходить по ссылке http://vk.com/editapp?act=create и зарегистрировать сайт
Название: название сайта (его увидит пользователь)
Тип: веб-приложение
Адрес сайта: собственной адрес сайта
Базовый домен: совпадает с доменом сайта

·         На телефонный номер, привязанный  к учетной записи придет код подтверждения регистрации. Необходимо ввести этот код.
·         Продолжить регистрацию:
Описание: Краткое человеческое описание сайта (его видит пользовать при входе)
Категория: прочее
Группа приложения: не надо
Страница помощи: Выключена
Пользов. Соглашение: Если на сайте есть страница с пользовательским соглашением, то можно вписать, если нет, но оставить пустым.
Политика конфиденц.: аналогично
·         Выбрать пункт меню Настройки
·         В форме хранятся ключи API
·         Состояние: приложение включео и видно всем
Установка приложения: не требуется.
Тематика сайта: можно выбрать.
Модерация не требуется.

Как зарегистрировать сайт в однокласниках



Такая коротенькая памятка как регистрировать сайт в однокласниках
 

·         Необходимо  иметь подтвержденный аккаунт в сети. (  все действия производятся с этого акаунта)
·         Сходить по ссылке http://ok.ru/devaccess  и получить права  регистрацию приложений в социальной сети.

Все  регистрируемые сайты и  приложения в одноклассниках почему-то называются игры. Так что пугаться не надо. 

·         Зайти по ссылке http://ok.ru/games  И выбрать пункт меню Мои загруженные. В нем  Добавить приложение
·         Откроется форма. Ее нужно заполнить:
Название: краткое человеческое название сайта. (его видит пользовать при входе)
Короткое имя: любая дребедень на латинице ( для авторизации не используется)
Описание: Краткое человеческое описание сайта (его видит пользовать при входе)
Тип приложения :
External
Ссылки на аватарки и иконки:  128x128 50x50 и 18x18 обязательны. 230x150 не нужна. Для авторизации не истользуется
Ссылка на приложение:  Собствено адрес сайта
Ссылка callback: заполнять не нужно
Ссылка на службу поддержки: заполнять не нужно
Base URL для картинок в ленте: Заполнять не нужно
Эл. почта для уведомлений: тот же емейл, что и в акаунте с которого заполняется форма.
Размеры приложения: Полный экран  (На самом деле не используется, но галку нужно нажать)
Статус: Публичное (этот пункт собственно и запускает работу с
API )
Официальная группа: Заполнять для  типа прилодения
External не нужно ( не имеет смысла)
Права: Все галки в положение не нужно
·         Далее на почту  упадет письмо с ключами API и ссылкой на приложение. Письмо терять не рекомендуется.

Никаких  отправок на модерацию не нужно делать. Так как для  авторизации это не имеет смысла.



четверг, 19 февраля 2015 г.

YII2 beforeValidate баг?

Вот такой вот незатейливый код
 public function beforeValidate() {
      ..................................
        parent::beforeValidate();
    }
 В YII2 модели приводит к очень интересному эффекту.   Перестают вызываться валидаторы. Причем очень хитро. для клиентской части валидаторы генерятся и раобтают. Для серверной, вызываются только валидаторы наследованные от Validator. Те же, что  реализованы в виде методов самой модели просто игнорируются.
Прчина кроется в том, что в вышеприведенном коде метод beforeValidate  не возвращает true или false в явном виде.   Ну да. ошибочная реализация метода. Описка походу.
вместо
return parent::beforeValidate();
просто
parent::beforeValidate();
Но  обидно. Никаких исключений или предупреждений не выбрасывается. А  код начинает  глючит в совсем другом месте.  Мелочь, а неприятно.


понедельник, 9 февраля 2015 г.

YII2 оперативное отключение csrf

Случаются в жизни огорчения, когда нужно запостить форму с внешнего источника. Например из самопального плагина к броузеру. Просто так YII2 такие вещи сделать не даст. Потому что  умным быть пытается. csrf и все такое.  Ежели Вы, например, сформировали ручками POST и запулили  на метод контроллера, то вместо обработки запроса, получите на руки


Bad Request (#400)
Не удалось проверить переданные данные.
The above error occurred while the Web server was processing your request.

Что в принципе  правильно. Ибо нефиг тут  формы сабмитить направо и налево. И никакие пляски с  behaviors не помогут. Нельзя, значит нельзя.   Рисуйте отдельный контроллер, с отдельным layout и отключайте там csrf.
Но!  если нужда заставила в одном методе таки делать POST напрямую, то нет смысла городить отдельную филармонию с  балетом и флейтистками. Есть способ проще и быстрее.

    public function beforeAction($action) {
        $this->enableCsrfValidation = ($action->id !== "ДЕЙСТВИЕ");
        return parent::beforeAction($action);
    }

И после этого на соответствующее действие проверка  csrf  будет отключена.