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 . "
" . __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 . "
" . __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 .= "FROM_UNIXTIME(" . $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 .= "FROM_UNIXTIME(" . $this->protect($this->deliveryTime) . "), '"; $query .= $this->protect($this->deliveryTZ) . "', "; $query .= "FROM_UNIXTIME(" . $this->protect($this->deliveryTimeServer) . ")"; $query .= ")"; print_r($this); $this->query($query); echo "{'uid':'" . $this->connect->insert_id . "'}"; } function getCurrentPlanes() { $query = "SELECT idAvion as uid, UNIX_TIMESTAMP(deliveryTime) as deliveryTime, deliveryTZ, destLat, destLon, destName, UNIX_TIMESTAMP(startTime) as 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); return 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 = round($result["count"] / RESULTS_BY_PAGE + 1, 0, PHP_ROUND_HALF_DOWN); if ($page <= 0) //renvoie le nombre de ligne d'anthologie { print '{"nAnthology":"' . $result["count"] . '","nPages":"' . $n_pages .'"}'; return $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 . "," . RESULTS_BY_PAGE . " ORDER BY startTime ASC"; $this->query($query); $planes = $this->result->fetch_all(MYSQLI_ASSOC); print json_encode($planes, JSON_FORCE_OBJECT); return $planes; } } } ?>