Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
ralf

Помощь с доработкой плагина

Рекомендованные сообщения

Имеется плагин, вернее приложение, который получает id пользователя и id темы.

 

$user_id = \IPS\Request::i()->receiver;

 

$topic_id = \IPS\Request::i()->content;

 

Хочу проверить:

 

1) находиться ли тема в одном из определенных разделов?

 

2) участник ли данной темы пользователь $user_id ? Если участник, то топикстартер он или нет?

 

Как это сделать?

Поделиться сообщением


Ссылка на сообщение

Есть ли у кого-нибудь идеи? Как это сделать?

Поделиться сообщением


Ссылка на сообщение

Наверное для тем есть отдельная модель, но самый простой вариант сделать два запроса, первый - получить данные о теме, второй - является ли пользователь ее участником.

 

$topic = iterator_to_array( \IPS\Db::i()->select( '*', 'forums_topics', array('tid = ?', $topic_id) ) )[0];
if( empty( $topic ) )
{
return 'NO_TOPIC';
}

$isInForum = in_array( $topic['forum_id'], array( 1, 2, 3, 4, 5 ) );

if( $topic['starter_id'] == $user_id )
{
$isTopicStarter = true;
$isParticipant  = true;
}
else
{
$isTopicStarter = false;
$isParticipant  = (boolean) count( iterator_to_array( \IPS\Db::i()->select( 'pid', 'forums_posts', array( 'topic_id=? AND author_id=?', $topic_id, $user_id ), false, array( 0, 1 ) ) ) );
}

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Спасибо большое.

 

Первая часть работает. Вторая нет, как только вставляю строку "$isParticipant = (boolean) count( iterator_to_array( \IPS\Db::i()->select( 'pid', 'forums_posts', array( 'topic_id=? AND author_id=?', $topic_id, $user_id ), false, array( 0, 1 ) ) ) );

}" В браузере выводится ошибка 500.

Поделиться сообщением


Ссылка на сообщение

$topic_id и $user_id должны быть объявленные переменные типа integer

 

В браузере выводится ошибка 500.

Лог ошибки покажите

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Были неполадки на сервере. Сейчас всё работает. Спасибо большое!

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...