PHP: Построение древовидных данных в PHP


Недавно, возникла потребность сделать древовидный, порядковый список категорий, в одном из проектов.
2 главных условия, которые соблюдал:
1) в html должны наглядно показываться родительские элементы и их "дети";
2) для всей операции 1 SQL запрос.
Читать дальше

PHP->Webasyst: программирование под популярный движок виртуального магазина


Webasyst - движок, использующий Smarty в качестве шаблонизатора. Cвои функции всё равно можно писать, через интерфейс плагинов Smarty. Плюсы этого способа - простота освоения и лёгкая инсталляция. Минусы - из таких плагинов не работают множество полезных и удобных функций движка, которые при написании плагина сэкономили бы вам кучу времени, а так же, не оправданно сложная развёртка сложных структур.
В этом мануале, я так же рассмотрю интерфейс самого движка, в котором работают все функции, используются классы и объекты, а установка сложнее.
Читать дальше

PHP->HTML: проверить атрибуты HTML тегов (априори, парсинг HTML)


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

Bash: Скрипт для бекапирования хостинга (apache mysql)


У меня это работает так. Каждое N-количество времени запускает скрипт, который архивирует tar`ом содержимое htdocs из /var/www, делает sql дампы, раскладывает это по соответствующим директориям, потом раскладывает это всё по директориям с датой.
Кому лень это писать самому - забирайте.
Читать дальше

bash->установка бита владельца директории из списка


Недавно пришлось решать немного странную задачку на BASH. Был список в текстовом формате:
группа=путь

Нужно было пройтись по каждому элементу списка и установить группу указанного в нём же.
На сервере стоял старый BASH, ассоциативных массивов, в котором ещё небыло.
Читать дальше

Gentoo->монтирование FTP сайтов к файловой системе Linux


Ранее я уже писал о успешном опыте использования автомонтажника autofs, а сейчас хочу поделиться ещё одним удобным его свойством.

Те люди, которые много работают с FTP и серверы, как правило одни и те же, могут сделать любую папку в их файловой системе, точкой доступа к FTP серверу. А autofs, при этом обеспечит стабильный коннект, реконнект (если понадобится и при этом шара не зависнет) и автоматическое отключение от сервера, если он долго не используется. В общем - autofs ведёт себя как любой другой, нормальный FTP клиент, разница лишь в том, что результат его работы в файловой системе, а не в окошке программы.
Читать дальше

Переброс портов средствами SSH


Иногда хочется пользоваться, к примеру своим Email сервером, а корпоративная политика местного IT отдела строго настрого такое запрещает.
Тем не менее, очень часто остаётся открытым 22й порт, через который можно проложить шифрованный канал через тернии к звёздам.



Чтобы усложнить реализацию подобных махинаций, часто бывает, что время жизни коннекта к такому порту - строго ограничено. В таких случаях на помощь придет программа autossh.


Читать дальше

Обработка клика по объекту формы в Qt


В Qt есть очень универсальный способ, позволяющий обработать клик практически на любом элементе формы, у которого даже нет сигнала clicked().
Если вы имеете дело с производным от класса QWidget достаточно реализовать приватную, виртуальную функцию
Читать дальше

Gigolo: ассоциации файлов


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



Бывает так, что из коробки Gigolo отказывается открывать смонтированные директории. Лечится это правкой файла defaults.list.


Читать дальше