Описания со ссылками на страницы модулей будет чуть позже…
сейчас для хаков можно понять из конфига он вот такой:
/**
* Хак Приватные топики
* При публикации сообщения добавлена галочка «приватный топик».
* Такие топики будут отображаться только в вашем личном блоге и не будут вылезать на главные страницы,
* что избавит любителей писать «для себя» от кучи минусов в рейтинге.
*/
define('HACK_PRIVATE_TOPICS',true);
/**
* Хак «Автоматическое присоединение к блогу»
* Хак автоматического присоеднинения к блогу, в который юзер публикует свой топик.
* В данном хаке в списке доступных для публикации блогов юзеру выводятся все блоги,
* в которые он может писать по рейтингу(а также те блоги, создателем которых он является).
*/
define('HACK_AUTOJOIN_BLOGS',true);
/**
* Хак ЧПУ
*/
define('HACK_TOPIC_URL',false);
define('HACK_TOPIC_URL_SEPARATOR','_'); // разделитель (для замены пробелов) допустимо использование -_
define('HACK_TOPIC_URL_TRANSLATE',true); // транслитировать в латиницу или оставлять кириллицу
/**
* Хак возможность кириллических урл блогов и имен пользователей
*/
define('HACK_ENABLE_CYR',false);
/**
* Хак ссылки через Redirect
* BLOG_REDIRECT включается в ./modules/redirect/config.php
* нерекомендуется использование вместе с BLOG_URL_NO_INDEX из основного ./config.php
*/
/**
* Хак «Дополнение «LiveTwitter»»
* добавляет последнее сообщение пользователя twitter в профиль пользователя Livestreet.
*/
define('HACK_TWITTER',true);
/**
* Хак «Speller»
* Проверяет текст на наличие орфографических ошибок при написании топика
* Данный хак, используя API Яндекс.Спеллера ( api.yandex.ru/speller/ ), проверяет текст, вводимый при написании топика.
* Проверка осуществляется нажатием на кнопку с буквой «А» и зелёной галочкой.
*/
define('HACK_SPELLCHECK', true);
/**
* Хак Аватары блогов в топике
*/
define('HACK_BLOGS_AVATAR', true);
да, сделать экспорт базы и развернуть в новом движке, ну и плюс директорию /uploads скопировать…
ах да, была еще такая нехорошая вещь, как абсолютный путь для сохраняемых в топике картинок, поэтому если меняется домен сайта надо автозаменой по дампу базы пройтись…
а пути я чтоб таких проблем не было сделала относительными :)
Подскажите как сделать, чтобы по старому урл вида blog/name/1234.html топик тоже был доступен, так же как по /blog/name/(1234)/tekst.html, а то поисковики явно не обрадуются если у уже давно работающего сайта включить данный хак…
попробовала RewriteRule покрутить, но что то не вышло :(
Понятно, что не для тех кто уже оброс своими хаками… скорее для тех кто новый сайт начинает и можно получить сразу все установленное, причем отключаемое через конфиг…
обобщила все это:
1. gzip.php — размещаем в /include/
<?php
// gzip.php v1.3 — убраны ошибки HTTP_TE, добавлено принудительное сжатие для IE
// released on 2004-05-06, by Roman Mamedov<roman at rm.pp.ru>
// license: do with this code whatever you want.
///// Configuration //////////////////
$PREFER_DEFLATE = false; // не нужно больше при желании можно поменять местами последние if elseif
$FORCE_COMPRESSION = false; // force compression even when client does not report support
$AE = 'undefined';
//////////////////////////////////////
function compress_output_gzip($output) {
return gzencode($output);
}
function compress_output_deflate($output) {
return gzdeflate($output, 9);
}
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']))
$AE = $_SERVER['HTTP_ACCEPT_ENCODING'];
elseif (isset($_SERVER['HTTP_TE']))
$AE = $_SERVER['HTTP_TE'];
else
if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'msi'))
$FORCE_COMPRESSION = TRUE;
Спасибо, о том что это в базу не влезает как то не подумала…
Получается есть 2 бага:
1. в ActionTopic.class.php ограничение 500 по умолчанию стоит, а в базе 250.
2. при превышении предела tag обрезается на полуслове, нужно наверно вообще последний tag не сохранять или проверять при вводе что бы сразу видно было.
сейчас для хаков можно понять из конфига он вот такой:
/**
* Хак Приватные топики
* При публикации сообщения добавлена галочка «приватный топик».
* Такие топики будут отображаться только в вашем личном блоге и не будут вылезать на главные страницы,
* что избавит любителей писать «для себя» от кучи минусов в рейтинге.
*/
define('HACK_PRIVATE_TOPICS',true);
/**
* Хак «Автоматическое присоединение к блогу»
* Хак автоматического присоеднинения к блогу, в который юзер публикует свой топик.
* В данном хаке в списке доступных для публикации блогов юзеру выводятся все блоги,
* в которые он может писать по рейтингу(а также те блоги, создателем которых он является).
*/
define('HACK_AUTOJOIN_BLOGS',true);
/**
* Хак ЧПУ
*/
define('HACK_TOPIC_URL',false);
define('HACK_TOPIC_URL_SEPARATOR','_'); // разделитель (для замены пробелов) допустимо использование -_
define('HACK_TOPIC_URL_TRANSLATE',true); // транслитировать в латиницу или оставлять кириллицу
/**
* Хак возможность кириллических урл блогов и имен пользователей
*/
define('HACK_ENABLE_CYR',false);
/**
* Хак ссылки через Redirect
* BLOG_REDIRECT включается в ./modules/redirect/config.php
* нерекомендуется использование вместе с BLOG_URL_NO_INDEX из основного ./config.php
*/
/**
* Хак «Дополнение «LiveTwitter»»
* добавляет последнее сообщение пользователя twitter в профиль пользователя Livestreet.
*/
define('HACK_TWITTER',true);
/**
* Хак «Апгрейд капчи аля Яндекс»
*/
define('HACK_CAPTCHA',true);
/**
* Хак «Speller»
* Проверяет текст на наличие орфографических ошибок при написании топика
* Данный хак, используя API Яндекс.Спеллера ( api.yandex.ru/speller/ ), проверяет текст, вводимый при написании топика.
* Проверка осуществляется нажатием на кнопку с буквой «А» и зелёной галочкой.
*/
define('HACK_SPELLCHECK', true);
/**
* Хак Аватары блогов в топике
*/
define('HACK_BLOGS_AVATAR', true);
/**
* Хак Кнопка «вставить пользователя» в стандартном редакторе
*/
define('HACK_ADD_USER_BUTTON', true);
/**
* Хак Валидация форм при регистрации с использованием аякса
*/
define('HACK_REG_AJAX_VALIDATE', true);
/**
* Хак лента друзей как в ЖЖ
*/
define('HACK_FRIENDS_ACTIONS', true);
/**
* Sitemap generator
* Устанавливает количество объектов
*/
define('SITEMAP_OBJECTS_PER_PAGE', 10000);
/**
* Хак Аватары без искажений
*/
define('HACK_AVATARS_RESIZE', false);
define('HACK_AVATARS_RESIZE_METHOD', 1);
Это:
Начисление силы и рейтинга за посты
Модуль мотивации пользователей
начисление рейтинга за того, кого пригласил
«голос» как на хабре
— будет…
а вообще всей этой шумихи про сплоги, фобию говносайтов и репутации движка не разделяю…
если против уберу…
ах да, была еще такая нехорошая вещь, как абсолютный путь для сохраняемых в топике картинок, поэтому если меняется домен сайта надо автозаменой по дампу базы пройтись…
а пути я чтоб таких проблем не было сделала относительными :)
попробовала RewriteRule покрутить, но что то не вышло :(
1. gzip.php — размещаем в /include/
<?php
// gzip.php v1.3 — убраны ошибки HTTP_TE, добавлено принудительное сжатие для IE
// released on 2004-05-06, by Roman Mamedov<roman at rm.pp.ru>
// license: do with this code whatever you want.
///// Configuration //////////////////
$PREFER_DEFLATE = false; // не нужно больше при желании можно поменять местами последние if elseif
$FORCE_COMPRESSION = false; // force compression even when client does not report support
$AE = 'undefined';
//////////////////////////////////////
function compress_output_gzip($output) {
return gzencode($output);
}
function compress_output_deflate($output) {
return gzdeflate($output, 9);
}
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']))
$AE = $_SERVER['HTTP_ACCEPT_ENCODING'];
elseif (isset($_SERVER['HTTP_TE']))
$AE = $_SERVER['HTTP_TE'];
else
if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'msi'))
$FORCE_COMPRESSION = TRUE;
$support_gzip = (strpos($AE, 'gzip') !== FALSE) || $FORCE_COMPRESSION;
$support_deflate = (strpos($AE, 'deflate') !== FALSE) || $FORCE_COMPRESSION;
if ($support_gzip) {
header(«Content-Encoding: gzip»);
ob_start(«compress_output_gzip»);
}
elseif ($support_deflate) {
header(«Content-Encoding: deflate»);
ob_start(«compress_output_deflate»);
}
else ob_start();
?>
2. в .htaccess добавляем
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
3. выполняем в директории LS:
for f in `find. -name *.js`; do gzip -c $f > $f.gz; done;
for f in `find. -name *.css`; do gzip -c $f > $f.gz; done;
процедуру необходимо повторять после обновления затрагивающих *.js или *.css
Теоретически проблем быть не должно.
ps: возможно в .htaccess надо добавить включение правила для IE?
Получается есть 2 бага:
1. в ActionTopic.class.php ограничение 500 по умолчанию стоит, а в базе 250.
2. при превышении предела tag обрезается на полуслове, нужно наверно вообще последний tag не сохранять или проверять при вводе что бы сразу видно было.