<?php
							 | 
						|
								/** 
							 | 
						|
								* @package	uForum 
							 | 
						|
								* @file		includes/db.php
							 | 
						|
								* @version	$Id$ 
							 | 
						|
								* @copyright	2009(c) PioDer <[email protected]>
							 | 
						|
								* @link 	http://pioder.gim2przemysl.int.pl/
							 | 
						|
								* @license	GNU GPL v3
							 | 
						|
								**/
							 | 
						|
								if ( !defined('IN_uF') )
							 | 
						|
								{
							 | 
						|
									die('Hacking attempt');
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								$db;
							 | 
						|
								
							 | 
						|
								class DataBase
							 | 
						|
								{
							 | 
						|
									function db_connect()
							 | 
						|
									{
							 | 
						|
										global $db;
							 | 
						|
										
							 | 
						|
										$db = new mysqli(DB_HOST, DB_USER, DB_PASS);
							 | 
						|
										if (mysqli_connect_errno() != 0)
							 | 
						|
										{
							 | 
						|
											message_die(CRITICAL,' Could not connect to database server.',$db->error);
							 | 
						|
										}
							 | 
						|
										
							 | 
						|
										if (!$db->set_charset("UTF8"))
							 | 
						|
									 	{
							 | 
						|
											message_die(CRITICAL, 'Could not set character set UTF-8', $db->error);
							 | 
						|
										}
							 | 
						|
										if (!$db->select_db(DB_NAME))
							 | 
						|
										{
							 | 
						|
											message_die(CRITICAL,' Could not select database.', $db->error); 
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									function sql_query($sql, $type, $msg, $no_count = false)
							 | 
						|
									{
							 | 
						|
										global $db;
							 | 
						|
										
							 | 
						|
										if (isset($_COOKIE['queries']))
							 | 
						|
										{
							 | 
						|
											$no_count = false;
							 | 
						|
											if(!$no_count)
							 | 
						|
											{
							 | 
						|
												$_COOKIE['queries'] = $_COOKIE['queries']+1;
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										//echo '<span class="fsmall">'.$sql.'<br></span>'; //for optimizing only
							 | 
						|
										if (!$query = $db->query($sql))
							 | 
						|
										{
							 | 
						|
											message_die($type, $msg, $db->error);
							 | 
						|
										}
							 | 
						|
										
							 | 
						|
										return $query;
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									function fetch($query)
							 | 
						|
									{	
							 | 
						|
								   		return $query->fetch_assoc();
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									function num_rows($query)
							 | 
						|
									{
							 | 
						|
										if ($query===true || $query===false)
							 | 
						|
										{
							 | 
						|
											return 0;
							 | 
						|
										}
							 | 
						|
										else
							 | 
						|
										{
							 | 
						|
								    			return mysqli_num_rows($query);
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									function new_id($table)
							 | 
						|
									{
							 | 
						|
										global $db;
							 | 
						|
										
							 | 
						|
										//check table id
							 | 
						|
										switch($table)
							 | 
						|
										{
							 | 
						|
								    			case BANLIST_TABLE: { $id = 'b_id'; break; }
							 | 
						|
								    			case CATS_TABLE: { $id = 'c_id'; break; }
							 | 
						|
								    			case CENSORLIST_TABLE: { $id = 'w_id'; break; }
							 | 
						|
								    			case FORUMS_TABLE: { $id = 'f_id'; break; }
							 | 
						|
								    			case GROUPS_TABLE: { $id = 'g_id'; break; }
							 | 
						|
								    			case PM_INBOX_TABLE: { $id = 'm_id'; break; }
							 | 
						|
								    			case PM_SENTBOX_TABLE: { $id = 'm_id'; break; }
							 | 
						|
								    			case POSTS_TABLE: { $id = 'p_id'; break; }
							 | 
						|
								    			case TOPICS_TABLE: { $id = 't_id'; break; }
							 | 
						|
											case SESSIONS_TABLE: { $id = 's_id'; break; }
							 | 
						|
								    			case SKINS_TABLE: { $id = 's_id'; break; }
							 | 
						|
								    			case SMILES_TABLE: { $id = 's_id'; break; }
							 | 
						|
								    			case USERS_TABLE: { $id = 'u_id'; break; }
							 | 
						|
								    			case USERS_GROUP_TABLE: { $id = 'id'; break; }
							 | 
						|
								    			case WARNINGS_TABLE: { $id = 'w_id'; break; }
							 | 
						|
								 		}
							 | 
						|
								 		$sql = "SELECT `$id` FROM $table ORDER BY `$id` DESC LIMIT 1";
							 | 
						|
								 		$return_id = DataBase::fetch(DataBase::sql_query($sql,GENERAL,'Error with obtain last id.<br> File: db.php, Line: '.__LINE__));
							 | 
						|
								 		$return_id = $return_id[$id];
							 | 
						|
								 		$return_id = $return_id+1;
							 | 
						|
								 		return $return_id;
							 | 
						|
								 		unset($table, $return_id, $id, $sql);
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								?>
							 |