Version 2.0.0

This commit is contained in:
Neo committed 2025-12-19 00:19:56 -08:00
1 parent 5699abfc0e
commit 0eecc172d9
696 files changed
+120723 -77160

No files matched your search

+1
View File
@@ -0,0 +1 @@
<html>␍<head><title>Invision Power Board - Bulletin Board System</title></head>␍<body>␍<h1>403: Invision Power Board -> Forbidden</h1>␍<hr>␍You have reached this Page in error, please use␍your back button to return to Invision Board.␍<hr>␍<a href="http://www.invisionboard.com/">Invision Power Board</a>␍</body>␍</html>␍
+496
View File
@@ -0,0 +1,496 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board v2.0.0
| =============================================
| by Matthew Mecham
| (c) 2001 - 2004 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| Time: Tue, 21 Sep 2004 16:34:28 GMT
| Release: 150aa7a702c3c8b6f6eb90ad49305d2f
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > MySQL ADMIN DB Queries abstraction module
| > Module written by Matt Mecham
| > Date started: 24th May 2004
|
| > Module Version Number: 1.0.0
+--------------------------------------------------------------------------
*/
class sql_queries extends db_driver
{
var $db = "";
var $tbl = "";
/*========================================================================*/
// Set up...
/*========================================================================*/
function sql_queries( $obj )
{
$this->db = $obj;
if ( ! $this->db->obj['sql_tbl_prefix'] )
{
$this->db->obj['sql_tbl_prefix'] = '".SQL_PREFIX."';
}
$this->tbl = $this->db->obj['sql_tbl_prefix'];
}
/*========================================================================*/
function admin_emo_count( $a )
{
return "SELECT id, count(id) as count, emo_set FROM ".SQL_PREFIX."emoticons GROUP BY emo_set ORDER BY emo_set";
}
function adminlogs_view_one( $a )
{
return "SELECT m.*, mem.id, mem.name FROM ".SQL_PREFIX."admin_logs m, ".SQL_PREFIX."members mem
WHERE m.member_id={$a['mid']} AND m.member_id=mem.id ORDER BY m.ctime DESC LIMIT {$a['limit_a']}, 20";
}
function adminlogs_view_two( $a )
{
return "SELECT m.*, mem.id, mem.name FROM ".SQL_PREFIX."admin_logs m, ".SQL_PREFIX."members mem
WHERE m.member_id=mem.id AND {$a['dbq']} ORDER BY m.ctime DESC LIMIT {$a['limit_a']}, 20";
}
function adminlogs_view_list_current( $a )
{
return "SELECT m.*, mem.id, mem.name FROM ".SQL_PREFIX."admin_logs m, ".SQL_PREFIX."members mem
WHERE m.member_id=mem.id ORDER BY m.ctime DESC LIMIT 0, 5";
}
function adminlogs_view_list_current_two( $a )
{
return "SELECT m.*, mem.name, count(m.id) as act_count
FROM ".SQL_PREFIX."admin_logs m, ".SQL_PREFIX."members mem
WHERE m.member_id=mem.id
GROUP BY m.member_id ORDER BY act_count DESC";
}
function attachments_search_complete( $a )
{
return "SELECT a.*, t.tid, t.forum_id, t.title, p.author_id, p.author_name, p.post_date
FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p ON (p.pid=a.attach_pid)
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
WHERE attach_pid != 0 {$a['queryfinal']}
ORDER BY a.attach_{$a['orderby']} {$a['sort']}
LIMIT 0, {$a['limit_b']}";
}
function attachments_bulk_remove( $a )
{
return "SELECT a.*, p.pid, p.topic_id
FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p ON (p.pid=a.attach_pid)
WHERE a.attach_pid > 0 AND a.attach_id IN(".implode(",",$a['ids']).")";
}
function attachments_last_x( $a )
{
return "SELECT a.*, t.tid, t.forum_id, t.title, p.author_id, p.author_name, p.post_date
FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p ON (p.pid=a.attach_pid)
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
WHERE attach_pid != 0
ORDER BY a.{$a['order']} DESC
LIMIT 0, 5";
}
function emaillogs_view_email( $a )
{
return "SELECT email.*, m.id, m.name, mem.id as to_id, mem.name as to_name FROM ".SQL_PREFIX."email_logs email
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=email.from_member_id)
LEFT JOIN ".SQL_PREFIX."members mem ON (mem.id=email.to_member_id)
WHERE email.email_id={$a['id']}";
}
function emaillogs_list_current( $a )
{
return "SELECT email.*, m.id, m.name, mem.id as to_id, mem.name as to_name FROM ".SQL_PREFIX."email_logs email
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=email.from_member_id)
LEFT JOIN ".SQL_PREFIX."members mem ON (mem.id=email.to_member_id) {$a['dbe']}
ORDER BY email_date DESC LIMIT {$a['limit_a']},25";
}
function groups_permsplash( $a )
{
return "SELECT COUNT(id) as count, org_perm_id FROM ".SQL_PREFIX."members WHERE (org_perm_id IS NOT NULL AND org_perm_id <> 0) GROUP by org_perm_id";
}
function groups_main_screen( $a )
{
return "SELECT ".SQL_PREFIX."groups.g_id, ".SQL_PREFIX."groups.g_access_cp, ".SQL_PREFIX."groups.g_is_supmod, ".SQL_PREFIX."groups.g_title,".SQL_PREFIX."groups.prefix, ".SQL_PREFIX."groups.suffix,
COUNT(".SQL_PREFIX."members.id) as count FROM ".SQL_PREFIX."groups
LEFT JOIN ".SQL_PREFIX."members ON (".SQL_PREFIX."members.mgroup = ".SQL_PREFIX."groups.g_id)
GROUP BY ".SQL_PREFIX."groups.g_id ORDER BY ".SQL_PREFIX."groups.g_title";
}
function index_admin_logs( $a )
{
return "SELECT m.*, mem.id, mem.name FROM ".SQL_PREFIX."admin_logs m, ".SQL_PREFIX."members mem
WHERE m.member_id=mem.id ORDER BY m.ctime DESC LIMIT 0, 5";
}
function languages_list_current( $a )
{
return "select ".SQL_PREFIX."languages.*, count(".SQL_PREFIX."members.id) as mcount from ".SQL_PREFIX."languages
left join ".SQL_PREFIX."members on(".SQL_PREFIX."members.language=".SQL_PREFIX."languages.ldir)
where (".SQL_PREFIX."members.language is not null or ".SQL_PREFIX."members.language = 'en')
group by ".SQL_PREFIX."languages.ldir
order by ".SQL_PREFIX."languages.lname";
}
function member_tools_learn_ip_one( $a )
{
return "SELECT m.id, m.name, m.email, m.posts, m.joined, p.pid, p.author_id, p.post_date, p.ip_address, p.topic_id
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."members m ON ( p.author_id=m.id)
WHERE p.ip_address{$a['query']} GROUP BY p.author_id ORDER BY p.post_date DESC LIMIT 250";
}
function member_tools_learn_ip_two( $a )
{
return "SELECT m.id, m.name, m.email, m.posts, m.joined, p.vote_date, p.ip_address, p.tid
FROM ".SQL_PREFIX."voters p
LEFT JOIN ".SQL_PREFIX."members m ON ( p.member_id=m.id)
WHERE p.ip_address{$a['query']} GROUP BY p.member_id ORDER BY p.vote_date DESC LIMIT 250";
}
function member_tools_learn_ip_three( $a )
{
return "SELECT m.id, m.name, m.email, m.posts, m.joined, p.email_date, p.from_ip_address
FROM ".SQL_PREFIX."email_logs p
LEFT JOIN ".SQL_PREFIX."members m ON ( p.from_member_id=m.id)
WHERE p.from_ip_address{$a['query']} GROUP BY p.from_member_id ORDER BY p.email_date DESC LIMIT 250";
}
function member_tools_learn_ip_four( $a )
{
return "SELECT m.id, m.name, m.email, m.posts, m.joined, p.entry_date, p.ip_address
FROM ".SQL_PREFIX."validating p
LEFT JOIN ".SQL_PREFIX."members m ON ( p.member_id=m.id)
WHERE p.ip_address{$a['query']} GROUP BY p.member_id ORDER BY p.entry_date DESC LIMIT 250";
}
function member_tools_show_ips( $a )
{
return "SELECT count(ip_address) as ip, ip_address, pid, topic_id, post_date
FROM ".SQL_PREFIX."posts
WHERE author_id={$a['mid']}
GROUP BY ip_address
ORDER BY ip DESC LIMIT {$a['st']}, {$a['end']}";
}
function member_domod( $a )
{
return "SELECT m.id, m.email, m.mgroup, v.* FROM ".SQL_PREFIX."validating v
LEFT JOIN ".SQL_PREFIX."members m ON (v.member_id=m.id)
WHERE m.id IN(".implode( ",",$a['ids'] ).")";
}
function member_view_mod( $a )
{
return "SELECT m.name, m.id, m.email, m.posts, m.joined, v.*
FROM ".SQL_PREFIX."validating v
LEFT JOIN ".SQL_PREFIX."members m ON (v.member_id=m.id)
WHERE v.lost_pass <> 1
ORDER BY {$a['col']} {$a['ord']} LIMIT {$a['st']},75";
}
function member_search_form_one( $a )
{
return "SELECT m.*, me.*, m.id as memid
FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
LEFT JOIN ".SQL_PREFIX."pfields_content p ON (p.member_id=m.id)
{$a['rq']} ORDER BY m.name LIMIT {$a['st']},25";
}
function member_search_form_two( $a )
{
return "SELECT m.*, me.*, m.id as memid
FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
LEFT JOIN ".SQL_PREFIX."pfields_content p ON (p.member_id=m.id)
{$a['rq']}";
}
function member_search_form_count( $a )
{
return "SELECT COUNT(*) as count
FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
LEFT JOIN ".SQL_PREFIX."pfields_content p ON (p.member_id=m.id)
{$a['rq']}";
}
function member_search_do_edit_form( $a )
{
return "SELECT m.*, me.*, p.*, m.id as memid FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me on (me.id=m.id)
LEFT JOIN ".SQL_PREFIX."pfields_content p on (p.member_id=m.id)
WHERE m.id=".$a['mid'];
}
function modlogs_view_one( $a )
{
return "SELECT m.*, f.id as forum_id, f.name FROM ".SQL_PREFIX."moderator_logs m
LEFT JOIN ".SQL_PREFIX."forums f ON(f.id=m.forum_id)
WHERE m.member_id={$a['mid']} ORDER BY m.ctime DESC LIMIT {$a['start']}, 20";
}
function modlogs_view_two( $a )
{
return "SELECT m.*, f.id as forum_id, f.name FROM ".SQL_PREFIX."moderator_logs m
LEFT JOIN ".SQL_PREFIX."forums f ON(f.id=m.forum_id)
WHERE {$a['dbq']} ORDER BY m.ctime DESC LIMIT {$a['start']}, 20";
}
function modlogs_list_current_last_five( $a )
{
return "SELECT m.*, f.id as forum_id, f.name FROM ".SQL_PREFIX."moderator_logs m
LEFT JOIN ".SQL_PREFIX."forums f ON (f.id=m.forum_id)
ORDER BY m.ctime DESC LIMIT 0, 5";
}
function modlogs_list_current_show_all( $a )
{
return "SELECT m.*, count(m.id) as act_count from ".SQL_PREFIX."moderator_logs m GROUP BY m.member_id ORDER BY act_count DESC";
}
function spiderlogs_list_current( $a )
{
return "SELECT count(*) as cnt, bot, entry_date, query_string FROM ".SQL_PREFIX."spider_logs group by bot order by entry_date DESC";
}
function statistics_show_views( $a )
{
return "SELECT SUM(t.views) as result_count, t.forum_id, f.name as result_name
FROM ".SQL_PREFIX."topics t, ".SQL_PREFIX."forums f
WHERE t.start_date > '{$a['from_time']}'
AND t.start_date < '{$a['to_time']}'
AND t.forum_id=f.id
GROUP BY t.forum_id
ORDER BY result_count {$a['sortby']}";
}
function statistics_result_screen( $a )
{
return "SELECT MAX({$a['sql_field']}) as result_maxdate,
COUNT(*) as result_count,
DATE_FORMAT(from_unixtime({$a['sql_field']}),'{$a['sql_date']}') AS result_time
FROM ".SQL_PREFIX."{$a['sql_table']}
WHERE {$a['sql_field']} > '{$a['from_time']}'
AND {$a['sql_field']} < '{$a['to_time']}'
GROUP BY result_time
ORDER BY {$a['sql_field']} {$a['sortby']}";
}
function stylesets_list_sets_templates( $a )
{
return "SELECT set_id FROM ".SQL_PREFIX."skin_templates GROUP BY set_id";
}
function stylesets_list_sets_macros( $a )
{
return "SELECT macro_set FROM ".SQL_PREFIX."skin_macro GROUP BY macro_set";
}
function stylesheets_do_form_concat( $a )
{
return "SELECT *, instr(',{$a['id']}{$a['parent']},1,', concat(',',set_skin_set_id,',') ) as theorder
FROM ".SQL_PREFIX."skin_sets
WHERE set_skin_set_id in ({$a['id']}{$a['parent']},1)
ORDER BY theorder";
}
function warnlogs_view_note( $a )
{
return "SELECT l.*, m.id as a_id, m.name as a_name, p.id as p_id, p.name as p_name
FROM ".SQL_PREFIX."warn_logs l
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=l.wlog_mid)
LEFT JOIN ".SQL_PREFIX."members p ON (p.id=l.wlog_addedby)
WHERE l.wlog_id={$a['id']}";
}
function warnlogs_view( $a )
{
return "SELECT l.*, m.id as a_id, m.name as a_name, p.id as p_id, p.name as p_name
FROM ".SQL_PREFIX."warn_logs l
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=l.wlog_mid)
LEFT JOIN ".SQL_PREFIX."members p ON (p.id=l.wlog_addedby)
WHERE l.wlog_mid={$a['mid']}
ORDER BY l.wlog_date DESC LIMIT {$a['start']},30";
}
function warnlogs_view_two( $a )
{
return "SELECT l.*, m.id as a_id, m.name as a_name, p.id as p_id, p.name as p_name
FROM ".SQL_PREFIX."warn_logs l
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=l.wlog_mid)
LEFT JOIN ".SQL_PREFIX."members p ON (p.id=l.wlog_addedby)
WHERE {$a['dbq']}
ORDER BY l.wlog_date DESC LIMIT {$a['start']},30";
}
function warnlogs_list_current( $a )
{
return "SELECT l.*, m.id as a_id, m.name as a_name, p.id as p_id, p.name as p_name
FROM ".SQL_PREFIX."warn_logs l
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=l.wlog_mid)
LEFT JOIN ".SQL_PREFIX."members p ON (p.id=l.wlog_addedby)
ORDER BY l.wlog_date DESC LIMIT 0,10";
}
function warnlogs_list_current_two( $a )
{
return "SELECT l.*, m.name, count(l.wlog_mid) as act_count
from ".SQL_PREFIX."warn_logs l, ".SQL_PREFIX."members m
WHERE m.id=l.wlog_mid
GROUP BY l.wlog_mid
ORDER BY act_count DESC";
}
function cache_wrapper( $a )
{
return "SELECT *, instr(',{$a['id']}{$a['parent_in']},{$a['root']},', concat(',',set_skin_set_id,',') ) as theorder
FROM ".SQL_PREFIX."skin_sets
WHERE set_wrapper != '' AND set_skin_set_id in ({$a['id']}{$a['parent_in']},{$a['root']})
ORDER BY theorder
LIMIT 0,1";
}
function cache_templates_titles( $a )
{
return "SELECT group_name, set_id, suid, func_name, func_data,
INSTR(',{$a['id']}{$a['parent_in']},{$a['root']},' , CONCAT(',',set_id,',') ) as theorder
FROM ".SQL_PREFIX."skin_templates WHERE set_id IN ({$a['id']}{$a['parent_in']},{$a['root']}) ORDER BY group_name, theorder DESC";
}
function cache_templates_bits( $a )
{
return "SELECT *,
INSTR(',{$a['id']}{$a['parent_in']},{$a['root']},' , CONCAT(',',set_id,',') ) as theorder
FROM ".SQL_PREFIX."skin_templates WHERE set_id IN ({$a['id']}{$a['parent_in']},{$a['root']}) AND group_name='{$a['group']}' ORDER BY func_name,theorder DESC";
}
function cache_templates_all( $a )
{
return "SELECT *,
INSTR(',{$a['id']}{$a['parent_in']},{$a['root']},' , CONCAT(',',set_id,',') ) as theorder
FROM ".SQL_PREFIX."skin_templates WHERE set_id IN ({$a['id']}{$a['parent_in']},{$a['root']}) ORDER BY group_name, func_name, theorder DESC";
}
function cache_templates_css( $a )
{
return "SELECT *, instr(',{$a['id']}{$a['parent_in']},{$a['root']},', concat(',',set_skin_set_id,',') ) as theorder
FROM ".SQL_PREFIX."skin_sets
WHERE set_css != '' AND set_skin_set_id in ({$a['id']}{$a['parent_in']},{$a['root']})
ORDER BY theorder
LIMIT 0,1";
}
function cache_templates_macros( $a )
{
return "SELECT *,
INSTR(',{$a['id']}{$a['parent_in']},{$a['root']},' , CONCAT(',',macro_set,',') ) as theorder
FROM ".SQL_PREFIX."skin_macro
WHERE macro_set IN ({$a['id']}{$a['parent_in']},{$a['root']})
ORDER BY macro_value ASC,theorder DESC";
}
function cache_empty_css( $a )
{
return "SELECT * FROM ".SQL_PREFIX."skin_sets WHERE set_css like '' AND set_skin_set_parent={$a['parent_id']}";
}
function cache_empty_wrapper( $a )
{
return "SELECT * FROM ".SQL_PREFIX."skin_sets WHERE set_wrapper like '' AND set_skin_set_parent={$a['parent_id']}";
}
function mod_func_get_last_post( $a )
{
return "SELECT p.post_date, p.topic_id, p.author_id, p.author_name, p.pid, t.forum_id
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
WHERE topic_id={$a['tid']} and queued <> 1
ORDER BY pid DESC LIMIT 0,1";
}
function mod_func_get_attach_count( $a )
{
return "SELECT COUNT(*) as count FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p on (a.attach_pid=p.pid)
WHERE p.topic_id={$a['tid']}";
}
function mod_func_get_topic_tracker( $a )
{
return "SELECT tr.*, m.id, m.mgroup, m.org_perm_id, t.tid, t.forum_id, g.g_id, g.g_perm_id
FROM ".SQL_PREFIX."tracker tr
LEFT JOIN ".SQL_PREFIX."topics t ON (tr.topic_id=t.tid)
LEFT JOIN ".SQL_PREFIX."members m on (m.id=tr.member_id)
LEFT JOIN ".SQL_PREFIX."groups g on (g.g_id=m.mgroup)
WHERE tr.topic_id".$a['tid'];
}
function ucp_get_all_announcements( $a )
{
return "SELECT a.*, m.id, m.name
FROM ".SQL_PREFIX."announcements a
LEFT JOIN ".SQL_PREFIX."members m on (a.announce_member_id=m.id)
ORDER BY announce_end DESC";
}
function ucp_get_all_announcements_byid( $a )
{
return "SELECT a.*, m.*, me.*
FROM ".SQL_PREFIX."announcements a
LEFT JOIN ".SQL_PREFIX."members m on (a.announce_member_id=m.id)
LEFT JOIN ".SQL_PREFIX."member_extra me on (me.id=m.id)
WHERE a.announce_id={$a['id']}";
}
function ucp_tracker_prune( $a )
{
return "SELECT tr.trid FROM ".SQL_PREFIX."tracker tr, ".SQL_PREFIX."topics t WHERE t.tid=tr.topic_id AND t.last_post < {$a['time']}";
}
function login_getmember( $a )
{
return "SELECT m.*, g.*
FROM ibf_members m, ibf_groups g
WHERE LOWER(name)='{$a['username']}' and m.mgroup=g.g_id";
}
function settings_search( $a )
{
return "SELECT *
FROM ".SQL_PREFIX."conf_settings
WHERE LOWER(conf_title) LIKE '%{$a['keywords']}%' OR LOWER(conf_description) LIKE '%{$a['keywords']}%'
ORDER BY conf_title
LIMIT {$a['limit_a']}, {$a['limit_b']}";
}
} // end class
?>
@@ -0,0 +1,89 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board v2.0.0
| =============================================
| by Matthew Mecham
| (c) 2001 - 2004 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| Time: Tue, 21 Sep 2004 16:34:28 GMT
| Release: 150aa7a702c3c8b6f6eb90ad49305d2f
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > MySQL DB Queries abstraction module
| > Module written by Matt Mecham
| > Date started: 26th November 2003
|
| > Module Version Number: 1.0.0
+--------------------------------------------------------------------------
*/
class sql_extra_queries extends db_driver
{
var $db = "";
var $tbl = "";
/*========================================================================*/
// Set up...
/*========================================================================*/
function sql_extra_queries( $obj )
{
$this->db = $obj;
if ( ! $this->db->obj['sql_tbl_prefix'] )
{
$this->db->obj['sql_tbl_prefix'] = 'ibf_';
}
$this->tbl = $this->db->obj['sql_tbl_prefix'];
}
/*========================================================================*/
function digest_get_topics( $a )
{
return "SELECT tr.trid, tr.topic_id, tr.member_id as trmid, m.name, m.email, m.id, m.email_full, m.language, m.last_activity, t.title, t.*
FROM ".SQL_PREFIX."tracker tr
LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=tr.topic_id)
LEFT JOIN ".SQL_PREFIX."members m ON (tr.member_id=m.id)
WHERE tr.topic_track_type='{$a['type']}'
AND t.approved=1
AND t.last_post > {$a['last_time']}";
}
function digest_get_forums_topics( $a )
{
return "SELECT t.*, p.*
FROM ".SQL_PREFIX."topics t
LEFT JOIN ".SQL_PREFIX."posts p on (t.topic_firstpost=p.pid)
WHERE t.forum_id={$a['forum_id']}
AND t.last_post > {$a['last_time']}";
}
function digest_get_forums( $a )
{
return "SELECT ft.*, m.name, m.id, m.email
FROM ".SQL_PREFIX."forum_tracker ft
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=ft.member_id)
WHERE ft.forum_track_type='{$a['type']}'";
}
function acp_postoffice_concat_bit($a)
{
return "CONCAT(',',mgroup_others,',') LIKE '%,{$a['gid']},%'";
}
} // end class
?>
+684
View File
@@ -0,0 +1,684 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board v2.0.0
| =============================================
| by Matthew Mecham
| (c) 2001 - 2004 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| Time: Tue, 21 Sep 2004 16:34:28 GMT
| Release: 150aa7a702c3c8b6f6eb90ad49305d2f
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > MySQL DB Queries abstraction module
| > Module written by Matt Mecham
| > Date started: 26th November 2003
|
| > Module Version Number: 1.0.0
+--------------------------------------------------------------------------
*/
class sql_queries extends db_driver
{
var $db = "";
var $tbl = "";
/*========================================================================*/
// Set up...
/*========================================================================*/
function sql_queries( $obj )
{
$this->db = &$obj;
if ( ! $this->db->obj['sql_tbl_prefix'] )
{
$this->db->obj['sql_tbl_prefix'] = 'ibf_';
}
$this->tbl = $this->db->obj['sql_tbl_prefix'];
}
/*========================================================================*/
function forums_get_active_users( $a )
{
# forums.php
return "SELECT s.member_id, s.member_name, s.member_group, s.login_type, s.location, t.forum_id
FROM ".SQL_PREFIX."sessions s
LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=s.in_topic)
WHERE (s.in_forum={$a['fid']} OR t.forum_id={$a['fid']})
AND s.running_time > {$a['time']}
AND s.in_error != 1
ORDER BY s.running_time DESC";
}
function forums_get_replied_topics( $a )
{
return "SELECT COUNT(DISTINCT(p.topic_id)) as max FROM ".SQL_PREFIX."topics t
LEFT JOIN ".SQL_PREFIX."posts p ON (p.topic_id=t.tid)
WHERE t.forum_id={$a['fid']} AND p.author_id={$a['mid']} AND p.new_topic=0
{$a['approved']} {$a['prune_filter']}";
}
function forums_get_replied_topics_actual( $a )
{
return "SELECT DISTINCT(p.author_id), t.* FROM ".SQL_PREFIX."topics t
LEFT JOIN ".SQL_PREFIX."posts p ON (p.topic_id=t.tid AND p.author_id={$a['mid']})
WHERE t.forum_id={$a['fid']}
AND {$a['query']} AND p.new_topic=0
ORDER BY pinned desc,{$a['topic_sort']} {$a['sort_key']} {$a['r_sort_by']}
LIMIT {$a['limit_a']}, {$a['limit_b']}";
}
function topics_check_for_mod( $a )
{
# topics.php
return "SELECT * FROM ".SQL_PREFIX."moderators WHERE forum_id={$a['fid']} AND (member_id={$a['mid']} OR (is_group=1 AND group_id={$a['gid']}))";
}
function topics_get_posts( $a )
{
# topics.php
return "SELECT p.*,
m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."members m ON (p.author_id=m.id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
WHERE p.pid IN(".implode(',', $a['pids']).") ORDER BY {$a['scol']} {$a['sord']}";
}
function topics_get_posts_with_join( $a )
{
# topics.php
return "SELECT p.*,
m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size,
pc.*
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."members m ON (p.author_id=m.id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
LEFT JOIN ".SQL_PREFIX."pfields_content pc ON (pc.member_id=p.author_id)
WHERE p.pid IN(".implode(',', $a['pids']).") ORDER BY {$a['scol']} {$a['sord']}";
}
function topics_get_active_users( $a )
{
# topics.php
return "SELECT s.member_id, s.member_name, s.member_group, s.login_type, s.location
FROM ".SQL_PREFIX."sessions s
WHERE s.in_topic={$a['tid']}
AND s.running_time > {$a['time']}
AND s.in_error != 1
ORDER BY s.running_time DESC";
}
function topics_replace_topic_read( $a )
{
# topics.php
# Not got REPLACE INTO? Use delete from .. where, then insert into ... set...
return "REPLACE INTO ".SQL_PREFIX."topics_read SET read_tid={$a['tid']},read_mid={$a['mid']},read_date={$a['date']}";
}
function session_load_member( $a )
{
return "SELECT m.id, m.name, m.mgroup, m.member_login_key, m.email, m.restrict_post, m.view_sigs, m.view_avs, m.view_pop, m.view_img, m.auto_track,
m.mod_posts, m.language, m.skin, m.new_msg, m.show_popup, m.msg_total, m.time_offset, m.posts, m.joined, m.last_post, m.subs_pkg_chosen,
m.ignored_users, m.login_anonymous, m.last_visit, m.last_activity, m.dst_in_use, m.view_prefs, m.org_perm_id, m.mgroup_others, m.temp_ban, m.sub_end
FROM ".SQL_PREFIX."members m
WHERE m.id={$a['mid']}";
}
function post_topic_tracker( $a )
{
#post
return "SELECT tr.trid, tr.topic_id, m.name, m.email, m.id, m.email_full, m.language, m.last_activity, t.title, t.forum_id
FROM ".SQL_PREFIX."tracker tr, ".SQL_PREFIX."topics t,".SQL_PREFIX."members m
WHERE tr.topic_id='{$a['tid']}'
AND tr.member_id=m.id
AND m.id <> {$a['mid']}
AND t.tid=tr.topic_id
AND ( ( tr.topic_track_type='delayed' AND m.last_activity > {$a['last_post']} ) OR tr.topic_track_type='immediate' )";
}
function post_forum_tracker( $a )
{
#post
return "SELECT tr.frid, m.name, m.email, m.id, m.language, m.last_activity, m.org_perm_id, g.g_perm_id
FROM ".SQL_PREFIX."forum_tracker tr,".SQL_PREFIX."members m, ".SQL_PREFIX."groups g
WHERE tr.forum_id={$a['fid']}
AND tr.member_id=m.id
AND m.mgroup=g.g_id
AND m.id <> {$a['mid']}
AND ( ( tr.forum_track_type='delayed' AND m.last_activity < {$a['last_post']} ) OR tr.forum_track_type='immediate' )";
}
function post_get_quoted( $a )
{
return "select p.*,t.forum_id FROM ".SQL_PREFIX."posts p LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id)
WHERE pid IN (".implode(",", $a['quoted_pids']).")";
}
function msg_get_msg_poster( $a )
{
return "SELECT m.*, g.* FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g WHERE m.id={$a['mid']} AND g.g_id=m.mgroup";
}
function msg_get_msg_archive( $a )
{
return "SELECT m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
g.g_id, g.g_title, g.g_icon, g.g_dohtml,
me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size,
mt.*, msg.*
FROM ".SQL_PREFIX."message_topics mt
LEFT JOIN ".SQL_PREFIX."message_text msg ON (mt.mt_msg_id=msg.msg_id)
LEFT JOIN ".SQL_PREFIX."members m ON (mt.mt_from_id=m.id)
LEFT JOIN ".SQL_PREFIX."groups g ON (g.g_id=m.mgroup)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
WHERE mt.mt_owner_id={$a['mid']} AND mt.mt_date {$a['older_newer']} {$a['time_cut']} {$a['folder_query']}
LIMIT 0, {$a['limit_b']}";
}
function msg_get_msg_to_show( $a )
{
return "SELECT m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
g.g_id, g.g_title, g.g_icon, g.g_dohtml,
me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size,
mt.*, msg.*
FROM ".SQL_PREFIX."message_topics mt
LEFT JOIN ".SQL_PREFIX."message_text msg ON (mt.mt_msg_id=msg.msg_id)
LEFT JOIN ".SQL_PREFIX."members m ON (mt.mt_from_id=m.id)
LEFT JOIN ".SQL_PREFIX."groups g ON (g.g_id=m.mgroup)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
WHERE mt.mt_id={$a['msgid']} AND mt.mt_owner_id={$a['mid']}";
}
function msg_get_saved_msg( $a )
{
return "SELECT m.id,m.name, mt.*, msg.*
FROM ".SQL_PREFIX."message_topics mt
LEFT JOIN ".SQL_PREFIX."message_text msg ON (mt.mt_msg_id=msg.msg_id)
LEFT JOIN ".SQL_PREFIX."members m ON (mt.mt_to_id=m.id)
WHERE mt.mt_id={$a['msgid']} AND mt.mt_owner_id={$a['mid']}";
}
function msg_get_cc_users( $a )
{
return "SELECT m.mgroup_others, m.id, m.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.name) IN (".implode(",",$a['name_array']).")
AND m.mgroup=g.g_id";
}
function msg_get_cc_blocked( $a )
{
return "SELECT m.name, c.allow_msg
FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."contacts c
WHERE contact_id={$a['mid']}
AND member_id IN (".implode(",",$a['cc_array']).") AND m.id=c.member_id";
}
function msg_get_sent_list( $a )
{
return "SELECT mem.name as from_name, mem.id as from_id, mt.*
FROM ".SQL_PREFIX."message_topics mt
LEFT JOIN ".SQL_PREFIX."members mem ON ( mt.mt_to_id=mem.id )
WHERE mt.mt_owner_id={$a['mid']} AND mt.mt_from_id={$a['mid']} AND mt.mt_vid_folder='{$a['vid']}'
ORDER BY {$a['sort']} LIMIT {$a['limita']}, {$a['limitb']}";
}
function msg_get_folder_list( $a )
{
return "SELECT mt.*,mem.name as from_name, mem.id as from_id
FROM ".SQL_PREFIX."message_topics mt
LEFT JOIN ".SQL_PREFIX."members mem ON ( mt.mt_from_id=mem.id )
WHERE mt.mt_owner_id={$a['mid']} AND mt.mt_to_id={$a['mid']} AND mt.mt_vid_folder='{$a['vid']}'
ORDER BY mt.{$a['sort']} LIMIT {$a['limita']}, {$a['limitb']}";
}
function msg_get_tracking( $a )
{
return "SELECT msg.*, mt.*, mp.name as to_name, mp.id as memid
FROM ".SQL_PREFIX."message_topics mt
LEFT JOIN ".SQL_PREFIX."message_text msg ON ( mt.mt_msg_id=msg.msg_id )
LEFT JOIN ".SQL_PREFIX."members mp ON (mt.mt_to_id=mp.id)
WHERE mt.mt_from_id={$a['mid']} AND mt.mt_tracking=1";
}
function msg_get_new_pm_notification( $a )
{
return "SELECT m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,
m.warn_level, m.warn_lastwarn,
me.*,
g.g_id, g.g_title, g.g_icon, g.g_dohtml, mt.*, msg.*
FROM ".SQL_PREFIX."message_topics mt
LEFT JOIN ".SQL_PREFIX."message_text msg ON (mt.mt_msg_id=msg.msg_id)
LEFT JOIN ".SQL_PREFIX."members m ON (mt.mt_from_id=m.id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (mt.mt_from_id=me.id)
LEFT JOIN ".SQL_PREFIX."groups g ON (g.g_id=m.mgroup)
WHERE mt.mt_owner_id={$a['mid']} AND mt.mt_vid_folder='in' ORDER BY mt_date DESC LIMIT 1";
}
function ucp_tracker_prune( $a )
{
return "SELECT tr.trid FROM ".SQL_PREFIX."tracker tr, ".SQL_PREFIX."topics t WHERE t.tid=tr.topic_id AND t.last_post < {$a['time']}";
}
function profile_get_all( $a )
{
return "SELECT m.*, me.*, s.running_time, s.location as sesslocation, s.in_forum, s.in_topic FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."sessions s ON (s.member_id=m.id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON ( me.id=m.id )
WHERE m.id={$a['mid']}";
}
function profile_get_favourite( $a )
{
return "SELECT t.forum_id, COUNT(p.author_id) as f_posts
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON ( p.topic_id=t.tid AND t.forum_id IN (".implode(",",$a['fid_array']).") )
WHERE p.author_id={$a['mid']} AND t.tid IS NOT NULL
GROUP BY t.forum_id
ORDER BY f_posts DESC";
}
function attach_get_perms( $a )
{
return "SELECT p.pid, p.topic_id, t.forum_id
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON ( p.topic_id=t.tid )
WHERE p.pid={$a['apid']}";
}
function usercp_get_attachments( $a )
{
return "SELECT a.*, t.*, p.topic_id
FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p ON ( a.attach_pid=p.pid )
LEFT JOIN ".SQL_PREFIX."topics t ON ( t.tid=p.topic_id )
WHERE a.attach_member_id={$a['mid']}
ORDER BY {$a['order']}
LIMIT {$a['limit_a']}, {$a['limit_b']}";
}
function usercp_get_to_delete( $a )
{
return "SELECT a.*, p.topic_id, p.pid
FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p ON ( a.attach_pid=p.pid )
WHERE a.attach_id IN (".implode(",",$a['aid_array']).")
AND attach_member_id={$a['mid']}";
}
function stats_get_all_members( $a )
{
return "SELECT m.*, me.*
FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
WHERE m.id IN(".implode(',', $a['member_ids']).")
ORDER BY m.name";
}
function stats_get_all_members_groups( $a )
{
return "SELECT m.*, me.*
FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
WHERE mgroup IN (".implode( ',', $a['group_ids'] ).")
ORDER BY m.name";
}
function stats_get_todays_posters( $a )
{
return "SELECT COUNT(*) as tpost, m.id, m.name, m.joined, m.posts
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id )
LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id)
WHERE t.forum_id in(".implode(",", $a['ids']).") and post_date > {$a['time_low']}
GROUP BY p.author_id
ORDER BY tpost DESC LIMIT 0,10";
}
function ucp_mod_ip_tool_one( $a )
{
return "SELECT pid, t.forum_id
FROM ".SQL_PREFIX."posts p, ".SQL_PREFIX."topics t
WHERE t.tid=p.topic_id and p.queued <> 1 AND t.forum_id IN({$a['the_forums']}) AND {$a['sql']}";
}
function ucp_get_all_announcements( $a )
{
return "SELECT a.*, m.id, m.name
FROM ".SQL_PREFIX."announcements a
LEFT JOIN ".SQL_PREFIX."members m on (a.announce_member_id=m.id)
ORDER BY announce_end DESC";
}
function ucp_get_all_announcements_byid( $a )
{
return "SELECT a.*, m.*, me.*
FROM ".SQL_PREFIX."announcements a
LEFT JOIN ".SQL_PREFIX."members m on (a.announce_member_id=m.id)
LEFT JOIN ".SQL_PREFIX."member_extra me on (me.id=m.id)
WHERE a.announce_id={$a['id']}";
}
function ucp_get_forum_tracker( $a )
{
return "SELECT t.*, f.*
FROM ".SQL_PREFIX."forum_tracker t
LEFT JOIN ".SQL_PREFIX."forums f ON (t.forum_id=f.id)
WHERE t.member_id={$a['mid']}
ORDER BY f.position";
}
function ucp_get_topic_tracker( $a )
{
return "SELECT s.topic_track_type, s.trid, s.member_id, s.topic_id, s.last_sent, s.start_date as track_started, t.*, f.id as forum_id, f.name as forum_name
FROM ".SQL_PREFIX."tracker s, ".SQL_PREFIX."topics t, ".SQL_PREFIX."forums f
WHERE s.member_id={$a['mid']} AND t.tid=s.topic_id AND f.id=t.forum_id {$a['date_query']}
ORDER BY f.id, t.last_post DESC";
}
function mlist_count( $a )
{
return "SELECT COUNT(*) as total_members FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON me.id=m.id
LEFT JOIN ".SQL_PREFIX."pfields_content p ON (p.member_id=m.id)
LEFT JOIN ".SQL_PREFIX."groups g ON (g.g_id=m.mgroup)
WHERE g.g_hide_from_list <> 1 {$a['query']}";
}
function mlist_get_members( $a )
{
return "SELECT m.*,me.*,p.*,g.g_hide_from_list,g.g_id FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON me.id=m.id
LEFT JOIN ".SQL_PREFIX."pfields_content p ON (p.member_id=m.id)
LEFT JOIN ".SQL_PREFIX."groups g ON (g.g_id=m.mgroup)
WHERE g.g_hide_from_list <> 1 {$a['query']}
ORDER BY m.{$a['sort']} {$a['order']}
LIMIT {$a['limit_a']}, {$a['limit_b']}";
}
function forum_get_attachments( $a )
{
return "SELECT a.*, t.*, p.topic_id, p.pid
FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p ON ( a.attach_pid=p.pid )
LEFT JOIN ".SQL_PREFIX."topics t ON ( t.tid=p.topic_id )
WHERE a.attach_pid != 0 AND p.topic_id={$a['tid']}
ORDER BY a.attach_date";
}
function buddy_posts_last_visit( $a )
{
return "SELECT COUNT(*) as posts
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
WHERE p.post_date > {$a['last_visit']}
AND p.queued <> 1 AND t.forum_id IN({$a['forum_string']})";
}
function generic_get_all_member( $a )
{
return "SELECT g.*, m.*, me.*
FROM ".SQL_PREFIX."members m
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
LEFT JOIN ".SQL_PREFIX."groups g ON (g.g_id=m.mgroup)
WHERE m.id={$a['mid']}";
}
function moderate_get_topics( $a )
{
return "SELECT p.*,t.forum_id FROM ".SQL_PREFIX."posts p LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id) WHERE pid IN (".implode(",", $a['pids']).")";
}
function moderate_concat_title( $a )
{
return "UPDATE ".SQL_PREFIX."topics SET title=CONCAT('{$a['pre']}', title, '{$a['end']}') WHERE tid IN(".implode( ",", $a['tids'] ).")";
}
function mod_func_get_last_post( $a )
{
return "SELECT p.post_date, p.topic_id, p.author_id, p.author_name, p.pid, t.forum_id
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
WHERE topic_id={$a['tid']} and queued <> 1
ORDER BY pid DESC LIMIT 0,1";
}
function mod_func_get_attach_count( $a )
{
return "SELECT COUNT(*) as count FROM ".SQL_PREFIX."attachments a
LEFT JOIN ".SQL_PREFIX."posts p on (a.attach_pid=p.pid)
WHERE p.topic_id={$a['tid']}";
}
function mod_func_get_topic_tracker( $a )
{
return "SELECT tr.*, m.id, m.mgroup, m.org_perm_id, t.tid, t.forum_id, g.g_id, g.g_perm_id
FROM ".SQL_PREFIX."tracker tr
LEFT JOIN ".SQL_PREFIX."topics t ON (tr.topic_id=t.tid)
LEFT JOIN ".SQL_PREFIX."members m on (m.id=tr.member_id)
LEFT JOIN ".SQL_PREFIX."groups g on (g.g_id=m.mgroup)
WHERE tr.topic_id".$a['tid'];
}
function register_get_dead_validating( $a )
{
return "SELECT v.vid, v.member_id, m.posts
FROM ".SQL_PREFIX."validating v
LEFT JOIN ".SQL_PREFIX."members m ON (v.member_id=m.id)
WHERE v.new_reg=1
AND v.coppa_user <> 1
AND v.entry_date < {$a['less_than']}
AND lost_pass <> 1";
}
function search_get_all_user_count( $a )
{
return "SELECT count(*) as count
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
WHERE p.queued <> 1 AND t.forum_id IN({$a['forums']}) AND p.author_id={$a['mid']}";
}
function search_get_all_user_query( $a )
{
return "SELECT p.*, t.*, t.posts as topic_posts, t.title as topic_title, m.*, me.*
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=p.author_id)
WHERE p.queued <> 1 AND t.forum_id IN({$a['forums']}) AND p.author_id={$a['mid']}
ORDER BY post_date DESC";
}
function search_get_last_ten( $a )
{
return "SELECT p.*, t.*, t.posts as topic_posts, t.title as topic_title, m.*, me.*
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON (p.topic_id=t.tid)
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=p.author_id)
WHERE p.queued <> 1 AND t.forum_id IN({$a['forums']}) AND p.author_id={$a['mid']}
ORDER BY post_date DESC
LIMIT 0,10";
}
function search_main_in_titles( $a )
{
return "SELECT t.*, t.posts as topic_posts, t.title as topic_title, p.pid, p.author_id, p.author_name, p.post_date, p.post, m.*, me.*
FROM ".SQL_PREFIX."topics t
LEFT JOIN ".SQL_PREFIX."posts p ON (t.tid=p.topic_id AND p.new_topic=1)
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=p.author_id)
WHERE t.tid IN({$a['topics']})
ORDER BY p.post_date DESC
LIMIT {$a['limit_a']},25";
}
function search_main_in_posts( $a )
{
return "SELECT t.*, t.posts as topic_posts, t.title as topic_title, p.pid, p.author_id, p.author_name, p.post_date, p.post, p.post_htmlstate, m.*, me.*
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id)
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=p.author_id)
WHERE p.pid IN({$a['posts']})
ORDER BY p.post_date DESC
LIMIT {$a['limit_a']},25";
}
function poll_get_poll_with_topic( $a )
{
return "SELECT f.allow_pollbump, t.*, p.pid as poll_id,p.choices,p.starter_id,p.votes
FROM ".SQL_PREFIX."polls p, ".SQL_PREFIX."topics t, ".SQL_PREFIX."forums f
WHERE t.tid={$a['tid']} and p.tid=t.tid and t.forum_id=f.id";
}
function contact_member_report_get_mods( $a )
{
return "SELECT m.id, m.name, m.email, mod.member_id FROM ".SQL_PREFIX."moderators mod, ".SQL_PREFIX."members m WHERE mod.forum_id='{$a['fid']}' and mod.member_id=m.id";
}
function contact_member_report_get_cpaccess( $a )
{
return "SELECT m.id, m.name, m.email FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g WHERE g.g_access_cp=1 AND m.mgroup=g.g_id";
}
function print_page_get_members( $a )
{
return "SELECT g.*, m.* FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g WHERE m.id in ({$a['mem_ids']}) AND m.mgroup=g.g_id";
}
function stats_who_posted( $a )
{
return "SELECT COUNT(p.pid) as pcount, p.author_id, p.author_name FROM ".SQL_PREFIX."posts p
WHERE p.topic_id={$a['tid']} AND queued <> 1 GROUP BY p.author_name ORDER BY pcount DESC";
}
function warn_get_data( $a )
{
return "SELECT l.*, p.id as punisher_id, p.name as punisher_name
FROM ".SQL_PREFIX."warn_logs l
LEFT JOIN ".SQL_PREFIX."members p ON ( p.id=l.wlog_addedby )
WHERE l.wlog_mid={$a['mid']} ORDER BY l.wlog_date DESC LIMIT {$a['limit_a']}, {$a['limit_b']}";
}
function warn_get_forum( $a )
{
return "SELECT t.tid, t.title, f.id, f.name FROM ".SQL_PREFIX."topics t, ".SQL_PREFIX."forums f WHERE tid={$a['tid']} AND t.forum_id=f.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_monster_bitch( $a )
{
return "SELECT t.*, p.*, me.avatar_location, m.view_avs, me.avatar_size, me.avatar_type,
m.id as member_id, m.name as member_name, m.mgroup
FROM ".SQL_PREFIX."topics t
LEFT JOIN ".SQL_PREFIX."members m ON (t.starter_id=m.id)
LEFT JOIN ".SQL_PREFIX."member_extra me on (m.id=me.id)
LEFT JOIN ".SQL_PREFIX."posts p ON (p.topic_id=t.tid AND p.new_topic=1)
WHERE t.forum_id IN (-1{$a['csite_article_forum']}) {$a['qe']}
AND t.approved=1 AND (t.moved_to IS NULL or t.moved_to='')
ORDER BY t.pinned DESC, t.start_date DESC
LIMIT 0,{$a['limit']}";
}
function help_search( $a )
{
return "SELECT id, title, description
FROM ".SQL_PREFIX."faq
WHERE LOWER(title) LIKE '%{$a['search_string']}%' or LOWER(text) LIKE '%{$a['search_string']}%'
ORDER BY title";
}
#-- NEW FOR RC1 --#
function login_getmember( $a )
{
return "select id, name, email, mgroup, member_login_key, ip_address, login_anonymous
from ".SQL_PREFIX."members
where LOWER(name)='{$a['username']}'";
}
function contact_member_report_get_supmod( $a )
{
return "SELECT m.id, m.name, m.email FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g WHERE g.g_is_supmod=1 AND m.mgroup=g.g_id";
}
function post_get_topic_review( $a )
{
return "SELECT p.*, m.mgroup
FROM ".SQL_PREFIX."posts p
LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
WHERE topic_id={$a['tid']} and queued <> 1
ORDER BY pid DESC
LIMIT 0,10";
}
function post_forum_tracker_all( $a )
{
#post
return "SELECT m.name, m.email, m.id, m.language, m.last_activity, m.org_perm_id, g.g_perm_id
FROM ".SQL_PREFIX."members m, ".SQL_PREFIX."groups g
WHERE m.mgroup IN ({$a['groups']})
AND m.mgroup=g.g_id
AND m.id <> {$a['mid']}
AND m.allow_admin_mails=1
AND m.last_activity < {$a['last_post']}";
}
} // end class
?>
+180
View File
@@ -0,0 +1,180 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board v2.0.0
| =============================================
| by Matthew Mecham
| (c) 2001 - 2004 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| Time: Tue, 21 Sep 2004 16:34:28 GMT
| Release: 150aa7a702c3c8b6f6eb90ad49305d2f
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > MySQL DB Queries abstraction module
| > Module written by Matt Mecham
| > Date started: 12th August 2004
| > SUBSCRIPTIONS MANAGER
|
| > Module Version Number: 1.0.0
+--------------------------------------------------------------------------
*/
class sql_subsm_queries extends db_driver
{
var $db = "";
var $tbl = "";
/*========================================================================*/
// Set up...
/*========================================================================*/
function sql_subsm_queries( $obj )
{
$this->db = $obj;
if ( ! $this->db->obj['sql_tbl_prefix'] )
{
$this->db->obj['sql_tbl_prefix'] = 'ibf_';
}
$this->tbl = $this->db->obj['sql_tbl_prefix'];
}
/*========================================================================*/
function intro_get_all( $a )
{
return "SELECT COUNT(*) as total, SUM(subtrans_cumulative) as revenue, subtrans_method
FROM ".SQL_PREFIX."subscription_trans WHERE subtrans_state NOT IN ('failed', 'dead', 'pending')
GROUP BY subtrans_method";
}
function intro_get_failed_dead( $a )
{
return "SELECT COUNT(*) as total, SUM(subtrans_cumulative) as revenue, subtrans_method
FROM ".SQL_PREFIX."subscription_trans WHERE subtrans_state IN ('failed', 'dead')
GROUP BY subtrans_method";
}
function intro_get_failed_pending( $a )
{
return "SELECT COUNT(*) as total, SUM(subtrans_cumulative) as revenue, subtrans_method
FROM ".SQL_PREFIX."subscription_trans WHERE subtrans_state='pending'
GROUP BY subtrans_method";
}
function intro_plans_a( $a )
{
return "SELECT COUNT(*) as total, subtrans_sub_id
FROM ".SQL_PREFIX."subscription_trans
WHERE subtrans_end_date < {$a['time']} AND subtrans_state != 'expired'
GROUP BY subtrans_sub_id";
}
function intro_plans_b( $a )
{
return "SELECT COUNT(*) as total, subtrans_sub_id
FROM ".SQL_PREFIX."subscription_trans
WHERE subtrans_end_date > {$a['time']} AND subtrans_state != 'expired'
GROUP BY subtrans_sub_id";
}
function do_search( $a )
{
return "SELECT s.*, m.id, m.name, m.email, ss.* FROM ".SQL_PREFIX."subscription_trans s
LEFT JOIN ".SQL_PREFIX."members m ON ( s.subtrans_member_id=m.id )
LEFT JOIN ".SQL_PREFIX."subscriptions ss ON ( s.subtrans_sub_id=ss.sub_id ) ".$a['query']."
ORDER BY s.subtrans_end_date ASC LIMIT {$a['st']}, {$a['end']}";
}
function do_search_two( $a )
{
return "SELECT * FROM ".SQL_PREFIX."subscription_logs ".$a['query']." ORDER BY sublog_date DESC LIMIT {$a['st']}, {$a['end']}";
}
function get_lower_name( $a )
{
return "SELECT * FROM ".SQL_PREFIX."members WHERE lower(name)='{$a['name']}'";
}
function get_lower_like( $a )
{
return "SELECT * FROM ".SQL_PREFIX."members WHERE lower(name) LIKE '%{$a['name']}%'";
}
function edit_trans( $a )
{
return "SELECT s.*, ss.*, m.name, m.id FROM ".SQL_PREFIX."subscription_trans s
LEFT JOIN ".SQL_PREFIX."subscriptions ss ON ( ss.sub_id=s.subtrans_sub_id )
LEFT JOIN ".SQL_PREFIX."members m ON ( s.subtrans_member_id=m.id )
WHERE s.subtrans_id={$a['id']}";
}
function delete_trans( $a )
{
return "SELECT s.*, ss.*, m.* FROM ".SQL_PREFIX."subscription_trans s
LEFT JOIN ".SQL_PREFIX."subscriptions ss ON ( ss.sub_id=s.subtrans_sub_id )
LEFT JOIN ".SQL_PREFIX."members m ON (s.subtrans_member_id=m.id)
WHERE s.subtrans_id IN (".implode(",", $a['ids']).")";
}
function unsub_members( $a )
{
return "SELECT s.*, ss.*, m.* FROM ".SQL_PREFIX."subscription_trans s
LEFT JOIN ".SQL_PREFIX."subscriptions ss ON ( ss.sub_id=s.subtrans_sub_id )
LEFT JOIN ".SQL_PREFIX."members m ON (s.subtrans_member_id=m.id)
WHERE s.subtrans_sub_id={$a['id']}".$a['qe'];
}
/*
$DB->cache_add_query( 'intro_get_all', array(), 'sql_subsm_queries' );
$DB->cache_exec_query();
*/
function mod_custom( $a )
{
return "SELECT s.*, ss.* FROM ibf_subscription_methods s
LEFT JOIN ibf_subscription_extra ss ON ( ss.subextra_method_id=s.submethod_id )
WHERE submethod_name='{$a['type']}'";
}
function mod_payment_method( $a )
{
return "SELECT s.*, ss.* FROM ibf_subscription_methods s
LEFT JOIN ibf_subscription_extra ss ON ( ss.subextra_method_id=s.submethod_id )
WHERE s.submethod_active=1";
}
function mod_do_index( $a )
{
return "SELECT s.submethod_id, ss.subextra_id, s.submethod_active, ss.subextra_can_upgrade FROM ibf_subscription_methods s
LEFT JOIN ibf_subscription_extra ss ON ( ss.subextra_method_id=s.submethod_id )
WHERE s.submethod_active=1";
}
function mod_failed_member( $a )
{
return "SELECT t.*, g.g_id FROM ibf_subscription_trans t
LEFT JOIN ibf_groups g ON (g.g_id=t.subtrans_old_group)
WHERE subtrans_id={$a['cur_trx_id']}";
}
} // end class
?>