Голосование за фото в Coppermine Gallery с проверкой IP Голосование за фото в Coppermine Gallery с проверкой IP
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Голосование за фото в Coppermine Gallery с проверкой IP

Started by BLACKSnake, October 29, 2010, 11:21:49 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

BLACKSnake

Можно ли сделать так, чтобы с одного IP возможно было проголосовать только один раз?

Makc666

Quote from: BLACKSnake on October 29, 2010, 11:21:49 AM
Можно ли сделать так, чтобы с одного IP возможно было проголосовать только один раз?

Открыть:
./ratepic.php

Найти:
$sql = "SELECT null FROM {$CONFIG['TABLE_VOTES']} WHERE pic_id = $pic AND user_md5_id = '$user_md5_id'";

После добавить:
$sql2 = "SELECT null FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid = $pic AND ip = '$raw_ip'";

Найти:
$result = cpg_db_query($sql);

После добавить:
$result2 = cpg_db_query($sql2);

Найти:
if (mysql_num_rows($result)) {

Заменить на:
if (mysql_num_rows($result) OR mysql_num_rows($result2)) {

Найти:
mysql_free_result($result);

После добавить:
mysql_free_result($result2);

Открыть:
./include/themes.inc.php

Найти: (обратите внимание на пустую строку перед искомым кодом)


if (!(USER_CAN_RATE_PICTURES && $CURRENT_ALBUM_DATA['votes'] == 'YES')) {


ПЕРЕД добавить:
global $raw_ip;

Найти:
$result = cpg_db_query("SELECT pic_id FROM {$CONFIG['TABLE_VOTES']} WHERE pic_id={$CURRENT_PIC_DATA['pid']} AND user_md5_id='$user_md5_id'");

После добавить:
$result2 = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid={$CURRENT_PIC_DATA['pid']} AND ip='$raw_ip'");

Найти:
} elseif (!mysql_num_rows($result)) {

Заменить на:
} elseif (!mysql_num_rows($result) AND !mysql_num_rows($result2)) {

Всё.

BLACKSnake

Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.

Makc666

Quote from: BLACKSnake on November 08, 2010, 09:54:36 AM
Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.
Выложите в архиве измененные Вами файлы:

  • ./ratepic.php
  • ./include/themes.inc.php