Documentation TYPO3 par Ameos |
Definition at line 213 of file class.tslib_fe.php.
| tslib_fe::tslib_fe | ( | $ | TYPO3_CONF_VARS, | |
| $ | id, | |||
| $ | type, | |||
| $ | no_cache = '', |
|||
| $ | cHash = '', |
|||
| $ | jumpurl = '', |
|||
| $ | MP = '', |
|||
| $ | RDCT = '' | |||
| ) |
Class constructor Takes a number of GET/POST input variable as arguments and stores them internally. The processing of these variables goes on later in this class. Also sets internal clientInfo array (browser information) and a unique string (->uniqueString) for this script instance; A md5 hash of the microtime()
| array | The global $TYPO3_CONF_VARS array. Will be set internally in ->TYPO3_CONF_VARS | |
| mixed | The value of t3lib_div::_GP('id') | |
| integer | The value of t3lib_div::_GP('type') | |
| boolean | The value of t3lib_div::_GP('no_cache'), evaluated to 1/0 | |
| string | The value of t3lib_div::_GP('cHash') | |
| string | The value of t3lib_div::_GP('jumpurl') | |
| string | The value of t3lib_div::_GP('MP') | |
| string | The value of t3lib_div::_GP('RDCT') |
Definition at line 387 of file class.tslib_fe.php.
References $cHash, $id, $jumpurl, $MP, $no_cache, $RDCT, $type, $TYPO3_CONF_VARS, t3lib_div::callUserFunction(), t3lib_div::clientInfo(), and t3lib_div::makeInstance().
| tslib_fe::connectToMySQL | ( | ) |
Connect to MySQL database May exit after outputting an error message or some JavaScript redirecting to the install tool. Use connectToDB() instead!
Definition at line 420 of file class.tslib_fe.php.
References connectToDB().
| tslib_fe::connectToDB | ( | ) |
Connect to SQL database May exit after outputting an error message or some JavaScript redirecting to the install tool.
Definition at line 430 of file class.tslib_fe.php.
References t3lib_div::callUserFunction(), and printError().
Referenced by connectToMySQL().
| tslib_fe::sendRedirect | ( | ) |
Looks up the value of $this->RDCT in the database and if it is found to be associated with a redirect URL then the redirection is carried out with a 'Location:' header May exit after sending a location-header.
Definition at line 475 of file class.tslib_fe.php.
References updateMD5paramsRecord().
| tslib_fe::initFEuser | ( | ) |
Initializes the front-end login user.
Definition at line 513 of file class.tslib_fe.php.
References t3lib_div::_GP(), t3lib_div::callUserFunction(), and t3lib_div::makeInstance().
| tslib_fe::initUserGroups | ( | ) |
Initializes the front-end user groups. Sets ->loginUser and ->gr_list based on front-end user status.
Definition at line 563 of file class.tslib_fe.php.
References t3lib_div::devLog().
Referenced by fetch_the_id().
| tslib_fe::isUserOrGroupSet | ( | ) |
Checking if a user is logged in or a group constellation different from "0,-1"
Definition at line 598 of file class.tslib_fe.php.
Referenced by determineId(), and isStaticCacheble().
| tslib_fe::checkAlternativeIdMethods | ( | ) |
Provides ways to bypass the '?id=[xxx]&type=[xx]' format, using either PATH_INFO or virtual HTML-documents (using Apache mod_rewrite)
Three options: 1) Apache mod_rewrite: Here a .htaccess file maps all .html-files to index.php and then we extract the id and type from the name of that HTML-file. (AKA "simulateStaticDocuments") 2) Use PATH_INFO (also Apache) to extract id and type from that var. Does not require any special modules compiled with apache. (less typical) 3) Using hook which enables features like those provided from "realurl" extension (AKA "Speaking URLs")
Support for RewriteRule to generate (simulateStaticDocuments) With the mod_rewrite compiled into apache, put these lines into a .htaccess in this directory: RewriteEngine On RewriteRule ^[^/]*\.html$ index.php The url must end with '.html' and the format must comply with either of these: 1: '[title].[id].[type].html' - title is just for easy recognition in the logfile!; no practical use of the title for TYPO3. 2: '[id].[type].html' - above, but title is omitted; no practical use of the title for TYPO3. 3: '[id].html' - only id, type is set to the default, zero! NOTE: In all case 'id' may be the uid-number OR the page alias (if any)
Definition at line 623 of file class.tslib_fe.php.
References t3lib_div::callUserFunction(), t3lib_div::getIndpEnv(), t3lib_div::split_fileref(), and t3lib_div::trimExplode().
| tslib_fe::clear_preview | ( | ) |
Clears the preview-flags, sets sim_exec_time to current time. Hidden pages must be hidden as default, $GLOBALS['SIM_EXEC_TIME'] is set to $GLOBALS['EXEC_TIME'] in t3lib/config_default.inc. Alter it by adding or subtracting seconds.
Definition at line 675 of file class.tslib_fe.php.
Referenced by determineId().
| tslib_fe::determineId | ( | ) |
Determines the id and evaluates any preview settings Basically this function is about determining whether a backend user is logged in, if he has read access to the page and if he's previewing the page. That all determines which id to show and how to initialize the id.
Definition at line 688 of file class.tslib_fe.php.
References $simUserGroup, t3lib_div::_GP(), t3lib_div::callUserFunction(), checkIfLoginAllowedInBranch(), clear_preview(), doWorkspacePreview(), fetch_the_id(), isUserOrGroupSet(), t3lib_div::makeInstance(), set_no_cache(), setIDfromArgV(), t3lib_div::testInt(), and whichWorkspace().
| tslib_fe::fetch_the_id | ( | ) |
Get The Page ID This gets the id of the page, checks if the page is in the domain and if the page is accessible Sets variables such as $this->sys_page, $this->loginUser, $this->gr_list, $this->id, $this->type, $this->domainStartPage, $this->idParts
Definition at line 822 of file class.tslib_fe.php.
References checkAndSetAlias(), findDomainRecord(), getPageAndRootlineWithDomain(), idPartsAnalyze(), initUserGroups(), t3lib_div::makeInstance(), pageNotFoundAndExit(), printError(), set_no_cache(), setSysPageWhereClause(), and whichWorkspace().
Referenced by determineId().
| tslib_fe::getPageAndRootline | ( | ) |
Gets the page and rootline arrays based on the id, $this->id
If the id does not correspond to a proper page, the 'previous' valid page in the rootline is found If the page is a shortcut (doktype=4), the ->id is loaded with that id
Whether or not the ->id is changed to the shortcut id or the previous id in rootline (eg if a page is hidden), the ->page-array and ->rootline is found and must also be valid.
Sets or manipulates internal variables such as: $this->id, $this->page, $this->rootLine, $this->MP, $this->pageNotFound
Definition at line 916 of file class.tslib_fe.php.
References checkRootlineForIncludeSection(), getPageShortcut(), pageNotFoundAndExit(), and printError().
Referenced by getPageAndRootlineWithDomain().
| tslib_fe::getPageShortcut | ( | $ | SC, | |
| $ | mode, | |||
| $ | thisUid, | |||
| $ | itera = 20, |
|||
| $ | pageLog = array() | |||
| ) |
Get page shortcut; Finds the records pointed to by input value $SC (the shortcut value)
| integer | The value of the "shortcut" field from the pages record | |
| integer | The shortcut mode: 1 and 2 will select either first subpage or random subpage; the default is the page pointed to by $SC | |
| integer | The current page UID of the page which is a shortcut | |
| integer | Safety feature which makes sure that the function is calling itself recursively max 20 times (since this function can find shortcuts to other shortcuts to other shortcuts...) | |
| array | An array filled with previous page uids tested by the function - new page uids are evaluated against this to avoid going in circles. |
Definition at line 999 of file class.tslib_fe.php.
References $page, t3lib_div::intExplode(), make_seed(), and printError().
Referenced by getPageAndRootline().
| tslib_fe::checkRootlineForIncludeSection | ( | ) |
Checks the current rootline for defined sections.
Definition at line 1049 of file class.tslib_fe.php.
References checkPagerecordForIncludeSection().
Referenced by getPageAndRootline().
| tslib_fe::checkEnableFields | ( | $ | row, | |
| $ | bypassGroupCheck = FALSE | |||
| ) |
Checks page record for enableFields Returns true if enableFields does not disable the page record. Takes notice of the ->showHiddenPage flag and uses SIM_EXEC_TIME for start/endtime evaluation
| array | The page record to evaluate (needs fields: hidden, starttime, endtime, fe_group) | |
| boolean | Bypass group-check |
Definition at line 1086 of file class.tslib_fe.php.
References checkPageGroupAccess().
Referenced by checkPagerecordForIncludeSection().
| tslib_fe::checkPageGroupAccess | ( | $ | row, | |
| $ | groupList = NULL | |||
| ) |
Check group access against a page record
| array | The page record to evaluate (needs field: fe_group) | |
| mixed | List of group id's (comma list or array). Default is $this->gr_list |
Definition at line 1102 of file class.tslib_fe.php.
Referenced by checkEnableFields(), and getPageAccessFailureReasons().
| tslib_fe::checkPagerecordForIncludeSection | ( | $ | row | ) |
Checks page record for include section
| array | The page record to evaluate (needs fields: extendToSubpages + hidden, starttime, endtime, fe_group) |
Definition at line 1121 of file class.tslib_fe.php.
References checkEnableFields().
Referenced by checkRootlineForIncludeSection().
| tslib_fe::checkIfLoginAllowedInBranch | ( | ) |
Checks if logins are allowed in the current branch of the page tree. Traverses the full root line and returns TRUE if logins are OK, otherwise false (and then the login user must be unset!)
Definition at line 1130 of file class.tslib_fe.php.
Referenced by determineId().
| tslib_fe::getPageAccessFailureReasons | ( | ) |
Analysing $this->pageAccessFailureHistory into a summary array telling which features disabled display and on which pages and conditions. That data can be used inside a page-not-found handler
Definition at line 1155 of file class.tslib_fe.php.
References checkPageGroupAccess().
Referenced by pageNotFoundHandler().
| tslib_fe::setIDfromArgV | ( | ) |
This checks if there are ARGV-parameters in the QUERY_STRING and if so, those are used for the id $this->id must be 'false' in order for any processing to happen in here If an id/alias value is extracted from the QUERY_STRING it is set in $this->id
Definition at line 1187 of file class.tslib_fe.php.
References t3lib_div::getIndpEnv().
Referenced by determineId().
| tslib_fe::getPageAndRootlineWithDomain | ( | $ | domainStartPage | ) |
Gets ->page and ->rootline information based on ->id. ->id may change during this operation. If not inside domain, then default to first page in domain.
| integer | Page uid of the page where the found domain record is (pid of the domain record) |
Definition at line 1203 of file class.tslib_fe.php.
References $domainStartPage, and getPageAndRootline().
Referenced by fetch_the_id().
| tslib_fe::setSysPageWhereClause | ( | ) |
Sets sys_page where-clause
Definition at line 1230 of file class.tslib_fe.php.
Referenced by fetch_the_id().
| tslib_fe::findDomainRecord | ( | $ | recursive = 0 |
) |
Looking up a domain record based on HTTP_HOST
| boolean | If set, it looks "recursively" meaning that a domain like "123.456.typo3.com" would find a domain record like "typo3.com" if "123.456.typo3.com" or "456.typo3.com" did not exist. |
Definition at line 1242 of file class.tslib_fe.php.
References t3lib_div::getIndpEnv().
Referenced by fetch_the_id().
| tslib_fe::pageNotFoundAndExit | ( | $ | reason = '', |
|
| $ | header = '' | |||
| ) |
Page-not-found handler for use in frontend plugins from extensions.
| string | Reason text | |
| string | HTTP header to send |
Definition at line 1262 of file class.tslib_fe.php.
References pageNotFoundHandler().
Referenced by fetch_the_id(), getPageAndRootline(), makeCacheHash(), reqCHash(), and settingLanguage().
| tslib_fe::pageNotFoundHandler | ( | $ | code, | |
| $ | header = '', |
|||
| $ | reason = '' | |||
| ) |
Page not found handler. Exits.
| mixed | Which type of handling; If a true PHP-boolean or TRUE then a ->printError message is outputted. If integer an error message with that number is shown. Otherwise the $code value is expected to be a "Location:" header value. | |
| string | If set, this is passed directly to the PHP function, header() | |
| string | If set, error messages will also mention this as the reason for the page-not-found. |
Definition at line 1277 of file class.tslib_fe.php.
References $content, t3lib_div::callUserFunction(), t3lib_div::getFileAbsFileName(), t3lib_div::getIndpEnv(), getPageAccessFailureReasons(), t3lib_div::getURL(), t3lib_div::isFirstPartOfStr(), t3lib_div::locationHeaderUrl(), and printError().
Referenced by pageNotFoundAndExit().
| tslib_fe::checkAndSetAlias | ( | ) |
Fetches the integer page id for a page alias. Looks if ->id is not an integer and if so it will search for a page alias and if found the page uid of that page is stored in $this->id
Definition at line 1407 of file class.tslib_fe.php.
References t3lib_div::testInt().
Referenced by fetch_the_id().
| tslib_fe::idPartsAnalyze | ( | $ | str | ) |
Analyzes the second part of a id-string (after the "+"), looking for B6 or M5 encoding and if found it will resolve it and restore the variables in global $_GET If values for ->cHash, ->no_cache, ->jumpurl and ->MP is found, they are also loaded into the internal vars of this class.
| string | String to analyze |
Definition at line 1426 of file class.tslib_fe.php.
References mergingWithGetVars(), and updateMD5paramsRecord().
Referenced by fetch_the_id().
| tslib_fe::mergingWithGetVars | ( | $ | GET_VARS | ) |
Merging values into the global $_GET
| array | Array of key/value pairs that will be merged into the current GET-vars. (Non-escaped values) |
Definition at line 1451 of file class.tslib_fe.php.
References t3lib_div::_GET(), t3lib_div::_GETset(), t3lib_div::array_merge_recursive_overrule(), and set_no_cache().
Referenced by idPartsAnalyze().
| tslib_fe::ADMCMD_preview | ( | ) |
Looking for a ADMCMD_prev code, looks it up if found and returns configuration data. Background: From the backend a request to the frontend to show a page, possibly with workspace preview can be "recorded" and associated with a keyword. When the frontend is requested with this keyword the associated request parameters are restored from the database AND the backend user is loaded - only for that request. The main point is that a special URL valid for a limited time, eg. http://localhost/typo3site/index.php?ADMCMD_prev=035d9bf938bd23cb657735f68a8cedbf will open up for a preview that doesn't require login. Thus its useful for sending an email. This can also be used to generate previews of hidden pages, start/endtimes, usergroups and those other settings from the Admin Panel - just not implemented yet.
Definition at line 1481 of file class.tslib_fe.php.
References t3lib_div::_GETset(), t3lib_div::_GP(), t3lib_div::_POST(), and t3lib_div::getIndpEnv().
| tslib_fe::ADMCMD_preview_postInit | ( | $ | previewConfig | ) |
Configuration after initialization of TSFE object. Basically this unsets the BE cookie if any and forces the BE user set according to the preview configuration.
| array | Preview configuration, see ADMCMD_preview() |
Definition at line 1524 of file class.tslib_fe.php.
| tslib_fe::makeCacheHash | ( | ) |
Calculates a hash string based on additional parameters in the url. This is used to cache pages with more parameters than just id and type
Definition at line 1556 of file class.tslib_fe.php.
References t3lib_div::_GET(), t3lib_div::cHashParams(), t3lib_div::implodeArrayForUrl(), pageNotFoundAndExit(), set_no_cache(), and t3lib_div::shortMD5().
| tslib_fe::reqCHash | ( | ) |
Will disable caching if the cHash value was not set. This function should be called to check the _existence_ of "&cHash" whenever a plugin generating cachable output is using extra GET variables. If there _is_ a cHash value the validation of it automatically takes place in makeCacheHash() (see above)
Definition at line 1580 of file class.tslib_fe.php.
References clearPageCacheContent(), pageNotFoundAndExit(), and set_no_cache().
| tslib_fe::cHashParams | ( | $ | addQueryParams | ) |
Splits the input query-parameters into an array with certain parameters filtered out. Used to create th