Битрикс: как разлогинить любого заблокированного пользователя. 100% рабочий метод.

Быстрая заметка.

Гуглил сабж — все великие умы сообщества в каком-то диком ступоре, агонии, ужасе, не понимают как быть. Есть ещё какой-то нахер ненужный модуль. Вроде бы такой функционал из коробки не завезли до сих пор.

Ситуация: в битриксе работает агент, который периодически блокирует пользователей по определённым критериям.

Задача: заблокированные пользователи, если они были авторизованы в момент блокировки, должны быть сразу разлогинены.

Решение: проверять флаг активности текущего пользователя и перенаправлять на адрес логаута в публичной части.

Описание:

Как настроить удалённую отладку xDebug + phpStorm

Привет.

Эта тема изжёвана-пережёвана на мульён раз. Но иногда всё-таки забываю этот простой алгоритм действий, ибо я к этому вопросу не возвращаюсь, однажды настроив что надо. Поэтому в голове достоверно ничего не откладывается.

Посему решено опубликовать заметку здессь, чтобы потом точно знать где её искать. Тут просто выжимка самой сути, а не пошаговая инструкция. Но ссылки на таковые я оставлю в конце.

Phalcon + Volt: вставить GET-параметр в ссылку на именованный маршрут через link_to()

Имеем — маршрут:

$adminRouteGroup
->add('/files/delete?id=:int', [
    'controller' => 'files',
    'action' => 'delete',
    'id' => 1,
])
->setName('file_delete');

Хотим — в Volt-шаблоне получить ссылку типа такой:

http://example.com/files/delete?id=123

Для этого в шаблоне пишем:

{{ link_to(['for':'file_delete', 'id':123], 'Удалить', 'class':'btn btn-danger btn-sm', 'id':'del_btn') }}

Разберём пример:

[
  'for':'file_delete' — для этого маршрута
  'id':123 — имя GET-параметра, объявленного в маршруте, и его значение
]
'Удалить' — текст на ссылке
'class':'btn btn-danger btn-sm' — html-атрибут class
'id':'del_btn' — html-атрибут id

Когда встала такая задача, быстро наткнулся на эту ветку: stackoverflow.com. На деле всё оказалось сильно проще.

Phalcon 3.4.1

Опубликовано
В рубрике blog Отмечено , ,

Шпаргалка: Master-slave репликация MySQL 5.7

Введение

Это мой рецепт, который я использую на проектах. В сети можно найти разные другие инструкции. Но они различаются только командами, которые по сути своей выполняют одно и то же. Например, чтобы заблокировать запись в БД, можно использовать как эти команды:

SET GLOBAL read_only = ON;  # вкл только чтение
SET GLOBAL read_only = OFF; # выкл только чтение

так и эти:

FLUSH TABLES WITH READ LOCK; # вкл только чтение
UNLOCK TABLES; # выкл только чтение

Либо импортирование БД из дампа на слейве можно выполнить и так:

$ mysql -u root -p
> USE mydb;
> SOURCE ~/mydb.sql

и эдак:

$ mysql -u root -p mydb < mydb.sql

Я считаю так. Чтобы выполнить задачу по сабжу, особо можешь не заморачиваться — главное понимать что происходит в целом. Но фундаментальное понимание сути этих команд будет только в плюс.

Здесь же я собрал универсальный рецепт как поднять и восстановить репликацию. Поехали.

Мои алиасы git

Привет.

В своей работе и pet-проектах я всегда использую git. За годы работы с ним у меня накопился некоторый список частых команд, которые я использую чаще всего. Позже я оформил их в алиасы и теперь представляю здесь. Их довольно много, они большей части он просты, и тем круты. Авось тебе тоже чего полезного пригодится.

В сети есть много материалов по этой теме и многие разработчики показывают список алиасов и команд, которые им приходится использовать. Из наиболее интересных — вот эти три. При составлении конкретно этоого списка использовался собственный опыт и прочие чужие материалы, включая эти три статьи. Скопируй себе и обращайся к git aliases в качестве подсказки.