111 lines
5.9 KiB
PHP
Executable File
111 lines
5.9 KiB
PHP
Executable File
<?php
|
|
$nomFicAppelant = basename(__FILE__);
|
|
// -----------------------------------------------------
|
|
// Cartouche
|
|
// -----------------------------------------------------
|
|
// Auteur : eric
|
|
// datemaj : 27/11/2021
|
|
// fonction : Controler que les API sont en prod quand le site est publiable
|
|
// page factorisée pour avoir qu'une seule fois le code
|
|
// erreur= 0 => pas d'erreur
|
|
// erreur= 1 => env de test -> on va forcer env de prod
|
|
// erreur= 2 => manque clés : erreur bloquante
|
|
// les erreurs sont gérées dans l'appellant
|
|
|
|
// -----------------------------------------------------
|
|
// Fichier appelé soit par mise en maintenance (maint.chapeau), soit par publier (exportVerif.php), soit par avancement.messages.modale.php
|
|
// Controle des clés API ou login pour environnement de prod
|
|
|
|
$ctrlMsg='<ul>';
|
|
$resConn='';
|
|
$toutOk=1;
|
|
$resConn='';
|
|
$tabResult=array();
|
|
$erreurSQL=0;
|
|
|
|
|
|
// -----------------------------------------------------
|
|
// Vérifier que les cles API de Prod des moyens de paiement existent : sauf cheque et virement bancaire
|
|
// Ici on refait un test pour savoir si les API de paiement ne sont passées en mode test sur l'environnement de production
|
|
// Si c'est le cas on fera un update pour que les API sopient toujours en prod sur prod.
|
|
// -----------------------------------------------------
|
|
// Vérifier les moyens de paiement : sauf cheque et virement bancaire
|
|
// -----------------------------------------------------
|
|
$reqSelect ="SELECT idModePaie, description, PublicKeyProd, PublicKeyProd, PrivateKeyProd, PrivateKeyProd FROM modepaie WHERE activ=1;";
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (2,['reqSelect' => $reqSelect ], 'ctlAvancement.php');}
|
|
$resConn=$idPdo->query($reqSelect);
|
|
if ($resConn) {
|
|
while ($tabResult = $resConn->fetch(PDO::FETCH_ASSOC)) {
|
|
if ($tabResult['idModePaie']!='2' && $tabResult['idModePaie']!='3') {
|
|
$description=$tabResult['description'];
|
|
if (empty($tabResult['PublicKeyProd']) || $tabResult['PublicKeyProd']=="") {
|
|
$toutOk=0; $admMsgClass='ko';
|
|
$ctrlMsg .= '<li><i class="fad fa-exclamation-triangle" style="color:red;"></i>' .$description. ' n\'a pas de clé Privée pour la production. Veuillez <a style="color:blue; text-decoration:underline" target="_parent" href="./frmAdmin.php?affAdmin=6&optAff=1">renseigner votre clé Privée de production</a>, puis publier les options pour une prise en compte sur le site public.</li>';
|
|
}
|
|
|
|
if (empty($tabResult['PrivateKeyProd']) || $tabResult['PrivateKeyProd']=="") {
|
|
$toutOk=0; $admMsgClass='ko';
|
|
$ctrlMsg .= '<li><i class="fad fa-exclamation-triangle" style="color:red;"></i>' .$description. ' n\'a pas de clé Publique pour la production. Veuillez <a style="color:blue; text-decoration:underline" target="_parent" href="./frmAdmin.php?affAdmin=6&optAff=1">renseigner votre clé Publique de production</a>, puis publier les options pour une prise en compte sur le site public.</li>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1,['tout ok paiement' => $toutOk ], '');}
|
|
|
|
// -----------------------------------------------------
|
|
// Vérifier les modes de livraison
|
|
// -----------------------------------------------------
|
|
$reqSelect ="SELECT * from modeliv WHERE activ=1;";
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (2,['reqSelect' => $reqSelect ], '');}
|
|
$tabResult=array();
|
|
$resConn='';
|
|
$resConn=$idPdo->query($reqSelect);
|
|
if ($resConn) {
|
|
while ($tabResult = $resConn->fetch(PDO::FETCH_ASSOC)) {
|
|
$description=$tabResult['description'];
|
|
// Pas de clé pour drive, emporter, livreur du magasin
|
|
if ($tabResult['idModeLiv']!='5' && $tabResult['idModeLiv']!='6' && $tabResult['idModeLiv']!='7' ) {
|
|
if ($tabResult['idModeLiv']=='8' ) {
|
|
// pour mondial relay : id compte
|
|
if ($tabResult['idCompte']=="") {
|
|
$toutOk=0; $admMsgClass='ko'; $erreurSQL = 0;
|
|
$ctrlMsg .= '<li><i class="fad fa-exclamation-triangle" style="color:red;" ></i>' .$description. ' n\'a pas de clé(s) API. Veuillez <a target="_parent" style="color:blue; text-decoration:underline" href="./frmAdmin.php?affAdmin=6&optAff=2"></a>renseigner le compte, puis publier les options pour une prise en compte sur le site public</li>';
|
|
}
|
|
}
|
|
else {
|
|
// pour tous les autres : idCompte + libelleCompte + pwdCompte
|
|
if ($tabResult['idCompte']=="" || $tabResult['libelleIdCompte']=="" || $tabResult['pwdCompte']=="") {
|
|
$toutOk=0; $admMsgClass='ko'; $erreurSQL = 0;
|
|
$ctrlMsg .= '<li><i class="fad fa-exclamation-triangle" style="color:red;" ></i>' .$description. ' n\'est pas correctement renseigné. Veuillez <a target="_parent" style="color:blue; text-decoration:underline" href="./frmAdmin.php?affAdmin=6&optAff=2"></a>renseigner les identifiants, clés ou mots de passe, puis publier les options pour une prise en compte sur le site public.</li>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$ctrlMsg .= '</ul>';
|
|
|
|
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1,['tout ok livraison' => $toutOk], '');}
|
|
|
|
if ($toutOk==false) {
|
|
// -----------------------------------------------------
|
|
// DB PROD
|
|
// -----------------------------------------------------
|
|
include ($includePathConf. "/prod.dbConnect.php");
|
|
|
|
// -----------------------------------------------------
|
|
// Forcer l'authentifcation en Prod
|
|
// -----------------------------------------------------
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['$_SESSION[auth]' => $_SESSION['auth'] ], '');}
|
|
if ($_SESSION['auth'] == 1) {
|
|
$reqUpdate="UPDATE `authTable` set auth=1;";
|
|
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['reqUpdate ctrlAvancemment' => $reqUpdate], '');}
|
|
$resConn=$idPdoProd->query($reqUpdate);
|
|
$_SESSION['auth'] = 1;
|
|
$isMaintenance=1;
|
|
}
|
|
}
|
|
else {
|
|
$admMsgClass="ok";
|
|
$ctrlMsg = 'Tout est ok ! <i class="fad fa-thumbs-up txtAvance"></i><span class="admMsgOk">Vous pouvez sortir du mode maintenance.</span>';
|
|
}
|
|
?>
|