Поиск по блогу

воскресенье, 4 октября 2015 г.

Включение error_reporting в .htaccess

Для начала простой рецепт: 

Для включения вывода ошибок php в файле .htaccess необходимо добавить строку
php_value error_reporting 7
php_flag display_errors On
Эта запись соответствует включению вывода ошибок уровня «E_ERROR | E_WARNING | E_PARSE»
Для отключения вывода ошибок, включенного в php.ini используйте
php_value error_reporting 0
php_flag display_errors O

Теперь подробнее:

В интернете гуляет множество рецептов, предлагающих устанавливать вывод ошибок с помощью конструкции
php_value error_reporting “E_ALL & ~E_NOTICE”
но во многих случаях это не работает.
Для установки уровня сообщений об ошибках php требуется указать битовую маску, которая в десятичном представлении является целым положительным числом. Когда в php-коде в параметрах функции error_reporting мы указываем значение, например вида E_ERROR | E_WARNING | E_PARSE, на самом деле мы передаем результат действий над именованными константами php, имеющими значение типа int. С помощью документации легко убедиться что функция error_reporting в качестве параметра ожидает получить отнюдь не строку, а целое числовое значение.
Давайте разберемся, что это за зверь такой — битовая маска.
Если открыть список констант php, ответственных за установку уровня вывода ошибок, то можно заметить, что числовое значение каждой из них является «круглым» в двоичном представлении. То есть в двоичном виде константы будут выглядеть в виде одной единицы в старшем разряде и нескольких нулей после нее. Например:
КонстантаДесятичное представлениеДвоичное представление
E_ERROR1
  1
E_WARNING2
 10
E_PARSE4
100
Таким образом: выражение E_ERROR | E_WARNING | E_PARSE даст результат 111 в двоичном формате или 7 в десятичном. Эту-то семерку мы и подставили в директиву htaccess php_value error_reporting 7.
Зная значения констант можно легко варьировать уровень вывода ошибок, при этом нет необходимости переводить числа из десятичного представления в двоичное и обратно вручную. Нам поможет стандартный калькулятор Windows (замечу, что калькулятор, встроенный в (x)Ubuntu имеет схожие возможности). Запустим калькулятор и переведем его в режим «Программист» с помощью меню «Вид» как это показано на рисунке.
Переключение калькулятора в режим "Программист"

Теперь допустим, что мы хотим видеть сообщения об ошибках, но не хотим видеть никаких предупреждений (например мы работаем с каким-то старым php-кодом, использующим множество устаревших конструкций).
Убедимся, что калькулятор находится в десятичном режиме ввода (радио-баттон в положении «Dec») и будем последовательно вводить значения констант, отвечающих за вывод ошибок применяя к ним операцию «Or».
Органы управления калькулятора в режиме "Программист"
Константы, ответственные за предупреждения мы пропустим.
Таким образом мы выполним
1 Or 4 Or 16 Or 64 Or 256 Or 4096
что соответствует E_ERROR | E_PARSE | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR. После нажатия равно мы получим 4437, что будет соответствовать битовой маске
1000101010101
В файле htaccess мы пропишем php_value error_reporting 4437 и многочисленные предупреждения не будут нам мешать, в то же время мы будем получать сообщения обо всех ошибках, приводящих к падению скрипта.

четверг, 24 сентября 2015 г.

Плагин Microkid’s Related Posts - создание списка похожих статей на WordPress

К CMS WordPress разработано как минимум несколько плагинов, позволяющих выводить к каждому посту список похожих по теме заметок. Одним из самых популярных плагинов является Related Posts, который осуществляет поиск статей в автоматическом режиме по заранее заданным параметрам (тегам, категориям). Однако иногда возникает необходимость вывести в списке похожих постов какие-то определенные статьи, выбранные вами вручную. Вот здесь-то на помощь и приходит плагин Microkid’s Related Posts.
Загрузить версию данного плагина, понимающую русский язык при поиске по ключевым словам, можно отсюда - http://www.wordpressplugins.ru/download/microkids-related-posts.zip. Оригинальная английская версия с русскими словами работать не будет. После установки и активации можно пройти в настройки, которые располагаются в пункте «Related Posts» админки блога.
Добавить сам модуль с выводом списка похожих постов можно несколькими способами. Самый часто используемый способ – вставка php-кода с функцией плагина напрямую в код шаблона single.php. Вставлять следует именно в то место, в котором вы хотите видеть данный список (как правило, модуль выводится перед комментариями). Сам код вставки выглядит следующим образом
<?php if( function_exists("MRP_show_related_posts") )
MRP_show_related_posts();
?>
Чтобы подобрать список похожих постов для каждой конкретной заметки, зайдите на страницу редактирования этой заметки и воспользуйтесь пунктом «Искать записи». Укажите ключевое слово / фразу и выберите, где именно следует его искать – в заголовке, контенте или везде. Рядом с каждым найденным постом будет показана стрелочка, нажав на которую, вы добавите его в список.
Кроме того, список похожих постов можно добавить на блог посредством виджета, который называется «Связанные записи». В настройках этого виджета можно указать тип связанных записей (посты или статичные страницы), параметры отображения, миниатюру и некоторые другие вещи. В большинстве случаев для вывода списка похожих постов используют прямой код вставка плагина, а не виджет, так как виджет отображается в верхней части страницы, а это неудобно для пользователей.
Что касается внешнего вида блога со ссылками на похожие статьи, то по умолчанию он выводится в виде маркированного списка. Изменить внешний вид можно в файле style.css используемой темы, добавив туда нужные правила для таких селекторов, как #related-posts-MRP_all (сам блок), #related-posts-MRP_all li (элемент списка статей), #related-posts-MRP_all li a (ссылка в элементе списка). К примеру, можно изменить размер и тип шрифта, фоновый цвет и т.д.

суббота, 12 сентября 2015 г.

Вставляем числа прописью в программе MS Word

При подготовке документов в программе Ms Word иногда нужно числа представить в виде прописи. К примеру, число «321» записать как «Триста двадцать один». Если такая ситуация повторяется часто, объем работы по набору текста резко возрастает. Но есть и хорошая новость: процесс можно частично автоматизировать.

Для этого нужно познакомиться с ПОЛЯМИ – важными атрибутами документа Ms Word. Поле Word – это специальная инструкция (команда), которая позволяет вставить в тело документа различные элементы: рисунки, количество страниц, дату распечатки и т.п. (полный перечень полей есть в справочной системе). Чтобы внедрить поле в документ переходим к месту вставки и нажимаем «Ctrl+F9». Появится поле с фигурными скобками, которые выглядит примерно так {|}. Внутри скобок нужно ввести содержимое поля и нажать клавишу «F9». Программа Word покажет результат обработки поля. Чтобы вернуться в режим отображения содержимого поля, нужно нажать комбинацию «Shift+F9».

При обработке полей их можно отформатировать. Для этого в тексте поля нужно поставить ключ формата. Он начинается с символов «\*», затем идет значение ключа. Однако вернемся к исходной задаче.

Чтобы вывести число прописью, в качестве значения поля вводим само число, перед которым ставим символ «=» (равно). Вместо кода формата указываем «\*CardText». То есть, чтобы показать «321» прописью содержимое поля будет таким: «=321 \*CardText».

Важно! Кавычки в этом тексте при добавлении поля печатать НЕ НУЖНО.

А сам алгоритм внедрения поля для отображения числа прописью выглядит так:

- нажимаем «Ctrl+F9», появится текст {|};
- внутри скобок вводим содержимое поля, например «=321 \*CardText»;
- нажимаем «F9», на экране вместо поля появится текст прописью (в данном конкретном примере «триста двадцать один»).

Важно! В локализованной (русской) версии Ms Word цифры прописью будут представлены по-русски. В англоязычной версии редактора результат будет на английском языке.

Ключ «\*CardText» отображает результат в виде числительных, записанных словами. Разумеется, есть и другие способы отформатировать числа в программе Ms Word.

Так, выражение «\*Upper» преобразует все буквы в заглавные (прописные). Сделать заглавной первую букву первого слова поможет ключ «\*FirstCap» и т.д. В пределах одного поля можно использовать комбинацию из нескольких ключей. Например, чтобы написать число прописью с большой буквы нужно поставить ключи: «{=321\*CardText\*FirstCap}». Результат будет «Триста двадцать один». Чтобы представить число римскими цифрами, можно воспользоваться ключом «\*roman». Например, значение поля «{=321 \*CardText\*roman}» будет таким: «сссxxi»
Важно! Регистр результата обработки поля будет такой, каким он указан в ключе «\*roman». Ключ «\*roman» вернет результат строчными буквами, ключ «\*ROMAN» – заглавными.

Вот несколько полезных ключей, которые можно использовать в полях Ms Word.

- «\*Caps», – сделает заглавной первую букву каждого слова.
- «\*FirstCap», – сделает заглавной первую букву первого слова.
- «\*Upper», – преобразует все буквы в прописные.
- «\*Lower», – преобразует все буквы в строчные.
- «\*CardText», – покажет результат в виде числительного прописью, буквы будут строчные.
- «\*OrdText», – вернет результат как порядковый номер прописью.
- «\*Ordinal», – вернет результат как порядковый номер, но цифрами.
- «\*roman», – покажет число римскими цифрами.

При работе с полями Word удобно использовать три комбинации «горячих» клавиш:

- «Ctrl+F9», – вставить поле;
- «Shift+F9», – показать содержимое поля;
- «F9», – отобразить результат обработки поля.

И еще один момент. Корректировку значений в полях MS Word можно выполнять средствами контекстного поиска и замены. Это самый быстрый способ изменить большое количество полей в документе.

Поля Word — незаменимый инструмент создания документов с изменяющимися элементами. Обязательно посмотрите в справочной системе Word перечень доступных полей. Наверняка вы обнаружите там много полезных возможностей.

Удачной работы!
 
Google+