Bitrix: восстановление пароля администратора

Задача: восстановить утерянный пароль администратора

Решение 1: создать в корне сайта файл вида:

, где вместо цифры 1 можно использовать id вашего пользователя. Но обычно подходит и 1. Далее необходимо его открыть в браузере

Решение 2: если мы помним логин, и есть доступ к БД, то

  1. Ищем id пользователя с правами администратора:

Меняем пароль на любимый:

PHP: как проверить, вызван ли метод класса из экземпляра, или статически

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

и кода:

, должен быть разным.

Решение:

объявим в классе статическую переменную, которая будет изменять свое значение, если был создан экземпляр класса.

RabbitMQ: отложенные сообщения

Задача: организовать доставку сообщения «слушателю» спустя какое-то время, а не сразу

Решение: одним из способов реализации является использование модуля rabbitmq-delayed-message-exchange.

Установка для Ubuntu:

  1. Скачать подходящую версию модуля для версии вашего RabbitMQ в формате *.ez
  2. Положить его в папку (в моём случае) /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.9/plugins
  3. Включить плагин

Использование:

Пример постановки в очередь:

Пример слушателя:

1С: Узнать позицию в цикле

Задача: узнать текущую позицию для цикла вида

Решение: учить матчасть (с)

JavaScript: создаем и позволяем скачать csv файл

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

Решение: Для создания файла воспользуемся функцией Blob, которая позволяет оперировать с бинарными данными. Далее создадим в DOM элемент <a>, поместим в href бинарные данные и сэмулируем нажатие на ссылку. Примерно так:

Жизнь замечательных грибов