1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
| <?php
require('config.cfg');
include('DatabaseFunctions.php');
include('tools.php');
include('specific.php');
// Recuperation du table en donnée brute dans le corps de la requête (
$jsonData = file_get_contents('php://input');
// Json to array
$data = json_decode($jsonData, true);
// Verifie si pas vide
if ($data !== null)
{
// Get data
$env = $data['env'];
$table = $data['tablename'];
$treatment = $data['traitement'];
// Define database connection info per envirronement
$databases = array();
$databases['PROD'] = array();
$databases['PROD']['dbtype'] = PROD_DATABASE_DBTYPE;
$databases['PROD']['host'] = PROD_DATABASE_HOST;
$databases['PROD']['login'] = PROD_DATABASE_LOGIN;
$databases['PROD']['password'] = PROD_DATABASE_PASSWORD;
$databases['PROD']['schema'] = PROD_DATABASE_SCHEMA;
$databases['PROD']['sid'] = PROD_DATABASE_SID;
$databases['TEST']['dbtype'] = TEST_DATABASE_DBTYPE;
$databases['TEST']['host'] = TEST_DATABASE_HOST;
$databases['TEST']['login'] = TEST_DATABASE_LOGIN;
$databases['TEST']['password'] = TEST_DATABASE_PASSWORD;
$databases['TEST']['schema'] = TEST_DATABASE_SCHEMA;
$databases['TEST']['sid'] = TEST_DATABASE_SID;
// Connection to the middleware database
$mdwcon = mdw_connexion(MIDDLEWARE_DATABASE_LOGIN, MIDDLEWARE_DATABASE_PASSWORD, MIDDLEWARE_DATABASE_SCHEMA, MIDDLEWARE_DATABASE_HOST);
if($treatment == "CMD")
{
switch($table)
{
case "status":
$hostname = $data['host'];
$alive = $data['alive'];
$ret = true;
// error_log("STATUS RECEIVED from ".$hostname." at ".$alive);
setAlive($mdwcon, $env);
break;
case "reset":
$hostname = $data['host'];
$alive = $data['alive'];
$ret = true;
// error_log("Reset command RECEIVED from ".$hostname." at ".$alive);
resetCounters($mdwcon, $env);
break;
default: break;
}
}
if($treatment == "TBL")
{
$dbcon = connectDatabase($databases[$env]['dbtype'], $databases[$env]['login'], $databases[$env]['password'], $databases[$env]['schema'], $databases[$env]['host'], $databases[$env]['sid']);
$testmode = $data['testmode'];
$receivedData = 0;
$appliedData = 0;
switch($table)
{
case "tblbascule_cuvevide":
incrementCounterReceived($mdwcon, $env);
$receivedData = 1;
$ret = true;
$query = "insert into ".$table." values(";
$query .= $data['lien'].", ";
$query .= "'".$data['date']."', '".$data['cuve']."', ".$data['justificatif'].", ";
$query .= $data['glal1'].", ".$data['glrt1'].", ".$data['gldta'].", ".$data['glhea'].", ".$data['gldtr'].", ".$data['glher'].")";
if( $testmode == "N" )
$ret = executeUpdate($query, $dbcon, $databases[$env]['dbtype']);
else
wh_log($treatment, $table, "testmode: ".$query);
if( $ret === TRUE )
{
$appliedData = 1;
incrementCounterApplied($mdwcon, $env);
}
else
{
wh_log($treatment, $table, "Failed to insert to target table");
wh_log($treatment, $table,"query was ".$query);
$msg = "La requête suivante n'a pas pus être exécutée : \n\n".$query;
alerteMail(QUERY_EMAIL,$msg);
}
logTransfert($mdwcon, $env, $table, $receivedData, $appliedData);
do_specific($dbcon, $ret);
break;
default: break;
}
disconnectDatabase($databases[$env]['dbtype'],$dbcon);
}
$mdwcon->close();
}
else
{
error_log("Invalid json");
}
?> |
Partager