Support > cpg1.4.x FAQ (Russian)
Изменение системы голосования
D.Kalessky:
Всем привет!
Прошу помощи в изменении встроенной системы голосования. Готовое решение найти не смог.
Для проведения фотоконкурсов всем участникам хотелось бы:
1. Возможность выставления оценки только одной фотке в указанном альбоме\категории.
2. Ограничение самих оценок только одной: "голосовать" (сейчас с 0 до 5)
Кто возьмется помочь? Заранее спасибо!
D.Kalessky:
упс... что-то с кодировочкой глюк.
повторно прошу помощи в изменении системы голосования за фотки. хотелось бы сделать по принципу- только один голос за одну фотку в альбоме.
CPG 1.4.18
Makc666:
Про кодировку - не используйте на этом форуме Internet Explorer.
http://forum.coppermine-gallery.net/index.php/topic,37805.0.html
По теме.
Открыть файл:
ratepic.php
Найти строку:
--- Code: ---if (!empty($user) && $user==$owner && !USER_IS_ADMIN) cpg_die(ERROR, $lang_rate_pic_php['forbidden'], __FILE__, __LINE__);
--- End code ---
После встаить код:
--- Code: ---if (!(mysql_num_rows($result))){
$sql = "SELECT aid " . "FROM {$CONFIG['TABLE_PICTURES']} " . "WHERE pid = '$pic'";
$result = cpg_db_query($sql);
if (mysql_num_rows($result)){
$row = mysql_fetch_array($result);
$sql = "SELECT pid " . "FROM {$CONFIG['TABLE_PICTURES']} " . "WHERE aid = '$row[aid]'";
$result = cpg_db_query($sql);
if (mysql_num_rows($result)){
while($row = mysql_fetch_array($result)){
$pic_array[] = $row[pid];
}
}
}else{
cpg_die(ERROR, $lang_rate_pic_php['non_exist_ap'], __FILE__, __LINE__);
}
$sql = "SELECT pic_id " . "FROM {$CONFIG['TABLE_VOTES']} " . "WHERE user_md5_id = '$user_md5_id'";
$result = cpg_db_query($sql);
if (mysql_num_rows($result)){
while($row = mysql_fetch_array($result)){
$pic_array_votes[] = $row[pic_id];
}
}
}
foreach ($pic_array_votes as $k=>$v){
if (array_search($v, $pic_array)){
cpg_die(ERROR, $lang_rate_pic_php['already_rated'], __FILE__, __LINE__);
}
}
--- End code ---
В коде выше ошибка
--- Code: ---$lang_rate_pic_php['already_rated']
--- End code ---
означает, что в данном альбоме вы уже голосовали.
Поэтому её можно изменить на свою через языковый файл.
D.Kalessky:
Makc666, спасибо!
На сколько я понял, эти изменения позволяют голосовать только за одну фотку в альбоме. А каким образом ограничить количество выставляемых оценок и вывод результатов голосования?
чуть подробнее поясню чего я хочу добиться:
1. возможность проголосовать только за одну фотку. -выполнено.
2. выставляется только одна оценка. сейчас с 0 до 5.
3. поскольку оценка одна, то в результатах голосования хотелось бы видеть не общий балл, а просто количество голосов. возможно этого можно добиться оставлением одной оценки в 1 балл. тогда и получится, что кол-во баллов будет соответсвовать кол-ву проголосовавших. но как этого добиться?
4. возможно ли скрыть результаты голосования для определенной группы участников, но оставив при этом возможность голосовать?
Makc666:
--- Quote from: D.Kalessky on February 02, 2010, 07:36:25 am ---2. выставляется только одна оценка. сейчас с 0 до 5.
--- End quote ---
В версии 1.5.2+ можно выбирать количество выставляемых звёзд для голосования.
--- Quote from: D.Kalessky on February 02, 2010, 07:36:25 am ---3. поскольку оценка одна, то в результатах голосования хотелось бы видеть не общий балл, а просто количество голосов. возможно этого можно добиться оставлением одной оценки в 1 балл. тогда и получится, что кол-во баллов будет соответсвовать кол-ву проголосовавших. но как этого добиться?
--- End quote ---
Наверное переходить в будещем на 1.5.2+
--- Quote from: D.Kalessky on February 02, 2010, 07:36:25 am ---4. возможно ли скрыть результаты голосования для определенной группы участников, но оставив при этом возможность голосовать?
--- End quote ---
D.Kalessky, я уже много раз писал, что на php можно сделать что угодно.
Navigation
[0] Message Index
[#] Next page
Go to full version