Как я делал блог из WordPress (часть 3) или Боремся со спамом AuthImage-Ajax

Спам-спам-спам

Как много в этом слове, не правда ли? Одно дело, когда блог не слишком популярен (как мой например:)) и эта проблема касается тебя постольку-постольку, но даже при этом Akismet умудрился выловить 680 спам сообщений.

Было это правда до того, как я поставил Anti Spam Image от Максима. И всем этот плагин хорош, да только частенько случается такая вещь: пишешь ты огромный комментарий, жмёшь «отправить», а тебе в ответ: «извините, код не верный. введите ещё раз». Ага, только когда жмёшь «назад», попадаешь на пустую страницу, и повторно писать качественный комментарий нет ни сил, ни желания.

Тогда то и появилась у меня мысль — почему бы не проверять код с картинки ещё до её отправки, ну или вообще не менять страницу после поста комментария. Немного погуглив наткнулся сперва на AJAX Comment и прямо оттуда вёл линк на AuthImage.

AJAX Comment встал как литой простой активацией, а вот с AuthImage пришлось повозиться. Во-первых, последнее его обновление было в 2004 году, под WordPress 1.5. Во-вторых, для его работы надо было вносить изменения в шаблон, а это уже несколько напрягло, т.к. тот же Anti Spam Image Максима внедрялся сам собой.

Как выяснилось, древность плагина особо не сказывается на его работе, т.е. картинку он генерирует исправно и проверяет её тоже. А вот чтобы заставить его самостоятельно встраиваться в шаблон — пришлось немного повозиться (и поизучать код Anti Spam Image).

Зато теперь всё как у белых людей — залил папки, нажал в админ-панели «Активировать» и всё работает. Попутно руссифицировал плагины.

Вот собственно ссылки на архивы:
1. authimage-ajax-pack.rar — Архив с обоими плагинами, настроенными на совместную работу. Т.е. желательно активировать их вместе, если же необходимость в AuthImage отпадёт, то нужно будет внести изменения в ajax-comments.php, закомментрировав в нём строки 92, 152, 153. Это всё описано в прилагаемом README.
2. authimage.rar — Анти-Спам плагин. Работает как и множество других Captcha-плагинов.
3. ajax-comments.rar — добавление комментариев без перезагрузки страницы. Все нужные строки уже закомментированны.

Хочу ещё сказать, что список слов, которые используются при создании картинки, хранится в текстовом файле words.txt, который следует искать в папке плагина/authimage-inc/words/. Честно говоря не знаю, как он работает с кириллицей, поэтому если попробуете, то отпишитесь в комментах.

На сегодня всё. Хочется только сообщить, что phpBB Google Sitemap Gen обновился до версии 0.0.8.


Остальные части из серии «Как я делал блог из WordPress»:
Часть 1 — Нахрена оно вообще надо?
Часть 2 — DownloadCounter и WP-stats по-русски

Как я делал блог из WordPress (часть 2) или DownloadCounter и WP-stats по-русски

Время идёт, а блог всё стоит, как и стоял — почти голый и с default-темой. Но это только внешне — для себя решил, что сперва стоит настроить те плагины, которые работают независимо от темы, а потом уже подбирать оформление и править его шаг-за-шагом.
Как я писал в первой части своей эпопеи, проблемы не оставили меня после установки. Попытка активировать расширенный TinyMCE (спасибо за наводку Максиму) выдавало в некоторых местах пустые попапы (в advlink и advimage). Бился долго, пока не глянул в список заблокированных AdBlock Plus‘ом элементов на странице. Как оказалось — блокировались скрипты, содержащие в урл слово «popup». Вылечил это недоразумение добавлением фильтра «@@|http://www.cybercore.ru/wp-includes/js/tinymce/*»

От старого движка остался плагин WP-stats, от товарища Lester ‘GaMerZ’ Chans, который занимается выводом различной статистики в одном окне, а так же предоставляет возможность внедрять различные показатели и на отдельные страницы. Раз уж пишу в блоге на русском, то и все страницы предпочитаю видеть на родном языке, поэтому взялся за перевод данного плагина.
Результат работы можно посмотреть на странице статистики, а сам плагин скачать отсюда (wp-stats-2.11.rus.rar).
Стоит отметить, что сам плагин предоставляет лишь общую статистику, как например — количество постов, комментариев и категорий, а для расширенных данных, таких как количество просмотров страниц, количество подписчиков на комментарии и многое другое, используются дополнительные плагины от Lester ‘GaMerZ’ Chans. У себя пока что я применяю лишь WP-PostView, который ведёт учёт просмотров страниц, поэтому русскую версию тоже можно скачать у меня (wp-postviews-1.11.rus.rar).

Раз уж взялся выкладывать файлы для скачки, а уж тем более статистические, то появился некий интерес — а качают ли вообще? Как это выяснить?
А очень просто, как собственно и всё в WordPress, поставить соответствующий плагин и пропускать все ссылки, подсчёт посещения которых хочется вести, через него. Искать пришлось не долго и был установлен DownloadCounter, но и тут меня ждала неудача — после активации он так и не начинал работать — страница в админ.панели появилась, а вот ссылки на файлы не появлялись, сколько я их не добавлял.
После изучения сделал следующие выводы — php-скрипт не верно определяет наличие в БД таблиц, а следовательно и не создаёт её при первой активации. Поправил этот момент.
Теперь файлы начали появляться в списке, но при нажатии на ссылку «Получить код» ничего не происходило. Полез смотреть и править java-скрипт, который не правильно обращался к скрытому DIV на странице.

Дальше — больше. Не знаю кому как, но мне ЧПУ (http://www.cybercore.ru/download/DownloadCounterModRus_1.5.rar) много приятнее строки http://www.cybercore.ru/wp-content/plugins/DownloadCounter/download.php?id=6 и даже укороченный вариант (например у Максима, http://maxsite.org/download.php?file=http://maxsite.org/wp-files/wp-220-up-221-maxsite-org.zip).

Чтобы добиться ЧПУ пришлось внести небольшие изменения в .htaccess в корне сайта и в сам скрипт download.php, на выходе имеем: русскую панель управления и возможность получать УРЛ для файлов в двух вариантах — с указанием имени файла (http://www.cybercore.ru/download/DownloadCounterModRus_1.5.rar) или его номера в списке (http://www.cybercore.ru/download/6), кому как больше нравитсяLaughing.

Скачать, если кто ещё не понял, можно по этой ссылке (DownloadCounterModRus_1.5.rar) , в файле находится описание по установке и настройке. Все замечания и пожелания пишите в комментариях.

П.С.: Теперь буду отслеживать скачки Laughing


Остальные части из серии «Как я делал блог из WordPress»:
Часть 1 — Нахрена оно вообще надо?

Как я делал блог из WordPress (часть 1) или Нахрена оно вообще надо?

Читать — полезное занятие. С этим никто спорить не станет, вот и читаю я последнее время блоги таких людей как Сергей Жуковcкий, Давыдов. Увлекательно, а главное живо и полезно пишут. И что интересно, особо живо читаются отчёты о прибылях с партнёрок и сторонних проектов. Ну что тут скажешь, тоже загорелся «финансовой независимостью» (как много в этой фразе и как часто её в последнее время употребляют везде и всюду) и, впитав некоторый объём информации, по-новому взглянул на свой недоблог — сложилось не самое хорошее впечатление — да, красивенько, но не функционально и большинство советов более опытных блоггеров, как то — добавлять после каждого поста кнопки подписки на RSS, теги, ссылки на соц.закладки, у меня не выполняются.

Стал копать глубже — воспользовался Гугловым «Инструментом для веб-мастеров», который выявил странный глюк в движке WordPress (2.0.5) — ссылки на категории, в которых содержались заглавные буквы (например, AJAX), выдавали 404 ошибку. Долго думать и сомневаться не стал, т.к. давно уже положил глаз на новый релиз WordPress под номером 2.1.1, переведенный к тому времени Максимом. Скачал архив и…

…И понеслось. Делал всё по шагам, чтобы «уж точно», но естественно не прошло без эксцессов.
До этого у меня стоял WordPress с Windows-1251 кодировкой, а в новой 2.1.x ветке, из-за наличия множества AJAX-вставок, все переведено в UTF-8 (если кто не в курсе, то все данные в AJAX передаются именно в этой кодировке). Максим провёл огромную работу, чтобы облегчить переход от win-версии к utf-8 и отдельно описал это в readme, прилагаемом к архиву. Выполнив всю необходимую последовательность действий и стартанув сайт, узрел крякозябры. Посмотрел в FireBug в meta и оказалось, что кодировка в header так и отдаётся Windows-1251, а вот контент уже в UTF. Пришлось лезть в БД и в таблице wp_options в столбце option_name искать строку с ‘blog_charset’ , в которой как раз и стояла старая кодировка.
После изменения всё якобы стало хорошо, во всяком случае текст стал читаемым. Полез в админскую панель, ввёл логин и пароль и… «Вы не имеете достаточно прав для доступа к данной странице». Снова — читать форум, читать readme — «Если и после этого WordPress выдает сообщени об ошибке, то откройте файл wp-config.php и в самом конце файла уберите комментарий («//») со строчки: require_once(ABSPATH . ‘wp-upgrade-all.php’);maxsite_wp_upgrade();». Не повторяйте моей ошибки и не забудьте её (строчку) потом закомментровать.

Дальше-больше, естественно старая тема Vistered Little 1.6 (локализация), отказалась работать с новым движком (это меня не слишком расстроило, т.к. всё равно думал его сменить на нечто менее броское), но вот то, что Advanced TinyMCE Editor перестал корректно работать с FireFox, выдавая вместо окна для редактирования ссылок пустую область, меня убило.

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


Остальные части из серии «Как я делал блог из WordPress»:Часть 2 — «DownloadCounter и WP-stats по-русски»

Локализация скина и изменения в добавлении меню

Сделал первую версию локализации скина Vistered Little, ещё стоит проверить орфографию и смысловые моменты, но текущую версию перевода можно скачать по этой ссылке.

В процессе локализации скина и освоения движка WordPress наткнулся на такой неприятный момент, как добавление кирилической Рубрики (категории) через «быстрое меню» при создании записи.
Причём удивило то, что добавление в меню «Управление > Рубрики» проходило нормально.

Исследование кода позволило побороть этот недуг, а решением я хочу поделиться с вами.

Читать далее Локализация скина и изменения в добавлении меню

Русский WordPress

Как это не печально, но писать приходится на русском (_smile_), а следовательно и WordPress хотелось поставить русский.

Погуглив, осознал существование двух альтернатив — www.mywordpress.ru и www.maxsite.org

Вариант от майвордпресс предоставляет «стандартный» подход к локализации wordpress’a, а точнее создание файла словаря, который постоянно проверяет пропарсеный код на совпадение слов и заменяет их на русские альтернативы.

На МаксСайте же локализация «зашита», т.е. переведен текст прямо в php страницах, что означант ту же производительность, потому как словарь к wordpress занимает 200-250к, что не слабо грузит процессор на хостинг-сервере, если обращения интенсивны.

Более подробно можно почитать тут.

На данный момент я как раз и поставил версию 2.0.5 от Максима и добавил его блог в Bloggroll.

Сменил стандартный скин Vistered Little и теперь осталось его только полностью локализовать. Позже выложу русскую версию для скачивания.