26 if (empty($requestArguments)) {
27 die(
'No JSON encoded arguments given');
30 if (empty($requestArguments[
'documentRoot'])) {
31 die(
'No documentRoot given');
34 if (empty($requestArguments[
'requestUrl']) || ($requestUrlParts = parse_url($requestArguments[
'requestUrl'])) === FALSE) {
35 die(
'No valid request URL given');
39 if (isset($requestUrlParts[
'query'])) {
40 parse_str($requestUrlParts[
'query'], $_GET);
41 parse_str($requestUrlParts[
'query'], $_REQUEST);
51 $_SERVER[
'DOCUMENT_ROOT'] = $requestArguments[
'documentRoot'];
52 $_SERVER[
'HTTP_USER_AGENT'] =
'TYPO3 Functional Test Request';
53 $_SERVER[
'HTTP_HOST'] = $_SERVER[
'SERVER_NAME'] = isset($requestUrlParts[
'host']) ? $requestUrlParts[
'host'] :
'localhost';
54 $_SERVER[
'SERVER_ADDR'] = $_SERVER[
'REMOTE_ADDR'] =
'127.0.0.1';
55 $_SERVER[
'SCRIPT_NAME'] = $_SERVER[
'PHP_SELF'] =
'/index.php';
56 $_SERVER[
'SCRIPT_FILENAME'] = $_SERVER[
'_'] = $_SERVER[
'PATH_TRANSLATED'] = $requestArguments[
'documentRoot'] .
'/index.php';
57 $_SERVER[
'QUERY_STRING'] = (isset($requestUrlParts[
'query']) ? $requestUrlParts[
'query'] :
'');
58 $_SERVER[
'REQUEST_URI'] = $requestUrlParts[
'path'] . (isset($requestUrlParts[
'query']) ?
'?' . $requestUrlParts[
'query'] :
'');
59 $_SERVER[
'REQUEST_METHOD'] =
'GET';
62 if (isset($requestUrlParts[
'scheme'])) {
63 if ($requestUrlParts[
'scheme'] ===
'https') {
64 $_SERVER[
'HTTPS'] =
'on';
65 $_SERVER[
'SERVER_PORT'] =
'443';
67 $_SERVER[
'SERVER_PORT'] =
'80';
72 if (isset($requestUrlParts[
'port'])) {
73 $_SERVER[
'SERVER_PORT'] = $requestUrlParts[
'port'];
76 if (!is_dir($_SERVER[
'DOCUMENT_ROOT'])) {
77 die(
'Document root directory "' . $_SERVER[
'DOCUMENT_ROOT'] .
'" does not exist');
80 if (!is_file($_SERVER[
'SCRIPT_FILENAME'])) {
81 die(
'Script file "' . $_SERVER[
'SCRIPT_FILENAME'] .
'" does not exist');
91 $result = array(
'status' =>
'failure',
'content' => NULL,
'error' => NULL);
95 chdir($_SERVER[
'DOCUMENT_ROOT']);
96 include($_SERVER[
'SCRIPT_FILENAME']);
98 $result[
'content'] = ob_get_contents();
100 $result[
'error'] = $exception->__toString();
static executeAndOutput()
$TYPO3_CONF_VARS['SYS']['contentTable']
static setGlobalVariables(array $requestArguments=NULL)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
$TYPO3_MISC['microtime_end']