Viewing file: svg_gradient.php (1.5 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Theme based generator for SVG gradient. * * @package PhpMyAdmin-theme */ header('Content-Type: image/svg+xml'); header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
/** * Gets single color from GET parameters validating it. * * @param string $get_name Name of parameter in request * @param string $default Default value * * @return string Color name or code. */ function PMA_gradientGetColor($get_name, $default) { // get color from GET args, only alphanumeric chcracters $opts = array('options' => array('regexp' => '/^[a-z0-9]+$/i')); $color = filter_input(INPUT_GET, $get_name, FILTER_VALIDATE_REGEXP, $opts); if (preg_match('/^[a-f0-9]{6}$/', $color)) { return '#' . $color; } return $color ? $color : $default; }
$from = PMA_gradientGetColor('from', 'white'); $to = PMA_gradientGetColor('to', 'blank');
echo '<?xml version="1.0" ?>'; ?> <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" version="1.0" width="100%" height="100%"> <defs> <linearGradient id="linear-gradient" x1="0%" y1="0%" x2="0%" y2="100%"> <stop offset="0%" stop-color="<?php echo $from; ?>" stop-opacity="1" /> <stop offset="100%" stop-color="<?php echo $to; ?>" stop-opacity="1" /> </linearGradient> </defs> <rect width="100%" height="100%" style="fill:url(#linear-gradient);" /> </svg>
|