DOCUMENTATION SUR LE GESTIONNAIRE DE MENU : ClassePopup.php

AUTEUR : FRANCK OBERLECHNER, Ingénieur Système et Réseaux


 

SOMMAIRE

1. Préambule

2. Installation de la classe

3. Déclaration d'une fenêtre

4. Déclaration des Thèmes et styles

5. La gestion du "ne plus afficher par cookie"

6. La définition des fenêtres sans les afficher et les ordres d'ouverture

A. LES EXEMPLES

 

 


1) PREAMBULE

La classe ClassePopup.php permet de déclarer une fenetre "Popup" qui peut contenir du HTML, les fonctions apportées sont :



2) INSTALLATION

Définir un répertoire "include_path" en modifiant le fichier de configuration de PHP %SYSTEMROOT%\PHP.INI sous IIS

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path = "d:/wwwroot/rubappli/communs"

Décompresser dans le répertoire "include_path" du serveur PHP le fichier classeMenu.php et le répertoire classeMenu (ce répertoire contient seulement la documentation et les exemples)
On obtient l'arborescence :

    .../Répertoire_Include

    classePath.php
    classePopup.php
    classePopup<dir>

Editer le fichier _classePath.php et modifier la ligne DEFINE en terminant par un "/" obligatoirement, la constante INCLUDEPATH doit pointer sur le répertoire ou se situe le fichier classePopup.php et _classePath.php

    // PARAMETRAGE :
    DEFINE('INCLUDEPATH','/include/');

ATTENTION pour que toutes les pages de votre site fonctionnent, définir de préférence un chemin absolu ( commencant par un / et donnant le chemin complet depuis la racine du site )

 

C'est tout ! la classe est maintenant exploitable directement

 

EN OPTION : DEFINITION D'UN THEME DE COULEUR IMPLICITE POUR TOUT LE SITE (VOIR LE CHAPITRE)

Créer un fichier _classeSkin.php dans le répertoire des inclusions

<?php

// 0: Rouge, 1:Bleu, 2:Gris, 4:Vert, 5:Orange
DEFINE('DEFAULT_SKIN', 5);

?>

ce fichier est utilisé par les autres classes classeTableau, classeGrid tous les objets gérés par ces classes bénéficient du même thème de couleurs.

ATTENTION : L'INSTALLATION COMPLETE EST NECESSAIRE POUR TESTER LES EXEMPLES QUI SUIVENT

 

 


3) DECLARATION D'UNE FENETRE

Les objets "fenêtres DHTM" sont issus de la librairie javascript FERANT STUDIO

ATTENTION : Ne jamais déclarer un objet PopupWindows dans une section </blockquote> celà plante la page sous INTERNET EXPLORER

On ne peut déclarer plusieurs fenêtres par page en suivant le cheminement suivant :

Syntaxe :

<?php

balise de début de code PHP,

include('classePopup.php');

appel au code de la classe
$pw = New PopupWindows;; création d'un nouvel objet "fenetre"
$pw->popup_skin(5); force le theme de couleurs
$pw->popup_style(2); change le style de fenêtre (dans le même thème)
$pw->popup_cookie($prefix_cookie,$domaine,$mode); gestion de la réapparition de la fenêtre. Sans cet ordre la fenêtre est réaffichée systématiquement

$pw->popup_new( $array_param, $array_attrib );

Envoi de la fenetre à l'ecran

 

FONCTION popup_new()

La fonction attend 2 tableaux de paramètres au format HASH

1) Le 1er tableau détaille les commandes : $array_param()

  • title : c'est le texte qui apparait dans la barre des titres
  • content : c'est le contenu HTML de la fenêtre
  • statut : c'est le contenu HTML de la barre d'état de la fenêtre
  • id : c'est l'identifiant de la fenêtre, ce paramètre est indispensable pour associer un cookie à une fenêtre précise. Autrement il n'est pas requis
  • noshow : vrai ou faux pour ne afficher ou non la fenêtre au chargement. (voir chapitre 6)

2) Le 1er tableau détaille les attribut "FERANT" envoyés à l'objet DHTML il doivent tenir compte obligatoirement de la case

exemples :

  • Shadow
  • TitleBarAlign
  • Width
  • Height

voir la notice FerantStudio


4) DECLARATION DES THEMES ET STYLES

Pour simplifier la gestion des couleurs, la classe s'appuie sur le mécanisme général des autres classes :

  1. L'appel explicite à la fonction popup_skin()
  2. La présence d'une variable de session $_SESSION['DEFAULT_SKIN'] qui véhicule d'une page à l'autre le thème de couleur des pages
  3. La présence de la constante 'DEFAULT_SKIN' dans le fichier _classeSkin.php valable si elle existe pour toutes les pages du site


5) GESTION DE L'AFFICHAGE OU NON PAR COOKIE

Les fenêtres popup ne présente d'intéret que si on peut ne plus les afficher. La gestion est confiée au COOKIES qui peuvent fonctionner selon 2 modes :

  1. L'affichage une seule fois de la fenêtre (mode=1)


  2. L'affichage répété tant que l'utilisateur n'a pas coché "ne plus afficher la fenêtre" (mode=2)


Déclaration par $pw->popup_cookie($prefix_cookie,$domaine,$mode);

le préfixe est ajouter à l'identifiant de la fenêtre pour créer un cookie de la forme : PREFIXE_ID


6) LA GESTION DYNAMIQUE DE L'AFFICHAGE ET DU CONTENU

Les fenêtres popup peuvent ne pas s'afficher au chargement par 2 moyens :

 


A) LES EXEMPLES

sample01_1fenetre.php Ouverture d'une fenêtre avec attributs natifs
sample02_1fenetre.php Ouverture d'une seule fenêtre centrée
sample03_2_fenetres.php Ouverture de 2 fenêtres avec des identifiant ALPHA
sample03_x_fenetres.php Ouverture de fenêtres en cascade
sample04_1fenetre_cookie.php Controle du réaffichage par cookie
sample05_1fenetre_cookie_noload.php idem avec non définition de la fenetre quand un cookie est présent
sample06_1fenetre_cookie_unefois.php Affichage d'une fenêtre une seule fois
sample07_style_skin.php Gestion des styles de fenêtres et des thèmes de couleurs
sample08_noshow.php Déclencher l'affichage par événement client (Javascript)
sample09_noshow_dynamic.php Déclencher l'affichage et la modification du contenu des fenêtres par événement client (Javascript)