1<?php 2/* 3 +-------------------------------------------------------------------------+ 4 | Copyright (C) 2004-2021 The Cacti Group | 5 | | 6 | This program is free software; you can redistribute it and/or | 7 | modify it under the terms of the GNU General Public License | 8 | as published by the Free Software Foundation; either version 2 | 9 | of the License, or (at your option) any later version. | 10 | | 11 | This program is distributed in the hope that it will be useful, | 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 | GNU General Public License for more details. | 15 +-------------------------------------------------------------------------+ 16 | Cacti: The Complete RRDtool-based Graphing Solution | 17 +-------------------------------------------------------------------------+ 18 | This code is designed, written, and maintained by the Cacti Group. See | 19 | about.php and/or the AUTHORS file for specific developer information. | 20 +-------------------------------------------------------------------------+ 21 | http://www.cacti.net/ | 22 +-------------------------------------------------------------------------+ 23*/ 24 25global $menu, $menu_glyphs, $graph_sources; 26 27/* Array of Cacti versions and template hash codes 28 Remember to add every version here. */ 29$cacti_version_codes = array( 30 '0.8' => 'NaN', 31 '0.8.1' => 'NaN', 32 '0.8.2' => 'NaN', 33 '0.8.2a' => 'NaN', 34 '0.8.3' => 'NaN', 35 '0.8.3a' => 'NaN', 36 '0.8.4' => '0000', 37 '0.8.5' => '0001', 38 '0.8.5a' => '0002', 39 '0.8.6' => '0003', 40 '0.8.6a' => '0004', 41 '0.8.6b' => '0005', 42 '0.8.6c' => '0006', 43 '0.8.6d' => '0007', 44 '0.8.6e' => '0008', 45 '0.8.6f' => '0009', 46 '0.8.6g' => '0010', 47 '0.8.6h' => '0011', 48 '0.8.6i' => '0012', 49 '0.8.6j' => '0013', 50 '0.8.7' => '0014', 51 '0.8.7a' => '0015', 52 '0.8.7b' => '0016', 53 '0.8.7c' => '0017', 54 '0.8.7d' => '0018', 55 '0.8.7e' => '0019', 56 '0.8.7f' => '0020', 57 '0.8.7g' => '0021', 58 '0.8.7h' => '0022', 59 '0.8.7i' => '0023', 60 '0.8.8' => '0024', 61 '0.8.8a' => '0024', 62 '0.8.8b' => '0024', 63 '0.8.8c' => '0025', 64 '0.8.8d' => '0025', 65 '0.8.8e' => '0025', 66 '0.8.8f' => '0025', 67 '0.8.8g' => '0025', 68 '0.8.8h' => '0025', 69 '1.0.0' => '0100', 70 '1.0.1' => '0100', 71 '1.0.2' => '0100', 72 '1.0.3' => '0100', 73 '1.0.4' => '0100', 74 '1.0.5' => '0100', 75 '1.0.6' => '0100', 76 '1.1.0' => '0100', 77 '1.1.1' => '0100', 78 '1.1.2' => '0100', 79 '1.1.3' => '0100', 80 '1.1.4' => '0100', 81 '1.1.5' => '0100', 82 '1.1.6' => '0101', 83 '1.1.7' => '0101', 84 '1.1.8' => '0101', 85 '1.1.9' => '0101', 86 '1.1.10' => '0101', 87 '1.1.11' => '0101', 88 '1.1.12' => '0101', 89 '1.1.13' => '0101', 90 '1.1.14' => '0101', 91 '1.1.15' => '0101', 92 '1.1.16' => '0101', 93 '1.1.17' => '0101', 94 '1.1.18' => '0101', 95 '1.1.19' => '0101', 96 '1.1.20' => '0101', 97 '1.1.21' => '0101', 98 '1.1.22' => '0101', 99 '1.1.23' => '0101', 100 '1.1.24' => '0101', 101 '1.1.25' => '0101', 102 '1.1.26' => '0101', 103 '1.1.27' => '0101', 104 '1.1.28' => '0101', 105 '1.1.29' => '0101', 106 '1.1.30' => '0101', 107 '1.1.31' => '0101', 108 '1.1.32' => '0101', 109 '1.1.33' => '0101', 110 '1.1.34' => '0101', 111 '1.1.35' => '0101', 112 '1.1.36' => '0101', 113 '1.1.37' => '0101', 114 '1.1.38' => '0101', 115 '1.2.0' => '0101', 116 '1.2.1' => '0101', 117 '1.2.2' => '0101', 118 '1.2.3' => '0102', 119 '1.2.4' => '0102', 120 '1.2.5' => '0102', 121 '1.2.6' => '0102', 122 '1.2.7' => '0102', 123 '1.2.8' => '0102', 124 '1.2.9' => '0102', 125 '1.2.10' => '0102', 126 '1.2.11' => '0102', 127 '1.2.12' => '0102', 128 '1.2.13' => '0102', 129 '1.2.14' => '0102', 130 '1.2.15' => '0102', 131 '1.2.16' => '0102', 132 '1.2.17' => '0102', 133 '1.2.18' => '0102', 134 '1.2.19' => '0103', 135); 136 137$messages = array( 138 1 => array( 139 'message' => __('Save Successful.'), 140 'level' => MESSAGE_LEVEL_INFO), 141 2 => array( 142 'message' => __('Save Failed.'), 143 'level' => MESSAGE_LEVEL_ERROR), 144 3 => array( 145 'message' => __('Save Failed due to field input errors (Check red fields).'), 146 'level' => MESSAGE_LEVEL_ERROR), 147 4 => array( 148 'message' => __('Passwords do not match, please retype.'), 149 'level' => MESSAGE_LEVEL_ERROR), 150 5 => array( 151 'message' => __('You must select at least one field.'), 152 'level' => MESSAGE_LEVEL_ERROR), 153 6 => array( 154 'message' => __('You must have built in user authentication turned on to use this feature.'), 155 'level' => MESSAGE_LEVEL_ERROR), 156 7 => array( 157 'message' => __('XML parse error.'), 158 'level' => MESSAGE_LEVEL_ERROR), 159 8 => array( 160 'message' => __('The directory highlighted does not exist. Please enter a valid directory.'), 161 'level' => MESSAGE_LEVEL_ERROR), 162 9 => array( 163 'message' => __('The Cacti log file must have the extension \'.log\''), 164 'level' => MESSAGE_LEVEL_ERROR), 165 10 => array( 166 'message' => __('Data Input for method does not appear to be whitelisted.'), 167 'level' => MESSAGE_LEVEL_ERROR), 168 11 => array( 169 'message' => __('Data Source does not exist.'), 170 'level' => MESSAGE_LEVEL_ERROR), 171 12 => array( 172 'message' => __('Username already in use.'), 173 'level' => MESSAGE_LEVEL_ERROR), 174 13 => array( 175 'message' => __('The SNMP v3 Privacy Passphrases do not match'), 176 'level' => MESSAGE_LEVEL_ERROR), 177 14 => array( 178 'message' => __('The SNMP v3 Authentication Passphrases do not match'), 179 'level' => MESSAGE_LEVEL_ERROR), 180 15 => array( 181 'message' => __('XML: Cacti version does not exist.'), 182 'level' => MESSAGE_LEVEL_ERROR), 183 16 => array( 184 'message' => __('XML: Hash version does not exist.'), 185 'level' => MESSAGE_LEVEL_ERROR), 186 17 => array( 187 'message' => __('XML: Generated with a newer version of Cacti.'), 188 'level' => MESSAGE_LEVEL_ERROR), 189 18 => array( 190 'message' => __('XML: Cannot locate type code.'), 191 'level' => MESSAGE_LEVEL_ERROR), 192 19 => array( 193 'message' => __('Username already exists.'), 194 'level' => MESSAGE_LEVEL_ERROR), 195 20 => array( 196 'message' => __('Username change not permitted for designated template or guest user.'), 197 'level' => MESSAGE_LEVEL_ERROR), 198 21 => array( 199 'message' => __('User delete not permitted for designated template or guest user.'), 200 'level' => MESSAGE_LEVEL_ERROR), 201 22 => array( 202 'message' => __('User delete not permitted for designated graph export user.'), 203 'level' => MESSAGE_LEVEL_ERROR), 204 23 => array( 205 'message' => __('Data Template includes deleted Data Source Profile. Please resave the Data Template with an existing Data Source Profile.'), 206 'level' => MESSAGE_LEVEL_ERROR), 207 24 => array( 208 'message' => __('Graph Template includes deleted GPrint Prefix. Please run database repair script to identify and/or correct.'), 209 'level' => MESSAGE_LEVEL_ERROR), 210 25 => array( 211 'message' => __('Graph Template includes deleted CDEFs. Please run database repair script to identify and/or correct.'), 212 'level' => MESSAGE_LEVEL_ERROR), 213 26 => array( 214 'message' => __('Graph Template includes deleted Data Input Method. Please run database repair script to identify.'), 215 'level' => MESSAGE_LEVEL_ERROR), 216 27 => array( 217 'message' => __('Data Template not found during Export. Please run database repair script to identify.'), 218 'level' => MESSAGE_LEVEL_ERROR), 219 28 => array( 220 'message' => __('Device Template not found during Export. Please run database repair script to identify.'), 221 'level' => MESSAGE_LEVEL_ERROR), 222 29 => array( 223 'message' => __('Data Query not found during Export. Please run database repair script to identify.'), 224 'level' => MESSAGE_LEVEL_ERROR), 225 30 => array( 226 'message' => __('Graph Template not found during Export. Please run database repair script to identify.'), 227 'level' => MESSAGE_LEVEL_ERROR), 228 31 => array( 229 'message' => __('Graph not found. Either it has been deleted or your database needs repair.'), 230 'level' => MESSAGE_LEVEL_ERROR), 231 32 => array( 232 'message' => __('SNMPv3 Auth Passphrases must be 8 characters or greater.'), 233 'level' => MESSAGE_LEVEL_ERROR), 234 33 => array( 235 'message' => __('Some Graphs not updated. Unable to change device for Data Query based Graphs.'), 236 'level' => MESSAGE_LEVEL_ERROR), 237 34 => array( 238 'message' => __('Unable to change device for Data Query based Graphs.'), 239 'level' => MESSAGE_LEVEL_ERROR), 240 35 => array( 241 'message' => __('Some settings not saved. Check messages below. Check red fields for errors.'), 242 'level' => MESSAGE_LEVEL_ERROR), 243 36 => array( 244 'message' => __('The file highlighted does not exist. Please enter a valid file name.'), 245 'level' => MESSAGE_LEVEL_ERROR), 246 37 => array( 247 'message' => __('All User Settings have been returned to their default values.'), 248 'level' => MESSAGE_LEVEL_INFO), 249 38 => array( 250 'message' => __('Suggested Field Name was not entered. Please enter a field name and try again.'), 251 'level' => MESSAGE_LEVEL_ERROR), 252 39 => array( 253 'message' => __('Suggested Value was not entered. Please enter a suggested value and try again.'), 254 'level' => MESSAGE_LEVEL_ERROR), 255 40 => array( 256 'message' => __('You must select at least one object from the list.'), 257 'level' => MESSAGE_LEVEL_ERROR), 258 41 => array( 259 'message' => __('Device Template updated. Remember to Sync Devices to push all changes to Devices that use this Device Template.'), 260 'level' => MESSAGE_LEVEL_INFO), 261 42 => array( 262 'message' => __('Save Successful. Settings replicated to Remote Data Collectors.'), 263 'level' => MESSAGE_LEVEL_INFO), 264 43 => array( 265 'message' => __('Save Failed. Minimum Values must be less than Maximum Value.'), 266 'level' => MESSAGE_LEVEL_ERROR), 267 44 => array( 268 'message' => __('Unable to change password. User account not found.'), 269 'level' => MESSAGE_LEVEL_ERROR), 270 'input_save_wo_ds' => array( 271 'message' => __('Data Input Saved. You must update the Data Templates referencing this Data Input Method before creating Graphs or Data Sources.'), 272 'level' => MESSAGE_LEVEL_INFO), 273 'input_save_w_ds' => array( 274 'message' => __('Data Input Saved. You must update the Data Templates referencing this Data Input Method before the Data Collectors will start using any new or modified Data Input Input Fields.'), 275 'level' => MESSAGE_LEVEL_INFO), 276 'input_field_save_wo_ds' => array( 277 'message' => __('Data Input Field Saved. You must update the Data Templates referencing this Data Input Method before creating Graphs or Data Sources.'), 278 'level' => MESSAGE_LEVEL_INFO), 279 'input_field_save_w_ds' => array( 280 'message' => __('Data Input Field Saved. You must update the Data Templates referencing this Data Input Method before the Data Collectors will start using any new or modified Data Input Input Fields.'), 281 'level' => MESSAGE_LEVEL_INFO), 282 'clog_invalid' => array( 283 'message' => __('Log file specified is not a Cacti log or archive file.'), 284 'level' => MESSAGE_LEVEL_INFO), 285 'clog_remove' => array( 286 'message' => __('Log file specified was Cacti archive file and was removed.'), 287 'level' => MESSAGE_LEVEL_INFO), 288 'clog_purged' => array( 289 'message' => __('Cacti log purged successfully'), 290 'level' => MESSAGE_LEVEL_INFO), 291 'password_change' => array( 292 'message' => __('If you force a password change, you must also allow the user to change their password.'), 293 'level' => MESSAGE_LEVEL_ERROR), 294 'nopassword' => array( 295 'message' => __('You are not allowed to change your password.'), 296 'level' => MESSAGE_LEVEL_ERROR), 297 'nopasswordlen' => array( 298 'message' => __('Unable to determine size of password field, please check permissions of db user'), 299 'level' => MESSAGE_LEVEL_ERROR), 300 'nopasswordinc' => array( 301 'message' => __('Unable to increase size of password field, pleas check permission of db user'), 302 'level' => MESSAGE_LEVEL_ERROR), 303 'nodomainpassword' => array( 304 'message' => __('LDAP/AD based password change not supported.'), 305 'level' => MESSAGE_LEVEL_ERROR), 306 'password_success' => array( 307 'message' => __('Password successfully changed.'), 308 'level' => MESSAGE_LEVEL_INFO), 309 'clog_permissions' => array( 310 'message' => __('Unable to clear log, no write permissions'), 311 'level' => MESSAGE_LEVEL_ERROR), 312 'clog_missing' => array( 313 'message' => __('Unable to clear log, file does not exist'), 314 'level' => MESSAGE_LEVEL_ERROR), 315 'csrf_timeout' => array( 316 'message' => __('CSRF Timeout, refreshing page.'), 317 'level' => MESSAGE_LEVEL_CSRF), 318 'csrf_ptimeout' => array( 319 'message' => __('CSRF Timeout occurred due to inactivity, page refreshed.'), 320 'level' => MESSAGE_LEVEL_ERROR), 321 'mg_mailtime_invalid' => array( 322 'message' => __('Invalid timestamp. Select timestamp in the future.'), 323 'level' => MESSAGE_LEVEL_ERROR), 324 'poller_sync' => array( 325 'message' => __('Data Collector(s) synchronized for offline operation'), 326 'level' => MESSAGE_LEVEL_INFO), 327 'poller_notfound' => array( 328 'message' => __('Data Collector(s) not found when attempting synchronization'), 329 'level' => MESSAGE_LEVEL_ERROR), 330 'poller_noconnect' => array( 331 'message' => __('Unable to establish MySQL connection with Remote Data Collector.'), 332 'level' => MESSAGE_LEVEL_ERROR), 333 'poller_nosync' => array( 334 'message' => __('Data Collector synchronization must be initiated from the main Cacti server.'), 335 'level' => MESSAGE_LEVEL_ERROR), 336 'poller_nomain' => array( 337 'message' => __('Synchronization does not include the Central Cacti Database server.'), 338 'level' => MESSAGE_LEVEL_ERROR), 339 'poller_nodupe' => array( 340 'message' => __('When saving a Remote Data Collector, the Database Hostname must be unique from all others.'), 341 'level' => MESSAGE_LEVEL_ERROR), 342 'poller_dbhost' => array( 343 'message' => __('Your Remote Database Hostname must be something other than \'localhost\' for each Remote Data Collector.'), 344 'level' => MESSAGE_LEVEL_ERROR), 345 'poller_paths' => array( 346 'message' => __('Path variables on this page were only saved locally.'), 347 'level' => MESSAGE_LEVEL_INFO), 348 'reports_save' => array( 349 'message' => __('Report Saved'), 350 'level' => MESSAGE_LEVEL_INFO), 351 'reports_save_failed' => array( 352 'message' => __('Report Save Failed'), 353 'level' => MESSAGE_LEVEL_ERROR), 354 'reports_item_save' => array( 355 'message' => __('Report Item Saved'), 356 'level' => MESSAGE_LEVEL_INFO), 357 'reports_item_save_failed' => array( 358 'message' => __('Report Item Save Failed'), 359 'level' => MESSAGE_LEVEL_ERROR), 360 'reports_graph_not_found' => array( 361 'message' => __('Graph was not found attempting to Add to Report'), 362 'level' => MESSAGE_LEVEL_ERROR), 363 'reports_not_owner' => array( 364 'message' => __('Unable to Add Graphs. Current user is not owner'), 365 'level' => MESSAGE_LEVEL_ERROR), 366 'reports_add_error' => array( 367 'message' => __('Unable to Add all Graphs. See error message for details.'), 368 'level' => MESSAGE_LEVEL_ERROR), 369 'reports_no_graph' => array( 370 'message' => __('You must select at least one Graph to add to a Report.'), 371 'level' => MESSAGE_LEVEL_ERROR), 372 'reports_graphs_added' => array( 373 'message' => __('All Graphs have been added to the Report. Duplicate Graphs with the same Timespan were skipped.'), 374 'level' => MESSAGE_LEVEL_INFO), 375 'resource_cache_rebuild' => array( 376 'message' => __('Poller Resource Cache cleared. Main Data Collector will rebuild at the next poller start, and Remote Data Collectors will sync afterwards.'), 377 'level' => MESSAGE_LEVEL_INFO), 378 'permission_denied' => array( 379 'message' => __('Permission Denied. You do not have permission to the requested action.'), 380 'level' => MESSAGE_LEVEL_ERROR), 381 'page_not_defined' => array( 382 'message' => __('Page is not defined. Therefore, it can not be displayed.'), 383 'level' => MESSAGE_LEVEL_ERROR), 384 'custom_error' => array( 385 'message' => __('Unexpected error occurred'), 386 'level' => MESSAGE_LEVEL_ERROR) 387); 388 389$cdef_operators = array(1 => 390 '+', 391 '-', 392 '*', 393 '/', 394 '%' 395); 396 397$cdef_functions = array(1 => 398 'SIN', 399 'COS', 400 'LOG', 401 'EXP', 402 'FLOOR', 403 'CEIL', 404 'LT', 405 'LE', 406 'GT', 407 'GE', 408 'EQ', 409 'IF', 410 'MIN', 411 'MAX', 412 'LIMIT', 413 'DUP', 414 'EXC', 415 'POP', 416 'UN', 417 'UNKN', 418 'PREV', 419 'INF', 420 'NEGINF', 421 'NOW', 422 'TIME', 423 'LTIME' 424); 425 426if (cacti_version_compare(get_rrdtool_version(), '1.8.0', '>=')) { 427 $cdef_functions[] = 'ROUND'; 428} 429 430$vdef_functions = array(1 => 431 'MAXIMUM', 432 'MINIMUM', 433 'AVERAGE', 434 'STDEV', 435 'LAST', 436 'FIRST', 437 'TOTAL', 438 'PERCENT', 439 'PERCENTNAN', 440 'LSLSLOPE', 441 'LSLINT', 442 'LSLCORREL' 443); 444 445$vdef_item_types = array( 446 CVDEF_ITEM_TYPE_FUNCTION => __('Function'), 447 CVDEF_ITEM_TYPE_SPEC_DS => __('Special Data Source'), 448 CVDEF_ITEM_TYPE_STRING => __('Custom String'), 449); 450 451$custom_vdef_data_source_types = array( // this may change as soon as RRDtool supports math in VDEF, until then only reference to CDEF may help 452 'CURRENT_DATA_SOURCE' => __('Current Graph Item Data Source'), 453); 454 455$input_types = array( 456 DATA_INPUT_TYPE_SNMP => __('SNMP Get'), // Action 0: 457 DATA_INPUT_TYPE_SNMP_QUERY => __('SNMP Query'), 458 DATA_INPUT_TYPE_SCRIPT => __('Script/Command'), // Action 1: 459 DATA_INPUT_TYPE_SCRIPT_QUERY => __('Script Query'), // Action 1: 460 DATA_INPUT_TYPE_PHP_SCRIPT_SERVER => __('Script Server'), 461 DATA_INPUT_TYPE_QUERY_SCRIPT_SERVER => __('Script Server Query') 462); 463 464$input_types_script = array( 465 DATA_INPUT_TYPE_SCRIPT => __('Script/Command'), // Action 1: 466 DATA_INPUT_TYPE_PHP_SCRIPT_SERVER => __('Script Server'), 467); 468 469$reindex_types = array( 470 DATA_QUERY_AUTOINDEX_NONE => __('None'), 471 DATA_QUERY_AUTOINDEX_BACKWARDS_UPTIME => __('Uptime'), 472 DATA_QUERY_AUTOINDEX_INDEX_NUM_CHANGE => __('Index Count'), 473 DATA_QUERY_AUTOINDEX_FIELD_VERIFICATION => __('Verify All') 474); 475 476$reindex_types_tips = array( 477 DATA_QUERY_AUTOINDEX_NONE => __('All Re-Indexing will be manual or managed through scripts or Device Automation.'), 478 DATA_QUERY_AUTOINDEX_BACKWARDS_UPTIME => __('When the Devices SNMP uptime goes backward, a Re-Index will be performed.'), 479 DATA_QUERY_AUTOINDEX_INDEX_NUM_CHANGE => __('When the Data Query index count changes, a Re-Index will be performed.'), 480 DATA_QUERY_AUTOINDEX_FIELD_VERIFICATION => __('Every polling cycle, a Re-Index will be performed. Very expensive.') 481); 482 483$snmp_query_field_actions = array(1 => 484 __('SNMP Field Name (Dropdown)'), 485 __('SNMP Field Value (From User)'), 486 __('SNMP Output Type (Dropdown)') 487); 488 489$consolidation_functions = array(1 => 490 'AVERAGE', 491 'MIN', 492 'MAX', 493 'LAST' 494); 495 496$data_source_types = array( 497 1 => 'GAUGE', 498 2 => 'COUNTER', 499 3 => 'DERIVE', 500 4 => 'ABSOLUTE', 501 5 => 'COMPUTE' 502); 503 504if (cacti_version_compare(get_rrdtool_version(), '1.5', '>=')) { 505 $data_source_types[6] = 'DCOUNTER'; 506 $data_source_types[7] = 'DDERIVE'; 507} 508 509$rrd_font_render_modes = array( 510 RRD_FONT_RENDER_NORMAL => __('Normal'), 511 RRD_FONT_RENDER_LIGHT => __('Light'), 512 RRD_FONT_RENDER_MONO => __('Mono'), 513); 514 515$rrd_graph_render_modes = array( 516 RRD_GRAPH_RENDER_NORMAL => __('Normal'), 517 RRD_GRAPH_RENDER_MONO => __('Mono'), 518); 519 520$rrd_legend_position = array( 521 RRD_LEGEND_POS_NORTH => __('North'), 522 RRD_LEGEND_POS_SOUTH => __('South'), 523 RRD_LEGEND_POS_WEST => __('West'), 524 RRD_LEGEND_POS_EAST => __('East'), 525); 526 527$rrd_textalign = array( 528 RRD_ALIGN_NONE => __('None'), 529 RRD_ALIGN_LEFT => __('Left'), 530 RRD_ALIGN_RIGHT => __('Right'), 531 RRD_ALIGN_JUSTIFIED => __('Justified'), 532 RRD_ALIGN_CENTER => __('Center'), 533); 534 535$rrd_legend_direction = array( 536 RRD_LEGEND_DIR_TOPDOWN => __('Top -> Down'), 537 RRD_LEGEND_DIR_BOTTOMUP => __('Bottom -> Up'), 538); 539 540$rrd_axis_formatters = array( 541 'numeric' => __('Numeric'), 542 'timestamp' => __('Timestamp'), 543 'duration' => __('Duration') 544); 545 546$graph_item_types = array( 547 GRAPH_ITEM_TYPE_COMMENT => 'COMMENT', 548 GRAPH_ITEM_TYPE_HRULE => 'HRULE', 549 GRAPH_ITEM_TYPE_VRULE => 'VRULE', 550 GRAPH_ITEM_TYPE_LINE1 => 'LINE1', 551 GRAPH_ITEM_TYPE_LINE2 => 'LINE2', 552 GRAPH_ITEM_TYPE_LINE3 => 'LINE3', 553 GRAPH_ITEM_TYPE_AREA => 'AREA', 554 GRAPH_ITEM_TYPE_STACK => 'AREA:STACK', 555 GRAPH_ITEM_TYPE_GPRINT => 'GPRINT', 556 GRAPH_ITEM_TYPE_GPRINT_AVERAGE => 'GPRINT:AVERAGE', 557 GRAPH_ITEM_TYPE_GPRINT_LAST => 'GPRINT:LAST', 558 GRAPH_ITEM_TYPE_GPRINT_MAX => 'GPRINT:MAX', 559 GRAPH_ITEM_TYPE_GPRINT_MIN => 'GPRINT:MIN', 560 GRAPH_ITEM_TYPE_LEGEND => 'LEGEND', 561 GRAPH_ITEM_TYPE_LEGEND_CAMM => 'LEGEND_CAMM', 562 GRAPH_ITEM_TYPE_LINESTACK => 'LINE:STACK', 563 GRAPH_ITEM_TYPE_TIC => 'TICK', 564 GRAPH_ITEM_TYPE_TEXTALIGN => 'TEXTALIGN', 565); 566 567asort($graph_item_types); 568 569$image_types = array( 570 1 => 'PNG', 571 3 => 'SVG' 572); 573 574$snmp_security_levels = array( 575 'noAuthNoPriv' => 'noAuthNoPriv', 576 'authNoPriv' => 'authNoPriv', 577 'authPriv' => 'authPriv' 578); 579 580$snmp_versions = array(0 => 581 __('Not In Use'), 582 __('Version %d', 1), 583 __('Version %d', 2), 584 __('Version %d', 3) 585); 586 587$snmp_auth_protocols = array( 588 '[None]' => __('[None]'), 589 'MD5' => __('MD5'), 590 'SHA' => __('SHA'), 591 'SHA224' => __('SHA-224'), 592 'SHA256' => __('SHA-256'), 593 'SHA392' => __('SHA-392'), 594 'SHA512' => __('SHA-512'), 595); 596 597$snmp_priv_protocols = array( 598 '[None]' => __('[None]'), 599 'DES' => __('DES'), 600 'AES128' => __('AES-128'), 601 'AES192' => __('AES-192'), 602 'AES256' => __('AES-256') 603); 604 605$banned_snmp_strings = array( 606 'End of MIB', 607 'No Such' 608); 609 610$logfile_options = array(1 => 611 __('Logfile Only'), 612 __('Logfile and Syslog/Eventlog'), 613 __('Syslog/Eventlog Only') 614); 615 616$availability_options = array( 617 AVAIL_NONE => __('None'), 618 AVAIL_SNMP_AND_PING => __('Ping and SNMP Uptime'), 619 AVAIL_SNMP_OR_PING => __('Ping or SNMP Uptime'), 620 AVAIL_SNMP => __('SNMP Uptime'), 621 AVAIL_SNMP_GET_SYSDESC => __('SNMP Desc'), 622 AVAIL_SNMP_GET_NEXT => __('SNMP getNext'), 623 AVAIL_PING => __('Ping') 624); 625 626$ping_methods = array( 627 PING_ICMP => __('ICMP Ping'), 628 PING_TCP => __('TCP Ping'), 629 PING_UDP => __('UDP Ping') 630); 631 632$logfile_verbosity = array( 633 POLLER_VERBOSITY_NONE => __('NONE - Syslog Only if Selected'), 634 POLLER_VERBOSITY_LOW => __('LOW - Statistics and Errors'), 635 POLLER_VERBOSITY_MEDIUM => __('MEDIUM - Statistics, Errors and Results'), 636 POLLER_VERBOSITY_HIGH => __('HIGH - Statistics, Errors, Results and Major I/O Events'), 637 POLLER_VERBOSITY_DEBUG => __('DEBUG - Statistics, Errors, Results, I/O and Program Flow'), 638 POLLER_VERBOSITY_DEVDBG => __('DEVEL - Developer DEBUG Level') 639); 640 641$poller_options = array( 642 1 => 'cmd.php', 643 2 => 'spine' 644); 645 646if (!file_exists(read_config_option('path_spine')) || !is_executable(read_config_option('path_spine'))) { 647 unset($poller_options[2]); 648} 649 650$aggregation_levels = array( 651 1 => __('Selected Poller Interval'), 652 30 => __('%d Seconds', 30), 653 60 => __('1 Minute'), 654 300 => __('%d Minutes', 5), 655 600 => __('%d Minutes', 10), 656 900 => __('%d Minutes', 15), 657 1800 => __('%d Minutes', 30), 658 3600 => __('1 Hour'), 659 7200 => __('%d Hours', 2), 660 10800 => __('%d Hours', 3), 661 14400 => __('%d Hours', 4), 662 21600 => __('%d Hours', 6), 663 43200 => __('%d Hours', 12), 664 86400 => __('%d Day', 1), 665 604800 => __('%d Week', 1) 666); 667 668$sampling_intervals = array( 669 10 => __('Every %d Seconds', 10), 670 15 => __('Every %d Seconds', 15), 671 20 => __('Every %d Seconds', 20), 672 30 => __('Every %d Seconds', 30), 673 60 => __('Every Minute'), 674 300 => __('Every %d Minutes', 5), 675 600 => __('Every %d Minutes', 10), 676 900 => __('Every %d Minutes', 15), 677 1200 => __('Every %d Minutes', 20), 678 1800 => __('Every %d Minutes', 30), 679 3600 => __('Every Hour'), 680 7200 => __('Every %d Hours', 2), 681 14400 => __('Every %d Hours', 4), 682 28800 => __('Every %d Hours', 8), 683 43200 => __('Every %d Hours', 12), 684 86400 => __('Every %d Day', 1) 685); 686 687$heartbeats = array( 688 20 => __('%d Seconds', 20), 689 30 => __('%d Seconds', 30), 690 40 => __('%d Seconds', 40), 691 60 => __('%d Minute', 1), 692 120 => __('%d Minutes', 2), 693 300 => __('%d Minutes', 5), 694 600 => __('%d Minutes', 10), 695 1200 => __('%d Minutes', 20), 696 1800 => __('%d Minutes', 30), 697 2400 => __('%d Minutes', 40), 698 3600 => __('%d Hour', 1), 699 7200 => __('%d Hours', 2), 700 14400 => __('%d Hours', 4), 701 28800 => __('%d Hours', 8), 702 57600 => __('%d Hours', 16), 703 86400 => __('%d Day', 1), 704 172800 => __('%d Days', 2) 705); 706 707$timespans = array( 708 3600 => __('%d Hour', 1), 709 7200 => __('%d Hours', 2), 710 14400 => __('%d Hours', 4), 711 21600 => __('%d Hours', 6), 712 43200 => __('%d Hours', 12), 713 86400 => __('%d Day', 1), 714 172800 => __('%d Days', 2), 715 345600 => __('%d Days', 4), 716 604800 => __('%d Week', 1), 717 1209600 => __('%d Weeks', 2), 718 1814400 => __('%d Weeks', 3), 719 2618784 => __('%d Month', 1), 720 5237568 => __('%d Months', 2), 721 7856352 => __('%d Months', 3), 722 10475136 => __('%d Months', 4), 723 15712704 => __('%d Months', 6), 724 31536000 => __('%d Year', 1), 725 63072000 => __('%d Years', 2), 726 94608000 => __('%d Years', 3), 727 126144000 => __('%d Years', 4), 728 157680000 => __('%d Years', 5), 729 189216000 => __('%d Years', 6), 730 220752000 => __('%d Years', 7), 731 252288000 => __('%d Years', 8), 732 283824000 => __('%d Years', 9), 733 315360000 => __('%d Years', 10) 734); 735 736$poller_intervals = array( 737 10 => __('Every %d Seconds', 10), 738 15 => __('Every %d Seconds', 15), 739 20 => __('Every %d Seconds', 20), 740 30 => __('Every %d Seconds', 30), 741 60 => __('Every Minute'), 742 300 => __('Every %d Minutes', 5) 743); 744 745$poller_sync_intervals = array( 746 0 => __('Disabled/Manual'), 747 1800 => __('Every %d Minutes', 30), 748 3600 => __('Every Hour'), 749 7200 => __('Every %d Hours', 2), 750 14400 => __('Every %d Hours', 4), 751 28800 => __('Every %d Hours', 8), 752 57600 => __('Every %d Hours', 16), 753 86400 => __('Every day'), 754); 755 756$device_threads = array( 757 1 => __('1 Thread (default)'), 758 2 => __('%d Threads', 2), 759 3 => __('%d Threads', 3), 760 4 => __('%d Threads', 4), 761 5 => __('%d Threads', 5), 762 6 => __('%d Threads', 6), 763 7 => __('%d Threads', 7), 764 8 => __('%d Threads', 8), 765 9 => __('%d Threads', 9), 766 10 => __('%d Threads', 10) 767); 768 769$cron_intervals = array( 770 60 => __('Every Minute'), 771 300 => __('Every %d Minutes', 5) 772); 773 774$registered_cacti_names = array( 775 'path_cacti' 776); 777 778$graph_views = array(1 => 779 __('Tree View'), 780 __('List View'), 781 __('Preview View') 782); 783 784$auth_methods = array( 785 1 => __('Builtin Authentication'), 786 2 => __('Web Basic Authentication') 787); 788 789if (function_exists('ldap_connect')) { 790 $auth_methods[3] = __('LDAP Authentication'); 791 $auth_methods[4] = __('Multiple LDAP/AD Domains'); 792} 793 794$domain_types = array( 795 '1' => __('LDAP'), 796 '2' => __('Active Directory') 797); 798 799$auth_realms = get_auth_realms(); 800 801$ldap_versions = array( 802 2 => __('Version %d', 2), 803 3 => __('Version %d', 3) 804); 805 806$ldap_encryption = array( 807 0 => __('None'), 808 1 => __('LDAPS'), 809 2 => __('LDAP + TLS') 810); 811 812$ldap_tls_cert_req = array( 813 LDAP_OPT_X_TLS_NEVER => __('Never'), 814 LDAP_OPT_X_TLS_HARD => __('Hard'), 815 LDAP_OPT_X_TLS_DEMAND => __('Demand'), 816 LDAP_OPT_X_TLS_ALLOW => __('Allow'), 817 LDAP_OPT_X_TLS_TRY => __('Try') 818); 819 820$ldap_modes = array( 821 0 => __('No Searching'), 822 1 => __('Anonymous Searching'), 823 2 => __('Specific Searching') 824); 825 826$rrdtool_versions = array( 827 '1.3.0' => 'RRDtool 1.3+', 828 '1.4.0' => 'RRDtool 1.4+', 829 '1.5.0' => 'RRDtool 1.5+', 830 '1.6.0' => 'RRDtool 1.6+', 831 '1.7.0' => 'RRDtool 1.7+', 832 '1.7.1' => 'RRDtool 1.7.1+', 833 '1.7.2' => 'RRDtool 1.7.2+', 834 '1.8.0' => 'RRDtool 1.8+' 835); 836 837$i18n_modes = array( 838 0 => __('Disabled'), 839 1 => __('Enabled'), 840 2 => __('Enabled (strict mode)'), 841); 842 843$cdef_item_types = array( 844 CVDEF_ITEM_TYPE_FUNCTION => __('Function'), 845 CVDEF_ITEM_TYPE_OPERATOR => __('Operator'), 846 CVDEF_ITEM_TYPE_SPEC_DS => __('Special Data Source'), 847 CVDEF_ITEM_TYPE_CDEF => __('Another CDEF'), 848 CVDEF_ITEM_TYPE_STRING => __('Custom String') 849); 850 851$graph_color_alpha = array( 852 '00' => ' 0%', 853 '19' => ' 10%', 854 '33' => ' 20%', 855 '4C' => ' 30%', 856 '66' => ' 40%', 857 '7F' => ' 50%', 858 '99' => ' 60%', 859 'B2' => ' 70%', 860 'CC' => ' 80%', 861 'E5' => ' 90%', 862 'FF' => '100%' 863); 864 865$tree_sort_types = array( 866 TREE_ORDERING_INHERIT => __('Inherit Parent Sorting'), 867 TREE_ORDERING_NONE => __('Manual Ordering (No Sorting)'), 868 TREE_ORDERING_ALPHABETIC => __('Alphabetic Ordering'), 869 TREE_ORDERING_NATURAL => __('Natural Ordering'), 870 TREE_ORDERING_NUMERIC => __('Numeric Ordering') 871); 872 873$tree_item_types = array( 874 TREE_ITEM_TYPE_HEADER => __('Header'), 875 TREE_ITEM_TYPE_GRAPH => __('Graph'), 876 TREE_ITEM_TYPE_HOST => __('Device') 877); 878 879$host_group_types = array( 880 HOST_GROUPING_GRAPH_TEMPLATE => __('Graph Template'), 881 HOST_GROUPING_DATA_QUERY_INDEX => __('Data Query Index') 882); 883 884$custom_data_source_types = array( 885 'CURRENT_DATA_SOURCE' => __('Current Graph Item Data Source'), 886 'CURRENT_DATA_SOURCE_PI' => __('Current Graph Item Polling Interval'), 887 'ALL_DATA_SOURCES_NODUPS' => __('All Data Sources (Do not Include Duplicates)'), 888 'ALL_DATA_SOURCES_DUPS' => __('All Data Sources (Include Duplicates)'), 889 'SIMILAR_DATA_SOURCES_NODUPS' => __('All Similar Data Sources (Do not Include Duplicates)'), 890 'SIMILAR_DATA_SOURCES_NODUPS_PI' => __('All Similar Data Sources (Do not Include Duplicates) Polling Interval'), 891 'SIMILAR_DATA_SOURCES_DUPS' => __('All Similar Data Sources (Include Duplicates)'), 892 'CURRENT_DS_MINIMUM_VALUE' => __('Current Data Source Item: Minimum Value'), 893 'CURRENT_DS_MAXIMUM_VALUE' => __('Current Data Source Item: Maximum Value'), 894 'CURRENT_GRAPH_MINIMUM_VALUE' => __('Graph: Lower Limit'), 895 'CURRENT_GRAPH_MAXIMUM_VALUE' => __('Graph: Upper Limit'), 896 'COUNT_ALL_DS_NODUPS' => __('Count of All Data Sources (Do not Include Duplicates)'), 897 'COUNT_ALL_DS_DUPS' => __('Count of All Data Sources (Include Duplicates)'), 898 'COUNT_SIMILAR_DS_NODUPS' => __('Count of All Similar Data Sources (Do not Include Duplicates)'), 899 'COUNT_SIMILAR_DS_DUPS' => __('Count of All Similar Data Sources (Include Duplicates)') 900); 901 902if ($config['poller_id'] == 1 || $config['connection'] == 'online') { 903 $menu = array( 904 __('Main Console') => array( 905 'index.php' => __('Console Page') 906 ), 907 __('Create') => array( 908 'graphs_new.php' => __('New Graphs'), 909 'host.php?action=edit&create=true' => __('New Device') 910 ), 911 __('Management') => array( 912 'host.php' => __('Devices'), 913 'sites.php' => __('Sites'), 914 'tree.php' => __('Trees'), 915 'graphs.php' => __('Graphs'), 916 'data_sources.php' => __('Data Sources'), 917 'aggregate_graphs.php' => __('Aggregates'), 918 ), 919 __('Data Collection') => array( 920 'pollers.php' => __('Data Collectors'), 921 'data_queries.php' => __('Data Queries'), 922 'data_input.php' => __('Data Input Methods') 923 ), 924 __('Templates') => array( 925 'host_templates.php' => __('Device'), 926 'graph_templates.php' => __('Graph'), 927 'data_templates.php' => __('Data Source'), 928 'aggregate_templates.php' => __('Aggregate'), 929 'color_templates.php' => __('Color') 930 ), 931 __('Automation') => array( 932 'automation_networks.php' => __('Networks'), 933 'automation_devices.php' => __('Discovered Devices'), 934 'automation_templates.php' => __('Device Rules'), 935 'automation_graph_rules.php' => __('Graph Rules'), 936 'automation_tree_rules.php' => __('Tree Rules'), 937 'automation_snmp.php' => __('SNMP Options'), 938 ), 939 __('Presets') => array( 940 'data_source_profiles.php' => __('Data Profiles'), 941 'cdef.php' => __('CDEFs'), 942 'vdef.php' => __('VDEFs'), 943 'color.php' => __('Colors'), 944 'gprint_presets.php' => __('GPRINTs') 945 ), 946 __('Import/Export') => array( 947 'templates_import.php' => __('Import Templates'), 948 'templates_export.php' => __('Export Templates') 949 ), 950 __('Configuration') => array( 951 'settings.php' => __('Settings'), 952 'user_admin.php' => __('Users'), 953 'user_group_admin.php' => __('User Groups'), 954 'user_domains.php' => __('User Domains') 955 ), 956 __('Utilities') => array( 957 'utilities.php' => __('System Utilities'), 958 'links.php' => __('External Links'), 959 ), 960 __('Troubleshooting') => array( 961 'data_debug.php' => __('Data Sources'), 962 ) 963 ); 964} else { 965 $menu = array( 966 __('Management') => array( 967 'host.php' => __('Devices') 968 ), 969 __('Data Collection') => array( 970 'pollers.php' => __('Data Collectors') 971 ), 972 __('Configuration') => array( 973 'settings.php' => __('Settings') 974 ), 975 __('Utilities') => array( 976 'utilities.php' => __('System Utilities') 977 ) 978 ); 979} 980 981$menu_glyphs = array( 982 __('Main Console') => 'fa fa-map', 983 __('Create') => 'fa fa-chart-area', 984 __('Management') => 'fa fa-home', 985 __('Data Collection') => 'fa fa-database', 986 __('Templates') => 'fa fa-clone', 987 __('Automation') => 'fab fa-superpowers', 988 __('Presets') => 'fa fa-archive', 989 __('Import/Export') => 'fa fa-exchange-alt', 990 __('Configuration') => 'fa fa-sliders-h', 991 __('Utilities') => 'fa fa-cogs', 992 __('External Links') => 'fa fa-external-link-alt', 993 __('Support') => 'fa fa-question-circle', 994 __('Troubleshooting') => 'fa fa-bug' 995); 996 997if ((isset($_SESSION['sess_user_id']))) { 998 if (db_table_exists('external_links')) { 999 $consoles = db_fetch_assoc('SELECT id, title, extendedstyle 1000 FROM external_links 1001 WHERE style="CONSOLE" 1002 AND enabled="on" 1003 ORDER BY extendedstyle, sortorder, id'); 1004 1005 if (cacti_sizeof($consoles)) { 1006 foreach ($consoles as $page) { 1007 if (is_realm_allowed($page['id']+10000)) { 1008 $menuname = (isset($page['extendedstyle']) && $page['extendedstyle'] != '' ? $page['extendedstyle'] : __('External Links')); 1009 $menu[$menuname]['link.php?id=' . $page['id']] = $page['title']; 1010 } 1011 } 1012 } 1013 } 1014} 1015 1016$log_tail_lines = array( 1017 -1 => __('All Lines'), 1018 10 => __('%d Lines', 10), 1019 15 => __('%d Lines', 15), 1020 20 => __('%d Lines', 20), 1021 50 => __('%d Lines', 50), 1022 100 => __('%d Lines', 100), 1023 200 => __('%d Lines', 200), 1024 500 => __('%d Lines', 500), 1025 1000 => __('%d Lines', 1000), 1026 2000 => __('%d Lines', 2000), 1027 3000 => __('%d Lines', 3000), 1028 5000 => __('%d Lines', 5000), 1029 10000 => __('%d Lines', 10000) 1030); 1031 1032$item_rows = array( 1033 10 => '10', 1034 15 => '15', 1035 16 => '16', 1036 17 => '17', 1037 18 => '18', 1038 19 => '19', 1039 20 => '20', 1040 21 => '21', 1041 22 => '22', 1042 23 => '23', 1043 24 => '24', 1044 25 => '25', 1045 26 => '26', 1046 27 => '27', 1047 30 => '30', 1048 40 => '40', 1049 44 => '44', 1050 45 => '45', 1051 50 => '50', 1052 100 => '100', 1053 250 => '250', 1054 500 => '500', 1055 750 => '750', 1056 1000 => '1000', 1057 2000 => '2000', 1058 3000 => '3000', 1059 4000 => '4000', 1060 5000 => '5000', 1061); 1062 1063// Adjust the number of items rows based upon max_input_vars 1064$max_size = ini_get('max_input_vars') - 20; 1065foreach($item_rows as $index => $row) { 1066 if ($index > $max_size) { 1067 unset($item_rows[$index]); 1068 } 1069} 1070 1071$graphs_per_page = array( 1072 4 => '4', 1073 6 => '6', 1074 8 => '8', 1075 9 => '9', 1076 10 => '10', 1077 12 => '12', 1078 14 => '14', 1079 15 => '15', 1080 16 => '16', 1081 18 => '18', 1082 20 => '20', 1083 24 => '24', 1084 25 => '25', 1085 27 => '27', 1086 28 => '28', 1087 30 => '30', 1088 32 => '32', 1089 35 => '35', 1090 40 => '40', 1091 50 => '50', 1092 100 => '100' 1093); 1094 1095$page_refresh_interval = array( 1096 5 => __('%d Seconds', 5), 1097 10 => __('%d Seconds', 10), 1098 20 => __('%d Seconds', 20), 1099 30 => __('%d Seconds', 30), 1100 60 => __('1 Minute'), 1101 300 => __('%d Minutes', 5), 1102 600 => __('%d Minutes', 10), 1103 9999999 => __('Never') 1104); 1105 1106$user_auth_realms = array( 1107 8 => __('Console Access'), 1108 7 => __('View Graphs'), 1109 25 => __('Realtime Graphs'), 1110 20 => __('Update Profile'), 1111 24 => __('External Links'), 1112 1113 1 => __('Users/Groups'), 1114 15 => __('Settings/Utilities'), 1115 23 => __('Automation'), 1116 26 => __('Installation/Upgrades'), 1117 1118 2 => __('Data Input Methods'), 1119 13 => __('Data Queries'), 1120 1121 3 => __('Sites/Devices/Data'), 1122 5 => __('Graphs'), 1123 4 => __('Trees'), 1124 1043 => __('Spike Handling'), 1125 1126 9 => __('Data Source Profiles'), 1127 14 => __('Presets'), 1128 1129 10 => __('Graph Templates'), 1130 11 => __('Data Templates'), 1131 12 => __('Device Templates'), 1132 1133 16 => __('Export Templates'), 1134 17 => __('Import Templates'), 1135 1136 18 => __('Log Administration'), 1137 19 => __('Log Viewing'), 1138 1139 21 => __('Reports Administration'), 1140 22 => __('Reports Creation'), 1141 27 => __('Show Graph Action Icons'), 1142 28 => __('Show User Help Links'), 1143 101 => __('Plugin Administration') 1144); 1145 1146$user_auth_roles = array( 1147 __('Normal User') => array(7, 19, 20, 22, 24, 25, 27, 28), 1148 __('Template Editor') => array(8, 2, 9, 10, 11, 12, 13, 14, 16, 17), 1149 __('General Administration') => array(8, 3, 4, 5, 23, 1043), 1150 __('System Administration') => array(8, 15, 26, 1, 18, 21, 101) 1151); 1152 1153$user_auth_realm_filenames = array( 1154 'about.php' => 8, 1155 'cdef.php' => 14, 1156 'clog.php' => 18, 1157 'clog_user.php' => 19, 1158 'color.php' => 5, 1159 'data_debug.php' => 15, 1160 'data_input.php' => 2, 1161 'data_sources.php' => 3, 1162 'data_source_profiles.php' => 9, 1163 'data_templates.php' => 11, 1164 'gprint_presets.php' => 5, 1165 'graph.php' => 7, 1166 'graph_image.php' => 7, 1167 'graph_json.php' => 7, 1168 'graph_xport.php' => 7, 1169 'graph_templates.php' => 10, 1170 'graph_templates_inputs.php' => 10, 1171 'graph_templates_items.php' => 10, 1172 'graph_view.php' => 7, 1173 'graph_realtime.php' => 25, 1174 'graphs.php' => 5, 1175 'graphs_items.php' => 5, 1176 'graphs_new.php' => 5, 1177 'sites.php' => 3, 1178 'pollers.php' => 3, 1179 'host.php' => 3, 1180 'host_templates.php' => 12, 1181 'index.php' => 8, 1182 'install.php' => 26, 1183 'step_json.php' => 26, 1184 'managers.php' => 15, 1185 'rrdcleaner.php' => 15, 1186 'settings.php' => 15, 1187 'links.php' => 15, 1188 'data_queries.php' => 13, 1189 'templates_export.php' => 16, 1190 'templates_import.php' => 17, 1191 'tree.php' => 4, 1192 'user_admin.php' => 1, 1193 'user_domains.php' => 1, 1194 'user_group_admin.php' => 1, 1195 'utilities.php' => 15, 1196 'vdef.php' => 14, 1197 'smtp_servers.php' => 8, 1198 'email_templates.php' => 8, 1199 'event_queue.php' => 8, 1200 'smtp_queue.php' => 8, 1201 'logout.php' => -1, 1202 'auth_profile.php' => 20, 1203 'auth_changepassword.php' => -1, 1204 'reports_user.php' => 21, 1205 'reports_admin.php' => 22, 1206 'automation_graph_rules.php' => 23, 1207 'automation_tree_rules.php' => 23, 1208 'automation_templates.php' => 23, 1209 'automation_networks.php' => 23, 1210 'automation_devices.php' => 23, 1211 'automation_snmp.php' => 23, 1212 'color_templates.php' => 5, 1213 'color_templates_items.php' => 5, 1214 'aggregate_templates.php' => 5, 1215 'aggregate_graphs.php' => 5, 1216 'aggregate_items.php' => 5, 1217 'spikekill.php' => 1043, 1218 'permission_denied.php' => -1 1219); 1220 1221$hash_type_codes = array( 1222 'round_robin_archive' => '15', 1223 'cdef' => '05', 1224 'cdef_item' => '14', 1225 'gprint_preset' => '06', 1226 'data_input_method' => '03', 1227 'data_input_field' => '07', 1228 'data_template' => '01', 1229 'data_template_item' => '08', 1230 'graph_template' => '00', 1231 'graph_template_item' => '10', 1232 'graph_template_input' => '09', 1233 'data_query' => '04', 1234 'data_query_graph' => '11', 1235 'data_query_sv_graph' => '12', 1236 'data_query_sv_data_source' => '13', 1237 'host_template' => '02', 1238 'vdef' => '18', 1239 'vdef_item' => '19', 1240 'data_source_profile' => '20' 1241); 1242 1243$hash_type_names = array( 1244 'cdef' => __('CDEF'), 1245 'cdef_item' => __('CDEF Item'), 1246 'gprint_preset' => __('GPRINT Preset'), 1247 'data_template' => __('Data Template'), 1248 'data_input_method' => __('Data Input Method'), 1249 'data_input_field' => __('Data Input Field'), 1250 'data_source_profile' => __('Data Source Profile'), 1251 'data_template_item' => __('Data Template Item'), 1252 'graph_template' => __('Graph Template'), 1253 'graph_template_item' => __('Graph Template Item'), 1254 'graph_template_input' => __('Graph Template Input'), 1255 'data_query' => __('Data Query'), 1256 'host_template' => __('Device Template'), 1257 'vdef' => __('VDEF'), 1258 'vdef_item' => __('VDEF Item') 1259); 1260 1261$hash_system_data_inputs = array( 1262 '3eb92bb845b9660a7445cf9740726522', // Get SNMP Data 1263 'bf566c869ac6443b0c75d1c32b5a350e', // Get SNMP Data (Indexed) 1264 '80e9e4c4191a5da189ae26d0e237f015', // Get Script Data (Indexed) 1265 '332111d8b54ac8ce939af87a7eac0c06' // Get Script Server Data (Indexed) 1266); 1267 1268$host_struc = array( 1269 'host_template_id', 1270 'description', 1271 'hostname', 1272 'site_id', 1273 'poller_id', 1274 'notes', 1275 'snmp_community', 1276 'snmp_version', 1277 'snmp_username', 1278 'snmp_password', 1279 'snmp_auth_protocol', 1280 'snmp_priv_passphrase', 1281 'snmp_priv_protocol', 1282 'snmp_context', 1283 'snmp_engine_id', 1284 'snmp_port', 1285 'snmp_timeout', 1286 'max_oids', 1287 'bulk_walk_size', 1288 'device_threads', 1289 'availability_method', 1290 'location', 1291 'external_id', 1292 'ping_method', 1293 'ping_port', 1294 'ping_timeout', 1295 'ping_retries', 1296 'disabled', 1297 'status', 1298 'status_event_count', 1299 'status_fail_date', 1300 'status_rec_date', 1301 'status_last_error', 1302 'min_time', 1303 'max_time', 1304 'cur_time', 1305 'avg_time', 1306 'total_polls', 1307 'failed_polls', 1308 'availability' 1309); 1310 1311$graph_timespans = array( 1312 GT_LAST_HALF_HOUR => __('Last Half Hour'), 1313 GT_LAST_HOUR => __('Last Hour'), 1314 GT_LAST_2_HOURS => __('Last %d Hours', 2), 1315 GT_LAST_4_HOURS => __('Last %d Hours', 4), 1316 GT_LAST_6_HOURS => __('Last %d Hours', 6), 1317 GT_LAST_12_HOURS => __('Last %d Hours', 12), 1318 GT_LAST_DAY => __('Last Day'), 1319 GT_LAST_2_DAYS => __('Last %d Days', 2), 1320 GT_LAST_3_DAYS => __('Last %d Days', 3), 1321 GT_LAST_4_DAYS => __('Last %d Days', 4), 1322 GT_LAST_WEEK => __('Last Week'), 1323 GT_LAST_2_WEEKS => __('Last %d Weeks', 2), 1324 GT_LAST_MONTH => __('Last Month'), 1325 GT_LAST_2_MONTHS => __('Last %d Months', 2), 1326 GT_LAST_3_MONTHS => __('Last %d Months', 3), 1327 GT_LAST_4_MONTHS => __('Last %d Months', 4), 1328 GT_LAST_6_MONTHS => __('Last %d Months', 6), 1329 GT_LAST_YEAR => __('Last Year'), 1330 GT_LAST_2_YEARS => __('Last %d Years', 2), 1331 GT_DAY_SHIFT => __('Day Shift'), 1332 GT_THIS_DAY => __('This Day'), 1333 GT_THIS_WEEK => __('This Week'), 1334 GT_THIS_MONTH => __('This Month'), 1335 GT_THIS_YEAR => __('This Year'), 1336 GT_PREV_DAY => __('Previous Day'), 1337 GT_PREV_WEEK => __('Previous Week'), 1338 GT_PREV_MONTH => __('Previous Month'), 1339 GT_PREV_YEAR => __('Previous Year') 1340); 1341 1342// ***** MUST BE KEPT IN SYNC WITH graph_timeshifts_vals ********* 1343$graph_timeshifts = array( 1344 GTS_HALF_HOUR => __('%d Min', 30), 1345 GTS_1_HOUR => __('%d Hour', 1), 1346 GTS_2_HOURS => __('%d Hours', 2), 1347 GTS_4_HOURS => __('%d Hours', 4), 1348 GTS_6_HOURS => __('%d Hours', 6), 1349 GTS_12_HOURS => __('%d Hours', 12), 1350 GTS_1_DAY => __('%d Day', 1), 1351 GTS_2_DAYS => __('%d Days', 2), 1352 GTS_3_DAYS => __('%d Days', 3), 1353 GTS_4_DAYS => __('%d Days', 4), 1354 GTS_1_WEEK => __('%d Week', 1), 1355 GTS_2_WEEKS => __('%d Weeks', 2), 1356 GTS_1_MONTH => __('%d Month', 1), 1357 GTS_2_MONTHS => __('%d Months', 2), 1358 GTS_3_MONTHS => __('%d Months', 3), 1359 GTS_4_MONTHS => __('%d Months', 4), 1360 GTS_6_MONTHS => __('%d Months', 6), 1361 GTS_1_YEAR => __('%d Year', 1), 1362 GTS_2_YEARS => __('%d Years', 2) 1363); 1364 1365// ***** MUST BE KEPT IN SYNC WITH graph_timeshifts ********* 1366$graph_timeshifts_vals = array( 1367 GTS_HALF_HOUR => sprintf('%d Min', 30), 1368 GTS_1_HOUR => sprintf('%d Hour', 1), 1369 GTS_2_HOURS => sprintf('%d Hours', 2), 1370 GTS_4_HOURS => sprintf('%d Hours', 4), 1371 GTS_6_HOURS => sprintf('%d Hours', 6), 1372 GTS_12_HOURS => sprintf('%d Hours', 12), 1373 GTS_1_DAY => sprintf('%d Day', 1), 1374 GTS_2_DAYS => sprintf('%d Days', 2), 1375 GTS_3_DAYS => sprintf('%d Days', 3), 1376 GTS_4_DAYS => sprintf('%d Days', 4), 1377 GTS_1_WEEK => sprintf('%d Week', 1), 1378 GTS_2_WEEKS => sprintf('%d Weeks', 2), 1379 GTS_1_MONTH => sprintf('%d Month', 1), 1380 GTS_2_MONTHS => sprintf('%d Months', 2), 1381 GTS_3_MONTHS => sprintf('%d Months', 3), 1382 GTS_4_MONTHS => sprintf('%d Months', 4), 1383 GTS_6_MONTHS => sprintf('%d Months', 6), 1384 GTS_1_YEAR => sprintf('%d Year', 1), 1385 GTS_2_YEARS => sprintf('%d Years', 2) 1386); 1387 1388$graph_weekdays = array( 1389 WD_SUNDAY => date('l', strtotime('Sunday')), 1390 WD_MONDAY => date('l', strtotime('Monday')), 1391 WD_TUESDAY => date('l', strtotime('Tuesday')), 1392 WD_WEDNESDAY => date('l', strtotime('Wednesday')), 1393 WD_THURSDAY => date('l', strtotime('Thursday')), 1394 WD_FRIDAY => date('l', strtotime('Friday')), 1395 WD_SATURDAY => date('l', strtotime('Saturday')) 1396); 1397 1398$dateformats = array( 1399 GD_MO_D_Y => __('Month Number, Day, Year'), 1400 GD_MN_D_Y => __('Month Name, Day, Year'), 1401 GD_D_MO_Y => __('Day, Month Number, Year'), 1402 GD_D_MN_Y => __('Day, Month Name, Year'), 1403 GD_Y_MO_D => __('Year, Month Number, Day'), 1404 GD_Y_MN_D => __('Year, Month Name, Day') 1405); 1406 1407$datechar = array( 1408 GDC_HYPHEN => '-', 1409 GDC_SLASH => '/', 1410 GDC_DOT => '.' 1411); 1412 1413$dsstats_refresh_interval = array( 1414 'boost' => __('After Boost'), 1415 '60' => __('1 Hour'), 1416 '120' => __('%d Hours', 2), 1417 '180' => __('%d Hours', 3), 1418 '240' => __('%d Hours', 4), 1419 '300' => __('%d Hours', 5), 1420 '360' => __('%d Hours', 6) 1421); 1422 1423$dsstats_max_memory = array( 1424 '32' => __('%d MBytes', 32), 1425 '64' => __('%d MBytes', 64), 1426 '128' => __('%d MBytes', 128), 1427 '256' => __('%d MBytes', 256), 1428 '512' => __('%d MBytes', 512), 1429 '1024' => __('1 GByte'), 1430 '1536' => __('%s GBytes', '1.5'), 1431 '2048' => __('%d GBytes', 2), 1432 '3072' => __('%d GBytes', 3) 1433); 1434 1435$dsstats_hourly_avg = array( 1436 '60' => __('1 Hour'), 1437 '120' => __('%d Hours', 2), 1438 '180' => __('%d Hours', 3), 1439 '240' => __('%d Hours', 4), 1440 '300' => __('%d Hours', 5), 1441 '360' => __('%d Hours', 6) 1442); 1443 1444$boost_max_rows_per_select = array( 1445 '2000' => __('2,000 Data Source Items'), 1446 '5000' => __('5,000 Data Source Items'), 1447 '10000' => __('10,000 Data Source Items'), 1448 '15000' => __('15,000 Data Source Items'), 1449 '25000' => __('25,000 Data Source Items'), 1450 '50000' => __('50,000 Data Source Items (Default)'), 1451 '100000' => __('100,000 Data Source Items'), 1452 '200000' => __('200,000 Data Source Items'), 1453 '400000' => __('400,000 Data Source Items') 1454); 1455 1456$boost_utilities_interval = array( 1457 '999999' => __('Disabled'), 1458 '5' => __('%d Seconds', 5), 1459 '10' => __('%d Seconds', 10), 1460 '15' => __('%d Seconds', 15), 1461 '20' => __('%d Seconds', 20), 1462 '30' => __('%d Seconds', 30), 1463 '60' => __('1 Minute'), 1464 '300' => __('%d Minutes', 5) 1465); 1466 1467$boost_refresh_interval = array( 1468 '30' => __('%d Minutes', 30), 1469 '60' => __('1 Hour'), 1470 '120' => __('2 Hours', 2), 1471 '240' => __('4 Hours', 4), 1472 '360' => __('6 Hours', 6) 1473); 1474 1475$boost_max_runtime = array( 1476 '1200' => __('%d Minutes', 20), 1477 '2400' => __('%d Minutes', 40), 1478 '3600' => __('1 Hour'), 1479 '4800' => __('%s Hours', '1.5') 1480); 1481 1482$boost_max_memory = array( 1483 '256' => __('%d MBytes', 256), 1484 '512' => __('%d MBytes', 512), 1485 '1024' => __('%d GByte', 1), 1486 '1536' => __('%s GBytes', '1.5'), 1487 '2048' => __('%d GBytes', 2), 1488 '3072' => __('%d GBytes', 3), 1489 '4096' => __('%d GBytes', 4), 1490 '5120' => __('%d GBytes', 5), 1491 '6144' => __('%d GBytes', 6), 1492 '8192' => __('%d GBytes', 8), 1493 '-1' => __('Infinity') 1494); 1495 1496$realtime_window = array( 1497 30 => __('%d Seconds', 30), 1498 45 => __('%d Seconds', 45), 1499 60 => __('1 Minute'), 1500 90 => __('%s Minutes', '1.5'), 1501 120 => __('%d Minutes', 2), 1502 300 => __('%d Minutes', 5), 1503 600 => __('%d Minutes', 10), 1504 1200 => __('%d Minutes', 20), 1505 1800 => __('%d Minutes', 30), 1506 3600 => __('1 Hour') 1507); 1508 1509$realtime_refresh = array( 1510 1 => __('%d Seconds', 1), 1511 2 => __('%d Seconds', 2), 1512 5 => __('%d Seconds', 5), 1513 10 => __('%d Seconds', 10), 1514 15 => __('%d Seconds', 15), 1515 20 => __('%d Seconds', 20), 1516 30 => __('%d Seconds', 30), 1517 60 => __('1 Minute'), 1518 120 => __('%d Minutes', 2) 1519); 1520 1521$attachment_sizes = array( 1522 1048576 => __('1 Megabyte'), 1523 2097152 => __('%d Megabytes', 2), 1524 4194304 => __('%d Megabytes', 4), 1525 10485760 => __('%d Megabytes', 10), 1526 20971520 => __('%d Megabytes', 20), 1527 52428800 => __('%d Megabytes', 50), 1528 104857600 => __('%d Megabytes', 100), 1529); 1530 1531$reports_actions = array( 1532 REPORTS_SEND_NOW => __('Send Now'), 1533 REPORTS_DUPLICATE => __('Duplicate'), 1534 REPORTS_ENABLE => __('Enable'), 1535 REPORTS_DISABLE => __('Disable'), 1536 REPORTS_DELETE => __('Delete'), 1537); 1538 1539if (is_realm_allowed(22)) { 1540 $reports_actions[REPORTS_OWN] = __('Take Ownership'); 1541} 1542 1543$attach_types = array( 1544 REPORTS_TYPE_INLINE_PNG => __('Inline PNG Image'), 1545 #REPORTS_TYPE_INLINE_JPG => 'Inline JPEG Image' 1546); 1547 1548if (extension_loaded(REPORTS_EXTENSION_GD)) { 1549 $attach_types[REPORTS_TYPE_INLINE_JPG] = __('Inline JPEG Image'); 1550 $attach_types[REPORTS_TYPE_INLINE_GIF] = __('Inline GIF Image'); 1551} 1552 1553$attach_types[REPORTS_TYPE_ATTACH_PNG] = __('Attached PNG Image'); 1554 1555if (extension_loaded(REPORTS_EXTENSION_GD)) { 1556 $attach_types[REPORTS_TYPE_ATTACH_JPG] = __('Attached JPEG Image'); 1557 $attach_types[REPORTS_TYPE_ATTACH_GIF] = __('Attached GIF Image'); 1558} 1559 1560if (read_config_option('reports_allow_ln') != '') { 1561 $attach_types[REPORTS_TYPE_INLINE_PNG_LN] = __('Inline PNG Image, LN Style'); 1562 if (extension_loaded(REPORTS_EXTENSION_GD)) { 1563 $attach_types[REPORTS_TYPE_INLINE_JPG_LN] = __('Inline JPEG Image, LN Style'); 1564 $attach_types[REPORTS_TYPE_INLINE_GIF_LN] = __('Inline GIF Image, LN Style'); 1565 } 1566} 1567 1568$item_types = array( 1569 REPORTS_ITEM_TEXT => __('Text'), 1570 REPORTS_ITEM_TREE => __('Tree'), 1571 REPORTS_ITEM_GRAPH => __('Graph'), 1572 REPORTS_ITEM_HR => __('Horizontal Rule') 1573); 1574 1575$alignment = array( 1576 REPORTS_ALIGN_LEFT => __('left'), 1577 REPORTS_ALIGN_CENTER => __('center'), 1578 REPORTS_ALIGN_RIGHT => __('right') 1579); 1580 1581$reports_interval = array( 1582 REPORTS_SCHED_INTVL_MINUTE => __('Minute(s)'), 1583 REPORTS_SCHED_INTVL_HOUR => __('Hour(s)'), 1584 REPORTS_SCHED_INTVL_DAY => __('Day(s)'), 1585 REPORTS_SCHED_INTVL_WEEK => __('Week(s)'), 1586 REPORTS_SCHED_INTVL_MONTH_DAY => __('Month(s), Day of Month'), 1587 REPORTS_SCHED_INTVL_MONTH_WEEKDAY => __('Month(s), Day of Week'), 1588 REPORTS_SCHED_INTVL_YEAR => __('Year(s)'), 1589); 1590 1591$agg_graph_types = array( 1592 AGGREGATE_GRAPH_TYPE_KEEP => __('Keep Graph Types'), 1593 AGGREGATE_GRAPH_TYPE_KEEP_STACKED => __('Keep Type and STACK'), 1594 GRAPH_ITEM_TYPE_STACK => __('Convert to AREA/STACK Graph'), 1595 GRAPH_ITEM_TYPE_LINE1 => __('Convert to LINE1 Graph'), 1596 GRAPH_ITEM_TYPE_LINE2 => __('Convert to LINE2 Graph'), 1597 GRAPH_ITEM_TYPE_LINE3 => __('Convert to LINE3 Graph'), 1598 AGGREGATE_GRAPH_TYPE_LINE1_STACK => __('Convert to LINE1/STACK Graph'), 1599 AGGREGATE_GRAPH_TYPE_LINE2_STACK => __('Convert to LINE2/STACK Graph'), 1600 AGGREGATE_GRAPH_TYPE_LINE3_STACK => __('Convert to LINE3/STACK Graph'), 1601); 1602 1603$agg_totals = array( 1604 AGGREGATE_TOTAL_NONE => __('No Totals'), 1605 AGGREGATE_TOTAL_ALL => __('Print All Legend Items'), 1606 AGGREGATE_TOTAL_ONLY => __('Print Totaling Legend Items Only'), 1607); 1608 1609$agg_totals_type = array( 1610 AGGREGATE_TOTAL_TYPE_SIMILAR => __('Total Similar Data Sources'), 1611 AGGREGATE_TOTAL_TYPE_ALL => __('Total All Data Sources'), 1612); 1613 1614$agg_order_types = array( 1615 AGGREGATE_ORDER_NONE => __('No Reordering'), 1616 AGGREGATE_ORDER_DS_GRAPH => __('Data Source, Graph'), 1617 AGGREGATE_ORDER_GRAPH_DS => __('Graph, Data Source'), 1618 AGGREGATE_ORDER_BASE_GRAPH => __('Base Graph Order') 1619); 1620 1621# operators for use with SQL/pattern matching 1622$automation_op_array = array( 1623 'display' => array( 1624 AUTOMATION_OP_NONE => __('None'), 1625 AUTOMATION_OP_CONTAINS => __('contains'), 1626 AUTOMATION_OP_CONTAINS_NOT => __('does not contain'), 1627 AUTOMATION_OP_BEGINS => __('begins with'), 1628 AUTOMATION_OP_BEGINS_NOT => __('does not begin with'), 1629 AUTOMATION_OP_ENDS => __('ends with'), 1630 AUTOMATION_OP_ENDS_NOT => __('does not end with'), 1631 AUTOMATION_OP_MATCHES => __('matches'), 1632 AUTOMATION_OP_MATCHES_NOT => __('is not equal to'), 1633 AUTOMATION_OP_LT => __('is less than'), 1634 AUTOMATION_OP_LE => __('is less than or equal'), 1635 AUTOMATION_OP_GT => __('is greater than'), 1636 AUTOMATION_OP_GE => __('is greater than or equal'), 1637 AUTOMATION_OP_UNKNOWN => __('is unknown'), 1638 AUTOMATION_OP_NOT_UNKNOWN => __('is not unknown'), 1639 AUTOMATION_OP_EMPTY => __('is empty'), 1640 AUTOMATION_OP_NOT_EMPTY => __('is not empty'), 1641 AUTOMATION_OP_REGEXP => __('matches regular expression'), 1642 AUTOMATION_OP_NOT_REGEXP => __('does not match regular expression'), 1643 ), 1644 'op' => array( 1645 AUTOMATION_OP_NONE => '', 1646 AUTOMATION_OP_CONTAINS => 'LIKE', 1647 AUTOMATION_OP_CONTAINS_NOT => 'NOT LIKE', 1648 AUTOMATION_OP_BEGINS => 'LIKE', 1649 AUTOMATION_OP_BEGINS_NOT => 'NOT LIKE', 1650 AUTOMATION_OP_ENDS => 'LIKE', 1651 AUTOMATION_OP_ENDS_NOT => 'NOT LIKE', 1652 AUTOMATION_OP_MATCHES => '<=>', 1653 AUTOMATION_OP_MATCHES_NOT => '<>', 1654 AUTOMATION_OP_LT => '<', 1655 AUTOMATION_OP_LE => '<=', 1656 AUTOMATION_OP_GT => '>', 1657 AUTOMATION_OP_GE => '>=', 1658 AUTOMATION_OP_UNKNOWN => 'IS NULL', 1659 AUTOMATION_OP_NOT_UNKNOWN => 'IS NOT NULL', 1660 AUTOMATION_OP_EMPTY => "LIKE ''", 1661 AUTOMATION_OP_NOT_EMPTY => "NOT LIKE ''", 1662 AUTOMATION_OP_REGEXP => 'REGEXP', 1663 AUTOMATION_OP_NOT_REGEXP => 'NOT REGEXP', 1664 ), 1665 'binary' => array( 1666 AUTOMATION_OP_NONE => false, 1667 AUTOMATION_OP_CONTAINS => true, 1668 AUTOMATION_OP_CONTAINS_NOT => true, 1669 AUTOMATION_OP_BEGINS => true, 1670 AUTOMATION_OP_BEGINS_NOT => true, 1671 AUTOMATION_OP_ENDS => true, 1672 AUTOMATION_OP_ENDS_NOT => true, 1673 AUTOMATION_OP_MATCHES => true, 1674 AUTOMATION_OP_MATCHES_NOT => true, 1675 AUTOMATION_OP_LT => true, 1676 AUTOMATION_OP_LE => true, 1677 AUTOMATION_OP_GT => true, 1678 AUTOMATION_OP_GE => true, 1679 AUTOMATION_OP_UNKNOWN => false, 1680 AUTOMATION_OP_NOT_UNKNOWN => false, 1681 AUTOMATION_OP_EMPTY => false, 1682 AUTOMATION_OP_NOT_EMPTY => false, 1683 AUTOMATION_OP_REGEXP => true, 1684 AUTOMATION_OP_NOT_REGEXP => true, 1685 ), 1686 'pre' => array( 1687 AUTOMATION_OP_NONE => '', 1688 AUTOMATION_OP_CONTAINS => '%', 1689 AUTOMATION_OP_CONTAINS_NOT => '%', 1690 AUTOMATION_OP_BEGINS => '', 1691 AUTOMATION_OP_BEGINS_NOT => '', 1692 AUTOMATION_OP_ENDS => '%', 1693 AUTOMATION_OP_ENDS_NOT => '%', 1694 AUTOMATION_OP_MATCHES => '', 1695 AUTOMATION_OP_MATCHES_NOT => '', 1696 AUTOMATION_OP_LT => '', 1697 AUTOMATION_OP_LE => '', 1698 AUTOMATION_OP_GT => '', 1699 AUTOMATION_OP_GE => '', 1700 AUTOMATION_OP_UNKNOWN => '', 1701 AUTOMATION_OP_NOT_UNKNOWN => '', 1702 AUTOMATION_OP_EMPTY => '', 1703 AUTOMATION_OP_NOT_EMPTY => '', 1704 AUTOMATION_OP_REGEXP => '', 1705 AUTOMATION_OP_NOT_REGEXP => '', 1706 ), 1707 'post' => array( 1708 AUTOMATION_OP_NONE => '', 1709 AUTOMATION_OP_CONTAINS => '%', 1710 AUTOMATION_OP_CONTAINS_NOT => '%', 1711 AUTOMATION_OP_BEGINS => '%', 1712 AUTOMATION_OP_BEGINS_NOT => '%', 1713 AUTOMATION_OP_ENDS => '', 1714 AUTOMATION_OP_ENDS_NOT => '', 1715 AUTOMATION_OP_MATCHES => '', 1716 AUTOMATION_OP_MATCHES_NOT => '', 1717 AUTOMATION_OP_LT => '', 1718 AUTOMATION_OP_LE => '', 1719 AUTOMATION_OP_GT => '', 1720 AUTOMATION_OP_GE => '', 1721 AUTOMATION_OP_UNKNOWN => '', 1722 AUTOMATION_OP_NOT_UNKNOWN => '', 1723 AUTOMATION_OP_EMPTY => '', 1724 AUTOMATION_OP_NOT_EMPTY => '', 1725 AUTOMATION_OP_REGEXP => '', 1726 AUTOMATION_OP_NOT_REGEXP => '', 1727 ) 1728); 1729 1730$automation_oper = array( 1731 AUTOMATION_OPER_NULL => '', 1732 AUTOMATION_OPER_AND => 'AND', 1733 AUTOMATION_OPER_OR => 'OR', 1734 AUTOMATION_OPER_LEFT_BRACKET => '(', 1735 AUTOMATION_OPER_RIGHT_BRACKET => ')', 1736); 1737 1738$automation_tree_item_types = array( 1739 TREE_ITEM_TYPE_GRAPH => __('Graph'), 1740 TREE_ITEM_TYPE_HOST => __('Device') 1741); 1742 1743$automation_tree_header_types = array( 1744 AUTOMATION_TREE_ITEM_TYPE_STRING => __('Fixed String'), 1745); 1746 1747$automation_frequencies = array( 1748 'disabled' => __('Disabled'), 1749 '60' => __('Every 1 Hour'), 1750 '120' => __('Every %d Hours', 2), 1751 '240' => __('Every %d Hours', 4), 1752 '360' => __('Every %d Hours', 6), 1753 '480' => __('Every %d Hours', 8), 1754 '720' => __('Every %d Hours', 12), 1755 '1440' => __('Every Day'), 1756 '10080' => __('Every Week'), 1757 '20160' => __('Every %d Weeks', 2), 1758 '40320' => __('Every %d Weeks', 4) 1759); 1760 1761$logrotate_frequency = array( 1762 '1' => __('Daily'), 1763 '7' => __('Weekly'), 1764 '30' => __('Monthly') 1765); 1766 1767$no_session_write = array( 1768 'graph_xport.php', 1769 'graph_image.php', 1770 'graph_json.php' 1771); 1772 1773$i18n_months = array( 1774 'January' => __('January'), 1775 'February' => __('February'), 1776 'March' => __('March'), 1777 'Arpil' => __('April'), 1778 'May' => __('May'), 1779 'June' => __('June'), 1780 'July' => __('July'), 1781 'August' => __('August'), 1782 'September' => __('September'), 1783 'October' => __('October'), 1784 'November' => __('November'), 1785 'December' => __('December'), 1786); 1787 1788$i18n_months_short = array( 1789 'Jan' => __x('A short textual representation of a month, three letters', 'Jan'), 1790 'Feb' => __x('A short textual representation of a month, three letters', 'Feb'), 1791 'Mar' => __x('A short textual representation of a month, three letters', 'Mar'), 1792 'Arp' => __x('A short textual representation of a month, three letters', 'Apr'), 1793 'May' => __x('A short textual representation of a month, three letters', 'May'), 1794 'Jun' => __x('A short textual representation of a month, three letters', 'Jun'), 1795 'Jul' => __x('A short textual representation of a month, three letters', 'Jul'), 1796 'Aug' => __x('A short textual representation of a month, three letters', 'Aug'), 1797 'Sep' => __x('A short textual representation of a month, three letters', 'Sep'), 1798 'Oct' => __x('A short textual representation of a month, three letters', 'Oct'), 1799 'Nov' => __x('A short textual representation of a month, three letters', 'Nov'), 1800 'Dec' => __x('A short textual representation of a month, three letters', 'Dec'), 1801); 1802 1803$i18n_weekdays = array( 1804 'Sunday' => __('Sunday'), 1805 'Monday' => __('Monday'), 1806 'Tuesday' => __('Tuesday'), 1807 'Wednesday' => __('Wednesday'), 1808 'Thursday' => __('Thursday'), 1809 'Friday' => __('Friday'), 1810 'Saturday' => __('Saturday') 1811); 1812 1813$i18n_weekdays_short = array( 1814 'Sun' => __x('A textual representation of a day, three letters', 'Sun'), 1815 'Mon' => __x('A textual representation of a day, three letters', 'Mon'), 1816 'Tue' => __x('A textual representation of a day, three letters', 'Tue'), 1817 'Wed' => __x('A textual representation of a day, three letters', 'Wed'), 1818 'Thu' => __x('A textual representation of a day, three letters', 'Thu'), 1819 'Fri' => __x('A textual representation of a day, three letters', 'Fri'), 1820 'Sat' => __x('A textual representation of a day, three letters', 'Sat') 1821); 1822 1823$i18n_languages = array( 1824 __('Arabic'), 1825 __('Bulgarian'), 1826 __('Chinese (China)'), 1827 __('Chinese (Taiwan)'), 1828 __('Dutch'), 1829 __('English'), 1830 __('French'), 1831 __('German'), 1832 __('Greek'), 1833 __('Hebrew'), 1834 __('Hindi'), 1835 __('Italian'), 1836 __('Japanese'), 1837 __('Korean'), 1838 __('Polish'), 1839 __('Portuguese'), 1840 __('Portuguese (Brazil)'), 1841 __('Russian'), 1842 __('Spanish'), 1843 __('Swedish'), 1844 __('Turkish'), 1845 __('Vietnamese') 1846); 1847 1848$i18n_themes = array( 1849 __('Classic'), 1850 __('Modern'), 1851 __('Dark'), 1852 __('Paper-plane'), 1853 __('Paw'), 1854 __('Sunrise'), 1855); 1856 1857$database_statuses = array( 1858 0 => __('[Fail]'), 1859 1 => __('[Warning]'), 1860 2 => __('[Success]'), 1861 3 => __('[Skipped]'), 1862); 1863 1864$phperrors = array ( 1865 E_ERROR => 'ERROR', 1866 E_WARNING => 'WARNING', 1867 E_PARSE => 'PARSE', 1868 E_NOTICE => 'NOTICE', 1869 E_CORE_ERROR => 'CORE_ERROR', 1870 E_CORE_WARNING => 'CORE_WARNING', 1871 E_COMPILE_ERROR => 'COMPILE_ERROR', 1872 E_COMPILE_WARNING => 'COMPILE_WARNING', 1873 E_USER_ERROR => 'USER_ERROR', 1874 E_USER_WARNING => 'USER_WARNING', 1875 E_USER_NOTICE => 'USER_NOTICE', 1876 E_STRICT => 'STRICT', 1877 E_RECOVERABLE_ERROR => 'RECOVERABLE_ERROR', 1878 E_DEPRECATED => 'DEPRECATED', 1879 E_USER_DEPRECATED => 'USER_DEPRECATED', 1880 E_ALL => 'ALL' 1881); 1882 1883$navigation = array( 1884 'auth_profile.php:' => array( 1885 'title' => __('User Profile (Edit)'), 1886 'mapping' => '', 1887 'url' => '', 1888 'level' => '0' 1889 ), 1890 'auth_profile.php:edit' => array( 1891 'title' => __('User Profile (Edit)'), 1892 'mapping' => '', 1893 'url' => '', 1894 'level' => '0' 1895 ), 1896 'graph_view.php:' => array( 1897 'title' => __('Graphs'), 1898 'mapping' => '', 1899 'url' => 'graph_view.php', 1900 'level' => '0' 1901 ), 1902 'graph_view.php:tree' => array( 1903 'title' => __('Tree Mode'), 1904 'mapping' => 'graph_view.php:', 1905 'url' => 'graph_view.php?action=tree', 1906 'level' => '0' 1907 ), 1908 'graph_view.php:tree_content' => array( 1909 'title' => __('Tree Mode'), 1910 'mapping' => 'graph_view.php:', 1911 'url' => 'graph_view.php?action=tree', 1912 'level' => '0' 1913 ), 1914 'graph_view.php:list' => array( 1915 'title' => __('List Mode'), 1916 'mapping' => '', 1917 'url' => 'graph_view.php?action=list', 1918 'level' => '0' 1919 ), 1920 'graph_view.php:preview' => array( 1921 'title' => __('Preview Mode'), 1922 'mapping' => '', 1923 'url' => 'graph_view.php?action=preview', 1924 'level' => '0' 1925 ), 1926 'graph.php:' => array( 1927 'title' => '|current_graph_title|', 1928 'mapping' => 'graph_view.php:', 1929 'level' => '1' 1930 ), 1931 'graph.php:view' => array( 1932 'title' => '|current_graph_title|', 1933 'mapping' => 'graph_view.php:', 1934 'level' => '1' 1935 ), 1936 'graph.php:zoom' => array( 1937 'title' => '|current_graph_title|', 1938 'mapping' => 'graph_view.php:', 1939 'level' => '1' 1940 ), 1941 'graph.php:update_timespan' => array( 1942 'title' => '|current_graph_title|', 1943 'mapping' => 'graph_view.php:', 1944 'level' => '1' 1945 ), 1946 'index.php:' => array( 1947 'title' => __('Console'), 1948 'mapping' => '', 1949 'url' => $config['url_path'] . 'index.php', 1950 'level' => '0' 1951 ), 1952 'index.php:login' => array( 1953 'title' => __('Console'), 1954 'mapping' => '', 1955 'url' => $config['url_path'] . 'index.php', 1956 'level' => '0' 1957 ), 1958 'graphs.php:' => array( 1959 'title' => __('Graph Management'), 1960 'mapping' => 'index.php:', 1961 'url' => 'graphs.php', 1962 'level' => '1' 1963 ), 1964 'graphs.php:graph_edit' => array( 1965 'title' => __('(Edit)'), 1966 'mapping' => 'index.php:,graphs.php:', 1967 'url' => '', 1968 'level' => '2' 1969 ), 1970 'graphs.php:graph_diff' => array( 1971 'title' => __('Change Graph Template'), 1972 'mapping' => 'index.php:,graphs.php:,graphs.php:graph_edit', 1973 'url' => '', 1974 'level' => '3' 1975 ), 1976 'graphs.php:actions' => array( 1977 'title' => __('Actions'), 1978 'mapping' => 'index.php:,graphs.php:', 1979 'url' => '', 1980 'level' => '2' 1981 ), 1982 'graphs_items.php:item_edit' => array( 1983 'title' => __('Graph Items'), 1984 'mapping' => 'index.php:,graphs.php:,graphs.php:graph_edit', 1985 'url' => '', 1986 'level' => '3' 1987 ), 1988 'graphs_new.php:' => array( 1989 'title' => __('Create New Graphs'), 1990 'mapping' => 'index.php:', 1991 'url' => 'graphs_new.php', 1992 'level' => '1' 1993 ), 1994 'graphs_new.php:save' => array( 1995 'title' => __('Create Graphs from Data Query'), 1996 'mapping' => 'index.php:,graphs_new.php:', 1997 'url' => '', 1998 'level' => '2' 1999 ), 2000 'gprint_presets.php:' => array( 2001 'title' => __('GPRINT Presets'), 2002 'mapping' => 'index.php:', 2003 'url' => 'gprint_presets.php', 2004 'level' => '1' 2005 ), 2006 'gprint_presets.php:edit' => array( 2007 'title' => __('(Edit)'), 2008 'mapping' => 'index.php:,gprint_presets.php:', 2009 'url' => '', 2010 'level' => '2' 2011 ), 2012 'gprint_presets.php:remove' => array( 2013 'title' => __('(Remove)'), 2014 'mapping' => 'index.php:,gprint_presets.php:', 2015 'url' => '', 2016 'level' => '2' 2017 ), 2018 'cdef.php:' => array( 2019 'title' => __('CDEFs'), 2020 'mapping' => 'index.php:', 2021 'url' => 'cdef.php', 2022 'level' => '1' 2023 ), 2024 'cdef.php:edit' => array( 2025 'title' => __('(Edit)'), 2026 'mapping' => 'index.php:,cdef.php:', 2027 'url' => '', 2028 'level' => '2' 2029 ), 2030 'cdef.php:remove' => array( 2031 'title' => __('(Remove)'), 2032 'mapping' => 'index.php:,cdef.php:', 2033 'url' => '', 2034 'level' => '2' 2035 ), 2036 'cdef.php:item_edit' => array( 2037 'title' => __('CDEF Items'), 2038 'mapping' => 'index.php:,cdef.php:,cdef.php:edit', 2039 'url' => '', 2040 'level' => '3' 2041 ), 2042 'cdef.php:actions' => array( 2043 'title' => __('Actions'), 2044 'mapping' => 'index.php:,cdef.php:', 2045 'url' => '', 2046 'level' => '2' 2047 ), 2048 'clog.php:' => array( 2049 'title' => __('View Log'), 2050 'mapping' => '', 2051 'url' => 'clog.php', 2052 'level' => '0' 2053 ), 2054 'clog.php:preview' => array( 2055 'title' => __('View Log'), 2056 'mapping' => '', 2057 'url' => 'clog.php', 2058 'level' => '0' 2059 ), 2060 'clog_user.php:' => array( 2061 'title' => __('View Log'), 2062 'mapping' => '', 2063 'url' => 'clog_user.php', 2064 'level' => '0' 2065 ), 2066 'clog_user.php:preview' => array( 2067 'title' => __('View Log'), 2068 'mapping' => '', 2069 'url' => 'clog_user.php', 2070 'level' => '0' 2071 ), 2072 'tree.php:' => array( 2073 'title' => __('Graph Trees'), 2074 'mapping' => 'index.php:', 2075 'url' => 'tree.php', 2076 'level' => '1' 2077 ), 2078 'tree.php:edit' => array( 2079 'title' => __('(Edit)'), 2080 'mapping' => 'index.php:,tree.php:', 2081 'url' => '', 2082 'level' => '2' 2083 ), 2084 'color.php:' => array( 2085 'title' => __('Colors'), 2086 'mapping' => 'index.php:', 2087 'url' => 'color.php', 2088 'level' => '1' 2089 ), 2090 'color.php:edit' => array( 2091 'title' => __('(Edit)'), 2092 'mapping' => 'index.php:,color.php:', 2093 'url' => '', 2094 'level' => '2' 2095 ), 2096 'graph_templates.php:' => array( 2097 'title' => __('Graph Templates'), 2098 'mapping' => 'index.php:', 2099 'url' => 'graph_templates.php', 2100 'level' => '1' 2101 ), 2102 'graph_templates.php:template_edit' => array( 2103 'title' => __('(Edit)'), 2104 'mapping' => 'index.php:,graph_templates.php:', 2105 'url' => '', 2106 'level' => '2' 2107 ), 2108 'graph_templates.php:actions' => array( 2109 'title' => __('Actions'), 2110 'mapping' => 'index.php:,graph_templates.php:', 2111 'url' => '', 2112 'level' => '2' 2113 ), 2114 'graph_templates_items.php:item_edit' => array( 2115 'title' => __('Graph Template Items'), 2116 'mapping' => 'index.php:,graph_templates.php:,graph_templates.php:template_edit', 2117 'url' => '', 2118 'level' => '3' 2119 ), 2120 'graph_templates_inputs.php:input_edit' => array( 2121 'title' => __('Graph Item Inputs'), 2122 'mapping' => 'index.php:,graph_templates.php:,graph_templates.php:template_edit', 2123 'url' => '', 2124 'level' => '3' 2125 ), 2126 'graph_templates_inputs.php:input_remove' => array( 2127 'title' => __('(Remove)'), 2128 'mapping' => 'index.php:,graph_templates.php:,graph_templates.php:template_edit', 2129 'url' => '', 2130 'level' => '3' 2131 ), 2132 'host_templates.php:' => array( 2133 'title' => __('Device Templates'), 2134 'mapping' => 'index.php:', 2135 'url' => 'host_templates.php', 2136 'level' => '1' 2137 ), 2138 'host_templates.php:edit' => array( 2139 'title' => __('(Edit)'), 2140 'mapping' => 'index.php:,host_templates.php:', 2141 'url' => '', 2142 'level' => '2' 2143 ), 2144 'host_templates.php:actions' => array( 2145 'title' => __('Actions'), 2146 'mapping' => 'index.php:,host_templates.php:', 2147 'url' => '', 2148 'level' => '2' 2149 ), 2150 'data_templates.php:' => array( 2151 'title' => __('Data Templates'), 2152 'mapping' => 'index.php:', 2153 'url' => 'data_templates.php', 2154 'level' => '1' 2155 ), 2156 'data_templates.php:template_edit' => array( 2157 'title' => __('(Edit)'), 2158 'mapping' => 'index.php:,data_templates.php:', 2159 'url' => '', 2160 'level' => '2' 2161 ), 2162 'data_templates.php:actions' => array( 2163 'title' => __('Actions'), 2164 'mapping' => 'index.php:,data_templates.php:', 2165 'url' => '', 2166 'level' => '2' 2167 ), 2168 'data_sources.php:' => array( 2169 'title' => __('Data Sources'), 2170 'mapping' => 'index.php:', 2171 'url' => 'data_sources.php', 2172 'level' => '1' 2173 ), 2174 'data_sources.php:ds_edit' => array( 2175 'title' => __('(Edit)'), 2176 'mapping' => 'index.php:,data_sources.php:', 2177 'url' => '', 2178 'level' => '2' 2179 ), 2180 'data_sources.php:actions' => array( 2181 'title' => __('Actions'), 2182 'mapping' => 'index.php:,data_sources.php:', 2183 'url' => '', 2184 'level' => '2' 2185 ), 2186 'host.php:' => array( 2187 'title' => __('Devices'), 2188 'mapping' => 'index.php:', 2189 'url' => 'host.php', 2190 'level' => '1' 2191 ), 2192 'host.php:edit' => array( 2193 'title' => __('(Edit)'), 2194 'mapping' => 'index.php:,host.php:', 2195 'url' => '', 2196 'level' => '2' 2197 ), 2198 'host.php:actions' => array( 2199 'title' => __('Actions'), 2200 'mapping' => 'index.php:,host.php:', 2201 'url' => '', 2202 'level' => '2' 2203 ), 2204 'rra.php:' => array( 2205 'title' => __('Round Robin Archives'), 2206 'mapping' => 'index.php:', 2207 'url' => 'rra.php', 2208 'level' => '1' 2209 ), 2210 'rra.php:edit' => array( 2211 'title' => __('(Edit)'), 2212 'mapping' => 'index.php:,rra.php:', 2213 'url' => '', 2214 'level' => '2' 2215 ), 2216 'rra.php:remove' => array( 2217 'title' => __('(Remove)'), 2218 'mapping' => 'index.php:,rra.php:', 2219 'url' => '', 2220 'level' => '2' 2221 ), 2222 'data_input.php:' => array( 2223 'title' => __('Data Input Methods'), 2224 'mapping' => 'index.php:', 2225 'url' => 'data_input.php', 2226 'level' => '1' 2227 ), 2228 'data_input.php:actions' => array( 2229 'title' => __('Actions'), 2230 'mapping' => 'index.php:,data_input.php:', 2231 'url' => '', 2232 'level' => '2' 2233 ), 2234 'data_input.php:edit' => array( 2235 'title' => __('(Edit)'), 2236 'mapping' => 'index.php:,data_input.php:', 2237 'url' => '', 2238 'level' => '2' 2239 ), 2240 'data_input.php:remove' => array( 2241 'title' => __('(Remove)'), 2242 'mapping' => 'index.php:,data_input.php:', 2243 'url' => '', 2244 'level' => '2' 2245 ), 2246 'data_input.php:field_edit' => array( 2247 'title' => __('Data Input Fields'), 2248 'mapping' => 'index.php:,data_input.php:,data_input.php:edit', 2249 'url' => '', 2250 'level' => '3' 2251 ), 2252 'data_input.php:field_remove' => array( 2253 'title' => __('(Remove Item)'), 2254 'mapping' => 'index.php:,data_input.php:,data_input.php:edit', 2255 'url' => '', 2256 'level' => '3' 2257 ), 2258 'data_queries.php:' => array( 2259 'title' => __('Data Queries'), 2260 'mapping' => 'index.php:', 2261 'url' => 'data_queries.php', 2262 'level' => '1' 2263 ), 2264 'data_queries.php:actions' => array( 2265 'title' => __('Actions'), 2266 'mapping' => 'index.php:,data_queries.php:', 2267 'url' => '', 2268 'level' => '2' 2269 ), 2270 'data_queries.php:edit' => array( 2271 'title' => __('(Edit)'), 2272 'mapping' => 'index.php:,data_queries.php:', 2273 'url' => '', 2274 'level' => '2' 2275 ), 2276 'data_queries.php:item_edit' => array( 2277 'title' => __('Associated Graph Templates'), 2278 'mapping' => 'index.php:,data_queries.php:,data_queries.php:edit', 2279 'url' => '', 2280 'level' => '3' 2281 ), 2282 'data_queries.php:item_remove' => array( 2283 'title' => __('(Remove Item)'), 2284 'mapping' => 'index.php:,data_queries.php:,data_queries.php:edit', 2285 'url' => '', 2286 'level' => '3' 2287 ), 2288 'rrdcleaner.php:' => array( 2289 'title' => __('RRD Cleaner'), 2290 'mapping' => 'index.php:,utilities.php:', 2291 'url' => 'rrdcleaner.php', 2292 'level' => '2' 2293 ), 2294 'rrdcleaner.php:actions' => array( 2295 'title' => __('Actions'), 2296 'mapping' => 'index.php:,rrdcleaner.php:', 2297 'url' => 'rrdcleaner.php?action=actions', 2298 'level' => '2' 2299 ), 2300 'rrdcleaner.php:restart' => array( 2301 'title' => __('List unused Files'), 2302 'mapping' => 'rrdcleaner.php:', 2303 'url' => 'rrdcleaner.php?action=restart', 2304 'level' => '2' 2305 ), 2306 'utilities.php:' => array( 2307 'title' => __('Utilities'), 2308 'mapping' => 'index.php:', 2309 'url' => 'utilities.php', 2310 'level' => '1' 2311 ), 2312 'utilities.php:view_poller_cache' => array( 2313 'title' => __('View Poller Cache'), 2314 'mapping' => 'index.php:,utilities.php:', 2315 'url' => 'utilities.php', 2316 'level' => '2' 2317 ), 2318 'utilities.php:view_snmp_cache' => array( 2319 'title' => __('View Data Query Cache'), 2320 'mapping' => 'index.php:,utilities.php:', 2321 'url' => 'utilities.php', 2322 'level' => '2' 2323 ), 2324 'utilities.php:clear_poller_cache' => array( 2325 'title' => __('View Poller Cache'), 2326 'mapping' => 'index.php:,utilities.php:', 2327 'url' => 'utilities.php', 2328 'level' => '2' 2329 ), 2330 'utilities.php:view_logfile' => array( 2331 'title' => __('View Log'), 2332 'mapping' => 'index.php:,utilities.php:', 2333 'url' => 'utilities.php', 2334 'level' => '2' 2335 ), 2336 'utilities.php:clear_logfile' => array( 2337 'title' => __('Clear Log'), 2338 'mapping' => 'index.php:,utilities.php:', 2339 'url' => 'utilities.php', 2340 'level' => '2' 2341 ), 2342 'utilities.php:view_user_log' => array( 2343 'title' => __('View User Log'), 2344 'mapping' => 'index.php:,utilities.php:', 2345 'url' => 'utilities.php', 2346 'level' => '2' 2347 ), 2348 'utilities.php:clear_user_log' => array( 2349 'title' => __('Clear User Log'), 2350 'mapping' => 'index.php:,utilities.php:', 2351 'url' => 'utilities.php', 2352 'level' => '2' 2353 ), 2354 'utilities.php:view_tech' => array( 2355 'title' => __('Technical Support'), 2356 'mapping' => 'index.php:,utilities.php:', 2357 'url' => 'utilities.php', 2358 'level' => '2' 2359 ), 2360 'utilities.php:view_boost_status' => array( 2361 'title' => __('Boost Status'), 2362 'mapping' => 'index.php:,utilities.php:', 2363 'url' => 'utilities.php', 2364 'level' => '2' 2365 ), 2366 'utilities.php:view_snmpagent_cache' => array( 2367 'title' => __('View SNMP Agent Cache'), 2368 'mapping' => 'index.php:,utilities.php:', 2369 'url' => 'utilities.php', 2370 'level' => '2' 2371 ), 2372 'utilities.php:view_snmpagent_events' => array( 2373 'title' => __('View SNMP Agent Notification Log'), 2374 'mapping' => 'index.php:,utilities.php:', 2375 'url' => 'utilities.php', 2376 'level' => '2' 2377 ), 2378 'vdef.php:' => array( 2379 'title' => __('VDEFs'), 2380 'mapping' => 'index.php:', 2381 'url' => 'vdef.php', 2382 'level' => '1' 2383 ), 2384 'vdef.php:actions' => array( 2385 'title' => __('Actions'), 2386 'mapping' => 'index.php:,vdef.php:', 2387 'url' => 'vdef.php', 2388 'level' => '2' 2389 ), 2390 'vdef.php:edit' => array( 2391 'title' => __('(Edit)'), 2392 'mapping' => 'index.php:,vdef.php:', 2393 'url' => 'vdef.php', 2394 'level' => '2' 2395 ), 2396 'vdef.php:remove' => array( 2397 'title' => __('(Remove)'), 2398 'mapping' => 'index.php:,vdef.php:', 2399 'url' => 'vdef.php', 2400 'level' => '2' 2401 ), 2402 'vdef.php:item_edit' => array( 2403 'title' => __('VDEF Items'), 2404 'mapping' => 'index.php:,vdef.php:,vdef.php:edit', 2405 'url' => '', 2406 'level' => '3' 2407 ), 2408 'managers.php:' => array( 2409 'title' => __('View SNMP Notification Receivers'), 2410 'mapping' => 'index.php:,utilities.php:', 2411 'url' => 'managers.php', 2412 'level' => '2' 2413 ), 2414 'managers.php:edit' => array( 2415 'title' => __('(Edit)'), 2416 'mapping' => 'index.php:,utilities.php:,managers.php:', 2417 'url' => '', 2418 'level' => '3' 2419 ), 2420 'settings.php:' => array( 2421 'title' => __('Cacti Settings'), 2422 'mapping' => 'index.php:', 2423 'url' => 'settings.php', 2424 'level' => '1' 2425 ), 2426 'link.php:' => array( 2427 'title' => __('External Link'), 2428 'mapping' => 'index.php:', 2429 'url' => 'link.php', 2430 'level' => '1' 2431 ), 2432 'user_admin.php:' => array( 2433 'title' => __('Users'), 2434 'mapping' => 'index.php:', 2435 'url' => 'user_admin.php', 2436 'level' => '1' 2437 ), 2438 'user_admin.php:user_edit' => array( 2439 'title' => __('(Edit)'), 2440 'mapping' => 'index.php:,user_admin.php:', 2441 'url' => '', 2442 'level' => '2' 2443 ), 2444 'user_admin.php:actions' => array( 2445 'title' => __('(Action)'), 2446 'mapping' => 'index.php:,user_admin.php:', 2447 'url' => '', 2448 'level' => '2' 2449 ), 2450 'user_domains.php:' => array( 2451 'title' => __('User Domains'), 2452 'mapping' => 'index.php:', 2453 'url' => 'user_domains.php', 2454 'level' => '1' 2455 ), 2456 'user_domains.php:edit' => array( 2457 'title' => __('(Edit)'), 2458 'mapping' => 'user_domains.php:,index.php:', 2459 'url' => 'user_domains.php:edit', 2460 'level' => '2' 2461 ), 2462 'user_group_admin.php:' => array( 2463 'title' => __('User Groups'), 2464 'mapping' => 'index.php:', 2465 'url' => 'user_group_admin.php', 2466 'level' => '1' 2467 ), 2468 'user_group_admin.php:edit' => array( 2469 'title' => __('(Edit)'), 2470 'mapping' => 'index.php:,user_group_admin.php:', 2471 'url' => '', 2472 'level' => '2' 2473 ), 2474 'user_group_admin.php:actions' => array( 2475 'title' => __('(Action)'), 2476 'mapping' => 'index.php:,user_group_admin.php:', 2477 'url' => '', 2478 'level' => '2' 2479 ), 2480 'about.php:' => array( 2481 'title' => __('About Cacti'), 2482 'mapping' => 'index.php:', 2483 'url' => 'about.php', 2484 'level' => '1' 2485 ), 2486 'templates_export.php:' => array( 2487 'title' => __('Export Templates'), 2488 'mapping' => 'index.php:', 2489 'url' => 'templates_export.php', 2490 'level' => '1' 2491 ), 2492 'templates_export.php:save' => array( 2493 'title' => __('Export Results'), 2494 'mapping' => 'index.php:,templates_export.php:', 2495 'url' => 'templates_export.php', 2496 'level' => '2' 2497 ), 2498 'templates_import.php:' => array( 2499 'title' => __('Import Templates'), 2500 'mapping' => 'index.php:', 2501 'url' => 'templates_import.php', 2502 'level' => '1' 2503 ), 2504 'reports_admin.php:' => array( 2505 'title' => __('Reporting'), 2506 'mapping' => '', 2507 'url' => 'reports_admin.php', 2508 'level' => '0' 2509 ), 2510 'reports_admin.php:actions' => array( 2511 'title' => __('Report Add'), 2512 'mapping' => 'reports_admin.php:', 2513 'url' => 'reports_admin.php', 2514 'level' => '1' 2515 ), 2516 'reports_admin.php:delete' => array( 2517 'title' => __('Report Delete'), 2518 'mapping' => 'reports_admin.php:', 2519 'url' => 'reports_admin.php', 2520 'level' => '1' 2521 ), 2522 'reports_admin.php:edit' => array( 2523 'title' => __('Report Edit'), 2524 'mapping' => 'reports_admin.php:', 2525 'url' => 'reports_admin.php?action=edit', 2526 'level' => '1' 2527 ), 2528 'reports_admin.php:item_edit' => array( 2529 'title' => __('Report Edit Item'), 2530 'mapping' => 'reports_admin.php:,reports_admin.php:edit', 2531 'url' => '', 2532 'level' => '2' 2533 ), 2534 'reports_user.php:' => array( 2535 'title' => __('Reporting'), 2536 'mapping' => '', 2537 'url' => 'reports_user.php', 2538 'level' => '0' 2539 ), 2540 'reports_user.php:actions' => array( 2541 'title' => __('Report Add'), 2542 'mapping' => 'reports_user.php:', 2543 'url' => 'reports_user.php', 2544 'level' => '1' 2545 ), 2546 'reports_user.php:delete' => array( 2547 'title' => __('Report Delete'), 2548 'mapping' => 'reports_user.php:', 2549 'url' => 'reports_user.php', 2550 'level' => '1' 2551 ), 2552 'reports_user.php:edit' => array( 2553 'title' => __('Report Edit'), 2554 'mapping' => 'reports_user.php:', 2555 'url' => 'reports_user.php?action=edit', 2556 'level' => '1' 2557 ), 2558 'reports_user.php:item_edit' => array( 2559 'title' => __('Report Edit Item'), 2560 'mapping' => 'reports_user.php:,reports_user.php:edit', 2561 'url' => '', 2562 'level' => '2' 2563 ), 2564 'color_templates.php:' => array( 2565 'title' => __('Color Templates'), 2566 'mapping' => 'index.php:', 2567 'url' => 'color_templates.php', 2568 'level' => '1' 2569 ), 2570 'color_templates.php:template_edit' => array( 2571 'title' => __('(Edit)'), 2572 'mapping' => 'index.php:,color_templates.php:', 2573 'url' => '', 2574 'level' => '2' 2575 ), 2576 'color_templates.php:actions' => array( 2577 'title' => __('Actions'), 2578 'mapping' => 'index.php:,color_templates.php:', 2579 'url' => '', 2580 'level' => '2' 2581 ), 2582 'color_templates_items.php:item_edit' => array( 2583 'title' => __('Color Template Items'), 2584 'mapping' => 'index.php:,color_templates.php:,color_templates.php:template_edit', 2585 'url' => '', 2586 'level' => '3' 2587 ), 2588 'aggregate_templates.php:' => array( 2589 'title' => __('Aggregate Templates'), 2590 'mapping' => 'index.php:', 2591 'url' => 'aggregate_templates.php', 2592 'level' => '1' 2593 ), 2594 'aggregate_templates.php:edit' => array( 2595 'title' => __('(Edit)'), 2596 'mapping' => 'index.php:,aggregate_templates.php:', 2597 'url' => '', 2598 'level' => '2' 2599 ), 2600 'aggregate_templates.php:actions'=> array( 2601 'title' => __('Actions'), 2602 'mapping' => 'index.php:,aggregate_templates.php:', 2603 'url' => '', 2604 'level' => '2' 2605 ), 2606 'aggregate_graphs.php:' => array( 2607 'title' => __('Aggregate Graphs'), 2608 'mapping' => 'index.php:', 2609 'url' => 'aggregate_graphs.php', 2610 'level' => '1' 2611 ), 2612 'aggregate_graphs.php:edit' => array( 2613 'title' => __('(Edit)'), 2614 'mapping' => 'index.php:,aggregate_graphs.php:', 2615 'url' => '', 2616 'level' => '2' 2617 ), 2618 'aggregate_graphs.php:actions' => array( 2619 'title' => __('Actions'), 2620 'mapping' => 'index.php:,aggregate_graphs.php:', 2621 'url' => '', 2622 'level' => '2' 2623 ), 2624 'aggregate_items.php:' => array( 2625 'title' => __('Aggregate Items'), 2626 'mapping' => 'index.php:', 2627 'url' => 'aggregate_items.php', 2628 'level' => '1' 2629 ), 2630 'aggregate_items.php:item_edit' => array( 2631 'title' => __('(Edit)'), 2632 'mapping' => 'index.php:,aggregate_graphs.php:,aggregate_items.php:', 2633 'url' => '', 2634 'level' => '2' 2635 ), 2636 'aggregate_items.php:actions' => array( 2637 'title' => __('Actions'), 2638 'mapping' => 'index.php:,aggregate_items.php:', 2639 'url' => '', 2640 'level' => '2' 2641 ), 2642 'automation_graph_rules.php:' => array( 2643 'title' => __('Graph Rules'), 2644 'mapping' => 'index.php:', 2645 'url' => 'automation_graph_rules.php', 2646 'level' => '1' 2647 ), 2648 'automation_graph_rules.php:edit' => array( 2649 'title' => __('(Edit)'), 2650 'mapping' => 'index.php:,automation_graph_rules.php:', 2651 'url' => '', 2652 'level' => '2' 2653 ), 2654 'automation_graph_rules.php:actions' => array( 2655 'title' => __('Actions'), 2656 'mapping' => 'index.php:,automation_graph_rules.php:', 2657 'url' => '', 2658 'level' => '2' 2659 ), 2660 'automation_graph_rules.php:item_edit' => array( 2661 'title' => __('Graph Rule Items'), 2662 'mapping' => 'index.php:,automation_graph_rules.php:,automation_graph_rules.php:edit', 2663 'url' => '', 2664 'level' => '3' 2665 ), 2666 'automation_tree_rules.php:' => array( 2667 'title' => __('Tree Rules'), 2668 'mapping' => 'index.php:', 2669 'url' => 'automation_tree_rules.php', 2670 'level' => '1' 2671 ), 2672 'automation_tree_rules.php:edit' => array( 2673 'title' => __('(Edit)'), 2674 'mapping' => 'index.php:,automation_tree_rules.php:', 2675 'url' => '', 2676 'level' => '2' 2677 ), 2678 'automation_tree_rules.php:actions' => array( 2679 'title' => __('Actions'), 2680 'mapping' => 'index.php:,automation_tree_rules.php:', 2681 'url' => '', 2682 'level' => '2' 2683 ), 2684 'automation_tree_rules.php:item_edit' => array( 2685 'title' => __('Tree Rule Items'), 2686 'mapping' => 'index.php:,automation_tree_rules.php:,automation_tree_rules.php:edit', 2687 'url' => '', 2688 'level' => '3' 2689 ) 2690); 2691 2692$snmpagent_event_severity = array( 2693 SNMPAGENT_EVENT_SEVERITY_LOW => 'low', 2694 SNMPAGENT_EVENT_SEVERITY_MEDIUM => 'medium', 2695 SNMPAGENT_EVENT_SEVERITY_HIGH => 'high', 2696 SNMPAGENT_EVENT_SEVERITY_CRITICAL => 'critical' 2697); 2698 2699$days_from_time_settings = array( 2700 'mods' => array( 2701 'd' => 86400, 2702 'h' => 3600, 2703 'm' => '60', 2704 's' => 0, 2705 ), 2706 'text' => array( 2707 DAYS_FORMAT_SHORT => array( 2708 'd' => 'd', 2709 'h' => 'h', 2710 'm' => 'm', 2711 's' => 's', 2712 'suffix' => ':', 2713 'prefix' => '', 2714 ), 2715 DAYS_FORMAT_MEDIUM => array( 2716 'd' => __('days'), 2717 'h' => __('hrs'), 2718 'm' => __('mins'), 2719 's' => __('secs'), 2720 'suffix' => ', ', 2721 'prefix' => ' ', 2722 ), 2723 DAYS_FORMAT_MEDIUM_LOG => array( 2724 'd' => 'days', 2725 'h' => 'hrs', 2726 'm' => 'mins', 2727 's' => 'secs', 2728 'suffix' => ', ', 2729 'prefix' => ' ', 2730 ), 2731 DAYS_FORMAT_LONG => array( 2732 'd' => __('days'), 2733 'h' => __('hours'), 2734 'm' => __('minutes'), 2735 's' => __('seconds'), 2736 'suffix' => ', ', 2737 'prefix' => ' ', 2738 ), 2739 DAYS_FORMAT_LONG_LOG => array( 2740 'd' => 'days', 2741 'h' => 'hours', 2742 'm' => 'minutes', 2743 's' => 'seconds', 2744 'suffix' => ', ', 2745 'prefix' => ' ', 2746 ), 2747 ), 2748); 2749 2750$graph_sources = array( 2751 0 => __('Not Templated'), 2752 1 => __('Data Query'), 2753 2 => __('Template'), 2754 3 => __('Aggregate'), 2755); 2756 2757api_plugin_hook('config_arrays'); 2758