Новости Joomla

Joomla официально признана цифровым общественным благом Joomla с гордостью сообщает, что была...

Joomla официально признана цифровым общественным благом 🙏🎉Joomla с гордостью сообщает, что была официально признана цифровым общественным благом (Digital Public Good, DPG) Альянсом цифровых общественных благ (Digital Public Goods Alliance, DPGA) — инициативой, поддерживаемой Организацией Объединённых Наций.Это признание ставит Joomla! в ряд международных open-source проектов, которые разделяют ценности открытости, прозрачности, защиты данных и социального воздействия. Важно отметить, что статус цифрового общественного блага присвоен самому программному решению Joomla!, а не организации Joomla как юридическому лицу.Альянс цифровых общественных благ (DPGA) ведёт международный реестр цифровых общественных благ и оценивает проекты на основе чётко определённых стандартов. Его миссия — поддержка открытых технологий, способствующих достижению Целей устойчивого развития ООН (UN SDGs) и решению глобальных задач развития. 🌐Чтобы получить статус цифрового общественного блага, проект должен соответствовать Стандарту цифровых общественных благ (Digital Public Goods Standard), который включает следующие критерии:✔️ Открытое лицензирование (например, использование признанных open-source лицензий)✔️ Защита данных и безопасность✔️ Соответствие правовым и этическим нормам✔️ Вклад в достижение Целей устойчивого развития ООН✔️ Прозрачное управление и долгосрочная устойчивость✔️ Активное вовлечение сообществаПолучение статуса цифрового общественного блага — процесс далеко не автоматический. Joomla прошла тщательную процедуру оценки, которая потребовала предоставления подробной документации и доказательств соответствия строгим стандартам.Благодаря самоотверженной работе множества участников сообщества, этот результат стал наглядным подтверждением универсальности и открытости Joomla, а также бесчисленных способов, с помощью которых она помогает людям создавать веб-решения.Это достижение подчёркивает позицию Joomla как одной из самых надёжных и гибких open-source CMS в мире — системы, которая продолжает давать возможность разработчикам, организациям и государственным структурам создавать открытые, безопасные и инклюзивные цифровые решения.Оригинал новости

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

Dram

  • Захожу иногда
  • 211
  • 1 / 0
Есть сайт на Joomla 3.10 под нее написан самописный компонент (не мной). Есть желание перейти с php 7.4 на 8.2. Взял тестовый серв, перенес сайт. На фронте вроде без ошибок, все работает. Сайм функционал Joomla версии  3.10 тоже стабильно пашет под PHP 8.2, но вот с самописным компонентом есть ошибки. Некоторые смог исправить сам, а для других не хватает знаний, прошу помочь.

Первая ошибка - при попытки сохранить материал получаю ошибку

Я так понимаю в конструктор класса Тайбл приходит 1 значение, а нужно три. Вот конструктор родного класса

Я предполагаю, что проблема в модели (конкретно в конструкторе) самописного компонента (но возможно ошибаюсь). Логика такая - раз сохранение и редактирование родных материалов джумлы работает. Значит дело не в классе ядра, а в самописе.

Как это выяснить?

P.S. я проверил - в главный контструктор все три значения приходят и мне не понятно чего он ругается что пришло одно вместо трех

328 строка это уже не конструктор
*

sivers

  • Живу я здесь
  • 2595
  • 360 / 0
Re: Ошибки при переходе на PHP 8.2
« Ответ #1 : 30.12.2022, 10:39:10 »
1 аргумент в функции должен быть
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Dram

  • Захожу иногда
  • 211
  • 1 / 0
Re: Ошибки при переходе на PHP 8.2
« Ответ #2 : 30.12.2022, 10:43:43 »
1 аргумент в функции должен быть

Простите, ничего не понял - в какой функции один аргумент? Все таки нужно менять ядро? Я что-то нутром чую что дело в самописном компоненте.
*

sivers

  • Живу я здесь
  • 2595
  • 360 / 0
Re: Ошибки при переходе на PHP 8.2
« Ответ #3 : 30.12.2022, 10:52:54 »
Код
return new $tableClass($db);
вот тут передается один аргумент конструктору (в скобках), при этом
Код
public function __construct($table, $key, $db)
вызываемый конструктор ожидает 3 аргумента

соответственно, либо передавать надо 3, либо в конструкторе сделать прием  только 1 аргумента (возможно, придется и сам конструктор немного переделать в этом случае)
менять лучше в той части, которая относится к самописному компоненту, а не в ядре Joomla.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Dram

  • Захожу иногда
  • 211
  • 1 / 0
Re: Ошибки при переходе на PHP 8.2
« Ответ #4 : 30.12.2022, 12:39:14 »
вызываемый конструктор ожидает 3 аргумента
Так это один и тот же файл - стандартный класс Joomla 3, можете сами его посмотреть по пути /libraries/src/Table/Table.php

разве могли они сами так накосячить?
А конструктор сапомиса наследуется вообще без параметров
Код
	function __construct()
{
parent::__construct();

        $this->dir = JPATH_ROOT.'/images/vuz';
$array = JRequest::getVar('cid',  0, '', 'array');
$this->setId((int)$array[0]);
}
« Последнее редактирование: 30.12.2022, 12:47:12 от Dram »
*

sivers

  • Живу я здесь
  • 2595
  • 360 / 0
Re: Ошибки при переходе на PHP 8.2
« Ответ #5 : 30.12.2022, 12:47:22 »
Тогда ищите в кастомном компоненте неправильно использование тех методов. Начните с файлов компонента, перечисленных в сообщении об ошибке.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Dram

  • Захожу иногда
  • 211
  • 1 / 0
Re: Ошибки при переходе на PHP 8.2
« Ответ #6 : 30.12.2022, 13:44:32 »
Я нашел строку, дальше которой запрос не идет.
Цитировать
$row =& $this->getTable();
Убирание апмеданса проблему не решает. Это строка в методе store() который как раз сохраняет данные в админке.
Этот метод в классе самописаного компонента
Код
<?php

defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.model');

class VuzModelItem extends JModelLegacy
{
    var $dir = null;

function __construct()
{
parent::__construct();

        $this->dir = JPATH_ROOT.'/images/vuz';
$array = JRequest::getVar('cid',  0, '', 'array');
$this->setId((int)$array[0]);
}

...................

function store()
{
$row =& $this->getTable();
$data = JRequest::get('post');

$fields = JRequest::getVar('fields', '', 'post', 'array', JREQUEST_ALLOWRAW);
        $statistics = JRequest::getVar('statistics', '', 'post', 'array', JREQUEST_ALLOWRAW);
$data['text'] = JRequest::getVar('text', '', 'post', 'string', JREQUEST_ALLOWRAW);

if(empty($data['name']))
{

.......................

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сохранить не удалось из-за ошибки: Содержимое превышает допустимые лимиты

Автор R31rus

Ответов: 21
Просмотров: 5379
Последний ответ 27.03.2024, 16:46:13
от Gorilla
jos-Error: Материал не найден вместо 404 ошибки

Автор bugmenot

Ответов: 4
Просмотров: 1420
Последний ответ 10.01.2023, 11:32:11
от Mick_20
Ошибка при переходе на PHP 8

Автор KingSnake

Ответов: 1
Просмотров: 1124
Последний ответ 27.12.2022, 10:35:38
от NewUsers
Сохранение авторизации пользователя при переходе на поддомен

Автор denism300

Ответов: 2
Просмотров: 841
Последний ответ 14.11.2022, 11:35:14
от denism300
Ошибки при загрузке страниц сайта

Автор web_signal

Ответов: 3
Просмотров: 807
Последний ответ 08.11.2022, 20:26:13
от marksetter