1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?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 characters
- $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>
|