VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
1. Баг: ошибка при ручном запуске запланированного задания снятия блокировки с временно заблокированных пользователей. Версия: 3.6.3 Исправление:
В файле includes/cron/removebans.php на 29 строке найти:
PHP Code:
LEFT JOIN " . TABLE_PREFIX . "user AS user USING(userid)
заменить на:
PHP Code:
INNER JOIN " . TABLE_PREFIX . "user AS user USING(userid)
2. Баг: просто найденная ошибка в скрипте. Версия: 3.6.3 Исправление:
В файле admincp/admincalendar.php на 945 и 949 строках найти:
PHP Code:
$vbulletin->GPC['holidayinfo']['title']
заменить на:
PHP Code:
$vbulletin->GPC['title']
3. Баг: ошибка во фразе. Версия: 3.6.3 Исправление:
Во фразе 'activate_deleterequest' найти:
Code:
register.php?a=act&i={1}&&u={2}
заменить на:
Code:
register.php?a=act&i={1}&u={2}
4. Баг: ошибка при отправке электронных писем. Версия: 3.6.3 Исправление:
В файле search.php на 1529 строке найти:
PHP Code:
$db->free_result($post);
заменить на:
PHP Code:
$db->free_result($posts);
5. Баг: неправильная работа функции предотвращения КРИКА в заголовках тем. Версия: 3.6.3 Исправление:
В файле includes/functions_newpost.php на 724 строке найти:
PHP Code:
function fetch_no_shouting_text($text)
{
// stops $text being all UPPER CASE
global $vbulletin;
// we only actually touch a-z with vbstrtolower()
$effective_string = preg_replace('#[^a-z0-9\s]#i', '', $text);
if ($vbulletin->options['stopshouting'] AND vbstrlen($effective_string) >= $vbulletin->options['stopshouting'] AND $effective_string == strtoupper($effective_string))
{
return ucwords(vbstrtolower($text));
}
else
{
return $text;
}
}
заменить на:
PHP Code:
function fetch_no_shouting_text($text)
{
// stops $text being all UPPER CASE
global $vbulletin;
// we only actually touch a-z with vbstrtolower()
$effective_string = preg_replace('#[^a-z0-9\s]#i', '', $text);
if ($vbulletin->options['stopshouting'] AND vbstrlen($effective_string) >= $vbulletin->options['stopshouting'] AND $effective_string == strtoupper($effective_string))
{
return vbucwords(vbstrtolower($text));
}
else
{
return $text;
}
}
/**
* Capitalizes the first letter of each word, provided it is within a-z.
* Ignores locales.
*
* @param string Text to capitalize
*
* @return string Ucwords'd text
*/
function vbucwords($text)
{
return preg_replace_callback(
'#(^|\s)[a-z]#',
create_function('$matches', 'return strtoupper($matches[0]);'),
$text
);
}
8. Баг: при отправке личного сообщения двум и более пользователям, у одного из которых выключено всплывающее извещение о ЛС, всплывающее предупреждение о ЛС появляется только у последнего пользователя. Версия: 3.6.3 Исправление:
В файле includes/class_dm_pm.php на 557 строке найти:
PHP Code:
$popupusers = array();
закомментировать.
@AnTekapb
Эксперт
interpreter
Join Date: Sep 2005
Location: Сибирь
Posts: 587
Версия vB: 3.6.8
Reputation:
Expert 2445
Репутация в разделе: 2195
18
9. Баг: максимальная длина назвыания события в календаре не работает. Версия: 3.6.3 Исправление:
В шаблоне 'calendar_edit_customfield' найти:
10. Баг: максимальная длина назвыания события в календаре не работает. Версия: 3.6.3 Исправление:
В файле calendar.php на 1461 строке найти:
PHP Code:
if ($custom['allowentry'] AND !$found)
{
$custom['optional'] = $eventcustomfields["{$custom['calendarcustomfieldid']}"];
}
заменить на:
PHP Code:
if ($custom['allowentry'] AND !$found)
{
$custom['optional'] = $eventcustomfields["{$custom['calendarcustomfieldid']}"];
$custom['lenght'] = $eventcustomfields["{$custom['lenght']}"];
}
11. Баг: при включении по умолчанию типа отображения тем "Линейный - новые вначале" у только что зарегитрировавшихся пользователей при просмотре тем старые отображаются вначале. Версия: 3.6.3 Исправление:
В файле includes/class_dm_user.php на 1260 строке найти (будьте внимательны !):
PHP Code:
else if ($this->registry->bf_misc_regoptions['thread_linear_newest'] & $this->registry->options['defaultregoptions'])
{
$threadedmode = 0;
}
заменить на:
PHP Code:
else if ($this->registry->bf_misc_regoptions['thread_linear_newest'] & $this->registry->options['defaultregoptions'])
{
$threadedmode = 3;
}
@AnTekapb
Эксперт
interpreter
Join Date: Sep 2005
Location: Сибирь
Posts: 587
Версия vB: 3.6.8
Reputation:
Expert 2445
Репутация в разделе: 2195
18
12. Баг: проверка максимального количества сообщений при повышении, выборе определённого аватара и установке статуса не работает. Версия: 3.6.3, 3.6.4 Исправление:
Выполнить следующие запросы:
Code:
ALTER TABLE avatar CHANGE minimumposts minimumposts INT UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE ranks CHANGE minposts minposts INT UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE usertitle CHANGE minposts minposts INT UNSIGNED NOT NULL DEFAULT '0';
13. Баг: ошибка при поиске всех тем пользователя. Версия: 3.6.3, 3.6.4 Исправление:
В файле search.php на 128 строке найти:
PHP Code:
if ($_POST['do'] == 'process')
{
// don't go to do=process, go to do=doprefs
if ($vbulletin->GPC['doprefs'] != '')
{
$_POST['do'] = 'doprefs';
$_REQUEST['do'] = 'doprefs';
}
}
после этого добавить:
PHP Code:
if ($_REQUEST['do'] == 'process' AND !$vbulletin->userinfo['userid'] AND $vbulletin->options['searchimagecheck'] AND $vbulletin->options['regimagetype'] AND !isset($_REQUEST['imagestamp']))
{
// guest user has come from a do=process link that does not include image verification
$_REQUEST['do'] = 'intro';
}
14. Баг: не анализируются HTML символы. Версия: 3.6.3, 3.6.4 Исправление:
В файле includes/class_dm.php на 1303 строке найти:
PHP Code:
if ($this->info['parseurl'])
{
$pagetext = convert_url_to_bbcode($pagetext);
}
15. Баг: что-то связанное с удалёнными извещениями, но точно не понял. Версия: 3.6.3, 3.6.4 Исправление:
В файле showthread.php на 847 строке найти:
PHP Code:
$totalposts = $threadinfo['replycount'] + 1;
$getpostids = $db->query_read("
SELECT postid
FROM " . TABLE_PREFIX . "post AS post
$hook_query_joins WHERE threadid = $threadid AND visible = 1
$hook_query_where ORDER BY dateline $postorder LIMIT $limitlower, $perpage ");
$getpostids = $db->query_read("
SELECT postid
FROM " . TABLE_PREFIX . "post AS post
$hook_query_joins WHERE threadid = $threadid AND visible = 1
" . ($coventry ? "AND post.userid NOT IN ($coventry)" : '') . "
$hook_query_where ORDER BY dateline $postorder LIMIT $limitlower, $perpage ");
В этом же файле на 909 строке найти:
PHP Code:
if ($post['visible'] == 1 AND (!in_coventry($post['userid']) OR can_moderate($thread['forumid'])))
заменить на:
PHP Code:
if ($post['visible'] == 1 AND !in_coventry($post['userid']))
16. Баг: ошибка при поиске в шаблонах с учётом регистра. Версия: 3.6.3, 3.6.4 Исправление:
В файле clientscript/vbulletin_templatemgr.js на 354 строке найти:
Code:
if (txt.charAt(i) == str.charAt(x))
заменить на:
Code:
if (txt.charAt(i).toLowerCase() == str.charAt(x).toLowerCase())
@AnTekapb
Эксперт
interpreter
Join Date: Sep 2005
Location: Сибирь
Posts: 587
Версия vB: 3.6.8
Reputation:
Expert 2445
Репутация в разделе: 2195
16
17. Баг: добавление и анализация смайлов в сообщениях. Версия: 3.6.3, 3.6.4 Исправление:
В файле /includes/class_bbcode.php на 444 строке найти:
PHP Code:
function parse_smilies($text, $do_html = false)
{
$cache =& $this->cache_smilies($do_html);
/**
* @ignore
*/
function replace_smilies($matches)
{
return $this->local_smilies["$matches[0]"];
}
18. Баг: цензор при отображении последнего сообщения в профиле не работает. Версия: 3.6.3, 3.6.4 Исправление:
В файле /includes/functions_forumlist.php на 224 строке найти:
19. Баг: ошибка в системе предупреждений (стандартной). Версия: 3.6.3, 3.6.4 Исправление:
В файле /includes/functions_infractions.php на 40 строке найти:
PHP Code:
warnings = warnings -
заменить на:
PHP Code:
warnings = CAST(warnings AS SIGNED) -
в том же файле на 64 строке найти:
PHP Code:
infractions = infractions -
заменить на:
PHP Code:
infractions = CAST(infractions AS SIGNED) -
в том же файле на 87 строке найти:
PHP Code:
ipoints = ipoints -
заменить на:
PHP Code:
ipoints = CAST(ipoints AS SIGNED) -
@AnTekapb
Эксперт
interpreter
Join Date: Sep 2005
Location: Сибирь
Posts: 587
Версия vB: 3.6.8
Reputation:
Expert 2445
Репутация в разделе: 2195
13
20. Баг: ошибка при редактировании подписки на тему. Версия: 3.6.3, 3.6.4 Исправление:
В файле /includes/functions.php на 980 строке найти:
PHP Code:
function fetch_foruminfo(&$forumid, $usecache = true)
{
global $vbulletin;
$forumid = intval($forumid);
if (!$usecache OR !isset($vbulletin->forumcache["$forumid"]))
{
$vbulletin->forumcache["$forumid"] = $vbulletin->db->query_first_slave("
SELECT forum.*, NOT ISNULL(podcast.forumid) AS podcast
FROM " . TABLE_PREFIX . "forum AS forum
LEFT JOIN " . TABLE_PREFIX . "podcast AS podcast ON (forum.forumid = podcast.forumid AND podcast.enabled = 1)
WHERE forum.forumid = $forumid ");
}
if (!$vbulletin->forumcache["$forumid"])
{
return false;
}
function fetch_foruminfo(&$forumid, $usecache = true)
{
global $vbulletin;
$forumid = intval($forumid);
if (!$usecache OR !isset($vbulletin->forumcache["$forumid"]))
{
if (isset($vbulletin->forumcache["$forumid"]['permissions']))
{
$perms = $vbulletin->forumcache["$forumid"]['permissions'];
}
$vbulletin->forumcache["$forumid"] = $vbulletin->db->query_first_slave("
SELECT forum.*, NOT ISNULL(podcast.forumid) AS podcast
FROM " . TABLE_PREFIX . "forum AS forum
LEFT JOIN " . TABLE_PREFIX . "podcast AS podcast ON (forum.forumid = podcast.forumid AND podcast.enabled = 1)
WHERE forum.forumid = $forumid ");
}
if (!$vbulletin->forumcache["$forumid"])
{
return false;
}
if (isset($perms))
{
$vbulletin->forumcache["$forumid"]['permissions'] = $perms;
}
21. Баг: ошибка при редактировании подписки на тему. Версия: 3.6.3, 3.6.4 Исправление:
В файле editpost.php на 496 строке найти:
PHP Code:
$edit['emailupdate'] = 9999;
закомментировать
22. Баг: ошибка в запросе в функции fetch_quotable_posts. Версия: 3.6.3, 3.6.4 Исправление:
В файле /includes/functions_newpost.php на 1099 строке найти:
PHP Code:
IF(user.username, user.username, post.username) AS username
заменить на:
PHP Code:
IFNULL(user.username,post.username) AS username
@AnTekapb
Эксперт
interpreter
Join Date: Sep 2005
Location: Сибирь
Posts: 587
Версия vB: 3.6.8
Reputation:
Expert 2445
Репутация в разделе: 2195
15
23. Баг: ошибка при объединении тем. Версия: 3.6.3, 3.6.4 Исправление:
В файле postings.php на 1593 строке найти:
PHP Code:
if ($mergethreadid == $threadid OR ($mergethreadinfo['isdeleted'] AND !can_moderate($mergethreadinfo['forumid'], 'candeleteposts')) OR (!$mergethreadinfo['visible'] AND !can_moderate($mergethreadinfo['forumid'], 'canmoderateposts')))
заменить на:
PHP Code:
if ($mergethreadinfo['open'] == 10 OR $mergethreadid == $threadid OR ($mergethreadinfo['isdeleted'] AND !can_moderate($mergethreadinfo['forumid'], 'candeleteposts')) OR (!$mergethreadinfo['visible'] AND !can_moderate($mergethreadinfo['forumid'], 'canmoderateposts')))
@AnTekapb
Эксперт
interpreter
Join Date: Sep 2005
Location: Сибирь
Posts: 587
Версия vB: 3.6.8
Reputation:
Expert 2445
Репутация в разделе: 2195
11
24. Баг: ошибка при перепостроении вложений. Версия: 3.6.3, 3.6.4 Исправление:
В файле admincp/misc.php на 621 строке найти:
25. Баг: группировка личных сообщений по дате работает неверно. Версия: 3.6.3, 3.6.4 Исправление:
В файле includes/functions_misc.php на 209 строке найти:
26. Баг: ошибка после удаления языка при его же использовании. Версия: 3.6.3, 3.6.4 Исправление:
В файле admincp/language.php на 505 строке найти:
PHP Code:
$db->query_write("UPDATE " . TABLE_PREFIX . "user SET languageid = 0 WHERE languageid = " . $vbulletin->GPC['dolanguageid']);
ниже добавить:
PHP Code:
$db->query_write("UPDATE " . TABLE_PREFIX . "session SET languageid = 0 WHERE languageid = " . $vbulletin->GPC['dolanguageid']);
27. Баг: описание ошибки не очень понятно, но судя по всему, она значительная. Версия: 3.6.3, 3.6.4 Исправление:
В файле search.php на 1349 строке найти:
PHP Code:
if ((!empty($post_query_logic) OR !empty($post_join_query_logic)))