alpha_full/admin/styles/frm.css.php
2026-04-06 22:58:51 +02:00

373 lines
18 KiB
PHP
Executable File

<?php
$nomFicAppelant = basename(__FILE__);
// -----------------------------------------------------
// Etre admin
// -----------------------------------------------------
if (isset($_SESSION['isAdmin']) && $_SESSION['isAdmin']=='O' ) {
// -----------------------------------------------------
// Init
// Vocabulaire pas trop évident :
// Dans PHP Theme themeAgencement --> volet --> style
// Dans Mysql cssthemes => tableNomTheme --> Theme --> style
// -----------------------------------------------------
include ("./styles/css.initVar.php");
$cssMaxHeight ='';
$affAdmin=3;
$_SESSION['isAgencement'] = false;
include ($includePathAdmin. "/req/reqListeDesVolets.php");
// -----------------------------------------------------
// Post
// -----------------------------------------------------
include ("./styles/css.post_gene.php");
include ("./styles/css.post_details.php");
// -----------------------------------------------------
// Requete update style
// -----------------------------------------------------
$resUpdate='';
if ($codeOpe=="faireMajCss") {
if ($nomCss!="") { include ("./styles/req/css.reqUpdateStyles.php"); }
else {if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .= monDebug (1,['Nom Css vide dans frm.css', ''],''); }
}
if ($resUpdate!='') {
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['Mise à jour des styles' => $resUpdate], '');}
// -----------------------------------------------------
// Requete update image
// -----------------------------------------------------
if ($codeOpe=="uploadImageDeFond") {
$target_dir = "../Design/_fonds/";
$targetExtension =['jpeg', 'jpg', 'png', 'svg', 'bmp'];
$targetSize ='5242880'; //5 Mo
$largeurMax = 0;
$hauteurMax = 0;
$largeurMin = 0;
$hauteurMin = 0;
$uploadOk =0;
include ($includePathAdmin. "/_fonctions/uploadGenerique.php");
// $theImageFonds=$theImage;
if ($uploadOk==1) include ("./styles/req/css.reqUpdateImageFonds.php");
}
}
// -----------------------------------------------------
// Requete delete image
// -----------------------------------------------------
if ($codeOpe=="deleteImage") { include ("./styles/req/requeteDeleteImgDeFonds.php"); }
// -----------------------------------------------------
// Requete liste des modeles
// -----------------------------------------------------
include ($includePathAdmin. "/req/themesCss.reqSelect.Liste.php");
// -----------------------------------------------------
// Recup des valeurs dimensions en fonction de id dimension posté
// pour la liste complete
// -----------------------------------------------------
include ("./styles/dimensions/dimensionsListeReqSelect.php");
if ($widthSelectedIndex!='') {$widthUnite=$dimensionsLargUnite[$widthSelectedIndex];}
if ($heightSelectedIndex!='') {$heightUnite=$dimensionsHautUnite[$heightSelectedIndex];}
// -----------------------------------------------------
// Selection du volet en fonction du nom du style
// -----------------------------------------------------
if (!isset($theVoletCss)) { include ("./styles/req/css.voletFromNomcss.php"); }
// -----------------------------------------------------
// Select liste des styles du theme
// -----------------------------------------------------
include ("./styles/req/css.listeStylesFromVolet.php");
// -----------------------------------------------------
// Trouver le themeDesign selon le volet actif
// -----------------------------------------------------
include ("./styles/couleursGene/coulGeneThemes.php");
// -----------------------------------------------------
// Recup numcs
// -----------------------------------------------------
if ($nomCss!='' && $theNumCss =='') {
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .= monDebug (1,['nomCss', $nomCss],'');
// CHANGEMENT NUMERO DEPART A ZERO LE 31.03.2025
for($m=0; $m<=count($cssNom); $m++) {
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['cssNom[m]' => $cssNom[$m]], '');}
if ($nomCss==$cssNom[$m] || '#' .$nomCss==$cssNom[$m]) {
$theNumCss=$m;
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['correspondance nomCss trouvée' => $theNumCss], '');}
}
}
}
// -----------------------------------------------------
// Debug
// -----------------------------------------------------
if (isset($debug[7]) && $debug[7] == '1' ) {include ("./styles/styles.debug.php");}
if (isset($debug[1]) && $debug[1] == '1' ) {include ("./styles/css.debug.php");}
// -----------------------------------------------------
// Recup enregistrement courant from la table CSS = nomThemeCss
// -----------------------------------------------------
if (isset($cssNom[$theNumCss])) {
include ("./styles/req/css.selectStyleFromNum.php");
}
else {
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['$cssNom[' => $theNumCss, ']=' => '', 'indéfini' => '', ';' => ''], '');}
}
// -----------------------------------------------------
// Form
// -----------------------------------------------------
echo '<form name="menuSiteForm" id="menuSiteForm" method="POST" enctype="multipart/form-data" >';
echo '<div id="zonePageWbm">';
// -----------------------------------------------------
// Titre de page
// -----------------------------------------------------
echo '<div id="zoneTitreWbm" > ';
echo '<input type="hidden" action="upCompass.php" name="affCss" id="affCss" value="' .$affCss. '" >';
echo '<span id="resize" class="jsResize fad fa-arrow-circle-left" onClick="jsResize();"></span>&#160;';
echo '<span class="titreWbm" >';
echo '<img border="0" onClick="affDebug();" valign="top" align="center" src="' .$includeAdminDesign. '/design.png" alt="CSS" title="CSS" />&#160;';
if ($affCss==2)
echo '<span>Gestion du moteur de styles : Compass CSS</span>';
else
echo '<span><a target="_top" href="./frmAdmin.php?affAdmin=3&affCss='.$affCss.'">Gestion des styles </a></span>';
echo '</span>';
include($includePathAdmin. "/zoneMonCompte.php");
echo '<br>';
echo '</div>'; //zoneTitreWbm
// -----------------------------------------------------
// Menu styles
// -----------------------------------------------------
echo '<div id="zoneMenuWbmContainer" style="top: 59px;">';
echo '<div id="zoneMenuWbm" >';
// -----------------------------------------------------
// Bouton Couleur generiques
// -----------------------------------------------------
echo '<span class="boutonsMenusWbm" >';
echo '<i id="btnCoulGene" class="fad fa-palette"></i>';
echo '<span onClick="window.self.location=\'./frmModale.php?affAdmin=3&affModale=3-1&affCss='.$affCss.'\';">&#160;Couleurs par espaces</span>&#160;';
echo '</span>';
// -----------------------------------------------------
// Bouton Dimensions generiques
// -----------------------------------------------------
echo '<span class="boutonsMenusWbm" >';
echo '&#160;<i id="btnDimGene" class="fad fa-sign" ></i>';
echo '<span onClick="window.self.location=\'./frmModale.php?affModale=3-2&affCss='.$affCss.'\';">&#160;Dimensions génériques</span>&#160;';
echo '</span>';
// -----------------------------------------------------
// Bouton compass
// -----------------------------------------------------
// flag edt
// ne pas mettre de bouton si ok avec automatisation
$moteurSCSS=0;
if($moteurSCSS==1) {
echo '<span class="boutonsMenusWbm boutonEnregistrer" >';
echo '&#160;<i id="btnPub" class="boutonEnregistrer fad fa-play-circle"></i>';
echo '<span title="Lancer compas" ><a href="./frmAdmin.php?affAdmin=3&nomThemeCss=' .$nomThemeCss. '" target="_parent">&#160;Moteur CSS</span></a>&#160;';
echo '</span>';
}
echo '</div>'; //zoneMenuWbm
echo '</div>'; //zoneMenuWbm
// -----------------------------------------------------
// Zone recherche ou aide ou sous-menus
// -----------------------------------------------------
echo '<div id="zoneRechercheWbm" style="top: 17px; min-height: 110px; overflow: visible;">';
// -----------------------------------------------------
// Icône d'information
// -----------------------------------------------------
echo '<span style="margin:3px;">';
// Icône d'information
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(\'Css\')" onClick="openPopup(\'Css\')" onMouseLeave="closePopup(\'Css\');"></span>';
echo '<div id="popupInfoCss" class="popup">';
echo '<div class="popup-content">';
echo '<span class="popup-close" onclick="closePopup(\'Css\');">&times;</span>';
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
echo '<p>
🔧 <strong>Utilisation avancée des styles :</strong> Pour le modèle d\'agencement en cours ( collection ), choisissez un espace de styles, puis un objet de la page et modifiez le style associé.
<br><br>
🎨 Vous pouvez alors modifier l\'affichage, la couleur, le fond, l\'espacement, la police...
<br> Pour <strong>annuler</strong> une saisie, <strong><span style="color:red">vous pouvez entrer «-» ( le tiret du 6 )</strong></span>, la saisie ne sera pas prise en compte ( différent de zero ).
<br><br>
👁 La zone <strong>Prévisualiser</strong> vous permet de voir immédiatement le résultat. Si vous êtes satisfait de la prévisualisation, vous pouvez <strong>enregistrer</strong> afin de visualiser le site de Test.
<br><br>
🌐 Ensuite, vous pouvez <strong>publier</strong> sur le site public.
<br><br>
📱 Le mode <strong>responsive</strong> est pris en compte automatiquement, aucune action n\'est nécessaire.
</p>';
echo '</div>';
echo '</div>';
//echo '</span>';
echo '</span>';
if ($affCss!=2) {
// -----------------------------------------------------
// Themes CSS ( ce n'est pas themes agencement )
// -----------------------------------------------------
echo '<div style="display:flex; flex-wrap:wrap; justify-content:space-between; " >';
echo '<span class="actionMessages" style="margin:7px;">Collection : &#160;';
echo '<select name="nomThemeCss" class="selectWbm" onChange="menuSiteForm.submit();" >';
for($i=0;$i<count($themeTabId);$i++) {
if ($themeTabNom[$i]==$nomThemeCss) {
if ($themeTabNom[$i]=="css_default") {echo '<option value="' .$themeTabNom[$i]. '" style="color:blue;font-weight:bold;" selected>' .$themeTabDescription[$i]. '</option>';}
else echo '<option value="' .$themeTabNom[$i]. '" style="color:grey;font-weight:bold;" selected>' .$themeTabDescription[$i]. '</option>';
}
else {
if ($themeTabNom[$i]=="css_default") {echo '<option value="' .$themeTabNom[$i]. '" style="color:blue;font-weight:bold;" >' .$themeTabDescription[$i]. '</option>';}
else echo '<option value="' .$themeTabNom[$i]. '" style="color:grey;font-weight:bold;" >' .$themeTabDescription[$i]. '</option>';
}
}
echo '</select>';
echo '</span>';
// -----------------------------------------------------
// Listes deroulantes des styles = volet
// ---------------------------------------------------- -
echo '<div class="actionMessages" style="margin:7px;">Espaces des styles :&#160;';
$theVoletCss=str_replace("\\", "", $theVoletCss); // si structure d\'entete on enleve le \
echo '<select id="theVoletCss" class="selectWbm" name="theVoletCss" onChange="menuSiteForm.submit();" >';
if ($theVoletCss=='') {echo '<option value="Choisir un thème de page"></option>';}
for ($i=0; $i<count($cssVolet); $i++) {
// on peut arriver ici par d'autres pages avec un get, mais dans ce cas pas d'accents ni apostrophe, alors on fait un strstr pour comparrer qu'une partie de la chaine
if (strstr($cssVolet[$i], $theVoletCss)) {
echo '<option class="selectWbm" value="' .$cssVolet[$i]. '" selected >' .$cssVolet[$i]. '</option>';
// on reprends le $theVoletCss complet faudrait voir pour refaire la requete des sous styles....
$_SESSION['theVoletCss']=$cssVolet[$i];
}
else
{echo '<option class="selectWbm" value="' .$cssVolet[$i]. '" >' .$cssVolet[$i]. '</option>';}
}
echo '</select>';
echo '</div>';
// -----------------------------------------------------
// Description des styles dans le volet
// -----------------------------------------------------
echo '<span class="actionMessages" >Objets dans chaque page : &#160;';
if ($theVoletCss!="-------------") {
echo '<select id="theNumCss" class="selectWbm" name="theNumCss" onChange="menuSiteForm.submit();" >';
for ($i=0; $i<count($cssDescription); $i++) {
if ($i==$theNumCss) {
echo '<option value="' .$i. '" selected>' .$i. ' - ' .$cssDescription[$i]. '</option>';
}
else
{echo '<option value="' .$i. '" >' .$i. ' - ' .$cssDescription[$i]. '</option>';}
}
echo '</select>';
}
else {
echo '<select id="theNumCss" name="theNumCss" width="200px" style="width:200px;" >';
echo '<option selected>Pas de style pour ce choix !</option>';
echo '</select>';
}
echo '</span>';
echo '</div>';
// echo '</div>';
}
if ($codeOpe=='genereCss') {
// flag edt
// ne pas mettre de bouton si ok avec automatisation
include ("./styles/genererStyles.php");
include ("./styles/responsiv/00-chapeauResponsive.php");
if ($retour !='') {
$admMsg .= " Après vérifications ( appuyez sur ctrl et r à la fois [ctrl-r], pour forcer la prise en compte ), veuillez publier pour impacter le site en production ( site public )";
// affichage du message quand on a lancé le responsive, ne fonctionnant pas avec msgUser
}
if ($debugResponsive==1) {
echo '<div >';
echo $debugRespMsg;
echo '</div>';
}
}
if ($affCss!=2) {
if ($nomCss!='') {
// -----------------------------------------------------
// Nom du style
// -----------------------------------------------------
echo '<span style="display:flex; justify-content:center;padding:4px;" >';
echo '<i class="fad fa-tags"></i>';
echo '<span class="informationsTechLib"><b>Nom du style :</b>&#160;</span>';
echo '<span style="color:red; font-weigh:bold;">' .$nomCss. '</span>&#160;';
echo '</span>';
// -----------------------------------------------------
// Theme de couleur
// -----------------------------------------------------
echo '<span style="display:flex; justify-content:center;padding:4px;" >';
echo '<i class="fad fa-palette"></i>';
echo '<span class="informationsTechLib">&#160;<b>Thème de couleur actuel :</b>&#160;</span>';
echo '<span class="">' .$themeDesign. '</span>&#160;';
echo '</span>';
// -----------------------------------------------------
// Commentaires
// -----------------------------------------------------
if (isset($cssComment[$theNumCss])) {
echo '<span style="display:flex; justify-content:center; padding:4px; align-items: center; width:97%; flex:1" >';
echo '<i class="fad fa-comments" ></i>';
echo '<span class="informationsTechLib">&#160;<b>Commentaire</b> (modifiable) : </span>';
echo '<textarea class="inputWebmaster" rows="1" style="border:1px solid lightgrey; overflow: auto; display:block; width:97%" id="commentCss" name="commentCss" onChange="editMonForm(\'Comment\',0);">'.$cssComment[$theNumCss].'</textarea>';
echo '</span>';
}
}
}
// -----------------------------------------------------
// Nom du style input en caché
// -----------------------------------------------------
if (isset($cssNom[$theNumCss])) {$nommCssICI=$cssNom[$theNumCss];} else $nommCssICI='';
echo '<input type="hidden" id="nomCss" name="nomCss" value="' .$nommCssICI. '" >';
// echo '<input type="hidden" id="designGloablMaj" name="designGloablMaj" value="' .$designGloablMaj. '" />';
echo '<input type="hidden" id="themeBgColor" name="themeBgColor" value="' .$themeBgColor. '" />';
echo '<input type="hidden" id="themeFontColor" name="themeFontColor" value="' .$themeFontColor. '" />';
echo '<input type="hidden" id="globalBgColor" name="globalBgColor" value="' .$globalBgColor. '" />';
echo '<input type="hidden" id="globalFontColor" name="globalFontColor" value="' .$globalFontColor. '" />';
echo '<input type="hidden" id="codeOpe" name="codeOpe" value="' .$codeOpe. '" />';
echo '</div>'; //zoneRechercheWbm
// -----------------------------------------------------
// Page css
// -----------------------------------------------------
if ($_SESSION['isAgencement'] === true) echo '<div id="zoneFormWbm" style="min-height:700px">';
else echo '<div id="zoneFormWbm" style="min-height:200px">';
if ($affCss==2)
include ("./styles/upCompass.php");
else
include ("./styles/css.php");
echo '</div>'; //zoneFormWeb
// -----------------------------------------------------
// Afficher messages webmaster
// -----------------------------------------------------
if (!empty($admMsg) || !empty($debugMsg) ) {
echo '<div id="zoneMsgWbm">';
include ($includePathAdmin. "/adminMsg.php");
echo '</div>'; //zoneMsg
}
echo '</div>'; //zonePageWbm
echo '</form>';
echo '<script type="text/javascript">initAffCss();</script>';
include ("./styles/fin_session_css.php");
}
else {
$confPath="../_conf";
include ("../adminInclude/redirectionAdmin.php");
}
?>