Documentation du Développeur Utilisation de la classe PHP

Transcription

Documentation du Développeur Utilisation de la classe PHP
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
Documentation du Développeur
Utilisation de la classe PHP : « Formula1v2 »
Table des matières
Description générale................................................................................................................................................2
Mode opératoire..................................................................................................................................................2
Modes DEBUG...................................................................................................................................................2
Convention utiliser dans ce document et représentations des couleurs....................................................2
ETAPE 1 : Initialisation du Formulaire...................................................................................................................3
Paramètres « POST » du Formulaire..................................................................................................................3
Paramètres de base de données...........................................................................................................................3
La base de donnée..........................................................................................................................................3
Les champs de données à affichés.................................................................................................................4
Modes d'affichages des champs................................................................................................................4
« Tout Visualiser »................................................................................................................................4
«Visualiser que ce qui est paramétré » ................................................................................................4
Paramètres globaux de présentation ( graphiques )............................................................................................4
Paramètres globaux de validations ( formulaire )...............................................................................................5
ETAPE 2 : Personnalisation des Champs................................................................................................................6
Paramètres globaux de formatage des champs...................................................................................................6
Formatage personnalisé.............................................................................................................................6
Fixer la Taille d'un élément du Formulaire.........................................................................................................6
Ajout d'un ballon d'information (« tooltips »)....................................................................................................7
Classes graphique de ballon prédéfinies........................................................................................................7
Ajout d'un événements Javascript.......................................................................................................................8
Tableau des Événements Javascript..........................................................................................................8
Ajout d'Ajax à un élément du Formulaire...........................................................................................................8
ANNEXES..............................................................................................................................................................9
ANNEXE 1 a : Tableau des Types de champs « Standards »................................................................................10
ANNEXE 1 b : Tableau des Types de champs « Personnalisés »..........................................................................11
ANNEXE 1 c : Tableau des Types de champs « Évolués »...................................................................................12
ANNEXE 2 : Listes des fonctions AJAX disponibles:.........................................................................................13
Auteur: Ubéda San José Michel
page 1 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
Description générale
Cette classe PHP permet de générer rapidement un formulaire électronique à partir d'une source de donnée
(requête SQL qui définit les champs à afficher, et éventuellement les valeurs par défaut).
Il est ensuite possible de personnaliser ces champs, leurs affectés des événements, informations (ToolTips), des
interaction ou informations recueillis via AJAX...
Finalement, on peut regrouper ces éléments,et y définir des « onglets » (Étapes), et y rajouter des informations
statiques avant/après des champs de données...
Mode opératoire
1.
2.
3.
4.
définir les données et paramètres généraux : connexion,requête SQL de récupération des champs...
personnaliser les type de champs
personnaliser , les ballons d'aide, les événements,les appels AJAX...
définir les associations des champs dans des GROUPES ou/et ETAPES
Modes DEBUG
Il existe plusieurs niveau de débug possible:
Mode de Debug
Ligne de commande
général (affichage...
$NomFormulaire->Debug=true;
traçage entrées dans les fonctions...
$NomFormulaire->DebugTrace=true;
traçage d'un élément du formulaire
$NomFormulaire->DebugField=true;
$NomFormulaire->TraceField="NomChampsTracer";
affichages graphiques et Tableaux
(border=1)
$NomFormulaire->DebugBorder=true;
Convention utiliser dans ce document et représentations des couleurs
Couleurs/Styles
Descriptions
rouge ou REMARQUES
Obligatoire/important
vert
Optionnel
bleu foncé ou bleu clair
Paramètres, valeur ou fonction considéré
REMARQUES IMPORANTES
Attention : le noms de champs doit être obligatoirement sans espaces !!!
Attention : personnalisation Ajax obligatoirement après avoir définis le type du champs !!!
Auteur: Ubéda San José Michel
page 2 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
ETAPE 1 : Initialisation du Formulaire
Le Gestionnaire Formula1 est une classe PHP, il faut inclure sa librairie comme suit :
Ligne de commande : include ("../commons/Formula1v2/Formula1dev.php");
Puis il faut l'initialiser/ l'instancier avec quelques paramètres :
(nom du formulaire,intitulé du bouton de sauvegarde et url du script de sauvegarde)
Ligne de commande : $NewFrom=new Formula1(Titre,POST_BtName,POST_Action,FORM_NAME);
Params
Type
Description
Valeur par défaut
Titre
html*
Le Titre du formulaire à afficher (en HTML)
"Nouveau Formulaire Formula1"
POST_BtName
texte
L'intitulé du bouton de validation du Formulaire
"Sauver..."
POST_Action
url*
script de sauvegarde à appeler sur validation du Formulaire
""
FORM_NAME
texte
Nom interne du Formulaire (optionnel)
"frmFormula1"
(* le contenu est également de type texte...)
Exemple:
$NewFrom=new Formula1("<H3>LE TITRE HTML FORMATE DE MON FORMULAIRE</H3>",
"Sauver mes données maintenant...",
"script_php_de_sauvegarde_.php");
Paramètres « POST » du Formulaire
Note les paramètres a,b,c et d sont aussi modifiables « post instanciation » via les variables suivantes :
Params
Ligne de commande équivalente
Titre
$NewFrom->Titre="<H2>Nouveau Titre de mon Formulaire...</H2>";
POST_BtName
$NewFrom->POST_BtName="Nouveau nom du bouton de sauvegarde";
POST_Action
$NewFrom->POST_Action="Nouveau_script_de_sauvegarde.php";
FORM_NAME
$NewFrom->FORM_NAME="NouveauNomFormulaire";
Note importante :
Si POST_BtName = "" (vide), alors le bouton de validation général du formulaire ne sera pas visible.
Paramètres de base de données
La base de donnée
Ligne de commande : $NewFrom->setConnexion(typeBase,Instance,User,Password);
Params
Type
Description
typeBase texte
Soit « oracle » soit « mysql » type de base de données
Instance
texte
Nom de l'instance (Oracle) de base de donnée
User
texte
Nom de l'user (Oracle) de base de donnée
Password texte
Nom de le mot de passe de connexion à la base de donnée
Exemple : $NewFrom->setConnexion("oracle","GESTAIX","transition","*******");
Auteur: Ubéda San José Michel
page 3 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
Les champs de données à affichés
Les champs qui seront traités dans le formulaire sont extrait d'une requête SQL précisé comme suit :
Ligne de commande : $NewFrom->Data='select * from TABLE_DONNEE where Champs=filtre';
Modes d'affichages des champs
Mode d'affichage
« Tout Visualiser »
Lignes de commande
Description
$NewFrom->Show(false); par défaut on affiche tous les champs, et si le type du
$NewFrom->Show();
champs n'a pas été précisé on l'affiche en mode « TXT ».
$NewFrom->Show(true);
«Visualiser que ce qui est paramétré »
seulement les champs personnalisés sont affichés (via la
fonction TypeField(...)
Paramètres globaux de présentation ( graphiques )
Légende
FonctionDeModification("valeur1, valeur2...");
ParamètredeModification="valeur";
$NewFrom->...
Fonctions/Variables
AddGlobalStepInfos("informations...");
Type
Description
texte/html Permet de d'ajouter des informations HTML en haut de formulaire
pour toutes les étapes (avant le résumé étapes)
setReadOnly(value);ReadOnly=value;
booléen
Transforme tous les champs du formulaire en lecture seule
ActiveCopyPaste
booléen
Si true alors rajoute un contrôle de type image à droite du contrôle,, sur
clic => copie de la valeur du contrôle dans le presse papier.
ShowFieldsResum
booléen
Afficher/Masquer le nombre des champs dans chaque onglets d'étapes
bgcolor
couleur
Couleur de fond du formulaire ( défaut : linen )
lightcolor
couleur
Couleur de l'effet d'illumination (focus d'une ligne du formulaire)
défaut : "" (vide)
EntryHelp
booléen
Active/désactive l'aide à la saisie : colorisation/modification de la saisie
pré-paramétré (format date, mail, numérique..) ( défaut : TRUE )
Zebra
booléen
Active/désactive la colorisation des lignes une/deux ( défaut : FALSE )
Vierge
booléen
Présente un formulaire vierge, sans données ( défaut : FALSE )
accordion
booléen
Représente les groupes sous forme d'un « accordéons » ( défaut : TRUE )
FixeSizesByOraFieldsLimits
booléen
Re-dimensionne les éléments du formulaire en fonction des limites de
champs définit dans la table Oracle ( défaut : FALSE )
DynaLoadJS
booléen
Chargement dynamique des librairies Javascript en tache de fond
( défaut : TRUE )
onChangeTabsSaveDatas
booléen
Sauvegarder le contenu (oui/non) de l'étape en cours avant d'afficher
l'étape sélectionné ( défaut : FALSE )
ShowTopPrevNextSteps
booléen
Afficher/Masquer (en haut du Formulaire) les bouton étape
suivantes/précédente à chaque étape ( défaut : TRUE )
ShowBottonPrevNextSteps
Afficher/Masquer (en bas du Formulaire) les bouton étape
suivantes/précédente à chaque étape ( défaut : TRUE )
ShowBottonStatesStepsResum
booléen
Afficher/Masquer (en bas ) le nombre de champs de chaque étape
ShowSaveSteps
booléen
Afficher/Masquer le bouton de sauvegarde entre chaque étape
Accessibility
booléen
Active/désactive les CSS => mode accessibilité ( défaut : FALSE )
EntryHelp=true; ProgressBar=false;
Auteur: Ubéda San José Michel
?
en cours de développement
page 4 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
Paramètres globaux de validations ( formulaire )
$NewFrom->
Fonctions/Variables
Type
Description
AddFinalJS
texte
Ajoute un script Javascript à lancer en fin de formulaire
AddDOMJS
texte
Ajoute un script Javascript à lancer au chargement du DOM
PrefixFields
texte
Défini le préfix des champs de base de donnée qui sera traité (AUTO)
AddFormValidation
texte
Ajout d'une condition personnalisé de validation du formulaire
AddFormValidationField
texte
Ajout du champs de la condition personnalisé de validation du formulaire
FinalRedirURl
url/texte URL de redirection appeler après de validation/envoi de donnée du formulaire
ActiveJSColorCompareData2 booléen Active/Désactive les comparaison/colorisation au chargement (onLoad) entre champs
correspondant Data et Data2 ( défaut : FALSE )
ActiveDynJSColorCompare
TypeVisuData2
Effects
AjaxUrl
booléen Active/Désactive les comparaison/colorisation à la volé (onModif) entre champs
correspondant Data et Data2 ( défaut : FALSE )
texte
Définit la représentation des données complémentaires (DATA2) en mode:
1. colonne « TEXT »
ou
2. ballons d'informations « TIPS »
Valeur par défaut : "TIPS"
booléen Active/Désactive les Effets Javascripts ( défaut : TRUE )
texte
Valeur par défaut : "http://mso1l136.u-3mrs.fr/~portail-services/commons/Formula1v2/
Ajax.php";
Auteur: Ubéda San José Michel
page 5 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
ETAPE 2 : Personnalisation des Champs
Paramètres globaux de formatage des champs
Ligne de commande : $NewFrom->setFieldType(Name,Type,OptValues="",OptParams="")
Params
Type
Description
Name
texte
Le nom du champs à personnaliser
Type
texte
Type à affecter au champs (+option format cf tableau ci dessous Formatage personnalisé)
OptValues
texte
La valeur d'initialisation du champs
OptParams
texte
Élément qui subira les modification AJAX, par défaut si non précisé :CtrlToModif = Name
Formatage personnalisé
TYPE : format1 , format2 , formatN...
Format
Description
0 (chiffre zéro)
Supprime le bord du contrôles
DS (DynamiqueSize)
Re-dimensionne dynamiquement la taille du champs en fonction de sa valeur actuelle
LOCK
Verrouille le contrôle en lecture seule
MAJ
Mise en caractère CAPITAL de la valeur de l'élément
MIN
Mise en caractère minuscule de la valeur de l'élément
NOLABEL
Supprime le libellé du champs (à sa gauche)
un/des chiffre(s) ( > 0) Force la taille visible du contrôle à la valeur décimale correspondant aux chiffres saisies
Exemple 1 : $NewFrom->setFieldType("MON_CHAMP_TEST","TXT:15,lock,0","valeur début");
Exemple 2 : $NewFrom->setFieldType("MON_CHAMP_TEST","CMB","exemple 1,exemple 2, exemple 3");
Fixer la Taille d'un élément du Formulaire
Ligne de commande : $NewFrom->setSize(Name,NewSize);
REMARQUE: Attention le champs doit déjà être définis sinon un message d'erreurs sera affiché ...
Exemple : $NewFrom->seSize("MON_CHAMP_TEST",5);
Auteur: Ubéda San José Michel
page 6 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
Ajout d'un ballon d'information (« tooltips »)
Ligne de commande : $NewFrom->addTips(Name,ToolTips,Style="");
REMARQUE: Attention le champs doit déjà être définis sinon un message d'erreurs sera affiché ...
Params Type
Description
Name
texte
Le nom du champs à personnaliser
ToolTips
html
Valeur qui doit être affiché dans le ballon d'information
Style
texte
Style de ballon d'informations par défaut = « tips »
Exemple1 : $NewFrom->addTips("MON_CHAMP",
"<font color=violet>valeur</font> <I>d'informations</I> dans le <B>ballon</B>");
Exemple2 : $NewFrom->addTips("MON_CHAMP",
"<font color=violet>valeur</font> <I>d'informations</I> dans le <B>ballon</B>","tips2");
Classes graphique de ballon prédéfinies
Noms
Description du style
tips
Ballon fond jaune, bord orange, donnée écrites en caractères gras, couleur d'écriture orange foncé. (exemple1) ;
taille max = 45% de la fenêtre
tips2
Ballon fond violet , bord gris, donnée écrites en caractères gras, couleur d'écriture : blanc. (exemple2) ; taille
max = 45% de la fenêtre
tipsXL
Idem que tips avec taille d'affichage plus large; taille max = 75% de la fenêtre
tipsXLUnder Idem que tips avec affichage du ballon par le bas; (taille max = auto)
tipsXLTop
Idem que tips avec affichage du ballon par le haut; (taille max = auto)
tips2XLTop
Idem que tips2 avec affichage du ballon par le haut (taille max = auto)
tips2XLStatic Idem que tips2 avec affichage/masquage du ballon sur clic; taille max = 75% de la fenêtre
Auteur: Ubéda San José Michel
page 7 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
Ajout d'un événements Javascript
Ligne de commande : $NewFrom->addEvent($Name,$NewJS); ou $NewFrom->addEvent2($Name,$NewJS);
Attention au effets de bord entre « addAjax() » et « addEvent() », car ces fonctions travaillent toutes les deux
sur les mêmes variables/tableaux de paramètres...
REMARQUE: Attention le champs doit déjà être définis sinon un message d'erreurs sera affiché ...
Params Type
Name
texte
Description
Le nom du champs auquel on rajoutera le code Javascript
NewJS texte/js Code Javascript à exécuter
Tableau des Événements Javascript
Courant
"onClick" "onDblClick"
"onChange"
"onKeyUp" "onKeyDown"
"onKeyPress"
"onFocus" "onBlur" (lost focus)
Souris
Systèmes
"onMouseOut"
"onMouseOver"
"onMouseMove"
"onMouseUp"
"onMouseDown"
"onLoad" "onUnload"
"onSelect" (sélection de texte)
"onSubmit" "onReset"
"onError" "onAbort"
"onResize" (fenêtre du )
Ajout d'Ajax à un élément du Formulaire
Ligne de commande : $NewFrom->addAjax(Name,AjaxCmd,Event,CtrlToModif,parmV1,parmV2,parmV3)
Params
Name
AjaxCmd
Event
CtrlToModif
Typ
e
Description
texte Le nom du champs à personnaliser
texte Commande AJAX à exécuter ( cf Tableau Annexe 2 )
texte L'événement d'initialisation du champs qui déclenchera la commande AJAX
(par défaut : Event = "onChange") Listes des autres événements cf Tableau ci-dessus...
texte Élément qui subira les modifications AJAX, ( par défaut si non précisé :CtrlToModif = Name )
parmV1
texte Paramètre p1 du script AJAX à appeler sur validation du Formulaire
parmV2
texte Paramètre p1 du script AJAX à appeler sur validation du Formulaire
Auteur: Ubéda San José Michel
page 8 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
ANNEXES
Auteur: Ubéda San José Michel
page 9 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
ANNEXE 1 a : Tableau des Types de champs « Standards »
Nom
TXT
TXTAREA
Description
Visualisation
Champs standard de type texte (input type=texte)
Champs standard de type texte long (textarea)
CMB
Choix unique via menu à liste déroulante
OPT
Choix unique, via des boutton de choix (Option Bouton)
CHK
Choix via case à cocher
PASS
FILE
HID
IMG
BT
BTS
Ajout d'un bouton personnalisé d'envoi du formulaire (submit)
BTR
Ajout d'un bouton personnalisé de remise à zéro du formulaire
(reset)
Auteur: Ubéda San José Michel
page 10 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
ANNEXE 1 b : Tableau des Types de champs « Personnalisés »
Nom
Description
Visualisation
DATE
Champs texte avec auto validation/formatage d'une date au format
jj/mm/yyyy
(avec visuel de validation en cours de saisie rouge/vert)
HOUR
Choix unique via menu à liste déroulante pré-rempli avec les
horaire ouvrable (8:00 à 18:00)
DAY
Choix unique via menu à liste déroulante pré-rempli avec les jour
de la semaine ouvrable (Lundi à Vendredi)
MONTH
Choix unique via menu à liste déroulante pré-rempli avec les mois
de l'année
MAIL
TEL
Champs texte avec auto validation/formattage d'un numéro de
téléphone (champs numérique 10 caractères)
(avec visuel de validation en cours de saisie rouge/vert)
En cours de saisie :
fin de saisie :
TITRE
INFOS
TAB
Permet de classer des éléments statique du formulaire dans un
tableaux (auto-sizable)
«»
Champs séparateur
-
Champs séparateur
TXT3
TXT2
TXTZOOM2 (*en cours de développement)
TABELM
(*en cours de développement)
permet de classer des éléments du formulaire dans un tableaux
(auto-sizable)
Auteur: Ubéda San José Michel
page 11 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
ANNEXE 1 c : Tableau des Types de champs « Évolués »
Nom
FCK
VOTE
Description
Visualisation
Saisie de texte enrichit via un contrôle (HTML/RTF)
Saisie d'une appréciation/vote de qualité par un contrôle
représentant des étoiles avec un label précisant le choix réaliser (+ En cours de saisie :
choix possible au survol des option possibles...)
Après la sélection :
CAL
Saisie d'une date via un contrôle « Calendrier »
TIPS
Ballons d'informations affichable au passage de la souris sur
l'image d'informations
GRID
(*en cours de développement)
contrôle style classeur EXCEL
Auteur: Ubéda San José Michel
page 12 / 13
v1.02 du 07-09/07/2009
U3 - Pôle « Application & Développement »
Classe PHP Formula1v2
Documentation technique
ANNEXE 2 : Listes des fonctions AJAX disponibles:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
TRListEtablissements
(la liste des Établissements stockés dans
TRANSITION)
TRListServices
(la liste des Services stockés dans
TRANSITION)
TRComposantes
(la liste des Composantes stockés dans
TRANSITION)
TRVilleFromCP
(la liste des Établissements stocker dans
TRANSITION)
TRServicesOfComposanteLib (Service d'une composante/libellé issu de
TRANSITION)
HarpListComposantes
(la liste des Composantes stockés dans
HARPEGE)
HarpListServices
(la liste des Services stockés dans
HARPEGE)
HarpListAllAddProf
(la liste des Adresses Professionnelles stockées dans
HARPEGE)
HarpListStatuts
(la liste des Statuts stockés dans
HARPEGE)
HarpListCategories
(la liste des Catégories stockés dans
HARPEGE)
HarpListCorps
(la liste des Corps stockés dans
HARPEGE)
HarpListGrades
(la liste des Grades stockés dans
HARPEGE)
HarpListNationalites
(la liste des Nationalités stockés dans
HARPEGE)
HarpListSituationsFamille (la liste des Situations Familiales stockés dans
HARPEGE)
HarpListSituationsMilitaire (la liste des Situations Militaires stockés dans
HARPEGE)
HarpListPays
(la liste des Pays stockés dans
HARPEGE)
HarpListDepartements
(la liste des Départements stockés dans
HARPEGE)
HarpListBAP
(la liste des BAP stockés dans
HARPEGE)
HarpListCategorieEmplois (la liste des Catégories d'emplois stockés dans
HARPEGE)
HarpListTypeContrat
(la liste des Types d'emplois stockés dans
HARPEGE)
HarpListTypePopulation
(la liste des Types de Population stockés dans
HARPEGE)
HarpBAPLibFromCode * (libellé d'une BAP Fct(code BAP) stockés dans
HARPEGE)
HarpComposanteCodeFromServiceCode * (code composante Fct(code Service)
HARPEGE)
HarpServicesOfComposanteCode * (liste libellé services Fct(code Composante)
HARPEGE)
HarpAddProfServiceCode *
(liste Adresses Prof. Fct(code Service)
HARPEGE)
HarpServicesOfComposanteLib * (liste libellé services Fct(libellé Composante)
HARPEGE)
HarpAddProfServiceLib *
(liste dresses Prof. Fct(libellé Service)
HARPEGE)
HarpCodePaysFromPays *
(liste Code Pays Fct(libellé Pays)
HARPEGE)
HarpCodePaysFromDeb4LPays * (liste Code Pays Fct(début 4 car. libellé Pays)
HARPEGE)
ApoListDiplomesLicensePro
(la liste des Diplômes de Licence Pro
APOGEE)
ApoListDiplomesLicense2
(la liste des Diplômes de Licence 2
APOGEE)
ApoListDiplomesLicense3
(la liste des Diplômes de Licence 3
APOGEE)
ApoListAllDiplomes
(la liste des tous les Diplômes
APOGEE)
ApoVilleFromCP *
(liste Ville Fct(Code Postal)
APOGEE)
ApoDepartementFromNum *
(liste Département Fct(Numéro Département)
APOGEE)
FormatDate
FormatTel
Nb total de fonctions Ajax disponibles : 37
Rappel usage général : ../Ajax.php?fct='fonctionAjax'&p1='optionalparam1'&p2='optionalparam2'&p3='optionalparam1'
Légende
FonctionAvecParamètre *
Fonction qui renvoi des données issu de base de données métiers, at
qui nécessite des paramètres 'p1' (et peut être 'p2' aussi... cf. code php)
NomFonction
Fonction qui renvoi des données issu de base de données métiers, sans
paramètres particuliers...
NomFonction
Fonction qui renvoi des données personnalisés en fonction d'un code
php prédéfini dans le script Ajax.php
Auteur: Ubéda San José Michel
page 13 / 13
v1.02 du 07-09/07/2009