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