Помощь с доработкой плагина - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

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

#1 Пользователь не на сайте   ralf ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 40
  • Регистрация: 22-Август 09
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 23 Август 2016 - 15:08

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

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

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

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

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

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

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

#2 Пользователь не на сайте   ralf ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 40
  • Регистрация: 22-Август 09
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 24 Август 2016 - 18:17

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

#3 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 765
  • Регистрация: 20-Март 09
  • Репутация: 2 288
  • IPB version:3.1.x
 

Отправлено 25 Август 2016 - 00:33

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

$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 ) ) ) );
}

1

#4 Пользователь не на сайте   ralf ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 40
  • Регистрация: 22-Август 09
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 25 Август 2016 - 10:31

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

Первая часть работает. Вторая нет, как только вставляю строку "$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.
0

#5 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 765
  • Регистрация: 20-Март 09
  • Репутация: 2 288
  • IPB version:3.1.x
 

Отправлено 25 Август 2016 - 12:57

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

Просмотреть сообщениеralf сказал(а):

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

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

#6 Пользователь не на сайте   ralf ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 40
  • Регистрация: 22-Август 09
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 01 Сентябрь 2016 - 14:09

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

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна