Сохранить правила iptables после перезагрузки Debian

После перезагрузки правила iptables не восстанавливаются, если их правильно не сохранить. Читать целиком »

Опубликовано Февраль 25, 2013 | автор: levik  |  Без комментариев »

Сервисы email рассылок - краткий обзор

Некоторое время назад рассылка, несмотря на уменьшение количества подписчиков по итогам отлова несуществующих ящиков при рассылке стала превышать допустимые лимиты количества писем сначала для хостинга, а затем, после перехода на VPS, борьбы с попаданием в SPAM-папки у почтовиков методом настройки DKIM и SPF (тут должна быть ссылка на статью, но почему-то не нашёл)..

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

Читать целиком »

Опубликовано Февраль 21, 2013 | автор: levik  |  Комментарии (2) »

Debian apt-get update ошибка There are no public key available for the following key IDs

При попытке выполнить apt-get update в конце появляется сообщение

There are no public key available for the following key IDs :
4D270D06F42584E6
W: You may want to run apt-get update to correct these problems

Читать целиком »

Опубликовано Февраль 13, 2013 | автор: levik  |  Без комментариев »

oscommerce 1054 - Unknown column customers_discount in field list select customers_discount from customers where customers_id

Ошибка в oscommerce:

1054 - Unknown column ‘customers_discount’ in ‘field list’ select customers_discount from customers where customers_id

Пост достаточно капитанский, однако, сталкиваюсь с вопросом уже не в первый раз.
Читать целиком »

Опубликовано Февраль 7, 2013 | автор: levik  |  Без комментариев »

JavaScript - делаем активный пункт при помощи проверки текущего URL

Часто для определения активной ссылки нет возможности использовать код движка/CMS. Конечно, вариант с добавлением класса (<li class=”active”>) более предпочтителен, но тем не менее для некоторых CMS приходится прибегать к “хакам”. Полезным вариант может оказаться для тех, кому некогда / или нет желания, а иногда - возможности/ разбираться с кодом CMS Не всегда понятно, где в CMS пароль хранится, не то, чтобы файл, отвечающий именно за этот активный пункт меню.

Доступ к текущему адресу страницы мы можем получить используя document.location, который по сути даёт возможность обратиться к адресу (из адресной строки браузера) - т.е. достать адрес сайта и /REQUEST_URI Читать целиком »

Опубликовано Февраль 3, 2013 | автор: levik  |  Без комментариев »

drupal поиск: search, partial substring, fuzzysearch, apache solr search, sphinxsearch

Поиск в Drupal 7 реализован с возможностью расширения. Возможно добавление сторонних движков (apache solr, sphinxsearch), реализация собственных поисковых индексов. При помощи модулей реализованы не только поиск по слову (из коробки поиск работает по количеству совпадений слов в индексе), но и поиск с учётом морфологии (porterstemmer http://www.phpguru.org/static/PorterStemmer.html , fuzzy search). Читать целиком »

Опубликовано Январь 31, 2013 | автор: levik  |  Комментарий (1) »

CKeditor режет тэги и атрибуты class, id у div - Drupal

При редактировании контента CKeditor режет пустые тэги и некоторые атрибуты (class id) у непустых тэгов.

В редактор CKeditor 4 версии добавлена опция конфига

config.allowedContent = true;

Также можно добавить свои правила обработки контента к правилам по умолчанию (default rules)
CKEDITOR.editorConfig = function( config ) {
config.extraAllowedContent = '*[id](*)'; // удаляем '[id]',
}

Более подробная документация по
http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules

CKeditor 3 версии
config.ignoreEmptyParagraph = false;

WEB WYSIWYG Редакторы

Настроить CKeditor в Drupal

Если используется drupal модуль ckeditor из официального репозитория, настройка значений config, передаваемых в редактор производится на странице admin/config/content/ckeditor после выбора нужного профиля (Advanced/Full) и действия изменить для него.

Далее в панели-спойлере “Дополнительные настройки” в блоке “Пользовательская конфигурация JavaScript” вводим нужные значения config.allowedContent = true; // разрешаем

При использовании других фильтров (на странице профиля CKeditor выбираем Панель “Безопасность” -> фильтры безопасности)

Устанавливаем и включаем модуль Wysiwyg Filter.
Выбираем чекбокс в разделе “Enabled filters” напротив W

В блоке HTML tags размещаем допустимые правила обработки тэгов

@[style|class],
a[!href|target<_blank|title|rel],
div[align

p[align img[src|width|height|alt|title|rel],
h1,h2,h3,h4,br,hr,span,em,strong,
cite,code,blockquote,pre,ul,ol,li,dl,dt,dd

При необходимости ставим галки напротив “color” и “background-color” (или других стилей)

Ниже можно прописать правила для class

rte*,
justify,
image-left,
image-right,
standalone-image

Опубликовано Январь 23, 2013 | автор: levik  |  Без комментариев »

Drupal 7 Batch API - используем API

https://api.drupal.org/api/drupal/includes!form.inc/group/batch/7

Для групповых операций (которые могут занимать длительное время) рекомендуется разбивать процесс на “порции”. В Drupal имеется встроенный механизм “порционирования” пакетных операций - Batch API

Для примера - конвертацию поля в термин таксономии проведём с использованием DRUPAL Batch API
Читать целиком »

Опубликовано Январь 19, 2013 | автор: levik  |  Без комментариев »

drupal как сконвертировать поле field в термин таксономии (taxonomy term)

При пакетном импорте в ноды была сохранена информация в текстовом виде, однако в дальнейшем было принято решение использовать её в связках taxonomy (к примеру, брэнды были сохранены как текст.. потребовалось сделать “Каталог брэндов”)

0. сохраняем резервную копию базы данных
Читать целиком »

Опубликовано Январь 15, 2013 | автор: levik  |  Без комментариев »

Drupal 7 перенос поля field из одного типа в другой

В  Drupal 7 гибкое управление полями достигается за счёт продуманной структуры информации о полях (field) (отличается от структуры CCK в друпал 6, хотя принципы node и taxonomy сохранились). Сохранение полей происходит в базе (да-да) и под каждое поле создаётся как минимум 2 таблицы - об этом чуть ниже. Читать целиком »

Опубликовано Январь 8, 2013 | автор: levik  |  Комментарий (1) »