Initial commit
This commit is contained in:
53
#pma/themes/svg_gradient.php
Normal file
53
#pma/themes/svg_gradient.php
Normal file
@ -0,0 +1,53 @@
|
||||
<?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>
|
Reference in New Issue
Block a user