Вход Регистрация
Файл: adultscript-2.0.3-pro/files/mobile/templates/default/extend/ajax/photo_rate.plugin.php
Строк: 75
<?php
defined
('_VALID') or die('Restricted Access!');
function 
ajax_plugin_photo_rate()
{
    
$data = array('status' => 0'code' => '''msg' => '''debug' => '');
    
$pcfg VF::cfg('module.photo');
    
    
VLanguage::load('frontend.photo');
    if (
$pcfg['allow_rating'] != '1') {
        
$data['msg'] = __('rating-disabled');
        return 
json_encode($data);
    }
    
    if (isset(
$_POST['rating']) && isset($_POST['photo_id'])) {
        
$user_id = (VAuth::loggedin()) ? (int) $_SESSION['user_id'] : 0;
        if (
$pcfg['rating_type'] == 'user' && !$user_id) {
            
$data['msg'] = __('rating-login');
            return 
json_encode($data);
        }
    
        
$photo_id    = (int) trim($_POST['photo_id']);
        
$vote        = (float) trim($_POST['rating']);
        
$ip            VServer::ip(TRUE);
        
        
$db            VF::factory('database');
        if (
$pcfg['rating_count'] == '1') {
            if (
$pcfg['rating_type'] == 'user') {
                
$sql "SELECT rating_id
                        FROM #__photo_rating
                        WHERE photo_id = "
.$photo_id."
                        AND voter_id = "
.$user_id."
                        LIMIT 1"
;
            } else {
                
$sql "SELECT rating_id
                        FROM #__photo_rating
                        WHERE photo_id = "
.$photo_id."
                        AND voter_ip = "
.$ip."
                        LIMIT 1"
;
            }
        
            
$db->query($sql);
            if (
$db->affected_rows()) {
                
$data['msg'] = __('rating-already');
                return 
json_encode($data);
            }
        }
        
        
$db->query("SELECT p.rating, p.rated_by, a.album_id, a.rating AS arating, a.rated_by AS arated_by
                    FROM #__photo AS p
                    INNER JOIN #__photo_albums AS a ON (a.album_id = p.album_id)
                    WHERE p.photo_id = "
.$photo_id."
                    LIMIT 1"
);
        if (
$db->affected_rows()) {
            
$photo        $db->fetch_assoc();
            
$rating        = (float) $photo['rating'];
            
$rated_by    = (int) $photo['rated_by'];
            
$arating    = (float) $photo['arating'];
            
$arated_by    = (int) $photo['arated_by'];
            
$album_id    = (int) $photo['album_id'];
            
$value      round($rating*$rated_by2);
            
$rating     $value+$vote;
            
$rated_by   $rated_by+1;
            
$avalue        round($arating*$arated_by2);
            
$arating    $avalue+$vote;
            
$arated_by    $arated_by+1;
            
$arating    round($arating/$arated_by2);
            
            
$rating     round($rating/$rated_by2);
            
$db->query("UPDATE #__photo
                        SET rating = "
.$rating.",
                            rated_by = "
.$rated_by."
                        WHERE photo_id = "
.$photo_id."
                        LIMIT 1"
);
            
$db->query("UPDATE #__photo_albums
                        SET rating = "
.$arating.",
                            rated_by = "
.$arated_by."
                        WHERE album_id = "
.$album_id."
                        LIMIT 1"
);
            
$db->query("INSERT INTO #__photo_rating
                        SET photo_id = "
.$photo_id.",
                            voter_id = "
.$user_id.",
                            voter_ip = "
.$ip.",
                            rating = "
.$vote.",
                            add_date = '"
.date('Y-m-d h:i:s')."'");
                            
$data['status'] = 1;
                            
            
VF::factory('cache')->remove('photo_'.$photo_id);
            
VF::factory('cache')->remove('album_'.$album_id);
            
            
$code            = ($rating == or $rating == 5) ? 100 round(($rating*100)/5);
            
            
$data['code']   = '<strong>'.$code.'%</strong>';
            
$rating         = ($rated_by === 1) ? ' '.__('vote') : ' '.__('votes');
            
$data['msg']    = $rated_by.$rating;
        } else {
            
$data['msg'] = __('photo-invalid');
        }
    }
    
    return 
json_encode($data);
}
?>
Онлайн: 1
Реклама