Bonjour,
Je dois faire en sorte que certains titres du menu n'y apparaissent pas suivant la personne qui se connecte. Hors toutes les caractéristiques du menu sont dans un config.ini et lors de l'affichage si je retire l'un des sous menus alors tous ceux qui sont aprés lui dans config.ini ne s'affichent pas.
pour vous aider à m'aider ;-) voici le code que j'effectue
; Ce fichier INI contient des informations relatives au menu dynamique, à la couleur et à différentes adrèsses mail contenus
; dans la partie web de GPC.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; INFORMATIONS GENERALES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Cette variable "couleur" correspond à la couleur du menu déroulant de la partie web de GPC.
; Voici les codes de 2 couleurs : bleu => #000099 (GPC)
; rouge => #DC122A (ED)
couleur = #000099
;Cette variable correspond à la couleur du fond d'une cellule quand le pointeur de la souris passe au-dessus.
couleurFond = #a1a1a1
; Cette variable "mail1" correspond à l'adresse mail de l'onglet factureCC dans Compteclient
mailFactureCC = support@effetdirect.com
; Cette variable "mail2" correspond à l'adresse mail de l'onglet versementCC dans Compteclient
mailVersementCC = vlakomy@effetdirect.com
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MENU DYNAMIQUE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Cette partie correspond au menu dynamique. Ce menu est divisé en pluieurs sections qui
; qui contiennent chacunes un certain nombre de liens.
; Voici les explications des différents champs:
; Une section correspond a un menu.
; titre -> correspond au libélé de chaque menu
; pos (type : entier) -> correspond à la distance du bord gauche de la cellule du menu par rapport au bord gauche de la page
; (pour presentation)
; width (type : entier) -> longueur de la cellule du menu
; widthMenu (type : entier) -> Longueur des sous-menus
; champsI -> libéllé d'un sous-menu du menu
; espaceI (type : entier) -> nb d'espace a rajouter apres champsI pour completer la cellule
; lienI -> lien associé au libéllé du sous-menu de memenumero
[section1]
titre = Comptesclients
pos = 0
width = 110
widthMenu = 113
champs1 = Ouvrir
espace1 = 23
lien1 = ../Membres/listerCC.php
[section2]
titre = Recouvrement
pos = 112
width = 130
widthMenu = 131
champs1 = Saisie
espace1 = 30
lien1 = ../Membres/recouvrement.php
champs2 = Import CC
espace2 = 21
lien2 = ../Membres/importNewCC.php
champs3 = Edition des refus
espace3 = 9
lien3 = ../Membres/editionRefusNewCC.php
[section3]
titre = Litiges
pos = 243
width = 170
widthMenu = 168
champs1 = Litiges
espace1 = 41
lien1 = ../Reporting/indexLitiges.php
champs2 = Liste litiges
espace2 = 32
lien2 = ../Reporting/listelitiges.php
champs3 = Délai moyen de résolution1
espace3 = 1
lien3 = ../Reporting/delaiMoyenRes.php
champs4 = Délai moyen de résolution2
espace4 = 1
lien4 = ../Reporting/delaiMoyenResLitiges.php
[section4]
titre = Editions
pos = 411
width = 175
widthMenu = 173
champs1 = Balance agées
espace1 = 27
lien1 = ../Reporting/listerBalance.php
champs2 = Etat des relances préventives
espace2 = 0
lien2 = ../Reporting/indexRelancePrev.php
champs3 = Etat RJ/LJ
espace3 = 34
lien3 = ../Reporting/indexRJLJ.php
champs4 = Editions libres
espace4 = 28
lien4 = ../Reporting/listeParam.php
[section5]
titre = Reporting
pos = 584
width = 180
widthMenu = 178
champs1 = Cash Management
espace1 = 21
lien1 = ../Reporting/indexMgt.php
champs2 = CA
espace2 = 51
lien2 = ../Reporting/CACritere.php
champs3 = Tableau de bord de production
espace3 = 0
lien3 = ../Reporting/indexTableauBord.php
champs4 = Détail activité
espace4 = 29
lien4 = ../Reporting/index.php
champs5 = Détail encours
espace5 = 29
lien5 = ../Reporting/index2.php
champs6 = Indice d'éfficacité du recouvrement
espace6 = 0
lien6 = ../Reporting/indexIER.php
[section6]
titre = Workflow
pos = 762
width = 120
widthMenu = 120
champs1 = Ouvrir
espace1 = 25
lien1 = ../workflow/workflow.php
[section7]
titre = Quitter
pos = 882
width = 100
widthMenu = 101
champs1 = Déconnecter
espace1 = 6
lien1 = ../identification.php
champs2 = Quitter
espace2 = 17
lien2 = ../identification.php
voila la fonction qui affiche le menu
function construire() {
$tabINI = parse_ini_file("../config.ini",true);
$obj_internaute = new internaute();
$obj_internaute = $_SESSION ["internaute"];
if ($tabINI["couleur"]=="" || $tabINI["mailFactureCC"]=="" || $tabINI["mailVersementCC"]==""
|| $tabINI["couleurFond"]=="") {
sessionInvalide("../Fonctions/ErreurConfiguration.php");
}
else {
$this->setCouleur($tabINI["couleur"]);
$this->setMailFactureCC($tabINI["mailFactureCC"]);
$this->setMailVersementCC($tabINI["mailVersementCC"]);
$this->setCouleurFond($tabINI["couleurFond"]);
}
/*if ($obj_internaute ->getSuperUser() == 1)
$longtab = (sizeof($tabINI)-5)) ;
else $longtab = (sizeof($tabINI)-4);
*/
//for ($cpt=0; $cpt<(sizeof($tabINI)-4); $cpt++) {
//test si les titres, pos, width et widthMenu sont non nuls et si pos, width, widthMenu sont des entiers
$cpt =0;
$fini = 0;
while ( $cpt < (sizeof($tabINI)-4) && $fini != 1 ) {
if ($tabINI["section".($cpt+1)]["titre"] == "" || $tabINI["section".($cpt+1)]["pos"] == ""
|| $tabINI["section".($cpt+1)]["width"] == "" || $tabINI["section".($cpt+1)]["widthMenu"] == ""
|| ((string)((int)$tabINI["section".($cpt+1)]["pos"]) != $tabINI["section".($cpt+1)]["pos"])
|| ((string)((int)$tabINI["section".($cpt+1)]["width"]) != $tabINI["section".($cpt+1)]["width"])
|| ((string)((int)$tabINI["section".($cpt+1)]["widthMenu"]) != $tabINI["section".($cpt+1)]["widthMenu"])
) {
sessionInvalide("../Fonctions/ErreurConfiguration.php");
}
else {
for ($ind=0; $ind<(sizeof($tabINI["section".($cpt+1)])-4)/3; $ind++) {
// Test si champs, espace et lien sont non nuls et si espace est un entier
if ($tabINI["section".($cpt+1)]["champs".($ind+1)]=="" || $tabINI["section".($cpt+1)]["lien".($ind+1)]==""
|| $tabINI["section".($cpt+1)]["espace".($ind+1)] == ""
|| ((string)((int)$tabINI["section".($cpt+1)]["espace".($ind+1)]) != $tabINI["section".($cpt+1)]["espace".($ind+1)])
)
sessionInvalide("../Fonctions/ErreurConfiguration.php");
}
if (($obj_internaute ->getSuperUser() == 1 && $cpt != 5) || ($obj_internaute ->getSuperUser() != 1)){
$this->setTabSection(Array(),$cpt);
$this->setTabSection($tabINI["section".($cpt+1)],$cpt);
}
if (($obj_internaute ->getSuperUser() == 1) && $cpt == 5) $fini = 1;
$cpt++;
}
} //fin boucle
if ($obj_internaute ->getSuperUser() == 1 && $fini == 1){
$nb = 6;
$tabINI["section".($nb+1)]["pos"] = $tabINI["section".($nb)]["pos"];
$this->setTabSection(Array(),$nb);
$this->setTabSection($tabINI["section".($nb+1)],$nb);
}
}
Voila donc je ne veux pas afficher le num 6 donc j'arrete à 5 et après la boucle j'essaie d'afficher le num 7 mais ça ne fonctionne pas.
Je pense qu'il y a un pb avec la boucle.
Si vous avez des idées je suis preneuse.
merci,
Tchii28