Обновить
94.17

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга

Вышла новая версия Quantum Manager - популярного медиа и файлового менеджера под Joomla 4/5. Отличительной особенностью данного релиза является включение в ядро дистрибутива библиотеки lib_fields (ранее тянулась из внешнего источника при установке), а также интеграция с AcyMailing (компонент для e-mail рассылок). Также исправлены некоторые ошибки.

Что нового?

  • [добавлено] - Интеграция с AcyMailing. Это компонент для e-mail рассылок. Теперь можно при формировании писем вызывать медиа поле с Quantum.

  • [изменение] - Библиотека lib_fields, теперь часть пакета. Это позволит поставить компонент локально, без Интернет, а также решает проблему блокировки Github в
    некоторых регионах.

  • [исправлено] - Создание пустых папок при открытии менеджера, когда добавлялась область "Директория поля».

  • [исправлено] - Отображение название областей в конфигурации.

  • [добавлено] - Показывается id наименование области в конфигурации.

Quantum Manager работает на Joomla 4 и Joomla 5 (без плагина обратной совместимости), проверен на PHP 8.2+ и полностью бесплатен.

Работа с Quantum Manager
Работа с Quantum Manager

Ссылки:

Также добро пожаловать в Телеграм чат Joomla для профессионалов.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

WT CDEK library для Joomla

Скриншот настроек в плагине. Joomla 5.1.
Скриншот настроек в плагине. Joomla 5.1.

Небольшая нативная PHP Joomla библиотека для работы с API службы доставки CDEK. Пакет состоит из плагина для хранения настроек, PHP-библиотеки и виджета карты для выбора пунктов выдачи заказа. Поддерживается Joomla 4.2.7 и выше.

Библиотека представляет собой клиент для подключения и авторизации в API CDEK и несколько методов для работы с ним с предварительной проверкой структуры данных, а также обработку ошибок при запросе. Для работы с библиотекой под рукой необходимо иметь официальную документацию CDEK API.

Данное расширение предназначено для Joomla-разработчиков. Они могут использовать его в качестве зависимости при разработке своих расширений для Joomla. Pull Requests welcome со стороны Joomla разработчиков!

В составе библиотеки методы для получения списка ПВЗ, регионов, городов, 2 метода для расчета стоимости доставки и другие.

Виджет выбора типа доставки от CDEK (карта с выбором ПВЗ)

В состав библиотеки включен виджет карты ПВЗ последней на данный момент версии: 3.10.2. Javascript виджета оформлен как Joomla Web Asset. В своём коде подключаем его с помощью WebAssetManager.

По умолчанию в комплекте с виджетом идёт файл service.php, который является точкой входа для ajax-запроса. В данной библиотеке функционал этого файла (получение списка ПВЗ и калькуляции тарифов) перенесён в системный плагин Joomla.

Страница расширения и примеры кода.

GitHub репозиторий WT CDEK Library

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии2

Релиз админ-панели для Laravel MoonShine v.2.16

Вышел новый с кодовым именем "Mystical Wildfire"! Давайте взглянем на самое интересное в этом обновлении!

Фокус скрытых элементов формы

Благодаря @DissNik проблема скрытых элементов формы с атрибутами валидации required,min,max,email,pattern канула в лету.

Подробности в PR

Слайдер изображений

Благодря @djnew был добавлен новый компонент Carousel:

Carousel::make() ->items(['/images/image_2.jpg','/images/image_1.jpg']);

Также добавлена поддержка слайдера изображений для компонентов Card, CardsBuilder.

Подробности в PR

Команда publish с аргументом типа

Возможность указать сразу тип публикации через команду:

php artisan moonshine:publish assets

Доступные типы:

  • assets - ассеты MoonShine

  • assets-template - шаблон для генерации собственной темы

  • layout - основной layout MoonShine

  • favicons - blade view с favicons

  • resources - системные ресурсы (MoonShineUserResource, MoonShineUserRoleResource)

Подробности в PR

Режим onlyLink для BelongsToMany

Подробности в PR

Рубрика BugBusters 🐛

  • MoonShineNotFoundException с report false по умолчанию от @lee-to in PR

  • Внешний вид кнопок в режиме inDropdown от @DissNik in PR

  • Событие submit FormBuilder от @DissNik in PR

  • Проблемы с bulk от @lee-to in PR

https://github.com/moonshine-software/moonshine/compare/2.15.0...2.16.0

Теги:
Всего голосов 5: ↑5 и ↓0+9
Комментарии0

WT Telegram bot - отправка данных из Joomla в Telegram-бота

Вышел комплект плагинов WT Telegram bot, состоящий из 2-х плагинов:

  • WT Telegram bot - основной плагин

  • WT Telegram bot - Content - плагин для материалов Joomla

Плагин WT Telegram bot. Служит для отправки данных в Telegram. В его параметрах указываются токен Telegram API и основной chat id / channel id, куда бот будет отправлять сообщения. Данный плагин сам по себе бесполезен, если вы не Joomla-разработчик. Разработчики могут создавать плагины-провайдеры, которые будут отправлять сообщения с нужными данными. Также разработчики могут отправлять другие chat id в коде, кроме основного. В базе данных хранится таблица связей отправленных сущностей Joomla и id сообщений для каждого чата, что может оказаться полезно при разработке собственных расширений.

Документация и скачать

WT Telegram bot - Content. Плагин позволяет отправлять в Telegram чат или канал материалы из интерфейса Joomla. На данный момент вручную с помощью кнопки на тулбаре в списке статей или при редактировании статьи. Для его работы необходим первый плагин

Документация и скачать

Оба плагина бесплатные. Системные требования: Joomla 4.3+ PHP 8+.

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Приветствую вас, муншайнеры!?

Сегодня мы зарелизили важный патч. Давайте поговорим о том что изменилось

  1. HasMany оптимизирован и теперь страницы где он присутствуют будут работать на 200% быстрее (к сожалению был не очень приятный артефакт из-за которого мы хранили в памяти все формы элементов)

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

  3. Важно Number больше не наследует Text но его поведение не поменялось, тоже самое касается Date и Range

Важно Сегодня в 19-00 по мск будет стрим по нашему любимому MoonShine! Всех жду: https://youtube.com/live/ssxmIDdFv8Y?feature=share

По традиции поговорим про 3 версию MoonShine и я покажу новую структуру проекта, а также взглянем и обсудим последние релизы и патчи.

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

Теги:
Всего голосов 4: ↑3 и ↓1+5
Комментарии0

Генератор плагина для Joomla 4 и Joomla 5

Данный генератор для Joomla-разработчиков помогает создать болванку плагина по структуре файлов и классов Joomla 4 и Joomla 5. Создаётся сервис-провайдер, основной класс плагина, языковые файлы для русского языка.

Созданный плагин будет не совместим с Joomla 3. Также автор генератора предупреждает, что версия Joomla 4 должна быть не ниже 4.4.4, хотя судя по генерируемому коду всё должно быть ОК. В любом случае разработчик разберется что с этим делать и может сэкономить время.

Генератор болванки плагина для Joomla 4 / Joomla 5

Также добро пожаловать в Telegram-чат русскоязычного Joomla сообщества

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Привет всем! ?

Сегодня в 19:00 (мск) у нас запланирован стрим по Moonshine. Обсудим обновления и изменения за последний месяц, а также покажу как проходит работа по MoonShine v3.

Если у вас есть какие-либо вопросы или комментарии по MoonShine, можете задать их сейчас.

Заходите - https://www.youtube.com/watch?v=bM-rgGFnO88 . Будет интересно!

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Профессиональный плагин формы обратной связи Radical Form совместим с Joomla 5

Профессиональный плагин-обработчик форм обратной связи Radical Form получил совместимость с Joomla 5 с релизом 3.1.5. Особенность плагина в том, что он позволяет отправлять абсолютно любые формы: стандартные callback формы, квизы, опросы и т.д., но не предоставляет готового фронтенда.

Такой подход предоставляет разработчикам практически неограниченную гибкость в разработке, но при этом требует от них определенного уровня знаний и умений. Radical Form даёт возможность сторонним разработчикам обрабатывать данные форм в момент отправки с помощью плагинов, что позволяет очень удобно и быстро интегрировать его со сторонними сервисами. Для плагина существуют сторонние плагины для интеграции Radical Form с Битрикс 24 и AmoCRM.

Разработчик Radical Form - @progreccor

Страница расширения GitHub расширения

Также добро пожаловать в Telegram-чат русскоязычного Joomla-сообщества

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

? Вышел релиз MoonShine v.2.13.0 с кодовым именем "Red Velvet"!?

Напомню, что MoonShine это open-source админ-панель для проектов на Laravel.

Давайте взглянем на самое интересное в этом обновлении!

Возможноcть изменить query builder у HasMany

HasMany::make()->modifyBuilder(fn(Builder $q) => $q->where('active', 1));

Улучшения для BelongsTo/BelongsToMany полей

Получение значений для BelongsTo/BelongsToMany полей приведено к единому виду и теперь для них всегда доступен valuesQuery и при большом запросе вы сможете самостоятельно его оптимизировать

BelongsTo::make(
    __('moonshine::ui.resource.role'),
    'moonshineUserRole',
    formatted: static fn (MoonshineUserRole $model) => $model->name,
    resource: MoonShineUserRoleResource::class,
)
    ->valuesQuery(fn(Builder $q) => $q->select(['id', 'name']))

Обновилось поле MoonShine Layouts

  • Исправлена проблема ререндера предыдущих шаблонов

  • Исправлена проблема исключения декораций

Еще ряд изменений:

  • Логотип на 404 странице теперь выводится из конфига и если есть желание вывести на 404 логотип отличающийся от дефолтного, то воспользуйтесь ключом logo404

  • Исправили реактивность внутри HasOne/HasMany

  • Исправили morphMap для морф полей

  • Исправили удаление файла при замене и удалении

Сайт MoonShine - https://moonshine-laravel.com

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Почему FilamentPHP — это хорошее решение для создания CMS

FilamentPHP — набор Fullstack-компонентов для Laravel. Последнее время мы в AGIMA часто используем его для построения админок. И вот почему:

1. Он красивый

Особенно в сравнении с Bootstrap. Filament же использует компоненты, стилизованные с помощью Tailwind CSS: 

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

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

2. Он доступный

Документация местами бывает так себе, но при наличии живой демки и её исходников можно быстро найти подходящий фрагмент и адаптировать его под себя.

А здесь найдете пример кода для создания формы авторизации.

3. Использует стек TALL (TailwindCSS, AlpineJS, Laravel, Livewire)

Livewire позволяет создавать приложение динамическим. Не нужно писать тонны кода на JQuery, как этого требует тот же Voyager. И, коли уж это Laravel, нам всегда доступны все его возможности.

4. Есть библиотека плагинов

И они закрыли уже почти все насущные проблемы.

Но и минусы у этого решения тоже есть:

  • Стек TALL можно отнести и к минусам тоже, потому что Livewire иногда кажется достаточно сомнительной затеей.

  • Filament достаточно прожорливый и требует OPCache и кеширования всего, что можно. И с включенным laravel-debugbar всё начинает тормозить.

  • Часть плагинов платные.

  • Код форм порой бывает достаточно… монструозным. Но это решается грамотным переиспользованием кода и разнесением его по разным местам.

Это краткий пересказ статьи Егора Черненка, PHP-разработчика AGIMA — полную версию читайте тут.

Теги:
Всего голосов 9: ↑8 и ↓1+7
Комментарии1

В стандартной C-библиотеке Glibc выявлена уязвимость (CVE-2024-2961), приводящая к переполнению буфера при преобразовании специально оформленных строк в кодировке ISO-2022-CN-EXT функцией iconv().

Выявивший проблему исследователь 10 мая выступит на конференции OffensiveCon с докладом, в анонсе которого упоминается возможность эксплуатации уязвимости через приложения на языке PHP. Проблема затрагивает всю экосистему PHP и некоторые приложения.

При преобразовании строк в кодировке UCS4, в соответствии с требованиями RFC 1922, библиотека Glibc добавляет некоторые escape-символы, выделяющие части строки, в которых кодировка была изменена.

Уязвимость в вызвана некорректной проверкой границ внутренних буферов функцией iconv(), что может привести к переполнению буфера максимум на 4 байта. При переполнении за границу буфера могут быть записаны определённые фиксированные значения, такие как '$+I', '$+J', '$+K', '$+L', '$+M' и '$*H'. Несмотря на то, что эксплуатация подобной уязвимости для выполнения кода кажется маловероятной, этого оказалось достаточно для подготовки нескольких прототипов эксплоитов для удалённой атаки на PHP-приложения, приводящей к выполнению кода.

Уязвимость проявляется с 2000 года и устранена в находящейся в разработке ветке Glibc 2.40. Исправление также доступно в виде патчей для выпусков Glibc с 2.32 по 2.39. В дистрибутивах проследить за исправлением уязвимости можно на страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Источник: OpenNET.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии1

Привет, поклонники Laravel!

Недавно состоялось обновление админ-панели для Laravel MoonShine v2.11.0 с кодовым названием “Minimal Twist”.

Основа релиза - минималистичный дизайн админки. Часто просили сделать альтернативный вариант дизайна, и как только появилась возможность - реализовали. Выглядит стильно, сам попробовал и, видимо, буду использовать эту тему.

Инструкции по использованию - в PR.

Также в плейлист с гайдами по применению MoonShine добавлено несколько видео из серии tips&tricks.

Сейчас работаем над переводом документации и видеоуроков на английский язык.

В последнее время в MoonShine появилось много нововведений. 11 апреля в 19:00(мск) проведу прямой эфир по MoonShine на канале CutCode. Программа:

  • установка компактной темы,

  • обзор новых пакетов для MoonShine,

  • планы на MoonShine 3,

  • демонстрация нового концепта организации шаблонов,

  • еще пара интересных новостей, о которых узнаете на стриме .

Ссылка на эфир - https://www.youtube.com/watch?v=QK_79ct1m1w

Если есть вопросы - можете задать здесь.

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Вышла библиотека WT JMoodle library v.1.1.0

LMS Moodle является, пожалуй, самой известной и популярной бесплатной Learning Management System — движком для создания онлайн‑курсов. Для того, чтобы было удобно работать с данными Moodle внутри Joomla через встроенное REST API Moodle создана нативная библиотека для Joomla 4 / Joomla 5

v.1.1.0 Что нового?

  • Helper\Course. В REST API более 700 методов. Библиотека поддерживает хелперы для методов, которые позволяют проверять структуру отправляемых данных до отправки собственно запроса и тем самым не нагружать лишний раз API Moodle. Добавлены правила проверки структуры данных для методов core_course_

  • Поле списка курсов Courselist Joomla Form. Добавлено Joomla Form поле, отображающее в Joomla список курсов Moodle. Для работы поля требуется разрешённый метод core_course_get_courses и настроенные в Moodle права доступа. Поля Joomla Form позволяют легко использовать в интерфейсе своих расширений (в модулях, плагинах и т. д.) данные, получаемые из Moodle по API.

Страница расширения

Помощь в развитии библиотеки приветствуется на GitHub расширения

Расширение в Joomla Extensions Directory

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Ближайшие события

Доброго времени суток, господа PHP-шнички. Вчера вышла Laravel 11, и я собрал её в докер вместе с Octane, PostgreSQL и Redis вместо вас. Пользуйтесь, если вдруг кому понадобится.

Github.

Мой телеграм канал. Не подписывайтесь.

Теги:
Всего голосов 7: ↑4 и ↓3+1
Комментарии0

Привет, коллеги!
Готовьтесь к необычному испытанию знаний и заряду хорошим настроением! В 19:00 (мск) 13 марта на YouTube‑канале CutCode будет проходить игра‑викторина в стиле «Своей игры».

Будут захватывающие раунды, юмор и увлекательные задания, которые проверят ваши знания о PHP!

В легендарной битве выдающихся PHP умов сойдутся — Адель Файзрахманов, Александр Макаров и Кирилл Несмеянов! Сергей Пантелеев приготовил самые каверзные вопросы и будет в роли ведущего управлять этим мероприятием.

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

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Вышел JoomGallery JUI 3.7.0-rc1 и JoomGallery 4.0.0-alpha2

JoomGallery - один из старейших и популярнейших компонентов галереи изображений для Joomla. В 2016 году основная команда разработчиков перестала его поддерживать. Компонент подхватили 2 энтузиаста и стали выпускать небольшие обновления, а затем начали подготовку перевода компонента на архитектуру Joomla 4. Работа длится долго, но не останавливается.

Версия 3.7.0 - промежуточный релиз, подготовка к переходу на JoomGallery 4.0. Добавлены проверка и исправление алиасов и структуры папок. JoomGallery 4.0.0-alpha2 - предназначен для Joomla 4 и Joomla 5, находится в активной разработке.

По словам тех, кто знакомился с новым кодом подробнее - по сути это новый компонент, который весьма сильно отличается от старого JoomGallery, так как изменилась структура базы данных. Поэтому это будет не обновление, а миграция. На странице с инструкцией по миграции представлены видео, описывающие 2 сценария: новую установку на Joomla 5 и обновление с предыдущей версии. Минимально необходимая версия JoomGallery для обновления до 3.7.0 - 3.6.2.

Как и любому Open Source проекту, JoomGallery нужна помощь: отладка, поиск ошибок, внятное их описание, тестирование разных пользовательских сценариев. Ну и конечно помощь в написании кода. Присоединиться можно на GitHub.

Сайт проекта JoomGallery firends Инструкция по миграции Репозиторий GitHub JoomGallery для Joomla 4+

Также добро пожаловать в Telegram-чат Joomla-сообщества

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Видео "Как работает Joomla" - путеводитель для разработчиков расширений

На канале Robbie Jackson вышло видео How Joomla works - a guide for extension developers, в котором разъясняется внутренняя механика работы Joomla 4 и Joomla 5. Затрагиваются вопросы роутинга, шаблонизации, REST API, CLI, диспетчеризации (события для плагинов) и т.д. Видео весьма полезное, так как в целом контента по новым версия движка не так много.

Также добро пожаловать в Telegram чат Joomla-сообщества

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Вышла стабильная версия VirtueMart 4.2.6 для Joomla 5.
Команда разработчиков VirtueMart адаптировала продукт под последнюю ветку Joomla. VirtueMart версии 4.2.6 включает в себя большое кол-во изменений, исправлений ошибок, найденных с момента предыдущей версии и ряд важных улучшений. Изменения затронули также и плагины оплаты, идущие в комплекте с установочным пакетом.

Joomla 5 — это новая ветвь развития, использующая передовую архитектуру. Минимальные требования к запуску Joomla 5 - PHP 8.1+ и MySQL 8.0+.

VirtueMart является старейшим и по-прежнему популярным компонентом для создания Интернет-магазинов на платформе Joomla. За годы существования проект сформировал собственное сообщество пользователей.
Теперь сайты на базе VirtueMart можно создавать на современной платформе Joomla 5.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Вышел плагин оплаты для Phoca Cart, обеспечивающий возможность приёма платежей через ЮKassa - популярную систему оплаты в России.

Phoca Cart - 5-я версия расширения Интернет-магазина, архитектурно работает на CMS Joomla 5 (последняя версия) и успешно заточен под PHP 8.2+, что позволяет создавать сайты, работающие на современных технологиях.
Юкасса - популярная система для онлайн платежей в России.

Создание магазина на Joomla 5 открывает возможности по использованию преимуществ, которые предоставляет данная ветка CMS и теперь имеется возможность делать магазины с учетом потребностей российского рынка.

Плагин оплаты ЮKassa для Phoca Cart работает на Joomla 4/Joomla 5, Phoca Cart 4/5 и работает на PHP 8.3.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Как сделать Joomla лучше своими руками? Тестирование PR на GitHub.

Joomla – опенсорсный движок. Он развивается десятками разработчиков со всего мира. Кто-то делает ядро, кто-то работает над локализацией, кто-то - пилит документацию, кто-то пишет статьи и т.д. У всех, кто делает вклад – есть основная работа, бизнес, для некоторых Joomla – хобби. Почти у всех есть семьи, дети, но они находят время на то, чтобы внести свой маленький вклад в развитие движка. Да и вообще весь мир Open Source устроен так, что если ты от него что-то берешь, пользуешься, то и должен вносить свой вклад, отдавать. Тогда продукт будет развиваться и приносить пользу не только вам, но и окружающим.

При работе над релизами Joomla используются почти что корпоративные механики и подходы:

  • есть план развития (eng, rus)

  • график выпуска релизов, который соблюдается

  • используются автоматические тесты,

  • принят единый code style для движка

  • организован CI/DI,

  • все PR проходят обязательный code review минимум 2 участников сообщества

Как помочь?

Не обязательно быть разработчиком для этого. Но можно сделать много другого: написать статью, записать видео, сделать перевод, сделать необходимые тесты. Нередко в целом готовый PR "висит" довольно долго в силу того, что не хватает рук их протестировать. О том, как помочь Joomla получать больше улучшений в каждом релизе - как их протестировать – показывает это видео.

Также добро пожаловать в Telegram чат Joomla-сообщества

Теги:
Рейтинг0
Комментарии0