Advanced search  

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

Pages: [1]   Go Down

Author Topic: Голосование за фото в Coppermine Gallery с проверкой IP  (Read 8155 times)

0 Members and 1 Guest are viewing this topic.

BLACKSnake

  • Coppermine newbie
  • Offline Offline
  • Posts: 2

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

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

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

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

Найти:
Code: [Select]
$sql = "SELECT null FROM {$CONFIG['TABLE_VOTES']} WHERE pic_id = $pic AND user_md5_id = '$user_md5_id'";
После добавить:
Code: [Select]
$sql2 = "SELECT null FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid = $pic AND ip = '$raw_ip'";
Найти:
Code: [Select]
$result = cpg_db_query($sql);
После добавить:
Code: [Select]
$result2 = cpg_db_query($sql2);
Найти:
Code: [Select]
if (mysql_num_rows($result)) {
Заменить на:
Code: [Select]
if (mysql_num_rows($result) OR mysql_num_rows($result2)) {
Найти:
Code: [Select]
mysql_free_result($result);
После добавить:
Code: [Select]
mysql_free_result($result2);
Открыть:
./include/themes.inc.php

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

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

ПЕРЕД добавить:
Code: [Select]
global $raw_ip;
Найти:
Code: [Select]
$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'");
После добавить:
Code: [Select]
$result2 = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid={$CURRENT_PIC_DATA['pid']} AND ip='$raw_ip'");
Найти:
Code: [Select]
} elseif (!mysql_num_rows($result)) {
Заменить на:
Code: [Select]
} elseif (!mysql_num_rows($result) AND !mysql_num_rows($result2)) {
Всё.
Logged

BLACKSnake

  • Coppermine newbie
  • Offline Offline
  • Posts: 2

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

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.
Выложите в архиве измененные Вами файлы:
  • ./ratepic.php
  • ./include/themes.inc.php
Logged
Pages: [1]   Go Up
 

Page created in 0.023 seconds with 18 queries.