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 415 of file class.tslib_fe.php.
| 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 448 of file class.tslib_fe.php.
| 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 458 of file class.tslib_fe.php.
| 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 505 of file class.tslib_fe.php.
| tslib_fe::initFEuser | ( | ) |
Initializes the front-end login user.
Definition at line 543 of file class.tslib_fe.php.
| tslib_fe::initUserGroups | ( | ) |
Initializes the front-end user groups. Sets ->loginUser and ->gr_list based on front-end user status.
Definition at line 593 of file class.tslib_fe.php.
| tslib_fe::isUserOrGroupSet | ( | ) |
Checking if a user is logged in or a group constellation different from "0,-1"
Definition at line 628 of file class.tslib_fe.php.
| 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 653 of file class.tslib_fe.php.
| 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 705 of file class.tslib_fe.php.
| 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 718 of file class.tslib_fe.php.
| 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 851 of file class.tslib_fe.php.
| 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 947 of file class.tslib_fe.php.
| 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 1047 of file class.tslib_fe.php.
| tslib_fe::checkRootlineForIncludeSection | ( | ) |
Checks the current rootline for defined sections.
Definition at line 1099 of file class.tslib_fe.php.
| 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 1136 of file class.tslib_fe.php.
| 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 1152 of file class.tslib_fe.php.
| 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 1171 of file class.tslib_fe.php.
| 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 1180 of file class.tslib_fe.php.
| 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 1205 of file class.tslib_fe.php.
| 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 1237 of file class.tslib_fe.php.
| 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 1253 of file class.tslib_fe.php.
| tslib_fe::setSysPageWhereClause | ( | ) |
| 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 1292 of file class.tslib_fe.php.
| 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 1312 of file class.tslib_fe.php.
| 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 1327 of file class.tslib_fe.php.
| 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 1453 of file class.tslib_fe.php.
| 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 1472 of file class.tslib_fe.php.
| 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 1497 of file class.tslib_fe.php.
| 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 1527 of file class.tslib_fe.php.
| 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 1595 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 1627 of file class.tslib_fe.php.
| 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 1651 of file class.tslib_fe.php.
| tslib_fe::cHashParams | ( | $ | addQueryParams | ) |
Splits the input query-parameters into an array with certain parameters filtered out. Used to create the cHash value
| string | Query-parameters: "&xxx=yyy&zzz=uuu" |
Definition at line 1673 of file class.tslib_fe.php.
| tslib_fe::initTemplate | ( | ) |
Initialize the TypoScript template parser
Definition at line 1682 of file class.tslib_fe.php.
| tslib_fe::getFromCache | ( | ) |
See if page is in cache and get it if so Stores the page content in $this->content if something is found.
Definition at line 1694 of file class.tslib_fe.php.
| tslib_fe::getFromCache_queryRow | ( | ) |
Returning the cached version of page with hash = newHash
Definition at line 1746 of file class.tslib_fe.php.
| tslib_fe::headerNoCache | ( | ) |
Detecting if shift-reload has been clicked Will not be called if re-generation of page happens by other reasons (for instance that the page is not in cache yet!) Also, a backend user MUST be logged in for the shift-reload to be detected due to DoS-attack-security reasons.
Definition at line 1776 of file class.tslib_fe.php.
| tslib_fe::getHash | ( | ) |
Calculates the cache-hash This hash is unique to the template, the variables ->id, ->type, ->gr_list (list of groups), ->MP (Mount Points) and cHash array Used to get and later store the cached data.
Definition at line 1805 of file class.tslib_fe.php.
| tslib_fe::getConfigArray | ( | ) |
Checks if config-array exists already but if not, gets it
Definition at line 1825 of file class.tslib_fe.php.
| tslib_fe::getCompressedTCarray | ( | ) |
Get the compressed $TCA array for use in the front-end A compressed $TCA array holds only the ctrl- and feInterface-part for each table. But the column-definitions are omitted in order to save some memory and be more efficient. Operates on the global variable, $TCA
Definition at line 2016 of file class.tslib_fe.php.
| tslib_fe::includeTCA | ( | $ | TCAloaded = 1 |
) |
Includes full TCA. Normally in the frontend only a part of the global $TCA array is loaded, for instance the "ctrl" part. Thus it doesn't take up too much memory. If you need the FULL TCA available for some reason (like plugins using it) you should call this function which will include the FULL TCA. Global vars $TCA, $PAGES_TYPES, $LANG_GENERAL_LABELS can/will be affected. The flag $this->TCAloaded will make sure that such an inclusion happens only once since; If $this->TCAloaded is set, nothing is included.
| boolean | Probably, keep hands of this value. Just don't set it. (This may affect the first-ever time this function is called since if you set it to zero/false any subsequent call will still trigger the inclusion; In other words, this value will be set in $this->TCAloaded after inclusion and therefore if its false, another inclusion will be possible on the next call. See ->getCompressedTCarray()) |
Definition at line 2070 of file class.tslib_fe.php.
| tslib_fe::settingLanguage | ( | ) |
Setting the language key that'll be used by the current page. In this function it should be checked, 1) that this