/[openfoncier]/branches/poc_evo_pdf/scr/form.php
ViewVC logotype

Annotation of /branches/poc_evo_pdf/scr/form.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2609 - (hide annotations)
Fri Dec 13 15:56:33 2013 UTC (11 years, 1 month ago) by nhaye
File size: 11827 byte(s)
Modification du nom de la branche contenant la poc d'évolutions des éditions (export du projet openads)
cela dans le but de concerver une trace jusqu'à l'implémentation complète de la fonctionnalité

1 nhaye 2483 <?php
2     /**
3     * Ce script permet de gerer l'affichage du formulaire
4     *
5     * @package openmairie_exemple
6     * @version SVN : $Id: form.php 2517 2013-10-18 10:12:45Z softime $
7     */
8    
9     require_once "../obj/utils.class.php";
10     $f = new utils("nohtml");
11    
12     /**
13     * Initialisation des variables
14     */
15     // Nom de l'objet metier du formulaire
16     (isset($_GET['obj']) ? $obj = $_GET['obj'] : $obj = "");
17     // Identifiant de l'objet metier du formulaire et mode d'ajout
18     if (isset($_GET['idx']) and $_GET['idx'] != '') {
19     $idx = $_GET['idx'];
20    
21     if (isset($_GET['action']) and $_GET['action'] != '') {
22     $maj = $_GET['action'];
23    
24     if ($maj == 0) {
25     $idx = "]";
26     }
27    
28     } else {
29     (isset($_GET['ids']) ? $maj = 2 : $maj = 1);
30     }
31     } else {
32     $maj = 0;
33     $idx = "]";
34     }
35     // Flag de validation du formulaire
36     (isset($_GET['validation']) ? $validation = $_GET['validation'] : $validation = 0);
37     // Libelle de l'enregistement du formulaire
38     (isset($_GET['idz']) ? $idz = $_GET['idz'] : $idz = "");
39     // Premier enregistrement a afficher sur le tableau de la page precedente (tab.php?premier=)
40     (isset($_GET['premier']) ? $premier = $_GET['premier'] : $premier = 0);
41     // Colonne choisie pour le tri sur le tableau de la page precedente (tab.php?tricol=)
42     (isset($_GET['tricol']) ? $tricol = $_GET['tricol'] : $tricol = "");
43     // Colonne choisie pour la selection sur le tableau de la page precedente (tab.php?selectioncol=)
44     (isset($_GET['selectioncol']) ? $selectioncol = $_GET['selectioncol'] : $selectioncol = "");
45     // Id unique de la recherche avancee
46     (isset($_GET['advs_id']) ? $advs_id = $_GET['advs_id'] : $advs_id = "");
47     // Valilite des objets a afficher
48     (isset($_GET['valide']) ? $valide = $_GET['valide'] : $valide = "");
49     // Origine de l'action
50     (isset($_GET['retour']) ? $retour = $_GET['retour'] : $retour = "");
51     // objet de sous-form
52     (isset($_GET['direct_form']) ? $direct_form = $_GET['direct_form'] : $direct_form = "");
53     // idx de sous-form
54     (isset($_GET['direct_idx']) ? $direct_idx = $_GET['direct_idx'] : $direct_idx = "");
55     // action sur le sous-form
56     (isset($_GET['direct_action']) ? $direct_action = $_GET['direct_action'] : $direct_action = "");
57     // Chaine recherchee
58     if (isset($_GET['recherche'])) {
59     $recherche = $_GET['recherche'];
60     if (get_magic_quotes_gpc()) {
61     $recherche1 = StripSlashes($recherche);
62     } else {
63     $recherche1 = $recherche;
64     }
65     } else {
66     $recherche = "";
67     $recherche1 = "";
68     }
69     // Ce tableau permet a chaque application de definir des variables
70     // supplementaires qui seront passees a l'objet metier dans le constructeur
71     // a travers ce tableau
72     // Voir le fichier dyn/form.get.specific.inc.php pour plus d'informations
73     $extra_parameters = array();
74     if (file_exists("../dyn/form.get.specific.inc.php")) {
75     require "../dyn/form.get.specific.inc.php";
76     }
77    
78     /**
79     * Verification des parametres
80     */
81     if (strpos($obj, "/") !== false
82     || ! ( file_exists("../sql/".$f->phptype."/".$obj.".inc.php")
83     || file_exists("../sql/".$f->phptype."/".$obj.".inc"))
84     || !file_exists("../obj/".$obj.".class.php")) {
85     $class = "error";
86     $message = _("L'objet est invalide.");
87     $f->addToMessage($class, $message);
88     $f->setFlag(NULL);
89     $f->display();
90     die();
91     }
92    
93     // Dictionnaire des actions
94     // ------------------------
95    
96     // Declaration du dictionnaire
97     $portlet_actions = array();
98    
99     if ($maj == 3) {
100    
101     // Action : modifier
102     $portlet_actions['modifier'] =
103     array('lien' => 'form.php?obj='.$obj.'&amp;action=1'.'&amp;idx=',
104     'id' => '&amp;idz='.$idz.'&amp;premier='.$premier.'&amp;advs_id='.$advs_id.'&amp;recherche='.$recherche1.'&amp;tricol='.$tricol.'&amp;selectioncol='.$selectioncol.'&amp;valide='.$valide.'&amp;retour=form',
105     'lib' => '<span class="om-prev-icon om-icon-16 edit-16" title="'._('Modifier').'">'._('Modifier').'</span>',
106     'rights' => array('list' => array($obj, $obj.'_modifier'), 'operator' => 'OR'),
107     'ordre' => 10,);
108    
109     // Action : supprimer
110     $portlet_actions['supprimer'] =
111     array('lien' => 'form.php?obj='.$obj.'&amp;action=2&amp;idx=',
112     'id' => '&amp;idz='.$idz.'&amp;premier='.$premier.'&amp;advs_id='.$advs_id.'&amp;recherche='.$recherche1.'&amp;tricol='.$tricol.'&amp;selectioncol='.$selectioncol.'&amp;valide='.$valide.'&amp;retour=form',
113     'lib' => '<span class="om-prev-icon om-icon-16 delete-16" title="'._('Supprimer').'">'._('Supprimer').'</span>',
114     'rights' => array('list' => array($obj, $obj.'_supprimer'), 'operator' => 'OR'),
115     'ordre' => 20,);
116     }
117    
118     /**
119     *
120     */
121     // Initialisation des variables presentes dans le fichier inclus juste apres
122     $table = "";
123     $ico = "";
124     $ent = "";
125    
126     // Type d'affichage de la page
127     // include ?
128     $display_accordion = false;
129     $display_tabs=true;
130     if( $_SESSION["layout"]=="jquerymobile"){
131     $display_accordion = true;
132     $display_tabs=false;
133     }
134     //
135    
136     // surcharge globale
137     if (file_exists('../dyn/form.inc.php')) {
138     require_once '../dyn/form.inc.php';
139     }
140    
141     // surcharge specifique des objets
142     if (file_exists("../sql/".$f->phptype."/".$obj.".inc.php")) {
143     require( "../sql/".$f->phptype."/".$obj.".inc.php");
144     } else {
145     require( "../sql/".$f->phptype."/".$obj.".inc");
146     }
147    
148     // Inclusion de la classe objet
149     require_once "../obj/".$obj.".class.php";
150     // Instanciation de l'objet metier
151     $enr = new $obj($idx, $f->db, 0);
152     // Incrementation du compteur de validation du formulaire
153     $validation++;
154     // Enclenchement de la tamporisation de sortie
155     ob_start();
156     // Appel de la methode formulaire
157     $enr->formulaire("", $validation, $maj, $f->db, $_POST, $obj, 0, $idx,
158     $premier, $recherche, $tricol, $idz, $selectioncol, $advs_id,
159     $valide, $retour, $portlet_actions, $extra_parameters);
160     // Affecte le contenu courant du tampon de sortie a $return puis l'efface
161     $return = ob_get_clean();
162    
163     // Récupère le fil d'Ariane
164     $ent = $enr->getFormTitle($ent);
165    
166     /**
167     * Affichage de la structure de la page
168     */
169     // Verification des credentials de l'utilisateur
170     $right_suffix = "_";
171     switch ($maj) {
172     case "0" : $right_suffix .= "ajouter"; break;
173     case "1" : $right_suffix .= "modifier"; break;
174     case "2" : $right_suffix .= "supprimer"; break;
175     case "3" : $right_suffix .= "consulter"; break;
176     }
177     $f->isAuthorized(array($obj.$right_suffix, $obj), "OR");
178     // Affichage du titre
179     $f->setTitle($ent);
180     $f->setIcon($ico);
181     $f->setHelp($obj);
182     // Affichage des elements
183     $f->setFlag(NULL);
184     $f->display();
185    
186     /**
187     *
188     */
189     //
190     echo "<div id=\"formulaire\">\n\n";
191    
192     // Si formulaire en mode ajout et formulaire valide et enregistrement correct
193     // alors on recupere $idx pour le passer aux sous formulaires
194     if ($maj == 0 and $validation>1 and $enr->correct==1 and $idx ==']') {
195     $idx = $enr->valF[$enr->clePrimaire];
196     }
197    
198     //premier onglet
199    
200     /**
201     * Affichage du titre du tableau dans un onglet ou sous une autre forme selon
202     * le layout
203     */
204     //
205     if (isset($form_title)) {
206     //
207     $param = $form_title;
208     } elseif (isset($tab_title)) {
209     //
210     $param = $tab_title;
211     } else {
212     //
213     $param = _($obj);
214     }
215     $f->layout->display_form_lien_onglet_un($param);
216    
217    
218     // Affichage des sous formulaires en onglets
219     $tabs = array();
220     if (isset($sousformulaire) and $display_tabs) {
221     //
222    
223     foreach ($sousformulaire as $elem) {
224     //
225     if ($f->isAccredited(array($elem, $elem."_tab"), "OR") == false) {
226     continue;
227     }
228     //
229     $tabs[] = $elem;
230     // ouverture lien onglet
231     echo "\t\t<li>";
232     echo "<a id=\"".$elem."\"";
233     //
234     if (isset($sousformulaire_parameters[$elem]["href"])) {
235     echo " href=\"".$sousformulaire_parameters[$elem]["href"]."?retourformulaire=".$obj."&amp;idxformulaire=".$idx."\">";
236     } else {
237     echo " href=\"../scr/soustab.php?obj=".$elem."&amp;retourformulaire=".$obj."&amp;idxformulaire=".$idx."\">";
238     }
239     //
240     if (isset($sousformulaire_parameters[$elem]["title"])) {
241     echo $sousformulaire_parameters[$elem]["title"];
242     } else {
243     echo _($elem);
244     }
245     // fermeture lien onglet
246     echo "</a>";
247     echo "</li>\n";
248    
249    
250     }
251     }
252     if ($display_accordion == false){
253     // Affichage de la recherche pour les sous formulaires
254     $link = "soustab.php?retourformulaire=".$obj."&amp;idxformulaire=".$idx;
255     $param = array("link" => $link);
256     $f->layout->display_form_recherche_sousform($param);
257     }
258     // Fermeture de la liste des onglets
259     echo "\t</ul>\n\n";
260    
261    
262     // Ouverture de la balise - Onglet 1
263     echo "\t<div id=\"tabs-1\">\n\n";
264    
265     // Affichage du retour de la methode formulaire
266     echo $return;
267    
268     // Javascript pour la desactivation des onglets lorsque necessaire
269     if ($maj == 0 and $enr->correct == false or $maj == 2 ) {
270     echo "<script type=\"text/javascript\">";
271     echo "$(function() {";
272     echo "$(\"#formulaire\").tabs(\"option\", \"disabled\", [";
273     foreach($tabs as $key => $tab) {
274     echo ($key+1);
275     if (count($tabs) > $key + 1 ) {
276     echo ",";
277     }
278     }
279     echo "]);";
280     echo "});";
281     echo "</script>";
282     } elseif(in_array($direct_form,$tabs)) {
283     // si le parametre direct_form est dans la liste des sous tab
284     echo "<script type=\"text/javascript\">";
285     echo "$(function() {";
286     if($direct_idx!="") {
287     echo "waitUntilExists('sousform-".$direct_form."',function(){
288     // si un idx est defini on charge le formulaire de l'objet correspondant
289     ajaxIt('".$direct_form."','../scr/sousform.php?obj=".$direct_form.
290     "&action=3&idx=".$direct_idx."&retourformulaire=".$obj."&idxformulaire=".$idx."&action=".$direct_action."');
291     })('sousform-".$direct_form."');";
292     }
293     echo "});";
294    
295     echo "</script>";
296     }
297    
298     // Affichage des sous formulaires en accordeon sous le formulaire
299    
300     if ($display_accordion) {
301    
302     if ($maj == 1 or $maj == 3 or ($maj == 0 and $validation>1 and $enr->correct==1 and $idx ==']')){
303     if (isset ($sousformulaire)) {
304     echo "<div class=\"visualClear\"><!-- --></div>";
305     $f->layout->display_form_start_conteneur_onglets_accordion();
306     echo "<h3>";
307     // Affichage de la recherche pour les sous formulaires
308     $link = "soustab.php?retourformulaire=".$obj."&amp;idxformulaire=".$idx;
309     $param = array("link" => $link);
310     $f->layout->display_form_recherche_sousform_accordion($param);
311     foreach ($sousformulaire as $elem) {
312     $f->layout->display_form_start_conteneur_chaque_onglet_accordion();
313    
314     // A VOIR AND ?????????????????????????????????????????????????
315     if (isset($sousformulaire_parameters[$elem]["href"]) and isset($sousformulaire_parameters[$elem]["href"])) {
316     $params = array(
317     "elem" => $elem,
318     "href" => $sousformulaire_parameters[$elem]["href"],
319     "idx" =>$idx,
320     "obj" =>$obj,
321     "title" =>$sousformulaire_parameters[$elem]["title"]
322     );
323     } else {
324     $params = array(
325     "elem" => $elem,
326     "idx" =>$idx,
327     "obj" =>$obj
328     );
329     }
330    
331     $f->layout->display_form_lien_onglet_accordion($params);
332     echo "<div id=\"sousform-$elem\">";
333     //
334     echo "</div>";
335     $f->layout->display_form_close_conteneur_chaque_onglet_accordion();
336     //
337     }
338     //
339     $f->layout->display_form_close_conteneur_onglets_accordion();
340     //
341     }
342     }
343     }
344    
345     // Fermeture de la balise - Onglet 1
346     echo "\n\t</div>\n";
347    
348     // Fermeture de la balise - Conteneur d'onglets
349     echo "</div>\n";
350    
351     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26