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

400 lines
22 KiB
PHP
Executable File

<?php
$nomFicAppelant = basename(__FILE__);
// -----------------------------------------------------
// besoin de ce style car on utilise la fonction generique dans le preview qui utilise les classes du front
// -----------------------------------------------------
echo '<link rel="stylesheet" type="text/css" media="only screen" href="' .$includePathCss. '/globalStyle_' .$nomThemeCss. '.css" >';
// -----------------------------------------------------
require_once ($includePath. "/_fonctions/fonctionItemAvecImage.php");
include ($includePathAdmin. "/ressources/liste_liens_prod.php"); // a terme faire select distinct from bdd
// -----------------------------------------------------
// Champs cachés
// le refresh pour contenu doit etre oui si update ( defini donc dans update), pour les autres pages on l'aura par GET, ici on l'aura aussi par POST
// -----------------------------------------------------
echo '<input type="hidden" name="refresh" value="Oui">';
// -----------------------------------------------------
// Champs cachés : pour retrouver l'item apres modif
// -----------------------------------------------------
if(isset($numTxt) && $numTxt!='') $sectionAff='section'.$numTxt;
if(isset($debug[1]) && $debug[1]==1) echo 'sectionAff = <input type="text" id="sectionAff" name="sectionAff" value="' .$sectionAff. '" >';
else echo '<input type="hidden" id="sectionAff" name="sectionAff" value="' .$sectionAff. '" >';
echo '<input type="hidden" name="theValue" id="theValue" value="' .$theValue. '" >';
echo '<input type="hidden" name="thePop" id="thePop" value="' .$thePop. '" >';
echo '<input type="hidden" name="theLien" id="theLien" value="' .$theLien. '" >';
echo '<input type="hidden" name="theAlt" id="theAlt" value="' .$theAlt. '" >';
echo '<input type="hidden" name="theAff" id="theAff" value="' .$theAff. '" >';
echo '<input type="hidden" name="theDesc" id="theDesc" value="' .$theDesc. '" >';
echo '<input type="hidden" name="theClasse" id="theClasse" value="' .$theClasse. '" >';
echo '<input type="hidden" name="theStyle" id="theStyle" value="' .$theStyle. '" >';
echo '<input type="hidden" name="theImage" id="theImage" value="' .$theImage. '" >';
echo '<input type="hidden" name="theOldImage" id="theOldImage" value="' .$theOldImage. '" >';
echo '<input type="hidden" name="theLG" id="theLG" value="' .$theLG. '" >';
echo '<input type="hidden" name="theVoletCss" id="theVoletCss" value="' .$theVoletCss. '" >';
// -----------------------------------------------------
// Requetes de comptage
// -----------------------------------------------------
if ($textesAffSection!=9 && $textesAffSection!=10) {$reqSelect="SELECT count(id) as NBLG FROM `languenav` WHERE variable like '" .$destination. "';"; }
// mails : on cherche avec like % et order sur desc
if ($textesAffSection==9 ) {$reqSelect="SELECT count(id) as NBLG FROM `languenav` WHERE variable like '%" .$destination. "%';"; }
// boutons on cherche sur descriptiion
if ($textesAffSection==10 ) {$reqSelect="SELECT count(id) as NBLG FROM `languenav` WHERE LOWER(description) like '%" .$destination. "%';"; }
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (1,['reqSelect' => $reqSelect],'contenu.php'); }
$resConn=$idPdo->query($reqSelect) ;
$resultLg=$resConn->fetch(PDO::FETCH_ASSOC);
$nb=$resultLg['NBLG'];
// -----------------------------------------------------
// Préparation de la requete select
// -----------------------------------------------------
$resID=$destination. 'ID';
$resDesc=$destination. 'Desc';
$resAfficher=$destination. 'Afficher';
$resMsg=$destination. 'Msg';
$resTitre=$destination. 'Title';
$resAlt=$destination. 'Alt';
$resLien=$destination. 'Lien';
$resImgPt=$destination. 'ImgPt';
$resClasse=$destination. 'Classe';
$resStyle=$destination. 'Style';
// Debug
if (isset($debug[10]) && $debug[10] == '1') {
$debugMsg .= monDebug (1,[
'resDesc' => $resDesc,
'resID' => $resID,
'resAfficher' => $resAfficher,
'resMsg' => $resMsg,
'resLien' => $resLien,
'resImgPt' => $resImgPt,
'resClasse' => $resClasse,
'resStyle' => $resStyle,
'lg' => $lg
],'');
}
$v=0; //compteur de volets css
// -----------------------------------------------------
// On boucle sur les tables chargées dans initsessionlg.php
// -----------------------------------------------------
for ($c=0; $c<$nb; $c++) {
if (isset($debug[4]) && $debug[4] == '1') {
$debugMsg .= monDebug (1,[
' ${$resID}[' .$c. '] ' => ${$resDesc}[$c],
' ${$resMsg}[' .$c. '] ' => ${$resMsg}[$c],
' ${$resStyle}[' .$c. '] ' => ${$resStyle}[$c],
],'');
}
// -----------------------------------------------------
// l'ancre pour retrouver la sectionAff : ici car si au début ou a la fin on n'est pas centré
// -----------------------------------------------------
echo '<div id="section' .$c. '" style="height:10px;"></div>';
// On veut se positionner sectionAff sur le N° de idLanguenav : valeur de idLangue
if (isset($idLanguenav) && isset(${$resID}[$c]) && $idLanguenav==${$resID}[$c] && $sectionAff=='' && $numTxt==''&& $c>0 ) {$sectionAff='section' .$c-1; }
if ($sectionAff=='section' .$c) {
echo '<div id="blocContenu' .$c. '" class="blocContenu gridToFlexCol" style="margin-bottom: 50px;margin-top: 50px; scroll-margin-top: 20px;">';
}
else echo '<div id="blocContenu' .$c. '" class="blocContenu gridToFlexCol" >';
// -----------------------------------------------------
// Description - 1
// -----------------------------------------------------
if (isset(${$resDesc}[$c])) {
if ($sectionAff=='section' .$c) {$bckgCol="lightgreen";} else {$bckgCol="lightGrey";}
echo '<div id="zoneD' .$c. '" class="zoneDesc" style="background:' .$bckgCol. '" ';
if ($sectionAff=='section' .$c) echo 'style="scroll-margin-top: 20px;" >';
else echo 'onMouseOver="this.style.backgroundColor=\'lightblue\';" onMouseOut="this.style.backgroundColor=\'lightGrey\';" style="scroll-margin-top: 20px;">';
echo '<span style="padding:8px; top:8px; left:15px;" >';
if (${$resAfficher}[$c]==1) {
echo '<input type="checkbox" class="afficherMsg" id="input' .$c. '" checked >';
echo '<label for="afficherMsg' .$c. '" onClick="upAff(' .${$resID}[$c]. ',0,' .$c. ');"></label>';
}
else {
echo '<input type="checkbox" class="afficherMsg" id="input' .$c. '" >';
echo '<label for="afficherMsg' .$c. '" onClick="upAff(' .${$resID}[$c]. ',1,' .$c. '); ancreSection(\'' .$c. '\');"></label>';
}
// if (isset($debug[1]) && $debug[1] == '1' ) $debugMsg .='aff = ' .${$resAfficher}[$c]. ' | id = ' .${$resID}[$c]. ' | c = ' .$c;
echo '</span>&#160; &#160';
echo '<input onChange="upDesc(' .${$resID}[$c]. ', this.value, \'' .$c. '\') ;" class="inputWebmaster" style="overflow:visible; resize:both; width:58%; font-style:italic; font-size:0.8rem;" value="' .${$resDesc}[$c]. '" id="afficherMsg' .$c. '">';
echo '<span style="overflow:visible; width:100%; resize:both; font-style:italic; font-size:0.8rem;">&#160;N° ' .$c;
if ($_SESSION['isAgencement']!=true ) echo ' ( index : ' .${$resID}[$c]. ' )';
echo '</span>';
echo '</div>';
}
// -----------------------------------------------------
// Afficher - 2
// -----------------------------------------------------
// -----------------------------------------------------
// Messages - 3
// -----------------------------------------------------
if (isset (${$resMsg}[$c])) {
if ($sectionAff=='section' .$c) echo '<div class="contenu" style="grid-row:3; text-align:center;">';
else echo '<div class="contenu" style="grid-row:3; text-align:center;" onMouseOver="zoneD' .$c. '.style.backgroundColor=\'lightblue\';" onMouseOut="zoneD' .$c. '.style.backgroundColor=\'lightGrey\';" ancreSection(\'' .$c. '\');">';
echo '<span class="libChampsWebmaster" style="display:flex;flex-wrap:wrap;align-items: stretch;justify-content: space-evenly;align-content: stretch;"><b>Texte : </b>&#160;';
echo '<span title="Saisissez ou modifier le texte. " >';
if (!empty(${$resMsg}[$c])) {
${$resMsg}[$c] = htmlspecialchars(${$resMsg}[$c], ENT_QUOTES, 'UTF-8');
}
// Décodage pour affichage correct dans la textarea
$resMsg_safe = isset(${$resMsg}[$c]) ? htmlspecialchars_decode(${$resMsg}[$c], ENT_QUOTES) : '';
echo '<textarea class="textAreaWbm" onclick="affSummNot(\'txtArea' . $c . '\', ' . $c . ');" style="width:100%;" cols="110"
rows="4" contenteditable="true" id="txtArea' .$c. '"
onChange="upMsg(\'' . ${$resID}[$c] . '\', document.getElementById(\'txtArea' . $c . '\').value, \'' . $c . '\');">';
echo $resMsg_safe;
echo '</textarea>';
echo '</span>';
// bouton enregistrer si summer note
echo '<span id="save' .$c. '" class="boutonsWebmaster boutonEnregistrer" style="display:none;" onClick="var item=document.getElementById(\'txtArea' .$c. '\').value; upMsg(\'' .${$resID}[$c]. '\', document.getElementById(\'txtArea' .$c. '\').value, \'' .$c. '\');">';
echo '<i class="fad fa-save"></i>';
echo 'Enregistrer';
echo '</span>';
echo '</span>';
echo '</div>';
}
// -----------------------------------------------------
// Liens - 4
// -----------------------------------------------------
if (isset (${$resLien}[$c])) {
$title="Insérer un lien valide";
if ($sectionAff=='section' .$c) echo '<div class="contenu flexToColumn" style="grid-row:4; align-items: center;" >';
else echo '<div class="contenu flexToColumn" style="grid-row:4; align-items: center;" onMouseOver="zoneD' .$c. '.style.backgroundColor=\'lightblue\';" onMouseOut="zoneD' .$c. '.style.backgroundColor=\'lightGrey\';" >';
echo '<span class="libChampsWebmaster" style="margin:3px;" >';
echo '<select onChange="manageLien(' .${$resID}[$c]. ',this.value,\'' .$c. '\');" class="selectWbm" name="theLien2' .$c. '" style="font-size:0.9rem;margin:3px;" >';
for ($ll=0; $ll<count($lien); $ll++) {
if ($lSrc[$ll]==${$resLien}[$c]) {echo '<option value="' .$lSrc[$ll]. '" selected>' .$lien[$ll]. '</option>'; }
else {echo '<option style="font-size:0.7rem;" value="' .$lSrc[$ll]. '">' .$lien[$ll]. '</option>'; }
}
// quesaco ? lien2 et empty.?
if (isset($theLien2) || empty($theLien2)) {echo '<option selected>Lien</option>'; }
else {echo '<option>Lien</option>'; }
echo '</select>';
echo '</span>';
echo '&#160;<span title="' .$title. '" style="min-width:40%">';
echo '<input type="text" placeHolder="Saisir un lien externe valide" class="inputWebmaster" style="width:100%; overflow:visible; resize:both;" value="' .${$resLien}[$c]. '" onChange="upLien(' .${$resID}[$c]. ', this.value , \'' .$c. '\');" id="lien' .$c. '" >';
echo '</span>';
echo '</div>';
}
// -----------------------------------------------------
// Preview - 4
// -----------------------------------------------------
// if ($_SESSION['isAgencement']!=true ) {
// -----------------------------------------------------
echo '<div class="zonePreviewCont" onclick="ancreSection(\'' .$c. '\');">';
echo '<span class="prevText" >';
if ($_SESSION['isAgencement']!=true ) echo 'Pré-visualisation ';
echo '</span>';
echo '<span class="previewItem" >';
// echo "Niv=" .$niveau;
if(${$resClasse}[$c]) {
$niveau=1;
if ($destination=="menu") {
dynamiqItemImage (0,0,${$resClasse}[$c], 'span', '-action-', $destination, $c, 'sousMenusIcones', '-textClass-', 'font-size:0.9rem;');
}
else {
dynamiqItemImage (0,0,${$resClasse}[$c], 'span', '-action-', $destination, $c, 'icones', '-textClass-', 'font-size:0.9rem;');
}
if (${$resAfficher}[$c]==0) echo '<span style="font-style:italic; color:grey;">Masqué</span>';
}
echo '</span>';
echo '</div>';
// -----------------------------------------------------
// Info bulle - 5
// -----------------------------------------------------
if (isset (${$resTitre}[$c])) {
if ($sectionAff=='section' .$c) echo '<div class="contenu flexToColumn" style="grid-row:5; align-items: center;" >';
else echo '<div class="contenu flexToColumn" style="grid-row:5; align-items: center;" onMouseOver="zoneD' .$c. '.style.backgroundColor=\'lightblue\';" onMouseOut="zoneD' .$c. '.style.backgroundColor=\'lightGrey\';" >';
echo '<span class="libChampsWebmaster" style="margin:3px;"> InfoBulle :&#160;';
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(5' .$c. ')" onMouseLeave="closePopup(5' .$c. ');"></span>'; // Icône d'information
echo '<div id="popupInfo5' .$c. '" class="popup">';
echo '<div class="popup-content">';
echo '<span class="popup-close" onclick="closePopup(5' .$c. ');">&times;</span>';
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
echo '<p>Bulle d\'aide, comme celle-ci qui apparaît au survol de la souris. </p>';
echo '</div>';
echo '</div>';
echo '</span>';
echo '&#160;<span style="overflow:visible; resize:both; min-width:60%" >';
echo '<input value="'.trim(${$resTitre}[$c]). '" style="overflow:visible; resize:both; width:99%; display:block;" class="inputWebmaster" onChange="upPop(' .${$resID}[$c]. ', this.value , \'' .$c. '\') " id="pop' .$c. '">';
echo '</span>';
echo '</div>';
}
// -----------------------------------------------------
// Img - 6
// -----------------------------------------------------
if (isset (${$resImgPt}[$c]) ) {
if ($sectionAff=='section' .$c) echo '<div class="contenu flexToColumn" style="grid-row:6; align-items: center;" >';
else echo '<div class="contenu flexToColumn" style="grid-row:6; align-items: center;" onMouseOver="zoneD' .$c. '.style.backgroundColor=\'lightblue\';" onMouseOut="zoneD' .$c. '.style.backgroundColor=\'lightGrey\';" >';
echo '<span class="libChampsWebmaster" style="margin:3px;">Image :&#160;';
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(6' .$c. ')" onMouseLeave="closePopup(6' .$c. ');"></span>'; // Icône d'information
echo '<div id="popupInfo6' .$c. '" class="popup">';
echo '<div class="popup-content">';
echo '<span class="popup-close" onclick="closePopup(6' .$c. ');">&times;</span>';
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
echo '<p>Saisissez directement le nom d\'une classe font awesome, ou cliquez sur le bouton image pour parcourir votre ordinateur ou choisir une image depuis les bibliothèques.</p>';
echo '</div>';
echo '</div>';
echo '</span>';
echo '<span title="Nom ou chemin de l\'image" style="min-width:60%">';
echo '<input style="overflow:visible; resize:both; width:99%; display:block" class="inputWebmaster" value="'.trim(${$resImgPt}[$c]). '" onChange="upTheImg(' .${$resID}[$c]. ', this.value , \'' .$c. '\') " id="img' .$c. '">';
echo '</span>';
// -----------------------------------------------------
// Bouton image
$link='./frmModale.php?affModale=4-1&idLanguenav=' .${$resID}[$c].'&textesAffSection='.$textesAffSection;
echo '<span class="boutonsWebmaster" style="max-width:350px;" title="Cliquez ici pour choisir une icône ou une image." onClick="document.location.href=\'' .$link. '\'" >';
echo '<i class="fad fa-image"></i>';
echo 'Choisir une image';
echo '</span>';
// -----------------------------------------------------
// Bouton supprimer
echo '<span>';
echo "&#160;";
echo '<span class="fad fa-trash-alt" style="color:red !important; fill:red; cursor:pointer;" onClick="deleteContImg(' .${$resID}[$c]. ', \'' .$c. '\');" alt="supprimer"></span>';
echo '</span>';
// -----------------------------------------------------
// Alt - 7
// -----------------------------------------------------
if (isset (${$resAlt}[$c])) {
// echo '<div class="contenu flexToColumn" style="grid-row:7; align-items: center;" >';
echo '<span class="libChampsWebmaster" style="margin:3px;">Alternative :&#160;';
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(7' .$c. ')" onMouseLeave="closePopup(7' .$c. ');"></span>'; // Icône d'information
echo '<div id="popupInfo7'.$c.'" class="popup">';
echo '<div class="popup-content">';
echo '<span class="popup-close" onclick="closePopup(7'.$c.');">&times;</span>';
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
echo '<p>Saisissez un texte au cas ou l\'image n\'apparaîtrait pas. </p>';
echo '</div>';
echo '</div>';
echo '</span>';
echo '<span style="overflow:visible; resize:both; min-width:40%" >';
echo '<input value="' .${$resAlt}[$c]. '" style="overflow:visible; resize:both; width:99%; display:block;" class="inputWebmaster" onChange="upAlt(' .${$resID}[$c]. ', this.value , \'' .$c. '\') " id="alt' .$c. '">';
echo '</span>';
// echo '</div>';
}
echo '</div>';
}
// -----------------------------------------------------
// Classe - 8 -
// -----------------------------------------------------
// $nePAsFairePourLeMoment=1;
// if($nePAsFairePourLeMoment==0) {
if ( $affMContext !== true ) {
if (isset (${$resClasse}[$c]) ) {
//echo 'class='.${$resClasse}[$c];
if ($sectionAff=='section' .$c) echo '<div class="contenu flexToColumn" style="grid-row:8; align-items: center;" >';
else echo '<div class="contenu flexToColumn" style="grid-row:8; align-items: center;" onMouseOver="zoneD' .$c. '.style.backgroundColor=\'lightblue\';" onMouseOut="zoneD' .$c. '.style.backgroundColor=\'lightGrey\';" >';
echo '<span class="libChampsWebmaster" style="margin:3px;">Classe CSS :';
echo '</span>';
echo '<input style="min-width:40%" title="Saisir ou sélectionner une classe générique." class="inputWebmaster" onChange="upClasse(' .${$resID}[$c]. ', this.value , \'' .$c. '\');" value="' .${$resClasse}[$c]. '" id="class' .$c. '">';
// -----------------------------------------------------
// Recup theVoletCss
if (!empty(${$resClasse}[$c])) {
$theClasse=${$resClasse}[$c];
include_once ("chercherExistantVoletsCss.php");
$tTheVoletCss[$v]=$theVoletCss;
$classe[$v]=$theClasse;
$classe[$v]=str_replace("#","µ",$classe[$v]);
}
if (isset($tTheVoletCss[$v])) $tTheVoletCss[$v]=addslashes($tTheVoletCss[$v]);
// -----------------------------------------------------
// Bouton vers modale classes : pas dans agencement
echo "&#160;";
if (isset($tTheVoletCss[$v])) {
echo '<span class="boutonsWebmaster" title="Cliquez ici pour choisir une classe. " onclick="document.location.href=\'./frmModale.php?affModale=4-2&textesAffSection=' .$textesAffSection. '&theVoletCss=' .$tTheVoletCss[$v]. '&idLanguenav=' .${$resID}[$c]. '&theClasse='.($classe[$v]). '\';" >';
echo '<span class="fab fa-css3-alt" ></span>';
echo '&#160;';echo 'Choisir une classe CSS';
echo '</span>';
}
// -----------------------------------------------------
// Bouton vers classe
echo '&#160; ';
if (isset(${$resClasse}[$c]) && ${$resClasse}[$c]!="-") {
echo '<span class="boutonsWebmaster" title="Cliquez ici pour modifier le style de classe. " onClick="self.location.href=\'./frmAdmin.php?affAdmin=3&theVoletCss=' .$tTheVoletCss[$v]. '&theNumCss=' .$c. '&nomCss=' .${$resClasse}[$c]. '\';" class="boutonsWebmaster" >';
echo '<i class="fad fa-feather"></i>';
echo '&#160;Gérer le style de la classe';
echo '</span>';
}
// echo '</span>'; //libChampsWebmaster
$v++; //compteur Volets Css
echo '</div>';
}
}
// -----------------------------------------------------
// Style -->
// -----------------------------------------------------
// $nePAsFairePourLeMoment=1;
// if($nePAsFairePourLeMoment==0) {
if ( $affMContext !== true ) {
if (isset (${$resStyle}[$c])) {
if (empty($theVoletCss) && !empty($theClasse)) include ("chercherExistantVoletsCss.php");
if ($sectionAff=='section' .$c) echo '<div class="contenu flexToColumn" style="grid-row:9; align-items: center;" >';
else echo '<div class="contenu flexToColumn" style="grid-row:9; align-items: center;" onMouseOver="zoneD' .$c. '.style.backgroundColor=\'lightblue\';" onMouseOut="zoneD' .$c. '.style.backgroundColor=\'lightGrey\';" >';
echo '<span class="libChampsWebmaster" style="margin:3px;">Style Html :&#160;';
echo '<span class="info-icon fad fa-info-circle" onMouseOver="openPopup(8' .$c. ')" onMouseLeave="closePopup(8' .$c. ');"></span>'; // Icône d'information
echo '<div id="popupInfo8'.$c.'" class="popup">';
echo '<div class="popup-content">';
echo '<span class="popup-close" onclick="closePopup(8' .$c. ');">&times;</span>';
echo '<img src="./adminInclude/designAdmin/info.png" alt="Info" class="popup-icon" />';
echo '<p>Saisissez les styles HTML si vous voulez surcharger la classe Css.</p>';
echo '</div>';
echo '</div>';
echo '</span>';
$test = strip_tags(${$resStyle}[$c]);
echo '&#160;<span style="overflow:visible; resize:both; display:block; min-width:60%">';
echo '<input value="' .$test. '" placeholder="Exemple : width:80%;" style="width:99%; display:block;" onChange="upStyle(' .${$resID}[$c]. ', this.value, \'' .$c. '\');" class="inputWebmaster" id="style' .$c. '" >';
echo '</span>';
echo '</div>';
}
else {
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1,['pas de style' => ''],'');}
}
}
echo '</div>';
} //for
?>