Add php files to communicate with the database

All previous routes of the nodejs server are now working with php.
This commit is contained in:
dario-cfpt
2020-03-09 20:09:33 +01:00
parent abfd944bbf
commit a561ac89f3
4 changed files with 270 additions and 0 deletions

181
server/fecharts.php Normal file
View File

@ -0,0 +1,181 @@
<?php
require('database.php');
class fecharts {
private $conn;
public function __construct()
{
$this->conn = database::getInstance()->getConnection();
}
private function getAllCharacters() {
$stmt = $this->conn->prepare("
SELECT
Id_Character as Id,
Nm_First as firstName,
Nm_Last as lastName,
Nm_File_Img as imgFileName,
Id_House as idHouse,
Id_Gender as idGender
FROM Tbl_Character
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
private function getAllCharactersGrowthRates() {
$stmt = $this->conn->prepare("
SELECT
Nb_Value as value,
Id_Character as idCharacter,
Id_Stat as idStat
FROM Tbl_Character_Growth_Rate
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
private function getAllClassesGrowthRates() {
$stmt = $this->conn->prepare("
SELECT
Nb_Value as value,
Id_Class as idClass,
Id_Stat as idStat
FROM Tbl_Class_Growth_Rate
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
private function getAllClasses() {
$stmt = $this->conn->prepare("
SELECT
Id_Class as idClass,
Nm_Class as name,
Is_Available_For_All as isAvailableForAll,
Id_Gender as idGender
FROM Tbl_Class
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
private function getAllGenders() {
$stmt = $this->conn->prepare("
SELECT
Id_Gender as id,
Nm_Gender as name
FROM Tbl_Gender
ORDER BY id ASC
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
private function getAllHouses() {
$stmt = $this->conn->prepare("
SELECT
Id_House as id,
Nm_House as name
FROM Tbl_House
ORDER BY id ASC
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
public function getAllRestrictedClasses() {
$stmt = $this->conn->prepare("
SELECT
Id_Class as idClass,
Id_Character as idCharacter
FROM Tbl_Character_Class
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
private function getAllStats() {
$stmt = $this->conn->prepare("
SELECT
Id_Stat as id,
Nm_Stat as name,
Nm_Short as shortName
FROM Tbl_Stat
");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
private function getCatalogueLastVersion() {
$stmt = $this->conn->prepare("
SELECT
No_Version as version,
Dttm_Last_Update as lastUpdate
FROM Tbl_Catalogue
ORDER BY lastUpdate DESC
LIMIT 1
");
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
return array_values($result)[0];
}
public function getAllData() {
$data = new stdClass();
$data->version = $this->getCatalogueLastVersion();
$data->characters = $this->getAllCharacters();
$data->characterGrowthRates = $this->getAllCharactersGrowthRates();
$data->classesGrowthRates = $this->getAllClassesGrowthRates();
$data->classes = $this->getAllClasses();
$data->gender = $this->getAllGenders();
$data->house = $this->getAllHouses();
$data->restrictedClasses = $this->getAllRestrictedClasses();
$data->stats = $this->getAllStats();
return $data;
}
public function getUpdatedData($clientVersion) {
$serverVersion = $this->getCatalogueLastVersion();
if (version_compare($clientVersion, $serverVersion, '<')) {
return $this->getAllData();
} else {
return null;
}
}
public function getCurrentVersion() {
$version = new stdClass();
$version->version = $this->getCatalogueLastVersion();
return $version;
}
}