coppermine-gallery.com/forum

Support => Русский (Russian) => Language Specific Support => cpg1.5.x FAQ (Russian) => Topic started by: BLACKSnake on October 29, 2010, 11:21:49 AM

Title: Голосование за фото в Coppermine Gallery с проверкой IP
Post by: BLACKSnake on October 29, 2010, 11:21:49 AM
Можно ли сделать так, чтобы с одного IP возможно было проголосовать только один раз?
Title: Re: Голосование за фото в Coppermine Gallery с проверкой IP
Post by: Makc666 on November 04, 2010, 10:57:17 PM
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)) {

Всё.
Title: Re: Голосование за фото в Coppermine Gallery с проверкой IP
Post by: BLACKSnake on November 08, 2010, 09:54:36 AM
Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.
Title: Re: Голосование за фото в Coppermine Gallery с проверкой IP
Post by: Makc666 on November 11, 2010, 06:54:40 PM
Quote from: BLACKSnake on November 08, 2010, 09:54:36 AM
Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.
Выложите в архиве измененные Вами файлы: