mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-30 09:16:35 +00:00
Connexion to database
This commit is contained in:
parent
09eaa2171c
commit
2fb7d0d43d
5
.htaccess
Normal file
5
.htaccess
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteRule ^index\.php$ - [L]
|
||||||
|
RewriteRule . index.php [L]
|
||||||
|
</IfModule>
|
528
classes/DBLibrary.php
Executable file
528
classes/DBLibrary.php
Executable file
@ -0,0 +1,528 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* The MIT License
|
||||||
|
*
|
||||||
|
* Copyright 2016 Pierre HUBERT.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DB access and R/W
|
||||||
|
* Currently supports the following DataBases types :
|
||||||
|
* - sqlite
|
||||||
|
* - mysql
|
||||||
|
*
|
||||||
|
* If you would like to add support for different services, dont hesitate to
|
||||||
|
* participate.
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
class DBLibrary {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Boolean $connected Say if we are already connected or not.
|
||||||
|
*/
|
||||||
|
private $connected = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var PDO $db The DataBase ojbect
|
||||||
|
*/
|
||||||
|
private $db;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Boolean Enable or not verbosing mode
|
||||||
|
*/
|
||||||
|
private $verbose = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class constructor
|
||||||
|
*
|
||||||
|
* @param Boolean $verbose Enable or not the inclusion of SQL requests in Exceptions
|
||||||
|
*/
|
||||||
|
public function __construct($verbose = false){
|
||||||
|
//Saving verbose mode
|
||||||
|
$this->verbose = $verbose;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a MySQL database
|
||||||
|
*
|
||||||
|
* @param String $host MySQL Server Name
|
||||||
|
* @param String $username MySQL username
|
||||||
|
* @param String $password MySQL password
|
||||||
|
* @param String $nameDB Name of the DataBase
|
||||||
|
*/
|
||||||
|
public function openMYSQL($host, $username, $password, $nameDB){
|
||||||
|
//Generating PDO params
|
||||||
|
$pdoParams = "mysql:host=".$host.";dbname=".$nameDB;
|
||||||
|
$credentials = array(
|
||||||
|
"username" => $username,
|
||||||
|
"password" => $password
|
||||||
|
);
|
||||||
|
|
||||||
|
//Opening DataBase
|
||||||
|
$this->openDB($pdoParams, $credentials);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a SQLite DataBase
|
||||||
|
*
|
||||||
|
* @param String $pathToDB The path to SQLITE DB
|
||||||
|
* @return nothing
|
||||||
|
*/
|
||||||
|
public function openSQLite($pathToDB){
|
||||||
|
//We check the type of file if it exists
|
||||||
|
if(file_exists($pathToDB)){
|
||||||
|
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
||||||
|
if(finfo_file($finfo, $pathToDB) != "application/octet-stream"){
|
||||||
|
exit("Error: Trying to open a "
|
||||||
|
. "non-application/octet-stream type file !");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Generating PDO params
|
||||||
|
$pdoParams = "sqlite:".$pathToDB;
|
||||||
|
|
||||||
|
//Opening DataBase
|
||||||
|
$this->openDB($pdoParams);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a database (generic function)
|
||||||
|
*
|
||||||
|
* Use this for debugging :
|
||||||
|
* $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
|
*
|
||||||
|
* @param String $pdoParams Informations about the DataBase to open
|
||||||
|
* @param Array $credentials The username and password (optionnal)
|
||||||
|
* @return nothing
|
||||||
|
*/
|
||||||
|
private function openDB($pdoParams, array $credentials = array()){
|
||||||
|
try{
|
||||||
|
//We check if any DB is already opened
|
||||||
|
if($this->checkOpenDB()){
|
||||||
|
//We run into an error
|
||||||
|
throw new Exception("Trying to open a database "
|
||||||
|
. "while another is already opened !");
|
||||||
|
}
|
||||||
|
|
||||||
|
//We open DataBase
|
||||||
|
if(count($credentials) == "")
|
||||||
|
$this->db = new PDO($pdoParams);
|
||||||
|
else
|
||||||
|
$this->db = new PDO($pdoParams,
|
||||||
|
$credentials['username'],
|
||||||
|
$credentials['password']);
|
||||||
|
}
|
||||||
|
catch (Exception $e){
|
||||||
|
exit($this->echoException($e));
|
||||||
|
}
|
||||||
|
catch(PDOException $e){
|
||||||
|
exit($this->echoPDOException($e));
|
||||||
|
}
|
||||||
|
|
||||||
|
//We set the connected var to yes
|
||||||
|
$this->connected = true;
|
||||||
|
|
||||||
|
//We set PDO to return errors in verbose mode
|
||||||
|
if($this->verbose)
|
||||||
|
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the DataBase Object
|
||||||
|
*
|
||||||
|
* @return PDO The DataBase object
|
||||||
|
*/
|
||||||
|
public function getDBobject(){
|
||||||
|
return $this->db;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if another DB is already opened
|
||||||
|
*
|
||||||
|
* @return Boolean True or false depending of the opened state
|
||||||
|
*/
|
||||||
|
private function checkOpenDB(){
|
||||||
|
if($this->connected){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//No database opened yet
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute SQL code to the DataBase
|
||||||
|
*
|
||||||
|
* @param String $sql The SQL to execute
|
||||||
|
* @return Integer Number of lines affected
|
||||||
|
*/
|
||||||
|
public function execSQL($sql){
|
||||||
|
//We check if any database is opened
|
||||||
|
if (!$this->checkOpenDB()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//We try to perform the task
|
||||||
|
try{
|
||||||
|
return $this->db->exec($sql);
|
||||||
|
} catch (PDOException $e) {
|
||||||
|
exit($this->echoPDOException($e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a line to a table of the database
|
||||||
|
*
|
||||||
|
* @param String $tableName The name of the table
|
||||||
|
* @param Array $values The fields values
|
||||||
|
* @return Boolean True or false depending of the success of the operation
|
||||||
|
*/
|
||||||
|
public function addLine($tableName, array $values){
|
||||||
|
//We try to perform the task
|
||||||
|
try{
|
||||||
|
//We check if any database is opened
|
||||||
|
if (!$this->checkOpenDB()) {
|
||||||
|
throw new Exception("There isn't any opened DataBase !");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Generating SQL command
|
||||||
|
$sql = "INSERT INTO ".$tableName." ";
|
||||||
|
|
||||||
|
//Adding parametres
|
||||||
|
$valuesDatas = $this->generateSQLfromValuesInsert($values);
|
||||||
|
$sql .= $valuesDatas['sql'];
|
||||||
|
|
||||||
|
//Preparing insertion
|
||||||
|
$insert = $this->db->prepare($sql);
|
||||||
|
$result = $insert->execute($valuesDatas['params']);
|
||||||
|
|
||||||
|
//Checking presence of errors
|
||||||
|
if(!$result){
|
||||||
|
$message = "An error occured while trying to add a line !";
|
||||||
|
$message .= ($this->verbose ? "\n<i>SQL : ".$sql."</i>" : "");
|
||||||
|
throw new Exception($message);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Everything is OK
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch(Exception $e){
|
||||||
|
exit($this->echoException($e));
|
||||||
|
}
|
||||||
|
catch(PDOException $e){
|
||||||
|
exit($this->echoPDOException($e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add more than one line to a table
|
||||||
|
*
|
||||||
|
* @param String $tableName The name of the table
|
||||||
|
* @param array $values The values of the lines
|
||||||
|
*/
|
||||||
|
public function addLines($tableName, array $values){
|
||||||
|
//We try to perform the task
|
||||||
|
try{
|
||||||
|
//We check if any database is opened
|
||||||
|
if (!$this->checkOpenDB()) {
|
||||||
|
throw new Exception("There isn't any opened DataBase !");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Processing each line
|
||||||
|
foreach($values as $process){
|
||||||
|
if(is_array($process)){
|
||||||
|
if(!$this->addLine($tableName, $process)){
|
||||||
|
throw new Exception("An error occured while trying to "
|
||||||
|
. "add a line !");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
throw new Exception("A string has been given instead of an"
|
||||||
|
. " array !");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(Exception $e){
|
||||||
|
exit($this->echoException($e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates SQL code for editing DataBase for insert-like SQL commands
|
||||||
|
*
|
||||||
|
* @param array $values The values for the SQL command
|
||||||
|
* @return Array The SQL + the parametres
|
||||||
|
*/
|
||||||
|
private function generateSQLfromValuesInsert(array $values){
|
||||||
|
//Initialisating vars
|
||||||
|
$sql = "(";
|
||||||
|
$params = array();
|
||||||
|
|
||||||
|
//Processing values
|
||||||
|
foreach($values as $name => $value){
|
||||||
|
//We add a coma if it is not the first value
|
||||||
|
$sql .= ((count($params) != 0) ? ", " : "");
|
||||||
|
|
||||||
|
//We add SQL for the name
|
||||||
|
$sql .= $name;
|
||||||
|
|
||||||
|
//Records the name parameters
|
||||||
|
$params[] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Continuing SQL
|
||||||
|
$sql .= ") VALUES (";
|
||||||
|
|
||||||
|
//Adding ? for each value
|
||||||
|
for($i = 0; $i<count($params); $i++){
|
||||||
|
$sql .= ($i != 0 ? ", " : "")."?";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Finishing SQL
|
||||||
|
$sql .= ") ";
|
||||||
|
|
||||||
|
//Preparing return
|
||||||
|
$return = array(
|
||||||
|
"sql" => $sql,
|
||||||
|
"params" => $params
|
||||||
|
);
|
||||||
|
|
||||||
|
//Returning values
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get datas from a table
|
||||||
|
*
|
||||||
|
* @param String $tableName The name of the table
|
||||||
|
* @param String $conditions The conditions
|
||||||
|
* @param Array $datasCond The values of condition
|
||||||
|
* @return Array The result
|
||||||
|
*/
|
||||||
|
public function select($tableName, $conditions = "", array $datasCond = array()){
|
||||||
|
//We try to perform the task
|
||||||
|
try{
|
||||||
|
//We check if any database is opened
|
||||||
|
if (!$this->checkOpenDB()) {
|
||||||
|
throw new Exception("There isn't any opened DataBase !");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Generating SQL
|
||||||
|
$sql = "SELECT * FROM ".$tableName." ".$conditions;
|
||||||
|
$selectOBJ = $this->db->prepare($sql);
|
||||||
|
$selectOBJ->execute($datasCond);
|
||||||
|
|
||||||
|
//Preparing return
|
||||||
|
$return = array();
|
||||||
|
foreach($selectOBJ as $process){
|
||||||
|
$result = array();
|
||||||
|
|
||||||
|
//Processing datas
|
||||||
|
foreach($process as $name => $data){
|
||||||
|
//We save the data only if it is not an integer
|
||||||
|
if (!is_int($name)) {
|
||||||
|
$result[$name] = $data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Saving result
|
||||||
|
$return[] = $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Returning result
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
catch(Exception $e){
|
||||||
|
exit($this->echoException($e));
|
||||||
|
}
|
||||||
|
catch(PDOException $e){
|
||||||
|
exit($this->echoPDOException($e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Count number of entries matching conditions
|
||||||
|
*
|
||||||
|
* @param String $tableName The name of the table
|
||||||
|
* @param String $conditions The conditions
|
||||||
|
* @param Array $datasCond The values of condition
|
||||||
|
* @return Integer The result
|
||||||
|
*/
|
||||||
|
public function count($tableName, $conditions = "", array $datasCond = array()){
|
||||||
|
//We try to perform the task
|
||||||
|
try{
|
||||||
|
//We check if any database is opened
|
||||||
|
if (!$this->checkOpenDB()) {
|
||||||
|
throw new Exception("There isn't any opened DataBase !");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Generating SQL
|
||||||
|
$sql = "SELECT COUNT(*) AS resultNumber FROM ".$tableName." ".$conditions;
|
||||||
|
$selectOBJ = $this->db->prepare($sql);
|
||||||
|
$selectOBJ->execute($datasCond);
|
||||||
|
|
||||||
|
//Preparing return
|
||||||
|
foreach($selectOBJ as $process){
|
||||||
|
$return = $process;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Returning result
|
||||||
|
return $return['resultNumber'];
|
||||||
|
}
|
||||||
|
catch(Exception $e){
|
||||||
|
exit($this->echoException($e));
|
||||||
|
}
|
||||||
|
catch(PDOException $e){
|
||||||
|
exit($this->echoPDOException($e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update a Table
|
||||||
|
*
|
||||||
|
* @param String $tableName The name of the table
|
||||||
|
* @param String $conditions The conditions to limit the edition
|
||||||
|
* @param Array $modifs The modifications
|
||||||
|
* @param Array $whereValues The values of the WHERE condition
|
||||||
|
* @return Boolean Returns true if succeed.
|
||||||
|
*/
|
||||||
|
public function updateDB($tableName, $conditions, array $modifs, array $whereValues){
|
||||||
|
//We try to perform the task
|
||||||
|
try{
|
||||||
|
//We check if any database is opened
|
||||||
|
if (!$this->checkOpenDB()) {
|
||||||
|
throw new Exception("There isn't any opened DataBase !");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Generating SQL for changes
|
||||||
|
$modifValues = array();
|
||||||
|
$sqlChange = "";
|
||||||
|
foreach($modifs as $name=>$value){
|
||||||
|
$sqlChange .= ($sqlChange != "" ? ", " : "").$name." = ?";
|
||||||
|
|
||||||
|
//Saving data
|
||||||
|
$modifValues[] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Adding condition values to the liste of query
|
||||||
|
$datasQuery = array_merge_recursive($modifValues, $whereValues);
|
||||||
|
|
||||||
|
//Generating SQL
|
||||||
|
$sql = "UPDATE ".$tableName." SET ".$sqlChange." WHERE ".$conditions;
|
||||||
|
|
||||||
|
//Executing SQL
|
||||||
|
$edit = $this->db->prepare($sql);
|
||||||
|
|
||||||
|
//Trying to perform action
|
||||||
|
if(!$edit->execute($datasQuery)) {
|
||||||
|
$message = "Unable to perform UPDATE SQL ! <br />";
|
||||||
|
$message .= ($this->verbose ? "\n<i>SQL : ".$sql."</i>" : "");
|
||||||
|
throw new Exception($message);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Returns true if succeed
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(Exception $e){
|
||||||
|
exit($this->echoException($e));
|
||||||
|
}
|
||||||
|
catch(PDOException $e){
|
||||||
|
exit($this->echoPDOException($e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete entrie(s) from a table
|
||||||
|
*
|
||||||
|
* @param String $tableName The name of the table
|
||||||
|
* @param String $conditions The conditions to perform action
|
||||||
|
* @param Array $conditionsValues The values of condition
|
||||||
|
* @return Boolean True if succeed
|
||||||
|
*/
|
||||||
|
public function deleteEntry($tableName, $conditions = false, array $conditionsValues = array()) {
|
||||||
|
//We try to perform the task
|
||||||
|
try{
|
||||||
|
//We check if any database is opened
|
||||||
|
if (!$this->checkOpenDB()) {
|
||||||
|
throw new Exception("There isn't any opened DataBase !");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Generating SQL
|
||||||
|
$sql = "DELETE FROM ".$tableName;
|
||||||
|
$sql .= ($conditions ? " WHERE ".$conditions : "");
|
||||||
|
|
||||||
|
//Preparing request
|
||||||
|
$delete = $this->db->prepare($sql);
|
||||||
|
|
||||||
|
//Trying to perform action
|
||||||
|
if(!$delete->execute($conditionsValues)) {
|
||||||
|
$message = "Unable to perform DELETE SQL ! <br />";
|
||||||
|
$message .= ($this->verbose ? "\n<i>SQL : ".$sql."</i>" : "");
|
||||||
|
throw new Exception($message);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Returns true if succeed
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(Exception $e){
|
||||||
|
exit($this->echoException($e));
|
||||||
|
}
|
||||||
|
catch(PDOException $e){
|
||||||
|
exit($this->echoPDOException($e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Echo an exception
|
||||||
|
*
|
||||||
|
* @param Exception $e The Exception
|
||||||
|
*/
|
||||||
|
private function echoException(Exception $e){
|
||||||
|
$message = '<b>Exception in '.$e->getFile().' on line '.$e->getLine().' </b>: '.$e->getMessage();
|
||||||
|
echo $message;
|
||||||
|
|
||||||
|
//PDO informations
|
||||||
|
if($this->verbose){
|
||||||
|
echo "\n PDO last error:";
|
||||||
|
print_r($this->db->errorInfo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Echo a PDO exception
|
||||||
|
*
|
||||||
|
* @param PDOException $e The PDOException
|
||||||
|
*/
|
||||||
|
private function echoPDOException(PDOException $e){
|
||||||
|
$message = '<b>Exception in '.$e->getFile().' on line '.$e->getLine().' </b>: '.$e->getMessage();
|
||||||
|
echo $message;
|
||||||
|
|
||||||
|
//PDO informations
|
||||||
|
if($this->verbose){
|
||||||
|
echo "\n PDO last error:";
|
||||||
|
print_r($this->db->errorInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
49
classes/config.php
Normal file
49
classes/config.php
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Main configuration object
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
class config{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Array $config Configuration informations
|
||||||
|
*/
|
||||||
|
private $config = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Public constructor
|
||||||
|
*/
|
||||||
|
public function __construct(){
|
||||||
|
//Does nothing now
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a new configuration value
|
||||||
|
*
|
||||||
|
* @param String $name The name of the configuration element
|
||||||
|
* @param Mixed $value The value of the configuration element
|
||||||
|
* @return Boolean True for a success
|
||||||
|
*/
|
||||||
|
public function set($name, $value){
|
||||||
|
//Set the new value
|
||||||
|
$this->config[$name] = $value;
|
||||||
|
|
||||||
|
//Success
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a configuration value
|
||||||
|
*
|
||||||
|
* @param String $name The name of the required value
|
||||||
|
* @return Mixed False if the value doesn't exists otherwise the value is returned
|
||||||
|
*/
|
||||||
|
public function get($name){
|
||||||
|
if(isset($this->config[$name]))
|
||||||
|
return $this->config[$name];
|
||||||
|
else
|
||||||
|
return false; // The value doesn't exists
|
||||||
|
}
|
||||||
|
}
|
38
config/main.php
Normal file
38
config/main.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Main configuration file
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The mode of the website
|
||||||
|
* debug / production
|
||||||
|
*/
|
||||||
|
$config->set("site_mode", "debug");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Storage URL
|
||||||
|
*
|
||||||
|
* The base url of the user_data folder
|
||||||
|
*/
|
||||||
|
$config->set("storage_url", "http://devweb.local/comunic/current/user_data/");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Storage PATH
|
||||||
|
*
|
||||||
|
* The path (on the server) pointing of the user_data folder
|
||||||
|
*/
|
||||||
|
$config->set("storage_path", "/home/pierre/Documents/projets_web/comunic/current/user_data");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Database credentials
|
||||||
|
*
|
||||||
|
* The database must be a MySQL database
|
||||||
|
*/
|
||||||
|
$config->set("mysql", array(
|
||||||
|
"host" => "localhost",
|
||||||
|
"database" => "comunic",
|
||||||
|
"user" => "root",
|
||||||
|
"password" => "root"
|
||||||
|
));
|
21
init.php
21
init.php
@ -20,3 +20,24 @@ foreach(glob(PROJECT_PATH."functions/*.php") as $funcFile){
|
|||||||
|
|
||||||
//Create root object
|
//Create root object
|
||||||
$cs = new CS();
|
$cs = new CS();
|
||||||
|
|
||||||
|
//Create configuration element
|
||||||
|
$config = new config();
|
||||||
|
$cs->register("config", $config);
|
||||||
|
|
||||||
|
//Include configuration
|
||||||
|
foreach(glob(PROJECT_PATH."config/*.php") as $confFile){
|
||||||
|
require $confFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Connexion to the database
|
||||||
|
$db = new DBLibrary(($cs->config->get("site_mode") == "debug"));
|
||||||
|
$cs->register("db", $db);
|
||||||
|
$db->openMYSQL($cs->config->get('mysql')['host'],
|
||||||
|
$cs->config->get('mysql')['user'],
|
||||||
|
$cs->config->get('mysql')['password'],
|
||||||
|
$cs->config->get('mysql')['database']);
|
||||||
|
|
||||||
|
//Delete created elements (security)
|
||||||
|
unset($config);
|
||||||
|
unset($db);
|
Loading…
Reference in New Issue
Block a user