mysql_queries.php

来自「sabreipb 2.1.6 utf-8中文版本!」· PHP 代码 · 共 746 行 · 第 1/2 页

PHP
746
字号
<?php/*+--------------------------------------------------------------------------|   Invision Power Board v2.1.5|   =============================================|   by Matthew Mecham|   (c) 2001 - 2005 Invision Power Services, Inc.|   |   =============================================|   Web: |   Time: Wed, 01 Mar 2006 19:11:29 GMT|   Release: |   Licence Info: +---------------------------------------------------------------------------|   > $Date: 2006-02-02 17:23:13 +0000 (Thu, 02 Feb 2006) $|   > $Revision: 133 $|   > $Author: bfarber $+---------------------------------------------------------------------------||   > 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'];    }        /*========================================================================*/        # NEW: 2.1 (a5)    function general_get_by_display_name( $a )    {    	return "SELECT id, members_display_name, name, email, mgroup, member_login_key, ip_address, login_anonymous				FROM ".SQL_PREFIX."members				WHERE LOWER(members_display_name)='{$a['members_display_name']}'";    }        function forums_get_active_users( $a )    {    	# forums.php    	    	return "SELECT s.member_id, s.member_name, s.member_group, s.id, s.login_type, s.location, s.running_time, t.forum_id				FROM ".SQL_PREFIX."sessions s				 LEFT JOIN ".SQL_PREFIX."topics t ON ( t.tid=s.location_1_id)				WHERE s.location_2_type='forum' AND (s.location_2_id={$a['fid']} OR t.forum_id={$a['fid']})				AND s.running_time > {$a['time']}				AND s.in_error=0";    }        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 t.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, m.members_display_name				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, m.members_display_name,				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.id, s.login_type, s.location, s.running_time				FROM ".SQL_PREFIX."sessions s				WHERE s.location_1_type='topic' AND s.location_1_id={$a['tid']}				AND s.running_time > {$a['time']}				AND s.in_error=0";	}	# Deleted				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 post_topic_tracker( $a )	{		#post				return "SELECT tr.trid, tr.topic_id, m.name, m.email, m.id, m.email_full, m.language, m.org_perm_id, m.mgroup, m.mgroup_others, m.last_activity, t.title, t.forum_id, t.approved				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' )";		}		#REMOVED	/*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.members_disable_pm, 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, m.members_display_name, 				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.members_disable_pm,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, m.members_display_name,				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, m.members_display_name, m.members_disable_pm, 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']}";	}	#IPB 2.1: Changed m.members_display_name AND LOWER(m.members_display_name)    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                    INNER JOIN ".SQL_PREFIX."groups g ON (m.mgroup=g.g_id)                    LEFT JOIN ".SQL_PREFIX."member_extra me ON (m.id=me.id)                       WHERE LOWER(m.members_display_name) IN (".implode(",",$a['name_array']).")";    }		function msg_get_cc_blocked( $a )	{			return "SELECT m.name, m.members_display_name, m.members_disable_pm, 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";		}		# Changed: mem.members_display_name as from_name	function msg_get_sent_list( $a )	{		return "SELECT mem.members_display_name as from_name, mem.id as from_id, mt.*, msg.msg_id, msg.msg_cc_users				 FROM ".SQL_PREFIX."message_topics mt				 LEFT JOIN ".SQL_PREFIX."members mem ON ( mt.mt_to_id=mem.id )				 LEFT JOIN ".SQL_PREFIX."message_text msg ON ( mt.mt_msg_id=msg.msg_id )				WHERE mt.mt_owner_id={$a['mid']} AND (mt.mt_from_id={$a['mid']} OR mt.mt_to_id={$a['mid']}) AND mt.mt_vid_folder='{$a['vid']}'				ORDER BY {$a['sort']} LIMIT {$a['limita']}, {$a['limitb']}";	}		# Changed: mem.members_display_name as from_name	function msg_get_folder_list( $a )	{			return "SELECT mt.*,mem.members_display_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 {$a['sort']} LIMIT {$a['limita']}, {$a['limitb']}";	}		# Changed: mp.members_display_name as to_name	function msg_get_tracking( $a )	{		return "SELECT msg.*, mt.*, mp.members_display_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";		}		# Updated (msg_get_new_pm_notification) in v2.1 [changed LIMIT ADDED m.members_display_name ]	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, m.members_display_name,				 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 {$a['limit_a']},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']}";	}	# Changed	function profile_get_all( $a )	{		return "SELECT m.*, me.*, s.location_1_id, s.location_2_id, s.location_1_type, s.location_2_type, s.running_time, s.location as sesslocation 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.members_display_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 m.mgroup IN (".implode( ',', $a['group_ids'] ).")    			 ORDER BY m.members_display_name";	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?