Новости Joomla

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

Girevik

  • Захожу иногда
  • 360
  • 1 / 1
вирус на сайте
« : 26.02.2012, 23:10:39 »
Сайт существует уже 3й год и вот на нем обнаружился вирус. Антивирус выдает что сайт пытается запустить скрипт с другого адреса (скрин ответа антивируса прилагаю).
Но в коде такого адреса не нашел. Вирус обнаружился недавно.
Где искать дыру?

[вложение удалено Администратором]
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: вирус на сайте
« Ответ #1 : 26.02.2012, 23:34:26 »
ну так и ищите по фтп слова "имя вируса" и сам скрипт
*

Girevik

  • Захожу иногда
  • 360
  • 1 / 1
Re: вирус на сайте
« Ответ #2 : 26.02.2012, 23:56:21 »
ничего подобного не находит.
*

Girevik

  • Захожу иногда
  • 360
  • 1 / 1
Re: вирус на сайте
« Ответ #3 : 27.02.2012, 00:12:39 »
проверил остальные сайты на других хостингах - тоже заражены. Значит скорее всего все прошло с моего компа. пароли фтп в принципе, храню в тотал командере (обычно на своем компе вирусов не вожу..)
НО по фтп файлы проверяю - все чисто..
Что могли натворить?
как-то можно проверить, может в базе чего?
*

wishlight

  • Гуру
  • 5059
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
Re: вирус на сайте
« Ответ #4 : 27.02.2012, 00:29:35 »
Нод не сильно хороший антивирус. AVPTool проверьте пк.

Я так понял, что с сайта на скриншоте вирус подгружается и вставлен в код вашего сайта. Или это ваш сайт?
*

Girevik

  • Захожу иногда
  • 360
  • 1 / 1
Re: вирус на сайте
« Ответ #5 : 27.02.2012, 09:04:33 »
это происходит при открытии моего сайта, а вот адрес на скриншоте левый
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: вирус на сайте
« Ответ #6 : 27.02.2012, 13:28:41 »
это происходит при открытии моего сайта, а вот адрес на скриншоте левый

Что значит левый?Может компонент/модуль какой то тянет скрипт?
*

Girevik

  • Захожу иногда
  • 360
  • 1 / 1
Re: вирус на сайте
« Ответ #7 : 27.02.2012, 13:36:12 »
до этого не было. На хостинге админу сказали, что нашли много файлов js  с "вражеским" кодом. Как теперь все это починить?
Источником вируса считаю свой комп, т.к бы вирус и пароли от фтп хранились в тотал командере.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: вирус на сайте
« Ответ #8 : 27.02.2012, 13:55:24 »
Не испытал на себе,но в сети есть инфа,что в тотал командере не рекомендуют хранить пароли.
Цитировать
Как теперь все это починить?
Восстановить бекап,где нет вируса.Или перезалить файлы Joomla
*

asdf27

  • Захожу иногда
  • 120
  • 7 / 0
Re: вирус на сайте
« Ответ #9 : 27.02.2012, 18:27:13 »
Не помню, чья разработка, но штука полезная - поиск текста в файлах сайта. Заливаете в корень, заходите.

Попробуйте поискать такие куски:

eval(base64_decode
слова из того url
frame
iframe
http://

Или напишите в icq 8178914, вместе поищем. Но с вас маленькая благодарность... (не $)

[вложение удалено Администратором]
*

Girevik

  • Захожу иногда
  • 360
  • 1 / 1
Re: Вирус на сайте
« Ответ #10 : 30.06.2013, 21:31:10 »
Не помню, чья разработка, но штука полезная - поиск текста в файлах сайта. Заливаете в корень, заходите.

Попробуйте поискать такие куски:

eval(base64_decode
слова из того url
frame
iframe
http://

Или напишите в icq 8178914, вместе поищем. Но с вас маленькая благодарность... (не $)
а в чем разница с обычным поиском по файлам сайта?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На сайте правая колонна ушла в низ

Автор vityavoluevich

Ответов: 3
Просмотров: 2225
Последний ответ 27.10.2023, 08:45:48
от vityavoluevich
Каков ваш заработок на сайте?возможно ли пролететь и создать не прибыльный сайт?

Автор bedalex

Ответов: 3
Просмотров: 4985
Последний ответ 05.06.2023, 11:00:40
от Ритулька88
Кто логинился на сайте

Автор sosny

Ответов: 6
Просмотров: 1611
Последний ответ 24.11.2017, 10:04:41
от sosny
Не отображаются материалы и ссылки на сайте (joomla 1.5)

Автор МарияЛ

Ответов: 1
Просмотров: 1772
Последний ответ 18.03.2017, 19:22:31
от rebus
Странно ведут себя ссылки на сайте

Автор Tugoff

Ответов: 4
Просмотров: 1605
Последний ответ 16.02.2016, 17:59:41
от Tugoff