Очень часто встречается задача преобразования массива данных, например, категорий в дерево (структуру с неограниченным уровнем вложенности). В этом случае обычно каждый элемент массива содержит данные о родителе. В случае с категориями это ID категории-родителя (parent).

Дано: массив, у которого ключи - ID категорий, а значения - объекты-записи, одно из свойство которых - parent, указывающее на родительскую категорию.
Задача: сначала преобразовать массив данных в дерево, а затем вывести это дерево на страницу в виде списка с неограниченным уровнем вложенности.

Решение:

На серверах, где установлена версия PHP >=5.3 WYSIWYG редактор JCE может показывать окно ошибки в файловом менеджере. Что-то типа:

PHP Error Message: WARNINGstrftime() [<a href=\'function.strftime\'>function.strftime</a>]: It is not safe to rely on the system\'s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected \'Europe/Berlin\' for \'CET/1.0/no DST\' insteadError in line 73 of file /home/www/apache/servers/bizmama.ru/pages/plugins/editors/jce/libraries/classes/utils.php

Решение:

По мере необходимости буду сохранять здесь часто встречающиеся команды, ибо все не упомнишь.

Список файлов, к которым давно (более 166 дн.) не обращались:

find . -type f -atime +166 | wc -l

Удаление файлов, к которым давно не обращались:

find . -type f -atime +166 -exec rm {} \;

Получение http-заголовков от сервера (сайта):

curl -I http://vmalkov.ru

Переотправка всей застрявшей почты:

postsuper -r ALL

Разархивирование tar'ом:

tar xvfz archive.tgz

Архивация всей текущей директории с поддиректориями zip'ом:

$  zip -r data *

IP адрес сайта:

nslookup vmalkov.ru

Прямая закачка файлов с одного сервера на другой:

wget -m ftp://user:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра./var/www...

или без листингов директорий:

wget -r -N -l inf ftp://user:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра./var/www...

Копирование файла с реверсом (переворотом) строк так, чтобы первая строка стала последней, а последняя - первой:

tac myfile1.txt > myfile2.txt

Проверка портов (какой процесс слушает):

lsof -i :80

Добавление задач в Cron:

crontab -e

Копирование (синхронизация) файлов и каталогов между серверами:

rsync --progress -avz -e ssh user@host:/path/on/server/ /directory/path/

Пакетное удаление строк между шаблонами в файлах рекурсивно:

find /var/www/anysite.ru/ -name \*.js -exec sed -i '/^\/\/copyright/,/^\/\/license/d' {} \;

В вышеприведенном примере мы удалили вредоносный код трояна Troj/JSRedir-LH из js-файлов.

Смена локали (языка):

dpkg-reconfigure locales

Удаление ssh-ключа хоста из known_hosts:

sed -i '6d' ~/.ssh/known_hosts

где 6 - номер строки с хостом.

Узнать, какой MPM у Apache:

apachectl -t -D DUMP_MODULES | grep mpm

Загрузка дампа в БД:

mysql table_name < filename.sql

Распаковка gz-архива:

gunzip filename.sql.gz

 

В Joomla 1.5 у компонента Artio JoomSEF 3.9.9 копирайты "powered by joomsef" можно удалить, закомментировав в файле /components/com_sef/joomsef.php строчку № 2624 вида:

$cacheBuf2 =
'<div><a href="/http://www.artio'.
'.net/joomla-extensions/joomsef'.
'" style="font-size: 8px; visib'.
'ility: visible; display: inlin'.
'e;" title="JoomSEF: Joomla SEO'.
' component for SEF URLs">Jooml'.
'a SEO powered by JoomSEF</a></'.
'div>';

Задача: отсортировать выдачу из БД по числу вхождений тега у похожих материалов. К примеру, компонент K2 для Жумлы показывает похожие материалы в порядке их публикации. А нужно так: если у некоторых материалов совпадает бОльшее число тегов, чем у других, то они идут в первую очередь. Т.е. первым среди похожих материалов идет тот, у которого 3 тега совпадает с текущим материалом на странице, следующим идет - у которого 2 и т.д.

Модуль Apache Solr может понадобиться для организации собственного поискового движка, например, по сайту, сделанному на Drupal. Эта поисковая система позволит производить индексацию и поиск по доп. полям CCK, поскольку штатные средства Друпала подобного не предусматривают. Фильтрацию - да, а вот поиск с ключевыми словами по доп. полям - тут облом-с.

Поскольку означенный модуль Apache реализован с помощью технологии Java, также потребуется установить программу-контейнер сервлетов Tomcat, с помощью которого можно запускать java-приложения для веб. Tomcat потянет за собой кучку библиотек, необходимых для работы с Java.

Плагин для преобразования внешних ссылок с сайта во внутренние. Автоматом может добавить ко всем ссылкам target=_blank, rel=nofollow и заключить их в noindex. Кроме того, можно указать список внешних ссылок, которые следует исключить из преобразования. Плагин работает под Joomla! версий 1.6 , 1.7 , 2.5 и основывается на плагине No External Links от WMDN

СКАЧАТЬ

Наверх