Новости Joomla

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

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

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

Проект Joomla! рад сообщить о выходе Joomla 6.0.4 и Joomla 5.4.4. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

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

Alepri

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Всем доброго времени суток.
В прошлый раз обратившись за помощью на этом форуме мне очень помог с PHP кодом icom http://joomlaforum.ru/index.php?action=profile;u=87828
(icom если у вас будет время просмотреть это сообщение и помочь мне еще раз, буду очень признателен.)

В моем компоненте есть функция определения IP адреса и записи его в базу данных.
Мне нужно, что бы эта функция выполняла определение и запись имени пользователя вместо его IP адреса.

Функция определения выглядит так:

Код
function getClientIp() {
global $_SERVER;

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$forwarded_ip_array = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$client_ip = $forwarded_ip_array[count($forwarded_ip_array) - 1];
} else {
$client_ip = $_SERVER['REMOTE_ADDR'];
}
return $client_ip;
}

Так же есть функции проверки IP адреса в БД:
Код
//check if avoid same IP or not
$config =& JComponentHelper::getParams('com_joomlacomponent');
$avoidsameip = $config->get('avoidsameip',0);
if ($avoidsameip) {
$client_ip = $this->getClientIp();
if ($this->isExistIP($client_ip)) {
$mainframe->redirect( "index.php","Not allowed");
}
}

и
Код
/**
*  valid URL
*
* @param string $str
* @return bool
*/
function isExistIP($str) {
$db = JFactory::getDBO();
$query = 'SELECT COUNT(*)'
. ' FROM #__ joomlacomponent '
. ' WHERE `ip`='.$db->quote($str)
;
$db->setQuery($query);
$isExist = $db->loadResult();

return ($isExist)? true : false;
}
}

Каким образом эту функцию (желательно без замены имён в таблице) можно переписать(заменить) на определение имени пользователя.

Тоесть чтобы

function getClientIp()  выполнило функцию function GetUsername()

Заранее благодарен.
*

Alepri

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Разобрался сам  ^-^

Заменил
Код
function getClientIp() {
global $_SERVER;

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$forwarded_ip_array = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$client_ip = $forwarded_ip_array[count($forwarded_ip_array) - 1];
} else {
$client_ip = $_SERVER['REMOTE_ADDR'];
}
return $client_ip;
}

на
Код
function getClientIp() {

        $user = &JFactory::getUser($id);
        return $user->username;
    }


Вроде работает без ошибок.
 ;)

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

Функции доступности в Joomla 4

Автор keykeeper

Ответов: 2
Просмотров: 3163
Последний ответ 25.07.2022, 10:54:06
от keykeeper
Поделитесь опытом работы с EasyBlog. Нужна консультация

Автор Chip3x

Ответов: 0
Просмотров: 1145
Последний ответ 27.03.2022, 23:45:59
от Chip3x
Выбор группы для доступа и выбор пользователя с группы

Автор SkyAn

Ответов: 0
Просмотров: 1061
Последний ответ 07.11.2019, 19:04:07
от SkyAn
Плагин для определения размера файла

Автор bigbelka

Ответов: 6
Просмотров: 1546
Последний ответ 26.09.2019, 15:55:08
от bigbelka
Нужна помощь по плагину flyandexturbo_v3.0.3

Автор Stasweb

Ответов: 11
Просмотров: 1658
Последний ответ 08.05.2019, 09:49:44
от Stasweb