OBEC POCTE
NEVSEREMOS'!

Технічний блог

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка

spider tenancyВстановити Laravel tenancy на пару Voyager може бути цікавіше, ніж ним користуватись.

Наводжу репозиторій з інструкцією до встановлення https://github.com/gruz/multi-tenancy-voyager-tries

Сподіваюсь, комусь стане в нагоді.

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка

Ми розробляємо сайт з використанням docker. Ну і docker-compose. spider web with water beads network dewdrop1У всіх членів команди сайт запускається у докері і доступний як localhost:8000 у на компі. Виникла потреба показати результати роботи під справжнім доменом.

Мій сервері використовує CentOS та CWP(CentOS Web Panel, Pro version). Зазвичай, коли я розгортаю сайт, я створюю користувача, домен, БД, заливаю файли сайта, прописую доступ до БД.

Проте docker працює інакше. Отже що я робив, щоби запустити мій сайт у докері на реальному домені під управлінням CentOS.

Ідея проста. Запустити руками докер і для домена прокинути проксі на порт веб-сервера в докері.

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка

Проблема: Є потреба швидко перекладати фрази без відкриття google translate у бравзері

Я часто потребю перекласти слово чи фразу, останнім часом з англійської на німецьку. KDE Klipper є чудовим інструменто для переклад з клавіатури, без відкриття в бравзері google translate. Все одно є певна затримка, доки скрипт запитує сервер про переклад, проте це багато швидше ніж відкривати вкладку бравзера, копі-пейстити в нього, з нього, перемикатись між вікнами.

Translation from to Klipper demo

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка

spider skull on backВ своїй OpenSuse я перемикаю рокзкладку через Caps Lock. Куди зручніше, ніж будь-яка інша комбінація кнопок. Про всяк випадок зазначу, що Caps Lock працюватиме як Caps Lock, якщо сокристатись Shift+Caps Lock.

Раптово у додатках KDE (наприклад у системних параметрах чи віджетах плазми, проте не у Firefox чи VS code) капслок став спрацьовувати, як  "повернути", ніби я тисну ще і ctrl+z.

Рішенням було відредагувати філе ~/.config/kdeglobals .

З якоїсь причини (певно винні москалі чи жиди, бо я нічого не робив - воно само :-), там було так:

[Shortcuts]
Undo=Ctrl+Z;\s

Довелось прибрати той \s

[Shortcuts]
Undo=Ctrl+Z;

Зберіг, перевантажив KDE. Болячка пішла.

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка

gWLC3AeNBmmgElasticPress - це плагін для WordPress, що трансформує запити WP у запити до ElasticSearch. За замовчуванням плагін створює індекс ElasticSearch англо-буржуїнською мовою. Проте в мене виникла потреба, щоби пошук працював для німецької мови, себто правильно сприймав сиволи на кшталт ü => ue. Себто слова gerüstbauer, gerustbauer та geruestbauer повинні видавати однакові результати в пошуку.

Після нелюдських дослідів і катувань, в'язні видали нагора наступні два хуки, що примусять ElasticPress створювати індекс ElasticSearch мовою Гітлера Гьоте. Звісно, після додавання гаків, треба запустити переіндексацію у ElasticPress.

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка

Disable XDebug for Code Sniffer but enable for CLII scripts Я користуюсь VS Code для розробки на PHP. Також я користуюсь XDebug, проте після встановлення і прив'язки його до VS Code, він перехоплював всі помилки від phpcs , а він їх генерує при перевірці відкритих сторінок постійно, роблячи XDebug шкідливим для відлагодження.

Рішенням було відімкнути XDebug глобально, проте увімкнути для потрібних віртуальних хостів.

Глобально його можна вимкнути у php.ini (чи іншому файлі конфігурації PHP, в моєму випадку на OpenSuse я маю файл ручної роботи /etc/php7/conf.d/xdebug.ini), а потім у .htaccess  ввімкнути його для потрібних хостів.

То ж у конфігурації php у .ini файлі я маю рядочки:

xdebug.remote_autostart = 1
xdebug.remote_enable = off

А у .htaccess я рядочок

php_flag xdebug.remote_enable on

І це чудово працювало, що з'явилась потреба відебажити скрипт командного рядка через XDebug у моєму VS Code. Рішенням є запуску php з правильним ключем, як то

php -d xdebug.remote_enable=1 script.php

І на останок, щоби не писати ключик постійно, варто зробити скрипт-якрличок. Я поклав собі такий файл  ~/bin/pd з таким вмістом

#!/bin/bash
set -o xtrace
php -d xdebug.remote_enable=1 $@

То ж для запуску із ввімкненим відлагодженням XDebug я пишу просто pd script.php

З.І. set -o xtrace не обов'язковий рядок. Я його використовую для відлагодження bash скриптів. Можна і без нього.

Оцінка користувачів: 5 / 5

Активна зіркаАктивна зіркаАктивна зіркаАктивна зіркаАктивна зірка

Crazy tasty spiderНещодавно змушений був переїхати з з редактора коду geany на visual studio code  (далі VS Code). Мій geany був налаштований для перевірки форматування коду відповідно до стандартів Joomla. Я користувався phpcs, щоби отримувати звіт про проблеми. Користуватись php-cs-fixer для автоматичного виправлення помилок я не вмів. Тепер вмію.

Оскільки я пишу код не лише для Joomla, то мушу використовувати і стандарти кодування PSR2 на інших PHP-проектах.

Наприклад, у PSR2 вираз має виглядати так

if (true) {
    echo "yes';
}

У Joomla ж дужка мусить бути наступним рядком:

if (true)
{
    echo "yes';
}

Вирішення питання було досить геморойним. То ж лишаю тут цю замітку в тому числі для нагадування собі про власну тупість на майбутє. Довелося встановлювати дещо у глобальному масштабі, а дещо - лише в робочу область Joomla (папка установки Joomla, де я розробляю мої розширення). Я використовую OpenSuSE linux, проте на інших ОС все приблизно так само.

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
Multithumb found errors on this page:

There was a problem loading image http://static.xscreenshot.com/small/2017/09/02/12/screen_9f1481d6e69cb5f42a33e41631214653
There was a problem loading image http://static.xscreenshot.com/small/2017/09/02/12/screen_9f1481d6e69cb5f42a33e41631214653

screen_9f1481d6e69cb5f42a33e41631214653Мій Klipper (менеджер буфера обміну) відмовився відкривати за допомогою комбінації клавіш (я використовую Ctrl+`) у LXQT. Проблема полягала в тому, що мій LXQT використовує українську локаль, але гарячі кнопки встановлений англійською мовою.

Дивна поведінка мені також зустрілась, коли в глобальному менеджері ярликів я не зміг визначити нові комбінації кнопок. Старі працювали.

Через кілька годин в пошуку і експериментів я з'ясував, що глобальні ярлики слід встановлювати, коли моя локаль і активна мова співпадають.

Отож, оскільки моя локаль - українська, мені довелося перейти на українську мову вводу, а потім призначити ярлики.

Гарячі клавіші надалі працюють при будь-якій активній мові.

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка

spiderЯ користувався RokSprocket для виведення статей у вкладках. Проте опція "випадкових" статей у ньому - нахабна брехня. Він не дозволяє обирати кожен раз при завантаженні випадкову статтю. Тільки порядок вкладок може міняти випадково - для тих самих статей.

То ж за допомогою власного коду і трьох чудових розширеннь було реалізовано (Sourcer, Tabs and Articles Anywhere) модуль з випадковими статтями у вкладках.

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
Multithumb found errors on this page:

There was a problem loading image http://static.xscreenshot.com/small/2017/06/05/18/screen_feec84c36e0396d3548f67a38e13b948
There was a problem loading image http://static.xscreenshot.com/small/2017/06/05/18/screen_feec84c36e0396d3548f67a38e13b948
Joomla RSS doesn't provide a separate image field

Я використовую zapier.com, щоб одразу постити статтю на сайт і до групи фейсбука. Проте я стикнувся із проблемою - фейсбук підтягував перше ліпше фото з сайту замість фото статті. У Zapier є опція обрати звідки брати фото для поста, але RSS-стрічка Joomla не передбачає окремого поля для фото.

То ж доевелось скористатись моїм плагіном MVC override і дещо вдосконалити рідний функціонал джумли. Результат можна побачити у наступній RSS-стрічці http://airsoft.in.ua/?format=feed&type=rss

Приклад коду XML з RSS (див. виділене жирним)

Дочірні категорії

Загальні часті питання  по Joomla з власного досвіду.

Мій досвід підкорення Linux

FaLang translation system by Faboba
Електронна бібліотека «Exlibris»: історичні дослідження, мемуаристика, публіцистика, художня література Українська етнографія: книги, курси лекцій, статті й матеріали, мапи, фотоальбоми, веб-ресурси Правителі України: портрети, життєписи, матеріали Твори Адріана Кащенка: романтика козацьких часів Народна війна 1917-1932
Orphus System

Коментарі

  • Форматування PHP коду у VS Code відповідно до Joomla Coding Standards, тобто про phpcs та php-cs-fixer

    oppo oppo 16.03.2018 09:54
    спасибі, грамотно написано

    Детальніше...

     
  • Урок на майбутнє. Зброя і революція.

    Chillipepper Chillipepper 20.12.2016 22:59
    "... малі держави не можуть ефективно покладатися виключно на стримування в якості основної стратегії ...

    Детальніше...

     
  • AutoReadMore - автоматичне додавання кнопки Детальніше для статей Joomla, інших компонентів і модулі

    gruz gruz 13.07.2016 18:38
    Виправив в останній версі 4.5.3

    Детальніше...

     
  • AutoReadMore - автоматичне додавання кнопки Детальніше для статей Joomla, інших компонентів і модулі

    гром гром 13.07.2016 10:01
    Привіт! Відмінний плагін, не можу застосувати його до категорій. Або скрізь працює або ніде! У ...

    Детальніше...

     
  • VirtueMart 2.x Categories accordion menu

    gruz gruz 28.12.2015 12:54
    http://static.xscreenshot.com/small/2016/01/06/02/screen_12a86996b1b92dde3e5c4ca5b872b516 ...

    Детальніше...