1<?php
2// Pandora FMS - http://pandorafms.com
3// ==================================================
4// Copyright (c) 2005-2012 Artica Soluciones Tecnologicas
5// Please see http://pandorafms.org for full contribution list
6
7// This program is free software; you can redistribute it and/or
8// modify it under the terms of the  GNU Lesser General Public License
9// as published by the Free Software Foundation; version 2
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/**
17 * @package Include
18 * @subpackage Constants
19 */
20
21/* Enterprise hook constant */
22define ('ENTERPRISE_NOT_HOOK',	-1);
23
24
25/**/
26define('DATE_FORMAT',		'Y/m/d');
27define('DATE_FORMAT_JS',	'yy/mm/dd');
28define('TIME_FORMAT',		'H:i:s');
29define('TIME_FORMAT_JS',	'HH:mm:ss');
30
31/* Events state constants */
32define ('EVENT_NEW',		0);
33define ('EVENT_VALIDATE',	1);
34define ('EVENT_PROCESS',	2);
35
36
37
38/* Agents disabled status */
39define ('AGENT_ENABLED',	0);
40define ('AGENT_DISABLED',	1);
41
42
43
44/* Error report codes */
45define ('NOERR',					11111);
46define ('ERR_GENERIC',				-10000);
47define ('ERR_EXIST',				-20000);
48define ('ERR_INCOMPLETE',			-30000);
49define ('ERR_DB', 					-40000);
50define ('ERR_DB_HOST', 				-40001);
51define ('ERR_DB_DB', 				-40002);
52define ('ERR_FILE', 				-50000);
53define ('ERR_NOCHANGES',			-60000);
54define ('ERR_NODATA',				-70000);
55define ('ERR_CONNECTION',			-80000);
56define ('ERR_DISABLED',				-90000);
57define ('ERR_WRONG',				-100000);
58define ('ERR_WRONG_NAME',			-100001);
59define ('ERR_WRONG_PARAMETERS',		-100002);
60define ('ERR_ACL',					-110000);
61define ('ERR_AUTH',					-120000);
62define ('ERR_COULDNT_RESOLVE_HOST',	-130000);
63
64/* Event status code */
65define ('EVENT_STATUS_NEW',			0);
66define ('EVENT_STATUS_INPROCESS',	2);
67define ('EVENT_STATUS_VALIDATED',	1);
68
69/* Seconds in a time unit constants */
70define('SECONDS_1MINUTE',	60);
71define('SECONDS_2MINUTES',	120);
72define('SECONDS_5MINUTES',	300);
73define('SECONDS_10MINUTES',	600);
74define('SECONDS_15MINUTES',	900);
75define('SECONDS_30MINUTES',	1800);
76define('SECONDS_1HOUR',		3600);
77define('SECONDS_2HOUR',		7200);
78define('SECONDS_3HOUR',		10800);
79define('SECONDS_5HOUR',		18000);
80define('SECONDS_6HOURS',	21600);
81define('SECONDS_12HOURS',	43200);
82define('SECONDS_1DAY',		86400);
83define('SECONDS_2DAY',		172800);
84define('SECONDS_4DAY',		345600);
85define('SECONDS_5DAY',		432000);
86define('SECONDS_1WEEK',		604800);
87define('SECONDS_10DAY',		864000);
88define('SECONDS_2WEEK',		1209600);
89define('SECONDS_15DAYS',	1296000);
90define('SECONDS_1MONTH',	2592000);
91define('SECONDS_2MONTHS',	5184000);
92define('SECONDS_3MONTHS',	7776000);
93define('SECONDS_6MONTHS',	15552000);
94define('SECONDS_1YEAR',		31104000);
95define('SECONDS_2YEARS',	62208000);
96define('SECONDS_3YEARS',	93312000);
97
98
99
100/* Separator constats */
101define('SEPARATOR_COLUMN',		';');
102define('SEPARATOR_ROW',			chr(10)); //chr(10) = '\n'
103define('SEPARATOR_COLUMN_CSV',	"#");
104define('SEPARATOR_ROW_CSV',		"@\n");
105
106
107
108/* Backup paths */
109switch ($config["dbtype"]) {
110	case "mysql":
111	case "postgresql":
112		define ('BACKUP_DIR',		'attachment/backups');
113		define ('BACKUP_FULLPATH',	$config['homedir'] . '/' . BACKUP_DIR);
114		break;
115	case "oracle":
116		define ('BACKUP_DIR',		'DATA_PUMP_DIR');
117		define ('BACKUP_FULLPATH',	'DATA_PUMP_DIR');
118		break;
119}
120
121
122
123/* Color constants */
124define('COL_CRITICAL',		'#FC4444');
125define('COL_WARNING',		'#FAD403');
126define('COL_WARNING_DARK',	'#FFB900');
127define('COL_NORMAL',		'#80BA27');
128define('COL_NOTINIT',		'#3BA0FF');
129define('COL_UNKNOWN',		'#B2B2B2');
130define('COL_ALERTFIRED',	'#FFA631');
131define('COL_MINOR',			'#F099A2');
132define('COL_MAJOR',			'#C97A4A');
133define('COL_INFORMATIONAL',	'#E4E4E4');
134define('COL_MAINTENANCE',	'#3BA0FF');
135
136define('COL_GRAPH1',	'#C397F2');
137define('COL_GRAPH2',	'#FFE66C');
138define('COL_GRAPH3',	'#92CCA3');
139define('COL_GRAPH4',	'#EA6D5B');
140define('COL_GRAPH5',	'#6BD8DD');
141define('COL_GRAPH6',	'#F49B31');
142define('COL_GRAPH7',	'#999999');
143define('COL_GRAPH8',	'#F2B8C1');
144define('COL_GRAPH9',	'#C4E8C1');
145define('COL_GRAPH10',	'#C1DBE5');
146define('COL_GRAPH11',	'#C9C1e0');
147define('COL_GRAPH12',	'#F45B95');
148define('COL_GRAPH13',	'#E83128');
149
150
151/* The styles */
152/* Size of text in characters for truncate */
153define('GENERIC_SIZE_TEXT',	25);
154
155
156
157/* Agent module status */
158define('AGENT_MODULE_STATUS_ALL',				-1);
159define('AGENT_MODULE_STATUS_CRITICAL_BAD',		1);
160define('AGENT_MODULE_STATUS_CRITICAL_ALERT',	100);
161define('AGENT_MODULE_STATUS_NO_DATA',			4);
162define('AGENT_MODULE_STATUS_NORMAL',			0);
163define('AGENT_MODULE_STATUS_NORMAL_ALERT',		300);
164define('AGENT_MODULE_STATUS_NOT_NORMAL',		6);
165define('AGENT_MODULE_STATUS_WARNING',			2);
166define('AGENT_MODULE_STATUS_WARNING_ALERT',		200);
167define('AGENT_MODULE_STATUS_UNKNOWN',			3);
168define('AGENT_MODULE_STATUS_NOT_INIT',			5);
169
170/* Agent status */
171define('AGENT_STATUS_ALL',			-1);
172define('AGENT_STATUS_CRITICAL',		1);
173define('AGENT_STATUS_NORMAL',		0);
174define('AGENT_STATUS_NOT_INIT',		5);
175define('AGENT_STATUS_NOT_NORMAL',	6);
176define('AGENT_STATUS_UNKNOWN',		3);
177define('AGENT_STATUS_ALERT_FIRED',	4);
178define('AGENT_STATUS_WARNING',		2);
179
180
181/* Visual maps contants */
182//The items kind
183define('STATIC_GRAPH',		0);
184define('PERCENTILE_BAR',	3);
185define('MODULE_GRAPH',		1);
186define('SIMPLE_VALUE',		2);
187define('LABEL',				4);
188define('ICON',				5);
189define('SIMPLE_VALUE_MAX',	6);
190define('SIMPLE_VALUE_MIN',	7);
191define('SIMPLE_VALUE_AVG',	8);
192define('PERCENTILE_BUBBLE',	9);
193define('SERVICE',			10); //Enterprise Item.
194define('GROUP_ITEM',		11);
195define('BOX_ITEM',			12);
196define('LINE_ITEM',			13);
197//Some styles
198define('MIN_WIDTH',			300);
199define('MIN_HEIGHT',		120);
200define('MIN_WIDTH_CAPTION',	420);
201//The process for simple value
202define('PROCESS_VALUE_NONE',	0);
203define('PROCESS_VALUE_MIN',		1);
204define('PROCESS_VALUE_MAX',		2);
205define('PROCESS_VALUE_AVG',		3);
206//Status
207define('VISUAL_MAP_STATUS_CRITICAL_BAD',	1);
208define('VISUAL_MAP_STATUS_CRITICAL_ALERT',	4);
209define('VISUAL_MAP_STATUS_NORMAL',			0);
210define('VISUAL_MAP_STATUS_WARNING',			2);
211define('VISUAL_MAP_STATUS_UNKNOWN',			3);
212define('VISUAL_MAP_STATUS_WARNING_ALERT',	10);
213//Wizard
214define('VISUAL_MAP_WIZARD_PARENTS_NONE',				0);
215define('VISUAL_MAP_WIZARD_PARENTS_ITEM_MAP',			1);
216define('VISUAL_MAP_WIZARD_PARENTS_AGENT_RELANTIONSHIP',	2);
217
218
219
220/* Service constants */
221//Status
222define('SERVICE_STATUS_UNKNOWN',			-1);
223define('SERVICE_STATUS_NORMAL',				0);
224define('SERVICE_STATUS_CRITICAL',			1);
225define('SERVICE_STATUS_WARNING',			2);
226define('SERVICE_STATUS_ALERT',				4);
227//Default weights
228define('SERVICE_WEIGHT_CRITICAL',			1);
229define('SERVICE_WEIGHT_WARNING',			0.5);
230define('SERVICE_ELEMENT_WEIGHT_CRITICAL',	1);
231define('SERVICE_ELEMENT_WEIGHT_WARNING',	0.5);
232define('SERVICE_ELEMENT_WEIGHT_OK',			0);
233define('SERVICE_ELEMENT_WEIGHT_UNKNOWN',	0);
234//Modes
235define('SERVICE_MODE_MANUAL',				0);
236define('SERVICE_MODE_AUTO',					1);
237define('SERVICE_MODE_SIMPLE',				2);
238
239
240/* Status images */
241//For modules
242define ('STATUS_MODULE_OK',			'module_ok.png');
243define ('STATUS_MODULE_CRITICAL',	'module_critical.png');
244define ('STATUS_MODULE_WARNING',	'module_warning.png');
245define ('STATUS_MODULE_NO_DATA',	'module_no_data.png');
246define ('STATUS_MODULE_UNKNOWN',	'module_unknown.png');
247//For agents
248define ('STATUS_AGENT_CRITICAL',	'agent_critical.png');
249define ('STATUS_AGENT_WARNING',		'agent_warning.png');
250define ('STATUS_AGENT_DOWN',		'agent_down.png');
251define ('STATUS_AGENT_UNKNOWN',		'agent_unknown.png');
252define ('STATUS_AGENT_OK',			'agent_ok.png');
253define ('STATUS_AGENT_NO_DATA',		'agent_no_data.png');
254define ('STATUS_AGENT_NO_MONITORS',	'agent_no_monitors.png');
255define ('STATUS_AGENT_NOT_INIT',	'agent_notinit.png');
256//For alerts
257define ('STATUS_ALERT_FIRED',		'alert_fired.png');
258define ('STATUS_ALERT_NOT_FIRED',	'alert_not_fired.png');
259define ('STATUS_ALERT_DISABLED',	'alert_disabled.png');
260//For servers
261define ('STATUS_SERVER_OK',			'server_ok.png');
262define ('STATUS_SERVER_DOWN',		'server_down.png');
263
264
265/* Status images (ball) */
266//For modules
267define ('STATUS_MODULE_OK_BALL',			'module_ok_ball.png');
268define ('STATUS_MODULE_CRITICAL_BALL',		'module_critical_ball.png');
269define ('STATUS_MODULE_WARNING_BALL',		'module_warning_ball.png');
270define ('STATUS_MODULE_NO_DATA_BALL',		'module_no_data_ball.png');
271define ('STATUS_MODULE_UNKNOWN_BALL',		'module_unknown_ball.png');
272//For agents
273define ('STATUS_AGENT_CRITICAL_BALL',		'agent_critical_ball.png');
274define ('STATUS_AGENT_WARNING_BALL',		'agent_warning_ball.png');
275define ('STATUS_AGENT_DOWN_BALL',			'agent_down_ball.png');
276define ('STATUS_AGENT_UNKNOWN_BALL',		'agent_unknown_ball.png');
277define ('STATUS_AGENT_OK_BALL',				'agent_ok_ball.png');
278define ('STATUS_AGENT_NO_DATA_BALL',		'agent_no_data_ball.png');
279define ('STATUS_AGENT_NO_MONITORS_BALL',	'agent_no_monitors_ball.png');
280define ('STATUS_AGENT_NOT_INIT_BALL',		'agent_notinit_ball.png');
281//For alerts
282define ('STATUS_ALERT_FIRED_BALL',			'alert_fired_ball.png');
283define ('STATUS_ALERT_NOT_FIRED_BALL',		'alert_not_fired_ball.png');
284define ('STATUS_ALERT_DISABLED_BALL',		'alert_disabled_ball.png');
285//For servers
286define ('STATUS_SERVER_OK_BALL',			'server_ok_ball.png');
287define ('STATUS_SERVER_DOWN_BALL',			'server_down_ball.png');
288
289
290
291/* Events criticity */
292define ('EVENT_CRIT_MAINTENANCE',			0);
293define ('EVENT_CRIT_INFORMATIONAL',			1);
294define ('EVENT_CRIT_NORMAL',				2);
295define ('EVENT_CRIT_MINOR',					5);
296define ('EVENT_CRIT_WARNING',				3);
297define ('EVENT_CRIT_MAJOR',					6);
298define ('EVENT_CRIT_CRITICAL',				4);
299define ('EVENT_CRIT_WARNING_OR_CRITICAL',	34);
300define ('EVENT_CRIT_NOT_NORMAL',			20);
301define ('EVENT_CRIT_OR_NORMAL',				21);
302
303/* Id Module (more use in component)*/
304define ('MODULE_DATA',			1);
305define ('MODULE_NETWORK',		2);
306define ('MODULE_SNMP',			2);
307define ('MODULE_PLUGIN',		4);
308define ('MODULE_PREDICTION',	5);
309define ('MODULE_WMI',			6);
310define ('MODULE_WEB',			7);
311
312/* Type of Modules of Prediction */
313define ('MODULE_PREDICTION_SERVICE',	2);
314define ('MODULE_PREDICTION_SYNTHETIC',	3);
315define ('MODULE_PREDICTION_NETFLOW',	4);
316
317/* SNMP CONSTANTS */
318define('SNMP_DIR_MIBS',		"attachment/mibs");
319
320define('SNMP_TRAP_TYPE_NONE',					-1);
321define('SNMP_TRAP_TYPE_COLD_START',				0);
322define('SNMP_TRAP_TYPE_WARM_START',				1);
323define('SNMP_TRAP_TYPE_LINK_DOWN',				2);
324define('SNMP_TRAP_TYPE_LINK_UP',				3);
325define('SNMP_TRAP_TYPE_AUTHENTICATION_FAILURE',	4);
326define('SNMP_TRAP_TYPE_OTHER',					5);
327
328/* PASSWORD POLICIES */
329define('PASSSWORD_POLICIES_OK',				0);
330define('PASSSWORD_POLICIES_FIRST_CHANGE',	1);
331define('PASSSWORD_POLICIES_EXPIRED',		2);
332
333/* SERVER TYPES */
334define('SERVER_TYPE_DATA',					0);
335define('SERVER_TYPE_NETWORK',				1);
336define('SERVER_TYPE_SNMP',					2);
337define('SERVER_TYPE_RECON',					3);
338define('SERVER_TYPE_PLUGIN',				4);
339define('SERVER_TYPE_PREDICTION',			5);
340define('SERVER_TYPE_WMI',					6);
341define('SERVER_TYPE_EXPORT',				7);
342define('SERVER_TYPE_INVENTORY',				8);
343define('SERVER_TYPE_WEB',					9);
344define('SERVER_TYPE_EVENT',					10);
345define('SERVER_TYPE_ENTERPRISE_ICMP',		11);
346define('SERVER_TYPE_ENTERPRISE_SNMP',		12);
347define('SERVER_TYPE_ENTERPRISE_SATELLITE',	13);
348
349/* REPORTS */
350define('REPORT_TOP_N_MAX',	1);
351define('REPORT_TOP_N_MIN',	2);
352define('REPORT_TOP_N_AVG',	0);
353
354define('REPORT_TOP_N_ONLY_GRAPHS',		2);
355define('REPORT_TOP_N_SHOW_TABLE_GRAPS',	1);
356define('REPORT_TOP_N_ONLY_TABLE',		0);
357
358define('REPORT_EXCEPTION_CONDITION_EVERYTHING',	0);
359define('REPORT_EXCEPTION_CONDITION_GE',			1);
360define('REPORT_EXCEPTION_CONDITION_LE',			5);
361define('REPORT_EXCEPTION_CONDITION_L',			2);
362define('REPORT_EXCEPTION_CONDITION_G',			6);
363define('REPORT_EXCEPTION_CONDITION_E',			7);
364define('REPORT_EXCEPTION_CONDITION_NE',			8);
365define('REPORT_EXCEPTION_CONDITION_OK',			3);
366define('REPORT_EXCEPTION_CONDITION_NOT_OK',		4);
367
368define('REPORT_ITEM_ORDER_BY_AGENT_NAME',	3);
369define('REPORT_ITEM_ORDER_BY_ASCENDING',	2);
370define('REPORT_ITEM_ORDER_BY_DESCENDING',	1);
371define('REPORT_ITEM_ORDER_BY_UNSORT',		0);
372
373define('REPORT_OLD_TYPE_SIMPLE_GRAPH',		1);
374define('REPORT_OLD_TYPE_CUSTOM_GRAPH',		2);
375define('REPORT_OLD_TYPE_SLA',				3);
376define('REPORT_OLD_TYPE_MONITOR_REPORT',	6);
377define('REPORT_OLD_TYPE_AVG_VALUE',			7);
378define('REPORT_OLD_TYPE_MAX_VALUE',			8);
379define('REPORT_OLD_TYPE_MIN_VALUE',			9);
380define('REPORT_OLD_TYPE_SUMATORY',			10);
381
382define('REPORT_GENERAL_NOT_GROUP_BY_AGENT',	0);
383define('REPORT_GENERAL_GROUP_BY_AGENT',		1);
384
385define('REPORTING_CUSTOM_GRAPH_LEGEND_EACH_MODULE_VERTICAL_SIZE',	15);
386
387/* POLICIES */
388
389define("POLICY_UPDATED",			0);
390define("POLICY_PENDING_DATABASE",	1);
391define("POLICY_PENDING_ALL",		2);
392
393define("STATUS_IN_QUEUE_OUT",		0);
394define("STATUS_IN_QUEUE_IN",		1);
395define("STATUS_IN_QUEUE_APPLYING",	2);
396
397define("MODULE_UNLINKED",		0);
398define("MODULE_LINKED",			1);
399define("MODULE_PENDING_UNLINK",	10);
400define("MODULE_PENDING_LINK",	11);
401
402/* EVENTS */
403define("EVENTS_GOING_UNKNOWN" ,				'going_unknown');
404define("EVENTS_UNKNOWN",					'unknown');
405define("EVENTS_ALERT_FIRED",				'alert_fired');
406define("EVENTS_ALERT_RECOVERED",			'alert_recovered');
407define("EVENTS_ALERT_CEASED",				'alert_ceased');
408define("EVENTS_ALERT_MANUAL_VALIDATION",	'alert_manual_validation');
409define("EVENTS_RECON_HOST_DETECTED",		'recon_host_detected');
410define("EVENTS_SYSTEM",						'system');
411define("EVENTS_ERROR",						'error');
412define("EVENTS_NEW_AGENT",					'new_agent');
413define("EVENTS_GOING_UP_WARNING",			'going_up_warning');
414define("EVENTS_GOING_UP_CRITICAL",			'going_up_critical');
415define("EVENTS_GOING_DOWN_WARNING",			'going_down_warning');
416define("EVENTS_GOING_DOWN_NORMAL",			'going_down_normal');
417define("EVENTS_GOING_DOWN_CRITICAL",		'going_down_critical');
418define("EVENTS_GOING_UP_NORMAL",			'going_up_normal');
419define("EVENTS_CONFIGURATION_CHANGE",		'configuration_change');
420
421/* CUSTOM GRAPHS */
422define("CUSTOM_GRAPH_AREA",			0);
423define("CUSTOM_GRAPH_STACKED_AREA",	1);
424define("CUSTOM_GRAPH_LINE",			2);
425define("CUSTOM_GRAPH_STACKED_LINE",	3);
426define("CUSTOM_GRAPH_BULLET_CHART",	4);
427define("CUSTOM_GRAPH_GAUGE",		5);
428define("CUSTOM_GRAPH_HBARS",		6);
429define("CUSTOM_GRAPH_VBARS",		7);
430define("CUSTOM_GRAPH_PIE",			8);
431
432/* COLLECTIONS */
433define("COLLECTION_PENDING_APPLY",			0);
434define("COLLECTION_CORRECT",				1);
435define("COLLECTION_ERROR_LOST_DIRECTORY",	2);
436define("COLLECTION_UNSAVED",				3);
437
438/* PAGINATION */
439define("PAGINATION_BLOCKS_LIMIT",	15);
440
441/* CHARTS */
442define("CHART_DEFAULT_WIDTH",	150);
443define("CHART_DEFAULT_HEIGHT",	110);
444
445define("CHART_DEFAULT_ALPHA", 50);
446
447/* Statwin */
448define("STATWIN_DEFAULT_CHART_WIDTH",	555);
449define("STATWIN_DEFAULT_CHART_HEIGHT",	245);
450
451/* Dashboard */
452define("DASHBOARD_DEFAULT_COUNT_CELLS",	9);
453
454define("OPTION_TEXT",					1);
455define("OPTION_SINGLE_SELECT",			2);
456define("OPTION_MULTIPLE_SELECT",		3);
457define("OPTION_BOOLEAN",				4);
458define("OPTION_TEXTAREA",				5);
459define("OPTION_TREE_GROUP_SELECT",		6);
460define("OPTION_SINGLE_SELECT_TIME",		7);
461define("OPTION_CUSTOM_INPUT",			8);
462define("OPTION_AGENT_AUTOCOMPLETE",		9);
463?>
464