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