Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Изменение системы голосования  (Read 13519 times)

0 Members and 1 Guest are viewing this topic.

D.Kalessky

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 51
Изменение системы голосования
« on: December 04, 2009, 09:01:21 am »

Всем привет!
Прошу помощи в изменении встроенной системы голосования. Готовое решение найти не смог.

Для проведения фотоконкурсов всем участникам хотелось бы:
1. Возможность выставления оценки только одной фотке в указанном альбоме\категории.
2. Ограничение самих оценок только одной: "голосовать" (сейчас с 0 до 5)

Кто возьмется помочь? Заранее спасибо!
« Last Edit: February 01, 2010, 10:12:47 pm by Makc666 »
Logged

D.Kalessky

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 51
Re: Изменение системы голосования
« Reply #1 on: January 25, 2010, 11:50:15 am »

упс... что-то с кодировочкой глюк.
повторно прошу помощи в изменении системы голосования за фотки. хотелось бы сделать по принципу- только один голос за одну фотку в альбоме.
CPG 1.4.18
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Изменение системы голосования
« Reply #2 on: February 01, 2010, 11:40:21 pm »

Про кодировку - не используйте на этом форуме Internet Explorer.
http://forum.coppermine-gallery.net/index.php/topic,37805.0.html

По теме.

Открыть файл:
ratepic.php

Найти строку:
Code: [Select]
if (!empty($user) && $user==$owner && !USER_IS_ADMIN) cpg_die(ERROR, $lang_rate_pic_php['forbidden'], __FILE__, __LINE__);
После встаить код:
Code: [Select]
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__);
    }
}

В коде выше ошибка
Code: [Select]
$lang_rate_pic_php['already_rated']означает, что в данном альбоме вы уже голосовали.
Поэтому её можно изменить на свою через языковый файл.





Logged

D.Kalessky

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 51
Re: Изменение системы голосования
« Reply #3 on: February 02, 2010, 07:36:25 am »

Makc666, спасибо!
На сколько я понял, эти изменения позволяют голосовать только за одну фотку в альбоме. А каким образом ограничить количество выставляемых оценок и вывод результатов голосования?

чуть подробнее поясню чего я хочу добиться:
1. возможность проголосовать только за одну фотку. -выполнено.
2. выставляется только одна оценка. сейчас с 0 до 5.
3. поскольку оценка одна, то в результатах голосования хотелось бы видеть не общий балл, а просто количество голосов. возможно этого можно добиться оставлением одной оценки в 1 балл. тогда и получится, что кол-во баллов будет соответсвовать кол-ву проголосовавших. но как этого добиться?
4. возможно ли скрыть результаты голосования для определенной группы участников, но оставив при этом возможность голосовать?
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Изменение системы голосования
« Reply #4 on: February 02, 2010, 02:04:00 pm »

2. выставляется только одна оценка. сейчас с 0 до 5.
В версии 1.5.2+ можно выбирать количество выставляемых звёзд для голосования.

3. поскольку оценка одна, то в результатах голосования хотелось бы видеть не общий балл, а просто количество голосов. возможно этого можно добиться оставлением одной оценки в 1 балл. тогда и получится, что кол-во баллов будет соответсвовать кол-ву проголосовавших. но как этого добиться?
Наверное переходить в будещем на 1.5.2+

4. возможно ли скрыть результаты голосования для определенной группы участников, но оставив при этом возможность голосовать?

D.Kalessky, я уже много раз писал, что на php можно сделать что угодно.
« Last Edit: March 05, 2010, 10:15:46 pm by Makc666 »
Logged

D.Kalessky

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 51
Re: Изменение системы голосования
« Reply #5 on: March 01, 2010, 07:30:50 am »

подскажите, пожалуйста, какая часть кода в CPG 1.4.18 отвечает за оценки, которыми можно оценить фотографии?
спасибо
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Изменение системы голосования
« Reply #6 on: March 04, 2010, 02:43:16 pm »

подскажите, пожалуйста, какая часть кода в CPG 1.4.18 отвечает за оценки, которыми можно оценить фотографии?
спасибо

Отвечает целый файл ratepic.php

Уточните вопрос.
Logged

D.Kalessky

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 51
Re: Изменение системы голосования
« Reply #7 on: March 04, 2010, 02:58:19 pm »

уточняю свой вопрос, хотя он был задан мной несколькими сообщениями выше.
пользователи галереи убедительно просят сделать так, чтоб можно было выставлять только одну оценку фотографии, а не по градации от 0 до 5 баллов, т.е. мне нужна только одна оценка в 1 балл.
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Изменение системы голосования
« Reply #8 on: March 05, 2010, 10:36:13 pm »

уточняю свой вопрос, хотя он был задан мной несколькими сообщениями выше.
пользователи галереи убедительно просят сделать так, чтоб можно было выставлять только одну оценку фотографии, а не по градации от 0 до 5 баллов, т.е. мне нужна только одна оценка в 1 балл.

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

2. Найти:
Code: [Select]
$rate = min($rate, 5);
$rate = max($rate, 0);

3. Заменить на:
Code: [Select]
$rate = min($rate, 1);
$rate = max($rate, 1);

4. Открыть:
themes.inc.php

5. В свою тему скопировать функцию:
Code: [Select]
$template_image_rating = <<<EOT
6. В скопированном коде удалить или закомментировать срочки отвечающие за звезды 0, 2, 3, 4, 5.
Т.е должна остаться только срока, начинающаяся на:
Code: [Select]
<td class="tableb_compact" width="17%" align="center"><a href="{RATE1}" title="{POOR}" rel="nofollow"><img src="{LOCATION}images/rating1.gif
7. В данной строке можно подправить перевод для фрагмента:
title="{POOR}"

К примеру, заменить на:
title="{TITLE}"

8. Можно заменить изображение /images/rating1.gif на какое-нибудь другое.
Logged

D.Kalessky

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 51
Re: Изменение системы голосования
« Reply #9 on: March 09, 2010, 09:31:27 am »

Makc666, спасибо!
После внесенных изменений все более менее стало похоже на то, что хотел.
Но еще вопросик есть. Сейчас в альбоме показывается рейтинг фоток так: текущий рейтинг: 1 / 5 - Голосов: 1) Как оставить только количество проголосовавших? т.е. убрать 1 / 5 и оставить только Голосов: 1 ?
В очередной раз спасибо!
Logged

D.Kalessky

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 51
Re: Изменение системы голосования
« Reply #10 on: March 09, 2010, 09:38:17 am »

с предыдущим вопросом разобрался сам. спс
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Изменение системы голосования
« Reply #11 on: March 13, 2010, 08:28:16 pm »

с предыдущим вопросом разобрался сам. спс
Если напишите, как разобрались, что нужно делать всегда, то мы будем благодарны!
Logged
Pages: [1]   Go Up
 

Page created in 0.03 seconds with 19 queries.