TYPO3 Namespace Reference


Detailed Description

This is the MAIN DOCUMENT of the TypoScript driven standard front-end (from the "cms" extension) Basically this is the "index.php" script which all requests for TYPO3 delivered pages goes to in the frontend (the website)

Id

Author:
René Fritz <r.fritz@colorcube.de>
tslib

News: I had once said that when PHP 4.0.5 comes out I will reccomend the built in ob_gzhandler over my code unless you are generating flash or images on the fly.

I was wrong. PHP 4.0.5 is out and ob_gzhandler doesn't work for me.

Note: This is rather cool: http://leknor.com/code/gziped.php It will calculate the effects of this class on a page. compression level, cpu time, download time, etc

Note: this may be better for some sites: http://www.remotecommunications.com/apache/mod_gzip/ I've read that the above doesn't work with PHP output.

Changes compared to the upstream version:

2007-03-27 Oliver Hader <oh@inpublica.de>

Id

Author:
Sandy McArthur, Jr. <leknor@leknor.com> [CLASS/FUNCTION INDEX of SCRIPT]
53: class gzip_encode 193: function gzip_encode($level = 3, $debug=false, $outputCompressedSizes=false) 268: function gzip_accepted() 317: function get_complevel() 342: function linux_loadavg() 363: function freebsd_loadavg()

TOTAL FUNCTIONS: 5 (This index is automatically created/updated by the extension "extdeveval") gzip_encode - a class to gzip encode php output

Author:
Sandy McArthur, Jr. <Leknor@Leknor.com>
t3lib

Contains a class for evaluation of database integrity according to $TCA Most of these functions are considered obsolete!

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
93: class t3lib_admin 128: function genTree($theID, $depthData, $versions=FALSE) 217: function genTree_records($theID, $depthData, $table='', $versions=FALSE) 292: function genTreeStatus() 315: function lostRecords($pid_list) 346: function fixLostRecord($table,$uid) 367: function countRecords($pid_list) 395: function getGroupFields($mode) 429: function getFileFields($uploadfolder) 452: function getDBFields($theSearchTable) 480: function selectNonEmptyRecordsWithFkeys($fkey_arrays) 569: function testFileRefs () 620: function testDBRefs($theArray) 658: function whereIsRecordReferenced($searchTable,$id) 695: function whereIsFileReferenced($uploadfolder,$filename)

TOTAL FUNCTIONS: 14 (This index is automatically created/updated by the extension "extdeveval") This class holds functions used by the TYPO3 backend to check the integrity of the database (The DBint module, 'lowlevel' extension)

Depends on: Depends on loaddbgroup from t3lib/

Todo:
Need to really extend this class when the tcemain library has been updated and the whole API is better defined. There are some known bugs in this library. Further it would be nice with a facility to not only analyze but also clean up!
See also:
SC_mod_tools_dbint_index::func_relations(), SC_mod_tools_dbint_index::func_records()
Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
Contains the class "t3lib_ajax" containing functions for doing XMLHTTP requests to the TYPO3 backend and as well for generating replys. This technology is also known as ajax. Call ALL methods without making an object!

IMPORTANT NOTICE: The API the class provides is still NOT STABLE and SUBJECT TO CHANGE! It is planned to integrate an external AJAX library, so the API will most likely change again.

Author:
Sebastian Kurfuerst <sebastian@garbage-group.de> TYPO3 XMLHTTP class (new in TYPO3 4.0.0) This class contains two main parts: (1) generation of JavaScript code which creates an XMLHTTP object in a cross-browser manner (2) generation of XML data as a reply

Sebastian Kurfuerst <sebastian@garbage-group.de>

t3lib

Class for displaying an array as a tree

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
77: class t3lib_arrayBrowser 96: function tree($arr, $depth_in, $depthData) 160: function wrapValue($theValue,$depth) 172: function wrapArrayKey($label,$depth,$theValue) 196: function getSearchKeys($keyArr, $depth_in, $searchString, $keyArray) 228: function fixed_lgd($string,$chars) 245: function depthKeys($arr,$settings)

TOTAL FUNCTIONS: 6 (This index is automatically created/updated by the extension "extdeveval") Class for displaying an array as a tree See the extension 'lowlevel' /config (Backend module 'Tools > Configuration')

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
SC_mod_tools_config_index::main()
Contains class with basic file management functions

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
81: class t3lib_basicFileFunctions

SECTION: Checking functions 133: function init($mounts, $f_ext) 152: function getTotalFileInfo($wholePath) 172: function is_allowed($iconkey,$type) 197: function checkIfFullAccess($theDest) 211: function is_webpath($path) 231: function checkIfAllowed($ext, $theDest, $filename='') 241: function checkFileNameLen($fileName) 251: function is_directory($theDir) 268: function isPathValid($theFile) 283: function getUniqueName($theFile, $theDest, $dontCheckForUnique=0) 326: function checkPathAgainstMounts($thePath) 342: function findFirstWebFolder() 362: function blindPath($thePath) 378: function findTempFolder()

SECTION: Cleaning functions 412: function cleanDirectoryName($theDir) 422: function rmDoubleSlash($string) 432: function slashPath($path) 446: function cleanFileName($fileName,$charset='') 480: function formatSize($sizeInBytes)

TOTAL FUNCTIONS: 19 (This index is automatically created/updated by the extension "extdeveval") Contains functions for management, validation etc of files in TYPO3, using the concepts of web- and ftp-space. Please see the comment for the init() function

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
t3lib_basicFileFunctions::init()
Contains class for display of backend log

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
81: class t3lib_BEDisplayLog 106: function initArray() 123: function getTimeLabel($code) 139: function getUserLabel($code,$workspace=0) 154: function getTypeLabel($code) 168: function getActionLabel($code) 186: function getDetails($code,$text,$data,$sys_log_uid=0) 220: function reset() 234: function getErrorFormatting($sign, $error=0) 244: function formatDetailsForList($row) 261: function stripPath($inArr)

TOTAL FUNCTIONS: 10 (This index is automatically created/updated by the extension "extdeveval") This class holds some functions used to display the sys_log table-content. Used in the status-scripts and the log-module.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
tx_belog_webinfo, SC_mod_tools_log_index
Standard functions available for the TYPO3 backend. You are encouraged to use this class in your own applications (Backend Modules)

Call ALL methods without making an object! Eg. to get a page-record 51 do this: 't3lib_BEfuncgetRecord('pages',51)'

Id
Usage counts are based on search 22/2 2003 through whole backend source of typo3/ Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
185: class t3lib_BEfunc

SECTION: SQL-related, selecting records, searching 206: function deleteClause($table,$tableAlias='') 230: function getRecord($table,$uid,$fields='*',$where='',$useDeleteClause=true) 253: function getRecordWSOL($table,$uid,$fields='*',$where='',$useDeleteClause=true) 286: function getRecordRaw($table,$where='',$fields='*') 309: function getRecordsByField($theTable,$theField,$theValue,$whereClause='',$groupBy='',$orderBy='',$limit='',$useDeleteClause=true) 342: function searchQuery($searchWords,$fields,$table='') 357: function listQuery($field,$value) 369: function splitTable_Uid($str) 384: function getSQLselectableList($in_list,$tablename,$default_tablename) 412: function BEenableFields($table,$inv=0)

SECTION: SQL-related, DEPRECATED functions 476: function mm_query($select,$local_table,$mm_table,$foreign_table,$whereClause='',$groupBy='',$orderBy='',$limit='') 498: function DBcompileInsert($table,$fields_values) 512: function DBcompileUpdate($table,$where,$fields_values)

SECTION: Page tree, TCA related 542: function BEgetRootLine($uid,$clause='',$workspaceOL=FALSE) 598: function openPageTree($pid,$clearExpansion) 643: function getRecordPath($uid, $clause, $titleLimit, $fullTitleLimit=0) 686: function getExcludeFields() 716: function getExplicitAuthFieldValues() 787: function getSystemLanguages() 812: function readPageAccess($id,$perms_clause) 843: function getTCAtypes($table,$rec,$useFieldNameAsKey=0) 896: function getTCAtypeValue($table,$rec) 919: function getSpecConfParts($str, $defaultExtras) 950: function getSpecConfParametersFromArray($pArr) 978: function getFlexFormDS($conf,$row,$table,$fieldName='',$WSOL=TRUE)

SECTION: Caching related 1105: function storeHash($hash,$data,$ident) 1125: function getHash($hash,$expTime=0)

SECTION: TypoScript related 1161: function getPagesTSconfig($id,$rootLine='',$returnPartArray=0) 1217: function updatePagesTSconfig($id,$pageTS,$TSconfPrefix,$impParams='') 1272: function implodeTSParams($p,$k='')

SECTION: Users / Groups related 1309: function getUserNames($fields='username,usergroup,usergroup_cached_list,uid',$where='') 1327: function getGroupNames($fields='title,uid', $where='') 1344: function getListGroupNames($fields='title,uid') 1363: function blindUserNames($usernames,$groupArray,$excludeBlindedFlag=0) 1396: function blindGroupNames($groups,$groupArray,$excludeBlindedFlag=0)

SECTION: Output related 1437: function daysUntil($tstamp) 1449: function date($tstamp) 1460: function datetime($value) 1472: function time($value) 1488: function calcAge($seconds,$labels = 'min|hrs|days|yrs') 1514: function dateTimeAge($tstamp,$prefix=1,$date='') 1532: function titleAttrib($content='',$hsc=0) 1545: function titleAltAttrib($content) 1569: function thumbCode($row,$table,$field,$backPath,$thumbScript='',$uploaddir=NULL,$abs=0,$tparams='',$size='') 1637: function getThumbNail($thumbScript,$theFile,$tparams='',$size='') 1654: function titleAttribForPages($row,$perms_clause='',$includeAttrib=1) 1716: function getRecordIconAltText($row,$table='pages') 1758: function getLabelFromItemlist($table,$col,$key) 1784: function getItemLabel($table,$col,$printAllWrap='') 1809: function getRecordTitle($table,$row,$prep=0) 1847: function getProcessedValue($table,$col,$value,$fixed_lgd_chars=0,$defaultPassthrough=0,$noRecordLookup=FALSE,$uid=0) 2009: function getProcessedValueExtra($table,$fN,$fV,$fixed_lgd_chars=0,$uid=0) 2033: function getFileIcon($ext) 2047: function getCommonSelectFields($table,$prefix='') 2090: function makeConfigForm($configArray,$defaults,$dataPrefix)

SECTION: Backend Modules API functions 2165: function helpTextIcon($table,$field,$BACK_PATH,$force=0) 2187: function helpText($table,$field,$BACK_PATH,$styleAttrib='') 2239: function cshItem($table,$field,$BACK_PATH,$wrap='',$onlyIconMode=FALSE, $styleAttrib='') 2277: function editOnClick($params,$backPath='',$requestUri='') 2296: function viewOnClick($id,$backPath='',$rootLine='',$anchor='',$altUrl='',$addGetVars='',$switchFocus=TRUE) 2328: function getModTSconfig($id,$TSref) 2349: function getFuncMenu($mainParams,$elementName,$currentValue,$menuItems,$script='',$addparams='') 2392: function getFuncCheck($mainParams,$elementName,$currentValue,$script='',$addparams='',$tagParams='') 2417: function getFuncInput($mainParams,$elementName,$currentValue,$size=10,$script="",$addparams="") 2438: function unsetMenuItems($modTSconfig,$itemArray,$TSref) 2461: function getSetUpdateSignal($set='') 2512: function getModuleData($MOD_MENU, $CHANGED_SETTINGS, $modName, $type='', $dontValidateList='', $setDefaultList='')

SECTION: Core 2585: function compilePreviewKeyword($getVarsStr, $beUserUid, $ttl=172800) 2613: function lockRecords($table='',$uid=0,$pid=0) 2642: function isRecordLocked($table,$uid) 2682: function exec_foreign_table_where_query($fieldValue,$field='',$TSconfig=array(),$prefix='') 2763: function getTCEFORM_TSconfig($table,$row) 2814: function getTSconfig_pidValue($table,$uid,$pid) 2844: function getPidForModTSconfig($table,$uid,$pid) 2860: function getTSCpid($table,$uid,$pid) 2876: function firstDomainRecord($rootLine) 2898: function getDomainStartPage($domain, $path='') 2928: function RTEsetup($RTEprop,$table,$field,$type='') 2947: function &RTEgetObj() 2986: function &softRefParserObj($spKey) 3018: function explodeSoftRefParserList($parserList) 3050: function isModuleSetInTBE_MODULES($modName) 3073: function referenceCount($table,$ref,$msg='')

SECTION: Workspaces / Versioning 3132: function selectVersionsOfRecord($table, $uid, $fields='*', $workspace=0) 3180: function fixVersioningPid($table,&$rr,$ignoreWorkspaceMatch=FALSE) 3220: function workspaceOL($table,&$row,$wsid=-99) 3268: function getWorkspaceVersionOfRecord($workspace, $table, $uid, $fields='*') 3297: function getLiveVersionOfRecord($table,$uid,$fields='*') 3319: function isPidInVersionizedBranch($pid, $table='',$returnStage=FALSE) 3342: function versioningPlaceholderClause($table) 3356: function countVersionsOfRecordsOnPage($workspace,$pageId, $allTables=FALSE) 3391: function wsMapId($table,$uid)

SECTION: Miscellaneous 3421: function typo3PrintError($header,$text,$js='',$head=1) 3465: function TYPO3_copyRightNotice() 3489: function displayWarningMessages() 3546: function getPathType_web_nonweb($path) 3558: function ADMCMD_previewCmds($pageinfo) 3580: function processParams($params) 3606: function getListOfBackendModules($name,$perms_clause,$backPath='',$script='index.php')

TOTAL FUNCTIONS: 99 (This index is automatically created/updated by the extension "extdeveval") Standard functions available for the TYPO3 backend. Don't instantiate - call functions with "t3lib_BEfunc::" prefixed the function name.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains class for TYPO3 backend user authentication

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
76: class t3lib_beUserAuth extends t3lib_userAuthGroup 150: function trackBeUser($flag) 168: function checkLockToIP() 188: function backendCheckLogin() 216: function checkCLIuser() 240: function backendSetUC() 278: function overrideUC() 288: function resetUC() 301: function emailAtLogin() 353: function veriCode()

TOTAL FUNCTIONS: 9 (This index is automatically created/updated by the extension "extdeveval") TYPO3 user authentication, backend Could technically have been the same class as t3lib_userauthgroup since these two are always used together and only together. t3lib_userauthgroup contains most of the functions used for checking permissions, authenticating users, setting up the user etc. This class is most interesting in terms of an API for user from outside. This class contains the configuration of the database fields used plus some functions for the authentication process of backend users.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Generate a page-tree, browsable.

Id
Revised for TYPO3 3.6 November/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> René Fritz <r.fritz@colorcube.de> [CLASS/FUNCTION INDEX of SCRIPT]
74: class t3lib_browseTree extends t3lib_treeView 83: function init($clause='') 116: function getTitleAttrib($row) 128: function wrapIcon($icon,$row) 150: function getTitleStr($row,$titleLen=30)

TOTAL FUNCTIONS: 4 (This index is automatically created/updated by the extension "extdeveval") Extension class for the t3lib_treeView class, specially made for browsing pages

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> René Fritz <r.fritz@colorcube.de>
See also:
t3lib_treeView, t3lib_pageTree
t3lib

Contains base class for TYPO3 cli scripts

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
60: class t3lib_cli 83: function t3lib_cli() 96: function cli_getArg($option,$argv) 112: function cli_getArgIndex() 131: function cli_keyboardInput() 142: function cli_keyboardInput_yes() 154: function cli_echo($string='',$force=FALSE) 169: function cli_help() 207: function cli_indent($str,$indent)

TOTAL FUNCTIONS: 8 (This index is automatically created/updated by the extension "extdeveval") TYPO3 cli script basis

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains class for TYPO3 clipboard for records and files

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
97: class t3lib_clipboard

SECTION: Initialize 150: function initializeClipboard() 179: function lockToNormal() 196: function setCmd($cmd) 243: function setCurrentPad($padIdent) 258: function endClipboard() 271: function cleanUpCBC($CBarr,$table,$removeDeselected=0)

SECTION: Clipboard HTML renderings 306: function printClipboard() 413: function printContentFromTab($pad) 487: function padTitleWrap($str,$pad) 504: function linkItemText($str,$rec,$table='') 531: function selUrlDB($table,$uid,$copy=0,$deselect=0,$baseArray=array()) 547: function selUrlFile($path,$copy=0,$deselect=0,$baseArray=array()) 564: function pasteUrl($table,$uid,$setRedirect=1) 581: function deleteUrl($setRedirect=1,$file=0) 598: function editUrl() 619: function removeUrl($table,$uid) 632: function confirmMsg($table,$rec,$type,$clElements) 680: function clLabel($key,$Akey='labels') 689: function exportClipElementParameters()

SECTION: Helper functions 739: function removeElement($el) 751: function saveClipboard() 761: function currentMode() 771: function cleanCurrent() 798: function elFromTable($matchTable='',$pad='') 829: function isSelected($table,$uid) 843: function getSelectedRecord($table='',$uid='') 861: function isElements()

SECTION: FOR USE IN tce_db.php: 902: function makePasteCmdArray($ref,$CMD) 931: function makeDeleteCmdArray($CMD)

SECTION: FOR USE IN tce_file.php: 974: function makePasteCmdArray_file($ref,$FILE) 996: function makeDeleteCmdArray_file($FILE)

TOTAL FUNCTIONS: 31 (This index is automatically created/updated by the extension "extdeveval") TYPO3 clipboard for records and files

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Class for conversion between charsets.

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>

Martin Kutschker <martin.t.kutschker@blackbox.net> [CLASS/FUNCTION INDEX of SCRIPT]

136: class t3lib_cs 488: function parse_charset($charset) 507: function get_locale_charset($locale)

SECTION: Charset Conversion functions 560: function conv($str,$fromCS,$toCS,$useEntityForNoChar=0) 600: function convArray(&$array,$fromCS,$toCS,$useEntityForNoChar=0) 617: function utf8_encode($str,$charset) 663: function utf8_decode($str,$charset,$useEntityForNoChar=0) 706: function utf8_to_entities($str) 739: function entities_to_utf8($str,$alsoStdHtmlEnt=0) 773: function utf8_to_numberarray($str,$convEntities=0,$retChar=0) 823: function UnumberToChar($cbyte) 868: function utf8CharToUnumber($str,$hex=0)

SECTION: Init functions 911: function initCharset($charset) 973: function initUnicodeData($mode=null) 1198: function initCaseFolding($charset) 1260: function initToASCII($charset)

SECTION: String operation functions 1331: function substr($charset,$string,$start,$len=null) 1384: function strlen($charset,$string) 1414: function crop($charset,$string,$len,$crop='') 1467: function strtrunc($charset,$string,$len) 1501: function conv_case($charset,$string,$case) 1527: function specCharsToASCII($charset,$string)

SECTION: Internal string operation functions 1567: function sb_char_mapping($str,$charset,$mode,$opt='')

SECTION: Internal UTF-8 string operation functions 1622: function utf8_substr($str,$start,$len=null) 1655: function utf8_strlen($str) 1676: function utf8_strtrunc($str,$len) 1698: function utf8_strpos($haystack,$needle,$offset=0) 1723: function utf8_strrpos($haystack,$needle) 1745: function utf8_char2byte_pos($str,$pos) 1786: function utf8_byte2char_pos($str,$pos) 1809: function utf8_char_mapping($str,$mode,$opt='')

SECTION: Internal EUC string operation functions 1885: function euc_strtrunc($str,$len,$charset) 1914: function euc_substr($str,$start,$charset,$len=null) 1939: function euc_strlen($str,$charset) 1966: function euc_char2byte_pos($str,$pos,$charset) 2007: function euc_char_mapping($str,$charset,$mode,$opt='')

TOTAL FUNCTIONS: 35 (This index is automatically created/updated by the extension "extdeveval") Notes on UTF-8

Functions working on UTF-8 strings:

Functions nearly working on UTF-8 strings:

Functions NOT working on UTF-8 strings:

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>

Martin Kutschker <martin.t.kutschker@blackbox.net>

t3lib

Contains the class "t3lib_db" containing functions for building SQL queries and mysql wrappers, thus providing a foundational API to all database interaction. This class is instantiated globally as $TYPO3_DB in TYPO3 scripts.

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
138: class t3lib_DB

SECTION: Query execution 175: function exec_INSERTquery($table,$fields_values,$no_quote_fields=FALSE) 192: function exec_UPDATEquery($table,$where,$fields_values,$no_quote_fields=FALSE) 206: function exec_DELETEquery($table,$where) 225: function exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='') 250: function exec_SELECT_mm_query($select,$local_table,$mm_table,$foreign_table,$whereClause='',$groupBy='',$orderBy='',$limit='') 278: function exec_SELECT_queryArray($queryParts) 301: function exec_SELECTgetRows($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='',$uidIndexField='')

SECTION: Query building 346: function INSERTquery($table,$fields_values,$no_quote_fields=FALSE) 381: function UPDATEquery($table,$where,$fields_values,$no_quote_fields=FALSE) 422: function DELETEquery($table,$where) 451: function SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='') 492: function listQuery($field, $value, $table) 506: function searchQuery($searchWords,$fields,$table)

SECTION: Various helper functions 552: function fullQuoteStr($str, $table) 569: function fullQuoteArray($arr, $table, $noQuote=FALSE) 596: function quoteStr($str, $table) 612: function escapeStrForLike($str, $table) 625: function cleanIntArray($arr) 641: function cleanIntList($list) 655: function stripOrderBy($str) 669: function stripGroupBy($str) 681: function splitGroupOrderLimit($str)

SECTION: MySQL wrapper functions 749: function sql($db,$query) 763: function sql_query($query) 776: function sql_error() 788: function sql_num_rows($res) 800: function sql_fetch_assoc($res) 813: function sql_fetch_row($res) 825: function sql_free_result($res) 836: function sql_insert_id() 847: function sql_affected_rows() 860: function sql_data_seek($res,$seek) 873: function sql_field_type($res,$pointer) 887: function sql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password) 915: function sql_select_db($TYPO3_db)

SECTION: SQL admin functions 947: function admin_get_dbs() 965: function admin_get_tables() 984: function admin_get_fields($tableName) 1002: function admin_get_keys($tableName) 1020: function admin_query($query)

SECTION: Connecting service 1048: function connectDB()

SECTION: Debugging 1086: function debug($func)

TOTAL FUNCTIONS: 42 (This index is automatically created/updated by the extension "extdeveval") TYPO3 "database wrapper" class (new in 3.6.0) This class contains

This class is not in itself a complete database abstraction layer but can be extended to be a DBAL (by extensions, see "dbal" for example) ALL connectivity to the database in TYPO3 must be done through this class! The points of this class are:

USE: In all TYPO3 scripts the global variable $TYPO3_DB is an instance of this class. Use that. Eg. $GLOBALS['TYPO3_DB']->sql_fetch_assoc()

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains class which has functions that generates a difference output of a content string

Id
Revised for TYPO3 3.6 November/2003 by Kasper Skaarhoj XHTML Compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
66: class t3lib_diff 86: function makeDiffDisplay($str1,$str2,$wrapTag='span') 163: function getDiff($str1,$str2) 189: function addClearBuffer($clearBuffer,$last=0) 205: function explodeStringIntoWords($str) 226: function tagSpace($str,$rev=0)

TOTAL FUNCTIONS: 5 (This index is automatically created/updated by the extension "extdeveval") This class has functions which generates a difference output of a content string

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains the reknown class "t3lib_div" with general purpose functions

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant Usage counts are based on search 22/2 2003 through whole source including tslib/

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
232: class t3lib_div

SECTION: GET/POST Variables 262: function _GP($var) 280: function _GET($var=NULL) 297: function _POST($var=NULL) 313: function _GETset($inputGet,$key='') 336: function GPvar($var,$strip=0) 353: function GParrayMerged($var)

SECTION: IMAGE FUNCTIONS 397: function gif_compress($theFile, $type) 425: function png_to_gif_by_imagemagick($theFile) 450: function read_png_gif($theFile,$output_png=0)

SECTION: STRING FUNCTIONS 499: function fixed_lgd($string,$origChars,$preStr='...') 524: function fixed_lgd_pre($string,$chars) 538: function fixed_lgd_cs($string,$chars) 555: function breakTextForEmail($str,$implChar="
",$charWidth=76) 574: function breakLinesForEmail($str,$implChar="
",$charWidth=76) 610: function cmpIP($baseIP, $list) 626: function cmpIPv4($baseIP, $list) 668: function cmpIPv6($baseIP, $list) 711: function IPv6Hex2Bin ($hex) 726: function normalizeIPv6($address) 782: function validIPv6($ip) 805: function cmpFQDN($baseIP, $list) 835: function inList($list,$item) 847: function rmFromList($element,$list) 863: function expandList($list) 894: function intInRange($theInt,$min,$max=2000000000,$zeroValue=0) 910: function intval_positive($theInt) 923: function int_from_ver($verNumberStr) 934: function compat_version($verNumberStr) 952: function md5int($str) 965: function shortMD5($input, $len=10) 978: function uniqueList($in_list, $secondParameter=NULL) 992: function split_fileref($fileref) 1030: function dirname($path) 1046: function modifyHTMLColor($color,$R,$G,$B) 1066: function modifyHTMLColorAll($color,$all) 1077: function rm_endcomma($string) 1090: function danish_strtoupper($string) 1105: function convUmlauts($str) 1118: function testInt($var) 1130: function isFirstPartOfStr($str,$partStr) 1146: function formatSize($sizeInBytes,$labels='') 1181: function convertMicrotime($microtime) 1195: function splitCalc($string,$operators) 1217: function calcPriority($string) 1258: function calcParenthesis($string) 1284: function htmlspecialchars_decode($value) 1299: function deHSCentities($str) 1312: function slashJS($string,$extended=0,$char="'") 1325: function rawUrlEncodeJS($str) 1337: function rawUrlEncodeFP($str) 1348: function validEmail($email) 1363: function formatForTextarea($content)

SECTION: ARRAY FUNCTIONS 1394: function inArray($in_array,$item) 1411: function intExplode($delim, $string) 1430: function revExplode($delim, $string, $count=0) 1450: function trimExplode($delim, $string, $onlyNonEmptyValues=0) 1472: function uniqueArray($valueArray) 1484: function removeArrayEntryByValue($array,$cmpValue) 1513: function implodeArrayForUrl($name,$theArray,$str='',$skipBlank=0,$rawurlencodeParamName=0) 1538: function explodeUrl2Array($string,$multidim=FALSE) 1564: function compileSelectedGetVarsFromArray($varList,$getArray,$GPvarAlt=1) 1587: function addSlashesOnArray(&$theArray) 1611: function stripSlashesOnArray(&$theArray) 1633: function slashArray($arr,$cmd) 1650: function array_merge_recursive_overrule($arr0,$arr1,$notAddKeys=0,$includeEmtpyValues=true) 1683: function array_merge($arr1,$arr2) 1696: function csvValues($row,$delim=',',$quote='"')

SECTION: HTML/XML PROCESSING 1738: function get_tag_attributes($tag) 1775: function split_tag_attributes($tag) 1809: function implodeAttributes($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE) 1836: function implodeParams($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE) 1851: function wrapJS($string, $linebreak=TRUE) 1882: function xml2tree($string,$depth=999) 1969: function array2xml($array,$NSprefix='',$level=0,$docTag='phparray',$spaceInd=0, $options=array(),$stackData=array()) 2088: function xml2array($string,$NSprefix='',$reportDocTag=FALSE) 2198: function xmlRecompileFromStructValArray($vals) 2242: function xmlGetHeaderAttribs($xmlData)

SECTION: FILES FUNCTIONS 2275: function getURL($url, $includeHeader=0) 2342: function writeFile($file,$content) 2367: function fixPermissions($file) 2384: function writeFileToTypo3tempDir($filepath,$content) 2427: function mkdir($theNewFolder) 2446: function mkdir_deep($destination,$deepDir) 2468: function get_dirs($path) 2493: function getFilesInDir($path,$extensionList='',$prependPath=0,$order='') 2547: function getAllFilesAndFoldersInPath($fileArr,$path,$extList='',$regDirs=0,$recursivityLevels=99) 2570: function removePrefixPathFromList($fileArr,$prefixToRemove) 2586: function fixWindowsFilePath($theFile) 2598: function resolveBackPath($pathStr) 2626: function locationHeaderUrl($path)

SECTION: DEBUG helper FUNCTIONS 2666: function debug_ordvalue($string,$characters=100) 2683: function view_array($array_in) 2711: function print_array($array_in) 2726: function debug($var="",$brOrHeader=0) 2757: function debug_trail() 2779: function debugRows($rows,$header='')

SECTION: SYSTEM INFORMATION 2857: function getThisUrl() 2873: function linkThisScript($getParams=array()) 2897: function linkThisUrl($url,$getParams=array()) 2920: function getIndpEnv($getEnvName) 3113: function milliseconds() 3125: function clientInfo($useragent='')

SECTION: TYPO3 SPECIFIC FUNCTIONS 3212: function getFileAbsFileName($filename,$onlyRelative=1,$relToTYPO3_mainDir=0) 3248: function validPathStr($theFile) 3259: function isAbsPath($path) 3270: function isAllowedAbsPath($path) 3287: function verifyFilenameAgainstDenyPattern($filename) 3305: function upload_copy_move($source,$destination) 3331: function upload_to_tempfile($uploadedFileName) 3349: function unlink_tempfile($uploadedTempFileName) 3365: function tempnam($filePrefix) 3379: function stdAuthCode($uid_or_record,$fields='',$codeLength=8) 3410: function cHashParams($addQueryParams) 3433: function hideIfNotTranslated($l18n_cfg_fieldValue) 3448: function readLLfile($fileRef,$langKey) 3472: function readLLXMLfile($fileRef,$langKey) 3589: function llXmlAutoFileName($fileRef,$language) 3633: function loadTCA($table) 3653: function resolveSheetDefInDS($dataStructArray,$sheet='sDEF') 3686: function resolveAllSheetsInDS($dataStructArray) 3715: function callUserFunction($funcName,&$params,&$ref,$checkPrefix='user_',$silent=0) 3813: function &getUserObj($classRef,$checkPrefix='user_',$silent=0) 3871: function &makeInstance($className) 3883: function makeInstanceClassName($className) 3897: function &makeInstanceService($serviceType, $serviceSubType='', $excludeServiceKeys=array()) 3961: function plainMailEncoded($email,$subject,$message,$headers='',$enc='',$charset='',$dontEncodeHeader=false) 4031: function quoted_printable($string,$maxlen=76) 4078: function encodeHeader($line,$enc='',$charset='ISO-8859-1') 4121: function substUrlsInPlainText($message,$urlmode='76',$index_script_url='') 4155: function makeRedirectUrl($inUrl,$l=0,$index_script_url='') 4182: function freetypeDpiComp($font_size) 4194: function initSysLog() 4251: function sysLog($msg, $extKey, $severity=0) 4334: function devLog($msg, $extKey, $severity=0, $dataVar=FALSE) 4355: function arrayToLogString($arr, $valueList=array(), $valueLength=20) 4378: function imageMagickCommand($command, $parameters, $path='') 4425: function unQuoteFilenames($parameters,$unQuote=FALSE) 4459: function quoteJSvalue($value, $inScriptTags = false)

TOTAL FUNCTIONS: 138 (This index is automatically created/updated by the extension "extdeveval") The legendary "t3lib_div" class - Miscellaneous functions for general purpose. Most of the functions does not relate specifically to TYPO3 However a section of functions requires certain TYPO3 features available See comments in the source. You are encouraged to use this library in your own scripts!

USE: The class is intended to be used without creating an instance of it. So: Don't instantiate - call functions with "t3lib_div::" prefixed the function name. So use t3lib_div::[method-name] to refer to the functions, eg. 't3lib_divmilliseconds()'

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

t3lib_exec finds executables (programs) on Unix and Windows without knowing where they are

Id

Author:
René Fritz <r.fritz@colorcube.de> [CLASS/FUNCTION INDEX of SCRIPT]
85: class t3lib_exec 95: function checkCommand($cmd, $handler='') 166: function getCommand($cmd, $handler='', $handlerOpt='') 199: function addPaths($paths) 211: function getPaths($addInvalid=false) 237: function _init() 259: function _initPaths($paths='') 312: function _getConfiguredApps() 339: function _getPaths() 400: function _fixPath($path)

TOTAL FUNCTIONS: 9 (This index is automatically created/updated by the extension "extdeveval") returns exec command for a program or false

This class is meant to be used without instance: $cmd = t3lib_exec::getCommand ('awstats','perl');

The data of this class is hold in a global variable. Doing it this way the setup is cached. That means if a program is found once it don't have to be searched again.

user functions:

addPaths() could be used to extend the search paths getCommand() get a command string checkCommand() returns true if a command is available

Search paths that are included: $TYPO3_CONF_VARS['GFX']['im_path_lzw'] or $TYPO3_CONF_VARS['GFX']['im_path'] $TYPO3_CONF_VARS['SYS']['binPath'] $GLOBALS['_SERVER']['PATH'] '/usr/bin/,/usr/local/bin/' on Unix

binaries can be preconfigured with $TYPO3_CONF_VARS['SYS']['binSetup']

Author:
René Fritz <r.fritz@colorcube.de>
t3lib

extending class to class t3lib_basicFileFunctions

Id
Revised for TYPO3 3.6 May/2004 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
105: class t3lib_extFileFunctions extends t3lib_basicFileFunctions 151: function start($fileCmds) 181: function init_actionPerms($setup) 213: function processData() 270: function printLogErrorMessages($redirect='') 328: function findRecycler($theFile) 357: function writeLog($action,$error,$details_nr,$details,$data)

SECTION: File operation functions 384: function func_delete($cmds) 451: function func_copy($cmds) 542: function func_move($cmds) 637: function func_rename($cmds) 683: function func_newfolder($cmds) 713: function func_newfile($cmds) 750: function func_edit($cmds) 782: function func_upload($cmds) 821: function func_unzip($cmds)

TOTAL FUNCTIONS: 15 (This index is automatically created/updated by the extension "extdeveval") Contains functions for performing file operations like copying, pasting, uploading, moving, deleting etc. through the TCE Extending class to class t3lib_basicFileFunctions.

see basicFileFunctions see document "TYPO3 Core API" for syntax

This class contains functions primarily used by tce_file.php (TYPO3 Core Engine for file manipulation) Functions include copying, moving, deleting, uploading and so on...

Important internal variables:

$filemounts (see basicFileFunctions) $f_ext (see basicFileFunctions) ... All fileoperations must be within the filemount-paths. Further the fileextension MUST validate true with the f_ext array

The unzip-function allows unzip only if the destination path has it's f_ext[]['allow'] set to '*'!! You are allowed to copy/move folders within the same 'space' (web/ftp). You are allowed to copy/move folders between spaces (web/ftp) IF the destination has it's f_ext[]['allow'] set to '*'!

Advice: You should always exclude php-files from the webspace. This will keep people from uploading, copy/moving and renaming files to the php3/php-extension. You should never mount a ftp_space 'below' the webspace so that it reaches into the webspace. This is because if somebody unzips a zip-file in the ftp-space so that it reaches out into the webspace this will be a violation of the safety For example this is a bad idea: you have an ftp-space that is '/www/' and a web-space that is '/www/htdocs/'

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains a class with Extension Management functions

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
114: class t3lib_extMgm

SECTION: PATHS and other evaluation 131: function isLoaded($key,$exitOnError=0) 147: function extPath($key,$script='') 165: function extRelPath($key) 182: function siteRelPath($key) 194: function getCN($key)

SECTION: Adding BACKEND features 227: function addTCAcolumns($table,$columnArray,$addTofeInterface=0) 251: function addToAllTCAtypes($table,$str,$specificTypesList='',$position='') 309: function allowTableOnStandardPages($table) 326: function addModule($main,$sub='',$position='',$path='') 389: function insertModuleFunction($modname,$className,$classPath,$title,$MM_key='function',$WS='') 408: function addPageTSConfig($content) 422: function addUserTSConfig($content) 437: function addLLrefForTCAdescr($tca_descr_key,$file_ref)

SECTION: Adding SERVICES features 479: function addService($extKey, $serviceType, $serviceKey, $info) 547: function findService($serviceType, $serviceSubType='', $excludeServiceKeys=array()) 618: function deactivateService($serviceType, $serviceKey)

SECTION: Adding FRONTEND features 657: function addPlugin($itemArray,$type='list_type') 682: function addPiFlexFormValue($piKeyToMatch,$value) 702: function addToInsertRecords($table,$content_table='tt_content',$content_field='records') 733: function addPItoST43($key,$classFile='',$prefix='',$type='list_type',$cached=0) 808: function addStaticFile($extKey,$path,$title) 827: function addTypoScriptSetup($content) 841: function addTypoScriptConstants($content) 858: function addTypoScript($key,$type,$content,$afterStaticUid=0)

SECTION: INTERNAL EXTENSION MANAGEMENT: 921: function typo3_loadExtensions() 998: function _makeIncludeHeader($key,$file) 1019: function isCacheFilesAvailable($cacheFilePrefix) 1032: function isLocalconfWritable() 1045: function cannotCacheFilesWritable($cacheFilePrefix) 1069: function currentCacheFiles() 1092: function writeCacheFiles($extensions,$cacheFilePrefix) 1130: function removeCacheFiles()

TOTAL FUNCTIONS: 32 (This index is automatically created/updated by the extension "extdeveval") Extension Management functions

This class is never instantiated, rather the methods inside is called as functions like t3lib_extMgm::isLoaded('my_extension');

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains the base class for 'Extension Objects' in backend modules.

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
145: class t3lib_extobjbase 197: function init(&$pObj,$conf) 221: function handleExternalFunctionValue() 237: function incLocalLang() 253: function checkExtObj() 268: function extObjContent() 279: function modMenu()

TOTAL FUNCTIONS: 6 (This index is automatically created/updated by the extension "extdeveval") EXAMPLE: One level.

This can be seen in the extension 'cms' where the info module have a function added. In 'ext_tables.php' this is done by this function call:

t3lib_extMgm::insertModuleFunction( 'web_info', 'tx_cms_webinfo_page', t3lib_extMgm::extPath($_EXTKEY).'web_info/class.tx_cms_webinfo.php', 'LLL:EXT:cms/locallang_tca.php:mod_tx_cms_webinfo_page' );

EXAMPLE: Two levels. This is the advanced example. You can see it with the extension 'func_wizards' which is the first layer but then providing another layer for extensions to connect by. The key used in TBE_MODULES_EXT is normally 'function' (for the 'function menu') but the 'func_wizards' extension uses an alternative key for its configuration: 'wiz'. In the 'ext_tables.php' file of an extension ('wizard_crpages') which uses the framework provided by 'func_wizards' this looks like this:

t3lib_extMgm::insertModuleFunction( 'web_func', 'tx_wizardcrpages_webfunc_2', t3lib_extMgm::extPath($_EXTKEY).'class.tx_wizardcrpages_webfunc_2.php', 'LLL:EXT:wizard_crpages/locallang.php:wiz_crMany', 'wiz' );

But for this two-level thing to work it also requires that the parent module (the real backend module) supports it. This is the case for the modules web_func and web_info since they have two times inclusion sections in their index.php scripts. For example (from web_func):

// Make instance: $SOBE = t3lib_div::makeInstance("SC_mod_web_func_index"); $SOBE->init();

// Include files? foreach($SOBE->include_once as $INC_FILE) include_once($INC_FILE); $SOBE->checkExtObj(); // Checking for first level external objects

// Repeat Include files! - if any files has been added by second-level extensions foreach($SOBE->include_once as $INC_FILE) include_once($INC_FILE); $SOBE->checkSubExtObj(); // Checking second level external objects

$SOBE->main(); $SOBE->printContent();

Notice that the first part is as usual: Include classes and call $SOBE->checkExtObj() to initialize any level-1 sub-modules But then again ->include_once is traversed IF the initialization of the level-1 modules might have added more files!! And after that $SOBE->checkSubExtObj() is called to initialize the second level. In this way even a third level could be supported - but most likely that is a too layered model to be practical.

Anyways, the final interesting thing is to see what the framework "func_wizard" actually does:

require_once(PATH_t3lib."class.t3lib_extobjbase.php"); class tx_funcwizards_webfunc extends t3lib_extobjbase { var $localLangFile = "locallang.php"; var $function_key = "wiz"; function init(&$pObj,$conf) { // OK, handles ordinary init. This includes setting up the menu array with ->modMenu parent::init($pObj,$conf); // Making sure that any further external classes are added to the include_once array. Notice that inclusion happens twice in the main script because of this!!! $this->handleExternalFunctionValue(); } ....

Notice that the handleExternalFunctionValue of this class (t3lib_extobjbase) is called and that the ->function_key internal var is set!

The two level-2 sub-module "wizard_crpages" and "wizard_sortpages" are totally normal "submodules". Parent class for 'Extension Objects' in backend modules. Used for 'submodules' to other modules. Also called 'Function menu modules' in t3lib_extMgm. And now its even called 'Extension Objects'. Or 'Module functions'. Wish we had just one name. Or a name at all...(?) Thank God its not so advanced when it works... In other words this class is used for backend modules which is not true backend modules appearing in the menu but rather adds themselves as a new entry in the function menu which typically exists for a backend module (like Web>Functions, Web>Info or Tools etc...) The magic that binds this together is stored in the global variable $TBE_MODULES_EXT where extensions wanting to connect a module based on this class to an existing backend module store configuration which consists of the classname, script-path and a label (title/name) For more information about this, please see the large example comment for the class t3lib_SCbase. This will show the principle of a 'level-1' connection. The more advanced example - having two layers as it is done by the 'func_wizards' extension with the 'web_info' module - can be seen in the comment above.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
t3lib_SCbase,tx_funcwizards_webfunc::init(), tx_funcwizards_webfunc, tx_wizardsortpages_webfunc_2
Contains functions for manipulating flex form data

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
71: class t3lib_flexformtools 105: function traverseFlexFormXMLData($table,$field,$row,&$callBackObj,$callBackMethod_value) 203: function traverseFlexFormXMLData_recurse($dataStruct,$editData,&$PA,$path='') 274: function getAvailableLanguages()

SECTION: Processing functions 323: function cleanFlexFormXML($table,$field,$row) 347: function cleanFlexFormXML_callBackFunction($dsArr, $data, $PA, $path, &$pObj)

SECTION: Multi purpose functions 374: function &getArrayValueByPath($pathArray,&$array) 403: function setArrayValueByPath($pathArray,&$array,$value) 433: function flexArray2Xml($array, $addPrologue=FALSE)

TOTAL FUNCTIONS: 8 (This index is automatically created/updated by the extension "extdeveval") Contains functions for manipulating flex form data

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Generate a folder tree

Id
Revised for TYPO3 3.6 November/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> René Fritz <r.fritz@colorcube.de> [CLASS/FUNCTION INDEX of SCRIPT]
82: class t3lib_folderTree extends t3lib_treeView 89: function t3lib_folderTree() 107: function wrapIcon($icon,$row) 130: function wrapTitle($title,$row,$bank=0) 145: function getId($v) 155: function getJumpToParam($v) 167: function getTitleStr($row,$titleLen=30) 177: function getBrowsableTree() 240: function getFolderTree($files_path, $depth=999, $depthData='') 320: function getCount($files_path) 336: function initializePositionSaving()

TOTAL FUNCTIONS: 10 (This index is automatically created/updated by the extension "extdeveval") Extension class for the t3lib_treeView class, specially made for browsing folders in the File module

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> René Fritz <r.fritz@colorcube.de>
t3lib
See also:
class t3lib_treeView
Contains a class for formmail

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
69: class t3lib_formmail extends t3lib_htmlmail 95: function start($V,$base64=false) 172: function addAttachment($file, $filename)

TOTAL FUNCTIONS: 2 (This index is automatically created/updated by the extension "extdeveval") Formmail class, used by the TYPO3 "cms" extension (default frontend) to send email forms.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
tslib_fe::sendFormmail(), t3lib/formmail.php
Class used in module tools/dbint (advanced search) and which may hold code specific for that module However the class has a general principle in it which may be used in the web/export module.

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> Jo Hasenau <info@cybercraft.de> [CLASS/FUNCTION INDEX of SCRIPT]
88: class t3lib_fullsearch 103: function form() 117: function makeStoreControl() 156: function initStoreArray() 176: function cleanStoreQueryConfigs($storeQueryConfigs,$storeArray) 193: function addToStoreQueryConfigs($storeQueryConfigs,$index) 209: function saveQueryInAction($uid) 256: function loadStoreQueryConfigs($storeQueryConfigs,$storeIndex,$writeArray) 272: function procesStoreControl() 344: function queryMaker() 414: function getQueryResultCode($mQ,$res,$table) 534: function csvValues($row, $delim=',', $quote='"', $conf=array(), $table='') 550: function tableWrap($str) 559: function search() 614: function resultRowDisplay($row,$conf,$table) 662: function getProcessedValueExtra($table, $fN, $fV, $conf, $splitString) 781: function getTreeList($id, $depth, $begin = 0, $perms_clause) 818: function makeValueList($fN, $fV, $conf, $table, $splitString) 1028: function resultRowTitles($row,$conf,$table) 1058: function csvRowTitles($row, $conf, $table)

TOTAL FUNCTIONS: 19 (This index is automatically created/updated by the extension "extdeveval") Class used in module tools/dbint (advanced search) and which may hold code specific for that module However the class has a general principle in it which may be used in the web/export module.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

HTML mail class

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
193: class t3lib_htmlmail 261: function t3lib_htmlmail () 268: function start () 305: function useQuotedPrintable() 315: function useBase64() 326: function use8Bit() 338: function encodeMsg($content) 348: function addPlain ($content) 360: function addAttachment($file) 378: function addHTML ($file) 401: function extractHtmlInit($html,$url) 412: function send($recipient)

SECTION: Main functions 441: function setHeaders() 500: function setRecipient ($recip) 518: function getHTMLContentType() 527: function setContent() 554: function constructMixed ($boundary) 593: function constructHTML ($boundary) 617: function constructAlternative($boundary) 638: function constructHTML_media ($boundary) 691: function sendTheMail () 757: function getBoundary() 769: function setPlain ($content) 780: function setHtml ($content) 791: function add_header($header) 812: function add_message($string) 823: function getContent($type) 832: function preview()

SECTION: Functions for acquiring attachments, HTML, analyzing and so on ** 860: function fetchHTML($file) 878: function fetchHTMLMedia() 899: function extractMediaLinks() 976: function extractHyperLinks() 1025: function extractFramesInfo() 1051: function substMediaNamesInHTML($absolute) 1078: function substHREFsInHTML() 1106: function substHTTPurlsInPlainText($content) 1142: function fixRollOvers()

SECTION: File and URL-functions 1189: function makeBase64($inputstr) 1200: function getExtendedURL($url) 1222: function addUserPass($url) 1238: function getURL($url) 1250: function getStrippedURL($url) 1271: function getMimeType($url) 1300: function absRef($ref) 1320: function split_fileref($fileref) 1347: function extParseUrl($path) 1362: function tag_regex($tagArray) 1384: function get_tag_attributes($tag) 1426: function quoted_printable($string) 1437: function convertName($name)

TOTAL FUNCTIONS: 49 (This index is automatically created/updated by the extension "extdeveval") NOTES on MIME mail structures:

Plain + HTML multipart/alternative (text, html) multipart/alternative (text, html)

Plain + HTML + image multipart/related (m/a, cids) multipart/alternative (text, html)

multipart/related (m/a, cids) multipart/alternative (text, html)

plain + attachment multipart/mixed

HTML + Attachment: multipart/mixed (text/html , attachments)

Plain + HTML + Attachments: multipart/mixed (m/a, attachments) multipart/alternative (text, html)

Plain + HTML + image + attachment

Outlook expr. multipart/mixed (m/r, attachments) multipart/related (m/a, cids) multipart/alternative (text, html)

FROM RFC 1521:

5.1 Quoted-Printable Content-Transfer-Encoding The Quoted-Printable encoding is intended to represent data that largely consists of octets that correspond to printable characters in the ASCII character set. It encodes the data in such a way that the resulting octets are unlikely to be modified by mail transport. If the data being encoded are mostly ASCII text, the encoded form of the data remains largely recognizable by humans. A body which is entirely ASCII may also be encoded in Quoted-Printable to ensure the integrity of the data should the message pass through a character- translating, and/or line-wrapping gateway.

In this encoding, octets are to be represented as determined by the following rules: Rule #1: (General 8-bit representation) Any octet, except those indicating a line break according to the newline convention of the canonical (standard) form of the data being encoded, may be represented by an "=" followed by a two digit hexadecimal representation of the octet's value. The digits of the hexadecimal alphabet, for this purpose, are "0123456789ABCDEF". Uppercase letters must be used when sending hexadecimal data, though a robust implementation may choose to recognize lowercase letters on receipt. Thus, for example, the value 12 (ASCII form feed) can be represented by "=0C", and the value 61 (ASCII EQUAL SIGN) can be represented by "=3D". Except when the following rules allow an alternative encoding, this rule is mandatory. Rule #2: (Literal representation) Octets with decimal values of 33 through 60 inclusive, and 62 through 126, inclusive, MAY be represented as the ASCII characters which correspond to those octets (EXCLAMATION POINT through LESS THAN, and GREATER THAN through TILDE, respectively). Rule #3: (White Space): Octets with values of 9 and 32 MAY be represented as ASCII TAB (HT) and SPACE characters, respectively, but MUST NOT be so represented at the end of an encoded line. Any TAB (HT) or SPACE characters on an encoded line MUST thus be followed on that line by a printable character. In particular, an "=" at the end of an encoded line, indicating a soft line break (see rule #5) may follow one or more TAB (HT) or SPACE characters. It follows that an octet with value 9 or 32 appearing at the end of an encoded line must be represented according to Rule #1. This rule is necessary because some MTAs (Message Transport Agents, programs which transport messages from one user to another, or perform a part of such transfers) are known to pad lines of text with SPACEs, and others are known to remove "white space" characters from the end of a line. Therefore, when decoding a Quoted-Printable body, any trailing white space on a line must be deleted, as it will necessarily have been added by intermediate transport agents. Rule #4 (Line Breaks): A line break in a text body, independent of what its representation is following the canonical representation of the data being encoded, must be represented by a (RFC 822) line break, which is a CRLF sequence, in the Quoted-Printable encoding. Since the canonical representation of types other than text do not generally include the representation of line breaks, no hard line breaks (i.e. line breaks that are intended to be meaningful and to be displayed to the user) should occur in the quoted-printable encoding of such types. Of course, occurrences of "=0D", "=0A", "0A=0D" and "=0D=0A" will eventually be encountered. In general, however, base64 is preferred over quoted-printable for binary data. Note that many implementations may elect to encode the local representation of various content types directly, as described in Appendix G. In particular, this may apply to plain text material on systems that use newline conventions other than CRLF delimiters. Such an implementation is permissible, but the generation of line breaks must be generalized to account for the case where alternate representations of newline sequences are used. Rule #5 (Soft Line Breaks): The Quoted-Printable encoding REQUIRES that encoded lines be no more than 76 characters long. If longer lines are to be encoded with the Quoted-Printable encoding, 'soft' line breaks must be used. An equal sign as the last character on a encoded line indicates such a non-significant ('soft') line break in the encoded text. Thus if the "raw" form of the line is a single unencoded line that says: Now's the time for all folk to come to the aid of their country.

This can be represented, in the Quoted-Printable encoding, as

Now's the time = for all folk to come= to the aid of their country.

This provides a mechanism with which long lines are encoded in such a way as to be restored by the user agent. The 76 character limit does not count the trailing CRLF, but counts all other characters, including any equal signs. Since the hyphen character ("-") is represented as itself in the Quoted-Printable encoding, care must be taken, when encapsulating a quoted-printable encoded body in a multipart entity, to ensure that the encapsulation boundary does not appear anywhere in the encoded body. (A good strategy is to choose a boundary that includes a character sequence such as "=_" which can never appear in a quoted- printable body. See the definition of multipart messages later in this document.) NOTE: The quoted-printable encoding represents something of a compromise between readability and reliability in transport. Bodies encoded with the quoted-printable encoding will work reliably over most mail gateways, but may not work perfectly over a few gateways, notably those involving translation into EBCDIC. (In theory, an EBCDIC gateway could decode a quoted-printable body and re-encode it using base64, but such gateways do not yet exist.) A higher level of confidence is offered by the base64 Content-Transfer-Encoding. A way to get reasonably reliable transport through EBCDIC gateways is to also quote the ASCII characters !"#$@[\]^`{|}~ according to rule #1. See Appendix B for more information. Because quoted-printable data is generally assumed to be line- oriented, it is to be expected that the representation of the breaks between the lines of quoted printable data may be altered in transport, in the same manner that plain text mail has always been altered in Internet mail when passing between systems with differing newline conventions. If such alterations are likely to constitute a corruption of the data, it is probably more sensible to use the base64 encoding rather than the quoted-printable encoding. WARNING TO IMPLEMENTORS: If binary data are encoded in quoted- printable, care must be taken to encode CR and LF characters as "=0D" and "=0A", respectively. In particular, a CRLF sequence in binary data should be encoded as "=0D=0A". Otherwise, if CRLF were represented as a hard line break, it might be incorrectly decoded on platforms with different line break conventions. For formalists, the syntax of quoted-printable data is described by the following grammar:

quoted-printable := ([*(ptext / SPACE / TAB) ptext] ["="] CRLF) ; Maximum line length of 76 characters excluding CRLF

ptext := octet /<any ASCII character except "=", SPACE, or TAB> ; characters not listed as "mail-safe" in Appendix B ; are also not recommended.

octet := "=" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F") ; octet must be used for characters > 127, =, SPACE, or TAB, ; and is recommended for any characters not listed in ; Appendix B as "mail-safe". HTML mail class

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains class for icon generation in the backend

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
85: class t3lib_iconWorks 100: function getIconImage($table,$row=array(),$backPath,$params='',$shaded=FALSE) 118: function getIcon($table,$row=array(),$shaded=FALSE) 264: function skinImg($backPath,$src,$wHattribs='',$outputMode=0)

SECTION: Other functions 353: function makeIcon($iconfile,$mode, $user, $protectSection,$absFile,$iconFileName_stateTagged) 475: function imagecopyresized(&$im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h) 505: function imagecreatefrom($file) 522: function imagemake($im, $path)

TOTAL FUNCTIONS: 7 (This index is automatically created/updated by the extension "extdeveval") Icon generation, backend This library has functions that returns - and if necessary creates - the icon for an element in TYPO3

Expects global vars:

Notes: These functions are strongly related to the interface of TYPO3. The class is included in eg. init.php ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Class to setup values in localconf.php and verify the TYPO3 DB tables/fields

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
83: class t3lib_install 108: function t3lib_install()

SECTION: Writing to localconf.php 132: function setValueInLocalconfFile(&$line_array, $variable, $value) 183: function writeToLocalconf_control($inlines='',$absFullPath='') 253: function checkForBadString($string) 266: function slashValueForSingleDashes($value)

SECTION: SQL 291: function getFieldDefinitions_sqlContent($sqlContent) 359: function getFieldDefinitions_sqlContent_parseTypes(&$total) 406: function getFieldDefinitions_database() 450: function getDatabaseExtra($FDsrc, $FDcomp, $onlyTableList='') 496: function getUpdateSuggestions($diffArr,$keyList='extra,diff') 589: function assembleFieldDefinition($row) 611: function getStatementArray($sqlcode,$removeNonSQL=0,$query_regex='') 649: function getCreateTables($statements, $insertCountFlag=0) 683: function getTableInsertStatements($statements, $table) 704: function performUpdateQueries($arr,$keyArr) 720: function getListOfTables() 736: function generateUpdateDatabaseForm_checkboxes($arr,$label,$checked=1,$iconDis=0,$currentValue=array(),$cVfullMsg=0)

TOTAL FUNCTIONS: 17 (This index is automatically created/updated by the extension "extdeveval") Class to setup values in localconf.php and verify the TYPO3 DB tables/fields

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains class for loading database groups

Id
Revised for TYPO3 3.6 September/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
76: class t3lib_loadDBGroup 111: function start($itemlist, $tablelist, $MMtable='', $MMuid=0, $currentTable='', $conf=array()) 179: function readList($itemlist) 225: function readMM($tableName,$uid) 276: function writeMM($tableName,$uid,$prependTableName=0) 352: function readForeignField($uid, $conf) 435: function writeForeignField($conf, $parentUid, $updateToUid=0) 510: function getValueArray($prependTableName='') 538: function convertPosNeg($valueArray,$fTable,$nfTable) 560: function getFromDB() 595: function readyForInterface() 621: function countItems($returnAsArray = true) 636: function updateRefIndex($table,$id)

TOTAL FUNCTIONS: 12 (This index is automatically created/updated by the extension "extdeveval") Load database groups (relations) Used to process the relations created by the TCA element types "group" and "select" for database records. Manages MM-relations as well.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

This document provides a class that loads the modules for the TYPO3 interface.

Id
Modifications by Rene Fritz, 2001 Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
79: class t3lib_loadModules 99: function load($modulesArray,$BE_USER='') 370: function checkExtensionModule($name) 389: function checkMod($name, $fullpath) 471: function checkModAccess($name,$MCONF) 495: function checkModWorkspace($name,$MCONF) 519: function parseModulesArray($arr) 548: function cleanName ($str) 559: function getRelativePath($baseDir,$destDir)

TOTAL FUNCTIONS: 8 (This index is automatically created/updated by the extension "extdeveval") Load Backend Interface modules

Typically instantiated like this: $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules'); $this->loadModules->load($TBE_MODULES);

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains class for Matching TypoScript conditions

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
80: class t3lib_matchCondition 87: function __construct() 105: function t3lib_matchCondition() 115: function match($condition_line) 160: function evalConditionStr($string) 381: function testNumber($test,$value) 405: function matchWild($haystack,$needle) 429: function whichDevice($useragent) 498: function browserInfo($useragent) 611: function browserInfo_version($tmp) 624: function getGlobal($var, $source=NULL) 658: function getGP_ENV_TSFE($var)

TOTAL FUNCTIONS: 11 (This index is automatically created/updated by the extension "extdeveval") Matching TypoScript conditions

Used with the TypoScript parser. Matches browserinfo, IPnumbers for use with templates

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
t3lib_TStemplate::matching(), t3lib_TStemplate::generateConfig()
Manage storing and restoring of $GLOBALS['SOBE']->MOD_SETTINGS settings. Provides a presets box for BE modules.

inspired by t3lib_fullsearch

Id

Author:
René Fritz <r.fritz@colorcube.de> [CLASS/FUNCTION INDEX of SCRIPT]
125: class t3lib_modSettings

SECTION: Init / setup 181: function init($prefix='', $storeList='') 197: function setSessionType($type='ses')

SECTION: Store list - which values should be stored 218: function setStoreList($storeList) 231: function addToStoreList($storeList) 245: function addToStoreListFromPrefix($prefix='')

SECTION: Process storage array 279: function initStorage() 294: function cleanupStorageArray($storedSettings) 316: function compileEntry($data) 343: function getStoredData($storeIndex, $writeArray=array()) 360: function processStoreControl($mconfName='') 442: function writeStoredSetting($writeArray=array(), $mconfName='')

SECTION: GUI 474: function getStoreControl($showElements='load,remove,save', $useOwnForm=TRUE)

SECTION: Misc 576: function processEntry($storageArr)

TOTAL FUNCTIONS: 13 (This index is automatically created/updated by the extension "extdeveval") usage inside of scbase class

....

$this->MOD_MENU = array( 'function' => array( 'xxx ... ), 'tx_dam_select_storedSettings' => '',

....

function main() { // reStore settings $store = t3lib_div::makeInstance('t3lib_modSettings'); $store->init('tx_dam_select'); $store->setStoreList('tx_dam_select'); $store->processStoreControl();

// show control panel $this->content.= $this->doc->section('Settings',$store->getStoreControl(),0,1);

Format of saved settings

$SOBE->MOD_SETTINGS[$this->prefix.'_storedSettings'] = serialize( array ( 'any id' => array ( 'title' => 'title for saved settings', 'desc' => 'descritpion text, not mandatory', 'data' => array(), // data from MOD_SETTINGS 'user' => NULL, // can be used for extra data used by the application to identify this entry 'tstamp' => 12345, // time() ), 'another id' => ...

) ); Manage storing and restoring of $GLOBALS['SOBE']->MOD_SETTINGS settings. Provides a presets box for BE modules.

Author:
René Fritz <r.fritz@colorcube.de>
t3lib

Contains a class with "Page functions" mainly for the frontend

Id
Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj XHTML-trans compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
109: class t3lib_pageSelect 134: function init($show_hidden)

SECTION: Selecting page records 184: function getPage($uid, $disableGroupAccessCheck=FALSE) 200: function getPage_noCheck($uid) 216: function getFirstWebPage($uid) 234: function getPageIdFromAlias($alias) 250: function getPageOverlay($pageInput,$lUid=-1) 314: function getRecordOverlay($table,$row,$sys_language_content,$OLmode='')

SECTION: Page related: Menu, Domain record, Root line 413: function getMenu($uid,$fields='*',$sortField='sorting',$addWhere='',$checkShortcuts=1) 471: function getDomainStartPage($domain, $path='',$request_uri='') 519: function getRootLine($uid, $MP='', $ignoreMPerrors=FALSE) 640: function getPathFromRootline($rl,$len=20) 661: function getExtURL($pagerow,$disable=0) 685: function getMountPointInfo($pageId, $pageRec=FALSE, $prevMountPids=array(), $firstPageUid=0)

SECTION: Selecting records in general 762: function checkRecord($table,$uid,$checkPage=0) 797: function getRawRecord($table,$uid,$fields='*',$noWSOL=FALSE) 823: function getRecordsByField($theTable,$theField,$theValue,$whereClause='',$groupBy='',$orderBy='',$limit='')

SECTION: Caching and standard clauses 875: function getHash($hash,$expTime=0) 898: function storeHash($hash,$data,$ident) 916: function deleteClause($table) 936: function enableFields($table,$show_hidden=-1,$ignore_array=array(),$noVersionPreview=FALSE) 1008: function getMultipleGroupsWhereClause($field, $table)

SECTION: Versioning Preview 1055: function fixVersioningPid($table,&$rr) 1096: function versionOL($table,&$row) 1151: function getWorkspaceVersionOfRecord($workspace, $table, $uid, $fields='*')

TOTAL FUNCTIONS: 24 (This index is automatically created/updated by the extension "extdeveval") Page functions, a lot of sql/pages-related functions Mainly used in the frontend but also in some cases in the backend. It's important to set the right $where_hid_del in the object so that the functions operate properly

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
tslib_fe::fetch_the_id()
Generate a page-tree, non-browsable.

Id
Revised for TYPO3 3.6 November/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> René Fritz <r.fritz@colorcube.de> [CLASS/FUNCTION INDEX of SCRIPT]
78: class t3lib_pageTree extends t3lib_treeView 90: function init($clause='') 106: function expandNext($id) 123: function PMicon($row,$a,$c,$nextCount,$exp) 138: function initializePositionSaving()

TOTAL FUNCTIONS: 4 (This index is automatically created/updated by the extension "extdeveval") Class for generating a page tree.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> René Fritz <r.fritz@colorcube.de>
See also:
t3lib_treeView, t3lib_browseTree
t3lib

Contains class with functions for parsing HTML code.

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
106: class t3lib_parsehtml 123: function getSubpart($content, $marker) 156: function substituteSubpart($content,$marker,$subpartContent,$recursive=1,$keepMarker=0)

SECTION: Parsing HTML code 247: function splitIntoBlock($tag,$content,$eliminateExtraEndTags=0) 308: function splitIntoBlockRecursiveProc($tag,$content,&$procObj,$callBackContent,$callBackTags,$level=0) 344: function splitTags($tag,$content) 378: function getAllParts($parts,$tag_parts=1,$include_tag=1) 396: function removeFirstAndLastTag($str) 412: function getFirstTag($str) 426: function getFirstTagName($str,$preserveCase=FALSE) 445: function get_tag_attributes($tag,$deHSC=0) 486: function split_tag_attributes($tag) 524: function checkTagTypeCounts($content,$blockTags='a,b,blockquote,body,div,em,font,form,h1,h2,h3,h4,h5,h6,i,li,map,ol,option,p,pre,select,span,strong,table,td,textarea,tr,u,ul', $soloTags='br,hr,img,input,area')

SECTION: Clean HTML code 617: function HTMLcleaner($content, $tags=array(),$keepAll=0,$hSC=0,$addConfig=array()) 814: function bidir_htmlspecialchars($value,$dir) 837: function prefixResourcePath($main_prefix,$content,$alternatives=array(),$suffix='') 919: function prefixRelPath($prefix,$srcVal,$suffix='') 937: function cleanFontTags($value,$keepFace=0,$keepSize=0,$keepColor=0) 967: function mapTags($value,$tags=array(),$ltChar='<',$ltChar2='<') 982: function unprotectTags($content,$tagList='') 1015: function stripTagsExcept($value,$tagList) 1038: function caseShift($str,$flag,$cacheKey='') 1065: function compileTagAttribs($tagAttrib,$meta=array(), $xhtmlClean=0) 1093: function get_tag_attributes_classic($tag,$deHSC=0) 1106: function indentLines($content, $number=1, $indentChar="") 1123: function HTMLparserConfig($TSconfig,$keepTags=array()) 1247: function XHTML_clean($content) 1269: function processTag($value,$conf,$endTag,$protected=0) 1315: function processContent($value,$dir,$conf)

TOTAL FUNCTIONS: 28 (This index is automatically created/updated by the extension "extdeveval") Functions for parsing HTML. You are encouraged to use this class in your own applications

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Functions for parsing HTML, specially for TYPO3 processing in relation to TCEmain and Rich Text Editor (RTE)

Id
Revised for TYPO3 3.6 December/2003 by Kasper Skaarhoj XHTML compatible.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
103: class t3lib_parsehtml_proc extends t3lib_parsehtml 138: function init($elRef='',$recPid=0) 150: function setRelPath($path) 174: function evalWriteFile($pArr,$currentRecord)

SECTION: Main function 232: function RTE_transform($value,$specConf,$direction='rte',$thisConfig=array())

SECTION: Specific RTE TRANSFORMATION functions 398: function TS_images_db($value) 550: function TS_images_rte($value) 589: function TS_reglinks($value,$direction) 626: function TS_links_db($value) 675: function TS_links_rte($value) 760: function TS_preserve_db($value) 784: function TS_preserve_rte($value) 805: function TS_transform_db($value,$css=FALSE) 922: function transformStyledATags($value) 948: function TS_transform_rte($value,$css=0) 1019: function TS_strip_db($value)

SECTION: Generic RTE transformation, analysis and helper functions 1050: function getURL($url) 1064: function HTMLcleaner_db($content,$tagList='') 1091: function getKeepTags($direction='rte',$tagList='') 1200: function divideIntoLines($value,$count=5,$returnArray=FALSE) 1304: function setDivTags($value,$dT='p') 1349: function internalizeFontTags($value) 1385: function siteUrl() 1395: function rteImageStorageDir() 1407: function removeTables($value,$breakChar='
') 1439: function defaultTStagMapping($code,$direction='rte') 1462: function getWHFromAttribs($attribArray) 1489: function urlInfoForLinkTags($url) 1548: function TS_AtagToAbs($value,$dontSetRTEKEEP=FALSE)

TOTAL FUNCTIONS: 28 (This index is automatically created/updated by the extension "extdeveval") Class for parsing HTML for the Rich Text Editor. (also called transformations)

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains class for creating a position map.

Id
Revised for TYPO3 3.6 November/2003 by Kasper Skaarhoj XHTML compliant (should be)

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
85: class t3lib_positionMap

SECTION: Page position map: 132: function positionTree($id,$pageinfo,$perms_clause,$R_URI) 246: function JSimgFunc($prefix='') 276: function boldTitle($t_code,$dat,$id) 293: function onClickEvent($pid,$newPagePID) 312: function insertlabel() 324: function linkPageTitle($str,$rec) 335: function checkNewPageInPid($pid) 351: function getModConfig($pid) 366: function insertQuadLines($codes,$allBlank=0)

SECTION: Content element positioning: 404: function printContentElementColumns($pid,$moveUid,$colPosList,$showHidden,$R_URI) 442: function printRecordMap($lines,$colPosArray) 480: function wrapColumnHeader($str,$vv) 494: function insertPositionIcon($row,$vv,$kk,$moveUid,$pid) 511: function onClickInsertRecord($row,$vv,$moveUid,$pid,$sys_lang=0) 531: function wrapRecordHeader($str,$row) 541: function getRecordHeader($row) 554: function wrapRecordTitle($str,$row)

TOTAL FUNCTIONS: 17 (This index is automatically created/updated by the extension "extdeveval") Position map class - generating a page tree / content element list which links for inserting (copy/move) of records. Used for pages / tt_content element wizards of various kinds.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Class for generating front end for building queries

Id

Author:
Christian Jul Jensen <christian@typo3.com>

Kasper Skaarhoj <kasperYYYY@typo3.com> Jo Hasenau <info@cybercraft.de> [CLASS/FUNCTION INDEX of SCRIPT]

98: class t3lib_queryGenerator 245: function makeFieldList() 273: function init($name,$table,$fieldList='') 410: function setAndCleanUpExternalLists($name,$list,$force='') 426: function procesData($qC='') 529: function cleanUpQueryConfig($queryConfig) 586: function getFormElements($subLevel=0,$queryConfig='',$parent='') 744: function makeOptionList($fN, $conf, $table) 953: function printCodeArray($codeArr,$l=0) 976: function formatQ($str) 989: function mkOperatorSelect($name,$op,$draw,$submit) 1011: function mkTypeSelect($name,$fieldName,$prepend='FIELD_') 1032: function verifyType($fieldName) 1049: function verifyComparison($comparison,$neg) 1068: function mkFieldToInputSelect($name,$fieldName) 1091: function mkTableSelect($name,$cur) 1113: function mkCompSelect($name,$comparison,$neg) 1131: function getSubscript($arr) 1146: function initUserDef() 1155: function userDef() 1164: function userDefCleanUp($queryConfig) 1175: function getQuery ($queryConfig,$pad='') 1205: function getQuerySingle($conf,$first) 1245: function cleanInputVal($conf,$suffix='') 1270: function getUserDefQuery ($qcArr) 1278: function updateIcon() 1287: function getLabelCol() 1299: function makeSelectorTable($modSettings,$enableList='table,fields,query,group,order,limit') 1431: function getTreeList($id, $depth, $begin=0, $perms_clause) 1465: function getSelectQuery($qString = '', $fN = '') 1504: function JSbottom($formname='forms[0]') 1510: function typo3FormFieldSet(theField, evallist, is_in, checkbox, checkboxValue) 1528: function typo3FormFieldGet(theField, evallist, is_in, checkbox, checkboxValue, checkbox_off)

TOTAL FUNCTIONS: 32 (This index is automatically created/updated by the extension "extdeveval") Class for generating front end for building queries

Author:
Christian Jul Jensen <christian@typo3.com>

Kasper Skaarhoj <kasperYYYY@typo3.com>

t3lib

Contains a class with functions used to read email content

Id
Revised for TYPO3 3.6 May 2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
83: class t3lib_readmail

SECTION: General 113: function getMessage($mailParts) 138: function getTextContent($content) 153: function getMailBoundaryParts($boundary,$content) 173: function getCType($str) 196: function analyseReturnError($c) 251: function decodeHeaderString($str) 279: function extractNameEmail($str) 308: function getContentTypeData($contentTypeStr) 331: function makeUnixDate($dateStr) 354: function getGMToffset($GMT) 368: function extractMailHeader($content,$limit=0) 399: function fullParse($content)

TOTAL FUNCTIONS: 12 (This index is automatically created/updated by the extension "extdeveval") Functions used to read email content The class is still just a bunch of miscellaneous functions used to read content out of emails

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Library with a single function addElement that returns tablerows based on some input.

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj XHTML compliant

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
80: class t3lib_recordList 123: function addElement($h,$icon,$data,$tdParams='',$lMargin='',$altLine='') 198: function writeTop() 206: function writeBottom() 225: function fwd_rwd_nav($table='') 258: function fwd_rwd_HTML($type,$pointer,$table='') 284: function listURL($altId='') 294: function CBfunctions() 344: function initializeLanguages() 411: function languageFlag($sys_language_uid)

TOTAL FUNCTIONS: 9 (This index is automatically created/updated by the extension "extdeveval") This class is the base for listing of database records and files in the modules Web>List and File>Filelist

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
typo3/db_list.php, typo3/file_list.php
[CLASS/FUNCTION INDEX of SCRIPT]

89: class t3lib_refindex 107: function updateRefIndexTable($table,$uid,$testOnly=FALSE) 178: function generateRefIndexData($table,$uid) 255: function createEntryData($table,$uid,$field,$flexpointer,$deleted,$ref_table,$ref_uid,$ref_string='',$sort=-1,$softref_key='',$softref_id='') 282: function createEntryData_dbRels($table,$uid,$fieldname,$flexpointer,$deleted,$items) 299: function createEntryData_fileRels($table,$uid,$fieldname,$flexpointer,$deleted,$items) 320: function createEntryData_softreferences($table,$uid,$fieldname,$flexpointer,$deleted,$keys)

SECTION: Get relations from table row 376: function getRelations($table,$row,$onlyField='') 473: function getRelations_flexFormCallBack($dsArr, $dataValue, $PA, $structurePath, &$pObj) 523: function getRelations_procFiles($value, $conf, $uid) 573: function getRelations_procDB($value, $conf, $uid)

SECTION: Setting values 616: function setReferenceValue($hash,$newValue,$returnDataArray=FALSE) 699: function setReferenceValue_dbRels($refRec,$itemArray,$newValue,&$dataArray,$flexpointer='') 737: function setReferenceValue_fileRels($refRec,$itemArray,$newValue,&$dataArray,$flexpointer='') 775: function setReferenceValue_softreferences($refRec,$softref,$newValue,&$dataArray,$flexpointer='')

SECTION: Helper functions 822: function isReferenceField($conf) 832: function destPathFromUploadFolder($folder) 842: function error($msg) 853: function updateIndex($testOnly,$cli_echo=FALSE)

TOTAL FUNCTIONS: 18 (This index is automatically created/updated by the extension "extdeveval") Reference index processing and relation extraction

NOTICE: When the reference index is updated for an offline version the results may not be correct. First, lets assumed that the reference update happens in LIVE workspace (ALWAYS update from Live workspace if you analyse whole database!) Secondly, lets assume that in a Draft workspace you have changed the data structure of a parent page record - this is (in TemplaVoila) inherited by subpages. When in the LIVE workspace the data structure for the records/pages in the offline workspace will not be evaluated to the right one simply because the data structure is taken from a rootline traversal and in the Live workspace that will NOT include the changed DataSTructure! Thus the evaluation will be based on the Data Structure set in the Live workspace! Somehow this scenario is rarely going to happen. Yet, it is an inconsistency and I see now practical way to handle it - other than simply ignoring maintaining the index for workspace records. Or we can say that the index is precise for all Live elements while glitches might happen in an offline workspace? Anyway, I just wanted to document this finding - I don't think we can find a solution for it. And its very TemplaVoila specific.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

RTE API parent class.

Author:
Kasper Skĺrhřj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
64: class t3lib_rteapi

SECTION: Main API functions; 93: function isAvailable() 118: function drawRTE(&$pObj,$table,$field,$row,$PA,$specConf,$thisConfig,$RTEtypeVal,$RTErelPath,$thePidValue) 151: function transformContent($dirRTE,$value,$table,$field,$row,$specConf,$thisConfig,$RTErelPath,$pid)

SECTION: Helper functions 197: function triggerField($fieldName)

TOTAL FUNCTIONS: 4 (This index is automatically created/updated by the extension "extdeveval") RTE base class: Delivers browser-detection, TCEforms binding and transformation routines for the "rte" extension, registering it with the RTE API in TYPO3 3.6.0 See "rte" extension for usage.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains the parent class for 'ScriptClasses' in backend modules.

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
133: class t3lib_SCbase 249: function init() 269: function menuConfig() 292: function mergeExternalItems($modName,$menuKey,$menuArr) 317: function handleExternalFunctionValue($MM_key='function', $MS_value=NULL) 335: function getExternalItemConfig($modName,$menuKey,$value='') 349: function checkExtObj() 363: function checkSubExtObj() 375: function extObjHeader() 384: function extObjContent()

TOTAL FUNCTIONS: 9 (This index is automatically created/updated by the extension "extdeveval") EXAMPLE PROTOTYPE

As for examples there are lots of them if you search for classes which extends 't3lib_SCbase'. However you can see a prototype example of how a module might use this class in an index.php file typically hosting a backend module. NOTICE: This example only outlines the basic structure of how this class is used. You should consult the documentation and other real-world examples for some actual things to do when building modules.

// TYPICAL 'HEADER' OF A BACKEND MODULE: unset($MCONF); require ('conf.php'); require ($BACK_PATH.'init.php'); require ($BACK_PATH.'template.php'); $LANG->includeLLFile('EXT:prototype/locallang.php'); require_once(PATH_t3lib.'class.t3lib_scbase.php'); // NOTICE THE INCLUSION OF t3lib_SCbase $BE_USER->modAccess($MCONF,1);

// SC_mod_prototype EXTENDS THE CLASS t3lib_SCbase with a main() and printContent() function: class SC_mod_prototype extends t3lib_SCbase { // MAIN FUNCTION - HERE YOU CREATE THE MODULE CONTENT IN $this->content function main() { // TYPICALLY THE INTERNAL VAR, $this->doc is instantiated like this: $this->doc = t3lib_div::makeInstance('mediumDoc'); // TYPICALLY THE INTERNAL VAR, $this->backPath is set like this: $this->backPath = $this->doc->backPath = $GLOBALS['BACK_PATH']; // ... AND OF COURSE A LOT OF OTHER THINGS GOES ON - LIKE PUTTING CONTENT INTO $this->content $this->content=''; } // PRINT CONTENT - DONE AS THE LAST THING function printContent() { echo $this->content; } }

// CHECKING IF THERE ARE AN EXTENSION CLASS CONFIGURED FOR THIS CLASS: if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/prototype/index.php']) { include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/prototype/index.php']); }

// MAKE INSTANCE OF THE SCRIPT CLASS AND CALL init() $SOBE = t3lib_div::makeInstance('SC_mod_prototype'); $SOBE->init();

// AFTER INIT THE INTERNAL ARRAY ->include_once MAY HOLD FILENAMES TO INCLUDE foreach($SOBE->include_once as $INC_FILE) include_once($INC_FILE);

// THEN WE WILL CHECK IF THERE IS A 'SUBMODULE' REGISTERED TO BE INITIALIZED AS WELL: $SOBE->checkExtObj();

// THEN WE CALL THE main() METHOD AND THIS SHOULD SPARK THE CREATION OF THE MODULE OUTPUT. $SOBE->main(); // FINALLY THE printContent() FUNCTION WILL OUTPUT THE ACCUMULATED CONTENT $SOBE->printContent(); Parent class for 'ScriptClasses' in backend modules. See example comment above.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
t3lib_extobjbase
Soft Reference processing class "Soft References" are references to database elements, files, email addresses, URls etc. which are found in-text in content. The <link [page_id]> tag from typical bodytext fields are an example of this. This class contains generic parsers for the most well-known types which are default for most TYPO3 installations. Soft References can also be userdefined. The Soft Reference parsers are used by the system to find these references and process them accordingly in import/export actions and copy operations.

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
116: class t3lib_softrefproc 137: function findRef($table, $field, $uid, $content, $spKey, $spParams, $structurePath='') 213: function findRef_images($content, $spParams) 280: function findRef_typolink($content, $spParams) 317: function findRef_typolink_tag($content, $spParams) 352: function findRef_TStemplate($content, $spParams) 434: function findRef_TSconfig($content, $spParams) 457: function findRef_email($content, $spParams) 497: function findRef_url($content, $spParams) 539: function findRef_extension_fileref($content, $spParams)

SECTION: Helper functions 591: function fileadminReferences($content, &$elements) 634: function getTypoLinkParts($typolinkValue) 718: function setTypoLinkPartsElement($tLP, &$elements, $content, $idx) 833: function getPageIdFromAlias($link_param) 845: function makeTokenID($index='')

TOTAL FUNCTIONS: 14 (This index is automatically created/updated by the extension "extdeveval") Example of usage // Soft References: if ($conf['softref'] && strlen($value)) { // Check if a TCA configured field has softreferences defined (see TYPO3 Core API document) $softRefs = t3lib_BEfunc::explodeSoftRefParserList($conf['softref']); // Explode the list of softreferences/parameters foreach($softRefs as $spKey => $spParams) { // Traverse soft references $softRefObj = &t3lib_BEfunc::softRefParserObj($spKey); // create / get object if (is_object($softRefObj)) { // If there was an object returned...: $resultArray = $softRefObj->findRef($table, $field, $uid, $softRefValue, $spKey, $spParams); // Do processing

Result Array: The Result array should contain two keys: "content" and "elements". "content" is a string containing the input content but possibly with tokens inside. Tokens are strings like {softref:[tokenID]} which is a placeholder for a value extracted by a softref parser For each token there MUST be an entry in the "elements" key which has a "subst" key defining the tokenID and the tokenValue. See below. "elements" is an array where the keys are insignificant, but the values are arrays with these keys: "matchString" => The value of the match. This is only for informational purposes to show what was found. "error" => An error message can be set here, like "file not found" etc. "subst" => array( // If this array is found there MUST be a token in the output content as well! "tokenID" => The tokenID string corresponding to the token in output content, {softref:[tokenID]}. This is typically an md5 hash of a string defining uniquely the position of the element. "tokenValue" => The value that the token substitutes in the text. Basically, if this value is inserted instead of the token the content should match what was inputted originally. "type" => file / db / string = the type of substitution. "file" means it is a relative file [automatically mapped], "db" means a database record reference [automatically mapped], "string" means it is manually modified string content (eg. an email address) "relFileName" => (for "file" type): Relative filename. May not necessarily exist. This could be noticed in the error key. "recordRef" => (for "db" type) : Reference to DB record on the form [table]:[uid]. May not necessarily exist. "title" => Title of element (for backend information) "description" => Description of element (for backend information) ) Class for processing of the default soft reference types for CMS:

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

PHP SQL engine EXPERIMENTAL!

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
104: class t3lib_sqlengine extends t3lib_sqlparser 126: function init($config, &$pObj) 134: function resetStatusVars() 150: function processAccordingToConfig(&$value,$fInfo)

SECTION: SQL queries 205: function exec_INSERTquery($table,$fields_values) 273: function exec_UPDATEquery($table,$where,$fields_values) 332: function exec_DELETEquery($table,$where) 383: function exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy,$orderBy,$limit) 426: function sql_query($query) 437: function sql_error() 446: function sql_insert_id() 455: function sql_affected_rows() 465: function quoteStr($str)

SECTION: SQL admin functions 490: function admin_get_tables() 501: function admin_get_fields($tableName) 512: function admin_get_keys($tableName) 523: function admin_query($query)

SECTION: Data Source I/O 548: function readDataSource($table) 560: function saveDataSource($table)

SECTION: SQL engine functions (PHP simulation of SQL) - still experimental 590: function selectFromData($table,$where) 628: function select_evalSingle($table,$config,&$itemKeys) 747: function getResultSet($keys, $table, $fieldList)

SECTION: Debugging 790: function debug_printResultSet($array)

829: class t3lib_sqlengine_resultobj 843: function sql_num_rows() 852: function sql_fetch_assoc() 863: function sql_fetch_row() 881: function sql_data_seek($pointer) 894: function sql_field_type()

TOTAL FUNCTIONS: 27 (This index is automatically created/updated by the extension "extdeveval") PHP SQL engine / server Basically this is trying to emulation SQL record selection by PHP, thus allowing SQL queries into alternative data storages managed by PHP. EXPERIMENTAL!

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

PHP SQL engine, result object

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

TYPO3 SQL parser

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
107: class t3lib_sqlparser

SECTION: SQL Parsing, full queries 129: function parseSQL($parseString) 192: function parseSELECT($parseString) 261: function parseUPDATE($parseString) 315: function parseINSERT($parseString) 375: function parseDELETE($parseString) 413: function parseEXPLAIN($parseString) 435: function parseCREATETABLE($parseString) 514: function parseALTERTABLE($parseString) 583: function parseDROPTABLE($parseString) 616: function parseCREATEDATABASE($parseString)

SECTION: SQL Parsing, helper functions for parts of queries 670: function parseFieldList(&$parseString, $stopRegex='') 791: function parseFromTables(&$parseString, $stopRegex='') 882: function parseWhereClause(&$parseString, $stopRegex='') 990: function parseFieldDef(&$parseString, $stopRegex='')

SECTION: Parsing: Helper functions 1053: function nextPart(&$parseString,$regex,$trimAll=FALSE) 1068: function getValue(&$parseString,$comparator='') 1127: function getValueInQuotes(&$parseString,$quote) 1153: function parseStripslashes($str) 1167: function compileAddslashes($str) 1182: function parseError($msg,$restQuery) 1196: function trimSQL($str)

SECTION: Compiling queries 1225: function compileSQL($components) 1263: function compileSELECT($components) 1294: function compileUPDATE($components) 1322: function compileINSERT($components) 1362: function compileDELETE($components) 1382: function compileCREATETABLE($components) 1415: function compileALTERTABLE($components)

SECTION: Compiling queries, helper functions for parts of queries 1468: function compileFieldList($selectFields) 1510: function compileFromTables($tablesArray) 1551: function compileWhereClause($clauseArray) 1605: function compileFieldCfg($fieldCfg)

SECTION: Debugging 1654: function debug_parseSQLpart($part,$str) 1679: function debug_parseSQLpartCompare($str,$newStr,$caseInsensitive=FALSE) 1712: function debug_testSQL($SQLquery)

TOTAL FUNCTIONS: 35 (This index is automatically created/updated by the extension "extdeveval") TYPO3 SQL parser class.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Standard graphical functions

Id
Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
155: class t3lib_stdGraphic 236: function init()

SECTION: Layering images / "IMAGE" GIFBUILDER object 366: function maskImageOntoImage(&$im,$conf,$workArea) 436: function copyImageOntoImage(&$im,$conf,$workArea) 458: function copyGifOntoGif(&$im,$cpImg,$conf,$workArea) 537: function imagecopyresized(&$im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h)

SECTION: Text / "TEXT" GIFBUILDER object 587: function makeText(&$im,$conf,$workArea) 707: function txtPosition($conf,$workArea,$BB) 761: function calcBBox($conf) 820: function addToMap($cords,$conf) 843: function calcTextCordsForMap($cords,$offset, $conf) 878: function SpacedImageTTFText(&$im, $fontSize, $angle, $x, $y, $Fcolor, $fontFile, $text, $spacing, $wordSpacing, $splitRenderingConf, $sF=1) 915: function fontResize($conf) 958: function ImageTTFBBoxWrapper($fontSize, $angle, $fontFile, $string, $splitRendering, $sF=1) 1005: function ImageTTFTextWrapper($im, $fontSize, $angle, $x, $y, $color, $fontFile, $string, $splitRendering,$sF=1) 1058: function splitString($string,$splitRendering,$fontSize,$fontFile) 1208: function calcWordSpacing($conf, $scaleFactor=1) 1227: function getTextScalFactor($conf)

SECTION: Other GIFBUILDER objects related to TEXT 1262: function makeOutline(&$im,$conf,$workArea,$txtConf) 1291: function circleOffset($distance, $iterations) 1315: function makeEmboss(&$im,$conf,$workArea,$txtConf) 1337: function makeShadow(&$im,$conf,$workArea,$txtConf)

SECTION: Other GIFBUILDER objects 1469: function makeBox(&$im,$conf,$workArea) 1491: function makeEffect(&$im, $conf) 1506: function IMparams($setup) 1589: function adjust(&$im, $conf) 1621: function crop(&$im,$conf) 1652: function scale(&$im,$conf) 1684: function setWorkArea($workArea)

SECTION: Adjustment functions 1725: function autolevels(&$im) 1756: function outputLevels(&$im,$low,$high,$swap='') 1788: function inputLevels(&$im,$low,$high,$swap='') 1819: function reduceColors(&$im,$limit, $cols) 1832: function IMreduceColors($file, $cols)

SECTION: GIFBUILDER Helper functions 1875: function prependAbsolutePath($fontFile) 1889: function v5_sharpen($factor) 1908: function v5_blur($factor) 1925: function randomName() 1938: function applyOffset($cords,$OFFSET) 1951: function convertColor($string) 2001: function recodeString($string) 2023: function singleChars($theText,$returnUnicodeNumber=FALSE) 2046: function objPosition($conf,$workArea,$BB)

SECTION: Scaling, Dimensions of images 2125: function imageMagickConvert($imagefile,$newExt='',$w='',$h='',$params='',$frame='',$options='',$mustCreate=0) 2238: function getImageDimensions($imageFile) 2266: function cacheImageDimensions($identifyResult) 2298: function getCachedImageDimensions($imageFile) 2332: function getImageScale($info,$w,$h,$options) 2438: function file_exists_typo3temp_file($output,$orig='')

SECTION: ImageMagick API functions 2499: function imageMagickIdentify($imagefile) 2534: function imageMagickExec($input,$output,$params) 2557: function combineExec($input,$overlay,$mask,$output, $handleNegation = false) 2588: function wrapFileName($inputName)

SECTION: Various IO functions 2629: function checkFile($file) 2643: function createTempSubDir($dirName) 2665: function applyImageMagickToPHPGif(&$im, $command) 2691: function gif_or_jpg($type,$w,$h) 2708: function output($file) 2748: function destroy() 2758: function imgTag ($imgInfo) 2770: function ImageWrite($destImg, $theImage) 2808: function imageGif($destImg, $theImage) 2820: function imageCreateFromGif($sourceImg) 2831: function imageCreateFromFile($sourceImg) 2870: function imagecreate($w, $h) 2885: function hexColor($col) 2903: function unifyColors(&$img, $colArr, $closest = false)

TOTAL FUNCTIONS: 66 (This index is automatically created/updated by the extension "extdeveval") Class contains a bunch of cool functions for manipulating graphics with GDlib/Freetype and ImageMagick VERY OFTEN used with gifbuilder that extends this class and provides a TypoScript API to using these functions

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib
See also:
tslib_gifBuilder
Super Admin class has functions for the administration of multiple TYPO3 sites in folders NOTICE: Only compliant with single MySQL database usage per installation!

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Parent class for "Services" classes

Author:
René Fritz <r.fritz@colorcube.de>
t3lib

Contains a class for various syntax highlighting.

Id

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com> [CLASS/FUNCTION INDEX of SCRIPT]
84: class t3lib_syntaxhl

SECTION: Markup of Data Structure, <T3DataStructure> 156: function highLight_DS($str) 183: function highLight_DS_markUpRecursively($struct,$parent='',$app='')

SECTION: Markup of Data Structure, <T3FlexForms> 268: function highLight_FF($str) 295: function highLight_FF_markUpRecursively($struct,$parent='',$app='')

SECTION: Various 376: function getAllTags($str) 407: function splitXMLbyTags($tagList,$str)

TOTAL FUNCTIONS: 6 (This index is automatically created/updated by the extension "extdeveval") Syntax Highlighting class.

Author:
Kasper Skaarhoj <kasperYYYY@typo3.com>
t3lib

Contains TYPO3 Core Form generator - AKA "TCEforms"