. */ /* */ /*************************************************************************************/ require_once("pre.php"); require_once("auth.php"); if(!isset($action)) $action=""; if(!isset($parent)) $parent=0; if(!isset($lang)) $lang=$_SESSION["util"]->lang; if(!isset($tabdisp)) $tabdisp=""; if(! est_autorise("acces_configuration")) exit; require_once("../fonctions/divers.php"); require_once("../lib/JSON.php"); switch($action){ case 'modclassement' : modclassement($id, $type); break; case 'modifier' : modifier($id, $lang, $titre, $chapo, $description, $tabdisp); break; case 'ajouter' : ajouter($lang, $id, $titre, $chapo, $description, $tabdisp, $ajoutrub); break; case 'ajdeclidisp' : ajdeclidisp($id, $declidisp, $lang); break; case 'majdeclidisp' : majdeclidisp($id, $lang); break; case 'supprimer' : supprimer($id, $parent); break; case 'suppdeclidisp' : suppdeclidisp($declidisp); break; case 'modclassementdeclidisp' : modclassementdeclidisp($id, $declidispdesc, $type, $lang); break; case 'setclassementdeclidisp' : setclassementdeclidisp($id, $declidispdesc, $classement, $lang); break; } function modclassement($id, $type){ $dec = new Declinaison(); $dec->charger($id); $dec->changer_classement($id, $type); redirige("declinaison.php"); } function modifier($id, $lang, $titre, $chapo, $description, $tabdisp){ $json = new Services_JSON(); if(!$lang) $lang=1; $declidisp = new Declidisp(); $declidispdesc = new Declidispdesc(); $declinaison = new Declinaison(); $declinaisondesc = new Declinaisondesc(); $declinaison->charger($id); $res = $declinaisondesc->charger($declinaison->id, $lang); if(!$res){ $temp = new Declinaisondesc(); $temp->declinaison=$declinaison->id; $temp->lang=$lang; $temp->add(); $declinaisondesc->charger($declinaison->id, $lang); } $declinaisondesc->chapo = $chapo; $declinaisondesc->description = $description; $declinaisondesc->titre = $titre; $declinaisondesc->chapo = str_replace("\n", "
", $declinaisondesc->chapo); $declinaisondesc->description = str_replace("\n", "
", $declinaisondesc->description); $declinaison->maj(); $declinaisondesc->maj(); ActionsModules::instance()->appel_module("moddeclinaison", $declinaison); redirige($_SERVER['PHP_SELF'] . "?id=" . $declinaison->id); } function ajouter($lang, $id, $titre, $chapo, $description, $tabdisp, $ajoutrub){ $json = new Services_JSON(); $tabdisp = stripslashes($tabdisp); $tabdisp = $json->decode($tabdisp); $declinaison = new Declinaison(); $declinaison->charger($id); if($declinaison->id) return; $declinaison = new Declinaison(); $query = "select max(classement) as maxClassement from $declinaison->table"; $resul = $declinaison->query($query); $maxClassement = $resul ? $declinaison->get_result($resul, 0, "maxClassement") : 0; $declinaison->id = $id; $declinaison->classement = $maxClassement + 1; $lastid = $declinaison->add(); $declinaison->id = $lastid; $declinaisondesc = new Declinaisondesc(); $declinaisondesc->chapo = $chapo; $declinaisondesc->description = $description; $declinaisondesc->declinaison = $lastid; $declinaisondesc->lang = $lang; $declinaisondesc->titre = $titre; $declinaisondesc->chapo = str_replace("\n", "
", $declinaisondesc->chapo); $declinaisondesc->description = str_replace("\n", "
", $declinaisondesc->description); $declinaisondesc->add(); $declidisp = new Declidisp(); $declidispdesc = new Declidispdesc(); for($i=0; $ideclinaison = $lastid; $lastidc = $declidisp->add(); $declidispdesc->declidisp = $lastidc; $declidispdesc->lang = $lang; $declidispdesc->titre = $tabdisp[$i]->texte; $declidispdesc->add(); } if (intval($ajoutrub) == 1) { $rubrique = new Rubrique(); $query = "select * from $rubrique->table"; $resul = $rubrique->query($query); while($resul && $row = $rubrique->fetch_object($resul)){ $rubdeclinaison = new Rubdeclinaison(); $rubdeclinaison->rubrique = $row->id; $rubdeclinaison->declinaison = $lastid; $rubdeclinaison->add(); } } ActionsModules::instance()->appel_module("ajdeclinaison", $declinaison); redirige($_SERVER['PHP_SELF'] . "?id=" . $lastid); } function supprimer($id, $parent){ $declinaison = new Declinaison($id); $declinaison->delete(); ActionsModules::instance()->appel_module("suppdeclinaison", $declinaison); redirige("declinaison.php"); } function suppdeclidisp($declidisp){ $tdeclidisp = new Declidisp($declidisp); $tdeclidisp->delete(); ActionsModules::instance()->appel_module("suppdeclidisp", $tdeclidisp); } function ajdeclidisp($id, $declidisp, $lang){ $tdeclidisp = new Declidisp(); $tdeclidisp->declinaison = $id; $lastid = $tdeclidisp->add(); $tdeclidisp->id = $lastid; $tdeclidispdesc = new Declidispdesc(); $tdeclidispdesc->declidisp = $lastid; $tdeclidispdesc->lang = $lang; $tdeclidispdesc->titre = $declidisp; $tdeclidispdesc->classement = 1 + maxClassement($id, $lang); $tdeclidispdesc->add(); ActionsModules::instance()->appel_module("ajdeclidisp", $tdeclidisp); } function majdeclidisp($id, $lang){ global $declidispdesc_titre; foreach($declidispdesc_titre as $iddeclidisp => $valeur) { $declidispdesc = new Declidispdesc(); $existe = $declidispdesc->charger_declidisp($iddeclidisp, $lang); $declidispdesc->declidisp = $iddeclidisp; $declidispdesc->lang = $lang; $declidispdesc->titre = $valeur; if (! $existe) { $declidispdesc->classement = 1 + maxClassement($id, $lang); $declidispdesc->add(); } else { $declidispdesc->maj(); } $declidisp = new Declidisp($iddeclidisp); ActionsModules::instance()->appel_module("moddeclidisp", $declidisp); } } /* Tri des valeurs de declinaison */ function maxClassement($iddeclinaison, $lang) { $tdeclidispdesc = new Declidispdesc(); $tdeclidisp = new Declidisp(); $query = " select max(ddd.classement) as maxClassement from $tdeclidispdesc->table ddd left join $tdeclidisp->table dd on dd.id = ddd.declidisp where lang=$lang and dd.declinaison=$iddeclinaison "; $resul = $tdeclidispdesc->query($query); return $resul ? intval($tdeclidispdesc->get_result($resul, 0, "maxClassement")) : 0; } function modclassementdeclidisp($iddeclinaison, $iddeclidispdesc, $type, $lang) { $declidispdesc = new Declidispdesc(); if ($declidispdesc->charger($iddeclidispdesc, $lang)) { $remplace = new Declidispdesc(); if ($type == "M") { $where = "classement<" . $declidispdesc->classement . " order by classement desc"; } else if ($type == "D") { $where = "classement>" . $declidispdesc->classement . " order by classement"; } $declidisp = new Declidisp(); $query = " select * from $declidispdesc->table where lang=$lang and declidisp in (select id from $declidisp->table where declinaison = $iddeclinaison) and $where limit 0, 1 "; if ($remplace->getVars($query)) { $sauv = $remplace->classement; $remplace->classement = $declidispdesc->classement; $declidispdesc->classement = $sauv; $remplace->maj(); $declidispdesc->maj(); } } } function setclassementdeclidisp($iddeclinaison, $iddeclidispdesc, $classement, $lang) { $declidispdesc = new Declidispdesc(); if ($declidispdesc->charger($iddeclidispdesc, $lang)) { if ($classement == $declidispdesc->classement) return; if ($classement > $declidispdesc->classement) { $offset = -1; $between = "$declidispdesc->classement and $classement"; } else { $offset = 1; $between = "$classement and $declidispdesc->classement"; } $declidisp = new Declidisp(); $query = " select id from $declidispdesc->table where lang=$lang and declidisp in (select id from $declidisp->table where declinaison = $iddeclinaison) and classement BETWEEN $between "; $resul = $declidispdesc->query($query); $ddd = new Declidispdesc(); while($resul && $row = $declidispdesc->fetch_object($resul)) { if ($ddd->charger($row->id, $lang)) { $ddd->classement += $offset; $ddd->maj(); } } $declidispdesc->classement = $classement; $declidispdesc->maj(); } } function ecrire_bloc_classement($iddeclinaison, $declidispdesc, $lang, $existe) { // On n'affiche rien si l'element n'existe pas encore if ($existe) { $cour = intval($declidispdesc->classement); $haut = $cour - 1; $bas = $cour + 1; $url = "declinaison_modifier.php?action=modclassementdeclidisp&id=$iddeclinaison&declidispdesc=$declidispdesc->id&lang=$lang&type="; $res = '
'.$cour.'
'; } else { $res = '
'; } return $res; } $declinaison = new Declinaison(); $declinaisondesc = new Declinaisondesc(); $declinaison->charger($id); $declinaisondesc->charger($declinaison->id, $lang); $declinaisondesc->chapo = str_replace("
", "\n", $declinaisondesc->chapo); $declinaisondesc->description = str_replace("
", "\n", $declinaisondesc->description); $declidisp = new Declidisp(); $declidispdesc = new Declidispdesc(); if(!$lang) $lang=1; ?>

titre; ?>

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


inclure_module_admin("declinaisonmodifier"); ?>
ID id); ?>
table dd left join $declidispdesc->table ddd on ddd.declidisp = dd.id and lang = $lang where dd.declinaison='$id' order by classmt, dd.id"; $resul = $declidisp->query($query); $i=0; while($resul && $row = $declidisp->fetch_object($resul)) { $declidispdesc = new Declidispdesc($row->id, $lang); if(!($i%2)) $fond="claire"; else $fond="fonce"; $i++; ?>
  • ID : id); ?>
  • declinaison, $declidispdesc, $lang, $declidispdesc->id != 0) ?>