diff --git a/addhost.php b/addhost.php index 66a545e4c..0d0b76229 100755 --- a/addhost.php +++ b/addhost.php @@ -1,6 +1,19 @@ #!/usr/bin/env php [community] [v1|v2c] [port] [" . join("|",$config['snmp']['transports']) . "] - } else { echo("Given hostname does not match SNMP-read hostname ($snmphost)!\n"); } - } - } +%rRemeber to discover the host afterwards.%n - if (!$added) { echo("Could not reach $host with given SNMP community\n"); } - } else { echo("Could not ping $host\n"); } - } else { echo("Could not resolve $host\n"); } - } else { echo("Already got host $host\n"); } -} else { echo("Add Host Tool\nUsage: ./addhost.php [community] [v1|v2c] [port] [" . join("|",$config['snmp']['transports']) . "]\n"); } +"); +} ?> diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php index f2c4b58fc..c0c88c01c 100644 --- a/html/includes/functions.inc.php +++ b/html/includes/functions.inc.php @@ -370,16 +370,6 @@ function humanspeed($speed) return $speed; } -function print_error($text) -{ - echo('
'.$text.'
'); -} - -function print_message($text) -{ - echo('
'.$text.'
'); -} - function devclass($device) { if (isset($device['status']) && $device['status'] == '0') { $class = "list-device-down"; } else { $class = "list-device"; } diff --git a/includes/common.php b/includes/common.php index 442a05f62..1699e9aec 100644 --- a/includes/common.php +++ b/includes/common.php @@ -2,6 +2,34 @@ ## Common Functions +function isCli() { + + if(php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) { + return true; + } else { + return false; + } +} + +function print_error($text) +{ + if(isCli()) { + print Console_Color::convert("%r".$text."%n\n", false); + } else { + echo('
'.$text.'
'); + } +} + +function print_message($text) +{ + if(isCli()) { + print Console_Color::convert("%g".$text."%n\n", false); + } else { + echo('
'.$text.'
'); + } +} + + function delete_port($int_id) { global $config; diff --git a/includes/console_colour.php b/includes/console_colour.php new file mode 100644 index 000000000..d054154f6 --- /dev/null +++ b/includes/console_colour.php @@ -0,0 +1,301 @@ + + * @license http://www.opensource.org/licenses/mit-license.php MIT License + * @link http://pear.php.net/package/Console_Color + */ + + +$GLOBALS['_CONSOLE_COLOR_CODES'] = array ( + 'color' => array( + 'black' => 30, + 'red' => 31, + 'green' => 32, + 'brown' => 33, + 'blue' => 34, + 'purple' => 35, + 'cyan' => 36, + 'grey' => 37, + 'yellow' => 33 + ), + 'style' => array( + 'normal' => 0, + 'bold' => 1, + 'light' => 1, + 'underscore' => 4, + 'underline' => 4, + 'blink' => 5, + 'inverse' => 6, + 'hidden' => 8, + 'concealed' => 8 + ), + 'background' => array( + 'black' => 40, + 'red' => 41, + 'green' => 42, + 'brown' => 43, + 'yellow' => 43, + 'blue' => 44, + 'purple' => 45, + 'cyan' => 46, + 'grey' => 47 + ) +); + + +/** + * A simple class to use ANSI Colorcodes. + * + * Of all the functions, you probably only want to use convert() and escape(). + * They are easier to use. However, if you want to access colorcodes more + * directly, look into the other functions. + * + * @category Console + * @package Console_Color + * @author Stefan Walk + * @license http://www.opensource.org/licenses/mit-license.php MIT License + * @link http://pear.php.net/package/Console_Color + */ +class Console_Color +{ + + /** + * Returns an ANSI-Controlcode + * + * Takes 1 to 3 Arguments: either 1 to 3 strings containing the name of the + * FG Color, style and BG color, or one array with the indices color, style + * or background. + * + * @param mixed $color Optional. + * Either a string with the name of the foreground + * color, or an array with the indices 'color', + * 'style', 'background' and corresponding names as + * values. + * @param string $style Optional name of the style + * @param string $background Optional name of the background color + * + * @access public + * @return string + */ + function color($color = null, $style = null, $background = null) // {{{ + { + $colors = &$GLOBALS['_CONSOLE_COLOR_CODES']; + if (is_array($color)) { + $style = @$color['style']; + $background = @$color['background']; + $color = @$color['color']; + } + + if ($color == 'reset') { + return "\033[0m"; + } + + $code = array(); + if (isset($color)) { + $code[] = $colors['color'][$color]; + } + + if (isset($style)) { + $code[] = $colors['style'][$style]; + } + + if (isset($background)) { + $code[] = $colors['background'][$background]; + } + + if (empty($code)) { + $code[] = 0; + } + + $code = implode(';', $code); + return "\033[{$code}m"; + } // }}} + + /** + * Returns a FG color controlcode + * + * @param string $name Name of controlcode + * + * @access public + * @return string + */ + function fgcolor($name) + { + $colors = &$GLOBALS['_CONSOLE_COLOR_CODES']; + return "\033[".$colors['color'][$name].'m'; + } + + /** + * Returns a style controlcode + * + * @param string $name Name of controlcode + * + * @access public + * @return string + */ + function style($name) + { + $colors = &$GLOBALS['_CONSOLE_COLOR_CODES']; + return "\033[".$colors['style'][$name].'m'; + } + + /** + * Returns a BG color controlcode + * + * @param string $name Name of controlcode + * + * @access public + * @return string + */ + function bgcolor($name) + { + $colors = &$GLOBALS['_CONSOLE_COLOR_CODES']; + return "\033[".$colors['background'][$name].'m'; + } + + /** + * Converts colorcodes in the format %y (for yellow) into ansi-control + * codes. The conversion table is: ('bold' meaning 'light' on some + * terminals). It's almost the same conversion table irssi uses. + *
 
+     *                  text      text            background
+     *      ------------------------------------------------
+     *      %k %K %0    black     dark grey       black
+     *      %r %R %1    red       bold red        red
+     *      %g %G %2    green     bold green      green
+     *      %y %Y %3    yellow    bold yellow     yellow
+     *      %b %B %4    blue      bold blue       blue
+     *      %m %M %5    magenta   bold magenta    magenta
+     *      %p %P       magenta (think: purple)
+     *      %c %C %6    cyan      bold cyan       cyan
+     *      %w %W %7    white     bold white      white
+     *
+     *      %F     Blinking, Flashing
+     *      %U     Underline
+     *      %8     Reverse
+     *      %_,%9  Bold
+     *
+     *      %n     Resets the color
+     *      %%     A single %
+     * 
+ * First param is the string to convert, second is an optional flag if + * colors should be used. It defaults to true, if set to false, the + * colorcodes will just be removed (And %% will be transformed into %) + * + * @param string $string String to convert + * @param bool $colored Should the string be colored? + * + * @access public + * @return string + */ + function convert($string, $colored = true) + { + static $conversions = array ( // static so the array doesn't get built + // everytime + // %y - yellow, and so on... {{{ + '%y' => array('color' => 'yellow'), + '%g' => array('color' => 'green' ), + '%b' => array('color' => 'blue' ), + '%r' => array('color' => 'red' ), + '%p' => array('color' => 'purple'), + '%m' => array('color' => 'purple'), + '%c' => array('color' => 'cyan' ), + '%w' => array('color' => 'grey' ), + '%k' => array('color' => 'black' ), + '%n' => array('color' => 'reset' ), + '%Y' => array('color' => 'yellow', 'style' => 'light'), + '%G' => array('color' => 'green', 'style' => 'light'), + '%B' => array('color' => 'blue', 'style' => 'light'), + '%R' => array('color' => 'red', 'style' => 'light'), + '%P' => array('color' => 'purple', 'style' => 'light'), + '%M' => array('color' => 'purple', 'style' => 'light'), + '%C' => array('color' => 'cyan', 'style' => 'light'), + '%W' => array('color' => 'grey', 'style' => 'light'), + '%K' => array('color' => 'black', 'style' => 'light'), + '%N' => array('color' => 'reset', 'style' => 'light'), + '%3' => array('background' => 'yellow'), + '%2' => array('background' => 'green' ), + '%4' => array('background' => 'blue' ), + '%1' => array('background' => 'red' ), + '%5' => array('background' => 'purple'), + '%6' => array('background' => 'cyan' ), + '%7' => array('background' => 'grey' ), + '%0' => array('background' => 'black' ), + // Don't use this, I can't stand flashing text + '%F' => array('style' => 'blink'), + '%U' => array('style' => 'underline'), + '%8' => array('style' => 'inverse'), + '%9' => array('style' => 'bold'), + '%_' => array('style' => 'bold') + // }}} + ); + + if ($colored) { + $string = str_replace('%%', '% ', $string); + foreach ($conversions as $key => $value) { + $string = str_replace($key, Console_Color::color($value), + $string); + } + $string = str_replace('% ', '%', $string); + + } else { + $string = preg_replace('/%((%)|.)/', '$2', $string); + } + + return $string; + } + + /** + * Escapes % so they don't get interpreted as color codes + * + * @param string $string String to escape + * + * @access public + * @return string + */ + function escape($string) + { + return str_replace('%', '%%', $string); + } + + /** + * Strips ANSI color codes from a string + * + * @param string $string String to strip + * + * @acess public + * @return string + */ + function strip($string) + { + return preg_replace('/\033\[[\d;]+m/', '', $string); + } + +} +?> diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index 90bf0ee08..99f38d275 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -1,5 +1,7 @@