/***************************************************************************** * * matches.php - File for global match constants * * Copyright (c) 2004-2010 NagVis Project (Contact: info@nagvis.org) * * License: * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * *****************************************************************************/ /** * @author Lars Michelsen */ define('MATCH_ALL', '/^.*$/i'); // These regex allow unicode matching define('MATCH_STRING', '/^[[:print:]\pL]+$/u'); define('MATCH_STRING_EMPTY', '/^[[:print:]\pL]*$/u'); define('MATCH_STRING_NO_SPACE', '/^[[:graph:]\pL]+$/u'); define('MATCH_STRING_NO_SPACE_EMPTY', '/^[[:graph:]\pL]*$/u'); define('MATCH_STRING_PATH', '/^[[:alnum:][:blank:]_.\/\\-]+$/'); define('MATCH_STRING_URL', '/^[[:alnum:][:blank:]\:+\[\]()=%?&_,.#@=\/\\-]+$/'); define('MATCH_STRING_URL_EMPTY', '/^[[:alnum:][:blank:]\:+\[\]()=%?&_,.#@=\/\\-]*$/'); define('MATCH_GADGET_OPT', '/^[[:alnum:][:blank:]\:+\[\]()_.,&?!#@=\/\\%-]+$/'); define('MATCH_STRING_STYLE', '/^[[:alnum:]\:;+%-]*$/'); define('MATCH_INTEGER', '/^[[:digit:]]+$/'); define('MATCH_INTEGER_EMPTY', '/^[[:digit:]]*$/'); define('MATCH_FLOAT', '/^[[:digit:]]+[.,]*[[:digit:]]*$/'); define('MATCH_BOOLEAN', '/^(?:1|0)$/i'); define('MATCH_BOOLEAN_EMPTY', '/^(?:1|0)*$/i'); define('MATCH_COLOR', '/^(#?[[:xdigit:]]{3,6}|transparent)$/i'); define('MATCH_OBJECTTYPE', '/^(?:global|host|service|hostgroup|servicegroup|map|textbox|shape|line|template)$/i'); define('MATCH_PNGFILE', '/^([^\s]+)\.png$/i'); define('MATCH_PNG_GIF_JPG_FILE', '/^([^\s]+)\.(png|gif|jpg)$/i'); define('MATCH_PNG_GIF_JPG_FILE_OR_URL_NONE', '/^((.+)\.(png|gif|jpg)|\[[[:alnum:][:blank:]\:+\[\]()=%?&_.#@=\/\\-]+\]|none)$/i'); define('MATCH_PNG_GIF_JPG_FILE_OR_URL', '/^((.+)\.(png|gif|jpg)|\[[[:alnum:][:blank:]\:+\[\]()=%?&_.#@=\/\\-]+\])$/i'); define('MATCH_ROTATION_STEP_TYPES_EMPTY', '/^(?:map|automap|url)?$/'); define('MATCH_LANGUAGE_EMPTY', '/^[[:alnum:]_-]*$/'); define('MATCH_MAP_NAME', '/^[[:alnum:]_-]+$/'); define('MATCH_MAP_NAME_EMPTY', '/^[[:alnum:]_-]*$/'); define('MATCH_ROTATION_NAME', '/^[[:alnum:]_-]+$/'); define('MATCH_ROTATION_NAME_EMPTY', '/^[[:alnum:]_-]*$/'); define('MATCH_BACKGROUND_NAME', '/^[[:alnum:]_-]+$/'); define('MATCH_VIEW_TYPE', '/^(?:icon|line)$/i'); define('MATCH_VIEW_TYPE_SERVICE', '/^(?:icon|line|gadget)$/i'); define('MATCH_VIEW_TYPE_SERVICE_EMPTY', '/^(?:icon|line|gadget)*$/i'); define('MATCH_GET_OBJECT_TYPE', '/^(state|complete)$/'); define('MATCH_OBJECT_TYPES', '/^(host|service|hostgroup|servicegroup|map|automap)$/'); define('MATCH_AUTOMAP_RENDER_MODE', '/^(directed|undirected|radial|circular|undirected2)?$/'); define('MATCH_LINE_TYPE', '/^(10|11|12|13|14)?$/'); define('MATCH_LINE_ARROW', '/^(none|forward|back|both)?$/'); define('MATCH_USER_NAME', '/^[[:alnum:][:space:]_.@-]+$/'); define('MATCH_ROLE_NAME', '/^[[:alnum:][:space:]_.@-]+$/'); define('MATCH_URI_PART', '/^[[:alnum:]_-]*$/'); define('MATCH_CFG_FILE', '/^(.+)\.cfg$/i'); define('MATCH_MP3_FILE', '/^(.+)\.mp3$/i'); define('MATCH_HEADER_TEMPLATE_FILE', '/^(.+)\.header\.html$/i'); define('MATCH_HOVER_TEMPLATE_FILE', '/^(.+)\.hover\.html$/i'); define('MATCH_CONTEXT_TEMPLATE_FILE', '/^(.+)\.context\.html$/i'); define('MATCH_PHP_FILE', '/^(.+\.php)$/i'); define('MATCH_INTEGER_PRESIGN', '/^[\+\-]?[[:digit:]]+$/'); define('MATCH_INTEGER_PRESIGN_EMPTY', '/^[\+\-]?[[:digit:]]*$/'); define('MATCH_ORDER', '/^(?:asc|desc)$/'); define('MATCH_TEXTBOX_WIDTH', '/^([[:digit:]]+|auto)$/'); define('MATCH_TEXTBOX_HEIGHT', '/^([[:digit:]]+|auto)$/'); define('MATCH_SOCKET', '/^(unix:[[:alnum:]_.\/-]+|tcp:[[:alnum:].-]+:[[:digit:]]{1,5})$/'); define('MATCH_WUI_ADDMODIFY_DO', '/^(add|modify)$/');