alpha_full/admin/publier/export.php
2026-04-06 22:58:51 +02:00

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. &#128077;<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. &#128077;<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. &#128077;<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. &#128077;<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&#233;alable pour ménage ?</span><span> ( sans impact sur le site )</span>';
echo '</div>';
if ($purge==1) {
echo'<div class="champsCli">&#160; Oui<input type="radio" id="purge1" name="purge" value="1" checked ></div>';
echo'<div class="champsCli">&#160; Non<input type="radio" id="purge0" name="purge" value="0" ></div>';
}
else {
echo'<div class="champsCli">&#160; Oui<input type="radio" id="purge1" name="purge" value="1" ></div>';
echo'<div class="champsCli">&#160; 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>&#160; ';
echo 'Tout cocher';
echo '</span>';
echo '<span class="boutonsWebmaster" onClick="deCocheAll(); " >';
echo '<i class="fad fa-check-circle"></i>&#160; ';
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\');">&times;</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\');">&times;</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\');">&times;</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\');">&times;</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>&#160; ';
echo 'Valider les choix coch&#233;s';
echo '</span>';
echo '</div>';
echo '</div>';
echo '</form>';
?>