Обучение/Помощь новичкам | что не так?
<?
// Градиент ника //
function extract16color($color16){
$mask16=array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
$color_mask=array("r","g","b");
$true_color=array("r"=>0,"g"=>0,"b"=>0);
$color16=substr($color16,1);
for($icm=0; $icm<count($color_mask); $icm++){
$color16_temp=array(substr($color16,($icm*2),1),substr($color16,($icm*2)+1,1));
for ($ic=0; $ic<2; $ic++){
for($i=0; $i<count($mask16); $i++){
if ($color16_temp[$ic]==$mask16[$i]){
$color16_temp[$ic]=$i;
break;
}
}
}
$true_color[$color_mask[$icm]]=((int)$color16_temp[0]*16)+(int)$color16_temp[1];
}
return $true_color;
}
function make16color($color10){
$mask16=array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
$color_mask=array("r","g","b");
$true_color="#";
for($icm=0; $icm<count($color_mask); $icm++){
$color10_temp=(int)$color10[$color_mask[$icm]];
$true_color.=$mask16[(int)($color10_temp/16)];
$true_color.=$mask16[$color10_temp%16];
}
return $true_color;
}
function Gradient($text,$sColor,$eColor){
$color_mask=array("r","g","b");
$color_move=array("r"=>0,"g"=>0,"b"=>0);
$color_add=array("r"=>0,"g"=>0,"b"=>0);
$word=array();
$length=strlen($text);
$output="";
$Gzip="";
$current_color="";
$max=0;
if($length>0){
$sColor=extract16color($sColor);
$eColor=extract16color($eColor);
$cColor=$sColor;
for($i=0; $i<count($color_mask); $i++){
$temp=$sColor[$color_mask[$i]]-$eColor[$color_mask[$i]];
$color_add[$color_mask[$i]]=abs($temp);
if(abs($temp)>$max){
$max=abs($temp);
}
if($temp<0){
$color_move[$color_mask[$i]]=1;
} else if ($temp>0){
$color_move[$color_mask[$i]]=-1;
} else {
$color_move[$color_mask[$i]]=0;
}
}
for($i=0; $i<$length; $i++){
$char=substr($text,$i,1);
$test=ord($char);
if($test>=128 and $test<=255 | $test=""){
$char=substr($text,$i,2);
$i++;
}
$word[]=$char;
}
}
$length=count($word);
$koeff_add=@(($max/$length)/$max)*100;
for($i=0; $i<$length; $i++){
for($i2=0; $i2<count($color_mask); $i2++){
$add=(($color_add[$color_mask[$i2]]/100)*$koeff_add)*$color_move[$color_mask[$i2]];
$cColor[$color_mask[$i2]]+=$add;
}
$current_color=make16color($cColor);
if(!$i){
$output.='<font color="'.$current_color.'">'.$word[$i];
$Gzip=$current_color;
} else {
if($current_color==$Gzip | $word[$i]==" "){
$output.=$word[$i];
} else {
$output.='</font><font color="'.$current_color.'">'.$word[$i];
$Gzip=$current_color;
}
}
}
if(strlen($output)){
$output.="</font>";
}
return $output;
}
// Конец//
/**
* / Основные пользовательские функции
* / nick() - выводит ник и значок онлайна
* / avatar - выводит аватар и иконку пользователя
* / у всех функций есть параметры что выводить а что нет
*/
class user
{
/**
* / Ссылка и Ник юзера
*/
public static function nick($user = 0, $url = 1, $on = 0, $medal = 0)
{
/*
* $url == 0Выводит только ник
* $url == 1Выводит ник с ссылкой на страницу юзера
* $on == 1Выводит рядом с ником значок онлайн
* $medal == 1Выводит медальку рядом со значком онлайн
*/
$ank = mysql_fetch_assoc(mysql_query('SELECT `nick`, `date_last`, `rating`, `browser`, `id` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
$nick = null;
$online = null;
$icon_medal = null;
// Вывод ника
if ($user == 0)$ank = array('id' => '0', 'nick' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
elseif (!$ank)$ank = array('id' => '0', 'nick' => '[Удален]', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
$color=mysql_fetch_assoc(mysql_query("SELECT time,color1,color2 FROM `user_color_nick` WHERE `id_user` = '".$ank['id']."' LIMIT 1"));
if(isset($color['time']) and $color['time'] > time()) {
if ($url == true)
{
$url1 = ' <a href="/id' . $user . '">';
$url2 = '</a> ';
$nick1 = text($ank['nick']);
$nick2 = Gradient($nick1, $color['color1'], $color['color2']);
$nick = $url1.$nick2.$url2;
}
else
{
$nick1 = text($ank['nick']);
$nick = Gradient($nick1, $color['color1'], $color['color2']);
}
}
else
{
if ($url == true)
{
$url1 = ' <a href="/id' . $user . '">';
$url2 = '</a> ';
$nick1 = text($ank['nick']);
$nick = $url1.$nick1.$url2;
}
else
{
$nick = text($ank['nick']);
}
}
// Вывод значка онлайн
if ($user != 0 && $ank['date_last'] > time()-600 && $on == true)
{
if ($ank['browser'] == 'wap')
$online = ' <img src="/style/icons/online.gif" alt="WAP" /> ';
else
$online = ' <img src="/style/icons/online_web.gif" alt="WEB" /> ';
}
// Вывод медали
$R = $ank['rating'];
if ($medal == 1 && $R >= 6)
{
if ($R >= 6 && $R <= 11){$img = 1;}
elseif ($R >= 12 && $R <= 19){$img = 2;}
elseif ($R >= 20 && $R <= 27){$img = 3;}
elseif ($R >= 28 && $R <= 37){$img = 4;}
elseif ($R >= 38 && $R <= 47){$img = 5;}
elseif ($R >= 48 && $R <= 59){$img = 6;}
elseif ($R >= 60){$img = 7;}
$icon_medal = ' <img src="/style/medal/' . $img . '.png" alt="*" /> ';
}
return $nick . $icon_medal . $
// Градиент ника //
function extract16color($color16){
$mask16=array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
$color_mask=array("r","g","b");
$true_color=array("r"=>0,"g"=>0,"b"=>0);
$color16=substr($color16,1);
for($icm=0; $icm<count($color_mask); $icm++){
$color16_temp=array(substr($color16,($icm*2),1),substr($color16,($icm*2)+1,1));
for ($ic=0; $ic<2; $ic++){
for($i=0; $i<count($mask16); $i++){
if ($color16_temp[$ic]==$mask16[$i]){
$color16_temp[$ic]=$i;
break;
}
}
}
$true_color[$color_mask[$icm]]=((int)$color16_temp[0]*16)+(int)$color16_temp[1];
}
return $true_color;
}
function make16color($color10){
$mask16=array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
$color_mask=array("r","g","b");
$true_color="#";
for($icm=0; $icm<count($color_mask); $icm++){
$color10_temp=(int)$color10[$color_mask[$icm]];
$true_color.=$mask16[(int)($color10_temp/16)];
$true_color.=$mask16[$color10_temp%16];
}
return $true_color;
}
function Gradient($text,$sColor,$eColor){
$color_mask=array("r","g","b");
$color_move=array("r"=>0,"g"=>0,"b"=>0);
$color_add=array("r"=>0,"g"=>0,"b"=>0);
$word=array();
$length=strlen($text);
$output="";
$Gzip="";
$current_color="";
$max=0;
if($length>0){
$sColor=extract16color($sColor);
$eColor=extract16color($eColor);
$cColor=$sColor;
for($i=0; $i<count($color_mask); $i++){
$temp=$sColor[$color_mask[$i]]-$eColor[$color_mask[$i]];
$color_add[$color_mask[$i]]=abs($temp);
if(abs($temp)>$max){
$max=abs($temp);
}
if($temp<0){
$color_move[$color_mask[$i]]=1;
} else if ($temp>0){
$color_move[$color_mask[$i]]=-1;
} else {
$color_move[$color_mask[$i]]=0;
}
}
for($i=0; $i<$length; $i++){
$char=substr($text,$i,1);
$test=ord($char);
if($test>=128 and $test<=255 | $test=""){
$char=substr($text,$i,2);
$i++;
}
$word[]=$char;
}
}
$length=count($word);
$koeff_add=@(($max/$length)/$max)*100;
for($i=0; $i<$length; $i++){
for($i2=0; $i2<count($color_mask); $i2++){
$add=(($color_add[$color_mask[$i2]]/100)*$koeff_add)*$color_move[$color_mask[$i2]];
$cColor[$color_mask[$i2]]+=$add;
}
$current_color=make16color($cColor);
if(!$i){
$output.='<font color="'.$current_color.'">'.$word[$i];
$Gzip=$current_color;
} else {
if($current_color==$Gzip | $word[$i]==" "){
$output.=$word[$i];
} else {
$output.='</font><font color="'.$current_color.'">'.$word[$i];
$Gzip=$current_color;
}
}
}
if(strlen($output)){
$output.="</font>";
}
return $output;
}
// Конец//
/**
* / Основные пользовательские функции
* / nick() - выводит ник и значок онлайна
* / avatar - выводит аватар и иконку пользователя
* / у всех функций есть параметры что выводить а что нет
*/
class user
{
/**
* / Ссылка и Ник юзера
*/
public static function nick($user = 0, $url = 1, $on = 0, $medal = 0)
{
/*
* $url == 0Выводит только ник
* $url == 1Выводит ник с ссылкой на страницу юзера
* $on == 1Выводит рядом с ником значок онлайн
* $medal == 1Выводит медальку рядом со значком онлайн
*/
$ank = mysql_fetch_assoc(mysql_query('SELECT `nick`, `date_last`, `rating`, `browser`, `id` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
$nick = null;
$online = null;
$icon_medal = null;
// Вывод ника
if ($user == 0)$ank = array('id' => '0', 'nick' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
elseif (!$ank)$ank = array('id' => '0', 'nick' => '[Удален]', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
$color=mysql_fetch_assoc(mysql_query("SELECT time,color1,color2 FROM `user_color_nick` WHERE `id_user` = '".$ank['id']."' LIMIT 1"));
if(isset($color['time']) and $color['time'] > time()) {
if ($url == true)
{
$url1 = ' <a href="/id' . $user . '">';
$url2 = '</a> ';
$nick1 = text($ank['nick']);
$nick2 = Gradient($nick1, $color['color1'], $color['color2']);
$nick = $url1.$nick2.$url2;
}
else
{
$nick1 = text($ank['nick']);
$nick = Gradient($nick1, $color['color1'], $color['color2']);
}
}
else
{
if ($url == true)
{
$url1 = ' <a href="/id' . $user . '">';
$url2 = '</a> ';
$nick1 = text($ank['nick']);
$nick = $url1.$nick1.$url2;
}
else
{
$nick = text($ank['nick']);
}
}
// Вывод значка онлайн
if ($user != 0 && $ank['date_last'] > time()-600 && $on == true)
{
if ($ank['browser'] == 'wap')
$online = ' <img src="/style/icons/online.gif" alt="WAP" /> ';
else
$online = ' <img src="/style/icons/online_web.gif" alt="WEB" /> ';
}
// Вывод медали
$R = $ank['rating'];
if ($medal == 1 && $R >= 6)
{
if ($R >= 6 && $R <= 11){$img = 1;}
elseif ($R >= 12 && $R <= 19){$img = 2;}
elseif ($R >= 20 && $R <= 27){$img = 3;}
elseif ($R >= 28 && $R <= 37){$img = 4;}
elseif ($R >= 38 && $R <= 47){$img = 5;}
elseif ($R >= 48 && $R <= 59){$img = 6;}
elseif ($R >= 60){$img = 7;}
$icon_medal = ' <img src="/style/medal/' . $img . '.png" alt="*" /> ';
}
return $nick . $icon_medal . $
Код не обращает в html
Переусердстсвовал с фильтрацией данных?)
Где-то ты перемудрил, и наверняка с htmlspecialchars

