208 lines
7.3 KiB
JavaScript
Executable File
208 lines
7.3 KiB
JavaScript
Executable File
function creaItem(){
|
|
let debugLocal = 0;
|
|
let continueProcess = 1;
|
|
let msg = '';
|
|
let theItemNom ='';
|
|
let theType ='';
|
|
let theMsg ='';
|
|
let theFichier ='';
|
|
|
|
// Vérification si 'theItemNom' pas vide
|
|
if (document.getElementById('theItemNom')) { theItemNom = document.getElementById('theItemNom').value;}
|
|
if (theItemNom == '' || theItemNom == '-') {
|
|
continueProcess = 0;
|
|
msg += 'Vous devez saisir un nom pour le contenu.';
|
|
}
|
|
|
|
// Vérification si 'theType' pas vide
|
|
if (document.getElementById('theType')) { theType = document.getElementById('theType').value;}
|
|
if (theType == 'Type de contenu' || theType == '-') {
|
|
continueProcess = 0;
|
|
msg += 'Vous devez saisir un type de contenu.';
|
|
}
|
|
|
|
// Vérification si 'theMsg' pas vide
|
|
if (theType == 'txt' ) {
|
|
if (document.getElementById('theMsg')) { theMsg = document.getElementById('theMsg').value;}
|
|
if (theMsg == '' || theMsg == '-') {
|
|
continueProcess = 0;
|
|
msg += 'Vous devez saisir un message pour le contenu de type texte.';
|
|
}
|
|
}
|
|
|
|
// Vérification si 'theFichier' pas vide
|
|
if (theType == 'video' || theType == 'img' || theType == 'audio') {
|
|
if (document.getElementById('theFichier')) { theFichier = document.getElementById('theFichier').value;}
|
|
if (theFichier == '' || theFichier == '-') {
|
|
continueProcess = 0;
|
|
msg += 'Vous devez saisir un fichier pour le contenu de type multimédia.';
|
|
}
|
|
}
|
|
|
|
// Affectation de la valeur 'insertItem' à 'codeOpe' si présent
|
|
if (document.getElementById('codeOpe') && continueProcess==1 ) { document.getElementById('codeOpe').value = 'insertItem'; }
|
|
|
|
// Affichage du message de debugLocal si activé
|
|
if (debugLocal == 1) {
|
|
alert('creaItem => theType = ' + theType + ' | theMsg = ' + theMsg + ' | theItemNom = ' + theItemNom + ' | theFichier = ' + theFichier + ' | continueProcess = ' + continueProcess );
|
|
}
|
|
|
|
// Affichage du message d'erreur si nécessaire
|
|
if (msg != '') { alert(msg); }
|
|
|
|
// Soumettre le formulaire si aucune erreur n'est survenue
|
|
if (continueProcess == 1 && document.menuSiteForm) {document.menuSiteForm.submit(); }
|
|
}
|
|
|
|
|
|
|
|
function affichageSelonType(affType){
|
|
debugLocal=0;
|
|
if (debugLocal==1) { alert('Type sélectionné : ' + affType); }
|
|
|
|
// mettre tout en caché, en cas de repostage
|
|
document.getElementById('typeTxt').style.display='none';
|
|
document.getElementById('typeMultimed').style.display='none';
|
|
document.getElementById('typePageTxt').style.display='none';
|
|
|
|
switch (affType) {
|
|
case'text':
|
|
if(document.getElementById('typeTxt')) document.getElementById('typeTxt').style.display='block';
|
|
break;
|
|
|
|
case'video':
|
|
case'audio':
|
|
case'img':
|
|
if(document.getElementById('typeMultimed')) document.getElementById('typeMultimed').style.display='block';
|
|
if(document.getElementById('iFr')) {
|
|
//alert(' id');
|
|
var iframe = document.getElementById('iFr');
|
|
var oldSrc = iframe.src;
|
|
|
|
// Supprime l'ancien theType à la fin (si présent)
|
|
var newSrc = oldSrc.replace(/&theType=[^&]*$/, '');
|
|
|
|
// Ajoute le nouveau theType
|
|
newSrc += '&theType=' + encodeURIComponent(affType);
|
|
|
|
iframe.src = newSrc;
|
|
|
|
//alert(' fin');
|
|
}
|
|
else alert('pas iFr');
|
|
break;
|
|
|
|
case'page':
|
|
if(document.getElementById('typePageTxt')) document.getElementById('typePageTxt').style.display='block';
|
|
break;
|
|
}
|
|
|
|
//if (debugLocal==1) { alert('Fin, src : ' + iframe.src); }
|
|
|
|
|
|
}
|
|
|
|
function deleteItem(itemNom){
|
|
var debugLocal=0;
|
|
var r=confirm ('Vous allez supprimer : ' + itemNom + ' de toutes les langues. Veuillez confirmer votre choix.');
|
|
if (debugLocal==1) alert ('reponse = '+r);
|
|
if (r ==true){
|
|
document.getElementById('codeOpe').value='delItem';
|
|
document.menuSiteForm.submit();
|
|
}
|
|
}
|
|
|
|
function upItem(flag){
|
|
debugLocal=0;
|
|
if (debugLocal==1) alert ('upItem = '+flag);
|
|
if (flag==1) document.getElementById('codeOpe').value='majItemSansAutresLangues';
|
|
if (flag==2) document.getElementById('codeOpe').value='majItem';
|
|
document.menuSiteForm.submit();
|
|
}
|
|
|
|
// -----------------------------------------------------
|
|
// propager page / item
|
|
// ---------------------------------------------------
|
|
function propagation (){
|
|
debugLocal=0;
|
|
if (debugLocal==1) {
|
|
// alert('propager checked ? = ' + document.getElementById('propager').checked);
|
|
alert('propagation ');
|
|
}
|
|
if (document.getElementById('propager')) {
|
|
if (document.getElementById('propager').checked==false){
|
|
document.getElementById('propager').value='2';
|
|
if (document.getElementById('btn_All')) {document.getElementById('btn_All').style.display="none";} else alert('pas');
|
|
if (document.getElementById('btn_ParLangue')) {document.getElementById('btn_ParLangue').style.display="block";}
|
|
// alert('propager js false');
|
|
}
|
|
else{
|
|
document.getElementById('propager').value='1';
|
|
if (document.getElementById('btn_All')) {document.getElementById('btn_All').style.display="block";} else alert('pas 2');
|
|
if (document.getElementById('btn_ParLangue')) {document.getElementById('btn_ParLangue').style.display="none";}
|
|
// alert('propager js true');
|
|
}
|
|
if (debugLocal==1) alert('propager value = ' + document.getElementById('propager').value);
|
|
}
|
|
else {
|
|
if (debugLocal==1) alert('propager pas atteignable par id ' );
|
|
}
|
|
|
|
|
|
//document.menuSiteForm.submit();
|
|
}
|
|
|
|
function synchroVoletCssToClasse(theVoletCss, theme, theClass ) {
|
|
let debugLocal = 0;
|
|
if(debugLocal==1) {
|
|
alert('theVoletCss: ' + theVoletCss + '\n theme: ' + theme + '\n theClass: ' + theClass);
|
|
}
|
|
|
|
const url = './agencement/blocDroit/pages/items/fetchClassesCss.php?theVoletCss=' + encodeURIComponent(theVoletCss)+'&theme='+theme;
|
|
if(debugLocal==1) console.log('🛰️ Envoi fetch vers :', url);
|
|
|
|
fetch(url)
|
|
.then(response => {
|
|
if(debugLocal==1) console.log('📥 Réponse brute :', response);
|
|
if (!response.ok) {
|
|
throw new Error('Erreur HTTP : ' + response.status);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(data => {
|
|
if(debugLocal==1) console.log('📦 Données JSON reçues :', data);
|
|
|
|
const classeSelect = document.getElementById('theClasse');
|
|
classeSelect.innerHTML = '<option value="">-- Choisir un style Css --</option>';
|
|
|
|
data.forEach(item => {
|
|
if(debugLocal==1) console.log('🔹 Option ajoutée :', item); // debugLocal individuel
|
|
const opt = document.createElement('option');
|
|
opt.value = item.nom;
|
|
opt.textContent = item.description;
|
|
if(debugLocal==1) console.log('🔹 Option item.nom :', item.nom); // debugLocal individuel
|
|
if (item.nom === theClass) {
|
|
opt.selected = true;
|
|
}
|
|
classeSelect.appendChild(opt);
|
|
});
|
|
})
|
|
.catch(error => {
|
|
if(debugLocal==1) console.error('❌ Erreur Ajax:', error);
|
|
});
|
|
};
|
|
|
|
//synchroCSS au chargement de la page
|
|
document.addEventListener("DOMContentLoaded", function () {
|
|
debugLocal=0;
|
|
const selectVoletCss = document.getElementById('theVoletCss');
|
|
const selectClasse = document.getElementById('theJSClasse').value;
|
|
// const theme = '<?= htmlspecialchars($nomThemeCss) ?>'; // ou $_SESSION['nomThemeCss'] si toujours dispo
|
|
const theme = window.nomThemeCss;
|
|
|
|
if (selectVoletCss && selectVoletCss.value && selectVoletCss.value !== "-" && selectVoletCss.value !== "Aucun") {
|
|
if(debugLocal==1) console.log('⏳ Chargement initial avec voletCss :', selectVoletCss.value);
|
|
synchroVoletCssToClasse(selectVoletCss.value, theme, selectClasse );
|
|
}
|
|
}
|
|
); |