visionneuse_path = $visionneuse_path; //on instancie la bonne classe $this->classParam = new $driver($tab_params,$this->visionneuse_path); //on instancie également les messages localisés... $this->message = new message($this->visionneuse_path."/includes/message/$lang.xml"); switch ($lvl){ case "visionneuse" : $this->display(); $this->classParam->cleanCache(); break; case "afficheur" : $this->classParam->getDocById($tab_params["explnum"]); $this->renderDoc(); break; } } function display(){ global $visionneuse; global $charset; if($this->classParam->getNbDocs()>0){ //on commence par remettre les champs cachés du formulaire... $hiddenFields = ""; foreach($this->classParam->params as $key => $value){ //sauf les paramètres qui n'ont pas été postés, mais créés à la main ou modifiés plus tard en javascript... if ($key != "position" && $key != "start"){ $hiddenFields .=" "; } } $visionneuse = str_replace("!!hiddenFields!!",$hiddenFields,$visionneuse); //et c'est parti //on s'occupe en premier du conteneur du document $visionneuse = str_replace("!!height!!",$this->classParam->getParam("maxY"),$visionneuse); //on insère le contenu propre au document; $docNum = new docNum($this->classParam->getCurrentDoc(),$this->classParam); $docToDisplay = $docNum->fetchDisplay(); foreach($docToDisplay as $key => $value){ //le cas ou le document n'est pas autorisé! if($key == "doc" && $value == false){ $visionneuse = str_replace("!!$key!!","


".htmlentities($this->message->table['forbidden_resources'],ENT_QUOTES,$charset)."



".$this->classParam->forbidden_callback(),$visionneuse); }else if($key != "post"){ $visionneuse = str_replace("!!$key!!",$value,$visionneuse); } } //maintenant le kit de survie du navigateur $visionneuse = str_replace("!!position!!",$this->classParam->current,$visionneuse); if($this->classParam->getNbDocs()==1){ $visionneuse = str_replace("!!previous_style!!","none;",$visionneuse); $visionneuse = str_replace("!!next_style!!","none;",$visionneuse); }elseif($this->classParam->current ==0){ $visionneuse = str_replace("!!previous_style!!","none;",$visionneuse); $visionneuse = str_replace("!!next_style!!","block-inline;",$visionneuse); }elseif($this->classParam->current == sizeof($this->classParam->listeDocs)-1){ $visionneuse = str_replace("!!previous_style!!","block-inline;",$visionneuse); $visionneuse = str_replace("!!next_style!!","none;",$visionneuse); }else{ $visionneuse = str_replace("!!previous_style!!","block-inline;",$visionneuse); $visionneuse = str_replace("!!next_style!!","block-inline;",$visionneuse); } $visionneuse = str_replace("!!max_pos!!",$this->classParam->getNbDocs()-1,$visionneuse); $visionneuse = str_replace("!!current_position!!",($this->classParam->current+1)." / ".$this->classParam->getNbDocs(),$visionneuse); //on localise les messages $visionneuse = str_replace("!!close!!",$this->message->table['close'],$visionneuse); $visionneuse = str_replace("!!fullscreen!!",$this->message->table['fullscreen'],$visionneuse); $visionneuse = str_replace("!!normal!!",$this->message->table['normal'],$visionneuse); //tout est bon, on affiche le tout... print $visionneuse; }else{ print htmlentities($this->message->table['nothing_to_display'],ENT_QUOTES,$charset); } } function renderDoc(){ $docNum = new docNum($this->classParam->getCurrentDoc(),$this->classParam); $docNum->render(); } } ?>