Page::getPidFromRequest() 

\nn\t3::Page()->getPidFromRequest(); 

Get PID from request string, e.g. in backend modules. Hacky. ToDo: Check if there is a better method.

\nn\t3::Page()->getPidFromRequest();
Copied!

| @return int

Source Code 

public function getPidFromRequest ()
{
	if (\TYPO3\CMS\Core\Core\Environment::isCli()) {
		return 0;
	}
	if ($request = \nn\t3::Environment()->getRequest()) {
		$params = $request->getQueryParams();
		$pageUid = array_key_first($params['edit']['pages'] ?? []);
		if ($pageUid) return $pageUid;
	}
	$pageUid = $_REQUEST['popViewId'] ?? false;
	if (!$pageUid) $pageUid = preg_replace( '/(.*)(id=)([0-9]*)(.*)/i', '\\3', $_REQUEST['returnUrl'] ?? '' );
	if (!$pageUid) $pageUid = preg_replace( '/(.*)(id=)([0-9]*)(.*)/i', '\\3', $_POST['returnUrl'] ?? '' );
	if (!$pageUid) $pageUid = preg_replace( '/(.*)(id=)([0-9]*)(.*)/i', '\\3', $_GET['returnUrl'] ?? '' );
	if (!$pageUid && ($_GET['edit']['pages'] ?? false)) $pageUid = array_keys($_GET['edit']['pages'])[0] ?? 0;
	if (!$pageUid) $pageUid = $_GET['id'] ?? 0;
	return (int) $pageUid;
}
Copied!