© Сделано на LiveStreet
Дизайн - ©2009 MODx RED Group
<?php
global $modx;
$modx->db->connect();
$pid = $modx->documentIdentifier;
$ip=$_SERVER['REMOTE_ADDR'];
if(($_GET['idm']) and ($_GET['name']=='up'))
{
if((is_numeric($_GET['idm'])) and ($_GET['idm'] > 0)){
$idm=$_GET['idm'];
$idm = mysql_escape_String($idm);
$ips = mysql_query("SELECT ip_add from Voting_IP where mes_id_fk='$idm' and ip_add='$ip'");
$res = mysql_num_rows($ips);
if($res==0)
{
$sql = "UPDATE modx_jot_content set up=up+1 where id='$idm'";
mysql_query( $sql);
$sql1 = "INSERT into Voting_IP (mes_id_fk,ip_add) values ('$idm','$ip')";
mysql_query( $sql1);
$modx->webAlert('Спасибо за Ваш голос','[~'.$pid.'~]');
}
else
{
$modx->webAlert('Вы уже голосовали за этот топик','[~'.$pid.'~]');
}
}
else
{
$modx->webAlert('Что то Вы запрос ручками поменяли!','[~'.$pid.'~]');
}
}
if(($_GET['idm']) and ($_GET['name']=='down'))
{
if((is_numeric($_GET['idm'])) and ($_GET['idm'] > 0)){
$idm=$_GET['idm'];
$idm = mysql_escape_String($idm);
$ip_sql=mysql_query("select ip_add from Voting_IP where mes_id_fk='$idm' and ip_add='$ip'");
$count=mysql_num_rows($ip_sql);
if($count==0)
{
$sql = "update modx_jot_content set down=down+1 where id='$idm'";
mysql_query( $sql);
$sql_in = "insert into Voting_IP (mes_id_fk,ip_add) values ('$idm','$ip')";
mysql_query( $sql_in);
$modx->webAlert('Спасибо за Ваш голос','[~'.$pid.'~]');
}
else
{
$modx->webAlert('Вы уже голосовали за этот топик','[~'.$pid.'~]');
}
}
else
{
$modx->webAlert('Что то Вы запрос ручками поменяли!','[~'.$pid.'~]');
}
}
?><div class='up'><a href="[~[*id*]~]?id=[+comment.id+]&name=up" class="vote" id="[+comment.id+]" name="up"> [+comment.up:wordwrap:esc:nl2br+]</a></div>
<div class='down'><a href="[~[*id*]~]?id=[+comment.id+]&name=down" class="vote" id="[+comment.id+]" name="down">[+comment.down:wordwrap:esc:nl2br+]</a></div><style>
.box1
{
float:left;
height:80px;
width:50px;
}
.up
{
height:20px;
font-size:12px;
text-align:center;
background-color:#009900;
margin-bottom:2px;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
}
.down
{
height:20px;
font-size:12px;
text-align:center;
background-color:#cc0000;
margin-top:2px;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
}
</style>CREATE TABLE Voting_IP(
ip_id INT PRIMARY KEY AUTO_INCREMENT,
mes_id_fk INT,
ip_add VARCHAR(40),
FOREIGN KEY(mes_id_fk)
REFERENCES messages(mes_id));
Комментарии (40)
RSS свернуть / развернутьalooze
Вот так нормально будет?
Zinich66
alooze
Zinich66
если придет нечисловой id в запросе?
alooze
Zinich66
alooze
Zinich66
DustyArt
Zinich66
Vopis
Zinich66
это для лайка/дизлайка документов, нужно создать два поля в modx_site_contents
(int) like
(int) dislike
Hacker
Zinich66
Zinich66
Hacker
Zinich66
Fucktor
Zinich66
код не менял
Paulo
Zinich66
Paulo
Вот верные ссылки:
bezumkin
Zinich66
bezumkin
bezumkin
Добавились два параметра для работы ajax: data-idm="[+comment.id+]" и data-name=«up\down»
Сниппет может обрабатывать голосование и через ajax и обычным $_GET запросом.
bezumkin
че делать?
Lisjann
Что вообще от php приходит? Что в алерте?
bezumkin
вот так вот
Lisjann
Lisjann
Zinich66
Zinich66
фаербаг выдает
хотя гет запрос через аякс проходит и пхп тоже адекватно работает
и вообще что значит это условие я не понял
Lisjann
Lisjann
Lisjann
antonkuzmin
Lisjann
Zinich66
Zinich66
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.