mirror of
https://github.com/e107inc/e107.git
synced 2025-08-06 06:38:00 +02:00
Issue #3552
This commit is contained in:
@@ -201,18 +201,27 @@ class rater
|
|||||||
$id = intval($id);
|
$id = intval($id);
|
||||||
|
|
||||||
$sql = new db;
|
$sql = new db;
|
||||||
if (!$sql->db_Select("rate", "*", "rate_table = '{$table}' AND rate_itemid = '{$id}' ")) {
|
|
||||||
return FALSE;
|
|
||||||
} else {
|
|
||||||
$row = $sql->db_Fetch();
|
|
||||||
|
|
||||||
if (preg_match("/\.".USERID."\./", $row['rate_voters'])) {
|
if(!$sql->select("rate", "*", "rate_table = '{$table}' AND rate_itemid = '{$id}' "))
|
||||||
return TRUE;
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$row = $sql->fetch();
|
||||||
|
|
||||||
|
if(preg_match("/\." . USERID . "\./", $row['rate_voters']))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
//added option to split an individual users rating
|
//added option to split an individual users rating
|
||||||
}else if (preg_match("/\.".USERID.chr(1)."([0-9]{1,2})\./", $row['rate_voters'])) {
|
}
|
||||||
return TRUE;
|
elseif(preg_match("/\." . USERID . chr(1) . "([0-9]{1,2})\./", $row['rate_voters']))
|
||||||
} else {
|
{
|
||||||
return FALSE;
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -388,9 +397,9 @@ class rater
|
|||||||
protected function getLikes($table,$itemid,$perc=false)
|
protected function getLikes($table,$itemid,$perc=false)
|
||||||
{
|
{
|
||||||
$sql = e107::getDb();
|
$sql = e107::getDb();
|
||||||
if($sql->db_Select("rate","*","rate_table = '{$table}' AND rate_itemid = '{$itemid}' LIMIT 1"))
|
if($sql->select("rate","*","rate_table = '{$table}' AND rate_itemid = '{$itemid}' LIMIT 1"))
|
||||||
{
|
{
|
||||||
$row = $sql->db_Fetch();
|
$row = $sql->fetch();
|
||||||
if($perc == true) // Percentage Mode
|
if($perc == true) // Percentage Mode
|
||||||
{
|
{
|
||||||
$up = round(($row['rate_up'] / $row['rate_votes']) * 100) . "%";
|
$up = round(($row['rate_up'] / $row['rate_votes']) * 100) . "%";
|
||||||
@@ -413,9 +422,9 @@ class rater
|
|||||||
{
|
{
|
||||||
$sql = e107::getDb();
|
$sql = e107::getDb();
|
||||||
|
|
||||||
if($sql->db_Select("rate","*","rate_table = '{$table}' AND rate_itemid = '{$itemid}' LIMIT 1"))
|
if($sql->select("rate","*","rate_table = '{$table}' AND rate_itemid = '{$itemid}' LIMIT 1"))
|
||||||
{
|
{
|
||||||
$row = $sql->db_Fetch();
|
$row = $sql->fetch();
|
||||||
|
|
||||||
if(preg_match("/\.". USERID."\./",$row['rate_voters'])) // already voted.
|
if(preg_match("/\.". USERID."\./",$row['rate_voters'])) // already voted.
|
||||||
{
|
{
|
||||||
@@ -431,7 +440,7 @@ class rater
|
|||||||
$qry .= ", rate_voters = '{$newvoters}', rate_votes = {$totalVotes} ";
|
$qry .= ", rate_voters = '{$newvoters}', rate_votes = {$totalVotes} ";
|
||||||
$qry .= " WHERE rate_table = '{$table}' AND rate_itemid = '{$itemid}'";
|
$qry .= " WHERE rate_table = '{$table}' AND rate_itemid = '{$itemid}'";
|
||||||
|
|
||||||
if($sql->db_Update("rate",$qry))
|
if($sql->update("rate",$qry))
|
||||||
{
|
{
|
||||||
if($perc == true) // Percentage Mode
|
if($perc == true) // Percentage Mode
|
||||||
{
|
{
|
||||||
@@ -455,7 +464,7 @@ class rater
|
|||||||
'like_totalvotes' => $totalVotes,
|
'like_totalvotes' => $totalVotes,
|
||||||
'like_type' => $type
|
'like_type' => $type
|
||||||
);
|
);
|
||||||
e107::getEvent()->trigger('user_like_sent', $edata);
|
e107::getEvent()->trigger('user_like_submitted', $edata);
|
||||||
|
|
||||||
return $up."|".$down;
|
return $up."|".$down;
|
||||||
}
|
}
|
||||||
@@ -473,7 +482,7 @@ class rater
|
|||||||
"rate_down" => ($type == 'down') ? 1 : 0
|
"rate_down" => ($type == 'down') ? 1 : 0
|
||||||
);
|
);
|
||||||
|
|
||||||
if($row = $sql->db_Insert("rate", $insert))
|
if($row = $sql->insert("rate", $insert))
|
||||||
{
|
{
|
||||||
//$row = $sql->db_Fetch();
|
//$row = $sql->db_Fetch();
|
||||||
$edata = array(
|
$edata = array(
|
||||||
@@ -487,7 +496,7 @@ class rater
|
|||||||
'like_totalvotes' => 1,
|
'like_totalvotes' => 1,
|
||||||
'like_type' => $type
|
'like_type' => $type
|
||||||
);
|
);
|
||||||
e107::getEvent()->trigger('user_like_sent', $edata);
|
e107::getEvent()->trigger('user_like_submitted', $edata);
|
||||||
|
|
||||||
if($perc == true) // Percentage Mode
|
if($perc == true) // Percentage Mode
|
||||||
{
|
{
|
||||||
@@ -499,6 +508,8 @@ class rater
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -534,10 +545,10 @@ class rater
|
|||||||
$sep = chr(1); // problematic - invisible in phpmyadmin.
|
$sep = chr(1); // problematic - invisible in phpmyadmin.
|
||||||
$voter = USERID.$sep.intval($qs[3]);
|
$voter = USERID.$sep.intval($qs[3]);
|
||||||
|
|
||||||
if ($sql->db_Select("rate", "*", "rate_table='{$table}' AND rate_itemid='{$itemid}' "))
|
if ($sql->select("rate", "*", "rate_table='{$table}' AND rate_itemid='{$itemid}' "))
|
||||||
{
|
{
|
||||||
|
|
||||||
$row = $sql -> db_Fetch();
|
$row = $sql -> fetch();
|
||||||
$rate_voters = $row['rate_voters'].".".$voter.".";
|
$rate_voters = $row['rate_voters'].".".$voter.".";
|
||||||
$new_votes = $row['rate_votes'] + 1;
|
$new_votes = $row['rate_votes'] + 1;
|
||||||
$new_rating = $row['rate_rating'] + $rate;
|
$new_rating = $row['rate_rating'] + $rate;
|
||||||
@@ -552,7 +563,7 @@ class rater
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($sql->db_Update("rate", "rate_votes= ".$new_votes.", rate_rating='{$new_rating}', rate_voters='{$rate_voters}' WHERE rate_id='{$row['rate_id']}' "))
|
if($sql->update("rate", "rate_votes= ".$new_votes.", rate_rating='{$new_rating}', rate_voters='{$rate_voters}' WHERE rate_id='{$row['rate_id']}' "))
|
||||||
{
|
{
|
||||||
$edata = array(
|
$edata = array(
|
||||||
'rate_pid' => $row['rate_id'],
|
'rate_pid' => $row['rate_id'],
|
||||||
@@ -565,7 +576,7 @@ class rater
|
|||||||
'rate_old_rating' => $row['rate_rating'],
|
'rate_old_rating' => $row['rate_rating'],
|
||||||
'rate_new_rating' => $new_rating
|
'rate_new_rating' => $new_rating
|
||||||
);
|
);
|
||||||
e107::getEvent()->trigger('user_rate_sent', $edata);
|
e107::getEvent()->trigger('user_rate_submitted', $edata);
|
||||||
return RATELAN_3."|".$this->renderVotes($new_votes,$statR); // Thank you for your vote.
|
return RATELAN_3."|".$this->renderVotes($new_votes,$statR); // Thank you for your vote.
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -589,7 +600,7 @@ class rater
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if($row = $sql->db_Insert("rate", $insert))
|
if($row = $sql->insert("rate", $insert))
|
||||||
// if($sql->db_Insert("rate", " 0, '$table', '$itemid', '$rate', '1', '.".$voter.".' "))
|
// if($sql->db_Insert("rate", " 0, '$table', '$itemid', '$rate', '1', '.".$voter.".' "))
|
||||||
{
|
{
|
||||||
$edata = array(
|
$edata = array(
|
||||||
@@ -603,11 +614,11 @@ class rater
|
|||||||
'rate_old_rating' => null,
|
'rate_old_rating' => null,
|
||||||
'rate_new_rating' => $rate
|
'rate_new_rating' => $rate
|
||||||
);
|
);
|
||||||
e107::getEvent()->trigger('user_rate_sent', $edata);
|
e107::getEvent()->trigger('user_rate_submitted', $edata);
|
||||||
|
|
||||||
$stat = ($rate /1)/2;
|
$stat = ($rate /1)/2;
|
||||||
$statR = round($stat,1);
|
$statR = round($stat,1);
|
||||||
return RATELAN_3."|".$this->renderVotes(1,$statR); ; // Thank you for your vote.
|
return RATELAN_3."|".$this->renderVotes(1,$statR); // Thank you for your vote.
|
||||||
}
|
}
|
||||||
elseif(getperms('0'))
|
elseif(getperms('0'))
|
||||||
{
|
{
|
||||||
@@ -615,6 +626,7 @@ class rater
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -672,6 +684,6 @@ class rater
|
|||||||
global $tp, $sql;
|
global $tp, $sql;
|
||||||
$table = $tp->toDB($table, true);
|
$table = $tp->toDB($table, true);
|
||||||
$id = intval($id);
|
$id = intval($id);
|
||||||
return $sql -> db_Delete("rate", "rate_itemid='{$id}' AND rate_table='{$table}'");
|
return $sql -> delete("rate", "rate_itemid='{$id}' AND rate_table='{$table}'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user