Observium_CE/includes/weathermap/lib/WeatherMap.keywords.inc.php

782 lines
24 KiB
PHP

<?php
// new version of config_keywords
// array of contexts, contains an array of keywords, contains a (short) list of regexps as now
// this way, we don't scan the whole table, and we call preg_match a WHOLE lot less
// there will be more lines in the array, but we'll be checking less of them
$WM_config_keywords2 = array (
'GLOBAL' => array (
'FONTDEFINE' => array(
array('GLOBAL',"/^\s*FONTDEFINE\s+(\d+)\s+(\S+)\s+(\d+)\s*$/i",'ReadConfig_Handle_FONTDEFINE'),
array('GLOBAL',"/^\s*FONTDEFINE\s+(\d+)\s+(\S+)\s*$/i",'ReadConfig_Handle_FONTDEFINE'),
),
'KEYOUTLINECOLOR' => array (
array (
'GLOBAL',
'/^KEYOUTLINECOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),
array (
'GLOBAL',
'/^KEYOUTLINECOLOR\s+(none)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),
),
'KEYTEXTCOLOR' => array (array (
'GLOBAL',
'/^KEYTEXTCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),),
'TITLECOLOR' => array (array (
'GLOBAL',
'/^TITLECOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),),
'TIMECOLOR' => array (array (
'GLOBAL',
'/^TIMECOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),),
'KEYBGCOLOR' => array (
array (
'GLOBAL',
'/^KEYBGCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),
array (
'GLOBAL',
'/^KEYBGCOLOR\s+(none)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),
),
'BGCOLOR' => array (array (
'GLOBAL',
'/^BGCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_GLOBALCOLOR'
),),
'SET' => array (array (
'GLOBAL',
'SET',
'ReadConfig_Handle_SET'
),),
'HTMLSTYLESHEET' => array (array (
'GLOBAL',
'/^HTMLSTYLESHEET\s+(.*)\s*$/i',
array ('htmlstylesheet' => 1)
),),
'HTMLOUTPUTFILE' => array (array (
'GLOBAL',
'/^HTMLOUTPUTFILE\s+(.*)\s*$/i',
array ('htmloutputfile' => 1)
),),
'BACKGROUND' => array (array (
'GLOBAL',
'/^BACKGROUND\s+(.*)\s*$/i',
array ('background' => 1)
),),
'IMAGEOUTPUTFILE' => array (array (
'GLOBAL',
'/^IMAGEOUTPUTFILE\s+(.*)\s*$/i',
array ('imageoutputfile' => 1)
),),
'DATAOUTPUTFILE' => array (array (
'GLOBAL',
'/^DATAOUTPUTFILE\s+(.*)\s*$/i',
array ('dataoutputfile' => 1)
),),
'IMAGEURI' => array (array (
'GLOBAL',
'/^IMAGEURI\s+(.*)\s*$/i',
array ('imageuri' => 1)
),),
'TITLE' => array (array (
'GLOBAL',
'/^TITLE\s+(.*)\s*$/i',
array ('title' => 1)
),),
'HTMLSTYLE' => array (array (
'GLOBAL',
'/^HTMLSTYLE\s+(static|overlib)\s*$/i',
array ('htmlstyle' => 1)
),),
'KILO' => array (array (
'GLOBAL',
'/^KILO\s+(\d+)\s*$/i',
array ('kilo' => 1)
),),
'KEYFONT' => array (array (
'GLOBAL',
'/^KEYFONT\s+(\d+)\s*$/i',
array ('keyfont' => 1)
),),
'TITLEFONT' => array (array (
'GLOBAL',
'/^TITLEFONT\s+(\d+)\s*$/i',
array ('titlefont' => 1)
),),
'TIMEFONT' => array (array (
'GLOBAL',
'/^TIMEFONT\s+(\d+)\s*$/i',
array ('timefont' => 1)
),),
'WIDTH' => array (array (
'GLOBAL',
"/^WIDTH\s+(\d+)\s*$/i",
array ('width' => 1)
),),
'HEIGHT' => array (array (
'(GLOBAL)',
"/^HEIGHT\s+(\d+)\s*$/i",
array ('height' => 1)
),),
'TITLEPOS' => array (
array (
'GLOBAL',
'/^TITLEPOS\s+(-?\d+)\s+(-?\d+)\s*$/i',
array (
'titlex' => 1,
'titley' => 2
)
),
array (
'GLOBAL',
'/^TITLEPOS\s+(-?\d+)\s+(-?\d+)\s+(.*)\s*$/i',
array (
'titlex' => 1,
'titley' => 2,
'title' => 3
)
),
),
'TIMEPOS' => array (
array (
'GLOBAL',
'/^TIMEPOS\s+(-?\d+)\s+(-?\d+)\s*$/i',
array (
'timex' => 1,
'timey' => 2
)
),
array (
'GLOBAL',
'/^TIMEPOS\s+(-?\d+)\s+(-?\d+)\s+(.*)\s*$/i',
array (
'timex' => 1,
'timey' => 2,
'stamptext' => 3
)
),
),
'MINTIMEPOS' => array (
array (
'GLOBAL',
'/^MINTIMEPOS\s+(-?\d+)\s+(-?\d+)\s*$/i',
array (
'mintimex' => 1,
'mintimey' => 2
)
),
array (
'GLOBAL',
'/^MINTIMEPOS\s+(-?\d+)\s+(-?\d+)\s+(.*)\s*$/i',
array (
'mintimex' => 1,
'mintimey' => 2,
'minstamptext' => 3
)
),
),
'MAXTIMEPOS' => array (
array (
'GLOBAL',
'/^MAXTIMEPOS\s+(-?\d+)\s+(-?\d+)\s*$/i',
array (
'maxtimex' => 1,
'maxtimey' => 2
)
),
array (
'GLOBAL',
'/^MAXTIMEPOS\s+(-?\d+)\s+(-?\d+)\s+(.*)\s*$/i',
array (
'maxtimex' => 1,
'maxtimey' => 2,
'maxstamptext' => 3
)
),
),
), // end of global
'NODE' => array (
'TARGET' => array (array (
'NODE',
'TARGET',
'ReadConfig_Handle_TARGET'
),),
'SET' => array (array (
'NODE',
'SET',
'ReadConfig_Handle_SET'
),),
'AICONOUTLINECOLOR' => array (
array (
'NODE',
'/^AICONOUTLINECOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'NODE',
'/^AICONOUTLINECOLOR\s+(none)$/',
'ReadConfig_Handle_COLOR'
),
),
'AICONFILLCOLOR' => array (
array (
'NODE',
'/^AICONFILLCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'NODE',
'/^AICONFILLCOLOR\s+(copy)$/',
'ReadConfig_Handle_COLOR'
),
),
'LABELOUTLINECOLOR' => array (
array (
'NODE',
'/^LABELOUTLINECOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'NODE',
'/^LABELOUTLINECOLOR\s+(none)$/',
'ReadConfig_Handle_COLOR'
),
),
'LABELBGCOLOR' => array (
array (
'NODE',
'/^LABELBGCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'NODE',
'/^LABELBGCOLOR\s+(none)$/',
'ReadConfig_Handle_COLOR'
),
),
'LABELFONTCOLOR' => array (
array (
'NODE',
'/^LABELFONTCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'NODE',
'/^LABELFONTCOLOR\s+(contrast)$/',
'ReadConfig_Handle_COLOR'
),
),
'LABELFONTSHADOWCOLOR' => array (array (
'NODE',
'/^LABELFONTSHADOWCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),),
'NOTES' => array (array (
'NODE',
'/^NOTES\s+(.*)\s*$/i',
array (
'notestext[IN]' => 1,
'notestext[OUT]' => 1
)
),),
'MAXVALUE' => array (
array (
'NODE',
'/^(MAXVALUE)\s+(\d+\.?\d*[KMGT]?)\s+(\d+\.?\d*[KMGT]?)\s*$/i',
array (
'max_bandwidth_in_cfg' => 2,
'max_bandwidth_out_cfg' => 3
)
),
array (
'NODE',
'/^(MAXVALUE)\s+(\d+\.?\d*[KMGT]?)\s*$/i',
array (
'max_bandwidth_in_cfg' => 2,
'max_bandwidth_out_cfg' => 2
)
),
),
'ORIGIN' => array(
array('NODE',
"/^ORIGIN\s+(C|NE|SE|NW|SW|N|S|E|W)/i",
array("position_origin" => 1)
)
),
'POSITION' => array (
array (
'NODE',
"/^POSITION\s+([-+]?\d+)\s+([-+]?\d+)\s*$/i",
array (
'x' => 1,
'y' => 2
)
),
array (
'NODE',
"/^POSITION\s+(\S+)\s+([-+]?\d+)\s+([-+]?\d+)\s*$/i",
array (
'x' => 2,
'y' => 3,
'original_x' => 2,
'original_y' => 3,
'relative_to' => 1,
'relative_resolved' => false
)
),
array (
'NODE',
"/^POSITION\s+(\S+)\s+([-+]?\d+)r(\d+)\s*$/i",
array (
'x' => 2,
'y' => 3,
'original_x' => 2,
'original_y' => 3,
'relative_to' => 1,
'polar' => true,
'relative_resolved' => false
)
),
),
'INFOURL' => array (array (
'NODE',
'/^INFOURL\s+(.*)\s*$/i',
array (
'infourl[IN]' => 1,
'infourl[OUT]' => 1
)
),),
'OVERLIBCAPTION' => array (array (
'NODE',
'/^OVERLIBCAPTION\s+(.*)\s*$/i',
array (
'overlibcaption[IN]' => 1,
'overlibcaption[OUT]' => 1
)
),),
'ZORDER' => array (array (
'NODE',
"/^ZORDER\s+([-+]?\d+)\s*$/i",
array ('zorder' => 1)
),),
'OVERLIBHEIGHT' => array (array (
'NODE',
"/^OVERLIBHEIGHT\s+(\d+)\s*$/i",
array ('overlibheight' => 1)
),),
'OVERLIBWIDTH' => array (array (
'NODE',
"/^OVERLIBWIDTH\s+(\d+)\s*$/i",
array ('overlibwidth' => 1)
),),
'LABELFONT' => array (array (
'NODE',
'/^LABELFONT\s+(\d+)\s*$/i',
array ('labelfont' => 1)
),),
'LABELANGLE' => array (array (
'NODE',
'/^LABELANGLE\s+(0|90|180|270)\s*$/i',
array ('labelangle' => 1)
),),
'ICON' => array (
array (
'NODE',
'/^ICON\s+(\S+)\s*$/i',
array (
'iconfile' => 1,
'iconscalew' => '#0',
'iconscaleh' => '#0'
)
),
array (
'NODE',
'/^ICON\s+(\S+)\s*$/i',
array ('iconfile' => 1)
),
array (
'NODE',
'/^ICON\s+(\d+)\s+(\d+)\s+(inpie|outpie|box|rbox|round|gauge|nink)\s*$/i',
array (
'iconfile' => 3,
'iconscalew' => 1,
'iconscaleh' => 2
)
),
array (
'NODE',
'/^ICON\s+(\d+)\s+(\d+)\s+(\S+)\s*$/i',
array (
'iconfile' => 3,
'iconscalew' => 1,
'iconscaleh' => 2
)
),
),
'LABEL' => array (
array (
'NODE',
"/^LABEL\s*$/i",
array ('label' => '')
), # special case for blank labels
array (
'NODE',
"/^LABEL\s+(.*)\s*$/i",
array ('label' => 1)
),
),
'LABELOFFSET' => array (
array (
'NODE',
'/^LABELOFFSET\s+([-+]?\d+)\s+([-+]?\d+)\s*$/i',
array (
'labeloffsetx' => 1,
'labeloffsety' => 2
)
),
array (
'NODE',
'/^LABELOFFSET\s+(C|NE|SE|NW|SW|N|S|E|W)\s*$/i',
array ('labeloffset' => 1)
),
array (
'NODE',
'/^LABELOFFSET\s+((C|NE|SE|NW|SW|N|S|E|W)\d+)\s*$/i',
array ('labeloffset' => 1)
),
array (
'NODE',
'/^LABELOFFSET\s+(-?\d+r\d+)\s*$/i',
array ('labeloffset' => 1)
),
),
'USESCALE' => array(
array('NODE', "/^(USESCALE)\s+([A-Za-z][A-Za-z0-9_]*)(\s+(in|out))?(\s+(absolute|percent))?\s*$/i","ReadConfig_Handle_NODE_USESCALE"),
),
'USEICONSCALE' => array(
array('NODE', "/^(USEICONSCALE)\s+([A-Za-z][A-Za-z0-9_]*)(\s+(in|out))?(\s+(absolute|percent))?\s*$/i","ReadConfig_Handle_NODE_USESCALE"),
),
'OVERLIBGRAPH' => array(
array('NODE',"/^OVERLIBGRAPH\s+(.+)$/i","ReadConfig_Handle_OVERLIB")
),
), // end of node
'LINK' => array (
'TARGET' => array (array (
'LINK',
'TARGET',
'ReadConfig_Handle_TARGET'
),),
'SET' => array (array (
'LINK',
'SET',
'ReadConfig_Handle_SET'
),),
'NODES' => array (array (
'LINK',
'NODES',
'ReadConfig_Handle_NODES'
),),
'VIA' => array (array (
'LINK',
'VIA',
'ReadConfig_Handle_VIA'
),),
'COMMENTFONTCOLOR' => array (
array (
'LINK',
'/^COMMENTFONTCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'LINK',
'/^COMMENTFONTCOLOR\s+(contrast)$/',
'ReadConfig_Handle_COLOR'
),
),
'OUTLINECOLOR' => array (
array (
'LINK',
'/^OUTLINECOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'LINK',
'/^OUTLINECOLOR\s+(none)$/',
'ReadConfig_Handle_COLOR'
),
),
'BWOUTLINECOLOR' => array (
array (
'LINK',
'/^BWOUTLINECOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'LINK',
'/^BWOUTLINECOLOR\s+(none)$/',
'ReadConfig_Handle_COLOR'
),
),
'BWBOXCOLOR' => array (
array (
'LINK',
'/^BWBOXCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),
array (
'LINK',
'/^BWBOXCOLOR\s+(none)$/',
'ReadConfig_Handle_COLOR'
),
),
'BWFONTCOLOR' => array (array (
'LINK',
'/^BWFONTCOLOR\s+(\d+)\s+(\d+)\s+(\d+)$/',
'ReadConfig_Handle_COLOR'
),),
'NOTES' => array (array (
'LINK',
'/^NOTES\s+(.*)\s*$/i',
array (
'notestext[IN]' => 1,
'notestext[OUT]' => 1
)
),),
'MAXVALUE' => array (
array (
'LINK',
'/^(MAXVALUE)\s+(\d+\.?\d*[KMGT]?)\s+(\d+\.?\d*[KMGT]?)\s*$/i',
array (
'max_bandwidth_in_cfg' => 2,
'max_bandwidth_out_cfg' => 3
)
),
array (
'LINK',
'/^(MAXVALUE)\s+(\d+\.?\d*[KMGT]?)\s*$/i',
array (
'max_bandwidth_in_cfg' => 2,
'max_bandwidth_out_cfg' => 2
)
),
),
'WIDTH' => array (
array (
'LINK',
"/^WIDTH\s+(\d+)\s*$/i",
array ('width' => 1)
),
array (
'LINK',
"/^WIDTH\s+(\d+\.\d+)\s*$/i",
array ('width' => 1)
),
),
'SPLITPOS' => array (array (
'LINK',
'/^SPLITPOS\s+(\d+)\s*$/i',
array ('splitpos' => 1)
),),
'BWLABELPOS' => array (array (
'LINK',
'/^BWLABELPOS\s+(\d+)\s(\d+)\s*$/i',
array (
'labeloffset_in' => 1,
'labeloffset_out' => 2
)
),),
'COMMENTPOS' => array (array (
'LINK',
'/^COMMENTPOS\s+(\d+)\s(\d+)\s*$/i',
array (
'commentoffset_in' => 1,
'commentoffset_out' => 2
)
),),
'DUPLEX' => array (array (
'LINK',
'/^DUPLEX\s+(full|half)\s*$/i',
array ('duplex' => 1)
),),
'BWSTYLE' => array (array (
'LINK',
'/^BWSTYLE\s+(classic|angled)\s*$/i',
array ('labelboxstyle' => 1)
),),
'LINKSTYLE' => array (array (
'LINK',
'/^LINKSTYLE\s+(twoway|oneway)\s*$/i',
array ('linkstyle' => 1)
),),
'COMMENTSTYLE' => array (array (
'LINK',
'/^COMMENTSTYLE\s+(edge|center)\s*$/i',
array ('commentstyle' => 1)
),),
'ARROWSTYLE' => array (array (
'LINK',
'/^ARROWSTYLE\s+(classic|compact)\s*$/i',
array ('arrowstyle' => 1)
),),
'VIASTYLE' => array (array (
'LINK',
'/^VIASTYLE\s+(curved|angled)\s*$/i',
array ('viastyle' => 1)
),),
'INCOMMENT' => array (array (
'LINK',
'/^INCOMMENT\s+(.*)\s*$/i',
array ('comments[IN]' => 1)
),),
'OUTCOMMENT' => array (array (
'LINK',
'/^OUTCOMMENT\s+(.*)\s*$/i',
array ('comments[OUT]' => 1)
),),
'OVERLIBGRAPH' => array(
array('LINK',"/^OVERLIBGRAPH\s+(.+)$/i","ReadConfig_Handle_OVERLIB")
),
'INOVERLIBGRAPH' => array(
array('LINK',"/^INOVERLIBGRAPH\s+(.+)$/i","ReadConfig_Handle_OVERLIB")
),
'OUTOVERLIBGRAPH' => array(
array('LINK',"/^OUTOVERLIBGRAPH\s+(.+)$/i","ReadConfig_Handle_OVERLIB")
),
'USESCALE' => array (
array (
'LINK',
'/^USESCALE\s+([A-Za-z][A-Za-z0-9_]*)\s*$/i',
array ('usescale' => 1)
),
array (
'LINK',
'/^USESCALE\s+([A-Za-z][A-Za-z0-9_]*)\s+(absolute|percent)\s*$/i',
array (
'usescale' => 1,
'scaletype' => 2
)
),
),
'BWFONT' => array (array (
'LINK',
'/^BWFONT\s+(\d+)\s*$/i',
array ('bwfont' => 1)
),),
'COMMENTFONT' => array (array (
'LINK',
'/^COMMENTFONT\s+(\d+)\s*$/i',
array ('commentfont' => 1)
),),
'BANDWIDTH' => array (
array (
'LINK',
'/^(BANDWIDTH)\s+(\d+\.?\d*[KMGT]?)\s+(\d+\.?\d*[KMGT]?)\s*$/i',
array (
'max_bandwidth_in_cfg' => 2,
'max_bandwidth_out_cfg' => 3
)
),
array (
'LINK',
'/^(BANDWIDTH)\s+(\d+\.?\d*[KMGT]?)\s*$/i',
array (
'max_bandwidth_in_cfg' => 2,
'max_bandwidth_out_cfg' => 2
)
),
),
'OUTBWFORMAT' => array (array (
'LINK',
'/^OUTBWFORMAT\s+(.*)\s*$/i',
array (
'bwlabelformats[OUT]' => 1,
'labelstyle' => '--'
)
),),
'INBWFORMAT' => array (array (
'LINK',
'/^INBWFORMAT\s+(.*)\s*$/i',
array (
'bwlabelformats[IN]' => 1,
'labelstyle' => '--'
)
),),
'INNOTES' => array (array (
'LINK',
'/^INNOTES\s+(.*)\s*$/i',
array ('notestext[IN]' => 1)
),),
'OUTNOTES' => array (array (
'LINK',
'/^OUTNOTES\s+(.*)\s*$/i',
array ('notestext[OUT]' => 1)
),),
'INFOURL' => array (array (
'LINK',
'/^INFOURL\s+(.*)\s*$/i',
array (
'infourl[IN]' => 1,
'infourl[OUT]' => 1
)
),),
'ININFOURL' => array (array (
'LINK',
'/^ININFOURL\s+(.*)\s*$/i',
array ('infourl[IN]' => 1)
),),
'OUTINFOURL' => array (array (
'LINK',
'/^OUTINFOURL\s+(.*)\s*$/i',
array ('infourl[OUT]' => 1)
),),
'OVERLIBCAPTION' => array (array (
'LINK',
'/^OVERLIBCAPTION\s+(.*)\s*$/i',
array (
'overlibcaption[IN]' => 1,
'overlibcaption[OUT]' => 1
)
),),
'INOVERLIBCAPTION' => array (array (
'LINK',
'/^INOVERLIBCAPTION\s+(.*)\s*$/i',
array ('overlibcaption[IN]' => 1)
),),
'OUTOVERLIBCAPTION' => array (array (
'LINK',
'/^OUTOVERLIBCAPTION\s+(.*)\s*$/i',
array ('overlibcaption[OUT]' => 1)
),),
'ZORDER' => array (array (
'LINK',
"/^ZORDER\s+([-+]?\d+)\s*$/i",
array ('zorder' => 1)
),),
'OVERLIBWIDTH' => array (array (
'LINK',
"/^OVERLIBWIDTH\s+(\d+)\s*$/i",
array ('overlibwidth' => 1)
),),
'OVERLIBHEIGHT' => array (array (
'LINK',
"/^OVERLIBHEIGHT\s+(\d+)\s*$/i",
array ('overlibheight' => 1)
),),
) // end of link
);