1
0
This repository has been archived on 2023-11-30. You can view files and clone it, but cannot push or open issues or pull requests.
dtux__avion-poeme/include/db.class.php
Daniel Tartavel 56a16aaa69 gestion+debug
2021-03-24 21:26:05 +01:00

151 lines
4.4 KiB
PHP

<?php
if ( !isset($site) )
{
require_once( "config.inc.php" );
header( 'Location: ' . $accueil );
}
require_once "config.inc.php";
require_once "log.php";
$table_prefix = "";
class db
{
private $server = "db351634-avionpoeme.sql-pro.online.net";
private $port = 3306;
private $user = "db120904";
private $passwd = "AvionPoème*DB";
private $database = "db351634_avionpoeme";
public $connect;
public $result;
public $uid;
public $message;
public $expeMail;
public $expeKnown;
public $expeLang;
public $destLang;
public $startLat;
public $startLon;
public $startName;
public $startTime;
public $StartTZ;
public $destMail;
public $destLat;
public $destLon;
public $destName;
public $public;
public $color;
public $actual_lat;
public $actual_lon;
public $bearing;
public $deliveryTime;
public $deliveryTZ;
public $deliveryTimeServer;
function __construct()
{
$this->open();
}
function open()
{
if ( !$this->connect )
{
$this->connect = new mysqli( $this->server, $this->user, $this->passwd, $this->database );
if ( $this->connect->connect_errno )
{
log_error( "Échec de la connexion : => " . $this->connect->connect_error . "<br />" . __file__ . ' ligne ' . __line__);
return false;
}
}
$this->connect->set_charset("utf8");
return true;
}
function close()
{
$this->connect->close();
$this->connect = 0;
}
function protect( $string )
{
return $this->connect->real_escape_string( $string );
}
function query( $string )
{
//log_write( $string );
if ( empty( $this->connect ) ) $this->open();
$this->result = $this->connect->query( $string ) ;
if ( $this->connect->error ) log_error( "Échec de la commande query => " . $this->connect->error . "<br />" . __file__ . ' ligne ' . __line__ . "\n" . $string, true, true);
//print_r( $this );
}
function newPlane() //return 0 on error
{
$query = "INSERT INTO avionpoeme VALUES ('0','";
$query .= $this->protect($this->message) . "', '";
$query .= $this->protect($this->expeMail) . "', ";
$query .= $this->protect($this->expeKnown) . ", '";
$query .= $this->protect($this->expeLang) . "', '";
$query .= $this->protect($this->destLang) . "', '";
$query .= $this->protect($this->startLat) . "', '";
$query .= $this->protect($this->startLon) . "', '";
$query .= $this->protect($this->startName) . "', '";
$query .= $this->protect($this->startTime) . "', '";
$query .= $this->protect($this->StartTZ) . "', '";
$query .= $this->protect($this->destMail) . "', '";
$query .= $this->protect($this->destLat) . "', '";
$query .= $this->protect($this->destLon) . "', '";
$query .= $this->protect($this->destName) . "', ";
$query .= $this->protect($this->public) . ", '";
$query .= $this->protect($this->color) . "', '";
$query .= $this->protect($this->actual_lat) . "', '";
$query .= $this->protect($this->actual_lon) . "', '";
$query .= $this->protect($this->bearing) . "', '";
$query .= $this->protect($this->deliveryTime) . "', '";
$query .= $this->protect($this->deliveryTZ) . "', '";
$query .= $this->protect($this->deliveryTimeServer) . "'";
$query .= ")";
print_r($this);
$this->query($query);
echo "{'uid':'" . $this->connect->insert_id . "'}";
}
function getCurrentPlanes()
{
$query = "SELECT deliveryTime, deliveryTZ, destLat, destLon, destName, startTime, startTZ, startLon, startLat, startName, color FROM avionpoeme WHERE deliveryTimeServer>NOW() AND public='1'";
$this->query($query);
$planes = $this->result->fetch_all(MYSQLI_ASSOC);
print json_encode($planes);
}
function getAnthology($page=0)
{
$query = "SELECT COUNT(*) as count FROM avionpoeme WHERE public='1'";
$this->query($query);
$result = $this->result->fetch_assoc();
$n_pages = $result["count"] / RESULTS_BY_PAGE + 1;
if ($page <= 0) //renvoie le nombre de ligne d'anthologie
{
print '{"nAnthology":"' . $result["count"] . '","nPages":"' . $n_pages .'"}';
}else //renvoie les lignes d'anthologie
{
if ($page > $n_pages) $page=$n_pages;
$query = "SELECT deliveryTime, deliveryTZ, destName, startTime, startTZ, startName, message FROM avionpoeme WHERE public='1' LIMIT " . ($page-1)*RESULTS_BY_PAGE+1 . "," . RESULTS_BY_PAGE;
$this->query($query);
$planes = $this->result->fetch_all(MYSQLI_ASSOC);
print json_encode($planes, JSON_FORCE_OBJECT);
}
}
}
?>