Laravel 5.8: как скопировать значения из старой колонки в новую во время миграции?

Ситуация: во время разработки проекта на Laravel возникла необходимость заменить один столбец другим. Для этого нужно написать миграцию.

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

Решение: очень простое и очевидное — изменить схему, записать значения, изменить схему. Далее привожу пример готовой заготовки миграции:

Посмотреть миграцию

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

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

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

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

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

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

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

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

Привет.

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

Посему решено опубликовать заметку здессь, чтобы потом точно знать где её искать. Тут просто выжимка самой сути, а не пошаговая инструкция. Но ссылки на таковые я оставлю в конце. Читать далее Как настроить удалённую отладку 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

Модуль интеграции Dreamkas для OpenCart 3.0.2.0

Доброго дня, читатель. Редко я захожу сюда, ещё реже что-то пишу. Сейчас один из тех случаев, когда я считаю, что это просто необходимо.

Введение

Те, кто сталкивался с сервисом Dreamkas (онлайн-кассы, фискализация чеков, сканеры, терминалы и вот это вот всё по 54-ФЗ), могут иметь интернет-магазин на базе OpenCart.

Дримкас предоставляет модули для интеграции с кучей CMS. Такие надстройки необходимы для отслеживания статусов фискализации чеков по заказу на сайте. Есть такой модуль и для OpenCart.

Читать далее Модуль интеграции Dreamkas для OpenCart 3.0.2.0

VK API: загрузка изображения на стену. Рабочий код на PHP7 + cURL

Публикую просто чтобы не потерялось.

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

Пока тут только серверная часть. Она большого труда не составляет.

Забудь всё, что ты видел о загрузке фотографий через curl. Я двое суток ебал мозги с целью выяснить почему я делаю так, как говорили когда-то и говорят до сих пор (например, про @ перед именем загружаемого файла, например, что уже неактуально для PHP >= 5.5)…. и почему при успешном запросе к серверу фотографий, ВК мне отдаёт пустой photo = []

Будем считать, что у тебя уже есть ID приложения и ты получил жизненно важный access_token. Конкретно в контексте данного поста не играет роли, является ли твоё приложение веб-сайтом или Stand-alone. Механизм на сервере один.

Наверняка ты уже заебался также, как и я, уже изучил документации, ответы сервера и всякое такое. Поэтому не буду рассказывать что будет происходить после каждого чиха.
Читать далее VK API: загрузка изображения на стену. Рабочий код на PHP7 + cURL

Ошибка Laravel 5.3 — Exception in random.php line 185: There is no suitable CSPRNG installed on your system

Столкнулся с ошибкой после установки Laravel 5.3 на VPS.

Exception in random.php line 185:
There is no suitable CSPRNG installed on your system

Коротко, конфигурация сервера:

# cat /etc/redhat-release
CentOS release 6.6 (Final)
# php -v
PHP 5.6.27 (cli) (built: Oct 14 2016 13:58:34)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Optimizer v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Coverager v3.2.0, Copyright (c) 2005-2014, by mOo
# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Oct 16 2014 14:45:47

Эта ошибка Laravel решается элементарно.
Читать далее Ошибка Laravel 5.3 — Exception in random.php line 185: There is no suitable CSPRNG installed on your system

Робокасса: подключение к Битрикс. Важные и неочевидные нюансы

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

Но это если оглядываться на все те рецепты, которые даются в интернете видеороликами и в статьях. Она устарела настолько, насколько перестала быть полезной. А свежего никто ничего не пишет, разве что в обсуждениях на форумах самого битрикса, но там-то люди уже прошаренные, знают что куда… Запутаться — как нефиг делать. Даже мануал от разработчиков самого битрикса не даёт исчерпывающей информации по теме.

Таким образом, в настоящей заметке я постараюсь исправить эту ужасную ситуацию. И если уж интегрировать Робокассу в Битрикс-магазин, то только согласно официальной документации Робокассы при наличии должого внимания. И вот этой момей заметке 🙂

Когда я начал разбираться в этом вопросе, сам невнимательно читал документацию. только с пинка коллеги понял что к чему. Пост не является дословным цитированием документации, это просто те шишки, которые я набил в ходе работы над проектом. Возможно, кто-то уже знает описанное ниже, а что-то и вовсе очевидно, тогда прошу молча проследовать мимо. На абсолютную же истинность я не претендую, принимаю конструктивную критику, дополнения и поправки.

Остальным — велкам под кат. Здравая критика приветствуется.
Читать далее Робокасса: подключение к Битрикс. Важные и неочевидные нюансы