Установка Memcached PHP под Windows
Понадобилось установить memcached на локалку специально для некого громоздкого скрипта, который без вышеупомянутого модуля работать не умеет.
Процедура не обошлась без половых актов - спешу поделиться впечатлениями. = )
P.S Гугл выдает достаточно заметок на эту тему, но обнаруживается ряд ньансов, о которых расскажу подобнее.
Белые или пустые страницы
Перевод статьи о причинах возникновения "белых" страниц вместо страниц форума с vbulletin.com:
Известные причины появления пустых или "белых" страниц:
1. Вы неправильно загрузили файлы vBulletin. Заново загрузите все файлы vBulletin (кроме изображений) и убедитесь в том, что вы загрузили их в ASCII формате, а также в том, что вы перезаписали старые файлы. Убедитесь в том, что вы загрузили файлы "Панели администратора", в каталог панели администратора(admincp), которая указанна в config.php. Далее, если у вас есть доступ в "Панель Администратора", запустите "Подозрительные версии файлов" в "Диагностике", чтобы убедиться в том, что загружены все файлы, соответствующие Вашей версии форума:
Амперсанд в названиях разделов
Проблема: при использовании знака "&" (амперсанд) в названиях разделов форума возникает ошибка валидатора. (validator.w3.org)
Решение: создаем новый модуль (Админка - Продукты и модули - Управление модулями - Добавить модуль)
Продукт - vBulletin
Местоположение модуля - forumbit_display
Заголовок - Ampersand Fix
Порядок выполнения - 5
Код PHP модуля - $forum[title] = htmlspecialchars($forum[title]);
Модуль включен - Да
Набор символов п»ї вверху страницы
Бывает, что после каких-либо манипуляций с сайтом, будь-то одностраничный сайт или движок с набором php-скриптов, вверху странички, или страничек, появляются загадочные символы
п»ї
Происходит это из-за того, что какой-либо скрипт(ы) был сохранен в кодировке UTF-8 с BOM (Byte Order Mark), то есть с цифровой подписью, и эта подпись обрабатывается интерпретатором PHP, что и вызывает ошибку. Чтобы избавиться от этой проблемы нужно пересохранить скрипт(ы) без BOM. Если страничка одна, или не имеет includ`ов, то задача, разуммется, тривиальна. Но если речь идёт о серьезном движке, где достаточно много скриптов, которые, к тому же, еще и содержат includ`ы, то ручной перебор слишком утомителен. К счастью, для этих целей есть маленькая утилита bom-remover, которую можно использовать для поиска файлов сохраннёных с BOM и удаления цифровой подписи.
Но я бы рекомендовал пересохранять скрипты самостоятельно с помощью текстового редактора EmEditor.
Все что требуется от нас, это указать каталог, задать маску (по желанию) и нажать кнопку "Найти" и всё.
Ах да, и сказать большое спасибо автору программы. = )
Xenforo и кодировка при конвертации
Конвертировал vBulletin в Xenforo и столкнулся с проблемой, что даже при указании явной кодировки utf-8 при импорте, и корректном хранении всех данных vBulletin в utf-8, всё равно получаем кракозябры после импорта. После недолгих поисков в одном из скриптов импортера, а именно library/XenForo/Importer/Abstract.php была найдена функция _convertToUtf8, которая все импортируемые данные "насильно" пытается конвертировать в utf-8, чем и вызывает вышеупомянутую проблему. Следовательно, отучаем её это делать. = )
Из файла library/XenForo/Importer/Abstract.php вырезаем следующий кусочек кода:
// note: assumes charset is ascii compatible
if (preg_match('/[\x80-\xff]/', $string))
{
if (function_exists('iconv'))
{
$string = @iconv($this->_charset, 'utf-8//IGNORE', $string);
}
else if (function_exists('mb_convert_encoding'))
{
$string = mb_convert_encoding($string, 'utf-8', $this->_charset);
}
}
и сохраняем. Повторяем процесс импорта.
Отображение всех тем по умолчанию
Задача: установить способ отображения тем "Отображать все темы" сразу во всех разделах.
Решение: Выполняем следующий SQL-запрос (Админка - Обслуживание - Выполнить SQL запрос):
UPDATE forum
SET daysprune = -1
и Перестраиваем информацию о разделах. (Админка - Обслуживание - Обновление счётчиков - Перестроить информацию о разделах)
P.S Не забывайте указывать префикс таблиц, если он используется.
Как отключить рейтинг тем
Задача: полностью отключить возможность оценивать темы на форуме.
Решение: Выполняем следующий SQL-запрос (Админка - Обслуживание - Выполнить SQL запрос):
UPDATE forum
SET options = options - 2048
WHERE options & 2048
и Перестраиваем информацию о разделах. (Админка - Обслуживание - Обновление счётчиков - Перестроить информацию о разделах)
Примечание: Чтобы обратно включить возможность оценивать темы, необходимо повторить те же действия, только со следующим запросом:
UPDATE forum
SET options=options + 2048
WHERE NOT(options & 2048);
P.S Не забывайте указывать префикс таблиц, если он используется.
Ссылки и BBCode [CODE]
Задача: Сделать так, чтобы ссылки внутри ббкода [CODE] были "кликабильными".
Реализация: Открываем файл includes/functions_newpost.php, находим:
function convert_url_to_bbcode($messagetext)
{
global $vbulletin;
и ниже добавляем:
$messagetext = str_replace(array('[CODE]', '[/CODE]'), array('[QUOTE]', '[/QUOTE]'), $messagetext);
Всё.
P.S: Если небходимо, то можно также добавить в массив для поиска и замены ббкоды написанные в нижнем регистре.
Восстановление темы/сообщения/пользователя.
Порой возникает необходимость восстановить какую-либо тему, сообщение или пользователя, после того, как кто-то их, случайно (или не случайно:)) удалил. Для этого нам понадобится дамп нашей БД n-дневной давности.
Нашли? Тогда поехали.
Screen Capture Elite – Скриншот в два клика
Хочу рассказать Вам о замечательном плагине для FireFox, который называется Screen Capture Elite. Этот плагин в два клика позволяет сделать скриншот видимой части странички, странички целиком либо выделенной области, и, затем, сохранить его в файл либо поместить в буфер.
До этого я пользовался FireShot Pro, но, с недавних пор, разработчик ввел trial на 30 дней, и пришлось искать альтернативу, которой и оказался Screen Capture Elite.
Загрузить аддон можно здесь: https://addons.mozilla.org/en-US/firefox/addon/screen-capture-elite/
