Новости Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#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 Гость просматривают эту тему.
  • 91 Ответов
  • 63976 Просмотров
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
jHackGuard - интересный плагин от SiteGround, позволяющий существенно повысить безопасность сайта. HackGuard обеспечивает защиту от взлома как то: SQL инъекции, удаленные включения URL/файлов, удаленное выполнение кода, а также защиту от XSS атак.

Страничка на Joomla Extensions Directory
Страница разработчика (англ.яз.) - для скачивания плагина нужно указывать e-mail и данные

Последние актуальные версии:
Joomla 2.5 / 3.0:
скачать Версия: 1.4.0 - работает на Joomla 3.0
скачать Версия: 1.3.4
скачать Версия: 1.2.2
Ранние версии:
скачать Версия: 1.2.1 - Joomla 1.7
скачать Версия: 1.0.9 - Joomla 1.5

[spoiler title=Добавление плагином внешней ссылки на фронте сайта]
Плагин по умолчанию добавляет в футере сайта одну внешнюю ссылку на сайт разработчика, что не приведет в восторг SEO специалистов.
Эту коварную ссылку добавляет следующая функция в коде плагина:
Код: php
   function onAfterRender() {
    if (JRequest::getVar('view') == 'featured' AND $this->pluginParams->get('link_back_sg',1)) {
                        $output = JResponse::getBody();
                        if (!(preg_match("/sgfooter/", $output))) {
                                $pattern = '/<\/body>/';
                                $replacement = "<center><span class='modifydate' id='sgfooter' style='padding: 5px;'>Extensions by Siteground <a title='Joomla hosting by SiteGround' href='http://www.siteground.com/joomla-hosting.htm'>Joomla hosting</a></span><center></body>";
                                $output = preg_replace($pattern, $replacement, $output, 1);
                        }
                        JResponse::setBody($output);
                }
    }

По умолчанию я удалил эту фунцию из обоих дистрибутивов - можете скачивать по ссылкам выше "чистенькие" плагины.
[/spoiler]

Надеюсь, данный плагин повысит безопасность ваших сайтов и избавит от головной боли.


Внимание! Некорректная настройка плагина может привести к неработоспособности функционала или админ.панели сайта! Устанавливая и настраивая плагин, вы берете на себя всю ответственность. Читайте описание по настройке на странице разработчика.


[spoiler title=Changelog версий (англ.)]

   Version 1.4.0
    Added Joomla 3.0 support.

   Version 1.3.4
    Fixed bug with the file upload filter check.

   Version 1.3.3
    Plugin now can be updated via the internal Joomla auto update system.

   Version 1.3.2
    A brand new "Strict XSS Mode" section has been added in the plugin configuration page.
    Location.href will now be filtered when strict mode is enabled.
    String.fromCharCode will now be filtered when strict mode is enabled.
    Input keys will now be scanned as well (only values were scanned previously) for malicious characters. This might cause issues with 3rd party extensions and as such, a separate option is added to the plugin control panel, which allows you to enable/disable this behavior.
    Plugin will now strip PHP and HTML code from the user-agent variable, preventing possible attacks.
    All SQL injection rules will now check the context in which they are used and keywords will no longer be stripped from normal sentences.
    "Union", "and", "or", "select", "update" and "delete" keywords are now properly detected when URL encoded characters are used (e.g. %6F/%4F and %72/%52 for "or").
    File uploads are disabled for guest users. Members and administrators will still be able to upload files without any problems. A control panel option for this feature has been added as well, in case a 3rd party extension requires guests to be able to upload files.
    Eval() and base64_decode() functions match is now case-insensitive and will trigger properly.
    Fixed a bug in the php.ini file lock obtaining logic. The plugin will now sleep for 0ms - 100ms and will try a maximum of 15 times to obtain a lock on that particular file.
[/spoiler]
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Давно им пользуюсь - полезная штука. НО... Если, что-то вдруг на сайте не так - ЭТО - первый кандидат на отлов глюков.

Например: Jcomments не работал для Гостей (CAPTCHA включена) - решилось отключением Filter_Post
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Давно им пользуюсь - полезная штука. НО... Если, что-то вдруг на сайте не так - ЭТО - первый кандидат на отлов глюков.

Например: Jcomments не работал для Гостей (CAPTCHA включена) - решилось отключением Filter_Post
Да, у меня при сохранении в админке модуля FlexxiCustom module очищалось поле с Google maps  кодом. Выяснилось, что причина в настройке jHackGuard - настройка Filter $_Post. Так что нужно аккуратно использовать плагин.
*

enigmatic

  • Новичок
  • 2
  • 0 / 0
У меня вопрос. Настройки нужно выставить так же, как и на изображении?
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
У меня вопрос. Настройки нужно выставить так же, как и на изображении?
Как правило, если все включить, это позволяет добиться максимальной защиты, но есть потенциальная угроза того, что на сайте что-то перестанет работать. Я же выше писал - читайте документацию по настройке.
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Выложил версию jHackGuard 1.2.2 для Joomla 2.5. В настройках есть возможность отключения вывода обратной ссылки на сайт разработчиков (еще с версии 1.2.1).
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

Кто в сапогах

  • Захожу иногда
  • 66
  • 1 / 0
салам! что то у меня сайт после включения плагина выключается. как можно исправить? со всеми галочками игрался, результата ноль, сайт пишет
Код
Fatal error: Call to a member function route() on a non-object in /var/www/v-2091/data/www/malaysia.axis-edu.kz/index.php on line 36
*

AntonivkA

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
аналогично. решение не найдено.
*

Gelik

  • Осваиваюсь на форуме
  • 49
  • 8 / 0
аналогично. решение не найдено.
А register_globals у вас отключен?
Если нет, тогда скорее всего дело в нем, он должен быть отключен
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
А register_globals у вас отключен?
Отключён и всё равно при включении плагина (даже если в нём самом всё отключить), выдаётся ошибка
Цитировать
Fatal error: Call to a member function route() on a non-object in public_html/index.php on line 37

в строках 36-37
Цитировать
// Route the application.
$app->route();

Что-нибудь можно с этим сделать, чтобы плагин заработал?

----------------------------------
Для Apache 2.x в .htaccess прописать
Цитировать
php_value register_globals 0

Если вместо "0" стоит "off" - не срабатывало.
« Последнее редактирование: 14.06.2012, 07:52:58 от Maxum »
*

VasiliO

  • Захожу иногда
  • 69
  • 0 / 0
скачать Версия: 1.0.9 - Joomla 1.5

ребят непонятная ошибка, не ставит во первых, скачал инстал с сайта производителя установил всё ок.

попробовал в жоскую заменить файл jhackguard.php из вашего архива получил ошибку

Fatal error: Call to undefined method JRegistry::loadJSON() in Z:\home\virus_ecocity\www\plugins\system\jhackguard.php on line 54

возвращаю оригинальный файл всё хорошо работает

Закомпилил функцию

function onAfterRender() {
   //Ran only if user has selected to show the link
   if($this->pluginParams->get('link_sg_back',1)){
           if (JRequest::getVar('view') == 'frontpage') {
                  $output = JResponse::getBody();
                  if (!(preg_match("/sgfooter/", $output))) {
                   $pattern = '/<\/body>/';
                   $replacement = "<center><span class='modifydate' id='sgfooter' style='padding: 5px;'><a href='http://www.siteground.com/' target='_blank'>Joomla extensions by Siteground Hosting</a></span></center></body>";
                   $output = preg_replace($pattern, $replacement, $output, 1);
               }

всё заработало если интересно могу выложить архивчик
               JResponse::setBody($output);
               return true;
           }
   }
    }
*

VasiliO

  • Захожу иногда
  • 69
  • 0 / 0
Что то глюк на глюке на 1-ном сайте работает на другом нет притом понять почему не возможно устанавливаю на локалке всё работает на хосте уходит в белый экран пока не удалю jhackguard.php не могу зайти в админку просто белый экран ! что делать кто сталкивался?


Для Apache 2.x в .htaccess прописать
Если вместо "0" стоит "off" - не срабатывало.


непомогло
« Последнее редактирование: 22.06.2012, 10:29:39 от VasiliO »
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Вопрос актуальности плагина?
Есть статистика по взлому сайтов на Joomla? Применения  SQL инъекций, удаленного включения URL/файлов, удаленного выполнение кода, XSS атак.
Или как в том анекдоте одевала монашка презерватив на свечку.
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Вопрос актуальности плагина?
Есть статистика по взлому сайтов на Joomla? Применения  SQL инъекций, удаленного включения URL/файлов, удаленного выполнение кода, XSS атак.
Или как в том анекдоте одевала монашка презерватив на свечку.
Плагин записывает логи (см.скрин в первом топике)
В новой версии появились новые возможности. Как именно ведутся логи я не смотрел, но это легко поправить - скачай, установи и пощупай плагин.
*

Samovar

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А где установки плагина должны появится? Я его инсталлировал, он в Modul Uninstall появился, но в админке я его найти не могу. В меню Components его не появилось.... нашел.
« Последнее редактирование: 26.08.2012, 14:40:36 от Samovar »
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
А где установки плагина должны появится? Я его инсталлировал, он в Modul Uninstall появился, но в админке я его найти не могу. В меню Components его не появилось.... нашел.
Это плагин, ищите там.
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Добрый вечер. Установил. Настройки по умалчанию. Пишит такую ошибку:
Fatal error: Call to a member function route() on a non-object in /sata1/home/users/..../www/сайт/index.php on line 36
Подскажите как исправить?
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Вышла версия jHackGuard 1.4.0 - теперь работает и на Joomla 3.0. Первый пост обновил - качайте.

В первом посте добавил changelog версий.
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Добрый вечер. Установил. Настройки по умалчанию. Пишит такую ошибку:
Fatal error: Call to a member function route() on a non-object in /sata1/home/users/..../www/сайт/index.php on line 36
Подскажите как исправить?

а меня проигннорили?)))
*

vic65

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Аналогично( Поставил- при включении сайт не загружается.
По поводу актуальности- черезвычайно актуально!

atal error: Call to a member function isAdmin() on a non-object in /........public_html/plugins/system/remember.php on line 48
*

Apple_Buy

  • Захожу иногда
  • 71
  • 1 / 0
  • Истина всегда рядом....
Аналогично( Поставил- при включении сайт не загружается.
По поводу актуальности- черезвычайно актуально!

atal error: Call to a member function isAdmin() on a non-object in /........public_html/plugins/system/remember.php on line 48

Вам необходимо отключить функцию register_globals в настройках php

или как вариант

Необходимо в файле .htaccess указать следующую строку

php_flag register_globals OFF
*

lotosss

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
  • Фрилансер
я бы сказал в конце лучше OFF заменить на 0, чтобы вышло типа того php_flag register_globals 0
*

FLAGG

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
*

freytas11

  • Захожу иногда
  • 83
  • 0 / 0
Лог файл создается автоматически или как?
*

skyrec

  • Захожу иногда
  • 382
  • 10 / 0
  • Люблю я детей !!!
Как он ведет себя с akeeba ?
*

linkin

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Приветствую. у меня возникла такая проблема - установил плагин jHackGuard 1.4.2 для защиты сайта от хакерских атак. но при включении плагина, сайт падает и открывается пустая белая страница. в чем может быть проблема? по отзывам вроде хороший плагин защиты и хотелось бы всётаки его задействовать на сайте
*

wishlight

  • Гуру
  • 5059
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
У меня с 1.4.2 тоже была такая ошибка. Наверно что-то с сервером конфликтует в новой версии. Marco sql стоит пока что.
*

linkin

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
хорошо, что я не одинок в этой проблеме, но есть ли её решение?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При открытии сайта с режима инкогнито перекидывает на вирусный сайт

Автор 62411

Ответов: 6
Просмотров: 2638
Последний ответ 31.03.2024, 16:14:32
от SeBun
Скрипты защиты Joomla 4

Автор mister_boy

Ответов: 6
Просмотров: 3011
Последний ответ 16.05.2023, 16:38:58
от mister_boy
Компоненты и скрипты для защиты сайта. Логи атак на сайты

Автор wishlight

Ответов: 678
Просмотров: 262947
Последний ответ 14.09.2022, 14:29:43
от wishlight
Способы защиты сайта от DDoS атак?

Автор IgorMJ

Ответов: 7
Просмотров: 2392
Последний ответ 05.10.2021, 21:39:26
от ShopES
Новый набег ботов в регистрации сайта... Какой в этом смысл то?

Автор Cedars

Ответов: 11
Просмотров: 2107
Последний ответ 03.11.2020, 17:36:03
от Cedars