args["-noactualizeprod"]) { logInfoMsg("CONTRÔLE RÉPLICATION BASE DE DONNÉES PRODUCTION $RHPROVIDER_check"); $prodhm_exe = realpath("../../../prodsgbd/iCTI_synchronize_prodsgbd_check.exe"); $extractCmd = "$prodhm_exe -p $RHPROVIDER_check -m rh"; $return = exec($extractCmd, $output_array); foreach ($output_array as $output_line) { if (trim($output_line) != "") { echo "\r\n$output_line"; } } // Sur QUADRARH, verifier egalement exercice précédent if ($RHPROVIDER_check == "QUADRARH") { $RHPROVIDER_checkP = $RHPROVIDER_check . 'P'; logInfoMsg("Exercice précédent"); $prodhm_exe = realpath("../../../prodsgbd/iCTI_synchronize_prodsgbd_check.exe"); $extractCmd = "$prodhm_exe -p $RHPROVIDER_checkP -m rh"; unset($output_array); $return = exec($extractCmd, $output_array); foreach ($output_array as $output_line) { if (trim($output_line) != "") { echo "\r\n$output_line"; } } } logInfoMsg("FIN CONTRÔLE RÉPLICATION BASE DE DONNÉES PRODUCTION $RHPROVIDER_check"); } else { logInfoMsg("RÉPLICATION BASE DE DONNÉES PRODUCTION $RHPROVIDER_check"); $prodhm_exe = realpath("../../../prodsgbd/iCTI_synchronize_prodsgbd_put.exe"); $extractCmd = "$prodhm_exe -p $RHPROVIDER_check -m rh"; $return = exec($extractCmd, $output_array); foreach ($output_array as $output_line) { if (trim($output_line) != "") { echo "\r\n$output_line"; } } // Sur QUADRARH, récupérer egalement exercice précédent if ($RHPROVIDER_check == "QUADRARH") { $RHPROVIDER_checkP = $RHPROVIDER_check . 'P'; logInfoMsg("Exercice précédent"); $prodhm_exe = realpath("../../../prodsgbd/iCTI_synchronize_prodsgbd_put.exe"); $extractCmd = "$prodhm_exe -p $RHPROVIDER_checkP -m rh"; unset($output_array); $return = exec($extractCmd, $output_array); foreach ($output_array as $output_line) { if (trim($output_line) != "") { echo "\r\n$output_line"; } } } logInfoMsg("FIN RÉPLICATION BASE DE DONNÉES PRODUCTION $RHPROVIDER_check"); } } // récupération historique function extraction_environnement($RHPROVIDER, $RHPROVIDER_PREFIX, $RHPROVIDER_OID) { global $iCTI_connexion; global $ENV_TYPEETS; global $cti_args; logInfoMsg("RÉCUPERATION DE LA PRODUCTION $RHPROVIDER"); // Paramètres shs $file = "../../../settings/databases/$RHPROVIDER.XML"; $xml = simplexml_load_string(file_get_contents($file)); $DB_pmsischema = trim($xml['pmsilib']); $DB_activiteschema = trim($xml['admlib']); $DB_rhschema = trim($xml['rhlib']); $ETAB = trim($xml['idEtab_rh']); // Chargement requetes SQL $environmentVars=array(); $environmentVars["PMSISCHEMA"] = $DB_pmsischema; $environmentVars["ACTIVITESCHEMA"] = $DB_activiteschema; $environmentVars["RHSCHEMA"] = $DB_rhschema; $environmentVars["ETAB"] = $ETAB; $environmentVars["ENV_TYPEETS"] = $ENV_TYPEETS; if (strtolower($RHPROVIDER) === 'icti_rh') { $dbSettings = new EnvironmentDatabaseSettings(); try { $dbSettings->readSettings($file); $environmentVars["DBHOST"] = $dbSettings->getHost(); $environmentVars["DBPORT"] = $dbSettings->getPort(); $environmentVars["DBNAME"] = $dbSettings->getName(); $environmentVars["DBUSER"] = $dbSettings->getUsername(); $environmentVars["DBPASSWORD"] = $dbSettings->getPassword(); } catch (Exception $e) { logErrorMsg($e->getMessage()); logEndMsg(); exit(); } } $sqlOptions=array(); //$cti_sqlStatements_share = new CTI_SqlStatements_class("iCTI_import_rh_SHARE.XML",$iCTI_connexion,$environmentVars,$sqlOptions); $cti_sqlStatements_provider = new CTI_SqlStatements_class("iCTI_import_rh_$RHPROVIDER.XML",$iCTI_connexion,$environmentVars,$sqlOptions); $cti_sqlStatements_provider->executeStatementsNode("PARAM"); $cti_sqlStatements_provider->executeStatementsNode("PAIE"); $cti_sqlStatements_provider->executeStatementsNode("POST"); $cti_sqlStatements_provider->executeStatementsNode("VACUUM"); logInfoMsg("FIN RÉCUPERATION DE LA PRODUCTION $RHPROVIDER"); } function iCTI_connect() { global $iCTI_connexion; global $ENV_TYPEETS; global $RHPROVIDER; global $RHPROVIDER2; global $RHPROVIDER_PREFIX; global $RHPROVIDER2_PREFIX; $iCTI_connexion = FALSE; $file = "../../../settings/settings.XML"; $settings_xml = simplexml_load_string(file_get_contents($file)); $wRHPROVIDER = ""; $RHPROVIDER_PREFIX = ""; $wRHPROVIDER_PREFIX = ""; $wRHPROVIDER2 = ""; $RHPROVIDER2_PREFIX = ""; $wRHPROVIDER2_PREFIX = ""; foreach ($settings_xml->ENVIRONMENT as $environmentNode) { foreach ($environmentNode->PROPERTY as $propertyNode) { if (strtoupper($propertyNode['name']) === 'TYPEETS') { $ENV_TYPEETS = trim($propertyNode['value']); } if (strtoupper($propertyNode['name']) === 'RHPROVIDER') { $wRHPROVIDER = trim($propertyNode['value']); } if (strtoupper($propertyNode['name']) === 'RHPROVIDER2') { $wRHPROVIDER2 = trim($propertyNode['value']); } if (strtoupper($propertyNode['name']) === 'RHPROVIDER_PREFIX') { $wRHPROVIDER_PREFIX = str_replace('_', '', trim($propertyNode['value'])); } if (strtoupper($propertyNode['name']) === 'RHPROVIDER2_PREFIX') { $wRHPROVIDER2_PREFIX = str_replace('_', '',trim($propertyNode['value'])); } } } switch (strtolower($wRHPROVIDER)) { case 'shs' : case 'sagex3' : case 'sage100rh' : case 'sagei7rh' : case 'adonix' : case 'quadrarh' : case 'qsp' : case 'sigems' : case 'cegi' : case 'icti_rh' : $RHPROVIDER = strtoupper($wRHPROVIDER); break; default: $RHPROVIDER = ''; } if ($wRHPROVIDER2 !== '') { switch (strtolower($wRHPROVIDER2)) { case 'shs' : case 'sagex3' : case 'sage100rh' : case 'sagei7rh' : case 'adonix' : case 'quadrarh' : case 'qsp' : case 'sigems' : case 'cegi' : $RHPROVIDER2 = strtoupper($wRHPROVIDER2); break; default: $RHPROVIDER2 = ''; } } if ($RHPROVIDER === '') { logErrorMsg("Prestataire $wRHPROVIDER non traité actuellement"); return false; } if ($RHPROVIDER2 === '') { $RHPROVIDER_PREFIX = ''; $RHPROVIDER2_PREFIX = ''; } else { $RHPROVIDER_PREFIX = $wRHPROVIDER_PREFIX; $RHPROVIDER2_PREFIX = $wRHPROVIDER2_PREFIX; if ($RHPROVIDER_PREFIX === '') { $RHPROVIDER_PREFIX = substr($RHPROVIDER,0,2); } $RHPROVIDER_PREFIX = '_' . $RHPROVIDER_PREFIX; if ($RHPROVIDER2_PREFIX === '') { $RHPROVIDER2_PREFIX = substr($RHPROVIDER2,0,2); } $RHPROVIDER2_PREFIX = '_' . $RHPROVIDER2_PREFIX; } // Chargement des paramètres et connexion BD $iCTI_connexion = Database2Factory::getInstance(Environnement::PROVIDER_CTI); $ret = $iCTI_connexion->connect(); if (!$ret) { logErrorMsg("La connexion PostgreSQL iCTI a échoué"); return false; } return true; } function iCTI_disconnect() { global $iCTI_connexion; $iCTI_connexion->close(); }