Jump to content
php.lv forumi

Problēma ar reitinga skriptu..


ghost

Recommended Posts

Nesen uzgāju vienu reitinga skriptu. Viss strādā ļoti labi, bet nepatīk tas, ka pēc nobalsošanas vēljoprojām uzrādās balsošanas iespēja. Gribētos to nodabūt nost, lai paliek tikai zvaigznītas...

Te būs kods:

 

<?php

// User settings
$rater_ip_voting_restriction = true; // restrict ip address voting (true or false)
$rater_ip_vote_qty=1; // how many times an ip address can vote
$rater_already_rated_msg="Balsot atļauts tikai ".$rater_ip_vote_qty." reizi.";
$rater_not_selected_msg="Atzīmē vērtējumu.";
$rater_thankyou_msg="Paldies";
$rater_generic_text="this item"; // generic item text
$rater_end_of_line_char="\n"; // may want to change for different operating systems



if(!isset($rater_id)) $rater_id=1;
if(!isset($rater_item_name)) $rater_item_name=$rater_generic_text;


// DO NOT MODIFY BELOW THIS LINE
$rater_filename='item_'.$rater_id.".rating";
$rater_rating=0;
$rater_stars="";
$rater_stars_txt="";
$rater_rating=0;
$rater_votes=0;
$rater_msg="";






// Rating action
if(isset($_REQUEST["rate".$rater_id])){
if(isset($_REQUEST["rating_".$rater_id])){
 while(list($key,$val)=each($_REQUEST["rating_".$rater_id])){
  $rater_rating=$val;
 }
 $rater_ip = getenv("REMOTE_ADDR"); 
 $rater_file=fopen($rater_filename,"a+");
 $rater_str="";
 $rater_str = rtrim(fread($rater_file, 1024*8),$rater_end_of_line_char);
 if($rater_str!=""){
  if($rater_ip_voting_restriction){
$rater_data=explode($rater_end_of_line_char,$rater_str);
$rater_ip_vote_count=0;
foreach($rater_data as $d){
 $rater_tmp=explode("|",$d);
 $rater_oldip=str_replace($rater_end_of_line_char,"",$rater_tmp[1]);
 if($rater_ip==$rater_oldip){
  $rater_ip_vote_count++;
 }
}
if($rater_ip_vote_count > ($rater_ip_vote_qty - 1)){
 $rater_msg=$rater_already_rated_msg;
}else{
 fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
 $rater_msg=$rater_thankyou_msg;
}
  }else{
fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
$rater_msg=$rater_thankyou_msg;
  }
 }else{
  fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
  $rater_msg=$rater_thankyou_msg;
 }
 fclose($rater_file);
}else{
 $rater_msg=$rater_not_selected_msg;
}
}

// Get current rating



if(is_file($rater_filename)){

$rater_file=fopen($rater_filename,"r");
$rater_str="";
$rater_str = fread($rater_file, 1024*8);
if($rater_str!=""){
 $rater_data=explode($rater_end_of_line_char,$rater_str);
 $rater_votes=count($rater_data)-1;
 $rater_sum=0;
 foreach($rater_data as $d){
  $d=explode("|",$d);
  $rater_sum+=$d[0];
 }
 $rater_rating=number_format(($rater_sum/$rater_votes), 2, '.', '');
}
fclose($rater_file);
}else{
$rater_file=fopen($rater_filename,"w");
fclose($rater_file);
}

// Assign star image
if ($rater_rating <= 0  ){$rater_stars = "./img/00star.gif";$rater_stars_txt="Nav vērtējuma";}
if ($rater_rating >= 0.5){$rater_stars = "./img/05star.gif";$rater_stars_txt="0.5";}
if ($rater_rating >= 1  ){$rater_stars = "./img/1star.gif";$rater_stars_txt="1";}
if ($rater_rating >= 1.5){$rater_stars = "./img/15star.gif";$rater_stars_txt="1.5";}
if ($rater_rating >= 2  ){$rater_stars = "./img/2star.gif";$rater_stars_txt="2";}
if ($rater_rating >= 2.5){$rater_stars = "./img/25star.gif";$rater_stars_txt="2.5";}
if ($rater_rating >= 3  ){$rater_stars = "./img/3star.gif";$rater_stars_txt="3";}
if ($rater_rating >= 3.5){$rater_stars = "./img/35star.gif";$rater_stars_txt="3.5";}
if ($rater_rating >= 4  ){$rater_stars = "./img/4star.gif";$rater_stars_txt="4";}
if ($rater_rating >= 4.5){$rater_stars = "./img/45star.gif";$rater_stars_txt="4.5";}
if ($rater_rating >= 5  ){$rater_stars = "./img/5star.gif";$rater_stars_txt="5";}


// Output
echo '<div class="hreview">';
echo '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">';

echo '<div>';
echo '<span  class="rating"><img src="'.$rater_stars.'?x='.uniqid((double)microtime()*1000000,1).'" alt="'.$rater_stars_txt.' stars" /> Vidējais vērtējums: '.$rater_stars_txt.'</span>';
echo '</div>';
echo '<div>';
echo '<label for="rate5_'.$rater_id.'"><input type="radio" value="1" name="rating_'.$rater_id.'[]" id="rate5_'.$rater_id.'" />1</label>';
echo '<label for="rate4_'.$rater_id.'"><input type="radio" value="2" name="rating_'.$rater_id.'[]" id="rate4_'.$rater_id.'" />2</label>';
echo '<label for="rate3_'.$rater_id.'"><input type="radio" value="3" name="rating_'.$rater_id.'[]" id="rate3_'.$rater_id.'" />3</label>';
echo '<label for="rate2_'.$rater_id.'"><input type="radio" value="4" name="rating_'.$rater_id.'[]" id="rate2_'.$rater_id.'" />4</label>';
echo '<label for="rate1_'.$rater_id.'"><input type="radio" value="5" name="rating_'.$rater_id.'[]" id="rate1_'.$rater_id.'" />5</label>';
echo '<input type="hidden" name="rs_id" value="'.$rater_id.'" />';
echo ' <input type="submit" name="rate'.$rater_id.'" value="Balsot" style="font-family: Verdana; font-size: 8pt; color: #FFFFFF; border: 1px dashed #FFFFFF; background-color: #000000" />';
echo '</div>';
if($rater_msg!="") echo "<div>".$rater_msg."</div>";
echo '</form>';
echo '</div>';
?>

Link to comment
Share on other sites

  • 1 month later...
×
×
  • Create New...