core-bundle/src/Resources/contao/controllers/BackendConfirm.php
public function run()
	{
		/** @var Session $objSession */
		$objSession = System::getContainer()->get('session');

		// Redirect to the back end home page
		if (Input::post('FORM_SUBMIT') == 'invalid_token_url')
		{
			list($strUrl) = explode('?', $objSession->get('INVALID_TOKEN_URL'));
			$this->redirect($strUrl);
		}

		$objTemplate = new BackendTemplate('be_confirm');

		// Prepare the URL
		$url = preg_replace('/(\?|&)rt=[^&]*/', '', $objSession->get('INVALID_TOKEN_URL'));
		$objTemplate->href = ampersand($url . ((strpos($url, '?') !== false) ? '&rt=' : '?rt=') . REQUEST_TOKEN);

		$vars = array();
		list(, $request) = explode('?', $url, 2);

		// Extract the arguments
		foreach (explode('&', $request) as $arg)
		{
			list($key, $value) = explode('=', $arg, 2);
			$vars[$key] = $value;
		}

		$arrInfo = array();

		// Provide more information about the link (see #4007)
		foreach ($vars as $k=>$v)
		{
			switch ($k)
			{
				default:
					$arrInfo[$k] = $v;
					break;

				case 'do':
					$arrInfo['do'] = $GLOBALS['TL_LANG']['MOD'][$v][0];
					break;

				case 'id':
					$arrInfo['id'] = 'ID ' . $v;
					break;
			}
		}

		// Use the first table if none is given
		if (!isset($arrInfo['table']))
		{
			foreach ($GLOBALS['BE_MOD'] as $category=>$modules)
			{
				if (isset($GLOBALS['BE_MOD'][$category][$vars['do']]))
				{
					$arrInfo['table'] = $GLOBALS['BE_MOD'][$category][$vars['do']]['tables'][0];
					break;
				}
			}
		}

		System::loadLanguageFile($arrInfo['table']);

		// Override the action label
		if (isset($arrInfo['clipboard']))
		{
			$arrInfo['act'] = $GLOBALS['TL_LANG']['MSC']['clearClipboard'];
		}
		elseif (isset($arrInfo['mode']) && !isset($arrInfo['act']))
		{
			if ($arrInfo['mode'] == 'create')
			{
				$arrInfo['act'] = $GLOBALS['TL_LANG'][$arrInfo['table']]['new'][0];
			}
			elseif ($arrInfo['mode'] == 'cut' || $arrInfo['mode'] == 'copy')
			{
				$arrInfo['act'] = $GLOBALS['TL_LANG'][$arrInfo['table']][$arrInfo['mode']][0];
			}
		}
		else
		{
			$arrInfo['act'] = $GLOBALS['TL_LANG'][$arrInfo['table']][$arrInfo['act']][0];
		}

		unset($arrInfo['pid']);
		unset($arrInfo['clipboard']);
		unset($arrInfo['ref']);
		unset($arrInfo['mode']);

		// Template variables
		$objTemplate->confirm = true;
		$objTemplate->link = StringUtil::specialchars($url);
		$objTemplate->info = $arrInfo;
		$objTemplate->labels = $GLOBALS['TL_LANG']['CONFIRM'];
		$objTemplate->explain = $GLOBALS['TL_LANG']['MSC']['invalidTokenUrl'];
		$objTemplate->cancel = $GLOBALS['TL_LANG']['MSC']['cancelBT'];
		$objTemplate->continue = $GLOBALS['TL_LANG']['MSC']['continue'];
		$objTemplate->theme = Backend::getTheme();
		$objTemplate->base = Environment::get('base');
		$objTemplate->language = $GLOBALS['TL_LANGUAGE'];
		$objTemplate->h1 = $GLOBALS['TL_LANG']['MSC']['invalidToken'];
		$objTemplate->title = StringUtil::specialchars($GLOBALS['TL_LANG']['MSC']['invalidToken']);
		$objTemplate->host = Environment::get('host');
		$objTemplate->charset = Config::get('characterSet');

		return $objTemplate->getResponse();
	}
public function run()
	{
		/** @var Session $objSession */
		$objSession = System::getContainer()->get('session');

		// Redirect to the back end home page
		if (Input::post('FORM_SUBMIT') == 'invalid_token_url')
		{
			list($strUrl) = explode('?', $objSession->get('INVALID_TOKEN_URL'));
			$this->redirect($strUrl);
		}

		$objTemplate = new BackendTemplate('be_confirm');

		// Prepare the URL
		$url = preg_replace('/(\?|&)rt=[^&]*/', '', $objSession->get('INVALID_TOKEN_URL'));
		$objTemplate->href = ampersand($url . ((strpos($url, '?') !== false) ? '&rt=' : '?rt=') . REQUEST_TOKEN);

		$vars = array();
		list(, $request) = explode('?', $url, 2);

		// Extract the arguments
		foreach (explode('&', $request) as $arg)
		{
			list($key, $value) = explode('=', $arg, 2);
			$vars[$key] = $value;
		}

		$arrInfo = array();

		// Provide more information about the link (see #4007)
		foreach ($vars as $k=>$v)
		{
			switch ($k)
			{
				default:
					$arrInfo[$k] = $v;
					break;

				case 'do':
					$arrInfo['do'] = $GLOBALS['TL_LANG']['MOD'][$v][0];
					break;

				case 'id':
					$arrInfo['id'] = 'ID ' . $v;
					break;
			}
		}

		// Use the first table if none is given
		if (!isset($arrInfo['table']))
		{
			foreach ($GLOBALS['BE_MOD'] as $category=>$modules)
			{
				if (isset($GLOBALS['BE_MOD'][$category][$vars['do']]))
				{
					$arrInfo['table'] = $GLOBALS['BE_MOD'][$category][$vars['do']]['tables'][0];
					break;
				}
			}
		}

		System::loadLanguageFile($arrInfo['table']);

		// Override the action label
		if (isset($arrInfo['clipboard']))
		{
			$arrInfo['act'] = $GLOBALS['TL_LANG']['MSC']['clearClipboard'];
		}
		elseif (isset($arrInfo['mode']) && !isset($arrInfo['act']))
		{
			if ($arrInfo['mode'] == 'create')
			{
				$arrInfo['act'] = $GLOBALS['TL_LANG'][$arrInfo['table']]['new'][0];
			}
			elseif ($arrInfo['mode'] == 'cut' || $arrInfo['mode'] == 'copy')
			{
				$arrInfo['act'] = $GLOBALS['TL_LANG'][$arrInfo['table']][$arrInfo['mode']][0];
			}
		}
		else
		{
			$arrInfo['act'] = $GLOBALS['TL_LANG'][$arrInfo['table']][$arrInfo['act']][0];
		}

		unset($arrInfo['pid']);
		unset($arrInfo['clipboard']);
		unset($arrInfo['ref']);
		unset($arrInfo['mode']);

		// Template variables
		$objTemplate->confirm = true;
		$objTemplate->link = StringUtil::specialchars($url);
		$objTemplate->info = $arrInfo;
		$objTemplate->labels = $GLOBALS['TL_LANG']['CONFIRM'];
		$objTemplate->explain = $GLOBALS['TL_LANG']['MSC']['invalidTokenUrl'];
		$objTemplate->cancel = $GLOBALS['TL_LANG']['MSC']['cancelBT'];
		$objTemplate->continue = $GLOBALS['TL_LANG']['MSC']['continue'];
		$objTemplate->theme = Backend::getTheme();
		$objTemplate->base = Environment::get('base');
		$objTemplate->language = $GLOBALS['TL_LANGUAGE'];
		$objTemplate->h1 = $GLOBALS['TL_LANG']['MSC']['invalidToken'];
		$objTemplate->title = StringUtil::specialchars($GLOBALS['TL_LANG']['MSC']['invalidToken']);
		$objTemplate->host = Environment::get('host');
		$objTemplate->charset = Config::get('characterSet');

		return $objTemplate->getResponse();
	}
public function run ( ) { /** @var Session $objSession */ $ objSession = System :: getContainer ( ) -> get ( 'session' ) ; // Redirect to the back end home page if ( Input :: post ( 'FORM_SUBMIT' ) == 'invalid_token_url' ) { list ( $ strUrl ) = explode ( '?' , $ objSession -> get ( 'INVALID_TOKEN_URL' ) ) ; $ this -> redirect ( $ strUrl ) ; } $ objTemplate = new BackendTemplate ( 'be_confirm' ) ; // Prepare the URL $ url = preg_replace ( '/(\?|&)rt=[^&]*/' , '' , $ objSession -> get ( 'INVALID_TOKEN_URL' ) ) ; $ objTemplate -> href = ampersand ( $ url . ( ( strpos ( $ url , '?' ) !== false ) ? '&rt=' : '?rt=' ) . REQUEST_TOKEN ) ; $ vars = array ( ) ; list ( , $ request ) = explode ( '?' , $ url , 2 ) ; // Extract the arguments foreach ( explode ( '&' , $ request ) as $ arg ) { list ( $ key , $ value ) = explode ( '=' , $ arg , 2 ) ; $ vars [ $ key ] = $ value ; } $ arrInfo = array ( ) ; // Provide more information about the link (see #4007) foreach ( $ vars as $ k => $ v ) { switch ( $ k ) { default : $ arrInfo [ $ k ] = $ v ; break ; case 'do' : $ arrInfo [ 'do' ] = $ GLOBALS [ 'TL_LANG' ] [ 'MOD' ] [ $ v ] [ 0 ] ; break ; case 'id' : $ arrInfo [ 'id' ] = 'ID ' . $ v ; break ; } } // Use the first table if none is given if ( ! isset ( $ arrInfo [ 'table' ] ) ) { foreach ( $ GLOBALS [ 'BE_MOD' ] as $ category => $ modules ) { if ( isset ( $ GLOBALS [ 'BE_MOD' ] [ $ category ] [ $ vars [ 'do' ] ] ) ) { $ arrInfo [ 'table' ] = $ GLOBALS [ 'BE_MOD' ] [ $ category ] [ $ vars [ 'do' ] ] [ 'tables' ] [ 0 ] ; break ; } } } System :: loadLanguageFile ( $ arrInfo [ 'table' ] ) ; // Override the action label if ( isset ( $ arrInfo [ 'clipboard' ] ) ) { $ arrInfo [ 'act' ] = $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'clearClipboard' ] ; } elseif ( isset ( $ arrInfo [ 'mode' ] ) && ! isset ( $ arrInfo [ 'act' ] ) ) { if ( $ arrInfo [ 'mode' ] == 'create' ) { $ arrInfo [ 'act' ] = $ GLOBALS [ 'TL_LANG' ] [ $ arrInfo [ 'table' ] ] [ 'new' ] [ 0 ] ; } elseif ( $ arrInfo [ 'mode' ] == 'cut' || $ arrInfo [ 'mode' ] == 'copy' ) { $ arrInfo [ 'act' ] = $ GLOBALS [ 'TL_LANG' ] [ $ arrInfo [ 'table' ] ] [ $ arrInfo [ 'mode' ] ] [ 0 ] ; } } else { $ arrInfo [ 'act' ] = $ GLOBALS [ 'TL_LANG' ] [ $ arrInfo [ 'table' ] ] [ $ arrInfo [ 'act' ] ] [ 0 ] ; } unset ( $ arrInfo [ 'pid' ] ) ; unset ( $ arrInfo [ 'clipboard' ] ) ; unset ( $ arrInfo [ 'ref' ] ) ; unset ( $ arrInfo [ 'mode' ] ) ; // Template variables $ objTemplate -> confirm = true ; $ objTemplate -> link = StringUtil :: specialchars ( $ url ) ; $ objTemplate -> info = $ arrInfo ; $ objTemplate -> labels = $ GLOBALS [ 'TL_LANG' ] [ 'CONFIRM' ] ; $ objTemplate -> explain = $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'invalidTokenUrl' ] ; $ objTemplate -> cancel = $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'cancelBT' ] ; $ objTemplate -> continue = $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'continue' ] ; $ objTemplate -> theme = Backend :: getTheme ( ) ; $ objTemplate -> base = Environment :: get ( 'base' ) ; $ objTemplate -> language = $ GLOBALS [ 'TL_LANGUAGE' ] ; $ objTemplate -> h1 = $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'invalidToken' ] ; $ objTemplate -> title = StringUtil :: specialchars ( $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'invalidToken' ] ) ; $ objTemplate -> host = Environment :: get ( 'host' ) ; $ objTemplate -> charset = Config :: get ( 'characterSet' ) ; return $ objTemplate -> getResponse ( ) ; }
Run the controller

@return Response
Run the controller