<?php
/* Ulyxex version 1.5.5.2 ***************/
/* code http://ulyxex.logz.org **********/
/* Andre Lozano http://andre-lozano.org */

if (!defined('VERSION')) {
	define("VERSION","1.5.5.2");
}
if (!defined('FILES') && isset($prefixTableMySql)) {
	define("FILES",$prefixTableMySql."files"); // compatibility with old configs which don't have this constant 
}
/* SQL WORDS CONSTANTS */
define("SELECT"," SELECT ");
define("FROM"," FROM ");
define("WHERE"," WHERE ");
define("_OR_"," OR ");
define("UPDATE"," UPDATE ");
define("INNERJOIN"," INNER JOIN ");
define("DELETE"," DELETE ");
define("ORDERBY"," ORDER BY ");
define("_ON_"," ON ");
define("SET"," SET ");
define("INSERTINTO"," INSERT INTO ");
define("GROUPBY"," GROUP BY ");
define("ALLFIELDS"," * ");
define("_AND_"," AND ");
define("_IN_"," IN ");

class Ulyxex {
	public function q($query=null,$debug=0){
		$result = null;
		if (isset($_SESSION['countqueries'])) $_SESSION['countqueries']++;
		$query = trim($query);
		if (substr($query,-1) != ";") $query .= ";";
		
		//~ pour cacher en cas d'erreur les informations sur la base de données etc.
		mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
		try {
			$dbLink = @mysqli_connect(HOSTMYSQL,USERMYSQL,PASSMYSQL,BASEMYSQL);
		} catch (mysqli_sql_exception $e) {
			die("Error database connection aborted ! : ".$e."<br>");
		}
		try {
			if ($debug) {// debug
				$result = $dbLink->query($query);
				echo $query; 
			} else {
				$result = $dbLink->query($query);
			}
			mysqli_close($dbLink);
		} catch (mysqli_sql_exception $e) {
			echo "Error in q query ! : ".$e."<br>";
		}
		return $result;
	}
	public function qTest($query=null){
		$result = null;
		if (isset($_SESSION['countqueries'])) $_SESSION['countqueries']++;
		$query = trim($query);
		if (substr($query,-1) != ";") $query .= ";";
		
		//~ pour cacher en cas d'erreur les informations sur la base de données etc.
		mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
		try {
			$dbLink = @mysqli_connect(HOSTMYSQL,USERMYSQL,PASSMYSQL,BASEMYSQL);
		} catch (mysqli_sql_exception $e) {
			die("Error database connection aborted ! : ".$e."<br>");
		}
		try {
			$result = $dbLink->query($query);
			if ($result) {
				$result = "<span style='color:green;' >OK >>>> ".$query."</span><br>";
			} else {
				$result = "<span style='color:red;' >NOT >>> ".$query."</span><br>";
			}
			mysqli_close($dbLink);
		} catch (mysqli_sql_exception $e) {
			$result = "<span style='color:red;' >NOT >>> ".$query."</span><br>";
		}
		return $result;
	}
	public function fetch($query=null){
		return mysqli_fetch_assoc($query);
	}
	public function Where($And=array()){
		$data = "";
		if (count($And) > 0) $data = WHERE.implode(_AND_,$And);
		return $data;
	}
	public function WhereOr($Or=array()){
		$data = "";
		if (count($Or) > 0) $data = WHERE.implode(_OR_,$Or);
		return $data;
	}
	public function Do_And($And=array()) {
		$data = "";
		if (count($And) > 0) $data = implode(_AND_,$And);
		return $data;
	}
	public function Do_Or($Or=array()) {
		$data = "";
		if (count($Or) > 0) $data = implode(_OR_,$Or);
		return $data;
	}
	public function site_params(){
		$query = SELECT.ALLFIELDS.FROM.PARAMS.WHERE."ID=1;";
		$query = $this->q($query);
		if ($result = $this->fetch($query)){
			return $result;
		} else {
			exit("error site_params !");
		}
	}
	public function art_params($id){
		$query = SELECT."ID,USERID,HIDE,PAGEID".FROM.ARTICLES.WHERE."ID=".$id;
		$query = $this->q($query);
		if ($result = $this->fetch($query)){
			return $result;
		} else {
			exit("error art_params !");
		}
	}
	public function page_params($id){
		$query = SELECT.ALLFIELDS.FROM.PAGES.WHERE."ID=".$id;
		$query = $this->q($query);
		if ($result = $this->fetch($query)){
			return $result;
		} else {
			exit("error page_params !");
		}
	}
	public function user_params($id){
		$query = SELECT.ALLFIELDS.FROM.USERS.WHERE."ID=".$id;
		$query = $this->q($query);
		if ($result = $this->fetch($query)){
			return $result;
		} else {
			exit("error user_params !");
		}
	}
	public function level($level=0){
		if ($_SESSION['level'] > $level) {
			exit("bad user level !");
		} else {
			return;
		}
	}
}
?>

page url