ryxeo-glpi-git / front / setup.dropdowns.php @ b67d8923
Historique | Voir | Annoter | Télécharger (10,8 ko)
1 | b67d8923 | Eric Seigne | <?php
|
---|---|---|---|
2 | /*
|
||
3 | * @version $Id: setup.dropdowns.php 7763 2009-01-06 18:44:50Z moyo $
|
||
4 | -------------------------------------------------------------------------
|
||
5 | GLPI - Gestionnaire Libre de Parc Informatique
|
||
6 | Copyright (C) 2003-2009 by the INDEPNET Development Team.
|
||
7 | |||
8 | http://indepnet.net/ http://glpi-project.org
|
||
9 | -------------------------------------------------------------------------
|
||
10 | |||
11 | LICENSE
|
||
12 | |||
13 | This file is part of GLPI.
|
||
14 | |||
15 | GLPI is free software; you can redistribute it and/or modify
|
||
16 | it under the terms of the GNU General Public License as published by
|
||
17 | the Free Software Foundation; either version 2 of the License, or
|
||
18 | (at your option) any later version.
|
||
19 | |||
20 | GLPI is distributed in the hope that it will be useful,
|
||
21 | but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
22 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
23 | GNU General Public License for more details.
|
||
24 | |||
25 | You should have received a copy of the GNU General Public License
|
||
26 | along with GLPI; if not, write to the Free Software
|
||
27 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||
28 | --------------------------------------------------------------------------
|
||
29 | */
|
||
30 | |||
31 | // ----------------------------------------------------------------------
|
||
32 | // Original Author of file:
|
||
33 | // Purpose of file:
|
||
34 | // ----------------------------------------------------------------------
|
||
35 | |||
36 | |||
37 | |||
38 | //,"ocsng","rulesengine","computer","monitor","printer","peripheral","phone","software","networking","computer","monitor","printer","peripheral","phone","software","networking");
|
||
39 | |||
40 | if(!defined('GLPI_ROOT')){ |
||
41 | define('GLPI_ROOT', '..'); |
||
42 | |||
43 | $NEEDED_ITEMS=array("setup"); |
||
44 | include (GLPI_ROOT . "/inc/includes.php"); |
||
45 | } |
||
46 | |||
47 | checkSeveralRightsOr(array("dropdown"=>"w","entity_dropdown"=>"w")); |
||
48 | |||
49 | //if(isset($_SERVER['HTTP_REFERER']))
|
||
50 | //$httpreferer=preg_replace("/\?which=\w*/","",$_SERVER['HTTP_REFERER']);
|
||
51 | if (isset($_POST["which"]))$which=$_POST["which"]; |
||
52 | elseif (isset($_GET["which"]))$which=$_GET["which"]; |
||
53 | else $which=""; |
||
54 | |||
55 | if (isset($_GET["where"]))$where=$_GET["where"]; |
||
56 | else if (isset($_POST["value_where"]))$where=$_POST["value_where"]; |
||
57 | else $where=""; |
||
58 | if (isset($_GET["tomove"])) $tomove=$_GET["tomove"]; |
||
59 | else if (isset($_POST["value_to_move"])) $tomove=$_POST["value_to_move"]; |
||
60 | else $tomove=""; |
||
61 | if (isset($_GET["value2"]))$value2=$_GET["value2"]; |
||
62 | else if (isset($_POST["value2"]))$value2=$_POST["value2"]; |
||
63 | else $value2=""; |
||
64 | if (isset($_GET["type"]))$type=$_GET["type"]; |
||
65 | else if (isset($_POST["type"]))$type=$_POST["type"]; |
||
66 | else $type=""; |
||
67 | // Selected Item
|
||
68 | if (isset($_POST["ID"])) $ID=$_POST["ID"]; |
||
69 | elseif (isset($_GET["ID"])) $ID=$_GET["ID"]; |
||
70 | else $ID=""; |
||
71 | |||
72 | if (isset($_POST["FK_entities"])) $FK_entities=$_POST["FK_entities"]; |
||
73 | elseif (isset($_GET["FK_entities"])) $FK_entities=$_GET["FK_entities"]; |
||
74 | else $FK_entities=""; |
||
75 | |||
76 | if (isset($_POST['mass_delete'])){ |
||
77 | $input['tablename']=$_POST['which']; |
||
78 | foreach ($_POST["item"] as $key => $val){ |
||
79 | if ($val==1) { |
||
80 | $input['ID']=$key; |
||
81 | deleteDropdown($input);
|
||
82 | } |
||
83 | } |
||
84 | glpi_header($_SERVER['PHP_SELF']."?which=$which&value2=$value2&tomove=$tomove&where=$where&type=$type&FK_entities=$FK_entities"); |
||
85 | |||
86 | }else if (isset($_POST["several_add"])) { |
||
87 | |||
88 | for ($i=$_POST["from"];$i<=$_POST["to"];$i++){ |
||
89 | $_POST["value"]=$_POST["before"].$i.$_POST["after"]; |
||
90 | addDropdown($_POST);
|
||
91 | } |
||
92 | |||
93 | logEvent(0, "dropdown", 5, "setup", $_SESSION["glpiname"]." ".$LANG["log"][20]); |
||
94 | glpi_header($_SERVER['PHP_SELF']."?which=$which&value2=$value2&tomove=$tomove&where=$where&type=$type&FK_entities=$FK_entities"); |
||
95 | |||
96 | }else if (isset($_POST["move"])) { |
||
97 | logEvent(0, "dropdown", 5, "setup", $_SESSION["glpiname"]." ".$LANG["log"][21]." ".getDropdownName($_POST['tablename'],$_POST['value_to_move'])); |
||
98 | moveTreeUnder($_POST["tablename"],$_POST["value_to_move"],$_POST["value_where"]); |
||
99 | glpi_header($_SERVER['PHP_SELF']."?which=$which&value2=$value2&tomove=$tomove&where=$where&type=$type&FK_entities=$FK_entities"); |
||
100 | |||
101 | }else if (isset($_POST["add"])) { |
||
102 | addDropdown($_POST);
|
||
103 | logEvent(0, "dropdown", 5, "setup", $_SESSION["glpiname"]." ".$LANG["log"][20]." ".$_POST["value"]); |
||
104 | glpi_header($_SERVER['PHP_SELF']."?which=$which&value2=$value2&tomove=$tomove&where=$where&type=$type&FK_entities=$FK_entities"); |
||
105 | |||
106 | } else if (isset($_POST["delete"])) { |
||
107 | if(dropdownUsed($_POST["tablename"], $_POST["ID"]) && empty($_POST["forcedelete"])) { |
||
108 | if (!ereg("popup",$_SERVER['PHP_SELF'])){ |
||
109 | commonHeader($LANG["common"][12],$_SERVER['PHP_SELF'],"config","dropdowns"); |
||
110 | } |
||
111 | showDeleteConfirmForm($_SERVER['PHP_SELF'],$_POST["tablename"], $_POST["ID"],$_POST["FK_entities"]); |
||
112 | if (!ereg("popup",$_SERVER['PHP_SELF'])){ |
||
113 | commonFooter(); |
||
114 | } |
||
115 | } else {
|
||
116 | logEvent(0, "dropdown", 4, "setup", $_SESSION["glpiname"]." ".$LANG["log"][22]." ".getDropdownName($_POST['which'],$_POST['ID'])); |
||
117 | deleteDropdown($_POST);
|
||
118 | glpi_header($_SERVER['PHP_SELF']."?which=$which&value2=$value2&FK_entities=$FK_entities"); |
||
119 | } |
||
120 | |||
121 | } else if (isset($_POST["update"])) { |
||
122 | updateDropdown($_POST);
|
||
123 | logEvent(0, "dropdown", 4, "setup", $_SESSION["glpiname"]." ".$LANG["log"][21]); |
||
124 | glpi_header($_SERVER['PHP_SELF']."?which=$which&value2=$value2&ID=$ID&FK_entities=$FK_entities"); |
||
125 | |||
126 | } else if (isset($_POST["replace"])) { |
||
127 | replaceDropDropDown($_POST);
|
||
128 | logEvent(0, "dropdown", 4, "setup", $_SESSION["glpiname"]." ".$LANG["log"][21]); |
||
129 | glpi_header($_SERVER['PHP_SELF']."?which=$which&value2=$value2&FK_entities=$FK_entities"); |
||
130 | |||
131 | } else {
|
||
132 | if (!ereg("popup",$_SERVER['PHP_SELF'])){ |
||
133 | commonHeader($LANG["common"][12],$_SERVER['PHP_SELF'],"config","dropdowns"); |
||
134 | } |
||
135 | |||
136 | $optgroup=array( |
||
137 | $LANG["setup"][139]=>array( |
||
138 | "glpi_dropdown_locations"=>$LANG["common"][15], |
||
139 | "glpi_dropdown_state"=>$LANG["setup"][83], |
||
140 | "glpi_dropdown_manufacturer"=>$LANG["common"][5], |
||
141 | ), |
||
142 | |||
143 | $LANG["setup"][140]=>array( |
||
144 | "glpi_type_computers"=>$LANG["setup"][4], |
||
145 | "glpi_type_networking"=>$LANG["setup"][42], |
||
146 | "glpi_type_printers"=>$LANG["setup"][43], |
||
147 | "glpi_type_monitors"=>$LANG["setup"][44], |
||
148 | "glpi_type_peripherals"=>$LANG["setup"][69], |
||
149 | "glpi_type_phones"=>$LANG["setup"][504], |
||
150 | "glpi_dropdown_cartridge_type"=>$LANG["setup"][84], |
||
151 | "glpi_dropdown_consumable_type"=>$LANG["setup"][92], |
||
152 | "glpi_dropdown_contract_type"=>$LANG["setup"][85], |
||
153 | "glpi_dropdown_contact_type"=>$LANG["setup"][82], |
||
154 | "glpi_dropdown_ram_type"=>$LANG["setup"][86], |
||
155 | "glpi_dropdown_enttype"=>$LANG["setup"][80], |
||
156 | "glpi_dropdown_interface"=>$LANG["setup"][93], |
||
157 | "glpi_dropdown_case_type"=>$LANG["setup"][45], |
||
158 | "glpi_dropdown_phone_power"=>$LANG["setup"][505], |
||
159 | ), |
||
160 | |||
161 | $LANG["common"][22]=>array( |
||
162 | "glpi_dropdown_model"=>$LANG["setup"][91], |
||
163 | "glpi_dropdown_model_networking"=>$LANG["setup"][95], |
||
164 | "glpi_dropdown_model_printers"=>$LANG["setup"][96], |
||
165 | "glpi_dropdown_model_monitors"=>$LANG["setup"][94], |
||
166 | "glpi_dropdown_model_peripherals"=>$LANG["setup"][97], |
||
167 | "glpi_dropdown_model_phones"=>$LANG["setup"][503], |
||
168 | |||
169 | ), |
||
170 | |||
171 | $LANG["setup"][142]=>array( |
||
172 | "glpi_dropdown_budget"=>$LANG["financial"][87], |
||
173 | "glpi_dropdown_rubdocs"=>$LANG["setup"][81], |
||
174 | ), |
||
175 | |||
176 | $LANG["title"][24]=>array( |
||
177 | "glpi_dropdown_tracking_category"=>$LANG["setup"][79], |
||
178 | ), |
||
179 | |||
180 | $LANG["setup"][144]=>array( |
||
181 | "glpi_dropdown_kbcategories"=>$LANG["title"][5], |
||
182 | ), |
||
183 | |||
184 | $LANG["setup"][145]=>array( |
||
185 | "glpi_dropdown_os"=>$LANG["setup"][5], |
||
186 | "glpi_dropdown_os_version"=>$LANG["computers"][52], |
||
187 | "glpi_dropdown_os_sp"=>$LANG["computers"][53], |
||
188 | "glpi_dropdown_auto_update"=>$LANG["computers"][51], |
||
189 | ), |
||
190 | |||
191 | $LANG["setup"][88]=>array( |
||
192 | "glpi_dropdown_iface"=>$LANG["setup"][9], |
||
193 | "glpi_dropdown_firmware"=>$LANG["setup"][71], |
||
194 | "glpi_dropdown_netpoint"=>$LANG["setup"][73], |
||
195 | "glpi_dropdown_domain"=>$LANG["setup"][89], |
||
196 | "glpi_dropdown_network"=>$LANG["setup"][88], |
||
197 | "glpi_dropdown_vlan"=>$LANG["setup"][90], |
||
198 | ), |
||
199 | |||
200 | $LANG["Menu"][4]=>array( |
||
201 | "glpi_dropdown_software_category"=>$LANG["softwarecategories"][5], |
||
202 | ) |
||
203 | |||
204 | ); //end $opt
|
||
205 | |||
206 | $plugdrop=getPluginsDropdowns();
|
||
207 | if (count($plugdrop)){ |
||
208 | $optgroup=array_merge($optgroup,$plugdrop); |
||
209 | } |
||
210 | if (!haveRight("dropdown","w")){ |
||
211 | foreach($optgroup as $label=>$dp){ |
||
212 | foreach ($dp as $key => $val){ |
||
213 | if (!in_array($key,$CFG_GLPI["specif_entities_tables"])){ |
||
214 | unset($optgroup[$label][$key]); |
||
215 | } |
||
216 | |||
217 | } |
||
218 | if (count($optgroup[$label])==0){ |
||
219 | unset($optgroup[$label]); |
||
220 | } |
||
221 | } |
||
222 | } |
||
223 | |||
224 | if (!haveRight("entity_dropdown","w")){ |
||
225 | foreach($optgroup as $label=>$dp){ |
||
226 | foreach ($dp as $key => $val){ |
||
227 | if (in_array($key,$CFG_GLPI["specif_entities_tables"])){ |
||
228 | unset($optgroup[$label][$key]); |
||
229 | } |
||
230 | |||
231 | } |
||
232 | if (count($optgroup[$label])==0){ |
||
233 | unset($optgroup[$label]); |
||
234 | } |
||
235 | } |
||
236 | } |
||
237 | |||
238 | if (!ereg("popup",$_SERVER['PHP_SELF'])){ |
||
239 | echo "<div align='center'><form method='get' action=\"".$_SERVER['PHP_SELF']."\">"; |
||
240 | echo "<table class='tab_cadre' cellpadding='5'><tr><th colspan='2'>"; |
||
241 | echo $LANG["setup"][72].": </th></tr><tr class='tab_bg_1'><td><select name='which'>"; |
||
242 | |||
243 | foreach($optgroup as $label=>$dp){ |
||
244 | |||
245 | echo "<optgroup label=\"$label\">"; |
||
246 | |||
247 | foreach ($dp as $key => $val){ |
||
248 | $sel=""; |
||
249 | if ($which==$key) $sel="selected"; |
||
250 | echo "<option value='$key' $sel>".$val."</option>"; |
||
251 | } |
||
252 | echo "</optgroup>"; |
||
253 | } |
||
254 | echo "</select></td>"; |
||
255 | echo "<td><input type='submit' value=\"".$LANG["buttons"][2]."\" class='submit' ></td></tr>"; |
||
256 | echo "</table></form></div>"; |
||
257 | } |
||
258 | |||
259 | if ($which=="glpi_dropdown_netpoint"){ |
||
260 | if (haveRight("entity_dropdown","w")){ |
||
261 | $title=$LANG["setup"][73]; |
||
262 | |||
263 | if (ereg("popup",$_SERVER['PHP_SELF'])){ |
||
264 | |||
265 | if ($value2>0) { |
||
266 | $title .= " (" . $LANG["common"][15] . ": " . getDropdownName("glpi_dropdown_locations", $value2) . ")"; |
||
267 | } |
||
268 | |||
269 | } else {
|
||
270 | echo "<div align='center'><form method='get' action=\"".$_SERVER['PHP_SELF']."\">"; |
||
271 | echo "<table class='tab_cadre' cellpadding='5'><tr><th colspan='2'>"; |
||
272 | echo $LANG["setup"][77].": </th></tr><tr class='tab_bg_1'><td>"; |
||
273 | echo "<input type='hidden' name='which' value='glpi_dropdown_netpoint' />"; |
||
274 | dropdownValue("glpi_dropdown_locations", "value2", $value2, $FK_entities); |
||
275 | echo "</td><td><input type='submit' value=\"".$LANG["buttons"][2]."\" class='submit' ></td></tr>"; |
||
276 | echo "</table></form></div>"; |
||
277 | } |
||
278 | if (strlen($value2) > 0) { |
||
279 | if (isset($_GET['mass_deletion'])){ |
||
280 | showDropdownList($_SERVER['PHP_SELF'],$which,$FK_entities,$value2); |
||
281 | } else {
|
||
282 | showFormNetpoint($_SERVER['PHP_SELF'],$title,$ID,$FK_entities,$value2); |
||
283 | } |
||
284 | } |
||
285 | } |
||
286 | } else if ($which){ |
||
287 | // Search title
|
||
288 | $title=""; |
||
289 | foreach ($optgroup as $key => $val){ |
||
290 | if (isset($val[$which])){ |
||
291 | $title=$val[$which]; |
||
292 | } |
||
293 | } |
||
294 | if (isset($_GET['mass_deletion'])){ |
||
295 | showDropdownList($_SERVER['PHP_SELF'],$which,$FK_entities); |
||
296 | } else {
|
||
297 | if (!empty($title)){ |
||
298 | if (in_array($which,$CFG_GLPI["dropdowntree_tables"])){ |
||
299 | showFormTreeDown($_SERVER['PHP_SELF'],$which,$title,$ID,$value2,$where,$tomove,$type,$FK_entities); |
||
300 | } else {
|
||
301 | showFormDropDown($_SERVER['PHP_SELF'],$which,$title,$ID,$FK_entities); |
||
302 | } |
||
303 | } |
||
304 | } |
||
305 | } |
||
306 | |||
307 | if (!ereg("popup",$_SERVER['PHP_SELF'])){ |
||
308 | commonFooter(); |
||
309 | } |
||
310 | } |
||
311 | |||
312 | |||
313 | ?> |