<!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->Исправляем ошибки, допущенные в запросах товарищами IPS.
Даже не ошибки, а просто не учли они одну мелочь.
Часто просто такие вопросы вижу, вот и решил написать что и где надо поправить.
ips_kernel/class_db_mysql.php
ищем: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> $get = implode( "," , $select_array );
$table = implode( "," , $final_from );
$where = implode( " AND " , $where_array  
;
$join = implode( "\n" , $joinleft_array );<!--c2--></div><!--ec2--> добавляем ниже <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> if ( count($final_from) > 1 )
$table = "(".$table.")";<!--c2--></div><!--ec2-->
код, так сказать на будущее. сам наблюдал только один запрос, проходящий через эту функцию с ошибкой.
ну и теперь редактируем файлы-хранилища запросов ipb.
sources/sql/mysql_queries.php
ищем: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->, меняем на <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->
ищем: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->, меняем на: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->
ищем: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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)";
}<!--c2--></div><!--ec2-->, меняем на: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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)";
}<!--c2--></div><!--ec2-->
ищем: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->, меняем на: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->
ищем: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->, меняем на: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> 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";
}<!--c2--></div><!--ec2-->
спасибо SAT за пополнение списка<!--QuoteEnd--></div><!--QuoteEEnd-->