. */ /* */ /*************************************************************************************/ require_once("pre.php"); require_once("auth.php"); if(! est_autorise("acces_configuration")) exit; require_once("../fonctions/divers.php"); require_once("../lib/JSON.php"); if(!isset($action)) $action=""; if(!isset($lang)) $lang=$_SESSION["util"]->lang; if(!isset($tabdisp)) $tabdisp=""; if(!isset($affiche)) $affiche=""; switch($action){ case 'modclassement' : modclassement($id, $type); break; case 'modifier' : modifier($id, $lang, $titre, $chapo, $description, $tabdisp, $affiche); break; case 'maj' : maj($id, $lang, $titre, $chapo, $description, $tabdisp, $affiche); break; case 'ajouter' : ajouter($lang, $id, $titre, $chapo, $description, $tabdisp, $affiche, $ajoutrub); break; case 'ajcaracdisp' : ajcaracdisp($id, $caracdisp, $lang); break; case 'majcaracdisp' : majcaracdisp($id, $lang); break; case 'supprimer' : supprimer($id); break; case 'suppcaracdisp' : suppcaracdisp($caracdisp); case 'modclassementcaracdisp' : modclassementcaracdisp($id, $cacacdispdesc, $type, $lang); break; case 'setclassementcaracdisp' : setclassementcaracdisp($id, $caracdispdesc, $classement, $lang); break; } function modclassement($id, $type){ $car = new Caracteristique(); $car->charger($id); $car->changer_classement($id, $type); redirige("caracteristique.php"); } function modifier($id, $lang, $titre, $chapo, $description, $tabdisp, $affiche){ if(!$lang) $lang=1; $caracteristique = new Caracteristique(); $caracteristiquedesc = new Caracteristiquedesc(); $caracteristique->charger($id); $res = $caracteristiquedesc->charger($caracteristique->id, $lang); if(!$res){ $temp = new Caracteristiquedesc(); $temp->caracteristique=$caracteristique->id; $temp->lang=$lang; $temp->add(); $caracteristiquedesc->charger($caracteristique->id, $lang); } if($affiche!="") $caracteristique->affiche = 1; else $caracteristique->affiche = 0; $caracteristiquedesc->chapo = $chapo; $caracteristiquedesc->description = $description; $caracteristiquedesc->titre = $titre; $caracteristiquedesc->chapo = str_replace("\n", "
", $caracteristiquedesc->chapo); $caracteristiquedesc->description = str_replace("\n", "
", $caracteristiquedesc->description); $caracteristique->maj(); $caracteristiquedesc->maj(); ActionsModules::instance()->appel_module("modcaracteristique", $caracteristique); redirige($_SERVER['PHP_SELF'] . "?id=$id&lang=$lang"); } function ajouter($lang, $id, $titre, $chapo, $description, $tabdisp, $affiche, $ajoutrub){ $caracteristique = new Caracteristique(); $caracteristique->charger($id); if($caracteristique->id) return; $caracteristique = new Caracteristique(); $query = "select max(classement) as maxClassement from $caracteristique->table"; $resul = $caracteristique->query($query); $maxClassement = $resul ? $caracteristique->get_result($resul, 0, "maxClassement") : 0; $caracteristique->id = $id; if($affiche!="") $caracteristique->affiche = 1; else $caracteristique->affiche = 0; $caracteristique->classement = $maxClassement + 1; $lastid = $caracteristique->add(); $caracteristique->id = $lastid; $caracteristiquedesc = new Caracteristiquedesc(); $caracteristiquedesc->chapo = $chapo; $caracteristiquedesc->description = $description; $caracteristiquedesc->caracteristique = $lastid; $caracteristiquedesc->lang = $lang; $caracteristiquedesc->titre = $titre; $caracteristiquedesc->chapo = str_replace("\n", "
", $caracteristiquedesc->chapo); $caracteristiquedesc->description = str_replace("\n", "
", $caracteristiquedesc->description); $caracteristiquedesc->add(); if (intval($ajoutrub) == 1) { $rubrique = new Rubrique(); $query = "select * from $rubrique->table"; $resul =$rubrique->query($query); while($resul && $row = $rubrique->fetch_object($resul)){ $rubcaracteristique = new Rubcaracteristique(); $rubcaracteristique->rubrique = $row->id; $rubcaracteristique->caracteristique = $lastid; $rubcaracteristique->add(); } } ActionsModules::instance()->appel_module("ajcaracteristique", $caracteristique); redirige($_SERVER['PHP_SELF'] . "?id=$lastid&lang=$lang"); } function supprimer($id){ $caracteristique = new Caracteristique($id); $caracteristique->delete(); ActionsModules::instance()->appel_module("suppcaracteristique", $caracteristique); redirige("caracteristique.php"); } function suppcaracdisp($caracdisp){ $tcaracdisp = new Caracdisp($caracdisp); $tcaracdisp->delete(); ActionsModules::instance()->appel_module("suppcaracdisp", $tcaracdisp); } function ajcaracdisp($id, $caracdisp, $lang){ $tcaracdisp = new Caracdisp(); $tcaracdisp->caracteristique = $id; $lastid = $tcaracdisp->add(); $tcaracdisp->id = $lastid; $tcaracdispdesc = new Caracdispdesc(); $tcaracdispdesc->caracdisp = $lastid; $tcaracdispdesc->lang = $lang; $tcaracdispdesc->titre = $caracdisp; $tcaracdispdesc->classement = 1 + maxClassement($id, $lang); $tcaracdispdesc->add(); ActionsModules::instance()->appel_module("ajcaracdisp", $tcaracdisp); redirige('caracteristique_modifier.php?id='.$id); } function majcaracdisp($id, $lang){ global $caracdispdesc_titre; foreach($caracdispdesc_titre as $idcaracdisp => $valeur) { $caracdispdesc = new Caracdispdesc(); $existe = $caracdispdesc->charger_caracdisp($idcaracdisp, $lang); $caracdispdesc->caracdisp = $idcaracdisp; $caracdispdesc->lang = $lang; $caracdispdesc->titre = $valeur; if (! $existe) { $caracdispdesc->classement = 1 + maxClassement($id, $lang); $caracdispdesc->add(); } else { $caracdispdesc->maj(); } $caracdisp = new Caracdisp($idcaracdisp); ActionsModules::instance()->appel_module("modcaracdisp", $caracdisp); } redirige('caracteristique_modifier.php?id='.$id); } /* Tri des valeurs de Caracdisp */ function maxClassement($idcaracteristique, $lang) { $caracdispdesc = new Caracdispdesc(); $caracdisp = new Caracdisp(); $query = " select max(ddd.classement) as maxClassement from $caracdispdesc->table ddd left join $caracdisp->table dd on dd.id = ddd.caracdisp where lang=$lang and dd.caracteristique=$idcaracteristique "; $resul = $caracdispdesc->query($query); return $resul ? intval($caracdispdesc->get_result($resul, 0, "maxClassement")) : 0; } function modclassementcaracdisp($idcaracteristique, $idcaracdispdesc, $type, $lang) { $caracdispdesc = new Caracdispdesc(); if ($caracdispdesc->charger($idcaracdispdesc, $lang)) { $remplace = new Caracdispdesc(); if ($type == "M") { $where = "classement<" . $caracdispdesc->classement . " order by classement desc"; } else if ($type == "D") { $where = "classement>" . $caracdispdesc->classement . " order by classement"; } $caracdisp = new Caracdisp(); $query = " select * from $caracdispdesc->table where lang=$lang and caracdisp in (select id from $caracdisp->table where caracteristique = $idcaracteristique) and $where limit 0, 1 "; if ($remplace->getVars($query)) { $sauv = $remplace->classement; $remplace->classement = $caracdispdesc->classement; $caracdispdesc->classement = $sauv; $remplace->maj(); $caracdispdesc->maj(); } } } function setclassementcaracdisp($idcaracteristique, $idcaracdispdesc, $classement, $lang) { $caracdispdesc = new Caracdispdesc(); if ($caracdispdesc->charger($idcaracdispdesc, $lang)) { if ($classement == $caracdispdesc->classement) return; if ($classement > $caracdispdesc->classement) { $offset = -1; $between = "$caracdispdesc->classement and $classement"; } else { $offset = 1; $between = "$classement and $caracdispdesc->classement"; } $caracdisp = new Caracdisp(); $query = " select id from $caracdispdesc->table where lang=$lang and caracdisp in (select id from $caracdisp->table where caracteristique = $idcaracteristique) and classement BETWEEN $between "; $resul = $caracdispdesc->query($query); $ddd = new Caracdispdesc(); while($resul && $row = $caracdispdesc->fetch_object($resul)) { if ($ddd->charger($row->id, $lang)) { $ddd->classement += $offset; $ddd->maj(); } } $caracdispdesc->classement = $classement; $caracdispdesc->maj(); } } function ecrire_bloc_classement($idcaracteristique, $caracdispdesc, $lang, $existe) { // On n'affiche rien si l'element n'existe pas encore if ($existe) { $cour = intval($caracdispdesc->classement); $haut = $cour - 1; $bas = $cour + 1; $url = "caracteristique_modifier.php?action=modclassementcaracdisp&id=$idcaracteristique&cacacdispdesc=$caracdispdesc->id&lang=$lang&type="; $res = '
'.$cour.'
'; } else { $res = '
'; } return $res; } $caracteristique = new Caracteristique(); $caracteristiquedesc = new Caracteristiquedesc(); $caracteristique->charger($id); $caracteristiquedesc->charger($caracteristique->id, $lang); $caracteristiquedesc->chapo = str_replace("
", "\n", $caracteristiquedesc->chapo); $caracteristiquedesc->description = str_replace("
", "\n", $caracteristiquedesc->description); $caracdisp = new Caracdisp(); $caracdispdesc = new Caracdispdesc(); ?>

table"; $resul = $langl->query($query); while($resul && $row = $langl->fetch_object($resul)){ $langl->charger($row->id); ?>
-


affiche || $id == "" ) { ?> checked="checked" />
inclure_module_admin("caracteristiquemodifier"); ?>
ID id); ?>
table dd left join $caracdispdesc->table ddd on ddd.caracdisp = dd.id and lang = $lang where dd.caracteristique='$id' order by classmt, dd.id"; $resul = $caracdisp->query($query); $i=0; while($resul && $row = $caracdisp->fetch_object($resul)) { $caracdispdesc = new Caracdispdesc($row->id, $lang); if(!($i%2)) $fond="claire"; else $fond="fonce"; $i++; ?>
  • ID : id); ?>
  • caracteristique, $caracdispdesc, $lang, $caracdispdesc->id != 0) ?>