Новости Joomla

Вышли релизы безопасности Joomla 6.1.1 и Joomla 5.4.6

Релиз безопасности Joomla 6.1.1 и Joomla 5.4.6

Проект Joomla! рад сообщить о выходе Joomla 6.1.1 и Joomla 5.4.6. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 3034 Просмотров
*

briz

  • Осваиваюсь на форуме
  • 21
  • 5 / 0
Иногда необходимо, чтобы голосование было доступно только зарегистирированным пользователям.
В версии DG 1.3.9.1 можно сделать так:

1. Заменить if ($ad_showrating) {
.........
}

на код:
"
    if ($ad_showrating) { // вывод таблицы голосования "Рейтинг"
    echo "<form name='ratingform' action='index.php' target='_top' method='post'>";
    echo "<input type='hidden' name='option' value='com_datsogallery' />";
    echo "<input type='hidden' name='Itemid' value='$Itemid' />";
    echo "<input type='hidden' name='func' value='votepic' />";
    echo "<input type='hidden' name='catid' value='$catid' />";
    echo "<input type='hidden' name='id' value='$id' />";
    echo "<table width='100%' border='0' cellspacing='1' cellpadding='3'>"; 
    echo "<tr><td class='sectiontableheader'><strong>". _DG_PICTURE_RATING."</strong></td>\n</tr>\n";

    if (!$my->username) { // если на сайте "Гость"
    echo "<tr><td valign='top' align='center'>". _DG_PLEASE_REGISTER_RATING . "</td>\n</tr>\n";    // здесь новый текст
    }
    echo "<tr><td class='sectiontableentry1' align='center'>";

    if ($my->username) { // если пользователь авторизован
    echo "<table width='450' border='0' cellspacing='0' cellpadding='0'><tr>"; // уменьшил таблицу и поставил ее по центру
    echo "<td align='center'>1 ("._DG_BAD.")</td>\n";

    $selitem = floor($ad_maxvoting / 2) + 1;

    for ($i = 1; $i <= $ad_maxvoting; $i++) {
    echo "<td align='center'><input type='radio' value='$i' name='imgvote'";

    if ($i == $selitem)
    echo " checked='checked'";
    echo " /></td>\n";
    }
    $i--;
    echo "<td align='center'>$i ("._DG_GOOD.")</td>\n<td align='right'>
    <input class='button' type='submit' value='" . _DG_VOTE . "' name='Vote' /></td>\n</tr>\n</table>\n";
    echo "</td>\n</tr>\n";
    echo "</table>\n</form>";
        }
       }
"
2. В файл "russian.php" внести код (примерно следующего содержания):
"
DEFINE('_DG_PLEASE_REGISTER_RATING','Гости не могут голосовать. Пожалуйста, авторизируйтесь или пройдите регистрацию на сайте.');
"
------------
В результате, опция "Голосование" будет доступна только зарегистрированным пользователям.

*

kossmoss

  • Осваиваюсь на форуме
  • 16
  • 2 / 0
  • Слава роботам!
Я делал хак, в целом подобный вышеописанному, но кроме этого, я заменил следующий код в sub_votepic.php:

Код
if($my->username) {
    $vip="$my->username";
    }else{
    $vip = "$ip $host $browser";
    }

на этот:

Код
if($my->username) {
    $vip="$my->username";
    }else{
    echo mosRedirect(sefRelToAbs("$dgurl&func=detail&catid=$catid&id=$id"),  _DG_PLEASE_REGISTER_RATING);
    }

Этот хак не позволит голосовать путем прямой передачи параметров в обработчик голосов из самопальной формы для голосования. В принципе, этот метод способен защищать голосовалку от неавторизованного голосования даже тогда, когда неавторизованному пользователю выводится стандартная форма голосования галереи (хотя для улучшения юзабилити файл sub_viewdetails.php я все же рекомендую подкорректировать, как описано в предыдущем посте: форма голосования не нужна, если неавторизованный пользователь ею не сможет воспользоваться по назначению).

Естественно, этот хак также требует внесения в языковые файлы константы _DG_PLEASE_REGISTER_RATING.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Галерея типо Datso только

Автор MaHBe

Ответов: 0
Просмотров: 2264
Последний ответ 31.03.2013, 18:41:54
от MaHBe
В DatsoGallery показывает только одну картинку

Автор Belverk

Ответов: 10
Просмотров: 2590
Последний ответ 06.02.2013, 15:26:24
от Belverk
Создание альбомов только одной группой пользователей

Автор dialexsav

Ответов: 0
Просмотров: 1927
Последний ответ 08.12.2012, 20:11:17
от dialexsav
Вывод только превью без второстепенных страниц

Автор Aurika

Ответов: 1
Просмотров: 2120
Последний ответ 20.12.2011, 18:19:11
от Aurika
Голосование в DatsoGallery 1.7.1

Автор koreeckz

Ответов: 11
Просмотров: 3909
Последний ответ 17.12.2010, 13:40:19
от Анастасия