";
if ($tableName != "" && $action != "" && $recordNode !== FALSE) {
$httpString .= setRecords($database, $tableName, $action, $recordNode);
}
else {
$httpString .= "\n";
$httpString .= "\n";
}
//if ($compress64) {
//$httpString = compress64($httpString);
//}
//echo "$httpString";
echo "$httpString";
/**
*
* @param Database $db
* @param string $tableName
* @param string $action
* @param object $recordNode
*/
function setRecords($db, $tableName, $action, $recordNode) {
if ($tableName == "encours") {
return setRecords_encours($db, $tableName, $action, $recordNode);
}
}
// DEFINITIONS DE FONCTION
/**
*
* @param Database $db
* @param string $tableName
* @param string $action
* @param object $recordNode
*/
function setRecords_encours($db, $tableName, $action, $recordNode) {
$returnCode = "OK";
$returnTexte = "";
/** Informations d'autentification communes */
$dbuser = $db->user;
$dbpassword = $db->password;
$oid = floatval($recordNode["oid"]);
$code = utf8_decode($recordNode["code"]);
$texte = utf8_decode($recordNode["texte"]);
$dateencours = floatval($recordNode["dateencours"]);
$updatedOids = "";
switch ($action) {
case SAVE :
$dateencours = toSQL($dateencours);
// creation ou mise à jour de la liste
if ($oid != -1) {
// Oids Impactés
$sqlcmd = "
SELECT base.cti_group_concat(oid) AS updatedOids
FROM base.t_finess WHERE oid = $oid or $oid = 0";
$result = $db->exec($sqlcmd);
if ($result != false) {
$record = $db->nextRecordAssoc();
if ($record != FALSE) {
$updatedOids = toHTML(trim($record['updatedoids'])) . ",$oid";
}
}
// Mise à jour
$sqlcmd = "
DROP TABLE IF EXISTS w_database;
CREATE TEMP TABLE w_database AS
SELECT
t_finess.oid,
replace(t_finess_database.dbname,'icti_','') AS code,
t_finess.texte,
dbname,
dbhost,
dbport,
'0'::text AS disabled
FROM base.t_finess
JOIN base.t_finess_database ON finess_id = t_finess.oid
JOIN dblink('host=' || dbhost || ' dbname=postgres port=' || dbport || ' user=$dbuser password=$dbpassword',
'SELECT ''1''::text AS ok
FROM pg_database
WHERE datname = ''' || dbname || ''' ')
AS dblink(ok text) ON ok='1'
WHERE oid = $oid OR $oid = 0
ORDER BY 4
;
SELECT
dblink_exec('host=' || dbhost || ' dbname=' || dbname || ' port=' || dbport || ' user=$dbuser password=$dbpassword',
'UPDATE activite.t_divers
SET valeur = ''$dateencours''
WHERE code = ''DATEENCOURS''
')
FROM w_database
JOIN dblink('host=' || dbhost || ' dbname=' || dbname || ' port=' || dbport || ' user=$dbuser password=$dbpassword',
'SELECT ''1''::text AS ok
FROM pg_tables
WHERE schemaname = ''activite'' AND tablename= ''t_divers''')
AS dblink(ok text) ON ok='1'
";
$result = $db->exec($sqlcmd);
if ($db->lastResult) {
}
else {
$updatedOids = "";
$returnCode = "KO";
$returnTexte = "Erreur SQL : $db->lastError";
}
}
break;
case UPDATE :
// nothing to do yet
break;
case COPY :
// nothing to do yet
break;
case DELETE :
// nothing to do yet
break;
case UPLOAD :
// nothing to do yet
break;
default:
// nothing to do yet
break;
}
$httpString = "";
$httpString .= "\n";
return $httpString;
}
/**
*
* @param Database $db
* @param string eco
*/
function erase_cache($db) {
// Effacer cache ancienne version
if ($db->cticache == "true") {
$sqlcmd = "SELECT cti_cache_erase as result from cache.cti_cache_erase('iCTI_eco')";
$result = $db->exec($sqlcmd);
}
// Effacer cache nouvelle version
cleanAllCache("iCTI_eco");
}
?>