wordpress пустая страница page/2
Недавно только заметил на одном блоге, что при переходе на страницу page/2 или page/1 и так далее по шаблону адрес сайта/page/* чистая, пустая, белая страничка, ни байтика кода. Мучился я с этой проблемой мучился. Много чего перепробовал и на одной из шагов выяснения причины, а это было переименование папки с плагинами plugins которая находится в wp-content в любое другое имя, ну например в plugins2. Соответственно все плагины отваливаются и можно точно удостовериться в плагинах ли это дело. И действительно в них. После данной операции страницы открывались как нужно… Переименовав обратно стал отключать по одному плагины и смотреть, и дело оказалось в плагине Advanced Permalinks. Отключил его нафиг. Особой смысловой нагрузки он не несет и погоды не делает. Так что у кого такая проблема проделайте то же самое и посмотрите, вдруг проблема кроется в плагинах, как это было у меня…
Авторизация в WordPress
Понадобилось мне тут написать кусочек кода, который брал пароль из базы данных wordpress’а. Полез в базу… Заранее предполагая, что пароль не может храниться в открытом виде, был уверен на 90%, что он в md5. Увидев значение поля user_pass, таблицы wp_users и хорошо зная как выглядит хеш md5 я понял, что это точно не md5,по крайней мере может быть не в чистом виде… хеш пароля имеет такой вид
$P$Bhxnus21iNEGqYViRQ9yrGwBrMbAtN1
пароль который равен этому хешу 123.
Полез искать в интернете, на форумах, задавая вопросы великому Гууглу пытаясь найти истину. Вся найденная мною полезная информация гласила, что яко бы это многократное использование алгоритма md5, или md5 и какие случайные цифры и буквы вначале, то, что есть определенная закономерность и т.д. Ясное дело бред, я даже не поленился проверить теорию о многократном шифровании в md5. Все не то. Ну и разумеется пришлось копать истину самому… Полез разбирать исходники многоуважаемого wordpressа. Копаясь в исходниках и следуя от одного файла к другому, от одной функции к другой. Все приводило к вызову некого метода PasswordHash. Далее ниточка привела меня почти к истине…
Оказывается хеширование пароля в wordpress выполняется неким усиленным, своим методом. То есть пароль хранящийся в базе данных, хранится там не в обычном хешированном md5 виде, а в усиленно хешированном виде. Как я понял, а в подробности я не вдавался, метод шифрования это модифицированный или чистый Blowfish. Порыскав еще, я вышел на этой разработки и называется все это дело Portable PHP password hashing framework, кратко phpass — Это класс написанный на PHP. Как правильно подмечают авторы, правильно говорить не шифрование пароля, а хеширование (а я разок употребил слово шифрование =) ). На этом сайте Вы всегда сможете скачать исходники, почитать поподробнее про phpass. Истина найдена, не все так сложно!
Sublime Text 2 — как установить плагин
Привет всем. Многие наверное пользуются этим замечательным редактором. Не буду многословен, а просто скажу, что лучше самим попробовать, чем сейчас писать много букв и рассказывать про этот замечательный редактор кода =), а лишь напишу как устанавливать плагины на этот редактор. Так вот, этот замечательный редактор еще и обладает не маленьким набором плагинов, из-за своей популярности множество программистов пересевших на Sublime Text 2 стали усердно разрабатывать новые и новые плагины, реализуя те плюшки, которых им не хватает или которые были в их прошлых любимых редакторах кода. И так по порядку…
Найти и выбрать для себя нужный плагин можно (официальный форум). Далее, запоминаем название. Открываем Sublime Text 2, вызываем консоль сочетанием горячих клавиш Ctrl+` и вставляем следующий снипет:
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
много букав и все в одну строку… Жмем Enter и смотрим как в нижней панели, где показываются номер текущий строки и позиция курсора весело происходит анимация, которая наводит на ностальгию…
Затем пере запускаем наш редактор, о чем любезно напишут в той же панельке. Далее Preferencens > Package Control > Install Package и вводим название понравившегося плагина, находим и устанавливаем. Все! Приятной Вам работы! Если возникнут вопросы, к Вашим услугам комментарии =)
Quick Translator не работает
Привет всем! Не работает всеми любимое расширение для Firefox? И скорее всего стоит версия 0.9? Сам вот мучался с такой проблемой, решение — скачать бета версию 1.0b2. ссылку даю официальную, чтобы не было подозрений.
Наслаждайтесь. Все работает, так как и работало. От себя добавлю, супер дополнение. Позволяет по быстрому перевести кусочек выделенного текста или одно слово. Понимает множество языков.
VirtualBox — смена даты, изменение времени или отмена синхронизации с родительской машиной
Понадобилось мне срочно тут на виртуалке поменять дату на пару месяцев назад. Запустил, залез в настройки времени и даты, поменял, все бы хорошо, но заметил, что через несколько секунд дата опять установилась такой же как и была до изменения… Наверное синхронизация с интернетом творит такие вещи подумал я, отключил ее, поменял дату, опять тоже самое… Ну пошел спрашивать у великого Googl’а. Порывшись немного выяснил, что время и дата на виртуальной машине синхронизируется с родителем, т.е. с компьютером на котором установлена виртуальная машина.
В графических настройках изменить данную опцию не возможно (если возможно скажите
). Менять время на основной ОС мне совсем не хотелось, для такого рода экспериментов как раз и придуманы виртуальные машины.
У меня установлен VirtualBox и в данном случае виртуалка запускалась из под Windows 7. Так вот, для отмены синхронизации времени и даты виртуальной машины с операционной системой в которой она стоит необходимо следующее (для win 7):
- Вызываем терминал: WIN+R.
- Перемещаемся в папку где установлен VirtualBox: cd путь до папки с виртуалкой, например
cd с:\Program Files\Oracle\VirtualBox - И выполняем команду:
vboxmanage setextradata "virtualmachines name" “VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled” “1"
virtualmachines name — имя вашей виртуальной машины, например в данном случае

имя будет «win xp»
Вот и все, теперь можете изменять системную дату/время и она будет оставаться такой, какой Вы ее задали. Удачи!