Даже не ошибки, а просто не учли они одну мелочь.
Часто просто такие вопросы вижу, вот и решил написать что и где надо поправить.
ips_kernel/class_db_mysql.php
ищем:
$get = implode( "," , $select_array ); $table = implode( "," , $final_from ); $where = implode( " AND " , $where_array ); $join = implode( "\n" , $joinleft_array );добавляем ниже
if ( count($final_from) > 1 )
$table = "(".$table.")";код, так сказать на будущее. сам наблюдал только один запрос, проходящий через эту функцию с ошибкой.
ну и теперь редактируем файлы-хранилища запросов ipb.
sources/sql/mysql_queries.php
ищем:
function msg_get_cc_users( $a )
{
return "SELECT m.mgroup_others, m.id, m.name, m.members_disable_pm, m.members_display_name, m.msg_total, m.view_pop, m.email_pm, m.language, m.email, me.vdirs, g.g_max_messages, g.g_use_pm FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g
LEFT JOIN ".SQL_PREFIX."member_extra me ON (m.id=me.id)
WHERE LOWER(m.members_display_name) IN (".implode(",",$a['name_array']).")
AND m.mgroup=g.g_id";
}, меняем на function msg_get_cc_users( $a )
{
return "SELECT m.mgroup_others, m.id, m.name, m.members_disable_pm, m.members_display_name, m.msg_total, m.view_pop, m.email_pm, m.language, m.email, me.vdirs, g.g_max_messages, g.g_use_pm FROM (".SQL_PREFIX."members m, ".SQL_PREFIX."groups g)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (m.id=me.id)
WHERE LOWER(m.members_display_name) IN (".implode(",",$a['name_array']).")
AND m.mgroup=g.g_id";
}ищем:
function portal_get_poll_join( $a )
{
return "SELECT t.tid, t.title, t.state, t.last_vote, p.*, v.member_id as member_voted
FROM ".SQL_PREFIX."topics t, ".SQL_PREFIX."polls p
LEFT JOIN ".SQL_PREFIX."voters v ON (v.member_id={$a['mid']} and v.tid=t.tid)
WHERE t.tid={$a['tid']} AND p.tid=t.tid";
}, меняем на: function portal_get_poll_join( $a )
{
return "SELECT t.tid, t.title, t.state, t.last_vote, p.*, v.member_id as member_voted
FROM (".SQL_PREFIX."topics t, ".SQL_PREFIX."polls p)
LEFT JOIN ".SQL_PREFIX."voters v ON (v.member_id={$a['mid']} and v.tid=t.tid)
WHERE t.tid={$a['tid']} AND p.tid=t.tid";
}ищем:
function contact_member_report_get_mods( $a )
{
return "SELECT m.id, m.members_display_name as name, m.members_disable_pm, m.email, m.mgroup, moderator.member_id, moderator.group_id
FROM ".SQL_PREFIX."moderators moderator, ".SQL_PREFIX."members m
WHERE moderator.forum_id={$a['fid']}
AND (moderator.member_id=m.id OR moderator.group_id=m.mgroup)";
}, меняем на: function contact_member_report_get_mods( $a )
{
return "SELECT m.id, m.members_display_name as name, m.members_disable_pm, m.email, m.mgroup, moderator.member_id, moderator.group_id
FROM (".SQL_PREFIX."moderators moderator, ".SQL_PREFIX."members m)
WHERE moderator.forum_id={$a['fid']}
AND (moderator.member_id=m.id OR moderator.group_id=m.mgroup)";
}ищем:
function contact_member_report_get_cpaccess( $a )
{
return "SELECT m.id, m.members_display_name as name, m.email, m.members_disable_pm FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g WHERE g.g_access_cp=1 AND m.mgroup=g.g_id";
}, меняем на: function contact_member_report_get_cpaccess( $a )
{
return "SELECT m.id, m.members_display_name as name, m.email, m.members_disable_pm FROM (".SQL_PREFIX."members m, ".SQL_PREFIX."groups g) WHERE g.g_access_cp=1 AND m.mgroup=g.g_id";
}ищем:
function contact_member_report_get_supmod( $a )
{
return "SELECT m.id, m.members_display_name as name, m.email, m.members_disable_pm FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g WHERE g.g_is_supmod=1 AND m.mgroup=g.g_id";
}, меняем на: function contact_member_report_get_supmod( $a )
{
return "SELECT m.id, m.members_display_name as name, m.email, m.members_disable_pm FROM (".SQL_PREFIX."members m, ".SQL_PREFIX."groups g) WHERE g.g_is_supmod=1 AND m.mgroup=g.g_id";
}спасибо SAT за пополнение списка


Помощь










