Je penses savoir où se trouves les requêtes :
Je ne vois vraiment pas où se trouve l'enregistrement dans la base utilisateurs...
<?php
// Configuration
define(DB_HOST, "xxxxx");
define(DB_NAME, "xxxxx");
define(DB_USER, "xxxxx");
define(DB_PASSWORD, "xxxxx");
define(PATH, "");
define(RESPONSE_MAIL, "xxxxx@gmail.com");
// API
date_default_timezone_set("Etc/GMT+0");
function check_mail($mail) {$regex = "#^[\w]([\w]+[-_.]{0,1})*@([\w][\w-.]*[\w])+\.[a-zA-Z]+$#"; if (preg_match($regex, $mail)) return true; else return false;}
function modif_date($date) {$tab explode("/", $date); $res $tab[2]."-".$tab[1]."-".$tab[0]; return $res;}
function display_date($date) {$tab = explode("-", $date); return $tab[2]."/".$tab[1]."/".$tab[0];}
class Auth
{
public static function isAdmin() {session_start();
if (isset($_SESSION['admin']) && $_SESSION['admin'] == true) return true; else return false;}
public static function isClient() {session_start();
if (isset($_SESSION['logged']) && $_SESSION['logged'] == true) return true; else return false;}
public static function login($username, $password) {
$sql = MySql::getConnection();
$res $sql->query("SELECT id, is_admin FROM utilisateurs where username '".MySql::sqlescape($username)."' and password = '".MySql::sqlescape($password)."'");
if (!$sql->num_rows()) return false;}
public static function usernameExist($username) {
$sql = MySql::getConnection();
$res $sql->query("SELECT id FROM utilisateurs WHERE username '".MySql::sqlescape($username)."'");
if (!$sql->num_rows()) return false; else return true;}
}
class Files {public static function delFile($id){$path Files::FilePath($id); @unlink($path); MySql::getConnection()->query("DELETE FROM files WHERE id '".intval($id)."'");}
public static function canDwl($id)
{
if (Auth::isAdmin())
return true;
$res MySql::getConnection()->query("SELECT id_user FROM files WHERE id '".intval($id)."'")->result();
session_start();
if ($res == $_SESSION['id'])
return true;
return false;
}
public static function verif_file($tabfile)
{
if ($tabfile['type'] != 'application/octet-stream')
return false;
$data = file_get_contents($tabfile['tmp_name'], false, NULL, 4, 15);
if (!$data)
return false;
if ($data != "Standard Jet DB")
return false;
return true;
}
}
class MySql {
private $link;
private $query;
private static $db;
public static function getConnection() {
if (MySql::$db == null)
MySql::$db = New MySql();
return MySql::$db;
}
public function __construct()
{
if (MySql::$db !== null)
return MySql::$db;
if ($this->link !== null)
return ($this->link);
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Impossible de se connecter a la Base de données);
}
if (mysql_select_db(DB_NAME, $link) === false)
die('la BDD n\'existe pas');
$this->link = $link;
return ($this);
}
public static function sqlescape($var)
{
MySql::getConnection();
return (mysql_real_escape_string($var));
}
public function query($query) {
if ($this->link == null)
return false;
$qu = @mysql_query($query, $this->link);
$this->query = $qu;
return ($this);
}
public function fetch() {
$r = array();
if ($this->query !== false && $this->num_rows() > 0) {
while ($l = mysql_fetch_array($this->query, MYSQL_ASSOC)) {
$r[] = $l;
}
}
return ($r);
}
public function beginTransact()
{
if (!$this->query("SET AUTOCOMMIT = 0; START TRANSACTION"))
return false;
return $this;
}
public function lasterror()
{
return mysql_error();
}
public function stopTransact()
{
if (!$this->query("SET AUTOCOMMIT = 1"))
return false;
return $this;
}
public function commit()
{
if (!$this->query("COMMIT"))
return false;
return $this;
}
public function insertupdate($table, $array)
{
if (!is_array($array))
return (false);
$tmp = array_values($array);
if (is_array($tmp[0]))
{
$i = 0;
foreach ($tmp as $t)
{
$res[$i] = insertupdate((is_array($table) ? $table[$i] : $table), $t);
$i++;
}
return ($res);
}
if (array_key_exists("id", $array) && $array['id'] != '')
{
$sql = "UPDATE ".mysql_real_escape_string($table)." SET ";
$newtab = array();
foreach ($array as $key=>$val)
{
if ($key == "id")
continue;
array_push($newtab, mysql_real_escape_string($key)."='".mysql_real_escape_string($val)."'");
}
$sql .= implode(" , ", $newtab)." WHERE id='".mysql_escape_string($array['id'])."'";
}
else
$sql = "INSERT INTO ".mysql_real_escape_string($table).
"(".implode(", ", array_map('mysql_real_escape_string', array_keys($array))).")
VALUES('".implode("', '", array_map('mysql_real_escape_string', $array))."')";
return ($this->query($sql));
}
public function result() {
return (@mysql_result($this->query, 0));
}
public function num_rows() {
return @mysql_num_rows($this->query);
}
public function affected_rows() {
return @mysql_affected_rows($this->query);
}
public function insert_id() {
return @mysql_insert_id();
}
public function close() {
if ($this->link !== null)
mysql_close($this->link);
$this->link = null;
MySql::$db = null;
}
}
class Mail
{
public static function mail2adm($subject, $msg)
{
$listadm MySql::getConnection()->query("SELECT mail FROM utilisateurs WHERE is_admin 1")->fetch();
$headers = "From: ". RESPONSE_MAIL."\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";
foreach ($listadm as $admin)
{
@mail($admin['mail'], $subject, $msg, $headers);
}
}
public static function mail2usr($id, $subject, $msg)
{
$mail MySql::getConnection()->query("SELECT mail FROM utilisateurs WHERE id '".intval($id)."'")->result();
$headers = "From: ". RESPONSE_MAIL."\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";
@mail($mail, $subject, $msg, $headers);
}
}
// Triggers d'initialisation.
MySql::getConnection()->query("UPDATE users SET enabled 0 WHERE is_admin 0 AND fin_compte < NOW()");
?>