Форум русской поддержки Joomla!® CMS
11.12.2016, 02:22:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Как разрешить всем посетителям без регистрации ставить рейтинг в PhocaGallery

 (Прочитано 23016 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Roman Petrenko
Moderator
*****

Репутация: +61/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Дизайн без секретов


« : 22.01.2009, 22:57:47 »

Хочу на сайте разрешить всем комментировать изображения и ставить рейтинг в Phoca gallery 2.1.0. А активировать можно для
 
NOBODY
ALL REGISTERED USERS

а как для всех разрешить без регистрации?
Записан
Roman Petrenko
Moderator
*****

Репутация: +61/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Дизайн без секретов


« Ответ #1 : 01.02.2009, 13:46:20 »

Пока никак, читал на форуме разработчика. Может сделает в следующих версиях, но он один работает и не может все охватить. Будем ждать. Smiley
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #2 : 25.05.2009, 22:15:36 »

У меня теже самые задачи.

Ну с комментариями, как я понимаю, разобрались здесь:http://joomlaforum.ru/index.php/topic,52403.0.html

А вот с рейтингом что-нибудь решилось?
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #3 : 26.05.2009, 18:55:36 »

Предлагаю попробовать совместными усилиями "научить" фокагалери принимать рейтинг от незарегестрированных пользователей.

По теории надо просто в коде найти часть отвечающую за проверку пользователя, зарегестрирован он или нет, ну и вырезать ее.

И скорее всего еще надо найти часть кода которая записывает данный при голосовании в БД. так как вполне возможно что там же сразу записывается ид юзера, а так он не зареган возможны ошибки.
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #4 : 26.05.2009, 18:58:10 »

кстати я свой эксперимент буду проводить над версией 2.2.4
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #5 : 26.05.2009, 19:03:51 »

шаг 1.
убираем проверку зерегестрирован пользователь или нет:

D:\com_phocagallery_v2.2.4\front\views\category\tmpl\default_rating.php

вырезаем\комментируем строки с 18 по 42 включительно:
Код:
/* if ($this->tmpl['alreadyrated']) {

echo '<ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><span class="star1"></span></li>';

for ($i = 2;$i < 6;$i++) {
echo '<li><span class="stars'.$i.'"></span></li>';
}
echo '</ul>'
    .'<p>'.JText::_('You have already rated this category').'</p>';

} else if ($this->tmpl['notregistered']) {

echo '<ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><span class="star1"></span></li>';

for ($i = 2;$i < 6;$i++) {
echo '<li><span class="stars'.$i.'"></span></li>';
}
echo '</ul>'
    .'<p>'.JText::_('Only registered and logged in user can rate this category').'</p>';

} else {*/

и 57 строку:
Код:
/* }*/

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


Кстати, при таких действиях перестанет работать проверка повторного голосования юзера, т.к. в фока галери данная проверка реализована не куками или запоминанием IP, а именно записью ID проголосовавшего юзера в БД.
« Последнее редактирование: 26.05.2009, 19:09:58 от Zuev » Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #6 : 26.05.2009, 21:20:14 »

Шаг 2.
в файле \com_phocagallery_v2.2.4\front\controller.php

удаляем\комментируем строки с 492 по 498
Код:
/* $checkUserVote = $model->checkUserVote( $post['catid'], $post['userid'] );

// User has already rated this category
if ($checkUserVote) {
$msg = JText::_('You have already rated this category');
} else {
*/

строку 503
Код:
// if ($user->aid > 0 && $user->id > 0) {
строки с 509 по 514
Код:
/* } else {
$mainframe->redirect(JRoute::_('index.php?option=com_user&view=login', false), JText::_("NOT AUTHORISED TO DO ACTION"));
exit;
}

}
*/
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #7 : 26.05.2009, 21:23:44 »

после этого в галерее голосовать может кто угодно и сколько угодно.

Еще бы конечно убрать вот это самое "сколько угодно".

При первых проверках ошибок не выявлено.
« Последнее редактирование: 26.05.2009, 21:26:59 от Zuev » Записан
Roman Petrenko
Moderator
*****

Репутация: +61/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Дизайн без секретов


« Ответ #8 : 18.06.2009, 23:08:03 »

Спасибо за решение +1. Скоро попробую. Smiley
Записан
anis
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 130


« Ответ #9 : 05.08.2009, 13:04:29 »

а для версии 2,5,4 такое возможно???
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #10 : 05.08.2009, 15:02:53 »

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

на данный момент сделал выбор в пользу Datso галери.
Там кстати, как я понял (пока поюзал ее только в демо режиме), могут голосовать незареганные юзеры. ну и естественно стоит фильтр голосовавших, так что она не дает повторно кликать по звездачкам.
Записан
anis
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 130


« Ответ #11 : 05.08.2009, 16:33:21 »

datso не плохая но и не бесплатная
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #12 : 05.08.2009, 20:50:16 »

http://joomlaforum.ru/index.php/topic,71112.0.html
вот тут ребята делятся датсогалери.
если что это не я писал
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #13 : 06.08.2009, 21:23:35 »

первая часть описана здесь: http://joomlaforum.ru/index.php/topic,52912.0.html

Но как говорится начнем с самого начала.
Итак, задачи:
1. что бы незареганные юзеры могли голосовать.
2. фильтр голосовавших по ИП.

за основу берем фока галери 2.5.5
пример голосовалки с фильтром по ип беру с плагина extravote.

Если кто примет участие буду рад.
но больше всего буду рад если это кому то пригодится, судя по форуму должно пригодиться Smiley
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #14 : 06.08.2009, 21:24:52 »

Поехали.

кусок кода из екстравоте, отвечающий за запись голов в бд, а каже определения голосовал ли этот юзер или нет
Код:
$user_rating    = JRequest::getInt('user_rating');
$cid            = JRequest::getInt('cid');
$xid = JRequest::getVar('xid');

if (($user_rating >= 1) and ($user_rating <= 5)) {
$currip = ( phpversion() <= '4.2.1' ? @getenv( 'REMOTE_ADDR' ) : $_SERVER['REMOTE_ADDR'] );
if ( !(int)$xid ){
$query = "SELECT * FROM #__content_rating WHERE content_id = " . $cid;
$db->setQuery( $query );
$votesdb = $db->loadObject();
if ( !$votesdb ) {
$query = "INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )"
. "\n VALUES ( " . $cid . ", " . $db->Quote( $currip ) . ", " . $user_rating . ", 1 )";
$db->setQuery( $query );
$db->query() or die( $db->stderr() );;
} else {
if ($currip != ($votesdb->lastip)) {
$query = "UPDATE #__content_rating"
. "\n SET rating_count = rating_count + 1, rating_sum = rating_sum + " .   $user_rating . ", lastip = " . $db->Quote( $currip )
. "\n WHERE content_id = " . $cid;
$db->setQuery( $query );
$db->query() or die( $db->stderr() );
} else {
echo 0;
exit();
}
}
} else {
$query = "SELECT * FROM #__content_extravote WHERE content_id=".$cid." AND extra_id=".$xid;
$db->setQuery( $query );
$votesdb = $db->loadObject();
if ( !$votesdb ) {
$query = "INSERT INTO #__content_extravote  (content_id,extra_id,lastip,rating_sum,rating_count)"
. "\n VALUES (".$cid.",".$xid.",".$db->Quote($currip).",".$user_rating.",1)";
$db->setQuery( $query );
$db->query() or die( $db->stderr() );;
} else {
if ($currip != ($votesdb->lastip)) {
$query = "UPDATE #__content_extravote"
. "\n SET rating_count = rating_count + 1, rating_sum = rating_sum + " .  $user_rating . ", lastip = " . $db->Quote( $currip )
. "\n WHERE content_id=".$cid." AND extra_id=".$xid;
$db->setQuery( $query );
$db->query() or die( $db->stderr() );
} else {
echo 0;
exit();
}
}
}
echo 1;
}
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #15 : 06.08.2009, 21:26:32 »

поюзал галери, вернулся к фоке. и как раз вышла новая версия. фока все же лучшая
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #16 : 06.08.2009, 21:39:37 »

теперь надо найти куда этот код воткнуть в фоку
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #17 : 07.08.2009, 13:01:15 »

давайте разберем что к чему в верхнем
коде
Код:
$user_rating    = JRequest::getInt('user_rating');//оценка выставленная юзером
$cid            = JRequest::getInt('cid'); //ИД (в данном случае материала "content ID"), за который ставили оценку
$xid = JRequest::getVar('xid'); //ума не приложу что это

if (($user_rating >= 1) and ($user_rating <= 5)) {//проверяем что бы оценка была в пределах от 1 до 5, страхуемся от сильно умных, которые знают как подправить адрес, так как оценка передается методом гет
$currip = ( phpversion() <= '4.2.1' ? @getenv( 'REMOTE_ADDR' ) : $_SERVER['REMOTE_ADDR'] );//считываем ИП юзера
if ( !(int)$xid ){//опять эта непонятная строка
$query = "SELECT * FROM #__content_rating WHERE content_id = " . $cid;
$db->setQuery( $query );
$votesdb = $db->loadObject();//считываем из таблици райтингов запись с ид текущего материала
if ( !$votesdb ) {//если такой записи в таблице нет, значит за нее голосуют впервые и доп проверка по ип не нужна
$query = "INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )"
. "\n VALUES ( " . $cid . ", " . $db->Quote( $currip ) . ", " . $user_rating . ", 1 )";
$db->setQuery( $query );//записываюм в таблицу рейтингов запись с ИД контента, ИП последнего юзера за него проголосовавшим, общим рейтингом статьи и количество голосов
$db->query() or die( $db->stderr() );;
} else {// если такая запись в таблице существует, т.е. за данный материал голосуют не в первые, то
if ($currip != ($votesdb->lastip)) {//проверяем не равен ли ИП текущего пользователя с ИП последнего пользователя проголосовавшего за данный материал, если не равен, то
$query = "UPDATE #__content_rating"
. "\n SET rating_count = rating_count + 1, rating_sum = rating_sum + " .   $user_rating . ", lastip = " . $db->Quote( $currip )
. "\n WHERE content_id = " . $cid;
$db->setQuery( $query );//заносим последний голос в таблицу
$db->query() or die( $db->stderr() );
} else {//если ИП текущего пользователя равен ИПу последнего пользователя проголосовавшего за данный материал, то

echo 0;
exit();//выходим из функции
}
}
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #18 : 07.08.2009, 13:03:18 »

т.е. получается что один и тот же юзер в принципе может голосоват по нескольку раз, но только ему тогда нужно дождаться пока не проголосует кто-нибудь другой.
В принципе не плохой вариант и мне он подходит, надеюсь что вам тоже
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #19 : 07.08.2009, 13:04:53 »

продолжение эпопеи разрешения голосования незареганным юзерам здесь:http://joomlaforum.ru/index.php/topic,74248.0.html
Записан
anis
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 130


« Ответ #20 : 07.08.2009, 13:43:45 »

так а в фоку куда это прикрутить
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #21 : 07.08.2009, 14:05:35 »

пока работаю над этим, думаю что сегодня до вечера доделаю.
Пока приходится разрываться между решением этой задачи и основной работой
Записан
anis
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 130


« Ответ #22 : 07.08.2009, 14:31:36 »

с нетерпением будем ждать
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #23 : 08.08.2009, 01:16:32 »

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

1.В БД в таблице _phocagallery_votes тип поля userid меняем на varchar(50), до этого оно было int(11). Делается это для того чтобы в него можно было записать ИП юзера.

Кроме того, раз уж полезли в таблицу, предлагаю в таблице fur_phocagallery_votes_statistics изменить тип поля count на int.
Потому что тип эого поля установленный разработчиком ("tinyint(11)"), позволяет проголосовать только 127 юзером, больше голосов он не воспринимает. Эта проблема обсуждалась здесь http://joomlaforum.ru/index.php/topic,72687.0.html.


2. В файле ваш_сайт/components/com_phocagallery/controllers/category.php
- комментируем строку $user =& JFactory::getUser();, она нам больше не нужна, так мы будем работать не с зареганными юзерами.
-Изменили данные переменной $post['userid'] ранее в нее заносились данные из таблицы зареганных юзеров на сайте, теперь в нее заносится ип юзера.
Код:
//$post['userid'] = $user->id;
//вместо ид записываем ип юзера
$post['userid'] = ( phpversion() <= '4.2.1' ? @getenv( 'REMOTE_ADDR' ) : $_SERVER['REMOTE_ADDR'] );
-Комментируем строки которые отвечают залогинился юзер или нет.
Код:
//проверяет заголинился юзер или нет, нам не нужно if ($user->aid > 0 && $user->id > 0) {
if(!$model->rate($post)) {
$msg = JText::_('Error Rating Phoca Gallery');
} else {
$msg = JText::_('Phoca Gallery Rated');
}
/* } else {
$mainframe->redirect(JRoute::_('index.php?option=com_user&view=login', false), JText::_("NOT AUTHORISED TO DO ACTION"));
exit;
}*/

3. В файле ваш_сайт/administrator/components/com_phocagallery/libraries/phocagallery/rate/ratecategory.php
-комеентируем оригинальный запрос к БД, и записываем свой
Код:
function checkUserVote($catid, $userid) {

$db =& JFactory::getDBO();
/*$query = 'SELECT v.id AS id'
    .' FROM #__phocagallery_votes AS v'
    .' WHERE v.catid = '. (int)$catid
//.' AND v.userid = '. (int)$userid;
.' AND v.userid = '. $userid;
$db->setQuery($query, 0, 1);
$checkUserVote = $db->loadObject();*/

$query = "SELECT id FROM `#__phocagallery_votes` WHERE `catid` = '$catid'  AND `userid` = '$userid'";
$db->setQuery($query);
$checkUserVote = $db->loadObject();


if ($checkUserVote) {
return true;
}
return false;
}
Авторский запрос, не смотря ни на какие манипуляции с ним, так и не захотел работать.
Цель данного запроса считать из таблицы строку которая содержала бы ИП юзера и ИД статьи, если такая строка есть, то получается что юзер за данную статью пытается проголосовать дважды.

3.В файле ваш_сайт/components/com_phocagallery/views/category/tmpl
комментируем строки 18-42 и 52
Код:
/* if ($this->tmpl['alreadyrated']) {

echo '<ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><span class="star1"></span></li>';

for ($i = 2;$i < 6;$i++) {
echo '<li><span class="stars'.$i.'"></span></li>';
}
echo '</ul>'
    .'<p>'.JText::_('You have already rated this category').'</p>';

} else if ($this->tmpl['notregistered']) {

echo '<ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><span class="star1"></span></li>';

for ($i = 2;$i < 6;$i++) {
echo '<li><span class="stars'.$i.'"></span></li>';
}
echo '</ul>'
    .'<p>'.JText::_('Only registered and logged in user can rate this category').'</p>';

} else {*/

echo '<ul class="star-rating">'
    .'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><a href="'.$this->tmpl['action'].$amp.'controller=category&task=rate&rating=1&tab='.$this->tmpl['currenttab']['rating'].$this->tmpl['limitstarturl'].'" title="1 '. JText::_('star out of').' 5" class="star1">1</a></li>';

for ($i = 2;$i < 6;$i++) {
echo '<li><a href="'.$this->tmpl['action'].$amp.'controller=category&task=rate&rating='.$i.'&tab='.$this->tmpl['currenttab']['rating'].$this->tmpl['limitstarturl'].'" title="'.$i.' '. JText::_('star out of').' 5" class="stars'.$i.'">'.$i.'</a></li>';
}
echo '</ul>';
// }
?>
Данный код не дает даже попробовать проголосовать если вы не алогинились, вот мы его и комментируем.
об этом уже писалось вот здесь http://joomlaforum.ru/index.php/topic,52912.0.html.

Так вроде это пока все изменения.


[вложение удалено Администратором]
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #24 : 08.08.2009, 01:35:51 »

теперь фока записывает в таблицу phocagallery_votes данные: catid (ид категории) userid(ип юзера, имя я менять не стал, дабы избежать ошибок),    date (дата голоса), rating(оценка), ну и остальное нас не интерисует.

Каждый новый голос добавляет дополнительную строку с этими данными в таблицу. Т.е. один юзер с одним ИП сможет всего один раз проголосовать за конкретную категорию.

И это не всегда хорошо, так многие юзеры ходят в инет через проксик, и это не их вина, а техническое решение провайдера. В принципе это не так кретично если у сайта широкая "географическая" аудитория, а если сайт ориентирован на небольшой городок (например "Токио" Azn ) в котором один-два провайдера, то это проблема.

Поэтому возращаясь к решению предпринятому в екстравоте. там каждый голос не записывается новой строкой в БД. а просто в строке содержащей ИД категории обновляется запись "lastip". т.е. екстравоте запоминает только последний ип.
таким образом там запрещается голосовать за материал несколько раз подряд с одого ип, но если подождать пока проголосуют с другого ип, то можно будет потом еще раз щелкнуть по звездачкам.

Плюсы такого метода, 1. более гуманное отношение к юзерам сидящим под одним прокси-сервером. Какого-же у людей будет разочарование зашедшиг впервый на сайт, попробавших проголосовать, а им "вы уже голосовали".
2.В отличии от записи каждого нового голоса в БД, данный метод не так сильно будет раздувать базу.
« Последнее редактирование: 08.08.2009, 01:50:21 от Zuev » Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #25 : 08.08.2009, 01:37:25 »

Да кстати, в новой версии фоки появилось так же голосование за картинку, до этого доберемся позже, там алгоритм реализации рейтинга такой же как и в категориях.
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #26 : 08.08.2009, 01:42:50 »

На данный момент то что было мною описано уже протестировано и работоспособно. Так что можете проверять. Жду замечаний, предложений, пожеланий.

еще осталось реализовать две задачи, что бы фока запоминала только последний ип, а так же применить все здесь описанное не только к категориям, но и к картинкам.
« Последнее редактирование: 09.08.2009, 13:39:18 от Zuev » Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #27 : 09.08.2009, 13:38:43 »

теперь чтобы разрешить незарегестрированным посетителям голосовать не только за категорию но и за конкретное изображение необходимо проделать то же что делали и с категорией.
Начнем:

1. в файле ваш_сайт/components/com_phocagallery/controllers/detail.php
- комментируем строку 27;
- строку 37 удаляем, вместо нее пишем $post['userid']   = ( phpversion() <= '4.2.1' ? @getenv( 'REMOTE_ADDR' ) : $_SERVER['REMOTE_ADDR'] );
-комментируем строки 58, 64-67.

2. в файле ваш_сайт/components/com_phocagallery/views/detail/tmpl/default_rating.php
-комментируем строки 25-49, 59

3. в файле ваш_сайт/administrator/components/com_phocagallery/libraries/phocagallery/rate/rateimage.php
-изменяем запрос в БД на
      $query = "SELECT id FROM `#__phocagallery_img_votes` WHERE `imgid` = '$imgid'  AND `userid` = '$userid'";
      $db->setQuery($query);
      $checkUserVote = $db->loadObject();

4..В БД в таблице _phocagallery_img_votes тип поля userid меняем на varchar(50), до этого оно было int(11). Делается это для того чтобы в него можно было записать ИП юзера.

Кроме того, раз уж полезли в таблицу, предлагаю в таблице _phocagallery_img_votes_statistics изменить тип поля count на int.
Потому что тип этого поля установленный разработчиком ("tinyint(11)"), позволяет проголосовать только 127 юзером, больше голосов он не воспринимает. Эта проблема обсуждалась здесь http://joomlaforum.ru/index.php/topic,72687.0.html.
 
Вот и все после этого незарегестрированные юзеры могут голосовать за картинки, вдобавок реализована фильтрация по ИП, что бы лешить пользователя возможности голосовать за одну и туже картинку несколько раз.
Записан
Zuev
Давно я тут
****

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 211


В дальнем плавании


« Ответ #28 : 09.08.2009, 13:44:14 »

В прошлом топике забыл прикрепить изменненые файлы.


[вложение удалено Администратором]
Записан
anis
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 130


« Ответ #29 : 10.08.2009, 10:51:38 »

Zuev спасибо огромнейшее все работает как часы.
Но есть несколько моментов в этой новой версии. первое так это то что когда голосуешь за фото, нажав на звездочку открывается еще одно окно с фото (и не очень оно удобно) возможно ли сделать чтоб просто нажав на звездочку сразу шел голос без открытия еще окна с фото. Это было бы очень классно
Записан
Страниц: [1] 2 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet