408 lines
19 KiB
PHP
Executable File
408 lines
19 KiB
PHP
Executable File
<?php
|
|
// -----------------------------------------------------
|
|
// Variables
|
|
// -----------------------------------------------------
|
|
$publierAff=1; // N° de page mmenu
|
|
$catExport=0;
|
|
$contenuExport=0;
|
|
$cssExport=0;
|
|
$optionsExport=0;
|
|
$purge=0;
|
|
global $export_tag;
|
|
$toutOk =1;
|
|
|
|
// -----------------------------------------------------
|
|
// Post
|
|
// -----------------------------------------------------
|
|
include ("export.post.php");
|
|
|
|
// -----------------------------------------------------
|
|
// Debug
|
|
// -----------------------------------------------------
|
|
if (isset($debug[1]) && $debug[1] == '1') {include ("export.debug.php"); }
|
|
|
|
// -----------------------------------------------------
|
|
// Purges a faire en premier
|
|
// -----------------------------------------------------
|
|
if ($purge==1) {
|
|
foreach (glob($includePathVar. '/publications/*.sql') as $filename) {
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['filename size' => filesize($filename) ],'');
|
|
unlink($filename);
|
|
}
|
|
$admMsg .="<br>Supressions effectuées ";
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['dans' => $includePathVar.'/publications/*.sql' ],'');
|
|
}
|
|
|
|
// -----------------------------------------------------
|
|
// on controle que les clés API de prod existent
|
|
// -----------------------------------------------------
|
|
include ("exportVerif.php");
|
|
|
|
// -----------------------------------------------------
|
|
// Si au moins un traitement préparer les connexions
|
|
// -----------------------------------------------------
|
|
if (($catExport==1) || ($contenuExport==1) || ($cssExport==1) || ($optionsExport==1)) {
|
|
// S'il y a au moin un export on include les fonctions
|
|
include ("./publier/scriptsExports/functionField.php");
|
|
include ("./publier/scriptsExports/functionDump.php");
|
|
include ("./publier/scriptsExports/loadFunction.php");
|
|
|
|
ini_set('memory_limit', '-1');
|
|
set_time_limit(0);
|
|
|
|
// -----------------------------------------------------
|
|
// id de connection bdd prod
|
|
// -----------------------------------------------------
|
|
include ("../_conf/prod.dbConnect.php");
|
|
}
|
|
|
|
// -----------------------------------------------------
|
|
// Export Catalogue
|
|
// -----------------------------------------------------
|
|
if ($catExport==1) {
|
|
$export_tag="du catalogue";
|
|
|
|
// Dump db Catalogue
|
|
include ("./publier/scriptsExports/catalogueListeTables.php");
|
|
$res = exportDansFichier($includePathVar. '/publications/catalogue');
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['res' => $res], 'export.php');}
|
|
|
|
// Import en prod du fichier sql
|
|
$res = loadDatas($_SESSION['fichierExport']);
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['res' => $res], '');}
|
|
|
|
// Copie du repertoire Catalogue
|
|
$rep_source = $includePathCatalog;
|
|
flushSpinner ("Copie en cours depuis " .$rep_source);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_source (includePathCatalog)' => $rep_source ],'');
|
|
|
|
$test='';
|
|
$test=strPos($_SESSION['siteDossier'], '.wbadm');
|
|
if ($test!==false) {$rep_cible=str_replace('.wbadm', '.prod', $_SESSION['siteDossier']); }
|
|
else $rep_cible=$_SESSION['siteDossier'];
|
|
|
|
$rep_cible = "/datas/07Prod/wwwRoot/".$rep_cible.str_replace('../', '/', $includePathCatalog);
|
|
flushSpinner ("<br>vers " .$rep_cible);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_cible' => $rep_cible ],'');
|
|
|
|
require_once("./publier/scriptsExports/functionCopy.php");
|
|
$total=0;
|
|
$total = copierDossier($rep_source, $rep_cible);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1,['Nombre de fichiers copiés' => $total, 'Publication' => $export_tag], '');}
|
|
$admMsg .= 'Publication ' . $export_tag . ' sur le site public réalisé avec succès. 👍<br>';
|
|
}
|
|
|
|
// -----------------------------------------------------
|
|
// Export Contenu
|
|
// -----------------------------------------------------
|
|
if ($contenuExport==1) {
|
|
$export_tag="du contenu";
|
|
$tablesListe=array();
|
|
|
|
// Dump de la db langueNav + import en prod
|
|
include ("./publier/scriptsExports/contenuListeTables.php");
|
|
$res = exportDansFichier($includePathVar. '/publications/contenu');
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['res' => $res], '');}
|
|
$res = loadDatas($_SESSION['fichierExport']);
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['res' => $res], '');}
|
|
|
|
// Copie repertoire Design
|
|
//
|
|
$rep_source = $includePathDesign;
|
|
flushSpinner ("Copie en cours depuis " .$rep_source);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_source' => $rep_source ],'');
|
|
|
|
$test='';
|
|
$test=strPos($_SESSION['siteDossier'], '.wbadm');
|
|
if ($test!==false) {$rep_cible=str_replace('.wbadm', '.prod', $_SESSION['siteDossier']); }
|
|
else $rep_cible=$_SESSION['siteDossier'];
|
|
|
|
$rep_cible = "/datas/07Prod/wwwRoot/".$rep_cible.str_replace('../', '/', $includePathDesign);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_cible' => $rep_cible ],'');
|
|
flushSpinner ("<br>vers " .$rep_cible);
|
|
|
|
require_once("./publier/scriptsExports/functionCopy.php");
|
|
$total=0;
|
|
$total = copierDossier($rep_source, $rep_cible);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['Nombre de fichiers copiés' => $total ],'');
|
|
|
|
// -----------------------------------------------------
|
|
// Copie du repertoire Publication
|
|
// -----------------------------------------------------
|
|
$rep_cible='';
|
|
$rep_source = $includePathPublication;
|
|
flushSpinner ("Copie en cours depuis " .$rep_source);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_source' => $rep_source ],'');
|
|
|
|
$test='';
|
|
$test=strPos($_SESSION['siteDossier'], '.wbadm');
|
|
if ($test!==false) {$rep_cible=str_replace('.wbadm', '.prod', $_SESSION['siteDossier']); }
|
|
else $rep_cible=$_SESSION['siteDossier'];
|
|
|
|
$rep_cible = "/datas/07Prod/wwwRoot/".$rep_cible.str_replace('../', '/', $includePathPublication);
|
|
flushSpinner ("<br>vers " .$rep_cible);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_cible' => $rep_cible ],'');
|
|
|
|
require_once("./publier/scriptsExports/functionCopy.php");
|
|
$total=0;
|
|
$total= copierDossier($rep_source, $rep_cible);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1,['Nombre de fichiers copiés' => $total, 'Publication' => $export_tag], '');}
|
|
$admMsg .= 'Publication ' . $export_tag . ' sur le site public réalisé avec succès. 👍<br>';
|
|
}
|
|
|
|
// -----------------------------------------------------
|
|
// Export CSS
|
|
// -----------------------------------------------------
|
|
if ($cssExport==1) {
|
|
$export_tag="de la personnalisation";
|
|
$tablesListe=array();
|
|
|
|
// Dump de la db css + import en prod
|
|
include ("./publier/scriptsExports/cssListeTables.php");
|
|
|
|
$res = exportDansFichier($includePathVar. '/publications/css');
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['res dump' => $res], 'export.php');}
|
|
|
|
$res = loadDatas($_SESSION['fichierExport']);
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['res loadDatas' => $res], '');}
|
|
|
|
// Copie des fichiers CSS
|
|
$rep_source = $includePathCss;
|
|
flushSpinner ("Copie en cours depuis " .$rep_source);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_source' => $rep_source ],'');
|
|
|
|
$test='';
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['$_SESSION[siteDossier]' => $_SESSION['siteDossier'] ],'');
|
|
$test=strPos($_SESSION['siteDossier'], '.wbadm');
|
|
if ($test!==false) {$rep_cible=str_replace('.wbadm', '.prod', $_SESSION['siteDossier']); }
|
|
else $rep_cible=$_SESSION['siteDossier'];
|
|
flushSpinner ("<br>vers " .$rep_cible);
|
|
|
|
$rep_cible = "/datas/07Prod/wwwRoot/".$rep_cible.str_replace('../', '/', $includePathCss);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['rep_cible' => $rep_cible ],'');
|
|
|
|
require_once("./publier/scriptsExports/functionCopy.php");
|
|
$total=0;
|
|
$total = copierDossier($rep_source, $rep_cible);
|
|
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1,['Nombre de fichiers copiés' => $total, 'Publication' => $export_tag], '');}
|
|
$admMsg .= 'Publication ' . $export_tag . ' sur le site public réalisé avec succès. 👍<br>';
|
|
}
|
|
|
|
// -----------------------------------------------------
|
|
// Export Options
|
|
// -----------------------------------------------------
|
|
if ($optionsExport==1) {
|
|
$export_tag="des options";
|
|
$tablesListe=array();
|
|
include ("./publier/scriptsExports/optionsListeTables.php");
|
|
$res = exportDansFichier($includePathVar. '/publications/options');
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['res' => $res], 'export.php');}
|
|
$res = loadDatas($_SESSION['fichierExport']);
|
|
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, ['Publication' => $export_tag], '');}
|
|
|
|
// -----------------------------------------------------
|
|
// Ici on fait un test pour savoir si les API de paiement ne sont passées en mode test sur l'environnement de production
|
|
// En effet si on a activé Test sur wbadm, comme lors de publier option on réplique la table cela passera Test en Prod.
|
|
// Si c'est le cas on fera un update pour que les API soient toujours en prod sur prod.
|
|
include("./avancement/reqCtrlPaiements.php");
|
|
|
|
$admMsg .= 'Publication ' . $export_tag . ' sur le site public réalisé avec succès. 👍<br>';
|
|
}
|
|
|
|
// -----------------------------------------------------
|
|
// Fin traitement
|
|
// -----------------------------------------------------
|
|
if (($catExport==1) || ($contenuExport==1) || ($cssExport==1) || ($optionsExport==1)) {
|
|
// Envoyer un e-amil aux admin
|
|
include ("mailPublier.php");
|
|
}
|
|
|
|
|
|
// -----------------------------------------------------
|
|
// Formulaire
|
|
// -----------------------------------------------------
|
|
echo '<form name="fExport" method="post" style="white-space: break-spaces;" >';
|
|
|
|
// -----------------------------------------------------
|
|
// Champs cachés
|
|
// -----------------------------------------------------
|
|
echo '<input type="hidden" name="codeOpe" id="codeOpe" value="' .$codeOpe. '" >';
|
|
|
|
echo '<div style="display:flex; flex-direction:column; justify-content: space-between; padding:10px; text-align:left; white-space: break-spaces;" >';
|
|
|
|
// -----------------------------------------------------
|
|
// Message
|
|
// -----------------------------------------------------
|
|
echo '<div style="text-align:left; white-space: break-spaces;" >';
|
|
echo '<span class="actionMessages" style="text-align:left; margin-right:30%; white-space: break-spaces;"><u>Sélectionnez les éléments que vous souhaitez publier sur le site public</u> : </span><br><br>';
|
|
echo '</div>';
|
|
|
|
// -----------------------------------------------------
|
|
// Suppression des fichiers existants
|
|
// -----------------------------------------------------
|
|
echo '<div class="flexToColumn" style="margin:1%;"><br>';
|
|
echo '<div style="white-space:break-spaces; " >';
|
|
echo '<span class="informationsTechLib">Supression des anciens fichiers d\'export préalable pour ménage ?</span><span> ( sans impact sur le site )</span>';
|
|
echo '</div>';
|
|
if ($purge==1) {
|
|
echo'<div class="champsCli">  Oui<input type="radio" id="purge1" name="purge" value="1" checked ></div>';
|
|
echo'<div class="champsCli">  Non<input type="radio" id="purge0" name="purge" value="0" ></div>';
|
|
}
|
|
else {
|
|
echo'<div class="champsCli">  Oui<input type="radio" id="purge1" name="purge" value="1" ></div>';
|
|
echo'<div class="champsCli">  Non<input type="radio" id="purge0" name="purge" value="0" checked ></div>';
|
|
}
|
|
echo '</div>';
|
|
|
|
// -----------------------------------------------------
|
|
// Boutons
|
|
// -----------------------------------------------------
|
|
echo '<div class="flexToColumn" style="text-align:left; white-space: break-spaces;" >';
|
|
echo '<span class="boutonsWebmaster" onClick="cocheAll(); " >';
|
|
echo '<i class="fad fa-check-circle"></i>  ';
|
|
echo 'Tout cocher';
|
|
echo '</span>';
|
|
echo '<span class="boutonsWebmaster" onClick="deCocheAll(); " >';
|
|
echo '<i class="fad fa-check-circle"></i>  ';
|
|
echo 'Tout décocher';
|
|
echo '</span>';
|
|
echo '</div>';
|
|
|
|
// -----------------------------------------------------
|
|
// Catalogue
|
|
// -----------------------------------------------------
|
|
echo '<div class="flexToColumn" style="margin:1%; white-space: break-spaces;" >';
|
|
echo '<div style="display:flex;" >';
|
|
echo '<span class="informationsTechLib">Publication du catalogue</span>';
|
|
if ($catExport==1)
|
|
{echo '<input type="checkbox" name="catExport" id="catExport" value="1" checked="true" >'; }
|
|
else {
|
|
if ($erreurSQL != 1) echo '<input type="checkbox" name="catExport" id="catExport" value="1" >';
|
|
else echo '<input type="checkbox" name="catExport" disabled id="catExport" value="1" >';
|
|
}
|
|
echo '</div>';
|
|
|
|
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(\'C\');" onMouseLeave="closePopup(\'C\');"></span>';
|
|
echo '<div id="popupInfoC" class="popup">';
|
|
echo '<div class="popup-content">';
|
|
echo '<span class="popup-close" onClick="closePopup(\'C\');">×</span>';
|
|
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
|
|
echo '<p>Vous allez publier en production :
|
|
<ul>
|
|
<li>✅ Les Catégories</li>
|
|
<li>✅ Les sous-catégories</li>
|
|
<li>✅ Les articles et leurs images</li>
|
|
<li>✅ Les liste de valeurs des articles (poids, couleurs dimensions, tva, caractéristiques personalisées,...</li>
|
|
</ul>
|
|
</p>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
|
|
// -----------------------------------------------------
|
|
// Contenu: languenav
|
|
// -----------------------------------------------------
|
|
echo '<div class="flexToColumn" style="margin:1%; white-space: break-spaces;" >';
|
|
echo '<div style="display:flex;" >';
|
|
echo '<span class="informationsTechLib">Publication des textes</span>';
|
|
if ($contenuExport==1)
|
|
{echo '<input type="checkbox" name="contenuExport" id="contenuExport" value="1" checked="true" >'; }
|
|
else {
|
|
if ($erreurSQL != 1) echo '<input type="checkbox" name="contenuExport" id="contenuExport" value="1" >';
|
|
else echo '<input type="checkbox" disabled name="contenuExport" id="contenuExport" value="1" >';
|
|
}
|
|
echo '</div>';
|
|
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(\'S\');" onMouseLeave="closePopup(\'S\');"></span>';
|
|
echo '<div id="popupInfoS" class="popup">';
|
|
echo '<div class="popup-content">';
|
|
echo '<span class="popup-close" onClick="closePopup(\'S\');">×</span>';
|
|
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
|
|
echo '<p>Vous allez publier en production :
|
|
<ul>
|
|
<li>✅ Tous les textes</li>
|
|
<li>✅ Les images (fonds, titre, bannière, imag des pub, image des mails ...)</li>
|
|
<li>✅ La musique</li>
|
|
<li>✅ Les modèles des e-mails</li>
|
|
<li>✅ Les personalisation des pages : publicité, menu paiement, menu livraison, qui sommes-nous, pied de page, contact </li>
|
|
</ul>
|
|
</p>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
|
|
// -----------------------------------------------------
|
|
// CSS:
|
|
// -----------------------------------------------------
|
|
echo '<div class="flexToColumn" style="margin:1%;" >';
|
|
echo '<div style="display:flex;" >';
|
|
echo '<span class="informationsTechLib">Publication de la personnalisation</span>';
|
|
if ($cssExport==1)
|
|
{echo '<input type="checkbox" name="cssExport" id="cssExport" value="1" checked="true" >'; }
|
|
else {
|
|
if ($erreurSQL != 1) echo '<input type="checkbox" name="cssExport" id="cssExport" value="1" >';
|
|
else echo '<input type="checkbox" disabled name="cssExport" id="cssExport" value="1" >';
|
|
}
|
|
echo '</div>';
|
|
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(\'P\');" onMouseLeave="closePopup(\'P\');"></span>';
|
|
echo '<div id="popupInfoP" class="popup">';
|
|
echo '<div class="popup-content">';
|
|
echo '<span class="popup-close" onClick="closePopup(\'P\');">×</span>';
|
|
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
|
|
echo '<p>Vous allez publier en production :
|
|
<ul>
|
|
<li>✅ Le thème en cours</li>
|
|
<li>✅ L\'agencement général</li>
|
|
<li>✅ Les styles</li>
|
|
<li>✅ Les dimensions génériques</li>
|
|
<li>✅ Les couleurs génériques</li>
|
|
</ul>
|
|
</p>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
|
|
// -----------------------------------------------------
|
|
// Options:
|
|
// -----------------------------------------------------
|
|
echo '<div class="flexToColumn" style="margin:1%;" >';
|
|
echo '<div style="display:flex;" >';
|
|
echo '<span class="informationsTechLib">Publication des options</span>';
|
|
if ($optionsExport==1)
|
|
{echo '<input type="checkbox" name="optionsExport" id="optionsExport" value="1" checked="true" >'; }
|
|
else {
|
|
if ($erreurSQL != 1) echo '<input type="checkbox" name="optionsExport" id="optionsExport" value="1" >';
|
|
else echo '<input type="checkbox" disabled name="optionsExport" id="optionsExport" value="1" >';
|
|
}
|
|
echo '</div>';
|
|
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(\'O\');" onMouseLeave="closePopup(\'O\');"></span>';
|
|
echo '<div id="popupInfoO" class="popup">';
|
|
echo '<div class="popup-content">';
|
|
echo '<span class="popup-close" onClick="closePopup(\'O\');">×</span>';
|
|
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
|
|
echo '<p>Vous allez publier en production :
|
|
<ul>
|
|
<li>✅ Les modes de livraison</li>
|
|
<li>✅ Les moyens de livraison</li>
|
|
<li>✅ la liste des civilités</li>
|
|
<li>✅ La liste des états des commandes</li>
|
|
<li>✅ La liste des pays</li>
|
|
<li>✅ Le référencement</li>
|
|
<li>✅ La liste des status des clients</li>
|
|
</ul>
|
|
</p>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
|
|
// -----------------------------------------------------
|
|
// Bouton submit
|
|
// -----------------------------------------------------
|
|
echo '<div class="flexToColumn"><br>';
|
|
echo '<span class="boutonsWebmaster" onClick="exporter(); " >';
|
|
echo '<i class="fad fa-check-circle"></i>  ';
|
|
echo 'Valider les choix cochés';
|
|
echo '</span>';
|
|
echo '</div>';
|
|
echo '</div>';
|
|
echo '</form>';
|
|
?>
|