XenForo 2.x.x Вывод Нотификаций сторонним скриптом php по user_id

Статус
В этой теме нельзя размещать новые ответы.

dimsim

Участники
Сообщения
64
Реакции
4
Баллы
65
На пхп надо подключиться к ядру и найти юзера по передаваемому айди, потом выбрать все не прочитанные нотификации и отдать в фомате json например.

К скрипту fetch.php?user_id=10 обращаемся из вне и читаем вывод {notifications: {1:you mentioned, 2:new thread, 3:наоминание какое нибуть, 4:новость}}
 
А в чем проблема-то?
Саму реализацию лучше сделать аддоном для XF для возможности "отрисовки" уведомления.
не знаю как подключиться к XF и найти юзера и найти его нотификации.. Массивно не надо , думаю тут пару строк кода, плагин тоже не знаю нужен ли, может просто как я написал простой пхп файл который загрузит ядро XF и далее по алгоритму? Насчет того что это не безопасно - потом в гет переменные вставлю ключ и в этой же пхпшке проверю его валидность а затем будет продложено исполнение. Как то так
 
PHP:
<?php

$userId = 1; // ид пользователя, для которого ищем алерты

/**
 * Инициализация фреймворка и поиск алертов.
 */
$path = __DIR__; // путь к установленному форуму
require($path . '/src/XF.php');

\XF::start($path);
$app = \XF::setupApp('XF\App');

/** @var \XF\Repository\UserAlert $userAlertRepo */
$userAlertRepo = $app->repository('XF:UserAlert');
$alerts = $userAlertRepo->findAlertsForUser($userId)->where('view_date', 0)
    ->fetch();
Дальше соизвольте сами разобраться, что и как. Вам остается лишь формировать JSON.
 
PHP:
<?php

$userId = 1; // ид пользователя, для которого ищем алерты

/**
* Инициализация фреймворка и поиск алертов.
*/
$path = __DIR__; // путь к установленному форуму
require($path . '/src/XF.php');

\XF::start($path);
$app = \XF::setupApp('XF\App');

/** @var \XF\Repository\UserAlert $userAlertRepo */
$userAlertRepo = $app->repository('XF:UserAlert');
$alerts = $userAlertRepo->findAlertsForUser($userId)->where('view_date', 0)
    ->fetch();
Дальше соизвольте сами разобраться, что и как. Вам остается лишь формировать JSON.
спасибо большое, донаты принимаете?
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу