Commit | Line | Data |
---|---|---|
b325120a | 1 | <?php |
e673ee24 DO |
2 | /* |
3 | * | |
4 | * This file implements generic navigation for RackTables. | |
5 | * | |
6 | */ | |
7 | ||
83dd1b15 DO |
8 | $page = array(); |
9 | $tab = array(); | |
83dd1b15 DO |
10 | $trigger = array(); |
11 | $ophandler = array(); | |
81bab70c | 12 | $tabhandler = array(); |
2f48b72b DO |
13 | $tabextraclass = array(); |
14 | $delayauth = array(); | |
baf37d01 | 15 | $msgcode = array(); |
83dd1b15 | 16 | |
eebf9145 | 17 | $page['index']['title'] = 'Main page'; |
e673ee24 DO |
18 | $page['index']['handler'] = 'renderIndex'; |
19 | ||
eebf9145 | 20 | $page['rackspace']['title'] = 'Rackspace'; |
e673ee24 DO |
21 | $page['rackspace']['parent'] = 'index'; |
22 | $tab['rackspace']['default'] = 'Browse'; | |
23 | $tab['rackspace']['history'] = 'History'; | |
9b0cf84f DO |
24 | $tab['rackspace']['firstrow'] = 'Click me!'; |
25 | $trigger['rackspace']['firstrow'] = 'trigger_emptyRackspace'; | |
8b6ffe9c DO |
26 | $tabhandler['rackspace']['default'] = 'renderRackspace'; |
27 | $tabhandler['rackspace']['history'] = 'renderRackspaceHistory'; | |
28 | $tabhandler['rackspace']['firstrow'] = 'renderFirstRowForm'; | |
08b16bf5 | 29 | $tabextraclass['rackspace']['firstrow'] = 'attn'; |
e673ee24 | 30 | |
eebf9145 | 31 | $page['objects']['title'] = 'Objects'; |
e673ee24 DO |
32 | $page['objects']['parent'] = 'index'; |
33 | $tab['objects']['default'] = 'View'; | |
216c84bb | 34 | $tab['objects']['addmore'] = 'Add more'; |
7cc02fc1 | 35 | $tabhandler['objects']['default'] = 'renderObjectSpace'; |
216c84bb | 36 | $tabhandler['objects']['addmore'] = 'renderAddMultipleObjectsForm'; |
e673ee24 | 37 | |
eebf9145 | 38 | $page['row']['title_handler'] = 'dynamic_title_row'; |
e673ee24 | 39 | $page['row']['bypass'] = 'row_id'; |
8b6ffe9c | 40 | $page['row']['bypass_type'] = 'uint'; |
e673ee24 DO |
41 | $page['row']['parent'] = 'rackspace'; |
42 | $tab['row']['default'] = 'View'; | |
43 | $tab['row']['newrack'] = 'Add new rack'; | |
eb6ea26f | 44 | $tab['row']['tagroller'] = 'Tag roller'; |
8b6ffe9c DO |
45 | $tabhandler['row']['default'] = 'renderRow'; |
46 | $tabhandler['row']['newrack'] = 'renderNewRackForm'; | |
2f32cc32 | 47 | $tabhandler['row']['tagroller'] = 'renderTagRollerForRow'; |
eb6ea26f | 48 | $ophandler['row']['tagroller']['rollTags'] = 'rollTags'; |
baf37d01 | 49 | $msgcode['row']['tagroller']['rollTags']['OK'] = 1; |
ebb5441d | 50 | $msgcode['row']['tagroller']['rollTags']['ERR'] = 149; |
e673ee24 | 51 | |
eebf9145 | 52 | $page['rack']['title_handler'] = 'dynamic_title_rack'; |
e673ee24 | 53 | $page['rack']['bypass'] = 'rack_id'; |
8b6ffe9c | 54 | $page['rack']['bypass_type'] = 'uint'; |
e673ee24 | 55 | $page['rack']['parent'] = 'row'; |
41bd8c87 DO |
56 | $page['rack']['tagloader'] = 'loadRackTags'; |
57 | $page['rack']['autotagloader'] = 'loadRackAutoTags'; | |
e673ee24 DO |
58 | $tab['rack']['default'] = 'View'; |
59 | $tab['rack']['edit'] = 'Properties'; | |
60 | $tab['rack']['design'] = 'Design'; | |
61 | $tab['rack']['problems'] = 'Problems'; | |
41bd8c87 | 62 | $tab['rack']['tags'] = 'Tags'; |
8b6ffe9c DO |
63 | $tabhandler['rack']['default'] = 'renderRackPage'; |
64 | $tabhandler['rack']['edit'] = 'renderEditRackForm'; | |
65 | $tabhandler['rack']['design'] = 'renderRackDesign'; | |
66 | $tabhandler['rack']['problems'] = 'renderRackProblems'; | |
41bd8c87 DO |
67 | $tabhandler['rack']['tags'] = 'renderRackTags'; |
68 | $trigger['rack']['tags'] = 'trigger_tags'; | |
82627005 | 69 | $ophandler['rack']['tags']['saveTags'] = 'saveRackTags'; |
e673ee24 | 70 | |
eebf9145 | 71 | $page['objgroup']['title_handler'] = 'dynamic_title_objgroup'; |
3aeb15f3 | 72 | $page['objgroup']['handler'] = 'renderObjectGroup'; |
e673ee24 | 73 | $page['objgroup']['bypass'] = 'group_id'; |
105cea6e | 74 | $page['objgroup']['bypass_type'] = 'uint0'; |
e673ee24 DO |
75 | $page['objgroup']['parent'] = 'objects'; |
76 | ||
eebf9145 | 77 | $page['object']['title_handler'] = 'dynamic_title_object'; |
e673ee24 | 78 | $page['object']['bypass'] = 'object_id'; |
3bebaebd | 79 | $page['object']['bypass_type'] = 'uint'; |
e673ee24 | 80 | $page['object']['parent'] = 'objgroup'; |
2fb24351 DO |
81 | $page['object']['tagloader'] = 'loadRackObjectTags'; |
82 | $page['object']['autotagloader'] = 'loadRackObjectAutoTags'; | |
e673ee24 DO |
83 | $tab['object']['default'] = 'View'; |
84 | $tab['object']['edit'] = 'Properties'; | |
85 | $tab['object']['rackspace'] = 'Rackspace'; | |
86 | $tab['object']['ports'] = 'Ports'; | |
72d8ced3 DO |
87 | $tab['object']['ipv4'] = 'IPv4'; |
88 | $tab['object']['nat4'] = 'NATv4'; | |
46f92ff7 | 89 | $tab['object']['livevlans'] = 'Live VLANs'; |
9c67f713 | 90 | $tab['object']['snmpportfinder'] = 'SNMP port finder'; |
0dfaea8e | 91 | $tab['object']['editrspvs'] = 'RS pools'; |
3ee1252b | 92 | $tab['object']['lvsconfig'] = 'LVS configuration'; |
118e4c38 | 93 | $tab['object']['autoports'] = 'AutoPorts'; |
2fb24351 | 94 | $tab['object']['tags'] = 'Tags'; |
e45a78d7 DO |
95 | $tabhandler['object']['default'] = 'renderRackObject'; |
96 | $tabhandler['object']['edit'] = 'renderEditObjectForm'; | |
97 | $tabhandler['object']['rackspace'] = 'renderRackSpaceForObject'; | |
98 | $tabhandler['object']['ports'] = 'renderPortsForObject'; | |
72d8ced3 DO |
99 | $tabhandler['object']['ipv4'] = 'renderIPv4ForObject'; |
100 | $tabhandler['object']['nat4'] = 'renderNATv4ForObject'; | |
46f92ff7 | 101 | $tabhandler['object']['livevlans'] = 'renderVLANMembership'; |
e45a78d7 | 102 | $tabhandler['object']['snmpportfinder'] = 'renderSNMPPortFinder'; |
3ee1252b | 103 | $tabhandler['object']['lvsconfig'] = 'renderLVSConfig'; |
118e4c38 | 104 | $tabhandler['object']['autoports'] = 'renderAutoPortsForm'; |
2fb24351 | 105 | $tabhandler['object']['tags'] = 'renderObjectTags'; |
0dfaea8e | 106 | $tabhandler['object']['editrspvs'] = 'renderObjectSLB'; |
08b16bf5 DO |
107 | $tabextraclass['object']['snmpportfinder'] = 'attn'; |
108 | $tabextraclass['object']['autoports'] = 'attn'; | |
72d8ced3 DO |
109 | $trigger['object']['ipv4'] = 'trigger_ipv4'; |
110 | $trigger['object']['nat4'] = 'trigger_natv4'; | |
46f92ff7 | 111 | $trigger['object']['livevlans'] = 'trigger_livevlans'; |
9c67f713 | 112 | $trigger['object']['snmpportfinder'] = 'trigger_snmpportfinder'; |
0dfaea8e | 113 | $trigger['object']['editrspvs'] = 'trigger_natv4'; |
094bb33c | 114 | $trigger['object']['lvsconfig'] = 'trigger_lvsconfig'; |
118e4c38 | 115 | $trigger['object']['autoports'] = 'trigger_autoports'; |
91dbb8a3 | 116 | $trigger['object']['tags'] = 'trigger_tags'; |
e673ee24 DO |
117 | $ophandler['object']['ports']['addPort'] = 'addPortForObject'; |
118 | $ophandler['object']['ports']['delPort'] = 'delPortFromObject'; | |
119 | $ophandler['object']['ports']['editPort'] = 'editPortForObject'; | |
120 | $ophandler['object']['ports']['linkPort'] = 'linkPortForObject'; | |
121 | $ophandler['object']['ports']['unlinkPort'] = 'unlinkPortForObject'; | |
122 | $ophandler['object']['ports']['addMultiPorts'] = 'addMultiPorts'; | |
123 | $ophandler['object']['ports']['useup'] = 'useupPort'; | |
72d8ced3 DO |
124 | $ophandler['object']['ipv4']['updIPv4Allocation'] = 'updIPv4Allocation'; |
125 | $ophandler['object']['ipv4']['addIPv4Allocation'] = 'addIPv4Allocation'; | |
126 | $ophandler['object']['ipv4']['delIPv4Allocation'] = 'delIPv4Allocation'; | |
22bb04da DO |
127 | $ophandler['object']['edit']['clearSticker'] = 'clearSticker'; |
128 | $ophandler['object']['edit']['updateStickers'] = 'updateStickers'; | |
129 | $ophandler['object']['edit']['update'] = 'updateObject'; | |
72d8ced3 DO |
130 | $ophandler['object']['nat4']['addNATv4Rule'] = 'addPortForwarding'; |
131 | $ophandler['object']['nat4']['delNATv4Rule'] = 'delPortForwarding'; | |
132 | $ophandler['object']['nat4']['updNATv4Rule'] = 'updPortForwarding'; | |
46f92ff7 | 133 | $ophandler['object']['livevlans']['setPortVLAN'] = 'setPortVLAN'; |
f3f0161f | 134 | $ophandler['object']['autoports']['generate'] = 'generateAutoPorts'; |
82627005 | 135 | $ophandler['object']['tags']['saveTags'] = 'saveObjectTags'; |
0dfaea8e DO |
136 | $ophandler['object']['editrspvs']['addLB'] = 'addLoadBalancer'; |
137 | $ophandler['object']['editrspvs']['delLB'] = 'deleteLoadBalancer'; | |
138 | $ophandler['object']['editrspvs']['updLB'] = 'updateLoadBalancer'; | |
2987fc1f | 139 | $ophandler['object']['lvsconfig']['submitSLBConfig'] = 'submitSLBConfig'; |
46f92ff7 | 140 | $delayauth['object']['livevlans']['setPortVLAN'] = TRUE; |
baf37d01 | 141 | $msgcode['object']['nat4']['addNATv4Rule']['OK'] = 2; |
ebb5441d | 142 | $msgcode['object']['nat4']['addNATv4Rule']['ERR'] = 100; |
baf37d01 | 143 | $msgcode['object']['nat4']['delNATv4Rule']['OK'] = 3; |
ebb5441d | 144 | $msgcode['object']['nat4']['delNATv4Rule']['ERR'] = 100; |
baf37d01 | 145 | $msgcode['object']['nat4']['updNATv4Rule']['OK'] = 4; |
ebb5441d | 146 | $msgcode['object']['nat4']['updNATv4Rule']['ERR'] = 100; |
baf37d01 | 147 | $msgcode['object']['ports']['addPort']['OK'] = 5; |
ebb5441d DO |
148 | $msgcode['object']['ports']['addPort']['ERR1'] = 101; |
149 | $msgcode['object']['ports']['addPort']['ERR2'] = 100; | |
baf37d01 | 150 | $msgcode['object']['ports']['editPort']['OK'] = 6; |
ebb5441d DO |
151 | $msgcode['object']['ports']['editPort']['ERR1'] = 101; |
152 | $msgcode['object']['ports']['editPort']['ERR2'] = 100; | |
baf37d01 | 153 | $msgcode['object']['ports']['delPort']['OK'] = 7; |
ebb5441d | 154 | $msgcode['object']['ports']['delPort']['ERR'] = 100; |
baf37d01 | 155 | $msgcode['object']['ports']['linkPort']['OK'] = 8; |
ebb5441d | 156 | $msgcode['object']['ports']['linkPort']['ERR'] = 100; |
baf37d01 | 157 | $msgcode['object']['ports']['unlinkPort']['OK'] = 9; |
ebb5441d | 158 | $msgcode['object']['ports']['unlinkPort']['ERR'] = 100; |
baf37d01 | 159 | $msgcode['object']['ports']['addMultiPorts']['OK'] = 10; |
ebb5441d | 160 | $msgcode['object']['ports']['addMultiPorts']['ERR'] = 123; |
baf37d01 | 161 | $msgcode['object']['ports']['useup']['OK'] = 11; |
ebb5441d | 162 | $msgcode['object']['ports']['useup']['ERR'] = 124; |
baf37d01 | 163 | $msgcode['object']['ipv4']['updIPv4Allocation']['OK'] = 12; |
ebb5441d | 164 | $msgcode['object']['ipv4']['updIPv4Allocation']['ERR'] = 100; |
baf37d01 | 165 | $msgcode['object']['ipv4']['addIPv4Allocation']['OK'] = 13; |
5222f192 DO |
166 | $msgcode['object']['ipv4']['addIPv4Allocation']['ERR1'] = 170; |
167 | $msgcode['object']['ipv4']['addIPv4Allocation']['ERR2'] = 100; | |
baf37d01 | 168 | $msgcode['object']['ipv4']['delIPv4Allocation']['OK'] = 14; |
ebb5441d | 169 | $msgcode['object']['ipv4']['delIPv4Allocation']['ERR'] = 100; |
baf37d01 | 170 | $msgcode['object']['edit']['clearSticker']['OK'] = 15; |
ebb5441d | 171 | $msgcode['object']['edit']['clearSticker']['ERR'] = 120; |
baf37d01 | 172 | $msgcode['object']['edit']['update']['OK'] = 16; |
ebb5441d | 173 | $msgcode['object']['edit']['update']['ERR'] = 121; |
baf37d01 | 174 | $msgcode['object']['edit']['updateStickers']['OK'] = 17; |
ebb5441d | 175 | $msgcode['object']['edit']['updateStickers']['ERR'] = 122; |
baf37d01 | 176 | $msgcode['object']['editrspvs']['addLB']['OK'] = 18; |
ebb5441d | 177 | $msgcode['object']['editrspvs']['addLB']['ERR'] = 137; |
baf37d01 | 178 | $msgcode['object']['editrspvs']['delLB']['OK'] = 19; |
ebb5441d | 179 | $msgcode['object']['editrspvs']['delLB']['ERR'] = 129; |
baf37d01 | 180 | $msgcode['object']['editrspvs']['updLB']['OK'] = 20; |
ebb5441d | 181 | $msgcode['object']['editrspvs']['updLB']['ERR'] = 134; |
baf37d01 | 182 | $msgcode['object']['autoports']['generate']['OK'] = 21; |
ebb5441d | 183 | $msgcode['object']['autoports']['generate']['ERR'] = 142; |
baf37d01 | 184 | $msgcode['object']['tags']['saveTags']['OK'] = 22; |
ebb5441d DO |
185 | $msgcode['object']['tags']['saveTags']['ERR'] = 143; |
186 | $msgcode['object']['livevlans']['setPortVLAN']['ERR1'] = 156; | |
5222f192 DO |
187 | $msgcode['rack']['tags']['saveTags'] = $msgcode['object']['tags']['saveTags']; |
188 | $msgcode['iprange']['tags']['saveTags'] = $msgcode['object']['tags']['saveTags']; | |
189 | $msgcode['ipv4vs']['tags']['saveTags'] = $msgcode['object']['tags']['saveTags']; | |
190 | $msgcode['ipv4rsp']['tags']['saveTags'] = $msgcode['object']['tags']['saveTags']; | |
191 | $msgcode['user']['tags']['saveTags'] = $msgcode['object']['tags']['saveTags']; | |
192 | $msgcode['ipv4vs']['editlblist'] = $msgcode['object']['editrspvs']; | |
193 | $msgcode['ipv4rsp']['editlblist'] = $msgcode['object']['editrspvs']; | |
194 | $msgcode['ipaddress']['assignment'] = $msgcode['object']['ipv4']; | |
e673ee24 | 195 | |
eebf9145 | 196 | $page['ipv4space']['title'] = 'IPv4 space'; |
e673ee24 DO |
197 | $page['ipv4space']['parent'] = 'index'; |
198 | $tab['ipv4space']['default'] = 'Browse'; | |
0bcdc163 | 199 | $tab['ipv4space']['newrange'] = 'Manage'; |
8b6ffe9c DO |
200 | $tabhandler['ipv4space']['default'] = 'renderAddressspace'; |
201 | $tabhandler['ipv4space']['newrange'] = 'renderAddNewRange'; | |
42023f03 DO |
202 | $ophandler['ipv4space']['newrange']['addIPv4Prefix'] = 'addIPv4Prefix'; |
203 | $ophandler['ipv4space']['newrange']['delIPv4Prefix'] = 'delIPv4Prefix'; | |
baf37d01 | 204 | $msgcode['ipv4space']['newrange']['addIPv4Prefix']['OK'] = 23; |
ebb5441d | 205 | $msgcode['ipv4space']['newrange']['addIPv4Prefix']['ERR'] = 100; |
baf37d01 | 206 | $msgcode['ipv4space']['newrange']['delIPv4Prefix']['OK'] = 24; |
ebb5441d | 207 | $msgcode['ipv4space']['newrange']['delIPv4Prefix']['ERR'] = 100; |
e673ee24 | 208 | |
eebf9145 | 209 | $page['iprange']['title_handler'] = 'dynamic_title_iprange'; |
e673ee24 DO |
210 | $page['iprange']['parent'] = 'ipv4space'; |
211 | $page['iprange']['bypass'] = 'id'; | |
2fe5476a | 212 | $page['iprange']['bypass_type'] = 'uint'; |
f9bc186f DO |
213 | $page['iprange']['autotagloader'] = 'loadIPv4PrefixAutoTags'; |
214 | $page['iprange']['tagloader'] = 'loadIPv4PrefixTags'; | |
e673ee24 DO |
215 | $tab['iprange']['default'] = 'Browse'; |
216 | $tab['iprange']['properties'] = 'Properties'; | |
2fe5476a | 217 | $tab['iprange']['liveptr'] = 'Live PTR'; |
2034d968 | 218 | $tab['iprange']['tags'] = 'Tags'; |
beb9e88a | 219 | $tabhandler['iprange']['default'] = 'renderIPv4Network'; |
53ef3908 | 220 | $tabhandler['iprange']['properties'] = 'renderIPv4NetworkProperties'; |
2fe5476a | 221 | $tabhandler['iprange']['liveptr'] = 'renderLivePTR'; |
2034d968 DO |
222 | $tabhandler['iprange']['tags'] = 'renderIPv4PrefixTags'; |
223 | $trigger['iprange']['tags'] = 'trigger_tags'; | |
e673ee24 | 224 | $ophandler['iprange']['properties']['editRange'] = 'editRange'; |
da958e52 | 225 | $ophandler['iprange']['liveptr']['importPTRData'] = 'importPTRData'; |
82627005 | 226 | $ophandler['iprange']['tags']['saveTags'] = 'saveIPv4PrefixTags'; |
baf37d01 | 227 | $msgcode['iprange']['properties']['editRange']['OK'] = 25; |
ebb5441d | 228 | $msgcode['iprange']['properties']['editRange']['ERR'] = 100; |
baf37d01 | 229 | $msgcode['iprange']['liveptr']['importPTRData']['OK'] = 26; |
ebb5441d | 230 | $msgcode['iprange']['liveptr']['importPTRData']['ERR'] = 141; |
e673ee24 | 231 | |
eebf9145 | 232 | $page['ipaddress']['title_handler'] = 'dynamic_title_ipaddress'; |
e673ee24 DO |
233 | $page['ipaddress']['parent'] = 'iprange'; |
234 | $page['ipaddress']['bypass'] = 'ip'; | |
1fbc9fd6 | 235 | $page['ipaddress']['bypass_type'] = 'inet4'; |
d817ba03 | 236 | $page['ipaddress']['autotagloader'] = 'loadIPv4AddressAutoTags'; |
e673ee24 DO |
237 | $tab['ipaddress']['default'] = 'Browse'; |
238 | $tab['ipaddress']['properties'] = 'Properties'; | |
239 | $tab['ipaddress']['assignment'] = 'Allocation'; | |
7e13adfe | 240 | $tab['ipaddress']['editrslist'] = '[SLB real servers]'; |
2d318652 DO |
241 | $tabhandler['ipaddress']['default'] = 'renderIPv4Address'; |
242 | $tabhandler['ipaddress']['properties'] = 'renderIPv4AddressProperties'; | |
243 | $tabhandler['ipaddress']['assignment'] = 'renderIPv4AddressAllocations'; | |
1fbc9fd6 | 244 | $tabhandler['ipaddress']['editrslist'] = 'dragon'; |
e673ee24 | 245 | $ophandler['ipaddress']['properties']['editAddress'] = 'editAddress'; |
b4c1ef87 DO |
246 | $ophandler['ipaddress']['assignment']['delIPv4Allocation'] = 'delIPv4Allocation'; |
247 | $ophandler['ipaddress']['assignment']['updIPv4Allocation'] = 'updIPv4Allocation'; | |
248 | $ophandler['ipaddress']['assignment']['addIPv4Allocation'] = 'addIPv4Allocation'; | |
baf37d01 | 249 | $msgcode['ipaddress']['properties']['editAddress']['OK'] = 27; |
ebb5441d | 250 | $msgcode['ipaddress']['properties']['editAddress']['ERR'] = 100; |
e673ee24 | 251 | |
f973f491 DO |
252 | $page['ipv4slb']['title'] = 'IPv4 SLB'; |
253 | $page['ipv4slb']['parent'] = 'index'; | |
254 | $page['ipv4slb']['handler'] = 'renderIPv4SLB'; | |
255 | ||
a239e016 DO |
256 | $page['ipv4vslist']['title'] = 'Virtual services'; |
257 | $page['ipv4vslist']['parent'] = 'ipv4slb'; | |
258 | $tab['ipv4vslist']['default'] = 'View'; | |
259 | $tab['ipv4vslist']['edit'] = 'Edit'; | |
260 | $tabhandler['ipv4vslist']['default'] = 'renderVSList'; | |
261 | $tabhandler['ipv4vslist']['edit'] = 'renderVSListEditForm'; | |
262 | $ophandler['ipv4vslist']['edit']['add'] = 'addVService'; | |
263 | $ophandler['ipv4vslist']['edit']['del'] = 'deleteVService'; | |
264 | $ophandler['ipv4vslist']['edit']['upd'] = 'updateVService'; | |
baf37d01 | 265 | $msgcode['ipv4vslist']['edit']['add']['OK'] = 28; |
ebb5441d DO |
266 | $msgcode['ipv4vslist']['edit']['add']['ERR1'] = 132; |
267 | $msgcode['ipv4vslist']['edit']['add']['ERR2'] = 100; | |
baf37d01 | 268 | $msgcode['ipv4vslist']['edit']['del']['OK'] = 29; |
ebb5441d | 269 | $msgcode['ipv4vslist']['edit']['del']['ERR'] = 130; |
baf37d01 | 270 | $msgcode['ipv4vslist']['edit']['upd']['OK'] = 30; |
ebb5441d | 271 | $msgcode['ipv4vslist']['edit']['upd']['ERR'] = 135; |
5222f192 | 272 | $msgcode['ipv4vs']['edit']['updIPv4VS'] = $msgcode['ipv4vslist']['edit']['upd']; |
b3c50e6c | 273 | |
2bb798a3 DO |
274 | $page['ipv4vs']['title_handler'] = 'dynamic_title_vservice'; |
275 | $page['ipv4vs']['parent'] = 'ipv4vslist'; | |
49fb2686 | 276 | $page['ipv4vs']['bypass'] = 'vs_id'; |
2bb798a3 DO |
277 | $page['ipv4vs']['bypass_type'] = 'uint'; |
278 | $page['ipv4vs']['tagloader'] = 'loadIPv4VSTags'; | |
279 | $page['ipv4vs']['autotagloader'] = 'loadIPv4VSAutoTags'; | |
280 | $tab['ipv4vs']['default'] = 'View'; | |
c9890988 | 281 | $tab['ipv4vs']['edit'] = 'Edit'; |
49fb2686 | 282 | $tab['ipv4vs']['editlblist'] = 'Load balancers'; |
2bb798a3 DO |
283 | $tab['ipv4vs']['tags'] = 'Tags'; |
284 | $tabhandler['ipv4vs']['default'] = 'renderVirtualService'; | |
285 | $tabhandler['ipv4vs']['edit'] = 'renderEditVService'; | |
49fb2686 | 286 | $tabhandler['ipv4vs']['editlblist'] = 'renderVServiceLBForm'; |
2bb798a3 | 287 | $tabhandler['ipv4vs']['tags'] = 'renderIPv4VSTags'; |
e02e1941 | 288 | $ophandler['ipv4vs']['edit']['updIPv4VS'] = 'updateVService'; |
2bb798a3 | 289 | $ophandler['ipv4vs']['tags']['saveTags'] = 'saveIPv4VSTags'; |
49fb2686 DO |
290 | $ophandler['ipv4vs']['editlblist']['addLB'] = 'addLoadBalancer'; |
291 | $ophandler['ipv4vs']['editlblist']['delLB'] = 'deleteLoadBalancer'; | |
292 | $ophandler['ipv4vs']['editlblist']['updLB'] = 'updateLoadBalancer'; | |
2bb798a3 | 293 | $trigger['ipv4vs']['tags'] = 'trigger_tags'; |
c9b4588f | 294 | |
ee437dab DO |
295 | $page['ipv4rsplist']['title'] = 'RS pools'; |
296 | $page['ipv4rsplist']['parent'] = 'ipv4slb'; | |
297 | $tab['ipv4rsplist']['default'] = 'View'; | |
298 | $tab['ipv4rsplist']['edit'] = 'Edit'; | |
299 | $tabhandler['ipv4rsplist']['default'] = 'renderRSPoolList'; | |
300 | $tabhandler['ipv4rsplist']['edit'] = 'editRSPools'; | |
301 | $ophandler['ipv4rsplist']['edit']['add'] = 'addRSPool'; | |
302 | $ophandler['ipv4rsplist']['edit']['del'] = 'deleteRSPool'; | |
303 | $ophandler['ipv4rsplist']['edit']['upd'] = 'updateRSPool'; | |
baf37d01 | 304 | $msgcode['ipv4rsplist']['edit']['add']['OK'] = 31; |
ebb5441d | 305 | $msgcode['ipv4rsplist']['edit']['add']['ERR'] = 100; |
baf37d01 | 306 | $msgcode['ipv4rsplist']['edit']['del']['OK'] = 32; |
ebb5441d | 307 | $msgcode['ipv4rsplist']['edit']['del']['ERR'] = 138; |
baf37d01 | 308 | $msgcode['ipv4rsplist']['edit']['upd']['OK'] = 33; |
ebb5441d | 309 | $msgcode['ipv4rsplist']['edit']['upd']['ERR'] = 139; |
5222f192 | 310 | $msgcode['ipv4rsp']['edit']['updIPv4RSP'] = $msgcode['ipv4rsplist']['edit']['upd']; |
b3c50e6c | 311 | |
0e692350 DO |
312 | $page['ipv4rsp']['title_handler'] = 'dynamic_title_rspool'; |
313 | $page['ipv4rsp']['parent'] = 'ipv4rsplist'; | |
314 | $page['ipv4rsp']['bypass'] = 'pool_id'; | |
315 | $page['ipv4rsp']['bypass_type'] = 'uint'; | |
316 | $page['ipv4rsp']['tagloader'] = 'loadIPv4RSPoolTags'; | |
317 | $page['ipv4rsp']['autotagloader'] = 'loadIPv4RSPoolAutoTags'; | |
318 | $tab['ipv4rsp']['default'] = 'View'; | |
ea5a3250 | 319 | $tab['ipv4rsp']['edit'] = 'Edit'; |
0e692350 DO |
320 | $tab['ipv4rsp']['editlblist'] = 'Load Balancers'; |
321 | $tab['ipv4rsp']['editrslist'] = 'RS list'; | |
322 | $tab['ipv4rsp']['rsinservice'] = 'RS in service'; | |
323 | $tab['ipv4rsp']['tags'] = 'Tags'; | |
324 | $trigger['ipv4rsp']['rsinservice'] = 'trigger_poolrscount'; | |
325 | $trigger['ipv4rsp']['tags'] = 'trigger_tags'; | |
326 | $tabhandler['ipv4rsp']['default'] = 'renderRSPool'; | |
327 | $tabhandler['ipv4rsp']['edit'] = 'renderEditRSPool'; | |
328 | $tabhandler['ipv4rsp']['editrslist'] = 'renderRSPoolServerForm'; | |
329 | $tabhandler['ipv4rsp']['editlblist'] = 'renderRSPoolLBForm'; | |
330 | $tabhandler['ipv4rsp']['rsinservice'] = 'renderRSPoolRSInServiceForm'; | |
331 | $tabhandler['ipv4rsp']['tags'] = 'renderIPv4RSPoolTags'; | |
332 | $ophandler['ipv4rsp']['editrslist']['addRS'] = 'addRealServer'; | |
333 | $ophandler['ipv4rsp']['editrslist']['delRS'] = 'deleteRealServer'; | |
334 | $ophandler['ipv4rsp']['editrslist']['updRS'] = 'updateRealServer'; | |
335 | $ophandler['ipv4rsp']['editrslist']['addMany'] = 'addRealServers'; | |
336 | $ophandler['ipv4rsp']['editlblist']['addLB'] = 'addLoadBalancer'; | |
337 | $ophandler['ipv4rsp']['editlblist']['delLB'] = 'deleteLoadBalancer'; | |
338 | $ophandler['ipv4rsp']['editlblist']['updLB'] = 'updateLoadBalancer'; | |
339 | $ophandler['ipv4rsp']['rsinservice']['upd'] = 'updateRSInService'; | |
340 | $ophandler['ipv4rsp']['tags']['saveTags'] = 'saveIPv4RSPoolTags'; | |
ea5a3250 | 341 | $ophandler['ipv4rsp']['edit']['updIPv4RSP'] = 'updateRSPool'; |
baf37d01 | 342 | $msgcode['ipv4rsp']['editrslist']['addRS']['OK'] = 34; |
ebb5441d | 343 | $msgcode['ipv4rsp']['editrslist']['addRS']['ERR'] = 126; |
baf37d01 | 344 | $msgcode['ipv4rsp']['editrslist']['delRS']['OK'] = 35; |
ebb5441d | 345 | $msgcode['ipv4rsp']['editrslist']['delRS']['ERR'] = 128; |
baf37d01 | 346 | $msgcode['ipv4rsp']['editrslist']['updRS']['OK'] = 36; |
ebb5441d | 347 | $msgcode['ipv4rsp']['editrslist']['updRS']['ERR'] = 133; |
baf37d01 | 348 | $msgcode['ipv4rsp']['editrslist']['addMany']['OK'] = 37; |
ebb5441d DO |
349 | $msgcode['ipv4rsp']['editrslist']['addMany']['ERR1'] = 131; |
350 | $msgcode['ipv4rsp']['editrslist']['addMany']['ERR2'] = 127; | |
baf37d01 | 351 | $msgcode['ipv4rsp']['rsinservice']['upd']['OK'] = 38; |
ebb5441d | 352 | $msgcode['ipv4rsp']['rsinservice']['upd']['ERR'] = 140; |
71b8bda1 | 353 | |
8253d9f0 | 354 | $page['rservers']['title'] = 'Real servers'; |
f973f491 | 355 | $page['rservers']['parent'] = 'ipv4slb'; |
8253d9f0 | 356 | $page['rservers']['handler'] = 'renderRealServerList'; |
b3c50e6c | 357 | |
4b0932b6 | 358 | $page['lbs']['title'] = 'Load balancers'; |
f973f491 | 359 | $page['lbs']['parent'] = 'ipv4slb'; |
4b0932b6 | 360 | $page['lbs']['handler'] = 'renderLBList'; |
b3c50e6c | 361 | |
eebf9145 | 362 | $page['search']['title_handler'] = 'dynamic_title_search'; |
3aeb15f3 | 363 | $page['search']['handler'] = 'renderSearchResults'; |
e673ee24 DO |
364 | $page['search']['parent'] = 'index'; |
365 | $page['search']['bypass'] = 'q'; | |
366 | ||
eebf9145 | 367 | $page['config']['title'] = 'Configuration'; |
3aeb15f3 | 368 | $page['config']['handler'] = 'renderConfigMainpage'; |
e673ee24 DO |
369 | $page['config']['parent'] = 'index'; |
370 | ||
82627005 DO |
371 | $page['userlist']['title'] = 'Users'; |
372 | $page['userlist']['parent'] = 'config'; | |
373 | $tab['userlist']['default'] = 'View'; | |
374 | $tab['userlist']['edit'] = 'Edit'; | |
375 | $tabhandler['userlist']['default'] = 'renderUserList'; | |
376 | $tabhandler['userlist']['edit'] = 'renderUserListEditor'; | |
377 | $ophandler['userlist']['edit']['updateUser'] = 'updateUser'; | |
378 | $ophandler['userlist']['edit']['createUser'] = 'createUser'; | |
379 | $ophandler['userlist']['edit']['disableUser'] = 'disableUser'; | |
380 | $ophandler['userlist']['edit']['enableUser'] = 'enableUser'; | |
baf37d01 | 381 | $msgcode['userlist']['edit']['updateUser']['OK'] = 39; |
ebb5441d DO |
382 | $msgcode['userlist']['edit']['updateUser']['ERR1'] = 103; |
383 | $msgcode['userlist']['edit']['updateUser']['ERR1'] = 104; | |
baf37d01 | 384 | $msgcode['userlist']['edit']['createUser']['OK'] = 40; |
ebb5441d | 385 | $msgcode['userlist']['edit']['createUser']['ERR'] = 102; |
baf37d01 | 386 | $msgcode['userlist']['edit']['disableUser']['OK'] = 41; |
ebb5441d DO |
387 | $msgcode['userlist']['edit']['disableUser']['ERR1'] = 107; |
388 | $msgcode['userlist']['edit']['disableUser']['ERR2'] = 106; | |
baf37d01 | 389 | $msgcode['userlist']['edit']['enableUser']['OK'] = 42; |
ebb5441d | 390 | $msgcode['userlist']['edit']['enableUser']['ERR'] = 105; |
82627005 DO |
391 | |
392 | $page['user']['title_handler'] = 'dynamic_title_user'; | |
393 | $page['user']['parent'] = 'userlist'; | |
394 | $page['user']['bypass'] = 'user_id'; | |
395 | $page['user']['bypass_type'] = 'uint'; | |
396 | $page['user']['tagloader'] = 'loadUserTags'; | |
da958e52 | 397 | $page['user']['autotagloader'] = 'getUserAutoTags'; |
82627005 | 398 | $tab['user']['default'] = 'View'; |
82627005 DO |
399 | $tab['user']['tags'] = 'Tags'; |
400 | $tabhandler['user']['default'] = 'renderUser'; | |
82627005 DO |
401 | $tabhandler['user']['tags'] = 'renderUserTags'; |
402 | $ophandler['user']['tags']['saveTags'] = 'saveUserTags'; | |
e673ee24 | 403 | |
eebf9145 | 404 | $page['perms']['title'] = 'Permissions'; |
e673ee24 DO |
405 | $page['perms']['parent'] = 'config'; |
406 | $tab['perms']['default'] = 'View'; | |
82627005 DO |
407 | $tab['perms']['edit'] = 'Edit'; |
408 | $tabhandler['perms']['default'] = 'renderRackCodeViewer'; | |
409 | $tabhandler['perms']['edit'] = 'renderRackCodeEditor'; | |
410 | $ophandler['perms']['edit']['saveRackCode'] = 'saveRackCode'; | |
baf37d01 | 411 | $msgcode['perms']['edit']['saveRackCode']['OK'] = 43; |
ebb5441d DO |
412 | $msgcode['perms']['edit']['saveRackCode']['ERR1'] = 154; |
413 | $msgcode['perms']['edit']['saveRackCode']['ERR2'] = 155; | |
e673ee24 | 414 | |
eebf9145 | 415 | $page['portmap']['title'] = 'Port compatibility map'; |
e673ee24 DO |
416 | $page['portmap']['parent'] = 'config'; |
417 | $tab['portmap']['default'] = 'View'; | |
418 | $tab['portmap']['edit'] = 'Change'; | |
17c32f4c DO |
419 | $tabhandler['portmap']['default'] = 'renderPortMapViewer'; |
420 | $tabhandler['portmap']['edit'] = 'renderPortMapEditor'; | |
e673ee24 | 421 | $ophandler['portmap']['edit']['save'] = 'savePortMap'; |
baf37d01 | 422 | $msgcode['portmap']['edit']['save']['OK'] = 44; |
ebb5441d | 423 | $msgcode['portmap']['edit']['save']['ERR'] = 108; |
e673ee24 | 424 | |
eebf9145 | 425 | $page['attrs']['title'] = 'Attributes'; |
e673ee24 DO |
426 | $page['attrs']['parent'] = 'config'; |
427 | $tab['attrs']['default'] = 'View'; | |
428 | $tab['attrs']['editattrs'] = 'Edit attributes'; | |
429 | $tab['attrs']['editmap'] = 'Edit map'; | |
8b6ffe9c DO |
430 | $tabhandler['attrs']['default'] = 'renderAttributes'; |
431 | $tabhandler['attrs']['editattrs'] = 'renderEditAttributesForm'; | |
432 | $tabhandler['attrs']['editmap'] = 'renderEditAttrMapForm'; | |
e673ee24 DO |
433 | $ophandler['attrs']['editattrs']['add'] = 'createAttribute'; |
434 | $ophandler['attrs']['editattrs']['upd'] = 'changeAttribute'; | |
435 | $ophandler['attrs']['editattrs']['del'] = 'deleteAttribute'; | |
436 | $ophandler['attrs']['editmap']['add'] = 'supplementAttrMap'; | |
437 | $ophandler['attrs']['editmap']['del'] = 'reduceAttrMap'; | |
baf37d01 | 438 | $msgcode['attrs']['editattrs']['add']['OK'] = 45; |
ebb5441d | 439 | $msgcode['attrs']['editattrs']['add']['ERR'] = 116; |
baf37d01 | 440 | $msgcode['attrs']['editattrs']['upd']['OK'] = 46; |
ebb5441d | 441 | $msgcode['attrs']['editattrs']['upd']['ERR'] = 115; |
baf37d01 | 442 | $msgcode['attrs']['editattrs']['del']['OK'] = 47; |
ebb5441d | 443 | $msgcode['attrs']['editattrs']['del']['ERR'] = 117; |
baf37d01 | 444 | $msgcode['attrs']['editmap']['add']['OK'] = 48; |
ebb5441d | 445 | $msgcode['attrs']['editmap']['add']['ERR'] = 118; |
baf37d01 | 446 | $msgcode['attrs']['editmap']['del']['OK'] = 49; |
ebb5441d | 447 | $msgcode['attrs']['editmap']['del']['ERR'] = 119; |
e673ee24 | 448 | |
eebf9145 | 449 | $page['dict']['title'] = 'Dictionary'; |
e673ee24 DO |
450 | $page['dict']['parent'] = 'config'; |
451 | $tab['dict']['default'] = 'View'; | |
452 | $tab['dict']['edit'] = 'Edit words'; | |
453 | $tab['dict']['chapters'] = 'Manage chapters'; | |
8b6ffe9c DO |
454 | $tabhandler['dict']['default'] = 'renderDictionary'; |
455 | $tabhandler['dict']['edit'] = 'renderDictionaryEditor'; | |
456 | $tabhandler['dict']['chapters'] = 'renderChaptersEditor'; | |
e673ee24 DO |
457 | $ophandler['dict']['edit']['del'] = 'reduceDictionary'; |
458 | $ophandler['dict']['edit']['upd'] = 'updateDictionary'; | |
459 | $ophandler['dict']['edit']['add'] = 'supplementDictionary'; | |
460 | $ophandler['dict']['chapters']['del'] = 'delChapter'; | |
461 | $ophandler['dict']['chapters']['upd'] = 'updateChapter'; | |
462 | $ophandler['dict']['chapters']['add'] = 'addChapter'; | |
baf37d01 | 463 | $msgcode['dict']['edit']['del']['OK'] = 50; |
ebb5441d | 464 | $msgcode['dict']['edit']['del']['ERR'] = 111; |
baf37d01 | 465 | $msgcode['dict']['edit']['upd']['OK'] = 51; |
ebb5441d | 466 | $msgcode['dict']['edit']['upd']['ERR'] = 109; |
baf37d01 | 467 | $msgcode['dict']['edit']['add']['OK'] = 52; |
ebb5441d | 468 | $msgcode['dict']['edit']['add']['ERR'] = 110; |
baf37d01 | 469 | $msgcode['dict']['chapters']['del']['OK'] = 53; |
ebb5441d | 470 | $msgcode['dict']['chapters']['del']['ERR'] = 114; |
baf37d01 | 471 | $msgcode['dict']['chapters']['upd']['OK'] = 54; |
ebb5441d | 472 | $msgcode['dict']['chapters']['upd']['ERR'] = 113; |
baf37d01 | 473 | $msgcode['dict']['chapters']['add']['OK'] = 55; |
ebb5441d | 474 | $msgcode['dict']['chapters']['add']['ERR'] = 112; |
e673ee24 | 475 | |
eebf9145 | 476 | $page['ui']['title'] = 'User interface'; |
e673ee24 | 477 | $page['ui']['parent'] = 'config'; |
0a1b1268 | 478 | $tab['ui']['default'] = 'View'; |
4fe32e78 | 479 | $tab['ui']['edit'] = 'Change'; |
b07f617c | 480 | $tab['ui']['reset'] = 'Reset'; |
8b6ffe9c DO |
481 | $tabhandler['ui']['default'] = 'renderUIConfig'; |
482 | $tabhandler['ui']['edit'] = 'renderUIConfigEditForm'; | |
483 | $tabhandler['ui']['reset'] = 'renderUIResetForm'; | |
4fe32e78 | 484 | $ophandler['ui']['edit']['upd'] = 'updateUI'; |
b07f617c | 485 | $ophandler['ui']['reset']['go'] = 'resetUIConfig'; |
baf37d01 | 486 | $msgcode['ui']['edit']['upd']['OK'] = 56; |
ebb5441d | 487 | $msgcode['ui']['edit']['upd']['ERR'] = 125; |
baf37d01 | 488 | $msgcode['ui']['reset']['go']['OK'] = 57; |
e673ee24 | 489 | |
931bf334 DO |
490 | $page['tagtree']['title'] = 'Tag tree'; |
491 | $page['tagtree']['parent'] = 'config'; | |
492 | $tab['tagtree']['default'] = 'View'; | |
49fb1027 | 493 | $tab['tagtree']['edit'] = 'Edit'; |
931bf334 DO |
494 | $tabhandler['tagtree']['default'] = 'renderTagTree'; |
495 | $tabhandler['tagtree']['edit'] = 'renderTagTreeEditor'; | |
fe7044ad DO |
496 | $ophandler['tagtree']['edit']['destroyTag'] = 'destroyTag'; |
497 | $ophandler['tagtree']['edit']['createTag'] = 'createTag'; | |
498 | $ophandler['tagtree']['edit']['updateTag'] = 'updateTag'; | |
baf37d01 | 499 | $msgcode['tagtree']['edit']['destroyTag']['OK'] = 58; |
ebb5441d | 500 | $msgcode['tagtree']['edit']['destroyTag']['ERR'] = 144; |
baf37d01 | 501 | $msgcode['tagtree']['edit']['createTag']['OK'] = 59; |
ebb5441d DO |
502 | $msgcode['tagtree']['edit']['createTag']['ERR1'] = 145; |
503 | $msgcode['tagtree']['edit']['createTag']['ERR2'] = 146; | |
504 | $msgcode['tagtree']['edit']['createTag']['ERR3'] = 147; | |
baf37d01 | 505 | $msgcode['tagtree']['edit']['updateTag']['OK'] = 60; |
ebb5441d DO |
506 | $msgcode['tagtree']['edit']['updateTag']['ERR1'] = 145; |
507 | $msgcode['tagtree']['edit']['updateTag']['ERR2'] = 148; | |
931bf334 | 508 | |
9457ca59 DO |
509 | $page['myaccount']['title'] = 'My account'; |
510 | $page['myaccount']['parent'] = 'config'; | |
511 | $tab['myaccount']['default'] = 'Info'; | |
0ac7e4b3 DO |
512 | $tab['myaccount']['mypassword'] = 'Password change'; |
513 | $tab['myaccount']['myrealname'] = '[Real name change]'; | |
514 | $trigger['myaccount']['mypassword'] = 'trigger_passwdchange'; | |
9457ca59 DO |
515 | $tabhandler['myaccount']['default'] = 'renderMyAccount'; |
516 | $tabhandler['myaccount']['mypassword'] = 'renderMyPasswordEditor'; | |
0ac7e4b3 | 517 | $tabhandler['myaccount']['myrealname'] = 'dragon'; |
9457ca59 | 518 | $ophandler['myaccount']['mypassword']['changeMyPassword'] = 'changeMyPassword'; |
baf37d01 | 519 | $msgcode['myaccount']['mypassword']['changeMyPassword']['OK'] = 61; |
ebb5441d DO |
520 | $msgcode['myaccount']['mypassword']['changeMyPassword']['ERR1'] = 150; |
521 | $msgcode['myaccount']['mypassword']['changeMyPassword']['ERR2'] = 151; | |
522 | $msgcode['myaccount']['mypassword']['changeMyPassword']['ERR3'] = 152; | |
523 | $msgcode['myaccount']['mypassword']['changeMyPassword']['ERR4'] = 153; | |
9457ca59 | 524 | |
eebf9145 | 525 | $page['reports']['title'] = 'Reports'; |
e673ee24 | 526 | $page['reports']['parent'] = 'index'; |
79a10049 | 527 | $page['reports']['handler'] = 'renderReportSummary'; |
e673ee24 DO |
528 | |
529 | // This function returns array if page numbers leading to the target page | |
530 | // plus page number of target page itself. The first element is the target | |
531 | // page number and the last element is the index page number. | |
532 | function getPath ($targetno) | |
533 | { | |
534 | global $page; | |
535 | $path = array(); | |
536 | // Recursion breaks at first parentless page. | |
537 | if (!isset ($page[$targetno]['parent'])) | |
538 | $path = array ($targetno); | |
539 | else | |
540 | { | |
541 | $path = getPath ($page[$targetno]['parent']); | |
542 | $path[] = $targetno; | |
543 | } | |
544 | return $path; | |
545 | } | |
546 | ||
547 | function showPathAndSearch ($pageno) | |
548 | { | |
9c0b0016 | 549 | global $root, $page; |
e673ee24 | 550 | // Path. |
73635d32 | 551 | echo "<td class=activemenuitem width='99%'>" . getConfigVar ('enterprise'); |
eebf9145 DO |
552 | $path = getPath ($pageno); |
553 | foreach ($path as $no) | |
e673ee24 | 554 | { |
eebf9145 DO |
555 | $title['params'] = array(); |
556 | if (isset ($page[$no]['title'])) | |
557 | $title['name'] = $page[$no]['title']; | |
558 | elseif (isset ($page[$no]['title_handler'])) | |
559 | $title = $page[$no]['title_handler']($no); | |
560 | else | |
561 | $title['name'] = '[N/A]'; | |
52c836b1 | 562 | echo ": <a href='${root}?page=${no}&tab=default"; |
eebf9145 DO |
563 | foreach ($title['params'] as $param_name => $param_value) |
564 | echo "&${param_name}=${param_value}"; | |
565 | echo "'>" . $title['name'] . "</a>"; | |
e673ee24 DO |
566 | } |
567 | echo "</td>"; | |
568 | // Search form. | |
569 | echo "<td><table border=0 cellpadding=0 cellspacing=0><tr><td>Search:</td>"; | |
e09e31d5 | 570 | echo "<form name=search method=get action='${root}'><td>"; |
e673ee24 DO |
571 | echo '<input type=hidden name=page value=search>'; |
572 | // This input will be the first, if we don't add ports or addresses. | |
573 | echo "<input type=text name=q size=20 tabindex=1000></td></form></tr></table></td>"; | |
574 | } | |
575 | ||
576 | function getTitle ($pageno, $tabno) | |
577 | { | |
9c0b0016 | 578 | global $page; |
eebf9145 DO |
579 | if (isset ($page[$pageno]['title'])) |
580 | return $page[$pageno]['title']; | |
581 | elseif (isset ($page[$pageno]['title_handler'])) | |
582 | { | |
583 | $tmp = $page[$pageno]['title_handler']($pageno); | |
584 | return $tmp['name']; | |
585 | } | |
586 | else | |
9c0b0016 | 587 | return getConfigVar ('enterprise'); |
e673ee24 DO |
588 | } |
589 | ||
590 | function showTabs ($pageno, $tabno) | |
591 | { | |
08b16bf5 | 592 | global $tab, $root, $page, $remote_username, $trigger, $tabextraclass; |
e673ee24 DO |
593 | if (!isset ($tab[$pageno]['default'])) |
594 | return; | |
595 | echo "<td><div class=greynavbar><ul id=foldertab style='margin-bottom: 0px; padding-top: 10px;'>"; | |
596 | foreach ($tab[$pageno] as $tabidx => $tabtitle) | |
597 | { | |
598 | // Hide forbidden tabs. | |
810e3422 | 599 | if (!permitted ($pageno, $tabidx)) |
e673ee24 | 600 | continue; |
641fe9b0 | 601 | // Dynamic tabs should only be shown in certain cases (trigger exists and returns true). |
545eaaca DO |
602 | if (isset ($trigger[$pageno][$tabidx])) |
603 | { | |
604 | // $t1 = microtime (TRUE); | |
605 | $ok = $trigger[$pageno][$tabidx] (); | |
606 | // $t2 = microtime (TRUE); | |
607 | // echo 'DEBUG: ' . $trigger[$pageno][$tabidx] . ': ' . sprintf ('%0.4f', $t2 - $t1) . '<br>'; | |
608 | if (!$ok) | |
609 | continue; | |
610 | } | |
08b16bf5 DO |
611 | $class = ($tabidx == $tabno) ? 'current' : 'std'; |
612 | $extra = (isset ($tabextraclass[$pageno][$tabidx])) ? $tabextraclass[$pageno][$tabidx] : ''; | |
613 | echo "<li><a class=${class}{$extra}"; | |
e673ee24 DO |
614 | echo " href='${root}?page=${pageno}&tab=${tabidx}"; |
615 | if (isset ($page[$pageno]['bypass']) and isset ($_REQUEST[$page[$pageno]['bypass']])) | |
616 | { | |
617 | $bpname = $page[$pageno]['bypass']; | |
618 | $bpval = $_REQUEST[$bpname]; | |
619 | echo "&${bpname}=${bpval}"; | |
620 | } | |
621 | echo "'>${tabtitle}</a></li>\n"; | |
622 | } | |
623 | echo "</ul></div></td>\n"; | |
624 | } | |
625 | ||
626 | // This function returns pages, which are direct children of the requested | |
627 | // page and are accessible by the current user. | |
628 | function getDirectChildPages ($pageno) | |
629 | { | |
630 | global $page, $remote_username; | |
631 | $children = array(); | |
632 | foreach ($page as $cpageno => $cpage) | |
633 | if | |
634 | ( | |
635 | isset ($cpage['parent']) and | |
636 | $cpage['parent'] == $pageno and | |
810e3422 | 637 | accessibleSubpage ($cpageno) == TRUE |
e673ee24 DO |
638 | ) |
639 | $children[$cpageno] = $cpage; | |
640 | return $children; | |
641 | } | |
642 | ||
643 | function getAllChildPages ($parent) | |
644 | { | |
645 | global $page; | |
646 | // Array pointer is global, so if we don't create local copies of | |
647 | // the global array, we can't advance any more after nested call | |
648 | // of getAllChildPages returns. | |
649 | $mypage = $page; | |
650 | $mykids = array(); | |
651 | foreach ($mypage as $ctitle => $cpage) | |
652 | if (isset ($cpage['parent']) and $cpage['parent'] == $parent) | |
653 | $mykids[] = array ('title' => $ctitle, 'kids' => getAllChildPages ($ctitle)); | |
654 | return $mykids; | |
655 | } | |
656 | ||
657 | ?> |