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