Вход Регистрация
Файл: sys/inc/classes/class.user.php
Строк: 161
<?php
/**
 * / Основные пользовательские функции
 * / nick() - выводит ник и значок онлайна
 * / avatar - выводит аватар и иконку пользователя
 * / у всех функций есть параметры что выводить а что нет
 */
class user
{
    
/**
     * / Ссылка и Ник юзера
     */
    
public static function nick$user 0$url 1$on 0$medal )
    {
        
/*
         * $url == 0        Выводит только ник
         * $url == 1        Выводит ник с ссылкой на страницу юзера
         * $on  == 1        Выводит рядом с ником значок онлайн
         * $medal == 1    Выводит медальку рядом со значком онлайн
         */
        
$ank        db::fetch('SELECT `nick`, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' $user '" LIMIT 1 'ARRAY_A);
        
$nick       null;
        
$online     null;
        
$icon_medal null;
        
// Вывод ника 
        
if ( $user == ) {
            
$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() 
            );
        }
        if ( 
$url == true ) {
            
$nick ' <a href="/info.php?id=' $user '">' text$ank['nick'] ) . '</a> ';
        } else {
            
$nick text$ank['nick'] );
        }
        
// Вывод значка онлайн
        
if ( $user != && $ank['date_last'] > time() - 600 && $on == true ) {
            
$online ' <img src="/style/icons/online' . ( $ank['browser'] == 'wap' '' '_web' ) . '.gif" alt="Online" /> ';
        }
        
// Вывод медали
        
$R $ank['rating'];
        if ( 
$medal == && $R >= ) {
            if ( 
$R >= && $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 $online;
    }
    
/**
     * / Аватар, иконка группы пользователя
     */
    
public static function avatar$user 0$type )
    {
        
/*
         * $type == 0 - Выводит аватар и иконку вместе
         * $type == 1 - Выводит только аватар
         * $type == 2 - Выводит только иконку
         */
        
global $time$set;
        
$AVATAR '';
        
$icon   '';
        if ( 
$user != ) {
            
$ank db::fetch('SELECT `pol`, `id`, `group_access` FROM `user` WHERE `id` = "' $user '" LIMIT 1 'ARRAY_A);
        }
        if ( 
$user == ) {
            
$ank = array(
                 
'id' => '0',
                
'pol' => '1',
                
'group_access' => '0' 
            
);
        } elseif ( !
$ank ) {
            
$ank = array(
                 
'id' => '0',
                
'pol' => '1',
                
'group_access' => '0' 
            
);
        }
        
// Аватар
        
if ( $type == || $type == ) {
            
$AVATAR get_avatar($user'thumbnail'); 
        }
        
// Иконка пользователя
        
if ( $type == || $type == ) {
            if ( 
db::count("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$user' AND (`time` > '" time() . "' OR `navsegda` = '1')") != ) {
                
$ic_id 'ban';
            } else {
                if ( 
$ank['group_access'] > && ( $ank['group_access'] < 10 || $ank['group_access'] > 14 ) ) {
                    if ( 
$ank['pol'] == ) {
                        
$ic_id 1;
                    } else {
                        
$ic_id 2;
                    }
                } elseif ( ( 
$ank['group_access'] > && $ank['group_access'] <= ) || ( $ank['group_access'] > 10 && $ank['group_access'] <= 14 ) ) {
                    if ( 
$ank['pol'] == ) {
                        
$ic_id 3;
                    } else {
                        
$ic_id 4;
                    }
                } else {
                    if ( 
$ank['pol'] == ) {
                        
$ic_id 5;
                    } else {
                        
$ic_id 6;
                    }
                }
            }
            
$icon '<img src="/style/user/' $ic_id '.png" alt="" class="icon" id="icon_group" /> ';
        }
        return 
'<span class="image-avatar">' $AVATAR '</span> ' $icon;
    }
    
/**
     * / Функция выборки пользовательских данных
     * / Выводин данные из таблицы user
     * / и генериует аватар, иконки медалей и онлайна в массив
     * $ank['link'], $ank['avatar'], $ank['online'], 
     * $ank['medal'], $ank['icon']
     */
    
static function get_user$ID 0$photo )
    {
        
/*
         * $ID    - ID юзера 
         * $photo - Параметр на выборку аватара
         */
        
global $user;
        
$ID                = (int) $ID;
        
$ank               = array( );
        
$ank['group_name'] = null;
        
// Если вы авторизованы, и функция вызывает 
        // ваш ID, то просто берем данные из $user
        
if ( $user['id'] == $ID ) {
            
$ank $user;
        } else {
            
$ank db::fetch('SELECT * FROM `user` WHERE `id` = "' $ID '" LIMIT 1'ARRAY_A);
        }
        
// Если система или неопределенный юзер
        
if ( $ID == ) {
            
$ank = array(
                 
'id' => '0',
                
'pol' => '1',
                
'group_access' => '0',
                
'level' => '999' 
            
);
        } elseif ( !
$ank ) {
            
$ank = array(
                 
'id' => '0',
                
'pol' => '1',
                
'group_access' => '0',
                
'level' => '0' 
            
);
        } else {
            
$tmp_us            db::fetch("SELECT `level`,`name` AS `group_name` FROM `user_group` WHERE `id` = '" $ank['group_access'] . "' LIMIT 1"ARRAY_A);
            
$ank['group_name'] = $tmp_us['group_name'];
            
$ank['level']      = $tmp_us['level'];
        }
        
// Если поставлен параметр выводить фото
        
if ( $photo ) {
            
$ank['avatar'] = get_avatar($ank['id'], 'thumbnail');
        }
        
// Вывод значка онлайн
        
if ( $ID != && $ank['date_last'] > time() - 600 ) {
            
$ank['online'] = ' <img src="/style/icons/online' . ( $ank['browser'] == 'wap' '' '_web' ) . '.gif" alt="Online" /> ';
        } else {
            
$ank['online'] = null;
        }
        
// Вывод медали
        
$R $ank['rating'];
        if ( 
$R >= ) {
            if ( 
$R >= && $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;
            }
            
$ank['medal'] = ' <img src="/style/medal/' $img '.png" alt="*" /> ';
        } else {
            
$ank['medal'] = null;
        }
        
// Иконка пользователя
        
if ( db::count("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$ID' AND (`time` > '" time() . "' OR `navsegda` = '1')") != ) {
            
$ic_id 'ban';
        } else {
            if ( 
$ank['group_access'] > && ( $ank['group_access'] < 10 || $ank['group_access'] > 14 ) ) {
                if ( 
$ank['pol'] == ) {
                    
$ic_id 1;
                } else {
                    
$ic_id 2;
                }
            } elseif ( ( 
$ank['group_access'] > && $ank['group_access'] <= ) || ( $ank['group_access'] > 10 && $ank['group_access'] <= 14 ) ) {
                if ( 
$ank['pol'] == ) {
                    
$ic_id 3;
                } else {
                    
$ic_id 4;
                }
            } else {
                if ( 
$ank['pol'] == ) {
                    
$ic_id 5;
                } else {
                    
$ic_id 6;
                }
            }
        }
        
$ank['icon'] = '<img src="/style/user/' $ic_id '.png" alt="" class="icon" id="icon_group" /> ';
        
$ank['link'] = ' <a href="/info.php?id=' $ID '">' text$ank['nick'] ) . '</a> ';
        
$ank['nick'] = text$ank['nick'] );
        return 
$ank;
    }
}
?>
Онлайн: 0
Реклама