add basic integrity checks for config variables
[racktables] / wwwroot / inc / navigation.php
CommitLineData
b325120a 1<?php
cddbb9fd
DO
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
e673ee24 7/*
d8a0ed08 8
d32264dc 9This file contains a series of arrays that define RackTables as a tree
d8a0ed08
DO
10of 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"
12for a particular combination of page and tab (location). These operations
13represent actions requested by the user and often expect additional data
14provided to be executed correctly (constraints on the additional data are
15defined and validated in ophandlers.php).
16
17Every page split into tabs must define a tab internally named "default". It is
d32264dc 18assumed that this default tab never defines any operations and thus remains
d8a0ed08
DO
19read-only.
20
e673ee24
DO
21*/
22
83dd1b15
DO
23$page = array();
24$tab = array();
83dd1b15 25$trigger = array();
1cf31e0b 26
83dd1b15 27$ophandler = array();
81bab70c 28$tabhandler = array();
1cf31e0b 29$hook = array();
f39e7d19
AA
30$ophandlers_stack = array();
31$tabhandlers_stack = array();
1cf31e0b
AA
32$hooks_stack = array();
33
2f48b72b 34$delayauth = array();
fa7634c7 35$svghandler = array();
7bbe121d 36$ajaxhandler = array();
83dd1b15 37
bdf587b8
DO
38/*
39Syntax:
40// Require file.php when processing tab "tab" of the page "page":
41$interface_requires['page-tab'] = array ('file.php');
42
43// Same, different notation:
44$interface_requires['page-tab'] = 'file.php';
45
46// Require three files for every tab of the page "page":
47$interface_requires['page-*'] = array ('file1.php', 'file2.php', 'file3.php');
48*/
49$interface_requires = array();
50
67c5c049
DO
51$indexlayout = array
52(
21ee3351
AA
53 array ('rackspace', 'depot', 'ipv4space', 'ipv6space'),
54 array ('files', 'reports', 'ipv4slb', '8021q'),
3a363a07 55 array ('config', 'objectlog', 'virtual', 'cables'),
67c5c049
DO
56);
57
eebf9145 58$page['index']['title'] = 'Main page';
e673ee24
DO
59$page['index']['handler'] = 'renderIndex';
60
eebf9145 61$page['rackspace']['title'] = 'Rackspace';
e673ee24
DO
62$page['rackspace']['parent'] = 'index';
63$tab['rackspace']['default'] = 'Browse';
e1add254
AD
64$tab['rackspace']['editlocations'] = 'Manage locations';
65$tab['rackspace']['editrows'] = 'Manage rows';
e673ee24 66$tab['rackspace']['history'] = 'History';
8b6ffe9c 67$tabhandler['rackspace']['default'] = 'renderRackspace';
e1add254
AD
68$tabhandler['rackspace']['editlocations'] = 'renderRackspaceLocationEditor';
69$tabhandler['rackspace']['editrows'] = 'renderRackspaceRowEditor';
8b6ffe9c 70$tabhandler['rackspace']['history'] = 'renderRackspaceHistory';
e1add254
AD
71$ophandler['rackspace']['editlocations']['addLocation'] = 'addLocation';
72$ophandler['rackspace']['editlocations']['updateLocation'] = 'updateLocation';
73$ophandler['rackspace']['editlocations']['deleteLocation'] = 'deleteLocation';
74$ophandler['rackspace']['editrows']['addRow'] = 'addRow';
75$ophandler['rackspace']['editrows']['updateRow'] = 'updateRow';
76$ophandler['rackspace']['editrows']['deleteRow'] = 'deleteRow';
e673ee24 77
341fd895
DO
78$page['depot']['parent'] = 'index';
79$page['depot']['title'] = 'Objects';
80$tab['depot']['default'] = 'Browse';
81$tab['depot']['addmore'] = 'Add more';
82$tabhandler['depot']['default'] = 'renderDepot';
83$tabhandler['depot']['addmore'] = 'renderAddMultipleObjectsForm';
84$ophandler['depot']['addmore']['addObjects'] = 'addMultipleObjects';
85$ophandler['depot']['addmore']['addLotOfObjects'] = 'addLotOfObjects';
3067f362 86$ophandler['depot']['addmore']['deleteObject'] = 'deleteObject';
e673ee24 87
e1add254 88$page['location']['bypass'] = 'location_id';
7d32a8fd 89$page['location']['bypass_type'] = 'natural';
e1add254
AD
90$page['location']['parent'] = 'rackspace';
91$tab['location']['default'] = 'View';
92$tab['location']['edit'] = 'Properties';
93$tab['location']['log'] = 'Log';
94$tab['location']['tags'] = 'Tags';
95$tab['location']['files'] = 'Files';
96$tabhandler['location']['default'] = 'renderLocationPage';
97$tabhandler['location']['edit'] = 'renderEditLocationForm';
98$tabhandler['location']['log'] = 'renderObjectLogEditor';
99$tabhandler['location']['tags'] = 'renderEntityTags';
100$tabhandler['location']['files'] = 'renderFilesForEntity';
101$trigger['location']['tags'] = 'trigger_tags';
ad3b8359 102$ophandler['location']['edit']['clearSticker'] = 'clearSticker';
e1add254
AD
103$ophandler['location']['edit']['updateLocation'] = 'updateLocation';
104$ophandler['location']['edit']['deleteLocation'] = 'deleteLocation';
105$ophandler['location']['log']['add'] = 'addObjectlog';
106$ophandler['location']['log']['del'] = 'tableHandler';
107$ophandler['location']['tags']['saveTags'] = 'saveEntityTags';
108$ophandler['location']['files']['addFile'] = 'addFileToEntity';
109$ophandler['location']['files']['linkFile'] = 'linkFileToEntity';
110$ophandler['location']['files']['unlinkFile'] = 'unlinkFile';
111
e673ee24 112$page['row']['bypass'] = 'row_id';
7d32a8fd 113$page['row']['bypass_type'] = 'natural';
e673ee24
DO
114$page['row']['parent'] = 'rackspace';
115$tab['row']['default'] = 'View';
138655f5 116$tab['row']['edit'] = 'Properties';
42504426 117$tab['row']['editracks'] = 'Manage racks';
e673ee24 118$tab['row']['newrack'] = 'Add new rack';
ae5c430c 119$tab['row']['log'] = 'Log';
eb6ea26f 120$tab['row']['tagroller'] = 'Tag roller';
6ccfd4bd 121$tab['row']['files'] = 'Files';
8b6ffe9c 122$tabhandler['row']['default'] = 'renderRow';
138655f5 123$tabhandler['row']['edit'] = 'renderEditRowForm';
42504426 124$tabhandler['row']['editracks'] = 'renderRackSortForm';
8b6ffe9c 125$tabhandler['row']['newrack'] = 'renderNewRackForm';
ae5c430c 126$tabhandler['row']['log'] = 'renderObjectLogEditor';
2f32cc32 127$tabhandler['row']['tagroller'] = 'renderTagRollerForRow';
6ccfd4bd 128$tabhandler['row']['files'] = 'renderFilesForEntity';
138655f5
AD
129$ophandler['row']['edit']['clearSticker'] = 'clearSticker';
130$ophandler['row']['edit']['deleteRow'] = 'deleteRow';
131$ophandler['row']['edit']['updateRow'] = 'updateRow';
f19c75d6 132$ophandler['row']['newrack']['addRack'] = 'addRack';
ae5c430c
AD
133$ophandler['row']['log']['add'] = 'addObjectlog';
134$ophandler['row']['log']['del'] = 'tableHandler';
138655f5 135$ophandler['row']['tagroller']['rollTags'] = 'rollTags';
6ccfd4bd
AD
136$ophandler['row']['files']['addFile'] = 'addFileToEntity';
137$ophandler['row']['files']['linkFile'] = 'linkFileToEntity';
138$ophandler['row']['files']['unlinkFile'] = 'unlinkFile';
e673ee24 139
e673ee24 140$page['rack']['bypass'] = 'rack_id';
7d32a8fd 141$page['rack']['bypass_type'] = 'natural';
e673ee24
DO
142$page['rack']['parent'] = 'row';
143$tab['rack']['default'] = 'View';
144$tab['rack']['edit'] = 'Properties';
9b8174d7 145$tab['rack']['log'] = 'Log';
e673ee24
DO
146$tab['rack']['design'] = 'Design';
147$tab['rack']['problems'] = 'Problems';
41bd8c87 148$tab['rack']['tags'] = 'Tags';
e1ae3fb4 149$tab['rack']['files'] = 'Files';
8b6ffe9c
DO
150$tabhandler['rack']['default'] = 'renderRackPage';
151$tabhandler['rack']['edit'] = 'renderEditRackForm';
9b8174d7 152$tabhandler['rack']['log'] = 'renderObjectLogEditor';
8b6ffe9c
DO
153$tabhandler['rack']['design'] = 'renderRackDesign';
154$tabhandler['rack']['problems'] = 'renderRackProblems';
482c7f35
DO
155$tabhandler['rack']['tags'] = 'renderEntityTags';
156$tabhandler['rack']['files'] = 'renderFilesForEntity';
41bd8c87 157$trigger['rack']['tags'] = 'trigger_tags';
4fbb5a00
DY
158$ophandler['rack']['design']['updateRack'] = 'updateRackDesign';
159$ophandler['rack']['problems']['updateRack'] = 'updateRackProblems';
ad3b8359 160$ophandler['rack']['edit']['clearSticker'] = 'clearSticker';
7056988c 161$ophandler['rack']['edit']['updateRack'] = 'updateRack';
c8187437 162$ophandler['rack']['edit']['deleteRack'] = 'deleteRack';
04eee8d2 163$ophandler['rack']['edit']['cleanRack'] = 'cleanRack';
9b8174d7 164$ophandler['rack']['log']['add'] = 'addObjectlog';
e1add254 165$ophandler['rack']['log']['del'] = 'tableHandler';
3355ca56 166$ophandler['rack']['tags']['saveTags'] = 'saveEntityTags';
e1ae3fb4 167$ophandler['rack']['files']['addFile'] = 'addFileToEntity';
e1ae3fb4
AD
168$ophandler['rack']['files']['linkFile'] = 'linkFileToEntity';
169$ophandler['rack']['files']['unlinkFile'] = 'unlinkFile';
e673ee24 170
e673ee24 171$page['object']['bypass'] = 'object_id';
7d32a8fd 172$page['object']['bypass_type'] = 'natural';
4318ced5 173$page['object']['bypass_tabs'] = array ('hl_port_id', 'hl_ip');
341fd895 174$page['object']['parent'] = 'depot';
e673ee24
DO
175$tab['object']['default'] = 'View';
176$tab['object']['edit'] = 'Properties';
9a90adc4 177$tab['object']['log'] = 'Log';
e673ee24
DO
178$tab['object']['rackspace'] = 'Rackspace';
179$tab['object']['ports'] = 'Ports';
4318ced5 180$tab['object']['ip'] = 'IP';
72d8ced3 181$tab['object']['nat4'] = 'NATv4';
65e557dd 182$tab['object']['liveports'] = 'Live ports';
b3247480 183$tab['object']['livecdp'] = 'Live CDP';
b49a479e 184$tab['object']['livelldp'] = 'Live LLDP';
4848a7e3 185$tab['object']['snmpportfinder'] = 'SNMP sync';
eacc0983
AA
186$tab['object']['editrspvs'] = 'VS links';
187$tab['object']['editvslinks'] = 'VSG links';
a0527aef 188$tab['object']['lvsconfig'] = 'keepalived.conf';
118e4c38 189$tab['object']['autoports'] = 'AutoPorts';
2fb24351 190$tab['object']['tags'] = 'Tags';
e1ae3fb4 191$tab['object']['files'] = 'Files';
be91a564 192$tab['object']['ucs'] = 'UCS';
38cd7704 193$tab['object']['8021qorder'] = '802.1Q order';
25930440 194$tab['object']['8021qports'] = '802.1Q ports';
ca9e1c9d 195$tab['object']['8021qsync'] = '802.1Q sync';
9b8174d7 196$tabhandler['object']['default'] = 'renderObject';
e45a78d7 197$tabhandler['object']['edit'] = 'renderEditObjectForm';
9a90adc4 198$tabhandler['object']['log'] = 'renderObjectLogEditor';
e45a78d7
DO
199$tabhandler['object']['rackspace'] = 'renderRackSpaceForObject';
200$tabhandler['object']['ports'] = 'renderPortsForObject';
4318ced5 201$tabhandler['object']['ip'] = 'renderIPForObject';
72d8ced3 202$tabhandler['object']['nat4'] = 'renderNATv4ForObject';
65e557dd 203$tabhandler['object']['liveports'] = 'renderPortsInfo';
5b5b1cab
DO
204$tabhandler['object']['livecdp'] = 'renderDiscoveredNeighbors';
205$tabhandler['object']['livelldp'] = 'renderDiscoveredNeighbors';
e45a78d7 206$tabhandler['object']['snmpportfinder'] = 'renderSNMPPortFinder';
3ee1252b 207$tabhandler['object']['lvsconfig'] = 'renderLVSConfig';
118e4c38 208$tabhandler['object']['autoports'] = 'renderAutoPortsForm';
482c7f35
DO
209$tabhandler['object']['tags'] = 'renderEntityTags';
210$tabhandler['object']['files'] = 'renderFilesForEntity';
defd92d8 211$tabhandler['object']['editrspvs'] = 'renderSLBEditTab';
eacc0983 212$tabhandler['object']['editvslinks'] = 'renderTripletForm';
38cd7704 213$tabhandler['object']['8021qorder'] = 'render8021QOrderForm';
4bb604ac 214$tabhandler['object']['8021qports'] = 'renderObject8021QPorts';
2e607238 215$tabhandler['object']['8021qsync'] = 'renderObject8021QSync';
be91a564 216$tabhandler['object']['ucs'] = 'renderEditUCSForm';
c0a322d1 217$trigger['object']['rackspace'] = 'trigger_rackspace';
0682218d 218$trigger['object']['ports'] = 'trigger_ports';
4318ced5 219$trigger['object']['ip'] = 'trigger_ip';
72d8ced3 220$trigger['object']['nat4'] = 'trigger_natv4';
65e557dd 221$trigger['object']['liveports'] = 'trigger_liveports';
e9d357e1 222$trigger['object']['livecdp'] = 'trigger_LiveCDP';
b49a479e 223$trigger['object']['livelldp'] = 'trigger_LiveLLDP';
9c67f713 224$trigger['object']['snmpportfinder'] = 'trigger_snmpportfinder';
a0527aef 225$trigger['object']['editrspvs'] = 'trigger_isloadbalancer';
eacc0983 226$trigger['object']['editvslinks'] = 'trigger_isloadbalancer';
a0527aef 227$trigger['object']['lvsconfig'] = 'trigger_isloadbalancer';
118e4c38 228$trigger['object']['autoports'] = 'trigger_autoports';
91dbb8a3 229$trigger['object']['tags'] = 'trigger_tags';
38cd7704 230$trigger['object']['8021qorder'] = 'trigger_object_8021qorder';
be28b696
DO
231$trigger['object']['8021qports'] = 'trigger_object_8021qports';
232$trigger['object']['8021qsync'] = 'trigger_object_8021qsync';
be91a564 233$trigger['object']['ucs'] = 'trigger_ucs';
18733c4a
AD
234$ophandler['object']['edit']['linkObjects'] = 'linkObjects';
235$ophandler['object']['edit']['unlinkObjects'] = 'tableHandler';
4fbb5a00 236$ophandler['object']['rackspace']['updateObjectAllocation'] = 'updateObjectAllocation';
e673ee24 237$ophandler['object']['ports']['addPort'] = 'addPortForObject';
e673ee24 238$ophandler['object']['ports']['editPort'] = 'editPortForObject';
e673ee24 239$ophandler['object']['ports']['addMultiPorts'] = 'addMultiPorts';
a1fc539a 240$ophandler['object']['ports']['addBulkPorts'] = 'addBulkPorts';
ebf02f6a 241$ophandler['object']['ports']['useup'] = 'tableHandler';
e38cd1da 242$ophandler['object']['ports']['delPort'] = 'tableHandler';
45ff9012 243$ophandler['object']['ports']['deleteAll'] = 'tableHandler';
8579b51b 244$ophandler['object']['ports']['renameAll'] = 'renameObjectPorts';
5c6225b1 245$ophandler['object']['ports']['unlinkPort'] = 'unlinkPort';
4318ced5
AA
246$ophandler['object']['ip']['upd'] = 'updIPAllocation';
247$ophandler['object']['ip']['add'] = 'addIPAllocation';
248$ophandler['object']['ip']['del'] = 'delIPAllocation';
22bb04da 249$ophandler['object']['edit']['clearSticker'] = 'clearSticker';
22bb04da 250$ophandler['object']['edit']['update'] = 'updateObject';
abd1e9ac 251$ophandler['object']['edit']['resetObject'] = 'resetObject';
9a90adc4 252$ophandler['object']['log']['add'] = 'addObjectlog';
e38cd1da 253$ophandler['object']['log']['del'] = 'tableHandler';
72d8ced3
DO
254$ophandler['object']['nat4']['addNATv4Rule'] = 'addPortForwarding';
255$ophandler['object']['nat4']['delNATv4Rule'] = 'delPortForwarding';
256$ophandler['object']['nat4']['updNATv4Rule'] = 'updPortForwarding';
5b5b1cab
DO
257$ophandler['object']['livecdp']['importDPData'] = 'importDPData';
258$ophandler['object']['livelldp']['importDPData'] = 'importDPData';
f3f0161f 259$ophandler['object']['autoports']['generate'] = 'generateAutoPorts';
3355ca56 260$ophandler['object']['tags']['saveTags'] = 'saveEntityTags';
e1ae3fb4 261$ophandler['object']['files']['addFile'] = 'addFileToEntity';
e1ae3fb4
AD
262$ophandler['object']['files']['linkFile'] = 'linkFileToEntity';
263$ophandler['object']['files']['unlinkFile'] = 'unlinkFile';
0dfaea8e 264$ophandler['object']['editrspvs']['addLB'] = 'addLoadBalancer';
e38cd1da 265$ophandler['object']['editrspvs']['delLB'] = 'tableHandler';
cc8e2c61 266$ophandler['object']['editrspvs']['updLB'] = 'tableHandler';
eacc0983
AA
267$ophandler['object']['editvslinks']['addLink'] = 'createTriplet';
268$ophandler['object']['editvslinks']['del'] = 'removeTriplet';
269$ophandler['object']['editvslinks']['updPort'] = 'updateTripletConfig';
270$ophandler['object']['editvslinks']['updIp'] = 'updateTripletConfig';
2987fc1f 271$ophandler['object']['lvsconfig']['submitSLBConfig'] = 'submitSLBConfig';
7056988c 272$ophandler['object']['snmpportfinder']['querySNMPData'] = 'querySNMPData';
38cd7704
DO
273$ophandler['object']['8021qorder']['add'] = 'add8021QOrder';
274$ophandler['object']['8021qorder']['del'] = 'del8021QOrder';
cb843760 275$ophandler['object']['8021qports']['save8021QConfig'] = 'save8021QPorts';
f9428bc6 276$ophandler['object']['8021qports']['exec8021QRecalc'] = 'process8021QRecalcRequest';
2e84a05b
DO
277$ophandler['object']['8021qsync']['exec8021QPull'] = 'process8021QSyncRequest';
278$ophandler['object']['8021qsync']['exec8021QPush'] = 'process8021QSyncRequest';
279$ophandler['object']['8021qsync']['resolve8021QConflicts'] = 'resolve8021QConflicts';
74a06141 280$ophandler['object']['8021qsync']['updPortList'] = 'update8021QPortList';
be91a564
JS
281$ophandler['object']['ucs']['autoPopulateUCS'] = 'autoPopulateUCS';
282$ophandler['object']['ucs']['cleanupUCS'] = 'cleanupUCS';
6459b55a 283$delayauth['object-8021qports-save8021QConfig'] = TRUE;
75a01117
DO
284$delayauth['object-8021qorder-add'] = TRUE;
285$delayauth['object-8021qorder-del'] = TRUE;
c6b47260
DO
286$interface_requires['object-8021qorder'] = 'interface-8021q.php';
287$interface_requires['object-8021qports'] = 'interface-8021q.php';
288$interface_requires['object-8021qsync'] = 'interface-8021q.php';
e673ee24 289
e673ee24
DO
290$page['ipv4space']['parent'] = 'index';
291$tab['ipv4space']['default'] = 'Browse';
93a49e5b
AA
292$tab['ipv4space']['newrange'] = 'Add';
293$tab['ipv4space']['manage'] = 'Delete';
4318ced5 294$tabhandler['ipv4space']['default'] = 'renderIPSpace';
93a49e5b 295$tabhandler['ipv4space']['newrange'] = 'renderIPNewNetForm';
4318ced5 296$tabhandler['ipv4space']['manage'] = 'renderIPSpaceEditor';
93a49e5b
AA
297$ophandler['ipv4space']['newrange']['add'] = 'addIPv4Prefix';
298$ophandler['ipv4space']['manage']['del'] = 'delIPv4Prefix';
e673ee24 299
21ee3351
AA
300$page['ipv6space']['parent'] = 'index';
301$tab['ipv6space']['default'] = 'Browse';
93a49e5b
AA
302$tab['ipv6space']['newrange'] = 'Add';
303$tab['ipv6space']['manage'] = 'Delete';
4318ced5 304$tabhandler['ipv6space']['default'] = 'renderIPSpace';
93a49e5b 305$tabhandler['ipv6space']['newrange'] = 'renderIPNewNetForm';
4318ced5 306$tabhandler['ipv6space']['manage'] = 'renderIPSpaceEditor';
93a49e5b
AA
307$ophandler['ipv6space']['newrange']['add'] = 'addIPv6Prefix';
308$ophandler['ipv6space']['manage']['del'] = 'delIPv6Prefix';
21ee3351 309
e1ae3fb4
AD
310$page['ipv4net']['parent'] = 'ipv4space';
311$page['ipv4net']['bypass'] = 'id';
7d32a8fd 312$page['ipv4net']['bypass_type'] = 'natural';
564ba1b8 313$page['ipv4net']['bypass_tabs'] = array ('pg');
e1ae3fb4
AD
314$tab['ipv4net']['default'] = 'Browse';
315$tab['ipv4net']['properties'] = 'Properties';
316$tab['ipv4net']['liveptr'] = 'Live PTR';
317$tab['ipv4net']['tags'] = 'Tags';
318$tab['ipv4net']['files'] = 'Files';
a5f9d1ca 319$tab['ipv4net']['8021q'] = '802.1Q';
4318ced5 320$tabhandler['ipv4net']['default'] = 'renderIPNetwork';
21ee3351 321$tabhandler['ipv4net']['properties'] = 'renderIPNetworkProperties';
e1ae3fb4 322$tabhandler['ipv4net']['liveptr'] = 'renderLivePTR';
482c7f35
DO
323$tabhandler['ipv4net']['tags'] = 'renderEntityTags';
324$tabhandler['ipv4net']['files'] = 'renderFilesForEntity';
21ee3351 325$tabhandler['ipv4net']['8021q'] = 'renderVLANIPLinks';
e1ae3fb4 326$trigger['ipv4net']['tags'] = 'trigger_tags';
a5f9d1ca 327$trigger['ipv4net']['8021q'] = 'trigger_ipv4net_vlanconfig';
e7b84015 328$ophandler['ipv4net']['properties']['editRange'] = 'editIPv4Net';
93a49e5b 329$ophandler['ipv4net']['properties']['del'] = 'delIPv4Prefix';
e1ae3fb4
AD
330$ophandler['ipv4net']['liveptr']['importPTRData'] = 'importPTRData';
331$ophandler['ipv4net']['tags']['saveTags'] = 'saveEntityTags';
332$ophandler['ipv4net']['files']['addFile'] = 'addFileToEntity';
e1ae3fb4
AD
333$ophandler['ipv4net']['files']['linkFile'] = 'linkFileToEntity';
334$ophandler['ipv4net']['files']['unlinkFile'] = 'unlinkFile';
a5f9d1ca
DO
335$ophandler['ipv4net']['8021q']['bind'] = 'bindVLANtoIPv4';
336$ophandler['ipv4net']['8021q']['unbind'] = 'unbindVLANfromIPv4';
c6b47260 337$interface_requires['ipv4net-8021q'] = 'interface-8021q.php';
e673ee24 338
21ee3351
AA
339$page['ipv6net']['parent'] = 'ipv6space';
340$page['ipv6net']['bypass'] = 'id';
7d32a8fd 341$page['ipv6net']['bypass_type'] = 'natural';
21ee3351
AA
342$tab['ipv6net']['default'] = 'Browse';
343$tab['ipv6net']['properties'] = 'Properties';
344$tab['ipv6net']['tags'] = 'Tags';
345$tab['ipv6net']['files'] = 'Files';
346$tab['ipv6net']['8021q'] = '802.1Q';
4318ced5 347$tabhandler['ipv6net']['default'] = 'renderIPNetwork';
21ee3351
AA
348$tabhandler['ipv6net']['properties'] = 'renderIPNetworkProperties';
349$tabhandler['ipv6net']['tags'] = 'renderEntityTags';
350$tabhandler['ipv6net']['files'] = 'renderFilesForEntity';
351$tabhandler['ipv6net']['8021q'] = 'renderVLANIPLinks';
352$trigger['ipv6net']['tags'] = 'trigger_tags';
353$trigger['ipv6net']['8021q'] = 'trigger_ipv6net_vlanconfig';
e7b84015 354$ophandler['ipv6net']['properties']['editRange'] = 'editIPv6Net';
93a49e5b 355$ophandler['ipv6net']['properties']['del'] = 'delIPv6Prefix';
21ee3351
AA
356$ophandler['ipv6net']['tags']['saveTags'] = 'saveEntityTags';
357$ophandler['ipv6net']['files']['addFile'] = 'addFileToEntity';
358$ophandler['ipv6net']['files']['linkFile'] = 'linkFileToEntity';
359$ophandler['ipv6net']['files']['unlinkFile'] = 'unlinkFile';
360$ophandler['ipv6net']['8021q']['bind'] = 'bindVLANtoIPv6';
361$ophandler['ipv6net']['8021q']['unbind'] = 'unbindVLANfromIPv6';
c6b47260 362$interface_requires['ipv6net-8021q'] = 'interface-8021q.php';
21ee3351 363
cc2fa820 364//$page['ipaddress']['parent'] = 'ipnet'; - this is commented intentionally, there is a special hack in getPath
e673ee24 365$page['ipaddress']['bypass'] = 'ip';
4318ced5 366$page['ipaddress']['bypass_type'] = 'inet';
e673ee24
DO
367$tab['ipaddress']['default'] = 'Browse';
368$tab['ipaddress']['properties'] = 'Properties';
369$tab['ipaddress']['assignment'] = 'Allocation';
68c91b9c 370$tab['ipaddress']['log'] = 'Change log';
21ee3351
AA
371$tabhandler['ipaddress']['default'] = 'renderIPAddress';
372$tabhandler['ipaddress']['properties'] = 'renderIPAddressProperties';
373$tabhandler['ipaddress']['assignment'] = 'renderIPAddressAllocations';
4318ced5
AA
374$tabhandler['ipaddress']['log'] = 'renderIPAddressLog';
375$trigger['ipaddress']['log'] = 'triggerIPAddressLog';
e673ee24 376$ophandler['ipaddress']['properties']['editAddress'] = 'editAddress';
4318ced5
AA
377$ophandler['ipaddress']['assignment']['del'] = 'delIPAllocation';
378$ophandler['ipaddress']['assignment']['upd'] = 'updIPAllocation';
379$ophandler['ipaddress']['assignment']['add'] = 'addIPAllocation';
21ee3351 380
71066ef1 381$page['ipv4slb']['title'] = 'IP SLB';
f973f491 382$page['ipv4slb']['parent'] = 'index';
defd92d8 383$tab['ipv4slb']['default'] = 'Virtual services';
eacc0983 384$tab['ipv4slb']['vs'] = 'VS groups';
defd92d8 385$tab['ipv4slb']['lbs'] = 'Load balancers';
eacc0983 386$tab['ipv4slb']['rspools'] = 'RS pools';
defd92d8 387$tab['ipv4slb']['rservers'] = 'Real servers';
1f54e1ba 388$tab['ipv4slb']['defconfig'] = 'Default configs';
71066ef1 389$tab['ipv4slb']['new_vs'] = 'new VS';
7521af8d 390$tab['ipv4slb']['new_vsg'] = 'new VS group';
71066ef1 391$tab['ipv4slb']['new_rs'] = 'new RS pool';
defd92d8 392$tabhandler['ipv4slb']['default'] = 'renderVSList';
eacc0983 393$tabhandler['ipv4slb']['vs'] = 'renderVSGList';
defd92d8
AA
394$tabhandler['ipv4slb']['lbs'] = 'renderLBList';
395$tabhandler['ipv4slb']['rspools'] = 'renderRSPoolList';
396$tabhandler['ipv4slb']['rservers'] = 'renderRealServerList';
1f54e1ba 397$tabhandler['ipv4slb']['defconfig'] = 'renderSLBDefConfig';
71066ef1 398$tabhandler['ipv4slb']['new_vs'] = 'renderNewVSForm';
7521af8d 399$tabhandler['ipv4slb']['new_vsg'] = 'renderNewVSGForm';
71066ef1
AA
400$tabhandler['ipv4slb']['new_rs'] = 'renderNewRSPoolForm';
401$ophandler['ipv4slb']['new_vs']['add'] = 'addVService';
7521af8d 402$ophandler['ipv4slb']['new_vsg']['add'] = 'addVSG';
71066ef1 403$ophandler['ipv4slb']['new_rs']['add'] = 'addRSPool';
1e5a78f5 404$ophandler['ipv4slb']['defconfig']['save'] = 'updateSLBDefConfig';
f973f491 405
eacc0983 406$page['ipv4vs']['parent'] = 'ipv4slb:default';
49fb2686 407$page['ipv4vs']['bypass'] = 'vs_id';
7d32a8fd 408$page['ipv4vs']['bypass_type'] = 'natural';
2bb798a3 409$tab['ipv4vs']['default'] = 'View';
c9890988 410$tab['ipv4vs']['edit'] = 'Edit';
5c011193 411$tab['ipv4vs']['editlblist'] = 'VS links';
2bb798a3 412$tab['ipv4vs']['tags'] = 'Tags';
e1ae3fb4 413$tab['ipv4vs']['files'] = 'Files';
2bb798a3
DO
414$tabhandler['ipv4vs']['default'] = 'renderVirtualService';
415$tabhandler['ipv4vs']['edit'] = 'renderEditVService';
defd92d8 416$tabhandler['ipv4vs']['editlblist'] = 'renderSLBEditTab';
482c7f35
DO
417$tabhandler['ipv4vs']['tags'] = 'renderEntityTags';
418$tabhandler['ipv4vs']['files'] = 'renderFilesForEntity';
e1ae3fb4 419$trigger['ipv4vs']['tags'] = 'trigger_tags';
e02e1941 420$ophandler['ipv4vs']['edit']['updIPv4VS'] = 'updateVService';
71066ef1 421$ophandler['ipv4vs']['edit']['del'] = 'deleteVService';
49fb2686 422$ophandler['ipv4vs']['editlblist']['addLB'] = 'addLoadBalancer';
e38cd1da 423$ophandler['ipv4vs']['editlblist']['delLB'] = 'tableHandler';
cc8e2c61 424$ophandler['ipv4vs']['editlblist']['updLB'] = 'tableHandler';
e1ae3fb4
AD
425$ophandler['ipv4vs']['tags']['saveTags'] = 'saveEntityTags';
426$ophandler['ipv4vs']['files']['addFile'] = 'addFileToEntity';
e1ae3fb4
AD
427$ophandler['ipv4vs']['files']['linkFile'] = 'linkFileToEntity';
428$ophandler['ipv4vs']['files']['unlinkFile'] = 'unlinkFile';
c9b4588f 429
eacc0983
AA
430$page['ipvs']['parent'] = 'ipv4slb:vs';
431$page['ipvs']['bypass'] = 'vs_id';
7d32a8fd 432$page['ipvs']['bypass_type'] = 'natural';
eacc0983
AA
433$tab['ipvs']['default'] = 'View';
434$tab['ipvs']['edit'] = 'Edit';
435$tab['ipvs']['editvslinks'] = 'VSG links';
436$tab['ipvs']['tags'] = 'Tags';
437$tab['ipvs']['files'] = 'Files';
438$tab['ipvs']['convert'] = 'Migrate';
439$tabhandler['ipvs']['default'] = 'renderVS';
440$tabhandler['ipvs']['edit'] = 'renderEditVS';
441$tabhandler['ipvs']['editvslinks'] = 'renderTripletForm';
442$tabhandler['ipvs']['tags'] = 'renderEntityTags';
443$tabhandler['ipvs']['files'] = 'renderFilesForEntity';
444$tabhandler['ipvs']['convert'] = 'renderIPVSConvert';
445$ophandler['ipvs']['edit']['updVS'] = 'updateVS';
34b2e932 446$ophandler['ipvs']['edit']['del'] = 'deleteVS';
eacc0983
AA
447$ophandler['ipvs']['edit']['addIP'] = 'addIPToVS';
448$ophandler['ipvs']['edit']['addPort'] = 'addPortToVS';
449$ophandler['ipvs']['edit']['updIP'] = 'updateIPInVS';
450$ophandler['ipvs']['edit']['updPort'] = 'updatePortInVS';
451$ophandler['ipvs']['edit']['delIP'] = 'removeIPFromVS';
452$ophandler['ipvs']['edit']['delPort'] = 'removePortFromVS';
453$ophandler['ipvs']['editvslinks']['addLink'] = 'createTriplet';
454$ophandler['ipvs']['editvslinks']['del'] = 'removeTriplet';
455$ophandler['ipvs']['editvslinks']['updPort'] = 'updateTripletConfig';
456$ophandler['ipvs']['editvslinks']['updIp'] = 'updateTripletConfig';
457$ophandler['ipvs']['tags']['saveTags'] = 'saveEntityTags';
458$ophandler['ipvs']['files']['addFile'] = 'addFileToEntity';
459$ophandler['ipvs']['files']['linkFile'] = 'linkFileToEntity';
460$ophandler['ipvs']['files']['unlinkFile'] = 'unlinkFile';
461$ophandler['ipvs']['convert']['convert'] = 'doVSMigrate';
462$trigger['ipvs']['tags'] = 'trigger_tags';
463$trigger['ipvs']['convert'] = 'trigger_ipvs_convert';
464
465$page['ipv4rspool']['parent'] = 'ipv4slb:rspools';
e1ae3fb4 466$page['ipv4rspool']['bypass'] = 'pool_id';
7d32a8fd 467$page['ipv4rspool']['bypass_type'] = 'natural';
e1ae3fb4
AD
468$tab['ipv4rspool']['default'] = 'View';
469$tab['ipv4rspool']['edit'] = 'Edit';
eacc0983
AA
470$tab['ipv4rspool']['editlblist'] = 'VS links';
471$tab['ipv4rspool']['editvslinks'] = 'VSG links';
e1ae3fb4 472$tab['ipv4rspool']['editrslist'] = 'RS list';
e1ae3fb4
AD
473$tab['ipv4rspool']['tags'] = 'Tags';
474$tab['ipv4rspool']['files'] = 'Files';
e1ae3fb4
AD
475$trigger['ipv4rspool']['tags'] = 'trigger_tags';
476$tabhandler['ipv4rspool']['default'] = 'renderRSPool';
477$tabhandler['ipv4rspool']['edit'] = 'renderEditRSPool';
478$tabhandler['ipv4rspool']['editrslist'] = 'renderRSPoolServerForm';
eacc0983 479$tabhandler['ipv4rspool']['editvslinks'] = 'renderTripletForm';
defd92d8 480$tabhandler['ipv4rspool']['editlblist'] = 'renderSLBEditTab';
482c7f35
DO
481$tabhandler['ipv4rspool']['tags'] = 'renderEntityTags';
482$tabhandler['ipv4rspool']['files'] = 'renderFilesForEntity';
e7b84015 483$ophandler['ipv4rspool']['edit']['updIPv4RSP'] = 'updIPv4RSP';
2e9fbb2f 484$ophandler['ipv4rspool']['edit']['cloneIPv4RSP'] = 'cloneRSPool';
d60c7760 485$ophandler['ipv4rspool']['edit']['del'] = 'deleteRSPool';
e1ae3fb4 486$ophandler['ipv4rspool']['editrslist']['addRS'] = 'addRealServer';
e38cd1da 487$ophandler['ipv4rspool']['editrslist']['delRS'] = 'tableHandler';
e1ae3fb4
AD
488$ophandler['ipv4rspool']['editrslist']['updRS'] = 'updateRealServer';
489$ophandler['ipv4rspool']['editrslist']['addMany'] = 'addRealServers';
490$ophandler['ipv4rspool']['editlblist']['addLB'] = 'addLoadBalancer';
e38cd1da 491$ophandler['ipv4rspool']['editlblist']['delLB'] = 'tableHandler';
cc8e2c61 492$ophandler['ipv4rspool']['editlblist']['updLB'] = 'tableHandler';
eacc0983
AA
493$ophandler['ipv4rspool']['editvslinks']['addLink'] = 'createTriplet';
494$ophandler['ipv4rspool']['editvslinks']['del'] = 'removeTriplet';
495$ophandler['ipv4rspool']['editvslinks']['updPort'] = 'updateTripletConfig';
496$ophandler['ipv4rspool']['editvslinks']['updIp'] = 'updateTripletConfig';
e1ae3fb4
AD
497$ophandler['ipv4rspool']['tags']['saveTags'] = 'saveEntityTags';
498$ophandler['ipv4rspool']['files']['addFile'] = 'addFileToEntity';
e1ae3fb4
AD
499$ophandler['ipv4rspool']['files']['linkFile'] = 'linkFileToEntity';
500$ophandler['ipv4rspool']['files']['unlinkFile'] = 'unlinkFile';
71b8bda1 501
09ce7c20 502$page['search']['handler'] = 'searchHandler';
e673ee24
DO
503$page['search']['parent'] = 'index';
504$page['search']['bypass'] = 'q';
505
eebf9145 506$page['config']['title'] = 'Configuration';
3aeb15f3 507$page['config']['handler'] = 'renderConfigMainpage';
e673ee24 508$page['config']['parent'] = 'index';
9d67e667 509$interface_requires['config-*'] = 'interface-config.php';
e673ee24 510
9133d2c5 511$page['userlist']['title'] = 'Local users';
82627005
DO
512$page['userlist']['parent'] = 'config';
513$tab['userlist']['default'] = 'View';
514$tab['userlist']['edit'] = 'Edit';
515$tabhandler['userlist']['default'] = 'renderUserList';
516$tabhandler['userlist']['edit'] = 'renderUserListEditor';
517$ophandler['userlist']['edit']['updateUser'] = 'updateUser';
518$ophandler['userlist']['edit']['createUser'] = 'createUser';
ec78e248 519$ophandler['userlist']['edit']['deleteUser'] = 'deleteUser';
9d67e667 520$interface_requires['userlist-*'] = 'interface-config.php';
82627005 521
82627005
DO
522$page['user']['parent'] = 'userlist';
523$page['user']['bypass'] = 'user_id';
7d32a8fd 524$page['user']['bypass_type'] = 'natural';
82627005 525$tab['user']['default'] = 'View';
e7b84015 526$tab['user']['properties'] = 'Properties';
82627005 527$tab['user']['tags'] = 'Tags';
e1ae3fb4 528$tab['user']['files'] = 'Files';
82627005 529$tabhandler['user']['default'] = 'renderUser';
482c7f35
DO
530$tabhandler['user']['tags'] = 'renderEntityTags';
531$tabhandler['user']['files'] = 'renderFilesForEntity';
e7b84015
AB
532$tabhandler['user']['properties'] = 'renderUserProperties';
533$ophandler['user']['properties']['edit'] = 'editUserProperties';
3355ca56 534$ophandler['user']['tags']['saveTags'] = 'saveEntityTags';
e1ae3fb4 535$ophandler['user']['files']['addFile'] = 'addFileToEntity';
e1ae3fb4
AD
536$ophandler['user']['files']['linkFile'] = 'linkFileToEntity';
537$ophandler['user']['files']['unlinkFile'] = 'unlinkFile';
9d67e667 538$interface_requires['user-*'] = 'interface-config.php';
e673ee24 539
eebf9145 540$page['perms']['title'] = 'Permissions';
e673ee24
DO
541$page['perms']['parent'] = 'config';
542$tab['perms']['default'] = 'View';
82627005
DO
543$tab['perms']['edit'] = 'Edit';
544$tabhandler['perms']['default'] = 'renderRackCodeViewer';
545$tabhandler['perms']['edit'] = 'renderRackCodeEditor';
546$ophandler['perms']['edit']['saveRackCode'] = 'saveRackCode';
9d67e667 547$interface_requires['perms-*'] = 'interface-config.php';
e673ee24 548
0682218d
AD
549$page['parentmap']['title'] = 'Object container compatibility';
550$page['parentmap']['parent'] = 'config';
551$tab['parentmap']['default'] = 'View';
552$tab['parentmap']['edit'] = 'Edit';
553$tabhandler['parentmap']['default'] = 'renderObjectParentCompatViewer';
554$tabhandler['parentmap']['edit'] = 'renderObjectParentCompatEditor';
555$ophandler['parentmap']['edit']['add'] = 'tableHandler';
556$ophandler['parentmap']['edit']['del'] = 'tableHandler';
9d67e667 557$interface_requires['parentmap-*'] = 'interface-config.php';
0682218d 558
2dfa1b73 559$page['portmap']['title'] = 'Port compatibility';
e673ee24
DO
560$page['portmap']['parent'] = 'config';
561$tab['portmap']['default'] = 'View';
b07f66ef 562$tab['portmap']['edit'] = 'Edit';
bbdcec5c
DO
563$tabhandler['portmap']['default'] = 'renderOIFCompatViewer';
564$tabhandler['portmap']['edit'] = 'renderOIFCompatEditor';
c893fc4a
AA
565$ophandler['portmap']['edit']['add'] = 'addOIFCompat';
566$ophandler['portmap']['edit']['del'] = 'delOIFCompat';
bbdcec5c
DO
567$ophandler['portmap']['edit']['addPack'] = 'addOIFCompatPack';
568$ophandler['portmap']['edit']['delPack'] = 'delOIFCompatPack';
9d67e667 569$interface_requires['portmap-*'] = 'interface-config.php';
e673ee24 570
2dfa1b73
DO
571$page['portifcompat']['title'] = 'Enabled port types';
572$page['portifcompat']['parent'] = 'config';
573$tab['portifcompat']['default'] = 'View';
574$tab['portifcompat']['edit'] = 'Edit';
e820929d
DO
575$tabhandler['portifcompat']['default'] = 'renderIIFOIFCompat';
576$tabhandler['portifcompat']['edit'] = 'renderIIFOIFCompatEditor';
550ffe69 577$ophandler['portifcompat']['edit']['add'] = 'tableHandler';
e38cd1da 578$ophandler['portifcompat']['edit']['del'] = 'tableHandler';
bbdcec5c
DO
579$ophandler['portifcompat']['edit']['addPack'] = 'addIIFOIFCompatPack';
580$ophandler['portifcompat']['edit']['delPack'] = 'delIIFOIFCompatPack';
9d67e667 581$interface_requires['portifcompat-*'] = 'interface-config.php';
2dfa1b73 582
5c8f1469
DO
583$page['portoifs']['title'] = 'Port outer interfaces';
584$page['portoifs']['parent'] = 'config';
585$tab['portoifs']['default'] = 'View';
586$tab['portoifs']['edit'] = 'Edit';
587$tabhandler['portoifs']['default'] = 'renderPortOIFViewer';
588$tabhandler['portoifs']['edit'] = 'renderPortOIFEditor';
589$ophandler['portoifs']['edit']['add'] = 'tableHandler';
590$ophandler['portoifs']['edit']['del'] = 'tableHandler';
591$ophandler['portoifs']['edit']['upd'] = 'tableHandler';
9d67e667 592$interface_requires['portoifs-*'] = 'interface-config.php';
5c8f1469 593
eebf9145 594$page['attrs']['title'] = 'Attributes';
e673ee24
DO
595$page['attrs']['parent'] = 'config';
596$tab['attrs']['default'] = 'View';
597$tab['attrs']['editattrs'] = 'Edit attributes';
598$tab['attrs']['editmap'] = 'Edit map';
8b6ffe9c
DO
599$tabhandler['attrs']['default'] = 'renderAttributes';
600$tabhandler['attrs']['editattrs'] = 'renderEditAttributesForm';
601$tabhandler['attrs']['editmap'] = 'renderEditAttrMapForm';
e38cd1da
DO
602$ophandler['attrs']['editattrs']['add'] = 'tableHandler';
603$ophandler['attrs']['editattrs']['del'] = 'tableHandler';
68a0bd8a 604$ophandler['attrs']['editattrs']['upd'] = 'tableHandler';
e673ee24 605$ophandler['attrs']['editmap']['add'] = 'supplementAttrMap';
e38cd1da 606$ophandler['attrs']['editmap']['del'] = 'tableHandler';
9d67e667 607$interface_requires['attrs-*'] = 'interface-config.php';
e673ee24 608
eebf9145 609$page['dict']['title'] = 'Dictionary';
e673ee24
DO
610$page['dict']['parent'] = 'config';
611$tab['dict']['default'] = 'View';
e673ee24 612$tab['dict']['chapters'] = 'Manage chapters';
8b6ffe9c 613$tabhandler['dict']['default'] = 'renderDictionary';
8b6ffe9c 614$tabhandler['dict']['chapters'] = 'renderChaptersEditor';
e38cd1da 615$ophandler['dict']['chapters']['add'] = 'tableHandler';
ebf02f6a
DO
616$ophandler['dict']['chapters']['del'] = 'tableHandler';
617$ophandler['dict']['chapters']['upd'] = 'tableHandler';
9d67e667 618$interface_requires['dict-*'] = 'interface-config.php';
e673ee24 619
4034ab9e
DO
620$page['chapter']['parent'] = 'dict';
621$page['chapter']['bypass'] = 'chapter_no';
7d32a8fd 622$page['chapter']['bypass_type'] = 'natural';
4034ab9e
DO
623$tab['chapter']['default'] = 'View';
624$tab['chapter']['edit'] = 'Edit';
625$tabhandler['chapter']['default'] = 'renderChapter';
626$tabhandler['chapter']['edit'] = 'renderChapterEditor';
e38cd1da
DO
627$ophandler['chapter']['edit']['add'] = 'tableHandler';
628$ophandler['chapter']['edit']['del'] = 'tableHandler';
ebf02f6a 629$ophandler['chapter']['edit']['upd'] = 'tableHandler';
9d67e667 630$interface_requires['chapter-*'] = 'interface-config.php';
4034ab9e 631
eebf9145 632$page['ui']['title'] = 'User interface';
e673ee24 633$page['ui']['parent'] = 'config';
0a1b1268 634$tab['ui']['default'] = 'View';
4fe32e78 635$tab['ui']['edit'] = 'Change';
b07f617c 636$tab['ui']['reset'] = 'Reset';
8b6ffe9c 637$tabhandler['ui']['default'] = 'renderUIConfig';
fc0b81de 638$tabhandler['ui']['edit'] = 'renderConfigEditor';
8b6ffe9c 639$tabhandler['ui']['reset'] = 'renderUIResetForm';
4fe32e78 640$ophandler['ui']['edit']['upd'] = 'updateUI';
c19194ee 641$ophandler['ui']['reset']['resetUIConfig'] = 'resetUIConfig';
9d67e667 642$interface_requires['ui-*'] = 'interface-config.php';
e673ee24 643
931bf334
DO
644$page['tagtree']['title'] = 'Tag tree';
645$page['tagtree']['parent'] = 'config';
646$tab['tagtree']['default'] = 'View';
660b657f
DO
647$tab['tagtree']['edit'] = 'Edit tree';
648$tab['tagtree']['descriptions'] = 'Edit descriptions';
b46bd2c6 649$tab['tagtree']['resolve'] = 'Circular references';
931bf334
DO
650$tabhandler['tagtree']['default'] = 'renderTagTree';
651$tabhandler['tagtree']['edit'] = 'renderTagTreeEditor';
660b657f 652$tabhandler['tagtree']['descriptions'] = 'renderTagDescriptionsEditor';
b46bd2c6 653$tabhandler['tagtree']['resolve'] = 'renderGraphCycleResolver';
e38cd1da 654$ophandler['tagtree']['edit']['createTag'] = 'tableHandler';
272e0a23 655$ophandler['tagtree']['edit']['destroyTag'] = 'tableHandler';
18733c4a 656$ophandler['tagtree']['edit']['updateTag'] = 'updateTag';
660b657f 657$ophandler['tagtree']['descriptions']['updTagDescr'] = 'tableHandler';
b46bd2c6
DO
658$ophandler['tagtree']['resolve']['updateTag'] = 'updateTag';
659$trigger['tagtree']['resolve'] = 'triggerGraphCycleResolver';
9d67e667 660$interface_requires['tagtree-*'] = 'interface-config.php';
931bf334 661
9457ca59
DO
662$page['myaccount']['title'] = 'My account';
663$page['myaccount']['parent'] = 'config';
664$tab['myaccount']['default'] = 'Info';
0ac7e4b3 665$tab['myaccount']['mypassword'] = 'Password change';
3540d15c 666$tab['myaccount']['interface'] = 'Interface preferences';
08f183a3 667$tab['myaccount']['qlinks'] = 'Quick links';
0ac7e4b3 668$trigger['myaccount']['mypassword'] = 'trigger_passwdchange';
9457ca59
DO
669$tabhandler['myaccount']['default'] = 'renderMyAccount';
670$tabhandler['myaccount']['mypassword'] = 'renderMyPasswordEditor';
fc0b81de 671$tabhandler['myaccount']['interface'] = 'renderConfigEditor';
08f183a3 672$tabhandler['myaccount']['qlinks'] = 'renderMyQuickLinks';
9457ca59 673$ophandler['myaccount']['mypassword']['changeMyPassword'] = 'changeMyPassword';
3540d15c
DY
674$ophandler['myaccount']['interface']['upd'] = 'saveMyPreferences';
675$ophandler['myaccount']['interface']['reset'] = 'resetMyPreference';
08f183a3 676$ophandler['myaccount']['qlinks']['save'] = 'saveQuickLinks';
9d67e667 677$interface_requires['myaccount-*'] = 'interface-config.php';
9457ca59 678
3a363a07
DO
679$page['cableconf']['title'] = 'Patch cables';
680$page['cableconf']['parent'] = 'config';
681$tab['cableconf']['default'] = 'View';
682$tab['cableconf']['connectors'] = 'Edit connectors';
683$tab['cableconf']['cabletypes'] = 'Edit cable types';
684$tab['cableconf']['conncompat'] = 'Connector compatibility';
685$tab['cableconf']['oifcompat'] = 'Outer interface compatibility';
686$tabhandler['cableconf']['default'] = 'renderPatchCableConfiguration';
687$tabhandler['cableconf']['connectors'] = 'renderPatchCableConnectorEditor';
688$tabhandler['cableconf']['cabletypes'] = 'renderPatchCableTypeEditor';
689$tabhandler['cableconf']['conncompat'] = 'renderPatchCableConnectorCompatEditor';
690$tabhandler['cableconf']['oifcompat'] = 'renderPatchCableOIFCompatEditor';
691$ophandler['cableconf']['connectors']['add'] = 'tableHandler';
692$ophandler['cableconf']['connectors']['del'] = 'tableHandler';
693$ophandler['cableconf']['connectors']['upd'] = 'tableHandler';
694$ophandler['cableconf']['cabletypes']['add'] = 'tableHandler';
695$ophandler['cableconf']['cabletypes']['del'] = 'tableHandler';
696$ophandler['cableconf']['cabletypes']['upd'] = 'tableHandler';
697$ophandler['cableconf']['conncompat']['add'] = 'tableHandler';
698$ophandler['cableconf']['conncompat']['del'] = 'tableHandler';
699$ophandler['cableconf']['oifcompat']['add'] = 'tableHandler';
700$ophandler['cableconf']['oifcompat']['del'] = 'tableHandler';
2c117827 701$interface_requires['cableconf-*'] = 'interface-cables.php';
3a363a07 702
eebf9145 703$page['reports']['title'] = 'Reports';
e673ee24 704$page['reports']['parent'] = 'index';
48291896 705$tab['reports']['default'] = 'Totals';
3b3c5e21 706$tab['reports']['8021q'] = '802.1Q';
b13011be 707$tab['reports']['warranty'] = 'Expirations';
3a9ac8a4 708$tab['reports']['integrity'] = 'Data Integrity';
e8d2e233 709$tab['reports']['serverconf'] = 'Server configuration';
e5c4506d 710$tabhandler['reports']['default'] = 'renderSystemReports';
3b3c5e21 711$tabhandler['reports']['8021q'] = 'render8021QReport';
b13011be 712$tabhandler['reports']['warranty'] = 'renderExpirations';
3a9ac8a4 713$tabhandler['reports']['integrity'] = 'renderDataIntegrityReport';
e8d2e233 714$tabhandler['reports']['serverconf'] = 'renderServerConfigurationReport';
48291896 715$interface_requires['reports-default'] = 'code.php';
e8d2e233 716$interface_requires['reports-serverconf'] = 'dictionary.php';
7e3f795e 717$interface_requires['reports-integrity'] = 'dictionary.php';
069689de 718$interface_requires['reports-*'] = 'interface-reports.php';
e673ee24 719
e1ae3fb4
AD
720$page['files']['title'] = 'Files';
721$page['files']['parent'] = 'index';
8bc5d1e4
DO
722$tab['files']['default'] = 'Browse';
723$tab['files']['manage'] = 'Manage';
724$tabhandler['files']['default'] = 'renderFileBrowser';
725$tabhandler['files']['manage'] = 'renderFileManager';
726$ophandler['files']['manage']['addFile'] = 'addFileWithoutLink';
727$ophandler['files']['manage']['unlinkFile'] = 'unlinkFile';
71118db6 728$ophandler['files']['manage']['deleteFile'] = 'deleteFile';
e1ae3fb4 729
e1ae3fb4 730$page['file']['bypass'] = 'file_id';
7d32a8fd 731$page['file']['bypass_type'] = 'natural';
f4d879a9 732$page['file']['parent'] = 'files';
e1ae3fb4 733$tab['file']['default'] = 'View';
6ee41bd4 734$tab['file']['edit'] = 'Properties';
e1ae3fb4 735$tab['file']['tags'] = 'Tags';
8628ae44 736$tab['file']['editText'] = 'Edit text';
db55cf54 737$tab['file']['replaceData'] = 'Upload replacement';
0df8c52b 738$tab['file']['download'] = 'Download';
e1ae3fb4 739$trigger['file']['tags'] = 'trigger_tags';
8628ae44 740$trigger['file']['editText'] = 'trigger_file_editText';
e1ae3fb4 741$tabhandler['file']['default'] = 'renderFile';
6ee41bd4
DO
742$tabhandler['file']['edit'] = 'renderFileProperties';
743$tabhandler['file']['tags'] = 'renderEntityTags';
8628ae44 744$tabhandler['file']['editText'] = 'renderTextEditor';
db55cf54 745$tabhandler['file']['replaceData'] = 'renderFileReuploader';
0df8c52b 746$tabhandler['file']['download'] = 'renderFileDownloader';
e7b84015 747$ophandler['file']['edit']['updateFile'] = 'updateFile';
e1ae3fb4 748$ophandler['file']['tags']['saveTags'] = 'saveEntityTags';
8628ae44 749$ophandler['file']['editText']['updateFileText'] = 'updateFileText';
db55cf54 750$ophandler['file']['replaceData']['replaceFile'] = 'replaceFile';
e1ae3fb4 751
e0d188ef
DO
752$page['8021q']['title'] = '802.1Q';
753$page['8021q']['parent'] = 'index';
754$tab['8021q']['default'] = 'Status';
755$tab['8021q']['vdlist'] = 'Manage domains';
756$tab['8021q']['vstlist'] = 'Manage templates';
757$tabhandler['8021q']['default'] = 'render8021QStatus';
758$tabhandler['8021q']['vdlist'] = 'renderVLANDomainListEditor';
759$tabhandler['8021q']['vstlist'] = 'renderVSTListEditor';
760$ophandler['8021q']['vdlist']['add'] = 'createVLANDomain';
ebf02f6a 761$ophandler['8021q']['vdlist']['del'] = 'tableHandler';
82769a06 762$ophandler['8021q']['vdlist']['upd'] = 'updateVLANDomain';
ebf02f6a
DO
763$ophandler['8021q']['vstlist']['add'] = 'tableHandler';
764$ophandler['8021q']['vstlist']['del'] = 'tableHandler';
cc8e2c61 765$ophandler['8021q']['vstlist']['upd'] = 'tableHandler';
c6b47260 766$interface_requires['8021q-*'] = 'interface-8021q.php';
8198f2c6 767
bd67be74 768$page['vlandomain']['parent'] = '8021q';
8198f2c6 769$page['vlandomain']['bypass'] = 'vdom_id';
7d32a8fd 770$page['vlandomain']['bypass_type'] = 'natural';
8198f2c6
DO
771$tab['vlandomain']['default'] = 'View';
772$tab['vlandomain']['vlanlist'] = 'VLAN list';
ebb978b7 773$tab['vlandomain']['8021qorder'] = '802.1Q orders';
bd0191f7 774$trigger['vlandomain']['8021qorder'] = 'trigger_8021q_configured';
8198f2c6 775$tabhandler['vlandomain']['default'] = 'renderVLANDomain';
38cd7704 776$tabhandler['vlandomain']['8021qorder'] = 'render8021QOrderForm';
8198f2c6 777$tabhandler['vlandomain']['vlanlist'] = 'renderVLANDomainVLANList';
38cd7704
DO
778$ophandler['vlandomain']['8021qorder']['add'] = 'add8021QOrder';
779$ophandler['vlandomain']['8021qorder']['del'] = 'del8021QOrder';
e38cd1da 780$ophandler['vlandomain']['vlanlist']['add'] = 'tableHandler';
ccc0acff
DO
781$ophandler['vlandomain']['vlanlist']['del'] = 'tableHandler';
782$ophandler['vlandomain']['vlanlist']['upd'] = 'tableHandler';
75a01117
DO
783$delayauth['vlandomain-8021qorder-add'] = TRUE;
784$delayauth['vlandomain-8021qorder-del'] = TRUE;
c6b47260 785$interface_requires['vlandomain-*'] = 'interface-8021q.php';
8198f2c6 786
ebb978b7
DO
787$page['vlan']['parent'] = 'vlandomain';
788$page['vlan']['bypass'] = 'vlan_ck';
1516f0e1 789$page['vlan']['bypass_type'] = 'uint-vlan1';
ebb978b7 790$tab['vlan']['default'] = 'View';
9a357bcc 791$tab['vlan']['edit'] = 'Edit';
ebb978b7 792$tab['vlan']['ipv4'] = 'IPv4';
21ee3351
AA
793$tab['vlan']['ipv6'] = 'IPv6';
794$trigger['vlan']['ipv4'] = 'trigger_vlan_ipv4net';
795$trigger['vlan']['ipv6'] = 'trigger_vlan_ipv6net';
ebb978b7 796$tabhandler['vlan']['default'] = 'renderVLANInfo';
9a357bcc 797$tabhandler['vlan']['edit'] = 'renderEditVlan';
21ee3351
AA
798$tabhandler['vlan']['ipv4'] = 'renderVLANIPLinks';
799$tabhandler['vlan']['ipv6'] = 'renderVLANIPLinks';
9a357bcc
AA
800$ophandler['vlan']['edit']['del'] = 'deleteVlan';
801$ophandler['vlan']['edit']['clear'] = 'clearVlan';
802$ophandler['vlan']['edit']['upd'] = 'tableHandler';
ebb978b7
DO
803$ophandler['vlan']['ipv4']['bind'] = 'bindVLANtoIPv4';
804$ophandler['vlan']['ipv4']['unbind'] = 'unbindVLANfromIPv4';
21ee3351
AA
805$ophandler['vlan']['ipv6']['bind'] = 'bindVLANtoIPv6';
806$ophandler['vlan']['ipv6']['unbind'] = 'unbindVLANfromIPv6';
c6b47260 807$interface_requires['vlan-*'] = 'interface-8021q.php';
ebb978b7 808
e0d188ef
DO
809$page['vst']['parent'] = '8021q';
810$page['vst']['bypass'] = 'vst_id';
7d32a8fd 811$page['vst']['bypass_type'] = 'natural';
e0d188ef 812$tab['vst']['default'] = 'View';
09ec2e59 813$tab['vst']['editrules'] = 'Edit';
ebb978b7 814$tab['vst']['8021qorder'] = '802.1Q orders';
cc3d6915 815$tab['vst']['tags'] = 'Tags';
eb51ceff 816$trigger['vst']['editrules'] = 'trigger_vst_editrules';
bd0191f7 817$trigger['vst']['8021qorder'] = 'trigger_8021q_configured';
cc3d6915 818$trigger['vst']['tags'] = 'trigger_tags';
e0d188ef 819$tabhandler['vst']['default'] = 'renderVST';
e0d188ef 820$tabhandler['vst']['editrules'] = 'renderVSTRulesEditor';
38cd7704 821$tabhandler['vst']['8021qorder'] = 'render8021QOrderForm';
cc3d6915 822$tabhandler['vst']['tags'] = 'renderEntityTags';
bd0191f7 823$ophandler['vst']['editrules']['clone'] = 'cloneVST';
e0d188ef 824$ophandler['vst']['editrules']['upd'] = 'updVSTRule';
38cd7704
DO
825$ophandler['vst']['8021qorder']['add'] = 'add8021QOrder';
826$ophandler['vst']['8021qorder']['del'] = 'del8021QOrder';
cc3d6915 827$ophandler['vst']['tags']['saveTags'] = 'saveEntityTags';
75a01117
DO
828$delayauth['vst-8021qorder-add'] = TRUE;
829$delayauth['vst-8021qorder-del'] = TRUE;
c6b47260 830$interface_requires['vst-*'] = 'interface-8021q.php';
e0d188ef 831
ea99a9fc
DO
832$page['dqueue']['parent'] = '8021q';
833$page['dqueue']['bypass'] = 'dqcode';
77c80ac3 834$page['dqueue']['bypass_type'] = 'enum/dqcode';
ea99a9fc
DO
835$tab['dqueue']['default'] = 'View';
836$tabhandler['dqueue']['default'] = 'renderDeployQueue';
c6b47260 837$interface_requires['dqueue-*'] = 'interface-8021q.php';
ea99a9fc 838
9a90adc4
DO
839$page['objectlog']['title'] = 'Log records';
840$page['objectlog']['parent'] = 'index';
841$tab['objectlog']['default'] = 'View';
9a90adc4 842$tabhandler['objectlog']['default'] = 'allObjectLogs';
9a90adc4 843
0682218d
AD
844$page['virtual']['title'] = 'Virtual Resources';
845$page['virtual']['parent'] = 'index';
846$tab['virtual']['default'] = 'Summary';
847$tabhandler['virtual']['default'] = 'renderVirtualResourcesSummary';
848
3a363a07
DO
849$page['cables']['title'] = 'Patch cables';
850$page['cables']['parent'] = 'index';
851$tab['cables']['default'] = 'View';
852$tab['cables']['amount'] = 'Consume/replenish';
853$tab['cables']['heaps'] = 'Configure heaps';
854$trigger['cables']['amount'] = 'triggerPatchCableHeapsConfigured';
855$tabhandler['cables']['default'] = 'renderPatchCableHeapSummary';
856$tabhandler['cables']['amount'] = 'renderPatchCableHeapAmount';
857$tabhandler['cables']['heaps'] = 'renderPatchCableHeapEditor';
858$ophandler['cables']['heaps']['add'] = 'tableHandler';
859$ophandler['cables']['heaps']['del'] = 'tableHandler';
860$ophandler['cables']['heaps']['upd'] = 'tableHandler';
861$ophandler['cables']['amount']['dec'] = 'consumePatchCable';
862$ophandler['cables']['amount']['inc'] = 'replenishPatchCable';
863$ophandler['cables']['amount']['set'] = 'setPatchCableAmount';
2c117827 864$interface_requires['cables-*'] = 'interface-cables.php';
3a363a07 865
011df355
AD
866$page['plugins']['title'] = 'Plugins';
867$page['plugins']['parent'] = 'config';
868$tab['plugins']['default'] = 'View';
869$tab['plugins']['edit'] = 'Edit';
870$tabhandler['plugins']['default'] = 'renderPluginConfig';
871$tabhandler['plugins']['edit'] = 'renderPluginEditor';
872$ophandler['plugins']['edit']['install'] = 'installPlugin';
873$ophandler['plugins']['edit']['uninstall'] = 'uninstallPlugin';
874$ophandler['plugins']['edit']['enable'] = 'tableHandler';
875$ophandler['plugins']['edit']['disable'] = 'tableHandler';
876$ophandler['plugins']['edit']['upgrade'] = 'upgradePlugin';
877$interface_requires['plugins-*'] = 'interface-config.php';
878
3bb17fdc 879$ajaxhandler['get-parent-node-options'] = 'getParentNodeOptionsAJAX';
e1add254 880$ajaxhandler['get-location-select'] = 'getLocationSelectAJAX';
7bbe121d
AA
881$ajaxhandler['verifyCode'] = 'verifyCodeAJAX';
882$ajaxhandler['get-port-link'] = 'getPortInfoAJAX';
883$ajaxhandler['get-port-mac'] = 'getPortInfoAJAX';
6a3fd8d1 884$ajaxhandler['get-port-portmac'] = 'getPortInfoAJAX';
7bbe121d 885$ajaxhandler['get-port-conf'] = 'getPortInfoAJAX';
04370908
AD
886$ajaxhandler['upd-ip-name'] = 'updateIPNameAJAX';
887$ajaxhandler['upd-ip-comment'] = 'updateIPCommentAJAX';
42504426 888$ajaxhandler['upd-rack-sort-order'] = 'updateRackSortOrderAJAX';
7bbe121d 889$ajaxhandler['upd-reservation-port'] = 'updatePortRsvAJAX';
0b8d8309 890$ajaxhandler['upd-reservation-cable'] = 'updateCableIdAJAX';
7bbe121d 891$ajaxhandler['net-usage'] = 'getNetUsageAJAX';
eacc0983 892$ajaxhandler['get-slb-form'] = 'renderSLBFormAJAX';
3097c652 893$ajaxhandler['triplet-preview'] = 'getTripletConfigAJAX';
f32d624c 894$ajaxhandler['autocomplete'] = 'getAutocompleteListAJAX';
7bbe121d 895
5d4ca0f3
AA
896$popuphandler['objlist'] = 'renderPopupObjectSelector';
897$popuphandler['portlist'] = 'renderPopupPortSelector';
898$popuphandler['inet4list'] = 'renderPopupIPv4Selector';