Новости Joomla

Вышли релизы безопасности Joomla 5.3.4 и Joomla 4.4.14

Релиз безопасности Joomla 5.3.4

Проект Joomla спешит сообщить о выпуске Joomla 5.3.4 и Joomla 4.4.14. Это релиз безопасности для серии Joomla 5.3 и релиз безопасности для серии Joomla 4.4.

Joomla REST API без прав суперадминистратора. RBAC в Joomla

Joomla REST API без прав суперадминистратора. RBAC в Joomla

👩‍💻 Joomla REST API без прав суперадминистратора. RBAC в Joomla.На канале известного французского разработчика и специалиста по Joomla REST API Alexandre ELISÉ вышло новое видео.RBAC (Role-Based Access Control) - это управление доступом на основе ролей, метод управления доступом к ресурсам, основанный на назначении ролей пользователям. Вместо назначения прав каждому пользователю точечно права доступа группируются по ролям, а пользователи получают доступ к ресурсам уже в зависимости от своей роли. В контексте Joomla и REST API он может даже мешать работе: без авторизованного пользователя вы не можете даже показать контент. В видео показано как решить данную проблему. Создаётся "технический пользователь", которому разрешается просматривать контент, но не разрешено создавать, редактировать, удалять и т.д. И все запросы к REST API идут с использованием его токена. [fr-FR] Services Web API Joomla SANS être Super Admin RBAC natif avec Joomla@joomlafeed #joomla #разработка #rest

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

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Обновить код запроса к БД
« : 29.01.2025, 10:46:14 »
Здравствуйте,

Перестал работать запрос к БД:

Код
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('id, title, noms');
$query->from('#__actions');
$query->where("content_id = {$content_id}");
$db->setQuery($query) or die("запрос не сработал");
$data = $db->loadAssoc();

Подскажите как его адаптировать под Joomla 5 ?

Пробовал заменить первую строку на эти:

Код
use Joomla\CMS\Factory;
$db = $this->getDatabase();

все безуспешно.
Мой сайт про корабли
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Обновить код запроса к БД
« Ответ #1 : 29.01.2025, 12:13:32 »
use Joomla\CMS\Factory;
$db = $this->getDatabase();
use Joomla\CMS\Factory;
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query->select('id, title, noms');
$query->from('#__actions');
$query->where("content_id = {$content_id}");
$data = $db->setQuery($query)->loadAssoc();
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Обновить код запроса к БД
« Ответ #2 : 29.01.2025, 16:36:28 »
Не работает.

Все также NULL в $data.
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Обновить код запроса к БД
« Ответ #3 : 30.01.2025, 07:14:40 »
А запрос сразу ниже работает:

Код
$query = $db->getQuery(true);
$query->select('catid');
$query->from('#__content');
$query->where("id = {$content_id}");
$db->setQuery($query) or die("запрос не сработал");
$catid = $db->loadResult();
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Обновить код запроса к БД
« Ответ #4 : 30.01.2025, 07:15:04 »
Я совсем запутался  !!!???!!!
Мой сайт про корабли
*

fbr

  • Завсегдатай
  • 1672
  • 207 / 7
Re: Обновить код запроса к БД
« Ответ #5 : 30.01.2025, 07:22:09 »
у меня работает так:

Код
use Joomla\CMS\Application\SiteApplication;
use Joomla\CMS\Factory;
...
use Joomla\CMS\HTML\HTMLHelper;

defined('_JEXEC') or die;

class ClassName
{

use DatabaseAwareTrait;

public function myFunction()
{
$db = Factory::getContainer()->get('DatabaseDriver');
$query = $db->getQuery(true);

...

}
}
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Обновить код запроса к БД
« Ответ #6 : 30.01.2025, 08:44:45 »
В общем впервые применил ИИ и заработало вот так:

Код
use Joomla\CMS\Factory;
$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select($db->quoteName(array('id', 'title', 'noms')))
      ->from($db->quoteName('#__actions'));
$query->where($db->quoteName('content_id'). ' = ' . $content_id);
$db->setQuery($query) or die("запрос не сработал");
$data = $db->loadAssoc();


Спасибо всем за помощь!  *DRINK*
Мой сайт про корабли
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Два запроса SQL последовательно посредством API

Автор kysin

Ответов: 2
Просмотров: 782
Последний ответ 21.08.2024, 22:48:55
от kysin
Не могу скачать или обновить Joomla

Автор sfedorm

Ответов: 9
Просмотров: 4750
Последний ответ 31.08.2022, 15:13:52
от Шмайсер