Support > cpg1.5.x FAQ (Russian)

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

(1/1)

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

Makc666:

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

--- End quote ---

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

Найти:

--- Code: ---$sql = "SELECT null FROM {$CONFIG['TABLE_VOTES']} WHERE pic_id = $pic AND user_md5_id = '$user_md5_id'";
--- End code ---

После добавить:

--- Code: ---$sql2 = "SELECT null FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid = $pic AND ip = '$raw_ip'";
--- End code ---

Найти:

--- Code: ---$result = cpg_db_query($sql);
--- End code ---

После добавить:

--- Code: ---$result2 = cpg_db_query($sql2);
--- End code ---

Найти:

--- Code: ---if (mysql_num_rows($result)) {
--- End code ---

Заменить на:

--- Code: ---if (mysql_num_rows($result) OR mysql_num_rows($result2)) {
--- End code ---

Найти:

--- Code: ---mysql_free_result($result);
--- End code ---

После добавить:

--- Code: ---mysql_free_result($result2);
--- End code ---

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

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

--- Code: ---
if (!(USER_CAN_RATE_PICTURES && $CURRENT_ALBUM_DATA['votes'] == 'YES')) {
--- End code ---

ПЕРЕД добавить:

--- Code: ---global $raw_ip;
--- End code ---

Найти:

--- Code: ---$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'");
--- End code ---

После добавить:

--- Code: ---$result2 = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid={$CURRENT_PIC_DATA['pid']} AND ip='$raw_ip'");
--- End code ---

Найти:

--- Code: ---} elseif (!mysql_num_rows($result)) {
--- End code ---

Заменить на:

--- Code: ---} elseif (!mysql_num_rows($result) AND !mysql_num_rows($result2)) {
--- End code ---

Всё.

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

Makc666:

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

--- End quote ---
Выложите в архиве измененные Вами файлы:

* ./ratepic.php
* ./include/themes.inc.php

Navigation

[0] Message Index

Go to full version