a4b8002d34972f47b922e56f163cb3a9e7806afd
[racktables-incomplete-works] / wwwroot / inc / navigation.php
1 <?php
2
3 # This file is a part of RackTables, a datacenter and server room management
4 # framework. See accompanying file "COPYING" for the full copyright and
5 # licensing information.
6
7 /*
8
9 This file contains a series of arrays, which define RackTables as a tree
10 of discrete views ("pages"). Each such page may be in turn split info a set of
11 "tabs". In the latter case it is also possible to define a set of "operations"
12 for a particular combination of page and tab (location). These operations
13 represent actions requested by the user and often expect additional data
14 provided to be executed correctly (constraints on the additional data are
15 defined and validated in ophandlers.php).
16
17 Every page split into tabs must define a tab internally named "default". It is
18 assumed, that this default tab never defines any operations and thus remains
19 read-only.
20
21 */
22
23 $page = array();
24 $tab = array();
25 $trigger = array();
26
27 $ophandler = array();
28 $tabhandler = array();
29 $hook = array();
30 $ophandlers_stack = array();
31 $tabhandlers_stack = array();
32 $hooks_stack = array();
33
34 $delayauth = array();
35 $svghandler = array();
36 $ajaxhandler = array();
37
38 $indexlayout = array
39 (
40 array ('rackspace', 'depot', 'ipv4space', 'ipv6space'),
41 array ('files', 'reports', 'ipv4slb', '8021q'),
42 array ('config', 'objectlog', 'virtual'),
43 );
44
45 $page['index']['title'] = 'Main page';
46 $page['index']['handler'] = 'renderIndex';
47
48 $page['rackspace']['title'] = 'Rackspace';
49 $page['rackspace']['parent'] = 'index';
50 $tab['rackspace']['default'] = 'Browse';
51 $tab['rackspace']['editlocations'] = 'Manage locations';
52 $tab['rackspace']['editrows'] = 'Manage rows';
53 $tab['rackspace']['history'] = 'History';
54 $tabhandler['rackspace']['default'] = 'renderRackspace';
55 $tabhandler['rackspace']['editlocations'] = 'renderRackspaceLocationEditor';
56 $tabhandler['rackspace']['editrows'] = 'renderRackspaceRowEditor';
57 $tabhandler['rackspace']['history'] = 'renderRackspaceHistory';
58 $ophandler['rackspace']['editlocations']['addLocation'] = 'addLocation';
59 $ophandler['rackspace']['editlocations']['updateLocation'] = 'updateLocation';
60 $ophandler['rackspace']['editlocations']['deleteLocation'] = 'deleteLocation';
61 $ophandler['rackspace']['editrows']['addRow'] = 'addRow';
62 $ophandler['rackspace']['editrows']['updateRow'] = 'updateRow';
63 $ophandler['rackspace']['editrows']['deleteRow'] = 'deleteRow';
64
65 $page['depot']['parent'] = 'index';
66 $page['depot']['title'] = 'Objects';
67 $tab['depot']['default'] = 'Browse';
68 $tab['depot']['addmore'] = 'Add more';
69 $tabhandler['depot']['default'] = 'renderDepot';
70 $tabhandler['depot']['addmore'] = 'renderAddMultipleObjectsForm';
71 $ophandler['depot']['addmore']['addObjects'] = 'addMultipleObjects';
72 $ophandler['depot']['addmore']['addLotOfObjects'] = 'addLotOfObjects';
73 $ophandler['depot']['addmore']['deleteObject'] = 'deleteObject';
74
75 $page['location']['bypass'] = 'location_id';
76 $page['location']['bypass_type'] = 'uint';
77 $page['location']['parent'] = 'rackspace';
78 $tab['location']['default'] = 'View';
79 $tab['location']['edit'] = 'Properties';
80 $tab['location']['log'] = 'Log';
81 $tab['location']['tags'] = 'Tags';
82 $tab['location']['files'] = 'Files';
83 $tabhandler['location']['default'] = 'renderLocationPage';
84 $tabhandler['location']['edit'] = 'renderEditLocationForm';
85 $tabhandler['location']['log'] = 'renderObjectLogEditor';
86 $tabhandler['location']['tags'] = 'renderEntityTags';
87 $tabhandler['location']['files'] = 'renderFilesForEntity';
88 $trigger['location']['tags'] = 'trigger_tags';
89 $ophandler['location']['edit']['clearSticker'] = 'clearSticker';
90 $ophandler['location']['edit']['updateLocation'] = 'updateLocation';
91 $ophandler['location']['edit']['deleteLocation'] = 'deleteLocation';
92 $ophandler['location']['log']['add'] = 'addObjectlog';
93 $ophandler['location']['log']['del'] = 'tableHandler';
94 $ophandler['location']['tags']['saveTags'] = 'saveEntityTags';
95 $ophandler['location']['files']['addFile'] = 'addFileToEntity';
96 $ophandler['location']['files']['linkFile'] = 'linkFileToEntity';
97 $ophandler['location']['files']['unlinkFile'] = 'unlinkFile';
98
99 $page['row']['bypass'] = 'row_id';
100 $page['row']['bypass_type'] = 'uint';
101 $page['row']['parent'] = 'rackspace';
102 $tab['row']['default'] = 'View';
103 $tab['row']['editracks'] = 'Manage racks';
104 $tab['row']['newrack'] = 'Add new rack';
105 $tab['row']['tagroller'] = 'Tag roller';
106 $tab['row']['files'] = 'Files';
107 $tabhandler['row']['default'] = 'renderRow';
108 $tabhandler['row']['editracks'] = 'renderRackSortForm';
109 $tabhandler['row']['newrack'] = 'renderNewRackForm';
110 $tabhandler['row']['tagroller'] = 'renderTagRollerForRow';
111 $tabhandler['row']['files'] = 'renderFilesForEntity';
112 $ophandler['row']['tagroller']['rollTags'] = 'rollTags';
113 $ophandler['row']['newrack']['addRack'] = 'addRack';
114 $ophandler['row']['files']['addFile'] = 'addFileToEntity';
115 $ophandler['row']['files']['linkFile'] = 'linkFileToEntity';
116 $ophandler['row']['files']['unlinkFile'] = 'unlinkFile';
117
118 $page['rack']['bypass'] = 'rack_id';
119 $page['rack']['bypass_type'] = 'uint';
120 $page['rack']['parent'] = 'row';
121 $tab['rack']['default'] = 'View';
122 $tab['rack']['edit'] = 'Properties';
123 $tab['rack']['log'] = 'Log';
124 $tab['rack']['design'] = 'Design';
125 $tab['rack']['problems'] = 'Problems';
126 $tab['rack']['tags'] = 'Tags';
127 $tab['rack']['files'] = 'Files';
128 $tabhandler['rack']['default'] = 'renderRackPage';
129 $tabhandler['rack']['edit'] = 'renderEditRackForm';
130 $tabhandler['rack']['log'] = 'renderObjectLogEditor';
131 $tabhandler['rack']['design'] = 'renderRackDesign';
132 $tabhandler['rack']['problems'] = 'renderRackProblems';
133 $tabhandler['rack']['tags'] = 'renderEntityTags';
134 $tabhandler['rack']['files'] = 'renderFilesForEntity';
135 $trigger['rack']['tags'] = 'trigger_tags';
136 $ophandler['rack']['design']['updateRack'] = 'updateRackDesign';
137 $ophandler['rack']['problems']['updateRack'] = 'updateRackProblems';
138 $ophandler['rack']['edit']['clearSticker'] = 'clearSticker';
139 $ophandler['rack']['edit']['updateRack'] = 'updateRack';
140 $ophandler['rack']['edit']['deleteRack'] = 'deleteRack';
141 $ophandler['rack']['log']['add'] = 'addObjectlog';
142 $ophandler['rack']['log']['del'] = 'tableHandler';
143 $ophandler['rack']['tags']['saveTags'] = 'saveEntityTags';
144 $ophandler['rack']['files']['addFile'] = 'addFileToEntity';
145 $ophandler['rack']['files']['linkFile'] = 'linkFileToEntity';
146 $ophandler['rack']['files']['unlinkFile'] = 'unlinkFile';
147
148 $page['object']['bypass'] = 'object_id';
149 $page['object']['bypass_type'] = 'uint';
150 $page['object']['bypass_tabs'] = array ('hl_port_id', 'hl_ip');
151 $page['object']['parent'] = 'depot';
152 $tab['object']['default'] = 'View';
153 $tab['object']['edit'] = 'Properties';
154 $tab['object']['log'] = 'Log';
155 $tab['object']['rackspace'] = 'Rackspace';
156 $tab['object']['ports'] = 'Ports';
157 $tab['object']['ip'] = 'IP';
158 $tab['object']['nat4'] = 'NATv4';
159 $tab['object']['liveports'] = 'Live ports';
160 $tab['object']['livecdp'] = 'Live CDP';
161 $tab['object']['livelldp'] = 'Live LLDP';
162 $tab['object']['snmpportfinder'] = 'SNMP sync';
163 $tab['object']['editrspvs'] = 'RS pools';
164 $tab['object']['lvsconfig'] = 'keepalived.conf';
165 $tab['object']['autoports'] = 'AutoPorts';
166 $tab['object']['tags'] = 'Tags';
167 $tab['object']['files'] = 'Files';
168 $tab['object']['ucs'] = 'UCS';
169 $tab['object']['8021qorder'] = '802.1Q order';
170 $tab['object']['8021qports'] = '802.1Q ports';
171 $tab['object']['8021qsync'] = '802.1Q sync';
172 $tab['object']['cacti'] = 'Cacti Graphs';
173 $tab['object']['munin'] = 'Munin Graphs';
174 $tabhandler['object']['default'] = 'renderObject';
175 $tabhandler['object']['edit'] = 'renderEditObjectForm';
176 $tabhandler['object']['log'] = 'renderObjectLogEditor';
177 $tabhandler['object']['rackspace'] = 'renderRackSpaceForObject';
178 $tabhandler['object']['ports'] = 'renderPortsForObject';
179 $tabhandler['object']['ip'] = 'renderIPForObject';
180 $tabhandler['object']['nat4'] = 'renderNATv4ForObject';
181 $tabhandler['object']['liveports'] = 'renderPortsInfo';
182 $tabhandler['object']['livecdp'] = 'renderDiscoveredNeighbors';
183 $tabhandler['object']['livelldp'] = 'renderDiscoveredNeighbors';
184 $tabhandler['object']['snmpportfinder'] = 'renderSNMPPortFinder';
185 $tabhandler['object']['lvsconfig'] = 'renderLVSConfig';
186 $tabhandler['object']['autoports'] = 'renderAutoPortsForm';
187 $tabhandler['object']['tags'] = 'renderEntityTags';
188 $tabhandler['object']['files'] = 'renderFilesForEntity';
189 $tabhandler['object']['editrspvs'] = 'renderSLBEditTab';
190 $tabhandler['object']['8021qorder'] = 'render8021QOrderForm';
191 $tabhandler['object']['8021qports'] = 'renderObject8021QPorts';
192 $tabhandler['object']['8021qsync'] = 'renderObject8021QSync';
193 $tabhandler['object']['cacti'] = 'renderObjectCactiGraphs';
194 $tabhandler['object']['munin'] = 'renderObjectMuninGraphs';
195 $tabhandler['object']['ucs'] = 'renderEditUCSForm';
196 $trigger['object']['rackspace'] = 'trigger_rackspace';
197 $trigger['object']['ports'] = 'trigger_ports';
198 $trigger['object']['ip'] = 'trigger_ip';
199 $trigger['object']['nat4'] = 'trigger_natv4';
200 $trigger['object']['liveports'] = 'trigger_liveports';
201 $trigger['object']['livecdp'] = 'trigger_LiveCDP';
202 $trigger['object']['livelldp'] = 'trigger_LiveLLDP';
203 $trigger['object']['snmpportfinder'] = 'trigger_snmpportfinder';
204 $trigger['object']['editrspvs'] = 'trigger_isloadbalancer';
205 $trigger['object']['lvsconfig'] = 'trigger_isloadbalancer';
206 $trigger['object']['autoports'] = 'trigger_autoports';
207 $trigger['object']['tags'] = 'trigger_tags';
208 $trigger['object']['8021qorder'] = 'trigger_object_8021qorder';
209 $trigger['object']['8021qports'] = 'trigger_object_8021qports';
210 $trigger['object']['8021qsync'] = 'trigger_object_8021qsync';
211 $trigger['object']['cacti'] = 'triggerCactiGraphs';
212 $trigger['object']['munin'] = 'triggerMuninGraphs';
213 $trigger['object']['ucs'] = 'trigger_ucs';
214 $ophandler['object']['edit']['linkEntities'] = 'tableHandler';
215 $ophandler['object']['edit']['unlinkEntities'] = 'tableHandler';
216 $ophandler['object']['rackspace']['updateObjectAllocation'] = 'updateObjectAllocation';
217 $ophandler['object']['ports']['addPort'] = 'addPortForObject';
218 $ophandler['object']['ports']['editPort'] = 'editPortForObject';
219 $ophandler['object']['ports']['addMultiPorts'] = 'addMultiPorts';
220 $ophandler['object']['ports']['addBulkPorts'] = 'addBulkPorts';
221 $ophandler['object']['ports']['useup'] = 'tableHandler';
222 $ophandler['object']['ports']['delPort'] = 'tableHandler';
223 $ophandler['object']['ports']['deleteAll'] = 'tableHandler';
224 $ophandler['object']['ports']['unlinkPort'] = 'unlinkPort';
225 $ophandler['object']['ip']['upd'] = 'updIPAllocation';
226 $ophandler['object']['ip']['add'] = 'addIPAllocation';
227 $ophandler['object']['ip']['del'] = 'delIPAllocation';
228 $ophandler['object']['edit']['clearSticker'] = 'clearSticker';
229 $ophandler['object']['edit']['update'] = 'updateObject';
230 $ophandler['object']['edit']['resetObject'] = 'resetObject';
231 $ophandler['object']['log']['add'] = 'addObjectlog';
232 $ophandler['object']['log']['del'] = 'tableHandler';
233 $ophandler['object']['nat4']['addNATv4Rule'] = 'addPortForwarding';
234 $ophandler['object']['nat4']['delNATv4Rule'] = 'delPortForwarding';
235 $ophandler['object']['nat4']['updNATv4Rule'] = 'updPortForwarding';
236 $ophandler['object']['livecdp']['importDPData'] = 'importDPData';
237 $ophandler['object']['livelldp']['importDPData'] = 'importDPData';
238 $ophandler['object']['autoports']['generate'] = 'generateAutoPorts';
239 $ophandler['object']['tags']['saveTags'] = 'saveEntityTags';
240 $ophandler['object']['files']['addFile'] = 'addFileToEntity';
241 $ophandler['object']['files']['linkFile'] = 'linkFileToEntity';
242 $ophandler['object']['files']['unlinkFile'] = 'unlinkFile';
243 $ophandler['object']['editrspvs']['addLB'] = 'addLoadBalancer';
244 $ophandler['object']['editrspvs']['delLB'] = 'tableHandler';
245 $ophandler['object']['editrspvs']['updLB'] = 'tableHandler';
246 $ophandler['object']['lvsconfig']['submitSLBConfig'] = 'submitSLBConfig';
247 $ophandler['object']['snmpportfinder']['querySNMPData'] = 'querySNMPData';
248 $ophandler['object']['8021qorder']['add'] = 'add8021QOrder';
249 $ophandler['object']['8021qorder']['del'] = 'del8021QOrder';
250 $ophandler['object']['8021qports']['save8021QConfig'] = 'save8021QPorts';
251 $ophandler['object']['8021qports']['exec8021QRecalc'] = 'process8021QRecalcRequest';
252 $ophandler['object']['8021qsync']['exec8021QPull'] = 'process8021QSyncRequest';
253 $ophandler['object']['8021qsync']['exec8021QPush'] = 'process8021QSyncRequest';
254 $ophandler['object']['8021qsync']['resolve8021QConflicts'] = 'resolve8021QConflicts';
255 $ophandler['object']['8021qsync']['updPortList'] = 'update8021QPortList';
256 $ophandler['object']['cacti']['add'] = 'tableHandler';
257 $ophandler['object']['cacti']['del'] = 'tableHandler';
258 $ophandler['object']['munin']['add'] = 'tableHandler';
259 $ophandler['object']['munin']['del'] = 'tableHandler';
260 $ophandler['object']['ucs']['autoPopulateUCS'] = 'autoPopulateUCS';
261 $ophandler['object']['ucs']['cleanupUCS'] = 'cleanupUCS';
262 $delayauth['object-8021qports-save8021QConfig'] = TRUE;
263 $delayauth['object-8021qorder-add'] = TRUE;
264 $delayauth['object-8021qorder-del'] = TRUE;
265
266 $page['ipv4space']['parent'] = 'index';
267 $tab['ipv4space']['default'] = 'Browse';
268 $tab['ipv4space']['newrange'] = 'Add';
269 $tab['ipv4space']['manage'] = 'Delete';
270 $tabhandler['ipv4space']['default'] = 'renderIPSpace';
271 $tabhandler['ipv4space']['newrange'] = 'renderIPNewNetForm';
272 $tabhandler['ipv4space']['manage'] = 'renderIPSpaceEditor';
273 $ophandler['ipv4space']['newrange']['add'] = 'addIPv4Prefix';
274 $ophandler['ipv4space']['manage']['del'] = 'delIPv4Prefix';
275
276 $page['ipv6space']['parent'] = 'index';
277 $tab['ipv6space']['default'] = 'Browse';
278 $tab['ipv6space']['newrange'] = 'Add';
279 $tab['ipv6space']['manage'] = 'Delete';
280 $tabhandler['ipv6space']['default'] = 'renderIPSpace';
281 $tabhandler['ipv6space']['newrange'] = 'renderIPNewNetForm';
282 $tabhandler['ipv6space']['manage'] = 'renderIPSpaceEditor';
283 $ophandler['ipv6space']['newrange']['add'] = 'addIPv6Prefix';
284 $ophandler['ipv6space']['manage']['del'] = 'delIPv6Prefix';
285
286 $page['ipv4net']['parent'] = 'ipv4space';
287 $page['ipv4net']['bypass'] = 'id';
288 $page['ipv4net']['bypass_type'] = 'uint';
289 $page['ipv4net']['bypass_tabs'] = array ('pg');
290 $tab['ipv4net']['default'] = 'Browse';
291 $tab['ipv4net']['properties'] = 'Properties';
292 $tab['ipv4net']['liveptr'] = 'Live PTR';
293 $tab['ipv4net']['tags'] = 'Tags';
294 $tab['ipv4net']['files'] = 'Files';
295 $tab['ipv4net']['8021q'] = '802.1Q';
296 $tabhandler['ipv4net']['default'] = 'renderIPNetwork';
297 $tabhandler['ipv4net']['properties'] = 'renderIPNetworkProperties';
298 $tabhandler['ipv4net']['liveptr'] = 'renderLivePTR';
299 $tabhandler['ipv4net']['tags'] = 'renderEntityTags';
300 $tabhandler['ipv4net']['files'] = 'renderFilesForEntity';
301 $tabhandler['ipv4net']['8021q'] = 'renderVLANIPLinks';
302 $trigger['ipv4net']['tags'] = 'trigger_tags';
303 $trigger['ipv4net']['8021q'] = 'trigger_ipv4net_vlanconfig';
304 $ophandler['ipv4net']['properties']['editRange'] = 'tableHandler';
305 $ophandler['ipv4net']['properties']['del'] = 'delIPv4Prefix';
306 $ophandler['ipv4net']['liveptr']['importPTRData'] = 'importPTRData';
307 $ophandler['ipv4net']['tags']['saveTags'] = 'saveEntityTags';
308 $ophandler['ipv4net']['files']['addFile'] = 'addFileToEntity';
309 $ophandler['ipv4net']['files']['linkFile'] = 'linkFileToEntity';
310 $ophandler['ipv4net']['files']['unlinkFile'] = 'unlinkFile';
311 $ophandler['ipv4net']['8021q']['bind'] = 'bindVLANtoIPv4';
312 $ophandler['ipv4net']['8021q']['unbind'] = 'unbindVLANfromIPv4';
313
314 $page['ipv6net']['parent'] = 'ipv6space';
315 $page['ipv6net']['bypass'] = 'id';
316 $page['ipv6net']['bypass_type'] = 'uint';
317 $tab['ipv6net']['default'] = 'Browse';
318 $tab['ipv6net']['properties'] = 'Properties';
319 $tab['ipv6net']['tags'] = 'Tags';
320 $tab['ipv6net']['files'] = 'Files';
321 $tab['ipv6net']['8021q'] = '802.1Q';
322 $tabhandler['ipv6net']['default'] = 'renderIPNetwork';
323 $tabhandler['ipv6net']['properties'] = 'renderIPNetworkProperties';
324 $tabhandler['ipv6net']['tags'] = 'renderEntityTags';
325 $tabhandler['ipv6net']['files'] = 'renderFilesForEntity';
326 $tabhandler['ipv6net']['8021q'] = 'renderVLANIPLinks';
327 $trigger['ipv6net']['tags'] = 'trigger_tags';
328 $trigger['ipv6net']['8021q'] = 'trigger_ipv6net_vlanconfig';
329 $ophandler['ipv6net']['properties']['editRange'] = 'tableHandler';
330 $ophandler['ipv6net']['properties']['del'] = 'delIPv6Prefix';
331 $ophandler['ipv6net']['tags']['saveTags'] = 'saveEntityTags';
332 $ophandler['ipv6net']['files']['addFile'] = 'addFileToEntity';
333 $ophandler['ipv6net']['files']['linkFile'] = 'linkFileToEntity';
334 $ophandler['ipv6net']['files']['unlinkFile'] = 'unlinkFile';
335 $ophandler['ipv6net']['8021q']['bind'] = 'bindVLANtoIPv6';
336 $ophandler['ipv6net']['8021q']['unbind'] = 'unbindVLANfromIPv6';
337
338 //$page['ipaddress']['parent'] = 'ipnet'; - this is commented intentionally, there is a special hack in getPath
339 $page['ipaddress']['bypass'] = 'ip';
340 $page['ipaddress']['bypass_type'] = 'inet';
341 $tab['ipaddress']['default'] = 'Browse';
342 $tab['ipaddress']['properties'] = 'Properties';
343 $tab['ipaddress']['assignment'] = 'Allocation';
344 $tab['ipaddress']['log'] = 'Change log';
345 $tabhandler['ipaddress']['default'] = 'renderIPAddress';
346 $tabhandler['ipaddress']['properties'] = 'renderIPAddressProperties';
347 $tabhandler['ipaddress']['assignment'] = 'renderIPAddressAllocations';
348 $tabhandler['ipaddress']['log'] = 'renderIPAddressLog';
349 $trigger['ipaddress']['log'] = 'triggerIPAddressLog';
350 $ophandler['ipaddress']['properties']['editAddress'] = 'editAddress';
351 $ophandler['ipaddress']['assignment']['del'] = 'delIPAllocation';
352 $ophandler['ipaddress']['assignment']['upd'] = 'updIPAllocation';
353 $ophandler['ipaddress']['assignment']['add'] = 'addIPAllocation';
354
355 $page['ipv4slb']['title'] = 'IP SLB';
356 $page['ipv4slb']['parent'] = 'index';
357 $tab['ipv4slb']['default'] = 'Virtual services';
358 $tab['ipv4slb']['lbs'] = 'Load balancers';
359 $tab['ipv4slb']['rspools'] = 'Real server pools';
360 $tab['ipv4slb']['rservers'] = 'Real servers';
361 $tab['ipv4slb']['defconfig'] = 'Default configs';
362 $tab['ipv4slb']['new_vs'] = 'new VS';
363 $tab['ipv4slb']['new_rs'] = 'new RS pool';
364 $tabhandler['ipv4slb']['default'] = 'renderVSList';
365 $tabhandler['ipv4slb']['lbs'] = 'renderLBList';
366 $tabhandler['ipv4slb']['rspools'] = 'renderRSPoolList';
367 $tabhandler['ipv4slb']['rservers'] = 'renderRealServerList';
368 $tabhandler['ipv4slb']['defconfig'] = 'renderSLBDefConfig';
369 $tabhandler['ipv4slb']['new_vs'] = 'renderNewVSForm';
370 $tabhandler['ipv4slb']['new_rs'] = 'renderNewRSPoolForm';
371 $ophandler['ipv4slb']['new_vs']['add'] = 'addVService';
372 $ophandler['ipv4slb']['new_rs']['add'] = 'addRSPool';
373 $ophandler['ipv4slb']['defconfig']['save'] = 'updateSLBDefConfig';
374
375 $page['ipv4vs']['parent'] = 'ipv4slb';
376 $page['ipv4vs']['bypass'] = 'vs_id';
377 $page['ipv4vs']['bypass_type'] = 'uint';
378 $tab['ipv4vs']['default'] = 'View';
379 $tab['ipv4vs']['edit'] = 'Edit';
380 $tab['ipv4vs']['editlblist'] = 'Load balancers';
381 $tab['ipv4vs']['tags'] = 'Tags';
382 $tab['ipv4vs']['files'] = 'Files';
383 $tabhandler['ipv4vs']['default'] = 'renderVirtualService';
384 $tabhandler['ipv4vs']['edit'] = 'renderEditVService';
385 $tabhandler['ipv4vs']['editlblist'] = 'renderSLBEditTab';
386 $tabhandler['ipv4vs']['tags'] = 'renderEntityTags';
387 $tabhandler['ipv4vs']['files'] = 'renderFilesForEntity';
388 $trigger['ipv4vs']['tags'] = 'trigger_tags';
389 $ophandler['ipv4vs']['edit']['updIPv4VS'] = 'updateVService';
390 $ophandler['ipv4vs']['edit']['del'] = 'deleteVService';
391 $ophandler['ipv4vs']['editlblist']['addLB'] = 'addLoadBalancer';
392 $ophandler['ipv4vs']['editlblist']['delLB'] = 'tableHandler';
393 $ophandler['ipv4vs']['editlblist']['updLB'] = 'tableHandler';
394 $ophandler['ipv4vs']['tags']['saveTags'] = 'saveEntityTags';
395 $ophandler['ipv4vs']['files']['addFile'] = 'addFileToEntity';
396 $ophandler['ipv4vs']['files']['linkFile'] = 'linkFileToEntity';
397 $ophandler['ipv4vs']['files']['unlinkFile'] = 'unlinkFile';
398
399 $page['ipv4rspool']['parent'] = 'ipv4slb';
400 $page['ipv4rspool']['bypass'] = 'pool_id';
401 $page['ipv4rspool']['bypass_type'] = 'uint';
402 $tab['ipv4rspool']['default'] = 'View';
403 $tab['ipv4rspool']['edit'] = 'Edit';
404 $tab['ipv4rspool']['editlblist'] = 'Load balancers';
405 $tab['ipv4rspool']['editrslist'] = 'RS list';
406 $tab['ipv4rspool']['tags'] = 'Tags';
407 $tab['ipv4rspool']['files'] = 'Files';
408 $trigger['ipv4rspool']['tags'] = 'trigger_tags';
409 $tabhandler['ipv4rspool']['default'] = 'renderRSPool';
410 $tabhandler['ipv4rspool']['edit'] = 'renderEditRSPool';
411 $tabhandler['ipv4rspool']['editrslist'] = 'renderRSPoolServerForm';
412 $tabhandler['ipv4rspool']['editlblist'] = 'renderSLBEditTab';
413 $tabhandler['ipv4rspool']['tags'] = 'renderEntityTags';
414 $tabhandler['ipv4rspool']['files'] = 'renderFilesForEntity';
415 $ophandler['ipv4rspool']['edit']['updIPv4RSP'] = 'tableHandler';
416 $ophandler['ipv4rspool']['edit']['cloneIPv4RSP'] = 'cloneRSPool';
417 $ophandler['ipv4rspool']['edit']['del'] = 'deleteRSPool';
418 $ophandler['ipv4rspool']['editrslist']['addRS'] = 'addRealServer';
419 $ophandler['ipv4rspool']['editrslist']['delRS'] = 'tableHandler';
420 $ophandler['ipv4rspool']['editrslist']['updRS'] = 'updateRealServer';
421 $ophandler['ipv4rspool']['editrslist']['addMany'] = 'addRealServers';
422 $ophandler['ipv4rspool']['editlblist']['addLB'] = 'addLoadBalancer';
423 $ophandler['ipv4rspool']['editlblist']['delLB'] = 'tableHandler';
424 $ophandler['ipv4rspool']['editlblist']['updLB'] = 'tableHandler';
425 $ophandler['ipv4rspool']['tags']['saveTags'] = 'saveEntityTags';
426 $ophandler['ipv4rspool']['files']['addFile'] = 'addFileToEntity';
427 $ophandler['ipv4rspool']['files']['linkFile'] = 'linkFileToEntity';
428 $ophandler['ipv4rspool']['files']['unlinkFile'] = 'unlinkFile';
429
430 $page['search']['handler'] = 'searchHandler';
431 $page['search']['parent'] = 'index';
432 $page['search']['bypass'] = 'q';
433
434 $page['config']['title'] = 'Configuration';
435 $page['config']['handler'] = 'renderConfigMainpage';
436 $page['config']['parent'] = 'index';
437
438 $page['userlist']['title'] = 'Local users';
439 $page['userlist']['parent'] = 'config';
440 $tab['userlist']['default'] = 'View';
441 $tab['userlist']['edit'] = 'Edit';
442 $tabhandler['userlist']['default'] = 'renderUserList';
443 $tabhandler['userlist']['edit'] = 'renderUserListEditor';
444 $ophandler['userlist']['edit']['updateUser'] = 'updateUser';
445 $ophandler['userlist']['edit']['createUser'] = 'createUser';
446
447 $page['user']['parent'] = 'userlist';
448 $page['user']['bypass'] = 'user_id';
449 $page['user']['bypass_type'] = 'uint';
450 $tab['user']['default'] = 'View';
451 $tab['user']['tags'] = 'Tags';
452 $tab['user']['files'] = 'Files';
453 $tabhandler['user']['default'] = 'renderUser';
454 $tabhandler['user']['tags'] = 'renderEntityTags';
455 $tabhandler['user']['files'] = 'renderFilesForEntity';
456 $ophandler['user']['tags']['saveTags'] = 'saveEntityTags';
457 $ophandler['user']['files']['addFile'] = 'addFileToEntity';
458 $ophandler['user']['files']['linkFile'] = 'linkFileToEntity';
459 $ophandler['user']['files']['unlinkFile'] = 'unlinkFile';
460
461 $page['perms']['title'] = 'Permissions';
462 $page['perms']['parent'] = 'config';
463 $tab['perms']['default'] = 'View';
464 $tab['perms']['edit'] = 'Edit';
465 $tabhandler['perms']['default'] = 'renderRackCodeViewer';
466 $tabhandler['perms']['edit'] = 'renderRackCodeEditor';
467 $ophandler['perms']['edit']['saveRackCode'] = 'saveRackCode';
468
469 $page['parentmap']['title'] = 'Object container compatibility';
470 $page['parentmap']['parent'] = 'config';
471 $tab['parentmap']['default'] = 'View';
472 $tab['parentmap']['edit'] = 'Edit';
473 $tabhandler['parentmap']['default'] = 'renderObjectParentCompatViewer';
474 $tabhandler['parentmap']['edit'] = 'renderObjectParentCompatEditor';
475 $ophandler['parentmap']['edit']['add'] = 'tableHandler';
476 $ophandler['parentmap']['edit']['del'] = 'tableHandler';
477
478 $page['portmap']['title'] = 'Port compatibility';
479 $page['portmap']['parent'] = 'config';
480 $tab['portmap']['default'] = 'View';
481 $tab['portmap']['edit'] = 'Edit';
482 $tabhandler['portmap']['default'] = 'renderOIFCompatViewer';
483 $tabhandler['portmap']['edit'] = 'renderOIFCompatEditor';
484 $ophandler['portmap']['edit']['add'] = 'tableHandler';
485 $ophandler['portmap']['edit']['del'] = 'tableHandler';
486 $ophandler['portmap']['edit']['addPack'] = 'addOIFCompatPack';
487 $ophandler['portmap']['edit']['delPack'] = 'delOIFCompatPack';
488
489 $page['portifcompat']['title'] = 'Enabled port types';
490 $page['portifcompat']['parent'] = 'config';
491 $tab['portifcompat']['default'] = 'View';
492 $tab['portifcompat']['edit'] = 'Edit';
493 $tabhandler['portifcompat']['default'] = 'renderIIFOIFCompat';
494 $tabhandler['portifcompat']['edit'] = 'renderIIFOIFCompatEditor';
495 $ophandler['portifcompat']['edit']['add'] = 'addIIFOIFCompat';
496 $ophandler['portifcompat']['edit']['del'] = 'tableHandler';
497 $ophandler['portifcompat']['edit']['addPack'] = 'addIIFOIFCompatPack';
498 $ophandler['portifcompat']['edit']['delPack'] = 'delIIFOIFCompatPack';
499
500 $page['attrs']['title'] = 'Attributes';
501 $page['attrs']['parent'] = 'config';
502 $tab['attrs']['default'] = 'View';
503 $tab['attrs']['editattrs'] = 'Edit attributes';
504 $tab['attrs']['editmap'] = 'Edit map';
505 $tabhandler['attrs']['default'] = 'renderAttributes';
506 $tabhandler['attrs']['editattrs'] = 'renderEditAttributesForm';
507 $tabhandler['attrs']['editmap'] = 'renderEditAttrMapForm';
508 $ophandler['attrs']['editattrs']['add'] = 'tableHandler';
509 $ophandler['attrs']['editattrs']['del'] = 'tableHandler';
510 $ophandler['attrs']['editattrs']['upd'] = 'tableHandler';
511 $ophandler['attrs']['editmap']['add'] = 'supplementAttrMap';
512 $ophandler['attrs']['editmap']['del'] = 'tableHandler';
513
514 $page['dict']['title'] = 'Dictionary';
515 $page['dict']['parent'] = 'config';
516 $tab['dict']['default'] = 'View';
517 $tab['dict']['chapters'] = 'Manage chapters';
518 $tabhandler['dict']['default'] = 'renderDictionary';
519 $tabhandler['dict']['chapters'] = 'renderChaptersEditor';
520 $ophandler['dict']['chapters']['add'] = 'tableHandler';
521 $ophandler['dict']['chapters']['del'] = 'tableHandler';
522 $ophandler['dict']['chapters']['upd'] = 'tableHandler';
523
524 $page['chapter']['parent'] = 'dict';
525 $page['chapter']['bypass'] = 'chapter_no';
526 $page['chapter']['bypass_type'] = 'uint';
527 $tab['chapter']['default'] = 'View';
528 $tab['chapter']['edit'] = 'Edit';
529 $tabhandler['chapter']['default'] = 'renderChapter';
530 $tabhandler['chapter']['edit'] = 'renderChapterEditor';
531 $ophandler['chapter']['edit']['add'] = 'tableHandler';
532 $ophandler['chapter']['edit']['del'] = 'tableHandler';
533 $ophandler['chapter']['edit']['upd'] = 'tableHandler';
534
535 $page['ui']['title'] = 'User interface';
536 $page['ui']['parent'] = 'config';
537 $tab['ui']['default'] = 'View';
538 $tab['ui']['edit'] = 'Change';
539 $tab['ui']['reset'] = 'Reset';
540 $tabhandler['ui']['default'] = 'renderUIConfig';
541 $tabhandler['ui']['edit'] = 'renderConfigEditor';
542 $tabhandler['ui']['reset'] = 'renderUIResetForm';
543 $ophandler['ui']['edit']['upd'] = 'updateUI';
544 $ophandler['ui']['reset']['go'] = 'resetUIConfig';
545
546 $page['tagtree']['title'] = 'Tag tree';
547 $page['tagtree']['parent'] = 'config';
548 $tab['tagtree']['default'] = 'View';
549 $tab['tagtree']['edit'] = 'Edit';
550 $tabhandler['tagtree']['default'] = 'renderTagTree';
551 $tabhandler['tagtree']['edit'] = 'renderTagTreeEditor';
552 $ophandler['tagtree']['edit']['createTag'] = 'tableHandler';
553 $ophandler['tagtree']['edit']['destroyTag'] = 'tableHandler';
554 $ophandler['tagtree']['edit']['updateTag'] = 'tableHandler';
555
556 $page['myaccount']['title'] = 'My account';
557 $page['myaccount']['parent'] = 'config';
558 $tab['myaccount']['default'] = 'Info';
559 $tab['myaccount']['mypassword'] = 'Password change';
560 $tab['myaccount']['interface'] = 'Interface preferences';
561 $tab['myaccount']['qlinks'] = 'Quick links';
562 $trigger['myaccount']['mypassword'] = 'trigger_passwdchange';
563 $tabhandler['myaccount']['default'] = 'renderMyAccount';
564 $tabhandler['myaccount']['mypassword'] = 'renderMyPasswordEditor';
565 $tabhandler['myaccount']['interface'] = 'renderConfigEditor';
566 $tabhandler['myaccount']['qlinks'] = 'renderMyQuickLinks';
567 $ophandler['myaccount']['mypassword']['changeMyPassword'] = 'changeMyPassword';
568 $ophandler['myaccount']['interface']['upd'] = 'saveMyPreferences';
569 $ophandler['myaccount']['interface']['reset'] = 'resetMyPreference';
570 $ophandler['myaccount']['qlinks']['save'] = 'saveQuickLinks';
571
572 $page['cacti']['title'] = 'Cacti';
573 $page['cacti']['parent'] = 'config';
574 $tab['cacti']['default'] = 'View';
575 $tab['cacti']['servers'] = 'Manage servers';
576 $tabhandler['cacti']['default'] = 'renderCactiConfig';
577 $tabhandler['cacti']['servers'] = 'renderCactiServersEditor';
578 $ophandler['cacti']['servers']['add'] = 'tableHandler';
579 $ophandler['cacti']['servers']['del'] = 'tableHandler';
580 $ophandler['cacti']['servers']['upd'] = 'tableHandler';
581
582 $page['munin']['title'] = 'Munin';
583 $page['munin']['parent'] = 'config';
584 $tab['munin']['default'] = 'View';
585 $tab['munin']['servers'] = 'Manage servers';
586 $tabhandler['munin']['default'] = 'renderMuninConfig';
587 $tabhandler['munin']['servers'] = 'renderMuninServersEditor';
588 $ophandler['munin']['servers']['add'] = 'tableHandler';
589 $ophandler['munin']['servers']['del'] = 'tableHandler';
590 $ophandler['munin']['servers']['upd'] = 'tableHandler';
591
592 $page['reports']['title'] = 'Reports';
593 $page['reports']['parent'] = 'index';
594 $tab['reports']['default'] = 'System';
595 $tab['reports']['rackcode'] = 'RackCode';
596 $tab['reports']['ipv4'] = 'IPv4';
597 $tab['reports']['ipv6'] = 'IPv6';
598 $tab['reports']['ports'] = 'Ports';
599 $tab['reports']['8021q'] = '802.1Q';
600 $tab['reports']['warranty'] = 'Expirations';
601 $tab['reports']['local'] = 'local'; // this one is set later in init.php
602 $trigger['reports']['local'] = 'trigger_localreports';
603 $tabhandler['reports']['default'] = 'renderSystemReports';
604 $tabhandler['reports']['rackcode'] = 'renderRackCodeReports';
605 $tabhandler['reports']['ipv4'] = 'renderIPv4Reports';
606 $tabhandler['reports']['ipv6'] = 'renderIPv6Reports';
607 $tabhandler['reports']['ports'] = 'renderPortsReport';
608 $tabhandler['reports']['8021q'] = 'render8021QReport';
609 $tabhandler['reports']['warranty'] = 'renderExpirations';
610 $tabhandler['reports']['local'] = 'renderLocalReports';
611
612 $page['files']['title'] = 'Files';
613 $page['files']['parent'] = 'index';
614 $tab['files']['default'] = 'Browse';
615 $tab['files']['manage'] = 'Manage';
616 $tabhandler['files']['default'] = 'renderFileBrowser';
617 $tabhandler['files']['manage'] = 'renderFileManager';
618 $ophandler['files']['manage']['addFile'] = 'addFileWithoutLink';
619 $ophandler['files']['manage']['unlinkFile'] = 'unlinkFile';
620 $ophandler['files']['manage']['deleteFile'] = 'deleteFile';
621
622 $page['file']['bypass'] = 'file_id';
623 $page['file']['bypass_type'] = 'uint';
624 $page['file']['parent'] = 'files';
625 $tab['file']['default'] = 'View';
626 $tab['file']['edit'] = 'Properties';
627 $tab['file']['tags'] = 'Tags';
628 $tab['file']['editText'] = 'Edit text';
629 $tab['file']['replaceData'] = 'Upload replacement';
630 $tab['file']['download'] = 'Download';
631 $trigger['file']['tags'] = 'trigger_tags';
632 $trigger['file']['editText'] = 'trigger_file_editText';
633 $tabhandler['file']['default'] = 'renderFile';
634 $tabhandler['file']['edit'] = 'renderFileProperties';
635 $tabhandler['file']['tags'] = 'renderEntityTags';
636 $tabhandler['file']['editText'] = 'renderTextEditor';
637 $tabhandler['file']['replaceData'] = 'renderFileReuploader';
638 $tabhandler['file']['download'] = 'renderFileDownloader';
639 $ophandler['file']['edit']['updateFile'] = 'tableHandler';
640 $ophandler['file']['tags']['saveTags'] = 'saveEntityTags';
641 $ophandler['file']['editText']['updateFileText'] = 'updateFileText';
642 $ophandler['file']['replaceData']['replaceFile'] = 'replaceFile';
643
644 $page['8021q']['title'] = '802.1Q';
645 $page['8021q']['parent'] = 'index';
646 $tab['8021q']['default'] = 'Status';
647 $tab['8021q']['vdlist'] = 'Manage domains';
648 $tab['8021q']['vstlist'] = 'Manage templates';
649 $tabhandler['8021q']['default'] = 'render8021QStatus';
650 $tabhandler['8021q']['vdlist'] = 'renderVLANDomainListEditor';
651 $tabhandler['8021q']['vstlist'] = 'renderVSTListEditor';
652 $ophandler['8021q']['vdlist']['add'] = 'createVLANDomain';
653 $ophandler['8021q']['vdlist']['del'] = 'tableHandler';
654 $ophandler['8021q']['vdlist']['upd'] = 'tableHandler';
655 $ophandler['8021q']['vstlist']['add'] = 'tableHandler';
656 $ophandler['8021q']['vstlist']['del'] = 'tableHandler';
657 $ophandler['8021q']['vstlist']['upd'] = 'tableHandler';
658
659 $page['vlandomain']['parent'] = '8021q';
660 $page['vlandomain']['bypass'] = 'vdom_id';
661 $page['vlandomain']['bypass_type'] = 'uint';
662 $tab['vlandomain']['default'] = 'View';
663 $tab['vlandomain']['vlanlist'] = 'VLAN list';
664 $tab['vlandomain']['8021qorder'] = '802.1Q orders';
665 $trigger['vlandomain']['8021qorder'] = 'trigger_8021q_configured';
666 $tabhandler['vlandomain']['default'] = 'renderVLANDomain';
667 $tabhandler['vlandomain']['8021qorder'] = 'render8021QOrderForm';
668 $tabhandler['vlandomain']['vlanlist'] = 'renderVLANDomainVLANList';
669 $ophandler['vlandomain']['8021qorder']['add'] = 'add8021QOrder';
670 $ophandler['vlandomain']['8021qorder']['del'] = 'del8021QOrder';
671 $ophandler['vlandomain']['vlanlist']['add'] = 'tableHandler';
672 $ophandler['vlandomain']['vlanlist']['del'] = 'tableHandler';
673 $ophandler['vlandomain']['vlanlist']['upd'] = 'tableHandler';
674 $delayauth['vlandomain-8021qorder-add'] = TRUE;
675 $delayauth['vlandomain-8021qorder-del'] = TRUE;
676
677 $page['vlan']['parent'] = 'vlandomain';
678 $page['vlan']['bypass'] = 'vlan_ck';
679 $page['vlan']['bypass_type'] = 'string';
680 $tab['vlan']['default'] = 'View';
681 $tab['vlan']['edit'] = 'Edit';
682 $tab['vlan']['ipv4'] = 'IPv4';
683 $tab['vlan']['ipv6'] = 'IPv6';
684 $trigger['vlan']['ipv4'] = 'trigger_vlan_ipv4net';
685 $trigger['vlan']['ipv6'] = 'trigger_vlan_ipv6net';
686 $tabhandler['vlan']['default'] = 'renderVLANInfo';
687 $tabhandler['vlan']['edit'] = 'renderEditVlan';
688 $tabhandler['vlan']['ipv4'] = 'renderVLANIPLinks';
689 $tabhandler['vlan']['ipv6'] = 'renderVLANIPLinks';
690 $ophandler['vlan']['edit']['del'] = 'deleteVlan';
691 $ophandler['vlan']['edit']['clear'] = 'clearVlan';
692 $ophandler['vlan']['edit']['upd'] = 'tableHandler';
693 $ophandler['vlan']['ipv4']['bind'] = 'bindVLANtoIPv4';
694 $ophandler['vlan']['ipv4']['unbind'] = 'unbindVLANfromIPv4';
695 $ophandler['vlan']['ipv6']['bind'] = 'bindVLANtoIPv6';
696 $ophandler['vlan']['ipv6']['unbind'] = 'unbindVLANfromIPv6';
697
698 $page['vst']['parent'] = '8021q';
699 $page['vst']['bypass'] = 'vst_id';
700 $page['vst']['bypass_type'] = 'uint';
701 $tab['vst']['default'] = 'View';
702 $tab['vst']['editrules'] = 'Edit';
703 $tab['vst']['8021qorder'] = '802.1Q orders';
704 $tab['vst']['tags'] = 'Tags';
705 $trigger['vst']['editrules'] = 'trigger_vst_editrules';
706 $trigger['vst']['8021qorder'] = 'trigger_8021q_configured';
707 $trigger['vst']['tags'] = 'trigger_tags';
708 $tabhandler['vst']['default'] = 'renderVST';
709 $tabhandler['vst']['editrules'] = 'renderVSTRulesEditor';
710 $tabhandler['vst']['8021qorder'] = 'render8021QOrderForm';
711 $tabhandler['vst']['tags'] = 'renderEntityTags';
712 $ophandler['vst']['editrules']['clone'] = 'cloneVST';
713 $ophandler['vst']['editrules']['upd'] = 'updVSTRule';
714 $ophandler['vst']['8021qorder']['add'] = 'add8021QOrder';
715 $ophandler['vst']['8021qorder']['del'] = 'del8021QOrder';
716 $ophandler['vst']['tags']['saveTags'] = 'saveEntityTags';
717 $delayauth['vst-8021qorder-add'] = TRUE;
718 $delayauth['vst-8021qorder-del'] = TRUE;
719
720 $page['dqueue']['parent'] = '8021q';
721 $page['dqueue']['bypass'] = 'dqcode';
722 $page['dqueue']['bypass_type'] = 'enum/dqcode';
723 $tab['dqueue']['default'] = 'View';
724 $tabhandler['dqueue']['default'] = 'renderDeployQueue';
725
726 $page['objectlog']['title'] = 'Log records';
727 $page['objectlog']['parent'] = 'index';
728 $tab['objectlog']['default'] = 'View';
729 $tabhandler['objectlog']['default'] = 'allObjectLogs';
730
731 $page['virtual']['title'] = 'Virtual Resources';
732 $page['virtual']['parent'] = 'index';
733 $tab['virtual']['default'] = 'Summary';
734 $tabhandler['virtual']['default'] = 'renderVirtualResourcesSummary';
735
736 $ajaxhandler['get-tag-select'] = 'getTagSelectAJAX';
737 $ajaxhandler['get-location-select'] = 'getLocationSelectAJAX';
738 $ajaxhandler['verifyCode'] = 'verifyCodeAJAX';
739 $ajaxhandler['get-port-link'] = 'getPortInfoAJAX';
740 $ajaxhandler['get-port-mac'] = 'getPortInfoAJAX';
741 $ajaxhandler['get-port-conf'] = 'getPortInfoAJAX';
742 $ajaxhandler['upd-ip-name'] = 'updateIPNameAJAX';
743 $ajaxhandler['upd-ip-comment'] = 'updateIPCommentAJAX';
744 $ajaxhandler['upd-rack-sort-order'] = 'updateRackSortOrderAJAX';
745 $ajaxhandler['upd-reservation-port'] = 'updatePortRsvAJAX';
746 $ajaxhandler['upd-reservation-cable'] = 'updateCableIdAJAX';
747 $ajaxhandler['net-usage'] = 'getNetUsageAJAX';
748
749 ?>