Новости Joomla

Обновление пакета плагинов JL Like 5.0

Обновление пакета плагинов  JL Like 5.0

Обновление пакета плагинов JL Like 5.0.0Команда JoomLine рада представить долгожданное обновление плагина социальных кнопок JL Like — версию 5.0.0! В этом релизе мы сделали акцент на совместимости с последними версиями Joomla, улучшении производительности и расширении функционала.👩‍💻 Что нового в JL Like 5.0.0?- Полная совместимость с Joomla 5 — теперь плагин работает на всех актуальных версиях Joomla, включая Joomla 5.- Рефакторинг и оптимизация кода — проведена масштабная чистка и обновление внутренних классов для повышения стабильности и скорости работы.- Удаление устаревших зависимостей — полностью отказались от использования jQuery, что ускорило загрузку страниц и повысило безопасность.- Обновление CSS и удаление неиспользуемых стилей — интерфейс стал еще легче и современнее.- Удалена поддержка устаревших виджетов — например, функциональность твиттер-виджета вынесена из плагина.- Поддержка twitter:card — улучшена интеграция с социальными сетями для красивого отображения ссылок.- Гибкая настройка счетчиков лайков — теперь можно включать и отключать рандомизацию количества лайков.- Улучшено подключение скриптов — переход на WebAssetManager для более корректной работы с ресурсами.- Обновлены языковые переменныеРасширения всё ещё наследуют старую архитектуру плагинов Joomla 3, но были протестированы на Joomla 5.3.Новость на сайте JoomlineСтраница расширенияGitHub расширения@joomlafeed#расширения

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
какой плагин качать то надо ? и что это за вложения в 33 посте ?
можно по подробней что и куда

Вынес в отдельную тему, чтобы не сбивать с толку посетителей темы, созданной ART-DELI

РЕШЕНИЕ для 1.5.6.3 - блокировка повторного голосования по IP или куки - плагин (обновлён) + небольшой хак

Переключение режимов IP-куки производится в настройках плагина (через менеджер плагинов)

Конечно, если в браузере пользователя стоит очищать куки при выходе (как у меня например  ;D) то куки тоже не помогут.

Имеет в бОльшей степени смысл, если разрешено голосование для незарегистрированных, так как для зарегистрированных там есть проверка по userid.

Хотя работает для обоих вариантов, причём как для обычного, так и для AJAX-голосования.

Если разрешено голосование для незарегистрированных пользователей - плагин не даёт проголосовать с тем же IP за ту же фотографию.

Если разрешено голосование только для зарегистрированных пользователей, то сначала срабатывает имеющаяся проверка по userid.
Далее - если userid другой, то другому зарегистрированному пользователю с тем же IP не даёт проголосовать уже плагин.

Выводится сообщение "Оценка не засчитана: Вы можете отдать свою оценку только один раз."
Повторно голос в базу не пишется.


Хотелось сделать малой кровью, плагином, используя привязку к событиям галереи (описание на сайте разработчика ).
К сожалению, не получилось без небольшого хака, поскольку у разработчика закрались явные ошибки в описании события onJoomBeforeVote (хотя в целом набор событий впечатляет - многое можно решить плагинами).


Итак, что нужно сделать:

Устанавливаем и публикуем плагинчик, в настройках плагина выбираем нужный режим (по IP или по куки)


+ в файле components\com_joomgallery\models\vote.php вставляем в районе строки 172 (перед комментарием // Trigger event 'onJoomBeforeVote'):

Код
$row->picid = $this->_id;    $row->userip = $_SERVER['REMOTE_ADDR'];

Больше ничего не требуется для первого варианта.



Ещё один вариант - для более детальной проверки (не только IP, на случай, если на одном IP сидит не один пользователь) можно немного изменить хак, вместо

Код
$row->userip = $_SERVER['REMOTE_ADDR'];

сделать например так:

Код
$row->userip    = $_SERVER['REMOTE_ADDR'].'-'.gethostbyaddr($_SERVER['REMOTE_ADDR']).'-'.$_SERVER['HTTP_USER_AGENT'];

И далее в components\com_joomgallery\models\vote.php в строке 201 - то же самое.

Единственное ещё - в базе в таблице #__joomgallery_votes увеличить размер поля userip - дефолтное там varchar(15)

[вложение удалено Администратором]
« Последнее редактирование: 25.02.2011, 22:10:15 от SDKiller »
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0
varchar(15) на что изменить надо
И где искать установленій плагин ? в плагинах Joomla или в самой JoomGallery
« Последнее редактирование: 25.02.2011, 15:58:10 от ArtTeam »
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
varchar(15) на что изменить надо

Можно varchar(255)

Цитировать
И где искать установленій плагин ? в плагинах Joomla или в самой JoomGallery

В админке в менеджере плагинов Joomla
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0
« Последнее редактирование: 25.02.2011, 17:06:26 от ArtTeam »
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
У меня работает.
В таблице #__joomgallery_votes в поле userip что пишется?
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0
У меня работает.
В таблице #__joomgallery_votes в поле userip что пишется?
спасибо вроде уже все работает, а есть ли ограничение на количество голосов  varchar(255)
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
а есть ли ограничение на количество голосов  varchar(255)

Не совсем понял вопрос.
С включённым плагином у нас получается ограничение - один голос на одного проголосовавшего
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0
при varchar(255) какое количество человек сможет голосовать ? 1000, 2000, ?
и как я понимаю при втором хаке динамичный айпи уже не помогает, получается привязка идет к  браузеру.
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
при varchar(255) какое количество человек сможет голосовать ? 1000, 2000, ?

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

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

С динамическим IP при обоих вариантах ничего не поделаешь.
При 2-м варианте привязка идёт комплексная по нескольким характеристикам, сделано это наоборот чтобы не отсеивать по IP других пользователей.
С другой стороны, при привязке только к USER_AGENT возможны совпадения этого параметра у разных пользователей.

Для динамического IP вариант только через куки.
Сделаю попозже и такой.
« Последнее редактирование: 25.02.2011, 20:28:19 от SDKiller »
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0
Цитировать
Для динамического IP вариант только через куки.
Сделаю попозже и такой.
А когда планируете это осуществить ?
*

Beer

  • Moderator
  • 1103
  • 43 / 1
  • БИРУ - БИР!
Поставил по первому варианту - все работает путем!
SDKiller +1

Сделай пожалуйста кнопочку под фото для просмотра проголосовавших и поставленных ими оценок!
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
А когда планируете это осуществить ?

Сделал. Обновил файл плагина в первом посте.
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0

Цитировать
Конечно, если в браузере пользователя стоит очищать куки при выходе (как у меня например  Grin) то куки тоже не помогут.
А как же тогда лучше провести фото голосование ?
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
А как же тогда лучше провести фото голосование ?

Ну что поделать )))

Захотят накрутить - накрутят.
Есть ведь ещё прокси-анонимайзеры, а еще бывают проги для подмены не только IP, но и user_agent и даже MAC-адреса сетевой карты.
А ещё есть буксы и САР, где люди за 1-3 цента покупают голоса.
*

cry_wolf

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
большое спасиба работает от повторного голосавание теперь остался вопрос если ставлю по кукам то я раз в сутки могу с одного компа голосовать за одну фотографию.... Тоже самое условие таже соблюдается и для зарегестрированых пользывателей...
« Последнее редактирование: 01.03.2011, 22:02:15 от cry_wolf »
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Второй способ не работает у меня.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Второй способ не работает у меня.

Конкретнее. Я сам уже в способах запутался )))
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Ещё один вариант - для более детальной проверки (не только IP, на случай, если на одном IP сидит не один пользователь) можно немного изменить хак, вместо
Вот  этот. Делаю все как написано, и по IP не блокирует голосованиею
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Вот  этот. Делаю все как написано, и по IP не блокирует голосованиею
Посмотрите в таблице #__joomgallery_votes - какие значения записываются в поле userip

Спасибо, все отлично работает! Вот бы еще сделать, чтобы после голоса форма голосования пряталась, а вместо нее надпись типа "Ваш голос принят и тп." Было бы совсем хорошо!
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Вот бы еще сделать, чтобы после голоса форма голосования пряталась
В принципе это можно сделать на уровне шаблона с помощью js, назначив для кнопки голосования событие, по которому для формы голосования будет назначаться style.display="none"
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0
SDKiller
А вы не могли бы добавить для голосования подтверждения по e-mail
Чтобы когда  проголосовал за фото ему на почту приходила ссылка для подтверждения голоса и тока после подтверждения голос был учтен.
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
SDKiller
А вы не могли бы добавить для голосования подтверждения по e-mail
Чтобы когда  проголосовал за фото ему на почту приходила ссылка для подтверждения голоса и тока после подтверждения голос был учтен.

Навскидку такое плагином не решить.
То есть отправку на email можно сделать плагином, а вот учёт голоса после подтверждения - это уже надо компонент ковырять
*

ArtTeam

  • Захожу иногда
  • 186
  • 0 / 0
Навскидку такое плагином не решить.
То есть отправку на email можно сделать плагином, а вот учёт голоса после подтверждения - это уже надо компонент ковырять
Так єту проблему что не как не решить ?
И как можно для оценки прикрутить капчу ?

*

Beer

  • Moderator
  • 1103
  • 43 / 1
  • БИРУ - БИР!
 Как запретить юзеру голосовать за свою же фотку?
*

masyanya

  • Новичок
  • 3
  • 0 / 0
Подскажите, пожалуйста, как сделать, чтобы пользователь мог голосовать только 1 раз и только 1 фото?
*

ziArt

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Как сделать активным сразу два варианта зашиты и по айпи и куки?
*

Sharks_andron

  • Захожу иногда
  • 67
  • 1 / 0
Спасибо за труды.
Первый вариант применил - понравилось, посмотрим и дальше как будет.

*

quexx

  • Новичок
  • 6
  • 0 / 0
Удалили меня что-то.. стало быть давно отсутствовал. Но не об этом..
Подскажите, пожалуйста, как сделать, чтобы пользователь мог голосовать только 1 раз и только 1 фото?
Дак оно так и есть.. или я чего-то не понял..?
Как сделать активным сразу два варианта зашиты и по айпи и куки?
Вот и у меня такая же проблема, то у кого-то куки каждый раз сбрасываются, то не возможно по IP проверить.. Думаю стоит дописать плагин третьим вариантом где можно выбрать IP+cookie сразу же.. Никто не против если я доделаю как будет минутка и сюда положу?
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Да ради бога, заодно можете обновить под новую версию JG
Я давно не следил за её обновлениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с дублем страниц в JoomGallery 3.4

Автор qvagin

Ответов: 3
Просмотров: 3459
Последний ответ 23.01.2023, 13:30:08
от e2
Стили раскладки фото в JoomGallery (masonry и mosaic)

Автор marbert

Ответов: 4
Просмотров: 2557
Последний ответ 22.11.2022, 06:28:20
от marbert
JoomGallery 3.6.0 если отсутствует поле Название при редактировании фотографии

Автор Beer

Ответов: 0
Просмотров: 2600
Последний ответ 09.09.2022, 20:07:49
от Beer
После обновления до JoomGallery 3.6 некорректно работает водяной знак

Автор Maffo

Ответов: 3
Просмотров: 2470
Последний ответ 23.08.2022, 06:21:58
от marksetter
j3.8.13 + JoomGallery 3.3.4 = RuntimeException: Недопустимое поле: cid

Автор Sergeych

Ответов: 7
Просмотров: 4810
Последний ответ 22.03.2021, 17:24:59
от Gammy2005