Комментарии:
Скиталец 17 Апр 2016
В общем можно так сделать в папке sys/fnc добавить файл gradient.php с кодом
<?
function gradient($text, $hexfrom, $hexto){
$lenght = mb_strlen($text,'UTF8');
$fromrgb = array_map('hexdec', str_split(ltrim(strtoupper($hexfrom), '#'), 2));
$torgb = array_map('hexdec', str_split(ltrim(strtoupper($hexto), '#'), 2));
$steprgb = array();
for($i = 0; $i < 3; $i++){
$steprgb[$i] = floor(($fromrgb[$i] - $torgb[$i]) / ($lenght));
}
$username = '';
for ($i = 0; $i <= $lenght; $i++){
if ($i < 1){
continue;
}
for($j = 0; $j < 3; $j++){
$hexrgb[$j] = $fromrgb[$j] - ($steprgb[$j] * $i);
if ($hexrgb[$j] > 255){
$hexrgb[$j] = 255;
}
$hexrgb[$j] = dechex($hexrgb[$j]);
$hexrgb[$j] = strtoupper($hexrgb[$j]);
if (strlen($hexrgb[$j]) < 2){
$hexrgb[$j] = "0$hexrgb[$j]";
}
}
$color = implode(null, $hexrgb);
$username .= '<span style="color: #' . $color . ';">' . mb_substr($text, $i-1, 1,'UTF-8') . '</span>';
}
return $username;
}
?>
дальше создаем файл настроек цвета
<?
if(isset($_POST['color']) && isset($_POST['color2']) && !preg_match('/^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/',$_POST['color']) && !preg_match('/^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/',$_POST['color2'])){
mysql_query("UPDATE `user` SET `color` = '".my_esc($_POST['color'])."', `color2` = '".my_esc($_POST['color2'])."' WHERE `id` = '$user[id]'");
}
$colors = array('#ffffff', '#bcbcbc', '#708090', '#6c6c6c', '#454545', '#fcc9c9', '#fe8c8c', '#fe5e5e', '#fd5b36', '#f82e00', '#ffe1c6', '#ffc998', '#fcad66', '#ff9331', '#ff810f', '#d8ffe0', '#92f9a7', '#34ff5d', '#b2fb82', '#89f641', '#b7e9ec', '#56e5ed', '#21cad3', '#03939b', '#039b80', '#cac8e9', '#9690ea', '#6a60ec', '#4866e7', '#173bd3', '#f3cafb', '#e287f4', '#c238dd', '#a476af', '#b53dd2');
?>
<form action="" method="POST">
Цвет ника: выберите начало ника</br>
<?foreach($colors as $color)
echo '<input type="radio" name="color" style=
В общем можно так сделать в папке sys/fnc добавить файл gradient.php с кодом
<?
function gradient($text, $hexfrom, $hexto){
$lenght = mb_strlen($text,'UTF8');
$fromrgb = array_map('hexdec', str_split(ltrim(strtoupper($hexfrom), '#'), 2));
$torgb = array_map('hexdec', str_split(ltrim(strtoupper($hexto), '#'), 2));
$steprgb = array();
for($i = 0; $i < 3; $i++){
$steprgb[$i] = floor(($fromrgb[$i] - $torgb[$i]) / ($lenght));
}
$username = '';
for ($i = 0; $i <= $lenght; $i++){
if ($i < 1){
continue;
}
for($j = 0; $j < 3; $j++){
$hexrgb[$j] = $fromrgb[$j] - ($steprgb[$j] * $i);
if ($hexrgb[$j] > 255){
$hexrgb[$j] = 255;
}
$hexrgb[$j] = dechex($hexrgb[$j]);
$hexrgb[$j] = strtoupper($hexrgb[$j]);
if (strlen($hexrgb[$j]) < 2){
$hexrgb[$j] = "0$hexrgb[$j]";
}
}
$color = implode(null, $hexrgb);
$username .= '<span style="color: #' . $color . ';">' . mb_substr($text, $i-1, 1,'UTF-8') . '</span>';
}
return $username;
}
?>
дальше создаем файл настроек цвета
<?
if(isset($_POST['color']) && isset($_POST['color2']) && !preg_match('/^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/',$_POST['color']) && !preg_match('/^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/',$_POST['color2'])){
mysql_query("UPDATE `user` SET `color` = '".my_esc($_POST['color'])."', `color2` = '".my_esc($_POST['color2'])."' WHERE `id` = '$user[id]'");
}
$colors = array('#ffffff', '#bcbcbc', '#708090', '#6c6c6c', '#454545', '#fcc9c9', '#fe8c8c', '#fe5e5e', '#fd5b36', '#f82e00', '#ffe1c6', '#ffc998', '#fcad66', '#ff9331', '#ff810f', '#d8ffe0', '#92f9a7', '#34ff5d', '#b2fb82', '#89f641', '#b7e9ec', '#56e5ed', '#21cad3', '#03939b', '#039b80', '#cac8e9', '#9690ea', '#6a60ec', '#4866e7', '#173bd3', '#f3cafb', '#e287f4', '#c238dd', '#a476af', '#b53dd2');
?>
<form action="" method="POST">
Цвет ника: выберите начало ника</br>
<?foreach($colors as $color)
echo '<input type="radio" name="color" style=