7
           
            
                
     
    
    Where i could add the right code in the followin ratefile.php 
anonymous & normal users cannot vote.
 /* $Id: ratefile.php,v 2.3 11 july 2004 Liquid Exp $ 
 * Module: PD-Downloads 
 * Version: v1.0 
 * Release Date: 04. März 2005 
 * Author: Power-Dreams Team 
 * Licence: GNU 
 */ 
  
include 'header.php'; 
 
global $myts; 
 
if (!empty($_POST['submit'])) 
{ 
    if (empty($xoopsUser)) 
    { 
        $ratinguser = 0; 
    }  
    else 
    { 
        $ratinguser = $xoopsUser -> getVar('uid'); 
    }  
    // Make sure only 1 anonymous from an IP in a single day. 
    $anonwaitdays = 1; 
    $ip = getenv("REMOTE_ADDR"); 
    $lid = intval($_POST['lid']); 
    $cid = intval($_POST['cid']); 
    $rating = intval($_POST['rating']);  
    // Check if Rating is Null 
    if ($rating == "--") 
    { 
        redirect_header("ratefile.php?cid=" . $cid . "&lid=" . $lid . "", 4, _MD_PDD_NORATING); 
        exit(); 
    }  
    // Check if Download POSTER is voting (UNLESS Anonymous users allowed to post) 
    if ($ratinguser != 0) 
    { 
        $result = $xoopsDB -> query("SELECT submitter FROM " . $xoopsDB -> prefix('PDdownloads_downloads') . " WHERE lid=$lid"); 
        while (list($ratinguserDB) = $xoopsDB -> fetchRow($result)) 
        { 
            if ($ratinguserDB == $ratinguser) 
            { 
                redirect_header("index.php", 4, _MD_PDD_CANTVOTEOWN); 
                exit(); 
            }  
        }  
        // Check if REG user is trying to vote twice. 
        $result = $xoopsDB -> query("SELECT ratinguser FROM " . $xoopsDB -> prefix('PDdownloads_votedata') . " WHERE lid=$lid"); 
        while (list($ratinguserDB) = $xoopsDB -> fetchRow($result)) 
        { 
            if ($ratinguserDB == $ratinguser) 
            { 
                redirect_header('index.php', 4, _MD_PDD_VOTEONCE); 
                exit(); 
            }  
        }  
    }  
    else 
    {  
        // Check if ANONYMOUS user is trying to vote more than once per day. 
        $yesterday = (time() - (86400 * $anonwaitdays)); 
        $result = $xoopsDB -> query("SELECT COUNT(*) FROM " . $xoopsDB -> prefix('PDdownloads_votedata') . " WHERE lid=$lid AND ratinguser=0 AND ratinghostname = '$ip'  AND ratingtimestamp > $yesterday"); 
        list($anonvotecount) = $xoopsDB -> fetchRow($result); 
        if ($anonvotecount >= 1) 
        { 
            redirect_header("index.php", 4, _MD_PDD_VOTEONCE); 
            exit(); 
        }  
    }  
    // All is well.  Add to Line Item Rate to DB. 
    $newid = $xoopsDB -> genId($xoopsDB -> prefix('PDdownloads_votedata') . "_ratingid_seq"); 
    $datetime = time(); 
    $sql = sprintf("INSERT INTO %s (ratingid, lid, ratinguser, rating, ratinghostname, ratingtimestamp) VALUES (%u, %u, %u, %u, '%s', %u)", $xoopsDB -> prefix('PDdownloads_votedata'), $newid, $lid, $ratinguser, $rating, $ip, $datetime); 
    $xoopsDB -> query($sql);  
    // All is well.  Calculate Score & Add to Summary (for quick retrieval & sorting) to DB. 
    PDd_updaterating($lid); 
    $ratemessage = _MD_PDD_VOTEAPPRE . "
" . sprintf(_MD_PDD_THANKYOU, $xoopsConfig['sitename']); 
    redirect_header('index.php', 4, $ratemessage); 
    exit(); 
}  
else 
{ 
    $xoopsOption['template_main'] = 'PDdownloads_ratefile.html'; 
    include XOOPS_ROOT_PATH . '/header.php'; 
    $lid = intval($_GET['lid']); 
    $cid = intval($_GET['cid']); 
    $imageheader = PDd_imageheader(); 
 
    $result = $xoopsDB -> query("SELECT title FROM " . $xoopsDB -> prefix('PDdownloads_downloads') . " WHERE lid=$lid"); 
    list($title) = $xoopsDB -> fetchRow($result); 
    $xoopsTpl -> assign('file', array('id' => $lid, 'cid' => $cid, 'title' => $myts -> htmlSpecialChars($title), 'imageheader' => $imageheader)); 
    include XOOPS_ROOT_PATH . '/footer.php'; 
}  
include XOOPS_ROOT_PATH.'/footer.php'; 
 
?>