Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

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

Добавил к постам свое поле, вопрос. Где цикл, что выводит сообщения в панели модератора.

 

Необходимо в запрос добавить условие по новому добавленному полю.

 

 

Спасибо.

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

И к какому скрипту обращается jaix запрос?

\system\Content\Controller.php

Как добавить вывод сообщений по добавленному в таблицу полю?

\applications\core\extensions\core\ModCp\Unapproved.php

				$where = array();				
			if ( isset( $class::$databaseColumnMap['hidden'] ) )
			{
				$where[] = array( $class::$databasePrefix . $class::$databaseColumnMap['hidden'] . '=1' );
			}
			elseif ( isset( $class::$databaseColumnMap['approved'] ) )
			{
				$where[] = array( $class::$databasePrefix . $class::$databaseColumnMap['approved'] . '=0' );
			}
			else
			{
				continue;
			}

Добавляете в массив $where свое условие.

  • Автор

В таблице post нет поля "approved", те что необходимо проверить посты вытаскивают из бд по queued=1. Откуда approved?

  • Автор

Как изменяется значение поля "queued" после того как одобрили пост. Где меняется это значение?

В таблице post нет поля "approved", те что необходимо проверить посты вытаскивают из бд по queued=1. Откуда approved?

Где в коде указано, что это поле?

Как изменяется значение поля "queued" после того как одобрили пост. Где меняется это значение?

С 1 на 0

  • Автор

А где?

А где?

В 17 посте \system\Content\Controller.php

	/**
 * Unhide Comment/Review
 *
 * @param	string					$commentClass	The comment/review class
 * @param	\IPS\Content\Comment	$comment		The comment/review
 * @param	\IPS\Content\Item		$item			The item
 * @return	void
 * @throws	\LogicException
 */
public function _unhide( $commentClass, $comment, $item  )
{
	\IPS\Session::i()->csrfCheck();
	$comment->modAction( 'unhide' );

	if ( \IPS\Request::i()->isAjax() )
	{
		\IPS\Output::i()->sendOutput( $comment->html(), 200, 'text/html' );
		return;
	}
	else
	{
		\IPS\Output::i()->redirect( $comment->url() );
	}
}

  • Автор

Дописал

 

 

$where = array();				
			if ( isset( $class::$databaseColumnMap['hidden'] ) )
			{
				$where[] = array( $class::$databasePrefix . $class::$databaseColumnMap['hidden'] . '=1' );
			}
			elseif ( isset( $class::$databaseColumnMap['approved'] ) )
			{
                   $where[] = array( $class::$databasePrefix . $class::$databaseColumnMap['approv_modul'] . '=1' );
				$where[] = array( $class::$databasePrefix . $class::$databaseColumnMap['approved'] . '=0' );
			}
			else
				continue;

 

Получил ошибку, надеюсь поле у условие подставилось через or???

Изменено пользователем Gerbys

  • Автор

$comment->modAction( 'unhide' );

 

Где функция прописана "modAction", я так понимаю в ней указывается значение поля и обновляется запись.

  • Автор

$approveUrl = $item->url()->setQueryString( array( 'do' => 'unhideComment', 'comment' => $item->$idColumn ) )->csrf();

 

Формирует url, далее яксом обращается к\\

 

public function _unhide( $commentClass, $comment, $item  )
   {
       \IPS\Session::i()->csrfCheck();
       $comment->modAction( 'unhide' );

       if ( \IPS\Request::i()->isAjax() )
       {
           \IPS\Output::i()->sendOutput( $comment->html(), 200, 'text/html' );
           return;
       }
       else
       {
           \IPS\Output::i()->redirect( $comment->url() );
       }
   }

 

Далее подгружает $comment->modAction( 'unhide' );

где этот объект в котором обновляется запись в таблице?

  • Автор

Немного подругому вопрос поставлю, когда находимся во вкладке "Очередь на одобрение" и одобряем пост. У нас в таблице forums_posts колонка queued. Меняется значение с единицы на ноль...

 

Где этот самый ноль прописайн, где строчка которая указывает какое значение должно стоять в данной колонке при обновлении записи. Спасибо...

Где этот самый ноль прописайн, где строчка которая указывает какое значение должно стоять в данной колонке при обновлении записи. Спасибо...

\system\Content\Content.php

Метод unhide

 	/**
 * Unhide
 *
 * @param	\IPS\Member|NULL|FALSE	$member	The member doing the action (NULL for currently logged in member, FALSE for no member)
 * @return	void
 */
public function unhide( $member )
{

  • Автор

Нашел, что та не удается изменить значение своего поля и так и сяк, ну никак

 

$this->$column = '0, modul_approv=\'0\'';

$this->modul_approv = 0;
$modul = static::$databaseColumnMap['modul_approv'];
$this->$modul = 0;

 

 

 

Ну никак значение в поле не хочет меняться. В чем дело?

if ($this instanceof \IPS\forums\Topic\Post)
{
   $this->foo = 0;
}

foo - название столбца в таблице постов

  • Автор

Неработает

Зависит от того, куда именно добавили.

Если до $this->save();, то должно

Если после, то нужно сохранить повторно

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.