Системы управления сайтами для VDS или выделенного сервера
Вождение в Украине — полезные ссылки
«Заморозка» версий установленных модулей в Drupal
Иногда требуется зафиксировать конкретную версию установленного модуля. К примеру, есть некая версия некоего модуля, к которой есть некий патч, который не подходит к более новым версиям данного модуля. В данном случае как раз нам и пригодится «заморозка» установленного модуля, чтобы он не перезаписался при обновлении.
Внимание: Данная информация актуальная для CMS Drupal версии 7.
В случае с обновлением через веб достаточно установить модуль Disable Updates и выставить настройки в параметрах модуля путём расстановки необходимых чекбоксов, как на приведённом ниже скриншоте (изображение с официальной страницы модуля):
В случае, если вы используете для управления Drupal-ом удобнейшую программу drush всё ещё проще. Для этого необходимо выполнить следующую команду, находясь в директории с вашим сайтом на Drupal:
1 |
drush pm-updatestatus --lock=<module> --lock-message="<lock message>" |
где вместо <module> подставьте название модуля, который необходимо «заморозить», а вместо <lock message> — комментарий к «заморозке» (данный параметр необязателен). К примеру, необходимо запретить обновление модуля date с комментарием «Temporary disabled at 13.06.2016». Для этого необходимо выполнить следующую команду:
1 |
drush pm-updatestatus --lock=date --lock-message="Temporay disabled at 13.06.2016" |
После выполнения данной команды в папке с указанным модулем создастся файл с названием .drush-lock-update, в котором будет указан текст вашего комментария «заморозки» (если вы не укажете данный параметр, то создастся стандартный комментарий). Всё, после ввода данной команды при обновлении через drush данные модули обновляться не будут.
Внимание: «заморозка» при помощи модуля Disable Updates не распространяется на обновление при помощи Drush и наоборот. Т.е. если вы обновляете и через веб-интерфейс, и через Drush — то «заморозку» модулей нужно производить в обоих вариантах, что несколько неудобно. Поэтому рекомендуется использовать один метод обновлений — конечно же при помощи Drush. 🙂
Для снятия «заморозки» достаточно выполнить команду в таком формате:
1 |
drush pm-updatestatus --unlock=<module> |
Т.е. для снятия «заморозки» с модуля date нужно выполнить следующее:
1 |
drush pm-updatestatus --unlock=date |
Или же можно просто удалить из папки с модулем файл .drush-lock-update.
Также можно через запятую указывать более одного модуля для «заморозки» (или снятия «заморозки»). Например, нужно «заморозить» модули date и entity. Для этого необходимо выполнить следующее (заодно напомню вам сокращённую запись, вместо команды длинной команды pm-updatestatus можно писать просто up):
1 |
drush up --lock=date,entity |
«Разморозка» производится по аналогии с вышеописанным примером:
1 |
drush up --lock=date,entity |
На этом всё, надеюсь, данная информация будет вам полезной.
Исправление некорректного DPI на Andorid на примере TWRP и Samsung Galaxy Note 2 N7100
Иногда может случиться так, что после экспериментов с плотностью экрана (DPI) на вашем смартфоне или планшете после перезагрузки система откажется нормально загружаться и функционировать, постоянно показывая различные сообщения об ошибке. Для того чтобы вернуть корректное значение, необходимо произвести следующие действия:
- Перезагрузить смартфон в режим восстановления (Recovery Mode).
- В настройках TWRP примонтировать раздел /system в режиме записи.
- Подключить смартфон к ПК, запустить командную строку, затем выполнить команду:
1 |
adb shell |
- Далее в командной строке выполнить команду:
1sed -i 's/ro.sf.lcd_density=213/ro.sf.lcd_density=270/g' /system/build.prop
где 213 старое значение, а 320 — новое значение, но которое следует изменить плотность экрана. Данный пример указан для конкретной модели устройства — Samsung Galaxy Note 2 N7100 (где 320 — стоковое значение плотности экрана для данной модели). Если вы забыли, на какое значение вы поменяли плотности экрана — это можно выяснить при помощи команды (проверять следует до предыдущей изменения, т.к. мы не знаем, какое значение следует изменить):
1 |
cat /system/build.prop | grep "ro.sf.lcd_density" |
В выводе данной команды значение после символа «=» и будет тем, которое нам необходимо будет заменить на значение по умолчанию для вашего устройства (в примере выше это было значение 213).
Замечание: данные команды можно вводить и через консоль, встроенную в кастонмый рекавери. Однако следует проявить аккуратность, т.к. любой лишний символ или его отсутствие может ещё более усугубить проблему.
После данного действия смартфон можно перезагрузить, после перезагрузки плотность экрана вернётся к установленному выше значению.
Замечание: данный вариант предполагает, что смартфон или планшет рутован и на него установлено кастомный рекавери. Впрочем, если вы смогли изменить плотность экрана, то телефон у вас уже рутован. Как установить кастомный рекавери можно узнать на профильном разделе форума, посвящённом модели вашего устройства, например, на том же широко известном http://4pda.ru/forum/. Также здесь можно найти и стоковое значение плотности экрана (DPI) для вашей модели смартфона или планшета.
String offset cast notice in field_invoke_method_multiple()
Если возникает ошибка _field_invoke_multiple() /modules/field/field.attach.inc, нужно пропатчить ядро. Способ не совсем правильный, но другого пока что не придумали (данный способ ожидает включение в ядро на сегодняшний день уже более двух лет).
Исправить нужно строку
1 |
$language = !empty($options['language'][$id]) ? $options['language'][$id] : $options['language']; |
на
1 |
$language = is_array($options['language']) && !empty($options['language'][$id]) ? $options['language'][$id] : $options['language']; |
или воспользоваться прикреплённым патчем.
Ветка обсуждения на Drupal.org.
Полезные сайты, посвящённые Drupal
Ниже указаны полезные сайты, посвящённые CMS/CMF Drupal (в основной последней стабильной версии 7).
Чтобы не обижать никого из авторов блога, список ведётся в вольном порядке, без учёта «полезности» и авторитета, по мере вспоминания. Все блоги очень интересные и крайне познавательные, рекомендую к ознакомлению.