Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

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

 

 

Спасибо.

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

Опубликовано:

И к какому скрипту обращается 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();, то должно

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.