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: Изменение системы голосования  (Read 13561 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.099 seconds with 19 queries.