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

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

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

post-60167-0-75240500-1512389607_thumb.png

 

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

 

Добавил в таблицу свое поле, его необходимо обновить(значение записи) после одобрения...

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


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

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

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


Ссылка на сообщение
12/04/17 13:20 (изменено)

Дописал

 

 

$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 - название столбца в таблице постов

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


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

Неработает

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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