Вход Регистрация
Файл: feeds.php
Строк: 163
<?php
define
('_VALID'true);
require 
'include/config.php';
require 
'classes/auth.class.php';
require 
'include/function_global.php';
require 
'include/function_smarty.php';
require 
'classes/pagination.class.php';
require 
'classes/validation.class.php';

Auth::check_();

$username       = ( isset($_GET['u']) && VValidation::username_($_GET['u']) && VValidation::usernameExists_($_GET['u']) ) ? $_GET['u'] : 'all';
$table          = ( isset($_GET['t']) && ctype_alpha($_GET['t']) ) ? $_GET['t'] : 'all';
$tables_allowed = array('all' => 1'videos' => 1'games' => 1'blogs' => 1'albums' => 1'photos' => 1);
if ( 
$table != 'all' && !isset($tables_allowed[$table]) ) {
    
VRedirect::go($config['BASE_URL']. '/error');
}

$uid            intval($_SESSION['uid']);
$sql            "SELECT s.UID, u.username
                  FROM video_subscribe AS s, signup AS u
                  WHERE s.SUID = " 
.$uid "
                  AND s.UID = u.UID"
;
$rs             $conn->execute($sql);
$subscriptions  $rs->getrows();

$feeds      = array();
$page_link  NULL;
if ( 
$subscriptions ) {
    
$photo_approve  = ( $config['approve_photos'] == '1' ) ? " AND a.status = '1'" NULL;
    
$blog_approve   = ( $config['approve_blogs'] == '1' ) ? " AND b.status = '1'" NULL;
    if ( 
$username == 'all' ) {
        
$suids              = array();
        foreach ( 
$subscriptions as $subscription ) {
            
$suids[]        = $subscription['UID'];
        }
        
$sql_add            " AND PREFIX.UID IN (" .implode(","$suids). ")";
    } else {
        
$sql                "SELECT UID FROM signup WHERE username = " .$conn->qStr($username). " LIMIT 1";
        
$rs                 $conn->execute($sql);
        if ( !
$conn->Affected_Rows() === ) {
            
VRedirect::go($config['BASE_URL']. '/notfound/user_missing');
        }
        
$UID                intval($rs->fields['UID']);
        
$sql                "SELECT SUID FROM video_subscribe WHERE UID = " .$uid" AND SUID = " .$UID" LIMIT 1";
        
$conn->execute($sql);
        if ( !
$conn->Affected_Rows() === ) {
            
VRedirect::go($config['BASE_URL']. '/error');
        }
        
$sql_add            " AND PREFIX.UID = " .$UID;
    }
    
    
$total_feeds 0;
    if ( 
$table == 'videos' || $table == 'all' ) {
        
$video_approve      = ( $config['approve'] == '1' ) ? " AND v.active = '1'" NULL;
        
$sql_count_videos   "SELECT COUNT(v.VID) AS total_videos
                           FROM video AS v
                           WHERE v.type = 'public'"
                           
.$video_approve str_replace('PREFIX''v'$sql_add);
        
$rs                 $conn->execute($sql_count_videos);
        
$total_videos       $rs->fields['total_videos'];
        
$total_feeds        $total_feeds $total_videos;
        
$pagination         = new Pagination(10);
        
$limit              $pagination->getLimit($total_videos);
        
$sql_videos         "SELECT v.*, s.username, s.photo, s.gender 
                           FROM video AS v, signup AS s
                           WHERE v.type = 'public'
                           AND v.UID = s.UID" 
.$video_approve str_replace('PREFIX''v'$sql_add). "
                           ORDER BY v.VID DESC LIMIT " 
.$limit;
        
$rs                 $conn->execute($sql_videos);
        
$videos             $rs->getrows();
        foreach ( 
$videos as $video ) {
            
$feeds[]    = array(
                
'time' => $video['addtime'],
                
'type' => 'video',
                
'data' => array('VID'         => $video['VID'], 
                                
'title'     => $video['title'], 
                                
'thumb'     => $video['thumb'], 
                                
'viewnumber'=> $video['viewnumber'],                                 
                                
'rate'        => $video['rate'],         
                                
'hd'         => $video['hd'],                                 
                                
'vthumbs'     => $video['vthumbs'], 
                                
'duration'     => $video['duration'],     
                                
'photo'     => $video['photo'],     
                                
'gender'    => $video['gender'],                                     
                                
'username'     => $video['username'])
            );
        }
    }

    if ( 
$table == 'albums' || $table == 'all' ) {
        
$photo_approve      = ( $config['approve_photos'] == '1' ) ? " AND a.status = '1'" NULL;
        
$sql_count_albums   "SELECT COUNT(a.AID) AS total_albums
                           FROM albums AS a
                           WHERE a.type = 'public'"
                           
.$photo_approve str_replace('PREFIX''a'$sql_add);
        
$rs                 $conn->execute($sql_count_albums);
        
$total_albums       $rs->fields['total_albums'];
        
$total_feeds        $total_feeds $total_albums;
        
$pagination         = new Pagination(10);
        
$limit              $pagination->getLimit($total_albums);
        
$sql_albums         "SELECT a.*, s.username, s.photo, s.gender 
                           FROM albums AS a, signup AS s
                           WHERE a.type = 'public'
                           AND a.UID = s.UID" 
.str_replace('PREFIX''a'$sql_add) . $photo_approve"
                           ORDER BY a.AID DESC LIMIT " 
.$limit;
        
$rs                 $conn->execute($sql_albums);
        
$albums             $rs->getrows();
        foreach ( 
$albums as $album ) {
            
$feeds[]    = array(
                
'time' => $album['addtime'],
                
'type' => 'album',
                
'data' => array('AID'             => $album['AID'], 
                                
'name'             => $album['name'], 
                                
'total_photos'    => $album['total_photos'],                                
                                
'rate'             => $album['rate'],         
                                
'photo'         => $album['photo'],     
                                
'gender'        => $album['gender'],     
                                
'username'         => $album['username'])
            );
        }
    }

    if ( 
$table == 'blogs' || $table == 'all' ) {
        
$blog_approve       = ( $config['approve_blogs'] == '1' ) ? " AND b.status = '1'" NULL;
        
$sql_count_blogs    "SELECT COUNT(b.BID) AS total_blogs
                           FROM blog AS b
                           WHERE 1 = 1"
                           
.$blog_approve str_replace('PREFIX''b'$sql_add);
        
$rs                 $conn->execute($sql_count_blogs);
        
$total_blogs        $rs->fields['total_blogs'];
        
$total_feeds        $total_feeds $total_blogs;
        
$pagination         = new Pagination(10);
        
$limit              $pagination->getLimit($total_blogs);
        
$sql_blogs          "SELECT b.BID, b.title, b.addtime, s.username, s.photo, s.gender 
                           FROM blog AS b, signup AS s
                           WHERE b.UID = s.UID" 
.str_replace('PREFIX''b'$sql_add) . $blog_approve"
                           ORDER BY b.BID DESC LIMIT " 
.$limit;
        
$rs                 $conn->execute($sql_blogs);
        
$blogs              $rs->getrows();
        foreach ( 
$blogs as $blog ) {
            
$feeds[]    = array(
                
'time' => $blog['addtime'],
                
'type' => 'blog',
                
'data' => array('BID'         => $blog['BID'], 
                                
'title'     => $blog['title'], 
                                
'photo'     => $blog['photo'],     
                                
'gender'    => $blog['gender'],                                 
                                
'username'     => $blog['username'])
            );
        }
    }
}

if ( 
$table == 'all' ) {
    function 
compare_time$a$b )
    {
        
$a_time intval($a['time']);
        
$b_time intval($b['time']);
        if ( 
$a_time === $b_time ) {
            return 
0;
        }
    
        return (
$a_time $b_time) ? : -1;
    }

    
usort($feeds'compare_time');
}

if ( 
$subscriptions ) {
    
$pagination             = new Pagination(40);
    
$limit                  $pagination->getLimit($total_feeds);
    
$page_link              $pagination->getPagination('feeds');
}

$self_title             $config['site_title'];
$self_meta_description  $config['meta_description'];
$self_meta_keywords     $config['meta_keywords'];

$smarty->assign('menu''');
$smarty->assign('subscriptions'$subscriptions);
$smarty->assign('username'$username);
$smarty->assign('table'$table);
$smarty->assign('feeds'$feeds);
$smarty->assign('page_link'$page_link);
$smarty->assign('self_title'$self_title);
$smarty->assign('self_meta_description'$self_meta_description);
$smarty->assign('self_meta_keywords'$self_meta_keywords);
$smarty->loadFilter('output''trimwhitespace');
$smarty->display('header.tpl');
$smarty->display('feeds.tpl');
$smarty->display('footer.tpl');
?>
Онлайн: 1
Реклама