/[openfoncier]/trunk/spg/widgetctl.php
ViewVC logotype

Contents of /trunk/spg/widgetctl.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 73 - (show annotations)
Fri Aug 19 14:58:45 2011 UTC (13 years, 5 months ago) by fraynaud
File size: 6878 byte(s)
 modif de flo



1 <?php
2 /**
3 * Ce script permet ...
4 *
5 * @package openmairie_exemple
6 * @version SVN : $Id$
7 */
8
9 require_once "../obj/utils.class.php";
10 if (!isset($f)) {
11 $f = new utils("nohtml");
12 header("Content-type: text/html; charset=".CHARSET."");
13 }
14
15 /**
16 *
17 */
18 function widgetView($id = NULL,
19 $title = NULL,
20 $content = NULL,
21 $footer = NULL,
22 $mode_edit = false) {
23
24 // Ouverture du conteneur du widget
25 echo "<div";
26 echo " class=\"widget ui-widget ui-widget-content ui-helper-clearfix ui-corner-all\"";
27 echo " id=\"widget_".$id."\"";
28 echo ">\n";
29
30 // Titre du widget
31 echo "<div class=\"widget-header ";
32 if ($mode_edit == true) {
33 echo "widget-header-edit widget-header-move ";
34 }
35 echo "ui-widget-header ui-corner-all\">";
36 echo "<h3>";
37 echo $title;
38 echo "</h3>";
39 echo "</div>\n";
40
41 // Ouverture du wrapper : Contenu + Footer
42 echo "<div class=\"widget-content-wrapper\">\n";
43
44 // Contenu du widget
45 echo "<!-- Start Widget Content -->\n";
46 echo "<div class=\"widget-content\">\n\n";
47 echo $content;
48 echo "\n\n</div>\n";
49 echo "<!-- End Widget Content -->\n";
50
51 // Footer du widget
52 if ($footer != "#" && $footer != "" && $footer != NULL) {
53 echo "<div class=\"widget-footer\">\n";
54 echo "<a href='".$footer."' >"._("Acceder au lien")."</a>\n";
55 echo "</div>\n";
56 }
57
58 // Fermeture du wrapper : Contenu + Footer
59 echo "</div>\n";
60
61 // Fermeture du conteneur du widget
62 echo "</div>\n";
63
64 }
65
66 /**
67 * UPDATE
68 */
69 if (isset($_GET['action']) && $_GET['action'] == "update") {
70 //
71 $alldata = array();
72 foreach($_GET as $key => $values) {
73 // Dans le tableau associatif $_GET il y a la cle 'action' necessaire
74 // au fonctionnement du script, donc si c'est le cas on passe a
75 // l'iteration suivante
76 if ($key == "action") {
77 continue;
78 }
79 //
80 $bloc = "C".str_replace("column_", "", $key);
81 //
82 $widgets = explode("x", $values);
83 //
84 foreach($widgets as $i => $widget) {
85 //
86 $position = $i+1;
87 //
88 $widget = str_replace("widget_", "", $widget);
89 // Lorsqu'une colonne est vide, il y a une valeur vide dans le
90 // tableau widget, donc si c'est le cas on passe a l'iteration
91 // suivante
92 if ($widget == "") {
93 continue;
94 }
95 //
96 array_push($alldata, array($position, $bloc, $widget));
97 }
98 }
99
100 //
101 $sql = "update ".DB_PREFIXE."om_tdb set ";
102 $sql .= " position=?, ";
103 $sql .= " bloc=? ";
104 $sql .= " where om_tdb=? and login='".$_SESSION['login']."'";
105 //
106 $sth = $f->db->prepare($sql);
107 $f->isDatabaseError($sth);
108 //
109 $res =& $f->db->executeMultiple($sth, $alldata);
110 $f->isDatabaseError($res);
111 }
112
113 /**
114 * DELETE
115 */
116 if (isset($_GET['action']) && $_GET['action'] == "delete") {
117 //
118 if (isset($_GET['widget']) && $_GET['widget'] != "") {
119 //
120 $widget = str_replace("widget_", "", $_GET['widget']);
121 // Suppression du widget
122 $sql = "delete from ".DB_PREFIXE."om_tdb where om_tdb =".$widget;
123 $res = $f->db->query($sql);
124 $f->isDatabaseError($res);
125 }
126 }
127
128 /**
129 * INSERT
130 */
131 if (isset($_GET['action']) && $_GET['action'] == "insert") {
132 //
133 $bloc = "C1";
134 // Sur la validation du formulaire
135 if (isset($_POST['widget_add_form_valid'])) {
136 // Ajout du widget dans la base et affichage de ce dernier
137 //
138 (isset($_POST['widget']) && is_numeric($_POST['widget']) ? $widget = $_POST['widget'] : $widget = 0);
139 //
140 $valF = array();
141 $valF['om_tdb'] = $f->db->nextId(DB_PREFIXE."om_tdb");
142 $valF['login'] = $_SESSION['login'];
143 $valF['om_widget'] = $widget;
144 $valF['bloc'] = $bloc;
145 $valF['position'] = 1;
146 //
147 $sql = "update ".DB_PREFIXE."om_tdb set position=position+1 where login = '".$_SESSION['login']."' and bloc ='".$bloc."'";
148 $position = $f->db->query($sql);
149 $f->isDatabaseError($position);
150 //
151 $res = $f->db->autoExecute(DB_PREFIXE."om_tdb", $valF, DB_AUTOQUERY_INSERT);
152 $f->isDatabaseError($res);
153 // On retourne l'id du widget dans le tableau de bord de l'utilisateur
154 // pour l'afficher
155 echo $valF['om_tdb'];
156 } else {
157 // Composition du formulaire
158 $content = "";
159 // Description du formulaire
160 $content .= _("Selectionner le widget a inserer puis cliquer sur ".
161 "le bouton 'Valider' pour valider votre selection.");
162 // Ouverture du formulaire
163 $content .= "<form";
164 $content .= " method=\"post\"";
165 $content .= " id=\"widget_add_form\"";
166 $content .= " action=\"../tdb/ajouter.php?bloc=".$bloc."\"";
167 $content .= ">\n";
168 // On recupere la liste des widgets que l'utilisateur peut inserer en
169 // fonction de son profil
170 $sql = "select om_widget as widget, libelle from ".DB_PREFIXE."om_widget ";
171 $sql .= " where om_profil <= '".$_SESSION['profil']."' order by libelle";
172 $res = $f->db->query($sql);
173 $f->isDatabaseError($res);
174 // Liste des widgets que l'utilisateur peut inserer en fonction de son
175 // profil
176 $content .= "<select name=\"widget\">";
177 while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
178 $content .= "<option value='".$row['widget']."' >".$row['libelle']."</option>";
179 }
180 $content .= "</select>\n";
181 // Bouton Valider
182 $content .= "<input type=\"button\" value=\""._("Valider")."\" name=\"widget.add.form.valid\" onclick=\"widget_add_form_post()\" />\n";
183 // Fermeture du formulaire
184 $content .= "</form>\n";
185
186 // Affichage du widget
187 widgetView("",
188 _("Ajouter un nouveau widget"),
189 $content,
190 "",
191 true);
192
193 }
194 }
195
196 /**
197 * VIEW
198 */
199 if (isset($_GET['action']) && $_GET['action'] == "view") {
200 //
201 $sql = "select om_tdb, om_widget.om_widget as widget, ";
202 $sql .= "om_widget.libelle as libelle, om_widget.lien as lien, ";
203 $sql .= "om_widget.texte as texte from om_tdb ";
204 $sql .= "inner join om_widget on om_widget.om_widget=om_tdb.om_widget ";
205 $sql .= "where om_tdb=".$_GET['widget']." and ";
206 $sql .= "login = '".$_SESSION['login']."'";
207 //
208 $res = $f->db->query($sql);
209 $f->isDatabaseError($res);
210 //
211 $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);
212 //
213 widgetView($row['om_tdb'],
214 $row['libelle'],
215 $row['texte'],
216 $row['lien'],
217 true);
218 }
219
220 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26