<?php
/**
 * @brief		Content Router extension: Conversation
 * @author		<a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
 * @copyright	(c) Invision Power Services, Inc.
 * @license		https://www.invisioncommunity.com/legal/standards/
 * @package		Invision Community
 * @subpackage	Chatbox+
 * @since		06 Sep 2019
 */

namespace IPS\chatbox\extensions\core\ContentRouter;

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
	exit;
}

/**
 * @brief	Content Router extension: Conversation
 */
class _Conversation
{
	/**
	 * @brief	Content Item Classes
	 */
	public $classes = array();
	
	/**
	 * Constructor
	 *
	 * @param	\IPS\Member|IPS\Member\Group|NULL	$memberOrGroup		If checking access, the member/group to check for, or NULL to not check access
	 * @return	void
	 */
	public function __construct( $memberOrGroup = NULL )
	{	
		if ( \IPS\Dispatcher::i()->controllerLocation === 'front' )
		{
			if ( \IPS\Request::i()->app == 'core' )
			{
				if ( \IPS\Request::i()->module == 'discover' || ( \IPS\Request::i()->module == 'members' && \IPS\Request::i()->do == 'content' ) )
				{
					return;
				}
			}
		}
		
		if ( \IPS\Dispatcher::i()->controllerLocation === 'admin' && \in_array( \IPS\Request::i()->module, array( 'achievements', 'membersettings', 'staff' ) ) )
		{
			return;
		}			

		if ( $memberOrGroup === NULL or $memberOrGroup->canAccessModule( \IPS\Application\Module::get( 'chatbox', 'conversation', 'front' ) ) )
		{
			$this->classes[] = 'IPS\chatbox\Member\Post';
		}
	}
	
	
	
	
	
	
	
	
}