b5547b2fe8e57f5533301591bdfdffa64c92c19b
[Packages/TYPO3.CMS.git] / t3lib / ext_php_api.dat
1 a:2:{s:4:"meta";a:3:{s:5:"title";s:28:"TYPO3 Core libraries, t3lib/";s:5:"descr";s:969:"This is the API documentation for the t3lib/ directory contents.\r
2 Many of these classes are possible to use in your own applications with TYPO3.\r
3 In any case you should read the notices for the files / classes first.\r
4 For practical uses of these APIs you should look for the document "TYPO3 Core API" (new with TYPO3 3.6.0) since this will point you to the functions which you might find useful.\r
5 \r
6 Here is a few highlights from this library:\r
7 For writing extensions, the file class.t3lib_extMgm.php contains various API functions for adding modules, tables, fields, and other configuration options, mostly from ext_tables.php and ext_localconf.php files.\r
8 General purpose functions for usage in both frontend and backend (often functions not specific to TYPO3) can be found in class.t3lib_div.php - please look into this class!\r
9 For backend programming (modules etc) the file class.t3lib_befunc.php contains functions - notice, they cannot be used from the frontend!\r
10 ";s:7:"options";a:2:{s:10:"usageCount";N;s:19:"includeCodeAbstract";N;}}s:5:"files";a:39:{s:14:"MD5_94ced24d11";a:4:{s:8:"filename";s:21:"class.t3lib_admin.php";s:8:"filesize";i:19373;s:6:"header";a:5:{s:4:"text";s:184:"
11
12 This class holds functions used by the TYPO3 backend to check the integrity of the database (The DBint module, 'lowlevel' extension)
13
14 Depends on:             Depends on loaddbgroup from t3lib/
15 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:240:"@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!";i:1;s:89:"@see SC_mod_tools_dbint_index::func_relations(), SC_mod_tools_dbint_index::func_records()";i:2;s:42:"@author      Kasper Skaarhoj <kasper@typo3.com>";i:3;s:14:"@package TYPO3";i:4;s:17:"@subpackage t3lib";}s:11:"other_index";a:5:{s:5:"@todo";a:1:{i:0;s:234:"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!";}s:4:"@see";a:1:{i:0;s:84:"SC_mod_tools_dbint_index::func_relations(), SC_mod_tools_dbint_index::func_records()";}s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:13:{i:1;a:8:{s:6:"header";s:19:"class t3lib_admin {";s:5:"class";i:1;s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:5:{s:4:"text";s:184:"
16
17 This class holds functions used by the TYPO3 backend to check the integrity of the database (The DBint module, 'lowlevel' extension)
18
19 Depends on:             Depends on loaddbgroup from t3lib/
20 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:240:"@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!";i:1;s:89:"@see SC_mod_tools_dbint_index::func_relations(), SC_mod_tools_dbint_index::func_records()";i:2;s:42:"@author      Kasper Skaarhoj <kasper@typo3.com>";i:3;s:14:"@package TYPO3";i:4;s:17:"@subpackage t3lib";}s:11:"other_index";a:5:{s:5:"@todo";a:1:{i:0;s:234:"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!";}s:4:"@see";a:1:{i:0;s:84:"SC_mod_tools_dbint_index::func_relations(), SC_mod_tools_dbint_index::func_records()";}s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:719;s:13:"content_lines";i:18;s:6:"atLine";i:88;}i:3;a:7:{s:6:"header";s:38:"function genTree($theID, $depthData)  {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:142:"
21
22 Generates a list of Page-uid's that corresponds to the tables in the tree. This list should ideally include all records in the pages-table.
23 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:58:"a pid (page-record id) from which to start making the tree";}i:1;a:2:{i:0;s:6:"string";i:1;s:72:"HTML-code (image-tags) used when this function calls itself recursively.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:44:"Number of mysql_num_rows (most recent query)";}}s:7:"content";s:0:"";s:12:"content_size";i:1396;s:13:"content_lines";i:27;s:6:"atLine";i:114;}i:5;a:7:{s:6:"header";s:33:"function lostRecords($pid_list)    {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:108:"
24
25 Fills $this->lRecords with the records from all tc-tables that are not attached to a PID in the pid-list.
26 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:74:"list of pid's (page-record uid's). This list is probably made by genTree()";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:683;s:13:"content_lines";i:21;s:6:"atLine";i:148;}i:7;a:7:{s:6:"header";s:37:"function fixLostRecord($table,$uid) {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:145:"
27
28 Fixes lost record from $table with uid $uid by setting the PID to zero. If there is a disabled column for the record that will be set as well.
29 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"Database tablename";}i:1;a:2:{i:0;s:7:"integer";i:1;s:67:"The uid of the record which will have the PID value set to 0 (zero)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:13:"True if done.";}}s:7:"content";s:0:"";s:12:"content_size";i:523;s:13:"content_lines";i:11;s:6:"atLine";i:177;}i:9;a:7:{s:6:"header";s:34:"function countRecords($pid_list)        {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:73:"
30
31 Counts records from $TCA-tables that ARE attached to an existing page.
32 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:74:"list of pid's (page-record uid's). This list is probably made by genTree()";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:100:"an array with the number of records from all $TCA-tables that are attached to a PID in the pid-list.";}}s:7:"content";s:0:"";s:12:"content_size";i:646;s:13:"content_lines";i:23;s:6:"atLine";i:195;}i:11;a:7:{s:6:"header";s:32:"function getGroupFields($mode)      {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:90:"
33
34 Finding relations in database based on type 'group' (files or database-uid's in a list)
35 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:45:"$mode = file, $mode = db, $mode = '' (all...)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:100:"An array with all fields listed that somehow are references to other records (foreign-keys) or files";}}s:7:"content";s:0:"";s:12:"content_size";i:749;s:13:"content_lines";i:27;s:6:"atLine";i:225;}i:13;a:7:{s:6:"header";s:39:"function getFileFields($uploadfolder)    {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:57:"
36
37 Finds all fields that hold filenames from uploadfolder
38 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Path to uploadfolder";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:82:"An array with all fields listed that have references to files in the $uploadfolder";}}s:7:"content";s:0:"";s:12:"content_size";i:438;s:13:"content_lines";i:16;s:6:"atLine";i:259;}i:15;a:7:{s:6:"header";s:39:"function getDBFields($theSearchTable)        {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:133:"
39
40 Returns an array with arrays of table/field pairs which are allowed to hold references to the input table name - according to $TCA
41 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:646;s:13:"content_lines";i:20;s:6:"atLine";i:282;}i:17;a:7:{s:6:"header";s:55:"function selectNonEmptyRecordsWithFkeys($fkey_arrays)     {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:5:{s:4:"text";s:104:"
42
43 This selects non-empty-records from the tables/fields in the fkey_array generated by getGroupFields()
44 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:54:"Array with tables/fields generated by getGroupFields()";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:21:"@see getGroupFields()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:17:"getGroupFields() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2538;s:13:"content_lines";i:69;s:6:"atLine";i:310;}i:19;a:7:{s:6:"header";s:26:"function testFileRefs ()     {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:55:"
45
46 Depends on selectNonEmpty.... to be executed first!!
47 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:79:"Report over files; keys are "moreReferences", "noReferences", "noFile", "error"";}}s:7:"content";s:0:"";s:12:"content_size";i:1387;s:13:"content_lines";i:44;s:6:"atLine";i:385;}i:21;a:7:{s:6:"header";s:32:"function testDBRefs($theArray)    {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:55:"
48
49 Depends on selectNonEmpty.... to be executed first!!
50 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:72:"Table with key/value pairs being table names and arrays with uid numbers";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:18:"HTML Error message";}}s:7:"content";s:0:"";s:12:"content_size";i:887;s:13:"content_lines";i:31;s:6:"atLine";i:436;}i:23;a:4:{s:6:"header";s:52:"function whereIsRecordReferenced($searchTable,$id)       {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:54:"
51
52 Finding all references to record based on table/uid
53 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:22:"Uid of database record";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:79:"Array with other arrays containing information about where references was found";}}s:6:"atLine";i:475;}i:25;a:7:{s:6:"header";s:57:"function whereIsFileReferenced($uploadfolder,$filename)      {";s:11:"parentClass";s:11:"t3lib_admin";s:4:"cDat";a:3:{s:4:"text";s:66:"
54
55 Finding all references to file based on uploadfolder / filename
56 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"Upload folder where file is found";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"Filename to search for";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:79:"Array with other arrays containing information about where references was found";}}s:7:"content";s:0:"";s:12:"content_size";i:1072;s:13:"content_lines";i:26;s:6:"atLine";i:509;}}}s:14:"MD5_866499da89";a:4:{s:8:"filename";s:28:"class.t3lib_arraybrowser.php";s:8:"filesize";i:7349;s:6:"header";a:5:{s:4:"text";s:120:"
57
58 Class for displaying an array as a tree
59 See the extension 'lowlevel' /config (Backend module 'Tools > Configuration')
60 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:38:"@see SC_mod_tools_config_index::main()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:34:"SC_mod_tools_config_index::main() ";}}}s:3:"DAT";a:5:{i:1;a:8:{s:6:"header";s:26:"class t3lib_arrayBrowser    {";s:5:"class";i:1;s:11:"parentClass";s:18:"t3lib_arrayBrowser";s:4:"cDat";a:5:{s:4:"text";s:120:"
61
62 Class for displaying an array as a tree
63 See the extension 'lowlevel' /config (Backend module 'Tools > Configuration')
64 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:38:"@see SC_mod_tools_config_index::main()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:34:"SC_mod_tools_config_index::main() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:532;s:13:"content_lines";i:5;s:6:"atLine";i:73;}i:3;a:7:{s:6:"header";s:44:"function tree($arr, $depth_in, $depthData)      {";s:11:"parentClass";s:18:"t3lib_arrayBrowser";s:4:"cDat";a:5:{s:4:"text";s:188:"
65
66 Make browsable tree
67 Before calling this function you may want to set some of the internal vars like depthKeys, regexMode and fixedLgd. For examples see SC_mod_tools_config_index::main()
68 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:20:"The array to display";}i:1;a:2:{i:0;s:6:"string";i:1;s:83:"Key-position id. Build up during recursive calls - [key1].[key2].[key3] - an so on.";}i:2;a:2:{i:0;s:6:"string";i:1;s:105:"Depth-data - basically a prefix for the icons. For calling this function from outside, let it stay blank.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"HTML for the tree";}s:5:"other";a:1:{i:0;s:38:"@see SC_mod_tools_config_index::main()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:34:"SC_mod_tools_config_index::main() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1602;s:13:"content_lines";i:53;s:6:"atLine";i:89;}i:5;a:7:{s:6:"header";s:71:"function getSearchKeys($keyArr, $depth_in, $searchString, $keyArray)            {";s:11:"parentClass";s:18:"t3lib_arrayBrowser";s:4:"cDat";a:3:{s:4:"text";s:91:"
69
70 Creates an array with "depthKeys" which will expand the array to show the search results
71 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:5:"array";i:1;s:33:"The array to search for the value";}i:1;a:2:{i:0;s:6:"string";i:1;s:128:"Depth string - blank for first call (will build up during recursive calling creating an id of the position: [key1].[key2].[key3]";}i:2;a:2:{i:0;s:6:"string";i:1;s:24:"The string to search for";}i:3;a:2:{i:0;s:5:"array";i:1;s:42:"Key array, for first call pass empty array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:645;s:13:"content_lines";i:24;s:6:"atLine";i:152;}i:7;a:4:{s:6:"header";s:36:"function fixed_lgd($string,$chars)    {";s:11:"parentClass";s:18:"t3lib_arrayBrowser";s:4:"cDat";a:3:{s:4:"text";s:24:"
72
73 Fixed length function
74 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"String to process";}i:1;a:2:{i:0;s:7:"integer";i:1;s:19:"Max number of chars";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Processed string";}}s:6:"atLine";i:184;}i:9;a:7:{s:6:"header";s:36:"function depthKeys($arr,$settings)      {";s:11:"parentClass";s:18:"t3lib_arrayBrowser";s:4:"cDat";a:5:{s:4:"text";s:40:"
75
76 Function modifying the depthKey array
77 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:44:"Array with instructions to open/close nodes.";}i:1;a:2:{i:0;s:5:"array";i:1;s:21:"Input depth_key array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:63:"Output depth_key array with entries added/removed based on $arr";}s:5:"other";a:1:{i:0;s:38:"@see SC_mod_tools_config_index::main()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:34:"SC_mod_tools_config_index::main() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:716;s:13:"content_lines";i:29;s:6:"atLine";i:201;}}}s:14:"MD5_025aad6443";a:4:{s:8:"filename";s:29:"class.t3lib_basicfilefunc.php";s:8:"filesize";i:17639;s:6:"header";a:5:{s:4:"text";s:160:"
78
79 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
80 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:37:"@see t3lib_basicFileFunctions::init()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:33:"t3lib_basicFileFunctions::init() ";}}}s:3:"DAT";a:19:{i:1;a:8:{s:6:"header";s:32:"class t3lib_basicFileFunctions       {";s:5:"class";i:1;s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:5:{s:4:"text";s:160:"
81
82 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
83 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:37:"@see t3lib_basicFileFunctions::init()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:33:"t3lib_basicFileFunctions::init() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1025;s:13:"content_lines";i:20;s:6:"atLine";i:78;}i:3;a:8:{s:6:"header";s:32:"function init($mounts, $f_ext)  {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:11:"sectionText";a:1:{i:0;s:18:"Checking functions";}s:4:"cDat";a:5:{s:4:"text";s:1701:"
84
85 Constructor
86 This function should be called to initialise the internal arrays $this->mounts and $this->f_ext
87
88  A typical example of the array $mounts is this:
89                 $mounts[xx][path] = (..a mounted path..)
90         the 'xx'-keys is just numerical from zero. There are also a [name] and [type] value that just denotes the mountname and type. Not used for athentication here.
91         $this->mounts is traversed in the function checkPathAgainstMounts($thePath), and it is checked that $thePath is actually below one of the mount-paths
92         The mountpaths are with a trailing '/'. $thePath must be with a trailing '/' also!
93         As you can see, $this->mounts is very critical! This is the array that decides where the user will be allowed to copy files!!
94  Typically the global var $WEBMOUNTS would be passed along as $mounts
95
96         A typical example of the array $f_ext is this:
97                 $f_ext['webspace']['allow']='';
98                 $f_ext['webspace']['deny']='php3,php';
99                 $f_ext['ftpspace']['allow']='*';
100                 $f_ext['ftpspace']['deny']='';
101         The control of fileextensions goes in two catagories. Webspace and Ftpspace. Webspace is folders accessible from a webbrowser (below TYPO3_DOCUMENT_ROOT) and ftpspace is everything else.
102         The control is done like this: If an extension matches 'allow' then the check returns true. If not and an extension matches 'deny' then the check return false. If no match at all, returns true.
103         You list extensions comma-separated. If the value is a '*' every extension is allowed
104         The list is case-insensitive when used in this class (see init())
105  Typically TYPO3_CONF_VARS['BE']['fileExtensions'] would be passed along as $f_ext.
106
107  Example:
108         $basicff->init($GLOBALS['FILEMOUNTS'],$TYPO3_CONF_VARS['BE']['fileExtensions']);
109 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:227:"Contains the paths of the file mounts for the current BE user. Normally $GLOBALS['FILEMOUNTS'] is passed. This variable is set during backend user initialization; $FILEMOUNTS = $BE_USER->returnFilemounts(); (see typo3/init.php)";}i:1;a:2:{i:0;s:5:"array";i:1;s:123:"Array with information about allowed and denied file extensions. Typically passed: $TYPO3_CONF_VARS['BE']['fileExtensions']";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:60:"@see typo3/init.php, t3lib_userAuthGroup::returnFilemounts()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:55:"typo3/init.php, t3lib_userAuthGroup::returnFilemounts()";}}}s:7:"content";s:0:"";s:12:"content_size";i:523;s:13:"content_lines";i:10;s:6:"atLine";i:130;}i:5;a:7:{s:6:"header";s:39:"function getTotalFileInfo($wholePath)     {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:56:"
110
111 Returns an array with a whole lot of fileinformation.
112 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:98:"Filepath to existing file. Should probably be absolute. Filefunctions are performed on this value.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:42:"Information about the file in the filepath";}}s:7:"content";s:0:"";s:12:"content_size";i:486;s:13:"content_lines";i:12;s:6:"atLine";i:147;}i:7;a:7:{s:6:"header";s:37:"function is_allowed($iconkey,$type)     {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:77:"
113
114 Checks if a $iconkey (fileextension) is allowed according to $this->f_ext.
115 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:48:"The extension to check, eg. "php" or "html" etc.";}i:1;a:2:{i:0;s:6:"string";i:1;s:65:"Either "webspage" or "ftpspace" - points to a key in $this->f_ext";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:34:"True if file extension is allowed.";}}s:7:"content";s:0:"";s:12:"content_size";i:721;s:13:"content_lines";i:18;s:6:"atLine";i:167;}i:9;a:7:{s:6:"header";s:38:"function checkIfFullAccess($theDest)    {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:106:"
116
117 Returns true if you can operate of ANY file ('*') in the space $theDest is in ('webspace' / 'ftpspace')
118 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Absolute path";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:204;s:13:"content_lines";i:6;s:6:"atLine";i:192;}i:11;a:7:{s:6:"header";s:28:"function is_webpath($path)    {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:157:"
119
120 Checks if $this->webPath (should be TYPO3_DOCUMENT_ROOT) is in the first part of $path
121 Returns true also if $this->init is not set or if $path is empty...
122 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"Absolute path to check";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:339;s:13:"content_lines";i:10;s:6:"atLine";i:206;}i:13;a:7:{s:6:"header";s:55:"function checkIfAllowed($ext, $theDest, $filename='')       {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:217:"
123
124 If the filename is given, check it against the TYPO3_CONF_VARS[BE][fileDenyPattern] +
125 Checks if the $ext fileextension is allowed in the path $theDest (this is based on whether $theDest is below the $this->webPath)
126 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:35:"File extension, eg. "php" or "html"";}i:1;a:2:{i:0;s:6:"string";i:1;s:31:"Absolute path for which to test";}i:2;a:2:{i:0;s:6:"string";i:1;s:62:"Filename to check against TYPO3_CONF_VARS[BE][fileDenyPattern]";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:37:"True if extension/filename is allowed";}}s:7:"content";s:0:"";s:12:"content_size";i:150;s:13:"content_lines";i:3;s:6:"atLine";i:226;}i:15;a:7:{s:6:"header";s:38:"function checkFileNameLen($fileName)   {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:84:"
127
128 Returns true if the input filename string is shorter than $this->maxInputNameLen.
129 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:28:"Filename, eg "somefile.html"";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:59;s:13:"content_lines";i:3;s:6:"atLine";i:236;}i:17;a:7:{s:6:"header";s:32:"function is_directory($theDir)  {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:108:"
130
131 Cleans $theDir for slashes in the end of the string and returns the new path, if it exists on the server.
132 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"Directory path to check";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:61:"Returns the cleaned up directory name if OK, otherwise false.";}}s:7:"content";s:0:"";s:12:"content_size";i:161;s:13:"content_lines";i:9;s:6:"atLine";i:246;}i:19;a:7:{s:6:"header";s:32:"function isPathValid($theFile) {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:5:{s:4:"text";s:40:"
133
134 Wrapper for t3lib_div::validPathStr()
135 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:48:"True, if no '//', '..' or '\' is in the $theFile";}s:5:"other";a:1:{i:0;s:30:"@see t3lib_div::validPathStr()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:26:"t3lib_div::validPathStr() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:49;s:13:"content_lines";i:3;s:6:"atLine";i:263;}i:21;a:7:{s:6:"header";s:67:"function getUniqueName($theFile, $theDest, $dontCheckForUnique=0)  {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:5:{s:4:"text";s:356:"
136
137 Returns the destination path/filename of a unique filename/foldername in that path.
138 If $theFile exists in $theDest (directory) the file have numbers appended up to $this->maxNumber. Hereafter a unique string will be appended.
139 This function is used by fx. TCEmain when files are attached to records and needs to be uniquely named in the uploads/* folders
140 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"The input filename to check";}i:1;a:2:{i:0;s:6:"string";i:1;s:121:"The directory for which to return a unique filename for $theFile. $theDest MUST be a valid directory. Should be absolute.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:100:"If set the filename is returned with the path prepended without checking whether it already existed!";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:100:"The destination absolute filepath (not just the name!) of a unique filename/foldername in that path.";}s:5:"other";a:1:{i:0;s:32:"@see t3lib_TCEmain::checkValue()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:28:"t3lib_TCEmain::checkValue() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1654;s:13:"content_lines";i:34;s:6:"atLine";i:278;}i:23;a:7:{s:6:"header";s:43:"function checkPathAgainstMounts($thePath)  {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:5:{s:4:"text";s:112:"
141
142 Checks if $thePath is a path under one of the paths in $this->mounts
143 See comment in the header of this class.
144 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:77:"$thePath MUST HAVE a trailing '/' in order to match correctly with the mounts";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:64:"The key to the first mount found, otherwise nothing is returned.";}s:5:"other";a:1:{i:0;s:11:"@see init()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:7:"init() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:247;s:13:"content_lines";i:10;s:6:"atLine";i:321;}i:25;a:7:{s:6:"header";s:30:"function blindPath($thePath)    {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:149:"
145
146 Removes filemount part of a path, thus blinding the position.
147 Takes a path, $thePath, and removes the part of the path which equals the filemount.
148 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:97:"$thePath is a path which MUST be found within one of the internally set filemounts, $this->mounts";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:24:"The processed input path";}}s:7:"content";s:0:"";s:12:"content_size";i:206;s:13:"content_lines";i:9;s:6:"atLine";i:339;}i:27;a:7:{s:6:"header";s:27:"function findTempFolder() {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:132:"
149
150 Find temporary folder
151 Finds the first $this->tempFN ('_temp_' usually) -folder in the internal array of filemounts, $this->mounts
152 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:54:"Returns the path if found, otherwise nothing if error.";}}s:7:"content";s:0:"";s:12:"content_size";i:313;s:13:"content_lines";i:22;s:6:"atLine";i:355;}i:29;a:8:{s:6:"header";s:38:"function cleanDirectoryName($theDir)       {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:11:"sectionText";a:1:{i:0;s:18:"Cleaning functions";}s:4:"cDat";a:3:{s:4:"text";s:55:"
153
154 Removes all dots, slashes and spaces after a path...
155 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Input string";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Output string";}}s:7:"content";s:0:"";s:12:"content_size";i:74;s:13:"content_lines";i:3;s:6:"atLine";i:384;}i:31;a:7:{s:6:"header";s:33:"function rmDoubleSlash($string)    {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:57:"
156
157 Converts any double slashes (//) to a single slash (/)
158 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Input value";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"Returns the converted string";}}s:7:"content";s:0:"";s:12:"content_size";i:45;s:13:"content_lines";i:3;s:6:"atLine";i:394;}i:33;a:7:{s:6:"header";s:27:"function slashPath($path)    {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:88:"
159
160 Returns a string which has a slash '/' appended if it doesn't already have that slash
161 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Input string";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:60:"Output string with a slash in the end (if not already there)";}}s:7:"content";s:0:"";s:12:"content_size";i:79;s:13:"content_lines";i:6;s:6:"atLine";i:404;}i:35;a:4:{s:6:"header";s:35:"function cleanFileName($fileName)   {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:89:"
162
163 Returns a string where any character not matching [.a-zA-Z0-9_-] is substituted by '_'
164 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:46:"Input string, typically the body of a filename";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:83:"Output string with any characters not matching [.a-zA-Z0-9_-] is substituted by '_'";}}s:6:"atLine";i:417;}i:37;a:7:{s:6:"header";s:35:"function formatSize($sizeInBytes) {";s:11:"parentClass";s:24:"t3lib_basicFileFunctions";s:4:"cDat";a:3:{s:4:"text";s:62:"
165
166 Formats an integer, $sizeInBytes, to Mb or Kb or just bytes
167 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:20:"Bytes to be formated";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:44:"Formatted with M,K or &nbsp;&nbsp; appended.";}}s:7:"content";s:0:"";s:12:"content_size";i:559;s:13:"content_lines";i:19;s:6:"atLine";i:428;}}}s:14:"MD5_fda2269b22";a:4:{s:8:"filename";s:28:"class.t3lib_bedisplaylog.php";s:8:"filesize";i:7747;s:6:"header";a:5:{s:4:"text";s:124:"
168
169 This class holds some functions used to display the sys_log table-content.
170 Used in the status-scripts and the log-module.
171 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:45:"@see tx_belog_webinfo, SC_mod_tools_log_index";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:40:"tx_belog_webinfo, SC_mod_tools_log_index";}}}s:3:"DAT";a:11:{i:1;a:8:{s:6:"header";s:26:"class t3lib_BEDisplayLog {";s:5:"class";i:1;s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:5:{s:4:"text";s:124:"
172
173 This class holds some functions used to display the sys_log table-content.
174 Used in the status-scripts and the log-module.
175 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:45:"@see tx_belog_webinfo, SC_mod_tools_log_index";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:40:"tx_belog_webinfo, SC_mod_tools_log_index";}}}s:7:"content";s:0:"";s:12:"content_size";i:409;s:13:"content_lines";i:13;s:6:"atLine";i:79;}i:3;a:7:{s:6:"header";s:22:"function initArray()      {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:3:{s:4:"text";s:53:"
176
177 Initialize the log table array with header labels.
178 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:198;s:13:"content_lines";i:10;s:6:"atLine";i:98;}i:5;a:7:{s:6:"header";s:30:"function getTimeLabel($code) {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:3:{s:4:"text";s:33:"
179
180 Get time label for log listing
181 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:20:"Timestamp to display";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:127:"If the timestamp was also shown last time, then "." is returned. Otherwise the new timestamp formatted with ->doc->formatTime()";}}s:7:"content";s:0:"";s:12:"content_size";i:154;s:13:"content_lines";i:8;s:6:"atLine";i:115;}i:7;a:7:{s:6:"header";s:30:"function getUserLabel($code)   {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:3:{s:4:"text";s:38:"
182
183 Get user name label for log listing
184 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:11:"be_user uid";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:76:"If username is different from last username then the username, otherwise "."";}}s:7:"content";s:0:"";s:12:"content_size";i:193;s:13:"content_lines";i:7;s:6:"atLine";i:130;}i:9;a:7:{s:6:"header";s:30:"function getTypeLabel($code)        {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:3:{s:4:"text";s:33:"
185
186 Get type label for log listing
187 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:35:"Key for the type label in locallang";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:83:"If labe is different from last type label then the label is returned, otherwise "."";}}s:7:"content";s:0:"";s:12:"content_size";i:187;s:13:"content_lines";i:7;s:6:"atLine";i:144;}i:11;a:7:{s:6:"header";s:32:"function getActionLabel($code)       {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:3:{s:4:"text";s:35:"
188
189 Get action label for log listing
190 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:37:"Key for the action label in locallang";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:85:"If labe is different from last action label then the label is returned, otherwise "."";}}s:7:"content";s:0:"";s:12:"content_size";i:193;s:13:"content_lines";i:7;s:6:"atLine";i:158;}i:13;a:7:{s:6:"header";s:55:"function getDetails($code,$text,$data,$sys_log_uid=0)    {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:5:{s:4:"text";s:32:"
191
192 Get details for the log entry
193 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:45:"Suffix to "msg_" to get label from locallang.";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"Details text";}i:2;a:2:{i:0;s:5:"array";i:1;s:10:"Data array";}i:3;a:2:{i:0;s:7:"integer";i:1;s:18:"sys_log uid number";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:11:"Text string";}s:5:"other";a:1:{i:0;s:27:"@see formatDetailsForList()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"formatDetailsForList() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1063;s:13:"content_lines";i:27;s:6:"atLine";i:176;}i:15;a:7:{s:6:"header";s:18:"function reset()      {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:3:{s:4:"text";s:58:"
194
195 Reset all internal "last..." variables to blank string.
196 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:115;s:13:"content_lines";i:6;s:6:"atLine";i:209;}i:17;a:7:{s:6:"header";s:36:"function getErrorFormatting($sign)   {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:5:{s:4:"text";s:48:"
197
198 Formats input string in red-colored font tags
199 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Input value";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:38:"Input wrapped in red font-tag and bold";}s:5:"other";a:1:{i:0;s:9:"@obsolete";}s:11:"other_index";a:1:{s:9:"@obsolete";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:59;s:13:"content_lines";i:3;s:6:"atLine";i:223;}i:19;a:4:{s:6:"header";s:37:"function formatDetailsForList($row)       {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:3:{s:4:"text";s:55:"
200
201 Formatting details text for the sys_log row inputted
202 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"sys_log row";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Details string";}}s:6:"atLine";i:233;}i:21;a:7:{s:6:"header";s:28:"function stripPath($inArr) {";s:11:"parentClass";s:18:"t3lib_BEDisplayLog";s:4:"cDat";a:5:{s:4:"text";s:184:"
203
204 For all entries in the $inArray (expected to be filepaths) the basename is extracted and set as value (if $this->stripPath is set)
205 This is done for log-entries from the FILE modules
206 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:19:"Array of file paths";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:27:"@see formatDetailsForList()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"formatDetailsForList() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:360;s:13:"content_lines";i:13;s:6:"atLine";i:250;}}}s:14:"MD5_bce9b8541b";a:4:{s:8:"filename";s:22:"class.t3lib_befunc.php";s:8:"filesize";i:100261;s:6:"header";a:5:{s:4:"text";s:139:"
207
208 Standard functions available for the TYPO3 backend.
209 Don't instantiate - call functions with "t3lib_BEfunc::" prefixed the function name.
210 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:79:{i:1;a:8:{s:6:"header";s:20:"class t3lib_BEfunc  {";s:5:"class";i:1;s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:139:"
211
212 Standard functions available for the TYPO3 backend.
213 Don't instantiate - call functions with "t3lib_BEfunc::" prefixed the function name.
214 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:153;s:13:"content_lines";i:10;s:6:"atLine";i:156;}i:3;a:8:{s:6:"header";s:31:"function deleteClause($table)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:41:"SQL-related, selecting records, searching";}s:4:"cDat";a:3:{s:4:"text";s:675:"
215
216 Returns the WHERE clause " AND NOT [tablename].[deleted-field]" if a deleted-field is configured in $TCA for the tablename, $table
217 This function should ALWAYS be called in the backend for selection on tables which are configured in TCA since it will ensure consistent selection of records, even if they are marked deleted (in which case the system must always treat them as non-existent!)
218 In the frontend a function, ->enableFields(), is known to filter hidden-field, start- and endtime and fe_groups as well. But that is a job of the frontend, not the backend. If you need filtering on those fields as well in the backend you can use ->BEenableFields() though.
219
220 Usage: 80
221 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Table name present in $TCA";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:79:"WHERE clause for filtering out deleted records, eg " AND NOT tablename.deleted"";}}s:7:"content";s:0:"";s:12:"content_size";i:154;s:13:"content_lines";i:8;s:6:"atLine";i:177;}i:5;a:7:{s:6:"header";s:55:"function getRecord($table,$uid,$fields='*',$where='')      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:292:"
222
223 Gets record with uid=$uid from $table
224 You can set $field to a list of fields (default is '*')
225 Additional WHERE clauses can be added by $where (fx. ' AND blabla=1')
226 Will automatically check if records has been deleted and if so, not return anything.
227 $table must be found in $TCA
228
229 Usage: 168
230 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Table name present in $TCA";}i:1;a:2:{i:0;s:7:"integer";i:1;s:13:"UID of record";}i:2;a:2:{i:0;s:6:"string";i:1;s:24:"List of fields to select";}i:3;a:2:{i:0;s:6:"string";i:1;s:47:"Additional WHERE clause, eg. " AND blablabla=0"";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:43:"Returns the row if found, otherwise nothing";}}s:7:"content";s:0:"";s:12:"content_size";i:268;s:13:"content_lines";i:10;s:6:"atLine";i:201;}i:7;a:7:{s:6:"header";s:53:"function getRecordRaw($table,$where='',$fields='*')  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:303:"
231
232 Returns the first record found from $table with $where as WHERE clause
233 This function does NOT check if a record has the deleted flag set.
234 $table does NOT need to be configured in $TCA
235 The query used is simply this:
236 $query='SELECT '.$fields.' FROM '.$table.' WHERE '.$where;
237
238 Usage: 5 (ext: sys_todos)
239 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:35:"Table name (not necessarily in TCA)";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"WHERE clause";}i:2;a:2:{i:0;s:6:"string";i:1;s:53:"$fields is a list of fields to select, default is '*'";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:23:"First row found, if any";}}s:7:"content";s:0:"";s:12:"content_size";i:160;s:13:"content_lines";i:7;s:6:"atLine";i:226;}i:9;a:7:{s:6:"header";s:73:"function getRecordsByField($theTable,$theField,$theValue,$endClause='')     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:200:"
240
241 Returns records from table, $theTable, where a field ($theField) equals the value, $theValue
242 The records are returned in an array
243 If no records were selected, the function returns nothing
244
245 Usage: 8
246 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Table name present in $TCA";}i:1;a:2:{i:0;s:6:"string";i:1;s:18:"Field to select on";}i:2;a:2:{i:0;s:6:"string";i:1;s:31:"Value that $theField must match";}i:3;a:2:{i:0;s:6:"string";i:1;s:117:"$endClause is a string prepended to the SQL-statement. Can be additional where clauses, a "LIMIT" clause or whatever.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:44:"Multidimensional array with selected records";}}s:7:"content";s:0:"";s:12:"content_size";i:373;s:13:"content_lines";i:13;s:6:"atLine";i:247;}i:11;a:7:{s:6:"header";s:44:"function searchQuery($searchWords,$fields)       {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:169:"
247
248 Returns a WHERE clause which will make an AND search for the words in the $searchWords array in any of the fields in array $fields.
249
250 Usage: 1 (class t3lib_fullsearch)
251 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:21:"Array of search words";}i:1;a:2:{i:0;s:5:"array";i:1;s:15:"Array of fields";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:23:"WHERE clause for search";}}s:7:"content";s:0:"";s:12:"content_size";i:263;s:13:"content_lines";i:10;s:6:"atLine";i:270;}i:13;a:7:{s:6:"header";s:35:"function listQuery($field,$value) {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:431:"
252
253 Returns a WHERE clause that can find a value ($value) in a list field ($field)
254 For instance a record in the database might contain a list of numbers, "34,234,5" (with no spaces between). This query would be able to select that record based on the value "34", "234" or "5" regardless of their positioni in the list (left, middle or right).
255 Is nice to look up list-relations to records or files in TYPO3 database tables.
256
257 Usage: 3
258 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Table field name";}i:1;a:2:{i:0;s:6:"string";i:1;s:21:"Value to find in list";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:24:"WHERE clause for a query";}}s:7:"content";s:0:"";s:12:"content_size";i:204;s:13:"content_lines";i:5;s:6:"atLine";i:292;}i:15;a:7:{s:6:"header";s:31:"function splitTable_Uid($str)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:141:"
259
260 Makes an backwards explode on the $str and returns an array with ($table,$uid).
261 Example: tt_content_45  =>      array('tt_content',45)
262
263 Usage: 1
264 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:35:"[tablename]_[uid] string to explode";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:99;s:13:"content_lines";i:4;s:6:"atLine";i:307;}i:17;a:7:{s:6:"header";s:72:"function getSQLselectableList ($in_list,$tablename,$default_tablename)     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:287:"
265
266 Returns a list of pure integers based on $in_list being a list of records with table-names prepended.
267 Ex: $in_list = "pages_4,tt_content_12,45" would result in a return value of "4,45" if $tablename is "pages" and $default_tablename is 'pages' as well.
268
269 Usage: 1 (t3lib_userauthgroup)
270 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Input list";}i:1;a:2:{i:0;s:6:"string";i:1;s:37:"Table name from which ids is returned";}i:2;a:2:{i:0;s:6:"string";i:1;s:100:"$default_tablename denotes what table the number '45' is from (if nothing is prepended on the value)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:11:"List of ids";}}s:7:"content";s:0:"";s:12:"content_size";i:472;s:13:"content_lines";i:16;s:6:"atLine";i:323;}i:19;a:7:{s:6:"header";s:40:"function BEenableFields($table,$inv=0)       {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:272:"
271
272 Backend implementation of enableFields()
273 Notice that "fe_groups" is not selected for - only disabled, starttime and endtime.
274 Notice that deleted-fields are NOT filtered - you must ALSO call deleteClause in addition.
275 $GLOBALS["SIM_EXEC_TIME"] is used for date.
276
277 Usage: 5
278 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:114:"$table is the table from which to return enableFields WHERE clause. Table name must have a 'ctrl' section in $TCA.";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:90:"$inv means that the query will select all records NOT VISIBLE records (inverted selection)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"WHERE clause part";}}s:7:"content";s:0:"";s:12:"content_size";i:962;s:13:"content_lines";i:27;s:6:"atLine";i:352;}i:21;a:7:{s:6:"header";s:80:"function mm_query($select,$local_table,$mm_table,$foreign_table,$endClause='')      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:585:"
279
280 Returns a SELECT query, selecting fields ($select) from two/three tables joined
281 $local_table and $mm_table is mandatory. $foreign_table is optional.
282 The JOIN is done with [$local_table].uid <--> [$mm_table].uid_local  / [$mm_table].uid_foreign <--> [$foreign_table].uid
283 $endClause is additional WHERE clauses / LIMIT / GROUP / ORDER BY
284 The function is very useful for selecting MM-relations between tables adhering to the MM-format used by TCE (TYPO3 Core Engine). See the section on $TCA in Inside TYPO3 for more details.
285
286 Usage: 12 (spec. ext. sys_action, sys_messages, sys_todos)
287 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Field list for SELECT";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"Tablename, local table";}i:2;a:2:{i:0;s:6:"string";i:1;s:25:"Tablename, relation table";}i:3;a:2:{i:0;s:6:"string";i:1;s:24:"Tablename, foreign table";}i:4;a:2:{i:0;s:6:"string";i:1;s:23:"Additional WHERE clause";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Full SQL query";}}s:7:"content";s:0:"";s:12:"content_size";i:276;s:13:"content_lines";i:6;s:6:"atLine";i:396;}i:23;a:7:{s:6:"header";s:58:"function DBcompileInsert($table,$fields_values,$slash=1)      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:110:"
288
289 Creates an INSERT SQL-statement for $table from the array with field/value pairs $fields_values.
290
291 Usage: 12
292 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:5:"array";i:1;s:33:"Field values as key=>value pairs.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:58:"Set $slash=1 if values should be addslashes()'ed (default)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Full SQL query for INSERT";}}s:7:"content";s:0:"";s:12:"content_size";i:270;s:13:"content_lines";i:7;s:6:"atLine";i:413;}i:25;a:7:{s:6:"header";s:65:"function DBcompileUpdate($table,$where,$fields_values,$slash=1)        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:147:"
293
294 Creates an UPDATE SQL-statement for $table where $where-clause (typ. 'uid=...') from the array with field/value pairs $fields_values.
295
296 Usage: 15
297 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"Database tablename";}i:1;a:2:{i:0;s:6:"string";i:1;s:25:"WHERE clause, eg. "uid=1"";}i:2;a:2:{i:0;s:5:"array";i:1;s:33:"Field values as key=>value pairs.";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:58:"Set $slash=1 if values should be addslashes()'ed (default)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Full SQL query for UPDATE";}}s:7:"content";s:0:"";s:12:"content_size";i:483;s:13:"content_lines";i:27;s:6:"atLine";i:432;}i:27;a:8:{s:6:"header";s:42:"function BEgetRootLine ($uid,$clause='')      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:22:"Page tree, TCA related";}s:4:"cDat";a:3:{s:4:"text";s:378:"
298
299 Returns what is called the 'RootLine'. That is an array with information about the page records from a page id ($uid) and back to the root.
300 By default deleted pages are filtered.
301 This RootLine will follow the tree all the way to the root. This is opposite to another kind of root line known from the frontend where the rootline stops when a root-template is found.
302
303 Usage: 13
304 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:42:"Page id for which to create the root line.";}i:1;a:2:{i:0;s:6:"string";i:1;s:157:"$clause can be used to select other criteria. It would typically be where-clauses that stops the proces if we meet a page, the user has no reading access to.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:81:"Root line array, all the way to the page tree root (or as far as $clause allows!)";}}s:7:"content";s:0:"";s:12:"content_size";i:970;s:13:"content_lines";i:34;s:6:"atLine";i:471;}i:29;a:7:{s:6:"header";s:50:"function getRecordPath($uid,$clause,$titleLimit)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:199:"
305
306 Returns the path (visually) of a page $uid, fx. "/First page/Second page/Another subpage"
307 Each part of the path will be limited to $titleLimit characters
308 Deleted pages are filtered out.
309
310 Usage: 23
311 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:7:"integer";i:1;s:40:"Page uid for which to create record path";}i:1;a:2:{i:0;s:6:"string";i:1;s:42:"$clause is additional where clauses, eg. "";}i:2;a:2:{i:0;s:7:"integer";i:1;s:11:"Title limit";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Path of record";}}s:7:"content";s:0:"";s:12:"content_size";i:509;s:13:"content_lines";i:18;s:6:"atLine";i:518;}i:31;a:7:{s:6:"header";s:29:"function getExcludeFields()    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:164:"
312
313 Returns an array with the exclude-fields as defined in TCA
314 Used for listing the exclude-fields in be_groups forms
315
316 Usage: 2 (t3lib_tceforms + t3lib_transferdata)
317 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:84:"Array of arrays with excludeFields (fieldname, table:fieldname) from all TCA entries";}}s:7:"content";s:0:"";s:12:"content_size";i:683;s:13:"content_lines";i:21;s:6:"atLine";i:545;}i:33;a:7:{s:6:"header";s:44:"function readPageAccess($id,$perms_clause)    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:350:"
318
319 Returns a page record (of page with $id) with an extra field "_thePath" set to the record path IF the WHERE clause, $perms_clause, selects the record.
320 If $id is zero a pseudo root-page with "_thePath" set is returned IF the current BE_USER is admin.
321 In any case ->isInWebMount must return true for the user (regardless of $perms_clause)
322
323 Usage: 21
324 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:39:"Page uid for which to check read-access";}i:1;a:2:{i:0;s:6:"string";i:1;s:82:"$perms_clause is typically a value generated with $BE_USER->getPagePermsClause(1);";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:43:"Returns page record if OK, otherwise false.";}}s:7:"content";s:0:"";s:12:"content_size";i:535;s:13:"content_lines";i:19;s:6:"atLine";i:578;}i:35;a:7:{s:6:"header";s:56:"function getTCAtypes($table,$rec,$useFieldNameAsKey=0) {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:108:"
325
326 Returns the "types" configuration parsed into an array for the record, $rec, from table, $table
327
328 Usage: 6
329 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"Table name (present in TCA)";}i:1;a:2:{i:0;s:5:"array";i:1;s:18:"Record from $table";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:118:"If $useFieldNameAsKey is set, then the fieldname is associative keys in the return array, otherwise just numeric keys.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:869;s:13:"content_lines";i:33;s:6:"atLine";i:608;}i:37;a:7:{s:6:"header";s:39:"function getTCAtypeValue($table,$rec)     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:385:"
330
331 Returns the "type" value of $rec from $table which can be used to look up the correct "types" rendering section in $TCA
332 If no "type" field is configured in the "ctrl"-section of the $TCA for the table, zero is used.
333 If zero is not an index in the "types" section of $TCA for the table, then the $fieldValue returned will default to 1 (no matter if that is an index or not)
334
335 Usage: 7
336 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"Table name present in TCA";}i:1;a:2:{i:0;s:5:"array";i:1;s:18:"Record from $table";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:11:"Field value";}s:5:"other";a:1:{i:0;s:18:"@see getTCAtypes()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"getTCAtypes() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:412;s:13:"content_lines";i:12;s:6:"atLine";i:654;}i:39;a:7:{s:6:"header";s:33:"function getSpecConfParts($str)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:369:"
337
338 Parses a part of the field lists in the "types"-section of $TCA arrays, namely the "special configuration" at index 3 (position 4)
339 Elements are splitted by ":" and within those parts, parameters are splitted by "|".
340 Everything is returned in an array and you should rather see it visually than listen to me anymore now...  Check out example in Inside TYPO3
341
342 Usage: 3
343 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:103:"Content from the "types" configuration of TCA (the special configuration) - see description of function";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:365;s:13:"content_lines";i:15;s:6:"atLine";i:677;}i:41;a:7:{s:6:"header";s:48:"function getSpecConfParametersFromArray($pArr)      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:178:"
344
345 Takes an array of "[key]=[value]" strings and returns an array with the keys set as keys pointing to the value.
346 Better see it in action! Find example in Inside TYPO3
347
348 Usage: 6
349 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:44:"Array of "[key]=[value]" strings to convert.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:262;s:13:"content_lines";i:15;s:6:"atLine";i:702;}i:43;a:7:{s:6:"header";s:43:"function getFlexFormDS($conf,$row,$table)        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:48:"
350
351 Finds the Data Structure for a FlexForm field
352 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:18:"Field config array";}i:1;a:2:{i:0;s:5:"array";i:1;s:11:"Record data";}i:2;a:2:{i:0;s:6:"string";i:1;s:14:"The table name";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:107:"If array, the data structure was found and returned as an array. Otherwise (string) it is an error message.";}s:5:"other";a:1:{i:0;s:46:"@see t3lib_TCEforms::getSingleField_typeFlex()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:42:"t3lib_TCEforms::getSingleField_typeFlex() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3695;s:13:"content_lines";i:92;s:6:"atLine";i:727;}i:45;a:8:{s:6:"header";s:40:"function storeHash($hash,$data,$ident)     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:15:"Caching related";}s:4:"cDat";a:3:{s:4:"text";s:197:"
353
354 Stores the string value $data in the 'cache_hash' table with the hash key, $hash, and visual/symbolic identification, $ident
355 IDENTICAL to the function by same name found in t3lib_page:
356
357 Usage: 2
358 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"Hash key, 32 bytes hex";}i:1;a:2:{i:0;s:6:"string";i:1;s:45:"$data must be serialized before function call";}i:2;a:2:{i:0;s:6:"string";i:1;s:51:"Visual/symbolic identification (informational only)";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:361;s:13:"content_lines";i:5;s:6:"atLine";i:831;}i:47;a:7:{s:6:"header";s:34:"function getHash($hash,$expTime)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:144:"
359
360 Retrieves the string content stored with hash key, $hash, in cache_hash
361 IDENTICAL to the function by same name found in t3lib_page:
362
363 Usage: 2
364 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"Hash key, 32 bytes hex";}i:1;a:2:{i:0;s:7:"integer";i:1;s:156:"$expTime represents the expire time in seconds. For instance a value of 3600 would allow cached content within the last hour, otherwise nothing is returned.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:465;s:13:"content_lines";i:24;s:6:"atLine";i:847;}i:49;a:8:{s:6:"header";s:64:"function getPagesTSconfig($id,$rootLine='',$returnPartArray=0)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:18:"TypoScript related";}s:4:"cDat";a:5:{s:4:"text";s:126:"
365
366 Returns the Page TSconfig for page with id, $id
367 Requires class "t3lib_TSparser"
368
369 Usage: 26 (spec. in ext info_pagetsconfig)
370 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:7:"integer";i:1;s:42:"Page uid for which to create Page TSconfig";}i:1;a:2:{i:0;s:5:"array";i:1;s:89:"If $rootLine is an array, that is used as rootline, otherwise rootline is just calculated";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:159:"If $returnPartArray is set, then the array with accumulated Page TSconfig is returned non-parsed. Otherwise the output will be parsed by the TypoScript parser.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:13:"Page TSconfig";}s:5:"other";a:1:{i:0;s:19:"@see t3lib_TSparser";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"t3lib_TSparser ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1087;s:13:"content_lines";i:32;s:6:"atLine";i:884;}i:51;a:7:{s:6:"header";s:71:"function updatePagesTSconfig($id,$pageTS,$TSconfPrefix,$impParams='')        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:456:"
371
372 Updates Page TSconfig for a page with $id
373 The function seems to take $pageTS as an array with properties and compare the values with those that already exists for the "object string", $TSconfPrefix, for the page, then sets those values which were not present.
374 $impParams can be supplied as already known Page TSconfig, otherwise it's calculated.
375
376 THIS DOES NOT CHECK ANY PERMISSIONS. SHOULD IT?
377 More documentation is needed.
378
379 Usage: 1 (ext. direct_mail)
380 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}i:1;a:2:{i:0;s:5:"array";i:1;s:22:"Page TS array to write";}i:2;a:2:{i:0;s:6:"string";i:1;s:23:"Prefix for object paths";}i:3;a:2:{i:0;s:5:"array";i:1;s:21:"[Description needed.]";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:42:"@see implodeTSParams(), getPagesTSconfig()";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:37:"implodeTSParams(), getPagesTSconfig()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1290;s:13:"content_lines";i:45;s:6:"atLine";i:935;}i:53;a:7:{s:6:"header";s:36:"function implodeTSParams($p,$k='')     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:107:"
381
382 Implodes a multi dimensional TypoScript array, $p, into a one-dimentional array (return value)
383
384 Usage: 3
385 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:20:"TypoScript structure";}i:1;a:2:{i:0;s:6:"string";i:1;s:13:"Prefix string";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:39:"Imploded TypoScript objectstring/values";}}s:7:"content";s:0:"";s:12:"content_size";i:449;s:13:"content_lines";i:27;s:6:"atLine";i:990;}i:55;a:8:{s:6:"header";s:89:"function getUserNames($fields='username,usergroup,usergroup_cached_list,uid',$where='')      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:22:"Users / Groups related";}s:4:"cDat";a:3:{s:4:"text";s:183:"
386
387 Returns an array with be_users records of all user NOT DELETED sorted by their username
388 Keys in the array is the be_users uid
389
390 Usage: 14 (spec. ext. "beuser" and module "web_perm")
391 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:116:"Optional $fields list (default: username,usergroup,usergroup_cached_list,uid) can be used to set the selected fields";}i:1;a:2:{i:0;s:6:"string";i:1;s:77:"Optional $where clause (fx. "AND username='pete'") can be used to limit query";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:320;s:13:"content_lines";i:10;s:6:"atLine";i:1028;}i:57;a:7:{s:6:"header";s:55:"function getGroupNames($fields='title,uid',$where='')     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:157:"
392
393 Returns an array with be_groups records (title, uid) of all groups NOT DELETED sorted by their title
394
395 Usage: 8 (spec. ext. "beuser" and module "web_perm")
396 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Field list";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"WHERE clause";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:298;s:13:"content_lines";i:9;s:6:"atLine";i:1048;}i:59;a:7:{s:6:"header";s:49:"function getListGroupNames($fields='title,uid')        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:284:"
397
398 Returns an array with be_groups records (like ->getGroupNames) but:
399 - if the current BE_USER is admin, then all groups are returned, otherwise only groups that the current user is member of (usergroup_cached_list) will be returned.
400
401 Usage: 2 (module "web_perm" and ext. taskcenter)
402 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:68:"Field list; $fields specify the fields selected (default: title,uid)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:269;s:13:"content_lines";i:7;s:6:"atLine";i:1067;}i:61;a:7:{s:6:"header";s:71:"function blindUserNames($usernames,$groupArray,$excludeBlindedFlag=0)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:358:"
403
404 Returns the array $usernames with the names of all users NOT IN $groupArray changed to the uid (hides the usernames!).
405 If $excludeBlindedFlag is set, then these records are unset from the array $usernames
406 Takes $usernames (array made by t3lib_BEfunc::getUserNames()) and a $groupArray (array with the groups a certain user is member of) as input
407
408 Usage: 8
409 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:10:"User names";}i:1;a:2:{i:0;s:5:"array";i:1;s:11:"Group names";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:85:"If $excludeBlindedFlag is set, then these records are unset from the array $usernames";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:19:"User names, blinded";}}s:7:"content";s:0:"";s:12:"content_size";i:593;s:13:"content_lines";i:23;s:6:"atLine";i:1087;}i:63;a:7:{s:6:"header";s:69:"function blindGroupNames($groups,$groupArray,$excludeBlindedFlag=0)     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:89:"
410
411 Corresponds to blindUserNames but works for groups instead
412
413 Usage: 2 (module web_perm)
414 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"Group names";}i:1;a:2:{i:0;s:5:"array";i:1;s:23:"Group names (reference)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:85:"If $excludeBlindedFlag is set, then these records are unset from the array $usernames";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:492;s:13:"content_lines";i:35;s:6:"atLine";i:1121;}i:65;a:8:{s:6:"header";s:29:"function daysUntil($tstamp)    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:14:"Output related";}s:4:"cDat";a:3:{s:4:"text";s:101:"
415
416 Returns the difference in days between input $tstamp and $EXEC_TIME
417
418 Usage: 2 (class t3lib_BEfunc)
419 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:19:"Time stamp, seconds";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:84;s:13:"content_lines";i:4;s:6:"atLine";i:1165;}i:67;a:7:{s:6:"header";s:24:"function date($tstamp) {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:100:"
420
421 Returns $tstamp formatted as "ddmmyy" (According to $TYPO3_CONF_VARS['SYS']['ddmmyy'])
422
423 Usage: 11
424 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:19:"Time stamp, seconds";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Formatted time";}}s:7:"content";s:0:"";s:12:"content_size";i:74;s:13:"content_lines";i:3;s:6:"atLine";i:1178;}i:69;a:7:{s:6:"header";s:27:"function datetime($value)        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:141:"
425
426 Returns $tstamp formatted as "ddmmyy hhmm" (According to $TYPO3_CONF_VARS['SYS']['ddmmyy'] AND $TYPO3_CONF_VARS['SYS']['hhmm'])
427
428 Usage: 28
429 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:19:"Time stamp, seconds";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Formatted time";}}s:7:"content";s:0:"";s:12:"content_size";i:120;s:13:"content_lines";i:3;s:6:"atLine";i:1190;}i:71;a:7:{s:6:"header";s:23:"function time($value)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:146:"
430
431 Returns $value (in seconds) formatted as hh:mm:ss
432 For instance $value = 3600 + 60*2 + 3 should return "01:02:03"
433
434 Usage: 1 (class t3lib_BEfunc)
435 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:19:"Time stamp, seconds";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Formatted time";}}s:7:"content";s:0:"";s:12:"content_size";i:197;s:13:"content_lines";i:7;s:6:"atLine";i:1203;}i:73;a:7:{s:6:"header";s:37:"function calcAge ($seconds,$labels)     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:67:"
436
437 Returns the "age" of the number of $seconds inputted.
438
439 Usage: 15
440 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:66:"$seconds could be the difference of a certain timestamp and time()";}i:1;a:2:{i:0;s:6:"string";i:1;s:198:"$labels should be something like ' min| hrs| days| yrs'. This value is typically delivered by this function call: $GLOBALS["LANG"]->sL("LLL:EXT:lang/locallang_core.php:labels.minutesHoursDaysYears")";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Formatted time";}}s:7:"content";s:0:"";s:12:"content_size";i:457;s:13:"content_lines";i:15;s:6:"atLine";i:1220;}i:75;a:7:{s:6:"header";s:50:"function dateTimeAge($tstamp,$prefix=1,$date='')  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:123:"
441
442 Returns a formatted timestamp if $tstamp is set.
443 The date/datetime will be followed by the age in parenthesis.
444
445 Usage: 3
446 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:7:"integer";i:1;s:19:"Time stamp, seconds";}i:1;a:2:{i:0;s:7:"integer";i:1;s:34:"1/-1 depending on polarity of age.";}i:2;a:2:{i:0;s:6:"string";i:1;s:74:"$date=="date" will yield "dd:mm:yy" formatting, otherwise "dd:mm:yy hh:mm"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:262;s:13:"content_lines";i:5;s:6:"atLine";i:1247;}i:77;a:7:{s:6:"header";s:42:"function titleAttrib($content='',$hsc=0)    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:379:"
447
448 Returns either title='' or alt='' attribute. This depends on the client browser and whether it supports title='' or not (which is the default)
449 If no $content is given only the attribute name is returned.
450 The returned attribute with content will have a leading space char.
451 Warning: Be careful to submit empty $content var - that will return just the attribute name!
452
453 Usage: 203
454 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:94:"String to set as title-attribute. If no $content is given only the attribute name is returned.";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:116:"If $hsc is set, then content of the attribute is htmlspecialchar()'ed (which is good for XHTML and other reasons...)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:160:"@depreciated           The idea made sense with older browsers, but now all browsers should support the "title" attribute - so just hardcode the title attribute instead!";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:146:"The idea made sense with older browsers, but now all browsers should support the "title" attribute - so just hardcode the title attribute instead!";}}}s:7:"content";s:0:"";s:12:"content_size";i:236;s:13:"content_lines";i:5;s:6:"atLine";i:1266;}i:79;a:7:{s:6:"header";s:35:"function titleAltAttrib($content)     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:69:"
455
456 Returns alt="" and title="" attributes with the value of $content.
457 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:84:"Value for 'alt' and 'title' attributes (will be htmlspecialchars()'ed before output)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:131;s:13:"content_lines";i:6;s:6:"atLine";i:1278;}i:81;a:7:{s:6:"header";s:108:"function thumbCode($row,$table,$field,$backPath,$thumbScript='',$uploaddir='',$abs=0,$tparams='',$size='')    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:313:"
458
459 Returns a linked image-tag for thumbnail(s) from a database row with a list of image files in a field
460 All $TYPO3_CONF_VARS['GFX']['imagefile_ext'] extension are made to thumbnails + ttf file (renders font-example)
461 Thumbsnails are linked to the show_item.php script which will display further details.
462
463 Usage: 7
464 ";s:5:"param";a:9:{i:0;a:2:{i:0;s:5:"array";i:1;s:48:"$row is the database row from the table, $table.";}i:1;a:2:{i:0;s:6:"string";i:1;s:36:"Table name for $row (present in TCA)";}i:2;a:2:{i:0;s:6:"string";i:1;s:60:"$field is pointing to the field with the list of image files";}i:3;a:2:{i:0;s:6:"string";i:1;s:43:"Back path prefix for image tag src="" field";}i:4;a:2:{i:0;s:6:"string";i:1;s:79:"Optional: $thumbScript os by default 'thumbs.php' if you don't set it otherwise";}i:5;a:2:{i:0;s:6:"string";i:1;s:191:"Optional: $uploaddir is the directory relative to PATH_site where the image files from the $field value is found (Is by default set to the entry in $TCA for that field! so you don't have to!)";}i:6;a:2:{i:0;s:7:"boolean";i:1;s:45:"If set, uploaddir is NOT prepended with "../"";}i:7;a:2:{i:0;s:6:"string";i:1;s:62:"Optional: $tparams is additional attributes for the image tags";}i:8;a:2:{i:0;s:7:"integer";i:1;s:59:"Optional: $size is [w]x[h] of the thumbnail. 56 is default.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"Thumbnail image tag.";}}s:7:"content";s:0:"";s:12:"content_size";i:2398;s:13:"content_lines";i:57;s:6:"atLine";i:1303;}i:83;a:7:{s:6:"header";s:67:"function getThumbNail($thumbScript,$theFile,$tparams='',$size='')  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:50:"
465
466 Returns single image tag to thumbnail
467
468 Usage: 3
469 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:71:"$thumbScript must point to "thumbs.php" relative to the script position";}i:1;a:2:{i:0;s:6:"string";i:1;s:72:"$theFile must be the proper reference to the file thumbs.php should show";}i:2;a:2:{i:0;s:6:"string";i:1;s:52:"$tparams are additional attributes for the image tag";}i:3;a:2:{i:0;s:7:"integer";i:1;s:61:"$size is the size of the thumbnail send along to "thumbs.php"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:9:"Image tag";}}s:7:"content";s:0:"";s:12:"content_size";i:303;s:13:"content_lines";i:7;s:6:"atLine";i:1372;}i:85;a:7:{s:6:"header";s:70:"function titleAttribForPages($row,$perms_clause='',$includeAttrib=1)        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:144:"
470
471 Returns title-attribute information for a page-record informing about id, alias, doktype, hidden, starttime, endtime, fe_group etc.
472
473 Usage: 8
474 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:114:"Input must be a page row ($row) with the proper fields set (be sure - send the full range of fields for the table)";}i:1;a:2:{i:0;s:6:"string";i:1;s:90:"$perms_clause is used to get the record path of the shortcut page, if any (and doktype==4)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:140:"If $includeAttrib is set, then the 'title=""' attribute is wrapped about the return value, which is in any case htmlspecialchar()'ed already";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:2073;s:13:"content_lines";i:43;s:6:"atLine";i:1390;}i:87;a:7:{s:6:"header";s:52:"function getRecordIconAltText($row,$table='pages')       {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:421:"
475
476 Returns title-attribute information for ANY record (from a table defined in TCA of course)
477 The included information depends on features of the table, but if hidden, starttime, endtime and fe_group fields are configured for, information about the record status in regard to these features are is included.
478 "pages" table can be used as well and will return the result of ->titleAttribForPages() for that page.
479
480 Usage: 10
481 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:47:"Table row; $row is a row from the table, $table";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1157;s:13:"content_lines";i:24;s:6:"atLine";i:1445;}i:89;a:7:{s:6:"header";s:49:"function getLabelFromItemlist($table,$col,$key)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:143:"
482
483 Returns the label of the first found entry in an "items" array from $TCA (tablename=$table/fieldname=$col) where the value is $key
484
485 Usage: 9
486 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"Table name, present in $TCA";}i:1;a:2:{i:0;s:6:"string";i:1;s:27:"Field name, present in $TCA";}i:2;a:2:{i:0;s:6:"string";i:1;s:26:"items-array value to match";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"Label for item entry";}}s:7:"content";s:0:"";s:12:"content_size";i:567;s:13:"content_lines";i:15;s:6:"atLine";i:1480;}i:91;a:7:{s:6:"header";s:53:"function getItemLabel($table,$col,$printAllWrap='')    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:318:"
487
488 Returns the label-value for fieldname $col in table, $table
489 If $printAllWrap is set (to a "wrap") then it's wrapped around the $col value IF THE COLUMN $col DID NOT EXIST in TCA!, eg. $printAllWrap='<b>|</b>' and the fieldname was 'not_found_field' then the return value would be '<b>not_found_field</b>'
490
491 Usage: 17
492 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"Table name, present in $TCA";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}i:2;a:2:{i:0;s:6:"string";i:1;s:37:"Wrap value - set function description";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:366;s:13:"content_lines";i:14;s:6:"atLine";i:1507;}i:93;a:7:{s:6:"header";s:46:"function getRecordTitle($table,$row,$prep=0)      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:197:"
493
494 Returns the "title"-value in record, $row, from table, $table
495 The field(s) from which the value is taken is determined by the "ctrl"-entries 'label', 'label_alt' and 'label_alt_force'
496
497 Usage: 26
498 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Table name, present in TCA";}i:1;a:2:{i:0;s:5:"array";i:1;s:14:"Row from table";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:251:"If set, result is prepared for output: The output is cropped to a limited lenght (depending on BE_USER->uc['titleLen']) and if no value is found for the title, '<em>[No title]</em>' is returned (localized). Further, the output is htmlspecialchars()'ed";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:812;s:13:"content_lines";i:21;s:6:"atLine";i:1533;}i:95;a:7:{s:6:"header";s:89:"function getProcessedValue($table,$col,$value,$fixed_lgd_chars=0,$defaultPassthrough=0) {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:260:"
499
500 Returns a human readable output of a value from a record
501 For instance a database record relation would be looked up to display the title-value of that record. A checkbox with a "1" value would be "Yes", etc.
502 $table/$col is tablename and fieldname
503
504 Usage: 24
505 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Table name, present in TCA";}i:1;a:2:{i:0;s:6:"string";i:1;s:26:"Field name, present in TCA";}i:2;a:2:{i:0;s:6:"string";i:1;s:56:"$value is the value of that field from a selected record";}i:3;a:2:{i:0;s:7:"integer";i:1;s:69:"$fixed_lgd_chars is the max amount of characters the value may occupy";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:166:"$defaultPassthrough flag means that values for columns that has no conversion will just be pass through directly (otherwise cropped to 200 chars or returned as "N/A")";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:2797;s:13:"content_lines";i:82;s:6:"atLine";i:1569;}i:97;a:7:{s:6:"header";s:68:"function getProcessedValueExtra($table,$fN,$fV,$fixed_lgd_chars=0) {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:176:"
506
507 Same as ->getProcessedValue() but will go easy on fields like "tstamp" and "pid" which are not configured in TCA - they will be formatted by this function instead.
508
509 Usage: 2
510 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Table name, present in TCA";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}i:2;a:2:{i:0;s:6:"string";i:1;s:11:"Field value";}i:3;a:2:{i:0;s:7:"integer";i:1;s:69:"$fixed_lgd_chars is the max amount of characters the value may occupy";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:24:"@see getProcessedValue()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"getProcessedValue() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:508;s:13:"content_lines";i:16;s:6:"atLine";i:1664;}i:99;a:7:{s:6:"header";s:28:"function getFileIcon($ext)      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:81:"
511
512 Returns file icon name (from $FILEICONS) for the fileextension $ext
513
514 Usage: 10
515 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"File extension, lowercase";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:18:"File icon filename";}}s:7:"content";s:0:"";s:12:"content_size";i:109;s:13:"content_lines";i:3;s:6:"atLine";i:1689;}i:101;a:7:{s:6:"header";s:48:"function getCommonSelectFields($table,$prefix)        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:303:"
516
517 Returns fields for a table, $table, which would typically be interesting to select
518 This includes uid, the fields defined for title, icon-field.
519 Returned as a list ready for query ($prefix can be set to eg. "pages." if you are selecting from the pages table and want the table name prefixed)
520
521 Usage: 3
522 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Table name, present in TCA";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"Table prefix";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:15:"List of fields.";}}s:7:"content";s:0:"";s:12:"content_size";i:464;s:13:"content_lines";i:14;s:6:"atLine";i:1704;}i:103;a:7:{s:6:"header";s:61:"function makeConfigForm($configArray,$defaults,$dataPrefix) {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:398:"
523
524 Makes a form for configuration of some values based on configuration found in the array $configArray, with default values from $defaults and a data-prefix $dataPrefix
525 <form>-tags must be supplied separately
526 Needs more documentation and examples, in particular syntax for configuration array. See Inside TYPO3. That's were you can expect to find example, if anywhere.
527
528 Usage: 1 (ext. direct_mail)
529 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:25:"Field configuration code.";}i:1;a:2:{i:0;s:5:"array";i:1;s:8:"Defaults";}i:2;a:2:{i:0;s:6:"string";i:1;s:21:"Prefix for formfields";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"HTML for a form.";}}s:7:"content";s:0:"";s:12:"content_size";i:1822;s:13:"content_lines";i:64;s:6:"atLine";i:1731;}i:105;a:8:{s:6:"header";s:58:"function helpTextIcon($table,$field,$BACK_PATH,$force=0)      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:29:"Backend Modules API functions";}s:4:"cDat";a:3:{s:4:"text";s:191:"
530
531 Returns help-text icon if configured for.
532 TCA_DESCR must be loaded prior to this function and $BE_USER must have 'edit_showFieldHelp' set to 'icon', otherwise nothing is returned
533
534 Usage: 6
535 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}i:2;a:2:{i:0;s:6:"string";i:1;s:9:"Back path";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:55:"Force display of icon nomatter BE_USER setting for help";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:33:"HTML content for a help icon/text";}}s:7:"content";s:0:"";s:12:"content_size";i:679;s:13:"content_lines";i:9;s:6:"atLine";i:1808;}i:107;a:7:{s:6:"header";s:45:"function helpText($table,$field,$BACK_PATH)    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:289:"
536
537 Returns CSH help text (description), if configured for.
538 TCA_DESCR must be loaded prior to this function and $BE_USER must have "edit_showFieldHelp" set to "text", otherwise nothing is returned
539 Will automatically call t3lib_BEfunc::helpTextIcon() to get the icon for the text.
540
541 Usage: 10
542 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}i:2;a:2:{i:0;s:6:"string";i:1;s:9:"Back path";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"HTML content for help text";}}s:7:"content";s:0:"";s:12:"content_size";i:552;s:13:"content_lines";i:9;s:6:"atLine";i:1830;}i:109;a:7:{s:6:"header";s:59:"function editOnClick($params,$backPath='',$requestUri='')    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:322:"
543
544 Returns a JavaScript string (for an onClick handler) which will load the alt_doc.php script that shows the form for editing of the record(s) you have send as params.
545 REMEMBER to always htmlspecialchar() content in href-properties to ampersands get converted to entities (XHTML requirement and XSS precaution)
546
547 Usage: 35
548 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:262:"$params is parameters sent along to alt_doc.php. This requires a much more details description which you must seek in Inside TYPO3s documentation of the alt_doc.php API. And example could be '&edit[pages][123]=edit' which will show edit form for page record 123.";}i:1;a:2:{i:0;s:6:"string";i:1;s:79:"$backPath must point back to the TYPO3_mainDir directory (where alt_doc.php is)";}i:2;a:2:{i:0;s:6:"string";i:1;s:84:"$requestUri is an optional returnUrl you can set - automatically set to REQUEST_URI.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:239;s:13:"content_lines";i:4;s:6:"atLine";i:1851;}i:111;a:7:{s:6:"header";s:75:"function viewOnClick($id,$backPath='',$rootLine='',$anchor='',$altUrl='') {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:69:"
549
550 Returns a JavaScript string for viewing the page id, $id
551
552 Usage: 8
553 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:7:"integer";i:1;s:14:"$id is page id";}i:1;a:2:{i:0;s:6:"string";i:1;s:92:"$backpath must point back to TYPO3_mainDir (where the site is assumed to be one level above)";}i:2;a:2:{i:0;s:5:"array";i:1;s:117:"If root line is supplied the function will look for the first found domain record and use that URL instead (if found)";}i:3;a:2:{i:0;s:6:"string";i:1;s:37:"$anchor is optional anchor to the URL";}i:4;a:2:{i:0;s:6:"string";i:1;s:165:"$altUrl is an alternative URL which - if set - will make all other parameters ignored: The function will just return the window.open command wrapped around this URL!";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:575;s:13:"content_lines";i:16;s:6:"atLine";i:1868;}i:113;a:7:{s:6:"header";s:37:"function getModTSconfig($id,$TSref)       {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:125:"
554
555 Returns the merged User/Page TSconfig for page id, $id.
556 Please read details about module programming elsewhere!
557
558 Usage: 15
559 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:8:"Page uid";}i:1;a:2:{i:0;s:6:"string";i:1;s:79:"$TSref is an object string which determines the path of the TSconfig to return.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:295;s:13:"content_lines";i:6;s:6:"atLine";i:1895;}i:115;a:7:{s:6:"header";s:90:"function getFuncMenu($id,$elementName,$currentValue,$menuItems,$script='',$addparams='')     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:186:"
560
561 Returns a selector box "function menu" for a module
562 Requires the JS function jumpToUrl() to be available
563 See Inside TYPO3 for details about how to use / make Function menus
564
565 Usage: 50
566 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:58:"$id is the "&id=" parameter value to be sent to the module";}i:1;a:2:{i:0;s:6:"string";i:1;s:74:"$elementName it the form elements name, probably something like "SET[...]"";}i:2;a:2:{i:0;s:6:"string";i:1;s:52:"$currentValue is the value to be selected currently.";}i:3;a:2:{i:0;s:5:"array";i:1;s:63:"$menuItems is an array with the menu items for the selector box";}i:4;a:2:{i:0;s:6:"string";i:1;s:75:"$script is the script to send the &id to, if empty it's automatically found";}i:5;a:2:{i:0;s:6:"string";i:1;s:58:"$addParams is additional parameters to pass to the script.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"HTML code for selector box";}}s:7:"content";s:0:"";s:12:"content_size";i:653;s:13:"content_lines";i:14;s:6:"atLine";i:1917;}i:117;a:7:{s:6:"header";s:94:"function getFuncCheck($id,$elementName,$currentValue,$script='',$addparams='',$tagParams='')    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:126:"
567
568 Checkbox function menu.
569 Works like ->getFuncMenu() but takes no $menuItem array since this is a simple checkbox.
570
571 Usage: 34
572 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:58:"$id is the "&id=" parameter value to be sent to the module";}i:1;a:2:{i:0;s:6:"string";i:1;s:74:"$elementName it the form elements name, probably something like "SET[...]"";}i:2;a:2:{i:0;s:6:"string";i:1;s:52:"$currentValue is the value to be selected currently.";}i:3;a:2:{i:0;s:6:"string";i:1;s:75:"$script is the script to send the &id to, if empty it's automatically found";}i:4;a:2:{i:0;s:6:"string";i:1;s:58:"$addParams is additional parameters to pass to the script.";}i:5;a:2:{i:0;s:6:"string";i:1;s:48:"Additional attributes for the checkbox input tag";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"HTML code for checkbox";}s:5:"other";a:1:{i:0;s:18:"@see getFuncMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"getFuncMenu() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:338;s:13:"content_lines";i:5;s:6:"atLine";i:1947;}i:119;a:7:{s:6:"header";s:89:"function getFuncInput($id,$elementName,$currentValue,$size=10,$script="",$addparams="")        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:155:"
573
574 Input field function menu
575 Works like ->getFuncMenu() / ->getFuncCheck() but displays a input field instead which updates the script "onchange"
576
577 Usage: 1
578 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:58:"$id is the "&id=" parameter value to be sent to the module";}i:1;a:2:{i:0;s:6:"string";i:1;s:74:"$elementName it the form elements name, probably something like "SET[...]"";}i:2;a:2:{i:0;s:6:"string";i:1;s:52:"$currentValue is the value to be selected currently.";}i:3;a:2:{i:0;s:7:"integer";i:1;s:39:"Relative size of input field, max is 48";}i:4;a:2:{i:0;s:6:"string";i:1;s:75:"$script is the script to send the &id to, if empty it's automatically found";}i:5;a:2:{i:0;s:6:"string";i:1;s:58:"$addParams is additional parameters to pass to the script.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:31:"HTML code for input text field.";}s:5:"other";a:1:{i:0;s:18:"@see getFuncMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"getFuncMenu() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:350;s:13:"content_lines";i:5;s:6:"atLine";i:1968;}i:121;a:7:{s:6:"header";s:57:"function unsetMenuItems($modTSconfig,$itemArray,$TSref)       {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:190:"
579
580 Removes menu items from $itemArray if they are configured to be removed by TSconfig for the module ($modTSconfig)
581 See Inside TYPO3 about how to program modules and use this API.
582
583 Usage: 4
584 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:22:"Module TS config array";}i:1;a:2:{i:0;s:5:"array";i:1;s:42:"Array of items from which to remove items.";}i:2;a:2:{i:0;s:6:"string";i:1;s:52:"$TSref points to the "object string" in $modTSconfig";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:36:"The modified $itemArray is returned.";}}s:7:"content";s:0:"";s:12:"content_size";i:347;s:13:"content_lines";i:13;s:6:"atLine";i:1985;}i:123;a:7:{s:6:"header";s:38:"function getSetUpdateSignal($set='') {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:312:"
585
586 Call to update the page tree frame (or something else..?) after
587 t3lib_BEfunc::getSetUpdateSignal('updatePageTree') -> will set the page tree to be updated.
588 t3lib_BEfunc::getSetUpdateSignal() -> will return some JavaScript that does the update (called in the typo3/template.php file, end() function)
589
590 Usage: 11
591 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:199:"Whether to set or clear the update signal. When setting, this value contains strings telling WHAT to set. At this point it seems that the value "updatePageTree" is the only one it makes sense to set.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"HTML code (<script> section)";}}s:7:"content";s:0:"";s:12:"content_size";i:811;s:13:"content_lines";i:35;s:6:"atLine";i:2009;}i:125;a:7:{s:6:"header";s:116:"function getModuleData($MOD_MENU, $CHANGED_SETTINGS, $modName, $type='', $dontValidateList='', $setDefaultList='') {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:485:"
592
593 Returns an array which is most backend modules becomes MOD_SETTINGS containing values from function menus etc. determining the function of the module.
594 This is kind of session variable management framework for the backend users.
595 If a key from MOD_MENU is set in the CHANGED_SETTINGS array (eg. a value is passed to the script from the outside), this value is put into the settings-array
596 Ultimately, see Inside TYPO3 for how to use this function in relation to your modules.
597 Usage: 23
598 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:5:"array";i:1;s:55:"MOD_MENU is an array that defines the options in menus.";}i:1;a:2:{i:0;s:5:"array";i:1;s:92:"CHANGED_SETTINGS represents the array used when passing values to the script from the menus.";}i:2;a:2:{i:0;s:6:"string";i:1;s:72:"modName is the name of this module. Used to get the correct module data.";}i:3;a:2:{i:0;s:6:"string";i:1;s:132:"If type is 'ses' then the data is stored as session-lasting data. This means that it'll be wiped out the next time the user logs in.";}i:4;a:2:{i:0;s:6:"string";i:1;s:158:"dontValidateList can be used to list variables that should not be checked if their value is found in the MOD_MENU array. Used for dynamically generated menus.";}i:5;a:2:{i:0;s:6:"string";i:1;s:114:"List of default values from $MOD_MENU to set in the output array (only if the values from MOD_MENU are not arrays)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:140:"The array $settings, which holds a key for each MOD_MENU key and the values of each key will be within the range of values for each menuitem";}}s:7:"content";s:0:"";s:12:"content_size";i:1746;s:13:"content_lines";i:63;s:6:"atLine";i:2060;}i:127;a:8:{s:6:"header";s:47:"function lockRecords($table='',$uid=0,$pid=0)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:4:"Core";}s:4:"cDat";a:5:{s:4:"text";s:142:"
599
600 Unlock or Lock a record from $table with $uid
601 If $table and $uid is not set, then all locking for the current BE_USER is removed!
602
603 Usage: 5
604 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:10:"Record uid";}i:2;a:2:{i:0;s:7:"integer";i:1;s:10:"Record pid";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:94:"@see t3lib_transferData::lockRecord(), alt_doc.php, db_layout.php, db_list.php, wizard_rte.php";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:89:"t3lib_transferData::lockRecord(), alt_doc.php, db_layout.php, db_list.php, wizard_rte.php";}}}s:7:"content";s:0:"";s:12:"content_size";i:498;s:13:"content_lines";i:18;s:6:"atLine";i:2137;}i:129;a:7:{s:6:"header";s:38:"function isRecordLocked($table,$uid)        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:457:"
605
606 Returns information about whether the record from table, $table, with uid, $uid is currently locked (edited by another user - which should issue a warning).
607 Notice: Locking is not strictly carried out since locking is abandoned when other backend scripts are activated - which means that a user CAN have a record "open" without having it locked. So this just serves as a warning that counts well in 90% of the cases, which should be sufficient.
608
609 Usage: 5
610 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:10:"Record uid";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:73:"@see class.db_layout.inc, alt_db_navframe.php, alt_doc.php, db_layout.php";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:68:"class.db_layout.inc, alt_db_navframe.php, alt_doc.php, db_layout.php";}}}s:7:"content";s:0:"";s:12:"content_size";i:1254;s:13:"content_lines";i:25;s:6:"atLine";i:2168;}i:131;a:7:{s:6:"header";s:88:"function foreign_table_where_query($fieldValue,$field='',$TSconfig=array(),$prefix='')        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:80:"
611
612 Returns select statement for MM relations (as used by TCEFORMs etc)
613
614 Usage: 3
615 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:5:"array";i:1;s:50:"Configuration array for the field, taken from $TCA";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}i:2;a:2:{i:0;s:5:"array";i:1;s:82:"TSconfig array from which to get further configuration settings for the field name";}i:3;a:2:{i:0;s:6:"string";i:1;s:71:"Prefix string for the key "*foreign_table_where" from $fieldValue array";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Part of query";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:71:"@see t3lib_transferData::renderRecord(), t3lib_TCEforms::foreignTable()";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:66:"t3lib_transferData::renderRecord(), t3lib_TCEforms::foreignTable()";}}}s:7:"content";s:0:"";s:12:"content_size";i:2305;s:13:"content_lines";i:41;s:6:"atLine";i:2207;}i:133;a:7:{s:6:"header";s:43:"function getTCEFORM_TSconfig($table,$row) {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:87:"
616
617 Returns TSConfig for the TCEFORM object in Page TSconfig.
618 Used in TCEFORMs
619
620 Usage: 4
621 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"Table name present in TCA";}i:1;a:2:{i:0;s:5:"array";i:1;s:14:"Row from table";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:117:"@see t3lib_transferData::renderRecord(), t3lib_TCEforms::setTSconfig(), SC_wizard_list::main(), SC_wizard_add::main()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:112:"t3lib_transferData::renderRecord(), t3lib_TCEforms::setTSconfig(), SC_wizard_list::main(), SC_wizard_add::main()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1261;s:13:"content_lines";i:35;s:6:"atLine";i:2260;}i:135;a:7:{s:6:"header";s:49:"function getTSconfig_pidValue($table,$uid,$pid)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:198:"
622
623 Find the real PID of the record (with $uid from $table). This MAY be impossible if the pid is set as a reference to the former record or a page (if two records are created at one time).
624
625 Usage: 2
626 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:10:"Record uid";}i:2;a:2:{i:0;s:7:"integer";i:1;s:10:"Record pid";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:45:"@see t3lib_TCEmain::copyRecord(), getTSCpid()";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:40:"t3lib_TCEmain::copyRecord(), getTSCpid()";}}}s:7:"content";s:0:"";s:12:"content_size";i:869;s:13:"content_lines";i:16;s:6:"atLine";i:2308;}i:137;a:7:{s:6:"header";s:49:"function getPidForModTSconfig($table,$uid,$pid)    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:84:"
627
628 Return $uid if $table is pages and $uid is integer - otherwise the $pid
629
630 Usage: 1
631 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:10:"Record uid";}i:2;a:2:{i:0;s:7:"integer";i:1;s:10:"Record pid";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:32:"@see t3lib_TCEforms::getTSCpid()";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:28:"t3lib_TCEforms::getTSCpid() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:96;s:13:"content_lines";i:4;s:6:"atLine";i:2337;}i:139;a:7:{s:6:"header";s:38:"function getTSCpid($table,$uid,$pid)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:143:"
632
633 Returns the REAL pid of the record, if possible. If both $uid and $pid is strings, then pid=-1 is returned as an error indication.
634
635 Usage: 8
636 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:10:"Record uid";}i:2;a:2:{i:0;s:7:"integer";i:1;s:10:"Record pid";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:66:"@see t3lib_TCEmain::setHistory(), t3lib_TCEmain::process_datamap()";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:61:"t3lib_TCEmain::setHistory(), t3lib_TCEmain::process_datamap()";}}}s:7:"content";s:0:"";s:12:"content_size";i:348;s:13:"content_lines";i:8;s:6:"atLine";i:2354;}i:141;a:7:{s:6:"header";s:39:"function firstDomainRecord($rootLine)     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:116:"
637
638 Returns first found domain record "domainName" (without trailing slash) if found in the input $rootLine
639
640 Usage: 2
641 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:15:"Root line array";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Domain name, if found.";}}s:7:"content";s:0:"";s:12:"content_size";i:385;s:13:"content_lines";i:13;s:6:"atLine";i:2371;}i:143;a:7:{s:6:"header";s:48:"function getDomainStartPage($domain, $path='')      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:87:"
642
643 Returns the sys_domain record for $domain, optionally with $path appended.
644
645 Usage: 2
646 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Domain name";}i:1;a:2:{i:0;s:6:"string";i:1;s:13:"Appended path";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:23:"Domain record, if found";}}s:7:"content";s:0:"";s:12:"content_size";i:651;s:13:"content_lines";i:20;s:6:"atLine";i:2394;}i:145;a:7:{s:6:"header";s:52:"function RTEsetup($RTEprop,$table,$field,$type='') {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:100:"
647
648 Returns overlayered RTE setup from an array with TSconfig. Used in TCEforms and TCEmain
649
650 Usage: 8
651 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:5:"array";i:1;s:49:"The properties of Page TSconfig in the key "RTE."";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:2;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}i:3;a:2:{i:0;s:6:"string";i:1;s:64:"Type value of the current record (like from CType of tt_content)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:40:"Array with the configuration for the RTE";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:569;s:13:"content_lines";i:12;s:6:"atLine";i:2427;}i:147;a:7:{s:6:"header";s:45:"function isModuleSetInTBE_MODULES($modName)    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:103:"
652
653 Returns true if $modName is set and is found as a main- or submodule in $TBE_MODULES array
654
655 Usage: 1
656 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Module name";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:487;s:13:"content_lines";i:38;s:6:"atLine";i:2448;}i:149;a:8:{s:6:"header";s:57:"function typo3PrintError ($header,$text,$js='',$head=1)      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:1:{i:0;s:13:"Miscellaneous";}s:4:"cDat";a:3:{s:4:"text";s:56:"
657
658 Print error message with header, text etc.
659
660 Usage: 19
661 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Header string";}i:1;a:2:{i:0;s:6:"string";i:1;s:14:"Content string";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:59:"Will return an alert() with the content of header and text.";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:13:"Print header.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1228;s:13:"content_lines";i:38;s:6:"atLine";i:2498;}i:151;a:7:{s:6:"header";s:40:"function getPathType_web_nonweb($path)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:121:"
662
663 Returns "web" if the $path (absolute) is within the DOCUMENT ROOT - and thereby qualifies as a "web" folder.
664
665 Usage: 4
666 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Path to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:108;s:13:"content_lines";i:3;s:6:"atLine";i:2545;}i:153;a:7:{s:6:"header";s:40:"function ADMCMD_previewCmds($pageinfo)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:84:"
667
668 Creates ADMCMD parameters for the "viewpage" extension / "cms" frontend
669
670 Usage: 1
671 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"Page record";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Query-parameters";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:354;s:13:"content_lines";i:12;s:6:"atLine";i:2558;}i:155;a:4:{s:6:"header";s:33:"function processParams($params)      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:230:"
672
673 Returns an array with key=>values based on input text $params
674 $params is exploded by line-breaks and each line is supposed to be on the syntax [key] = [some value]
675 These pairs will be parsed into an array an returned.
676
677 Usage: 1
678 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:95:"String of parameters on multiple lines to parse into key-value pairs (see function description)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:6:"atLine";i:2581;}i:157;a:7:{s:6:"header";s:88:"function getListOfBackendModules($name,$perms_clause,$backPath='',$script='index.php')      {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:108:"
679
680 Returns "list of backend modules". Most likely this will be obsolete soon / removed. Don't use.
681
682 Usage: 3
683 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"Module names list";}i:1;a:2:{i:0;s:6:"string";i:1;s:26:"Perms clause for SQL query";}i:2;a:2:{i:0;s:6:"string";i:1;s:8:"Backpath";}i:3;a:2:{i:0;s:6:"string";i:1;s:41:"The URL/script to jump to (used in A tag)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:23:"Two keys, rows and list";}s:5:"other";a:3:{i:0;s:9:"@internal";i:1;s:12:"@depreciated";i:2;s:9:"@obsolete";}s:11:"other_index";a:3:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:12:"@depreciated";a:1:{i:0;s:1:" ";}s:9:"@obsolete";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:678;s:13:"content_lines";i:15;s:6:"atLine";i:2608;}}}s:14:"MD5_72d4b89844";a:4:{s:8:"filename";s:26:"class.t3lib_beuserauth.php";s:8:"filesize";i:12577;s:6:"header";a:5:{s:4:"text";s:501:"
684
685 TYPO3 user authentication, backend
686 Could technically have been the same class as t3lib_userauthgroup since these two are always used together and only together. 
687 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.
688 This class contains the configuration of the database fields used plus some functions for the authentication process of backend users.
689 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:9:{i:1;a:8:{s:6:"header";s:52:"class t3lib_beUserAuth extends t3lib_userAuthGroup {";s:5:"class";i:1;s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:5:{s:4:"text";s:501:"
690
691 TYPO3 user authentication, backend
692 Could technically have been the same class as t3lib_userauthgroup since these two are always used together and only together. 
693 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.
694 This class contains the configuration of the database fields used plus some functions for the authentication process of backend users.
695 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2938;s:13:"content_lines";i:66;s:6:"atLine";i:73;}i:3;a:7:{s:6:"header";s:29:"function trackBeUser($flag)    {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:4:{s:4:"text";s:298:"
696
697 If flag is set and the extensions 'beuser_tracking' is loaded, this will insert a table row with the REQUEST_URI of current script - thus tracking the scripts the backend users uses...
698 This function works ONLY with the "beuser_tracking" extension and is depreciated since it does nothing useful.
699 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:30:"Activate insertion of the URL.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:267;s:13:"content_lines";i:6;s:6:"atLine";i:148;}i:5;a:7:{s:6:"header";s:26:"function checkLockToIP()     {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:4:{s:4:"text";s:216:"
700
701 If TYPO3_CONF_VARS['BE']['enabledBeUserIPLock'] is enabled and an IP-list is found in the User TSconfig objString "options.lockToIP", then make an IP comparison with REMOTE_ADDR and return the outcome (true/false)
702 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:61:"True, if IP address validates OK (or no check is done at all)";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:298;s:13:"content_lines";i:12;s:6:"atLine";i:161;}i:7;a:7:{s:6:"header";s:30:"function backendCheckLogin()     {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:3:{s:4:"text";s:426:"
703
704 Check if user is logged in and if so, call ->fetchGroupData() to load group information and access lists of all kind, further check IP, set the ->uc array and send login-notification email if required.
705 If no user is logged in the default behaviour is to exit with an error message, but this will happen ONLY if the constant TYPO3_PROCEED_IF_NO_USER is set true.
706 This function is called right after ->start() in fx. init.php
707 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:916;s:13:"content_lines";i:17;s:6:"atLine";i:181;}i:9;a:7:{s:6:"header";s:25:"function backendSetUC()      {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:5:{s:4:"text";s:164:"
708
709 Initialize the internal ->uc array for the backend user
710 Will make the overrides if necessary, and write the UC back to the be_users record if changes has happend
711 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:958;s:13:"content_lines";i:27;s:6:"atLine";i:206;}i:11;a:7:{s:6:"header";s:23:"function overrideUC()      {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:5:{s:4:"text";s:163:"
712
713 Override: Call this function every time the uc is updated. 
714 That is 1) by reverting to default values, 2) in the setup-module, 3) userTS changes (userauthgroup)
715 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:172;s:13:"content_lines";i:3;s:6:"atLine";i:241;}i:13;a:7:{s:6:"header";s:20:"function resetUC()  {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:5:{s:4:"text";s:114:"
716
717 Clears the user[uc] and ->uc to blank strings. Then calls ->backendSetUC() to fill it again with reset contents
718 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:70;s:13:"content_lines";i:5;s:6:"atLine";i:251;}i:15;a:4:{s:6:"header";s:25:"function emailAtLogin()      {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:4:{s:4:"text";s:193:"
719
720 Will send an email notification to warning_email_address/the login users email address when a login session is just started.
721 Depends on various parameters whether mails are send and to whom.
722 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";}s:6:"atLine";i:264;}i:17;a:7:{s:6:"header";s:21:"function veriCode()       {";s:11:"parentClass";s:16:"t3lib_beUserAuth";s:4:"cDat";a:3:{s:4:"text";s:303:"
723
724 VeriCode returns 10 first chars of a md5 hash of the session cookie AND the encryptionKey from TYPO3_CONF_VARS. 
725 This code is used as an alternative verification when the JavaScript interface executes cmd's to tce_db.php from eg. MSIE 5.0 because the proper referer is not passed with this browser...
726 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:301;s:13:"content_lines";i:10;s:6:"atLine";i:316;}}}s:14:"MD5_6c5e1df3ba";a:4:{s:8:"filename";s:26:"class.t3lib_browsetree.php";s:8:"filesize";i:4427;s:6:"header";a:5:{s:4:"text";s:82:"
727
728 Extension class for the t3lib_treeView class, specially made for browsing pages
729 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:43:"@coauthor René Fritz <r.fritz@colorcube.de>";i:2;s:35:"@see t3lib_treeView, t3lib_pageTree";i:3;s:14:"@package TYPO3";i:4;s:17:"@subpackage t3lib";}s:11:"other_index";a:5:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:9:"@coauthor";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}s:4:"@see";a:1:{i:0;s:30:"t3lib_treeView, t3lib_pageTree";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:4:{i:1;a:8:{s:6:"header";s:47:"class t3lib_browseTree extends t3lib_treeView {";s:5:"class";i:1;s:11:"parentClass";s:16:"t3lib_browseTree";s:4:"cDat";a:5:{s:4:"text";s:82:"
730
731 Extension class for the t3lib_treeView class, specially made for browsing pages
732 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:43:"@coauthor René Fritz <r.fritz@colorcube.de>";i:2;s:35:"@see t3lib_treeView, t3lib_pageTree";i:3;s:14:"@package TYPO3";i:4;s:17:"@subpackage t3lib";}s:11:"other_index";a:5:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:9:"@coauthor";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}s:4:"@see";a:1:{i:0;s:30:"t3lib_treeView, t3lib_pageTree";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:71;}i:3;a:7:{s:6:"header";s:27:"function init($clause='')      {";s:11:"parentClass";s:16:"t3lib_browseTree";s:4:"cDat";a:3:{s:4:"text";s:84:"
733
734 Initialize, setting what is necessary for browsing pages.
735 Using the current user.
736 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"Additional clause for selecting pages.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:678;s:13:"content_lines";i:15;s:6:"atLine";i:80;}i:5;a:4:{s:6:"header";s:31:"function getTitleAttrib($row) {";s:11:"parentClass";s:16:"t3lib_browseTree";s:4:"cDat";a:3:{s:4:"text";s:137:"
737
738 Creates title attribute content for pages.
739 Uses API function in t3lib_BEfunc which will retrieve lots of useful information for pages.
740 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:14:"The table row.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:6:"atLine";i:103;}i:7;a:7:{s:6:"header";s:31:"function wrapIcon($icon,$row)   {";s:11:"parentClass";s:16:"t3lib_browseTree";s:4:"cDat";a:4:{s:4:"text";s:77:"
741
742 Wrapping the image tag, $icon, for the row, $row (except for mount points)
743 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"The image tag for the icon";}i:1;a:2:{i:0;s:5:"array";i:1;s:31:"The row for the current element";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:31:"The processed icon input value.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:854;s:13:"content_lines";i:18;s:6:"atLine";i:115;}}}s:14:"MD5_078c4a59ec";a:4:{s:8:"filename";s:25:"class.t3lib_clipboard.php";s:8:"filesize";i:32687;s:6:"header";a:5:{s:4:"text";s:40:"
744
745 TYPO3 clipboard for records and files
746 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:31:{i:1;a:8:{s:6:"header";s:23:"class t3lib_clipboard {";s:5:"class";i:1;s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:5:{s:4:"text";s:40:"
747
748 TYPO3 clipboard for records and files
749 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1187;s:13:"content_lines";i:30;s:6:"atLine";i:88;}i:3;a:7:{s:6:"header";s:32:"function initializeClipboard() {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:52:"
750
751 Initialize the clipboard from the be_user session
752 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:943;s:13:"content_lines";i:22;s:6:"atLine";i:124;}i:5;a:7:{s:6:"header";s:25:"function lockToNormal()      {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:278:"
753
754 Call this method after initialization if you want to lock the clipboard to operate on the normal pad only. Trying to switch pad through ->setCmd will not work
755 This is used by the clickmenu since it only allows operation on single elements at a time (that is the "normal" pad)
756 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:57;s:13:"content_lines";i:4;s:6:"atLine";i:153;}i:7;a:7:{s:6:"header";s:23:"function setCmd($cmd)  {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:444:"
757
758 The array $cmd may hold various keys which notes some action to take.
759 Normally perform only one action at a time.
760 In scripts like db_list.php / file_list.php the GET-var CB is used to control the clipboard.
761
762                 Selecting / Deselecting elements
763                 Array $cmd['el'] has keys = element-ident, value = element value (see description of clipData array in header)
764                 Selecting elements for 'copy' should be done by simultaneously setting setCopyMode.
765 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:42:"Array of actions, see function description";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1139;s:13:"content_lines";i:40;s:6:"atLine";i:170;}i:9;a:7:{s:6:"header";s:35:"function setCurrentPad($padIdent)   {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:39:"
766
767 Setting the current pad on clipboard
768 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"Key in the array $this->clipData";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:413;s:13:"content_lines";i:8;s:6:"atLine";i:217;}i:11;a:7:{s:6:"header";s:25:"function endClipboard()       {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:206:"
769
770 Call this after initialization and setCmd in order to save the clipboard to the user session. 
771 The function will check if the internal flag ->changed has been set and if so, save the clipboard. Else not.
772 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:72;s:13:"content_lines";i:4;s:6:"atLine";i:232;}i:13;a:7:{s:6:"header";s:56:"function cleanUpCBC($CBarr,$table,$removeDeselected=0)        {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:84:"
773
774 Cleans up an incoming element array $CBarr (Array selecting/deselecting elements)
775 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:59:"Element array from outside ("key" => "selected/deselected")";}i:1;a:2:{i:0;s:6:"string";i:1;s:52:"$table is the 'table which is allowed'. Must be set.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:89:"$removeDeselected can be set in order to remove entries which are marked for deselection.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:22:"Processed input $CBarr";}}s:7:"content";s:0:"";s:12:"content_size";i:238;s:13:"content_lines";i:12;s:6:"atLine";i:245;}i:15;a:7:{s:6:"header";s:23:"function isElements()  {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:127:"
776
777 Reports if the current pad has elements (does not check file/DB type OR if file/DBrecord exists or not. Only counting array)
778 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:23:"True if elements exist.";}}s:7:"content";s:0:"";s:12:"content_size";i:111;s:13:"content_lines";i:3;s:6:"atLine";i:263;}i:17;a:7:{s:6:"header";s:27:"function printClipboard() {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:23:"
779
780 Prints the clipboard
781 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:11:"HTML output";}}s:7:"content";s:0:"";s:12:"content_size";i:4003;s:13:"content_lines";i:81;s:6:"atLine";i:272;}i:19;a:7:{s:6:"header";s:36:"function printContentFromTab($pad)   {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:4:{s:4:"text";s:61:"
782
783 Print the content on a pad. Called from ->printClipboard()
784 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Pad reference";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:40:"Array with table rows for the clipboard.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:4284;s:13:"content_lines";i:66;s:6:"atLine";i:361;}i:21;a:7:{s:6:"header";s:34:"function padTitleWrap($str,$pad)  {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:75:"
785
786 Wraps title of pad in bold-tags and maybe the number of elements if any.
787 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"String (already htmlspecialchars()'ed)";}i:1;a:2:{i:0;s:6:"string";i:1;s:13:"Pad reference";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:56:"HTML output (htmlspecialchar'ed content inside of tags.)";}}s:7:"content";s:0:"";s:12:"content_size";i:331;s:13:"content_lines";i:8;s:6:"atLine";i:435;}i:23;a:7:{s:6:"header";s:44:"function linkItemText($str,$rec,$table='')       {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:117:"
788
789 Wraps the title of the items listed in link-tags. The items will link to the page/folder where they originate from
790 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:60:"Title of element - must be htmlspecialchar'ed on beforehand.";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:53:"If array, a record is expected. If string, its a path";}i:2;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:482;s:13:"content_lines";i:16;s:6:"atLine";i:452;}i:25;a:7:{s:6:"header";s:34:"function isSelected($table,$uid)   {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:187:"
791
792 Verifies if the item $table/$uid is on the current pad.
793 If the pad is "normal", the mode value is returned if the element existed. Thus you'll know if the item was copy or cut moded...
794 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"Table name, (_FILE for files...)";}i:1;a:2:{i:0;s:7:"integer";i:1;s:28:"Element uid (path for files)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:136;s:13:"content_lines";i:4;s:6:"atLine";i:477;}i:27;a:7:{s:6:"header";s:47:"function getSelectedRecord($table='',$uid='')   {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:170:"
795
796 Returns item record $table,$uid if selected on current clipboard
797 If table and uid is blank, the first element is returned.
798 Makes sense only for DB records - not files!
799 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:11:"Element uid";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:79:"Element record with extra field _RECORD_TITLE set to the title of the record...";}}s:7:"content";s:0:"";s:12:"content_size";i:328;s:13:"content_lines";i:12;s:6:"atLine";i:491;}i:29;a:7:{s:6:"header";s:71:"function selUrlDB($table,$uid,$copy=0,$deselect=0,$baseArray=array())  {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:47:"
800
801 Returns the select-url for database elements
802 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:13:"Uid of record";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:32:"If set, copymode will be enabled";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:49:"If set, the link will deselect, otherwise select.";}i:4;a:2:{i:0;s:5:"array";i:1;s:111:"The base array of GET vars to be sent in addition. Notice that current GET vars WILL automatically be included.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:96:"URL linking to the current script but with the CB array set to select the element with table/uid";}}s:7:"content";s:0:"";s:12:"content_size";i:184;s:13:"content_lines";i:6;s:6:"atLine";i:514;}i:31;a:7:{s:6:"header";s:67:"function selUrlFile($path,$copy=0,$deselect=0,$baseArray=array())    {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:35:"
803
804 Returns the select-url for files
805 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:8:"Filepath";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:32:"If set, copymode will be enabled";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:49:"If set, the link will deselect, otherwise select.";}i:3;a:2:{i:0;s:5:"array";i:1;s:111:"The base array of GET vars to be sent in addition. Notice that current GET vars WILL automatically be included.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:78:"URL linking to the current script but with the CB array set to select the path";}}s:7:"content";s:0:"";s:12:"content_size";i:209;s:13:"content_lines";i:6;s:6:"atLine";i:530;}i:33;a:7:{s:6:"header";s:47:"function pasteUrl($table,$uid,$setRedirect=1)  {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:183:"
806
807 pasteUrl of the element (database and file)
808 For the meaning of $table and $uid, please read from ->makePasteCmdArray!!!
809 The URL will point to tce_file or tce_db depending in $table
810 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"Tablename (_FILE for files)";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:102:""destination": can be positive or negative indicating how the paste is done (paste into / paste after)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:87:"If set, then the redirect URL will point back to the current script, but with CB reset.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:333;s:13:"content_lines";i:9;s:6:"atLine";i:547;}i:35;a:7:{s:6:"header";s:44:"function deleteUrl($setRedirect=1,$file=0)   {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:28:"
811
812 deleteUrl for current pad
813 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:87:"If set, then the redirect URL will point back to the current script, but with CB reset.";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:76:"If set, then the URL will link to the tce_file.php script in the typo3/ dir.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:295;s:13:"content_lines";i:9;s:6:"atLine";i:564;}i:37;a:7:{s:6:"header";s:20:"function editUrl()      {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:69:"
814
815 editUrl of all current elements
816 ONLY database
817 Links to alt_doc.php
818 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:39:"The URL to alt_doc.php with parameters.";}}s:7:"content";s:0:"";s:12:"content_size";i:325;s:13:"content_lines";i:12;s:6:"atLine";i:581;}i:39;a:7:{s:6:"header";s:33:"function removeUrl($table,$uid)   {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:96:"
819
820 Returns the remove-url (file and db)
821 for file $table='_FILE' and $uid = shortmd5 hash of path
822 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"Tablename";}i:1;a:2:{i:0;s:6:"string";i:1;s:25:"uid integer/shortmd5 hash";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:3:"URL";}}s:7:"content";s:0:"";s:12:"content_size";i:88;s:13:"content_lines";i:3;s:6:"atLine";i:602;}i:41;a:7:{s:6:"header";s:25:"function cleanCurrent()   {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:127:"
823
824 This traverses the elements on the current clipboard pane 
825 and unsets elements which does not exist anymore or are disabled.
826 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:559;s:13:"content_lines";i:19;s:6:"atLine";i:612;}i:43;a:7:{s:6:"header";s:46:"function elFromTable($matchTable='',$pad='')        {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:135:"
827
828 Counts the number of elements from the table $matchTable. If $matchTable is blank, all tables (except '_FILE' of course) is counted.
829 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"Table to match/count for.";}i:1;a:2:{i:0;s:6:"string";i:1;s:64:"$pad can optionally be used to set another pad than the current.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:28:"Array with keys from the CB.";}}s:7:"content";s:0:"";s:12:"content_size";i:566;s:13:"content_lines";i:22;s:6:"atLine";i:639;}i:45;a:7:{s:6:"header";s:52:"function confirmMsg($table,$rec,$type,$clElements)     {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:37:"
830
831 Returns confirm JavaScript message
832 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:55:"For records its an array, for files its a string (path)";}i:2;a:2:{i:0;s:6:"string";i:1;s:9:"Type-code";}i:3;a:2:{i:0;s:5:"array";i:1;s:26:"Array of selected elements";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"JavaScript "confirm" message";}}s:7:"content";s:0:"";s:12:"content_size";i:952;s:13:"content_lines";i:36;s:6:"atLine";i:671;}i:47;a:7:{s:6:"header";s:29:"function removeElement($el)     {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:31:"
833
834 Removes element on clipboard
835 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:34:"Key of element in ->clipData array";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:78;s:13:"content_lines";i:4;s:6:"atLine";i:714;}i:49;a:7:{s:6:"header";s:26:"function saveClipboard()     {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:4:{s:4:"text";s:134:"
836
837 Saves the clipboard, no questions asked.
838 Use ->endClipboard normally (as it checks if changes has been done so saving is necessary)
839 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:81;s:13:"content_lines";i:4;s:6:"atLine";i:726;}i:51;a:7:{s:6:"header";s:24:"function currentMode()     {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:44:"
840
841 Returns the current mode, 'copy' or 'cut'
842 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:15:""copy" or "cut"";}}s:7:"content";s:0:"";s:12:"content_size";i:80;s:13:"content_lines";i:3;s:6:"atLine";i:736;}i:53;a:7:{s:6:"header";s:39:"function clLabel($key,$Akey='labels')       {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:64:"
843
844 Clipboard label - getting from "EXT:lang/locallang_core.php:"
845 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"Label Key";}i:1;a:2:{i:0;s:6:"string";i:1;s:27:"Alternative key to "labels"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:256;s:13:"content_lines";i:23;s:6:"atLine";i:747;}i:55;a:8:{s:6:"header";s:39:"function makePasteCmdArray($ref,$CMD)    {";s:11:"parentClass";s:15:"t3lib_clipboard";s:11:"sectionText";a:1:{i:0;s:22:"FOR USE IN tce_db.php:";}s:4:"cDat";a:3:{s:4:"text";s:719:"
846
847 Applies the proper paste configuration in the $cmd array send to tce_db.php. 
848 $ref is the target, see description below.
849 The current pad is pasted
850
851                 $ref: [tablename]:[paste-uid]. 
852                 tablename is the name of the table from which elements *on the current clipboard* is pasted with the 'pid' paste-uid. 
853                 No tablename means that all items on the clipboard (non-files) are pasted. This requires paste-uid to be positive though.
854                 so 'tt_content:-3'      means 'paste tt_content elements on the clipboard to AFTER tt_content:3 record
855                 'tt_content:30' means 'paste tt_content elements on the clipboard into page with id 30
856                 ':30'   means 'paste ALL database elements on the clipboard into page with id 30
857                 ':-30'  not valid.
858 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:40:"[tablename]:[paste-uid], see description";}i:1;a:2:{i:0;s:5:"array";i:1;s:13:"Command-array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:22:"Modified Command-array";}}s:7:"content";s:0:"";s:12:"content_size";i:746;s:13:"content_lines";i:22;s:6:"atLine";i:788;}i:57;a:7:{s:6:"header";s:35:"function makeDeleteCmdArray($CMD) {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:37:"
859
860 Delete record entries in CMD array
861 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:13:"Command-array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:22:"Modified Command-array";}}s:7:"content";s:0:"";s:12:"content_size";i:480;s:13:"content_lines";i:34;s:6:"atLine";i:817;}i:59;a:5:{s:6:"header";s:45:"function makePasteCmdArray_file($ref,$FILE)      {";s:11:"parentClass";s:15:"t3lib_clipboard";s:11:"sectionText";a:1:{i:0;s:24:"FOR USE IN tce_file.php:";}s:4:"cDat";a:3:{s:4:"text";s:109:"
862
863 Applies the proper paste configuration in the $file array send to tce_file.php. 
864 The current pad is pasted
865 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"Reference to element (splitted by "|")";}i:1;a:2:{i:0;s:5:"array";i:1;s:13:"Command-array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:22:"Modified Command-array";}}s:6:"atLine";i:860;}i:61;a:7:{s:6:"header";s:41:"function makeDeleteCmdArray_file($FILE)      {";s:11:"parentClass";s:15:"t3lib_clipboard";s:4:"cDat";a:3:{s:4:"text";s:28:"
866
867 Delete files in CMD array
868 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:13:"Command-array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:22:"Modified Command-array";}}s:7:"content";s:0:"";s:12:"content_size";i:477;s:13:"content_lines";i:18;s:6:"atLine";i:882;}}}s:14:"MD5_aa60b7fa24";a:4:{s:8:"filename";s:18:"class.t3lib_cs.php";s:8:"filesize";i:24269;s:6:"header";a:5:{s:4:"text";s:41:"
869
870 Class for conversion between charsets.
871 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:58:"@author   Martin Kutschker <martin.t.kutschker@blackbox.net>";i:2;s:14:"@package TYPO3";i:3;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:2:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";i:1;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:16:{i:1;a:8:{s:6:"header";s:16:"class t3lib_cs {";s:5:"class";i:1;s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:41:"
872
873 Class for conversion between charsets.
874 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:58:"@author   Martin Kutschker <martin.t.kutschker@blackbox.net>";i:2;s:14:"@package TYPO3";i:3;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:2:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";i:1;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2423;s:13:"content_lines";i:84;s:6:"atLine";i:102;}i:3;a:7:{s:6:"header";s:34:"function parse_charset($charset)        {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:64:"
875
876 Normalize - changes input character set to lowercase letters.
877 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Input charset";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:18:"Normalized charset";}s:5:"other";a:1:{i:0;s:58:"@author    Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}}}s:7:"content";s:0:"";s:12:"content_size";i:129;s:13:"content_lines";i:7;s:6:"atLine";i:194;}i:5;a:7:{s:6:"header";s:57:"function conv($str,$fromCS,$toCS,$useEntityForNoChar=0)        {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:3:{s:4:"text";s:47:"
878
879 Convert from one charset to another charset.
880 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Input string";}i:1;a:2:{i:0;s:6:"string";i:1;s:48:"From charset (the current charset of the string)";}i:2;a:2:{i:0;s:6:"string";i:1;s:38:"To charset (the output charset wanted)";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:115:"If set, then characters that are not available in the destination character set will be encoded as numeric entities";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Converted string";}}s:7:"content";s:0:"";s:12:"content_size";i:941;s:13:"content_lines";i:26;s:6:"atLine";i:211;}i:7;a:7:{s:6:"header";s:37:"function utf8_encode($str,$charset)    {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:3:{s:4:"text";s:39:"
881
882 Converts $str from $charset to UTF-8
883 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:43:"String in local charset to convert to UTF-8";}i:1;a:2:{i:0;s:6:"string";i:1;s:55:"Charset, lowercase. Must be found in csconvtbl/ folder.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:33:"Output string, converted to UTF-8";}}s:7:"content";s:0:"";s:12:"content_size";i:1466;s:13:"content_lines";i:32;s:6:"atLine";i:245;}i:9;a:7:{s:6:"header";s:59:"function utf8_decode($str,$charset,$useEntityForNoChar=0)       {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:3:{s:4:"text";s:39:"
884
885 Converts $str from UTF-8 to $charset
886 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:43:"String in UTF-8 to convert to local charset";}i:1;a:2:{i:0;s:6:"string";i:1;s:55:"Charset, lowercase. Must be found in csconvtbl/ folder.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:115:"If set, then characters that are not available in the destination character set will be encoded as numeric entities";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:41:"Output string, converted to local charset";}}s:7:"content";s:0:"";s:12:"content_size";i:2004;s:13:"content_lines";i:41;s:6:"atLine";i:286;}i:11;a:7:{s:6:"header";s:33:"function utf8_to_entities($str)    {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:3:{s:4:"text";s:48:"
887
888 Converts all chars > 127 to numeric entities.
889 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Input string";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Output string";}}s:7:"content";s:0:"";s:12:"content_size";i:1023;s:13:"content_lines";i:25;s:6:"atLine";i:334;}i:13;a:7:{s:6:"header";s:51:"function entities_to_utf8($str,$alsoStdHtmlEnt=0)       {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:3:{s:4:"text";s:110:"
890
891 Converts numeric entities (UNICODE, eg. decimal (&#1234;) or hexadecimal (&#x1b;)) to UTF-8 multibyte chars
892 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"Input string, UTF-8";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:87:"If set, then all string-HTML entities (like &amp; or &pound; will be converted as well)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Output string";}}s:7:"content";s:0:"";s:12:"content_size";i:695;s:13:"content_lines";i:22;s:6:"atLine";i:367;}i:15;a:7:{s:6:"header";s:63:"function utf8_to_numberarray($str,$convEntities=0,$retChar=0)      {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:3:{s:4:"text";s:89:"
893
894 Converts all chars in the input UTF-8 string into integer numbers returned in an array
895 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"Input string, UTF-8";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:108:"If set, then all HTML entities (like &amp; or &pound; or &#123; or &#x3f5d;) will be detected as characters.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:72:"If set, then instead of integer numbers the real UTF-8 char is returned.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:34:"Output array with the char numbers";}}s:7:"content";s:0:"";s:12:"content_size";i:1222;s:13:"content_lines";i:30;s:6:"atLine";i:398;}i:17;a:7:{s:6:"header";s:32:"function initCharset($charset)  {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:4:{s:4:"text";s:214:"
896
897 This will initialize a charset for use if it's defined in the PATH_t3lib.'csconvtbl/' folder
898 This function is automatically called by the conversion functions
899
900 PLEASE SEE: http://www.unicode.org/Public/MAPPINGS/
901 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:144:"The charset to be initialized. Use lowercase charset always (the charset must match exactly with a filename in csconvtbl/ folder ([charset].tbl)";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:153:"Returns '1' if already loaded. Returns FALSE if charset conversion table was not found. Returns '2' if the charset conversion table was found and parsed.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:2441;s:13:"content_lines";i:52;s:6:"atLine";i:439;}i:19;a:7:{s:6:"header";s:32:"function UnumberToChar($cbyte)    {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:648:"
902
903 Converts a UNICODE number to a UTF-8 multibyte character
904 Algorithm based on script found at From: http://czyborra.com/utf/
905
906 The binary representation of the character's integer value is thus simply spread across the bytes and the number of high bits set in the lead byte announces the number of bytes in the multibyte sequence: 
907
908  bytes | bits | representation
909      1 |    7 | 0vvvvvvv
910      2 |   11 | 110vvvvv 10vvvvvv
911      3 |   16 | 1110vvvv 10vvvvvv 10vvvvvv
912      4 |   21 | 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv
913      5 |   26 | 111110vv 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv
914      6 |   31 | 1111110v 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv
915 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:15:"UNICODE integer";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:32:"UTF-8 multibyte character string";}s:5:"other";a:1:{i:0;s:24:"@see utf8CharToUnumber()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"utf8CharToUnumber() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1178;s:13:"content_lines";i:35;s:6:"atLine";i:510;}i:21;a:7:{s:6:"header";s:41:"function utf8CharToUnumber($str,$hex=0)  {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:59:"
916
917 Converts a UTF-8 Multibyte character to a UNICODE number
918 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"UTF-8 multibyte character string";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:39:"If set, then a hex. number is returned.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:15:"UNICODE integer";}s:5:"other";a:1:{i:0;s:20:"@see UnumberToChar()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"UnumberToChar() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:626;s:13:"content_lines";i:19;s:6:"atLine";i:554;}i:23;a:7:{s:6:"header";s:35:"function utf8_strtrunc($str,$len)  {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:59:"
919
920 Truncates a string in UTF-8 short at a given byte length
921 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"UTF-8 multibyte character string";}i:1;a:2:{i:0;s:7:"integer";i:1;s:15:"the byte length";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"the shortened string";}s:5:"other";a:2:{i:0;s:13:"@see strcut()";i:1;s:58:"@author       Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:9:"strcut() ";}s:7:"@author";a:1:{i:0;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}}}s:7:"content";s:0:"";s:12:"content_size";i:748;s:13:"content_lines";i:34;s:6:"atLine";i:583;}i:25;a:7:{s:6:"header";s:27:"function utf_strlen($str)       {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:1:"
922 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"[type]";i:1;s:9:"$str: ...";}}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:58:"@author Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}}}s:7:"content";s:0:"";s:12:"content_size";i:120;s:13:"content_lines";i:5;s:6:"atLine";i:623;}i:27;a:7:{s:6:"header";s:41:"function utf_substr($str,$start,$len=0)       {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:1:"
923 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"[type]";i:1;s:9:"$str: ...";}i:1;a:2:{i:0;s:6:"[type]";i:1;s:11:"$start: ...";}i:2;a:2:{i:0;s:6:"[type]";i:1;s:9:"$len: ...";}}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:58:"@author        Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}}}s:7:"content";s:0:"";s:12:"content_size";i:185;s:13:"content_lines";i:6;s:6:"atLine";i:636;}i:29;a:4:{s:6:"header";s:50:"function utf_strpos($haystack,$needle,$offset=0)      {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:1:"
924 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"[type]";i:1;s:14:"$haystack: ...";}i:1;a:2:{i:0;s:6:"[type]";i:1;s:12:"$needle: ...";}i:2;a:2:{i:0;s:6:"[type]";i:1;s:12:"$offset: ...";}}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:58:"@author     Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}}}s:6:"atLine";i:650;}i:31;a:7:{s:6:"header";s:51:"function utf_strrpos($haystack,$needle,$offset=0)     {";s:11:"parentClass";s:8:"t3lib_cs";s:4:"cDat";a:5:{s:4:"text";s:1:"
925 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"[type]";i:1;s:14:"$haystack: ...";}i:1;a:2:{i:0;s:6:"[type]";i:1;s:12:"$needle: ...";}i:2;a:2:{i:0;s:6:"[type]";i:1;s:12:"$offset: ...";}}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:58:"@author     Martin Kutschker <martin.t.kutschker@blackbox.net>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:50:"Martin Kutschker <martin.t.kutschker@blackbox.net>";}}}s:7:"content";s:0:"";s:12:"content_size";i:321;s:13:"content_lines";i:9;s:6:"atLine";i:663;}}}s:14:"MD5_acda8cdddc";a:4:{s:8:"filename";s:20:"class.t3lib_diff.php";s:8:"filesize";i:7701;s:6:"header";a:5:{s:4:"text";s:120:"
926
927 This class has functions which generates a difference output of a content string
928 Currently works only with LINUX/UNIX
929 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:6:{i:1;a:8:{s:6:"header";s:18:"class t3lib_diff {";s:5:"class";i:1;s:11:"parentClass";s:10:"t3lib_diff";s:4:"cDat";a:5:{s:4:"text";s:120:"
930
931 This class has functions which generates a difference output of a content string
932 Currently works only with LINUX/UNIX
933 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:301;s:13:"content_lines";i:10;s:6:"atLine";i:65;}i:3;a:7:{s:6:"header";s:39:"function makeDiffDisplay($str1,$str2)   {";s:11:"parentClass";s:10:"t3lib_diff";s:4:"cDat";a:3:{s:4:"text";s:82:"
934
935 This will produce a color-marked-up diff output in HTML from the input strings.
936 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:8:"String 1";}i:1;a:2:{i:0;s:6:"string";i:1;s:8:"String 2";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Formatted output.";}}s:7:"content";s:0:"";s:12:"content_size";i:2154;s:13:"content_lines";i:64;s:6:"atLine";i:83;}i:5;a:7:{s:6:"header";s:31:"function getDiff($str1,$str2)        {";s:11:"parentClass";s:10:"t3lib_diff";s:4:"cDat";a:4:{s:4:"text";s:217:"
937
938 Produce a diff (with the "diff" application on unix) between two strings
939 The function will write the two input strings to temporary files, then execute the diff program, delete the temp files and return the result.
940 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:8:"String 1";}i:1;a:2:{i:0;s:6:"string";i:1;s:8:"String 2";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:41:"The result from the exec() function call.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:426;s:13:"content_lines";i:18;s:6:"atLine";i:157;}i:7;a:7:{s:6:"header";s:47:"function addClearBuffer($clearBuffer,$last=0)      {";s:11:"parentClass";s:10:"t3lib_diff";s:4:"cDat";a:4:{s:4:"text";s:226:"
941
942 Will bring down the length of strings to < 150 chars if they were longer than 200 chars. This done by preserving the 70 first and last chars and concatenate those strings with "..." and a number indicating the string length
943 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"The input string.";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:89:"If set, it indicates that the string should just end with ... (thus no "complete" ending)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed string.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:258;s:13:"content_lines";i:7;s:6:"atLine";i:184;}i:9;a:4:{s:6:"header";s:39:"function explodeStringIntoWords($str) {";s:11:"parentClass";s:10:"t3lib_diff";s:4:"cDat";a:4:{s:4:"text";s:210:"
944
945 Explodes the input string into words.
946 This is done by splitting first by lines, then by space char. Each word will be in stored as a value in an array. Lines will be indicated by two subsequent empty values.
947 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"The string input";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:17:"Array with words.";}s:6:"access";s:7:"private";}s:6:"atLine";i:200;}i:11;a:7:{s:6:"header";s:32:"function tagSpace($str,$rev=0)  {";s:11:"parentClass";s:10:"t3lib_diff";s:4:"cDat";a:4:{s:4:"text";s:86:"
948
949 Adds a space character before and after HTML tags (more precisely any found < or >)
950 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"String to process";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:50:"If set, the < > searched for will be &lt; and &gt;";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Processed string";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:357;s:13:"content_lines";i:11;s:6:"atLine";i:221;}}}s:14:"MD5_2340d0eef3";a:4:{s:8:"filename";s:19:"class.t3lib_div.php";s:8:"filesize";i:102193;s:6:"header";a:5:{s:4:"text";s:555:"
951
952 The legendary "t3lib_div" class - Miscellaneous functions for general purpose.
953 Most of the functions does not relate specifically to TYPO3
954 However a section of functions requires certain TYPO3 features available
955 See comments in the source.
956 You are encouraged to use this library in your own scripts!
957
958 USE: 
959 The class is intended to be used without creating an instance of it.
960 So: Don't instantiate - call functions with "t3lib_div::" prefixed the function name.
961 So use t3lib_div::[method-name] to refer to the functions, eg. 't3lib_div::milliseconds()'
962 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:101:{i:1;a:8:{s:6:"header";s:17:"class t3lib_div {";s:5:"class";i:1;s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:555:"
963
964 The legendary "t3lib_div" class - Miscellaneous functions for general purpose.
965 Most of the functions does not relate specifically to TYPO3
966 However a section of functions requires certain TYPO3 features available
967 See comments in the source.
968 You are encouraged to use this library in your own scripts!
969
970 USE: 
971 The class is intended to be used without creating an instance of it.
972 So: Don't instantiate - call functions with "t3lib_div::" prefixed the function name.
973 So use t3lib_div::[method-name] to refer to the functions, eg. 't3lib_div::milliseconds()'
974 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:93;s:13:"content_lines";i:12;s:6:"atLine";i:192;}i:3;a:8:{s:6:"header";s:25:"function milliseconds() {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:15:"BASIC FUNCTIONS";}s:4:"cDat";a:3:{s:4:"text";s:89:"
975
976 milliseconds
977
978 microtime recalculated to t3lib_div::milliseconds(1/1000 sec)
979
980 Usage: 39
981 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:73;s:13:"content_lines";i:4;s:6:"atLine";i:214;}i:5;a:7:{s:6:"header";s:36:"function setGPvars($list,$strip=0)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:71:"
982
983 Sets global variables from HTTP_POST_VARS or HTTP_GET_VARS
984
985 Usage: 9
986 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:41:"List of GET/POST var keys to set globally";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:48:"If set, values are passed through stripslashes()";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:142;s:13:"content_lines";i:6;s:6:"atLine";i:228;}i:7;a:7:{s:6:"header";s:31:"function GPvar($var,$strip=0) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:288:"
987
988 GET/POST variable
989 Returns the 'GLOBAL' value of incoming data from POST or GET, with priority to POST (that is equalent to 'GP' order)
990 Strips slashes of string-outputs, but not arrays UNLESS $strip is set. If $strip is set all output will have escaped characters unescaped.
991
992 Usage: 686
993 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"GET/POST var to return";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:123:"If set, values are stripped of return values that are *arrays!* - string/integer values returned are always strip-slashed()";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:65:"POST var named $var and if not set, the GET var of the same name.";}}s:7:"content";s:0:"";s:12:"content_size";i:549;s:13:"content_lines";i:6;s:6:"atLine";i:246;}i:9;a:7:{s:6:"header";s:30:"function GParrayMerged($var)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:4:{s:4:"text";s:83:"
994
995 Returns the GET/POST global arrays merged with POST taking precedence.
996
997 Usage: 1
998 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:41:"Key (variable name) from GET or POST vars";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:59:"Returns the GET vars merged recursively onto the POST vars.";}s:6:"ignore";i:1;}s:7:"content";s:0:"";s:12:"content_size";i:335;s:13:"content_lines";i:7;s:6:"atLine";i:262;}i:11;a:7:{s:6:"header";s:36:"function clientInfo($useragent='')     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:39:"
999
1000 Client Browser Information
1001
1002 Usage: 4
1003 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:90:"Alternative User Agent string (if empty, t3lib_div::getIndpEnv('HTTP_USER_AGENT') is used)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:97:"Parsed information about the HTTP_USER_AGENT in categories BROWSER, VERSION, SYSTEM and FORMSTYLE";}}s:7:"content";s:0:"";s:12:"content_size";i:2004;s:13:"content_lines";i:65;s:6:"atLine";i:278;}i:13;a:8:{s:6:"header";s:40:"function gif_compress($theFile, $type) {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:15:"IMAGE FUNCTIONS";}s:4:"cDat";a:5:{s:4:"text";s:805:"
1004
1005 Compressing a GIF file if not already LZW compressed
1006 This function is a workaround for the fact that ImageMagick and/or GD does not compress GIF-files to their minimun size (that is RLE or no compression used)
1007
1008                 The function takes a file-reference, $theFile, and saves it again through GD or ImageMagick in order to compress the file
1009                 GIF:
1010                 If $type is not set, the compression is done with ImageMagick (provided that $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_path_lzw'] is pointing to the path of a lzw-enabled version of 'convert') else with GD (should be RLE-enabled!)
1011                 If $type is set to either 'IM' or 'GD' the compression is done with ImageMagick and GD respectively
1012                 PNG:
1013                 No changes.
1014
1015                 $theFile is expected to be a valid GIF-file!
1016                 The function returns a code for the operation.
1017
1018 Usage: 11
1019 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:8:"Filepath";}i:1;a:2:{i:0;s:6:"string";i:1;s:27:"See description of function";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:117:"Returns "GD" if GD was used, otherwise "IM" if ImageMagick was used. If nothing done at all, it returns empty string.";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:680;s:13:"content_lines";i:16;s:6:"atLine";i:365;}i:15;a:7:{s:6:"header";s:46:"function png_to_gif_by_imagemagick($theFile)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:145:"
1020
1021 Converts a png file to gif
1022
1023 This converts a png file to gif IF the FLAG $GLOBALS['TYPO3_CONF_VARS']['FE']['png_to_gif'] is set true.
1024
1025 Usage: 5
1026 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:31:"$theFile the filename with path";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"new filename";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:632;s:13:"content_lines";i:13;s:6:"atLine";i:393;}i:17;a:7:{s:6:"header";s:47:"function read_png_gif($theFile,$output_png=0) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:202:"
1027
1028 Returns filename of the png/gif version of the input file (which can be png or gif).
1029 If input file type does not match the wanted output type a conversion is made and temp-filename returned.
1030 Usage: 1
1031 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"Filepath of image file";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:61:"If set, then input file is converted to PNG, otherwise to GIF";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:55:"If the new image file exists, it's filepath is returned";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:625;s:13:"content_lines";i:35;s:6:"atLine";i:417;}i:19;a:8:{s:6:"header";s:50:"function fixed_lgd($string,$chars,$preStr='...')       {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:16:"STRING FUNCTIONS";}s:4:"cDat";a:5:{s:4:"text";s:145:"
1032
1033 Truncate string
1034 Returns a new string of max. $chars length.
1035 If the string is longer, it will be truncated and appended with '...'.
1036
1037 Usage: 119
1038 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"$string  string to truncate";}i:1;a:2:{i:0;s:7:"integer";i:1;s:40:"$chars        must be an integer of at least 4";}i:2;a:2:{i:0;s:6:"string";i:1;s:71:"String to append to the the output if it is truncated, default is '...'";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:10:"new string";}s:5:"other";a:1:{i:0;s:20:"@see fixed_lgd_pre()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"fixed_lgd_pre() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:141;s:13:"content_lines";i:8;s:6:"atLine";i:466;}i:21;a:7:{s:6:"header";s:40:"function fixed_lgd_pre($string,$chars)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:235:"
1039
1040 Truncate string
1041 Returns a new string of max. $chars length.
1042 If the string is longer, it will be truncated and prepended with '...'.
1043 This works like fixed_lgd, but is truncated in the start of the string instead of the end
1044
1045 Usage: 19
1046 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"$string  string to truncate";}i:1;a:2:{i:0;s:7:"integer";i:1;s:40:"$chars        must be an integer of at least 4";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:10:"new string";}s:5:"other";a:1:{i:0;s:16:"@see fixed_lgd()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"fixed_lgd() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:68;s:13:"content_lines";i:3;s:6:"atLine";i:488;}i:23;a:7:{s:6:"header";s:63:"function breakTextForEmail($str,$implChar="\n",$charWidth=76)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:42:"
1047
1048 Breaks up the text for emails
1049
1050 Usage: 1
1051 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"The string to break up";}i:1;a:2:{i:0;s:6:"string";i:1;s:66:"The string to implode the broken lines with (default/typically \n)";}i:2;a:2:{i:0;s:7:"integer";i:1;s:15:"The line length";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:227;s:13:"content_lines";i:8;s:6:"atLine";i:502;}i:25;a:7:{s:6:"header";s:64:"function breakLinesForEmail($str,$implChar="\n",$charWidth=76)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:55:"
1052
1053 Breaks up a single line of text for emails
1054
1055 Usage: 3
1056 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"The string to break up";}i:1;a:2:{i:0;s:6:"string";i:1;s:66:"The string to implode the broken lines with (default/typically \n)";}i:2;a:2:{i:0;s:7:"integer";i:1;s:15:"The line length";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:24:"@see breakTextForEmail()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"breakTextForEmail() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:696;s:13:"content_lines";i:26;s:6:"atLine";i:522;}i:27;a:7:{s:6:"header";s:32:"function cmpIP($baseIP, $list)       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:63:"
1057
1058 Match IP number with list of numbers with wildcard
1059
1060 Usage: 8
1061 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:71:"$baseIP is the current remote IP address for instance, typ. REMOTE_ADDR";}i:1;a:2:{i:0;s:6:"string";i:1;s:187:"$list is a comma-list of IP-addresses to match with. *-wildcard allowed instead of number, plus leaving out parts in the IP number is accepted as wildcard (eg. 192.168.*.* equals 192.168)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:45:"True if an IP-mask from $list matches $baseIP";}}s:7:"content";s:0:"";s:12:"content_size";i:450;s:13:"content_lines";i:19;s:6:"atLine";i:558;}i:29;a:7:{s:6:"header";s:33:"function inList($in_list,$item)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:98:"
1062
1063 Check for item in list
1064
1065 Check if an item exists in a comma-separated list of items.
1066
1067 Usage: 166
1068 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:48:"$in_list         comma-separated list of items (string)";}i:1;a:2:{i:0;s:6:"string";i:1;s:24:"$item      item to check for";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:28:"true if $item is in $in_list";}}s:7:"content";s:0:"";s:12:"content_size";i:55;s:13:"content_lines";i:3;s:6:"atLine";i:589;}i:31;a:7:{s:6:"header";s:37:"function rmFromList($element,$list)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:66:"
1069
1070 Removes an item from a comma-separated list of items.
1071
1072 Usage: 1
1073 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:28:"$element         element to remove";}i:1;a:2:{i:0;s:6:"string";i:1;s:45:"$list   comma-separated list of items (string)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:33:"new comma-separated list of items";}}s:7:"content";s:0:"";s:12:"content_size";i:148;s:13:"content_lines";i:7;s:6:"atLine";i:602;}i:33;a:7:{s:6:"header";s:64:"function intInRange($theInt,$min,$max=2000000000,$zeroValue=0)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:137:"
1074
1075 Forces the integer $theInt into the boundaries of $min and $max. If the $theInt is 'false' then the $zeroValue is applied.
1076
1077 Usage: 226
1078 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:7:"integer";i:1;s:11:"Input value";}i:1;a:2:{i:0;s:7:"integer";i:1;s:11:"Lower limit";}i:2;a:2:{i:0;s:7:"integer";i:1;s:12:"Higher limit";}i:3;a:2:{i:0;s:7:"integer";i:1;s:32:"Default value if input is false.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:59:"The input value forced into the boundaries of $min and $max";}}s:7:"content";s:0:"";s:12:"content_size";i:359;s:13:"content_lines";i:8;s:6:"atLine";i:621;}i:35;a:7:{s:6:"header";s:35:"function intval_positive($theInt)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:79:"
1079
1080 Returns the $integer if greater than zero, otherwise returns zero.
1081
1082 Usage: 1
1083 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:25:"Integer string to process";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:81;s:13:"content_lines";i:5;s:6:"atLine";i:638;}i:37;a:7:{s:6:"header";s:38:"function int_from_ver($verNumberStr)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:88:"
1084
1085 Returns an integer from a three part version number, eg '4.12.3' -> 4012003
1086
1087 Usage: 2
1088 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"Version number on format x.x.x";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:68:"Integer version of version number (where each part can count to 999)";}}s:7:"content";s:0:"";s:12:"content_size";i:175;s:13:"content_lines";i:4;s:6:"atLine";i:652;}i:39;a:7:{s:6:"header";s:23:"function md5int($str)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:98:"
1089
1090 Makes a positive integer hash out of the first 7 chars from the md5 hash of the input
1091
1092 Usage: 0
1093 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"String to md5-hash";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:26:"Returns 28bit integer-hash";}}s:7:"content";s:0:"";s:12:"content_size";i:46;s:13:"content_lines";i:3;s:6:"atLine";i:665;}i:41;a:7:{s:6:"header";s:31:"function uniqueList($in_list)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:69:"
1094
1095 Takes a comma-separated list and removes all duplicates
1096
1097 Usage: 16
1098 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:45:"$in_list is a comma-separated list of values.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:82:"Returns the list without any duplicates of values, space around values are trimmed";}}s:7:"content";s:0:"";s:12:"content_size";i:107;s:13:"content_lines";i:4;s:6:"atLine";i:677;}i:43;a:7:{s:6:"header";s:34:"function split_fileref($fileref)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:53:"
1099
1100 Splits a reference to a file in 5 parts
1101
1102 Usage: 43
1103 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"Filename/filepath to be analysed";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:66:"Contains keys [path], [file], [filebody], [fileext], [realFileext]";}}s:7:"content";s:0:"";s:12:"content_size";i:460;s:13:"content_lines";i:20;s:6:"atLine";i:690;}i:45;a:7:{s:6:"header";s:25:"function dirname($path)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:281:"
1104
1105 Returns the directory part of a path without trailing slash
1106 If there is no dir-part, then an empty string is returned.
1107 Behaviour:
1108
1109 '/dir1/dir2/script.php' => '/dir1/dir2'
1110 '/dir1/' => '/dir1'
1111 'dir1/script.php' => 'dir1'
1112 'd/script.php' => 'd'
1113 '/script.php' => ''
1114 '' => ''
1115 Usage: 5
1116 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Directory name / path";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:48:"Processed input value. See function description.";}}s:7:"content";s:0:"";s:12:"content_size";i:78;s:13:"content_lines";i:4;s:6:"atLine";i:727;}i:47;a:7:{s:6:"header";s:43:"function modifyHTMLColor($color,$R,$G,$B)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:83:"
1117
1118 Modifies a HTML Hex color by adding/subtracting $R,$G and $B integers
1119
1120 Usage: 37
1121 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"A hexadecimal color code, #xxxxxx";}i:1;a:2:{i:0;s:7:"integer";i:1;s:18:"Offset value 0-255";}i:2;a:2:{i:0;s:7:"integer";i:1;s:18:"Offset value 0-255";}i:3;a:2:{i:0;s:7:"integer";i:1;s:18:"Offset value 0-255";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:67:"A hexadecimal color code, #xxxxxx, modified according to input vars";}s:5:"other";a:1:{i:0;s:25:"@see modifyHTMLColorAll()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:21:"modifyHTMLColorAll() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:443;s:13:"content_lines";i:10;s:6:"atLine";i:744;}i:49;a:7:{s:6:"header";s:42:"function modifyHTMLColorAll($color,$all)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:97:"
1122
1123 Modifies a HTML Hex color by adding/subtracting $all integer from all R/G/B channels
1124
1125 Usage: 4
1126 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"A hexadecimal color code, #xxxxxx";}i:1;a:2:{i:0;s:7:"integer";i:1;s:42:"Offset value 0-255 for all three channels.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:67:"A hexadecimal color code, #xxxxxx, modified according to input vars";}s:5:"other";a:1:{i:0;s:22:"@see modifyHTMLColor()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"modifyHTMLColor() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:65;s:13:"content_lines";i:3;s:6:"atLine";i:765;}i:51;a:7:{s:6:"header";s:31:"function rm_endcomma($string)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:60:"
1127
1128 Removes comma (if present) in the end of string
1129
1130 Usage: 4
1131 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:64:"String from which the comma in the end (if any) will be removed.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:45;s:13:"content_lines";i:3;s:6:"atLine";i:777;}i:53;a:7:{s:6:"header";s:37:"function danish_strtoupper($string)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:4:{s:4:"text";s:223:"
1132
1133 strtoupper which converts danish (and other characters) characters as well
1134 (Depreciated, use PHP function with locale settings instead or for HTML output, wrap your content in <span class="uppercase">...</span>)
1135 Usage: 4
1136 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"String to process";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:6:"ignore";i:1;}s:7:"content";s:0:"";s:12:"content_size";i:99;s:13:"content_lines";i:4;s:6:"atLine";i:790;}i:55;a:7:{s:6:"header";s:28:"function convUmlauts($str) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:232:"
1137
1138 Change umlaut characters to plain ASCII with normally two character target
1139 Only known characters will be converted, so don't expect a result for any character.
1140 Works only for western europe single-byte charsets!
1141
1142 ä => ae, Ö => Oe
1143 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"String to convert.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:254;s:13:"content_lines";i:5;s:6:"atLine";i:805;}i:57;a:7:{s:6:"header";s:36:"function shortMD5($input, $len=10)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:93:"
1144
1145 Returns the first 10 positions of the MD5-hash          (changed from 6 to 10 recently)
1146
1147 Usage: 43
1148 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"Input string to be md5-hashed";}i:1;a:2:{i:0;s:7:"integer";i:1;s:31:"The string-length of the output";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:75:"Substring of the resulting md5-hash, being $len chars long (from beginning)";}}s:7:"content";s:0:"";s:12:"content_size";i:42;s:13:"content_lines";i:3;s:6:"atLine";i:820;}i:59;a:7:{s:6:"header";s:24:"function testInt($var)       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:47:"
1149
1150 Tests if the input is an integer.
1151
1152 Usage: 74
1153 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:27:"Any input variable to test.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:36:"Returns true if string is an integer";}}s:7:"content";s:0:"";s:12:"content_size";i:42;s:13:"content_lines";i:3;s:6:"atLine";i:832;}i:61;a:7:{s:6:"header";s:42:"function isFirstPartOfStr($str,$partStr)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:80:"
1154
1155 Returns true if the first part of $str matches the string $partStr
1156
1157 Usage: 58
1158 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Full string to check";}i:1;a:2:{i:0;s:6:"string";i:1;s:75:"Reference string which must be found as the "first part" of the full string";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:64:"True if $partStr was found to be equal to the first part of $str";}}s:7:"content";s:0:"";s:12:"content_size";i:210;s:13:"content_lines";i:7;s:6:"atLine";i:845;}i:63;a:7:{s:6:"header";s:46:"function formatSize($sizeInBytes,$labels='')        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:89:"
1159
1160 Formats the input integer $sizeInBytes as bytes/kilobytes/megabytes (-/K/M)
1161
1162 Usage: 54
1163 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:26:"Number of bytes to format.";}i:1;a:2:{i:0;s:6:"string";i:1;s:146:"Labels for bytes, kilo, mega and giga separated by vertical bar (|) and possibly encapsulated in "". Eg: " | K| M| G" (which is the default value)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:56:"Formatted representation of the byte number, for output.";}}s:7:"content";s:0:"";s:12:"content_size";i:720;s:13:"content_lines";i:27;s:6:"atLine";i:862;}i:65;a:7:{s:6:"header";s:39:"function convertMicrotime($microtime)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:52:"
1164
1165 Returns microtime input to milliseconds
1166
1167 Usage: 2
1168 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"Microtime";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:61:"Microtime input string converted to an integer (milliseconds)";}}s:7:"content";s:0:"";s:12:"content_size";i:85;s:13:"content_lines";i:4;s:6:"atLine";i:898;}i:67;a:7:{s:6:"header";s:40:"function splitCalc($string,$operators)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:108:"
1169
1170 This splits a string by the chars in $operators (typical /+-*) and returns an array with them in
1171 Usage: 2
1172 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"Input string, eg "123 + 456 / 789 - 4"";}i:1;a:2:{i:0;s:6:"string";i:1;s:39:"Operators to split by, typically "/+-*"";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:44:"Array with operators and operands separated.";}s:5:"other";a:1:{i:0;s:55:"@see tslib_cObj::calc(), tslib_gifBuilder::calcOffset()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:50:"tslib_cObj::calc(), tslib_gifBuilder::calcOffset()";}}}s:7:"content";s:0:"";s:12:"content_size";i:287;s:13:"content_lines";i:13;s:6:"atLine";i:912;}i:69;a:7:{s:6:"header";s:32:"function calcPriority($string)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:72:"
1173
1174 Calculates the input by +,-,*,/,%,^ with priority to + and -
1175 Usage: 1
1176 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"Input string, eg "123 + 456 / 789 - 4"";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:34:"Calculated value. Or error string.";}s:5:"other";a:1:{i:0;s:22:"@see calcParenthesis()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"calcParenthesis() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1005;s:13:"content_lines";i:31;s:6:"atLine";i:934;}i:71;a:7:{s:6:"header";s:35:"function calcParenthesis($string)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:56:"
1177
1178 Calculates the input with parenthesis levels
1179 Usage: 2
1180 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:40:"Input string, eg "(123 + 456) / 789 - 4"";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:34:"Calculated value. Or error string.";}s:5:"other";a:1:{i:0;s:42:"@see calcPriority(), tslib_cObj::stdWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:37:"calcPriority(), tslib_cObj::stdWrap()";}}}s:7:"content";s:0:"";s:12:"content_size";i:535;s:13:"content_lines";i:18;s:6:"atLine";i:974;}i:73;a:7:{s:6:"header";s:42:"function htmlspecialchars_decode($value)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:50:"
1181
1182 Inverse version of htmlspecialchars()
1183
1184 Usage: 2
1185 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:78:"Value where &gt;, &lt;, &quot; and &amp; should be converted to regular chars.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Converted result.";}}s:7:"content";s:0:"";s:12:"content_size";i:197;s:13:"content_lines";i:7;s:6:"atLine";i:1001;}i:75;a:7:{s:6:"header";s:30:"function deHSCentities($str)       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:78:"
1186
1187 Re-converts HTML entities if they have been converted by htmlspecialchars()
1188 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:123:"String which contains eg. "&amp;amp;" which should stay "&amp;". Or "&amp;#1234;" to "&#1234;". Or "&amp;#x1b;" to "&#x1b;"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Converted result.";}}s:7:"content";s:0:"";s:12:"content_size";i:65;s:13:"content_lines";i:3;s:6:"atLine";i:1015;}i:77;a:7:{s:6:"header";s:49:"function slashJS($string,$extended=0,$char="'")       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:99:"
1189
1190 This function is used to escape any ' -characters when transferring text to JavaScript!
1191 Usage: 6
1192 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"String to escape";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:37:"If set, also backslashes are escaped.";}i:2;a:2:{i:0;s:6:"string";i:1;s:52:"The character to escape, default is ' (single-quote)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Processed input string";}}s:7:"content";s:0:"";s:12:"content_size";i:123;s:13:"content_lines";i:4;s:6:"atLine";i:1028;}i:79;a:7:{s:6:"header";s:31:"function rawUrlEncodeJS($str)       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:229:"
1193
1194 Version of rawurlencode() where all spaces (%20) are re-converted to space-characters.
1195 Usefull when passing text to JavaScript where you simply url-encode it to get around problems with syntax-errors, linebreaks etc.
1196
1197 Usage: 8
1198 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:46:"String to raw-url-encode with spaces preserved";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:94:"Rawurlencoded result of input string, but with all %20 (space chars) converted to real spaces.";}}s:7:"content";s:0:"";s:12:"content_size";i:57;s:13:"content_lines";i:3;s:6:"atLine";i:1042;}i:81;a:7:{s:6:"header";s:29:"function validEmail($email)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:51:"
1199
1200 Checking syntax of input email address
1201
1202 Usage: 4
1203 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:24:"Input string to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:140:"Returns true if the $email address (input string) is valid; Has a "@", domain name with at least one period and only allowed a-z characters.";}}s:7:"content";s:0:"";s:12:"content_size";i:130;s:13:"content_lines";i:4;s:6:"atLine";i:1054;}i:83;a:7:{s:6:"header";s:38:"function formatForTextarea($content)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:397:"
1204
1205 Formats a string for output between <textarea>-tags
1206 All content outputted in a textarea form should be passed through this function
1207 Not only is the content htmlspecialchar'ed on output but there is also a single newline added in the top. The newline is necessary because browsers will ignore the first newline after <textarea> if that is the first character. Therefore better set it!
1208
1209 Usage: 30
1210 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"Input string to be formatted.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:29:"Formatted for <textarea>-tags";}}s:7:"content";s:0:"";s:12:"content_size";i:154;s:13:"content_lines";i:20;s:6:"atLine";i:1069;}i:85;a:8:{s:6:"header";s:35:"function inArray($in_array,$item)      {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:15:"ARRAY FUNCTIONS";}s:4:"cDat";a:5:{s:4:"text";s:144:"
1211
1212 Check if an item exists in an array
1213 Please note that the order of parameters is reverse compared to the php4-function in_array()!!!
1214
1215 Usage: 3
1216 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:41:"$in_array         one-dimensional array of items";}i:1;a:2:{i:0;s:6:"string";i:1;s:24:"$item      item to check for";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:55:"true if $item is in the one-dimensional array $in_array";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:145;s:13:"content_lines";i:7;s:6:"atLine";i:1101;}i:87;a:7:{s:6:"header";s:38:"function intExplode($delim, $string)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:178:"
1217
1218 Explodes a $string delimited by $delim and passes each item in the array through intval().
1219 Corresponds to explode(), but with conversion to integers for all values.
1220
1221 Usage: 86
1222 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"Delimiter string to explode with";}i:1;a:2:{i:0;s:6:"string";i:1;s:21:"The string to explode";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:42:"Exploded values, all converted to integers";}}s:7:"content";s:0:"";s:12:"content_size";i:144;s:13:"content_lines";i:8;s:6:"atLine";i:1119;}i:89;a:7:{s:6:"header";s:48:"function revExplode($delim, $string, $count=0)       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:163:"
1223
1224 Reverse explode which explodes the string counting from behind.
1225 Thus t3lib_div::revExplode(':','my:words:here',2) will return array('my:words','here')
1226
1227 Usage: 6
1228 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"Delimiter string to explode with";}i:1;a:2:{i:0;s:6:"string";i:1;s:21:"The string to explode";}i:2;a:2:{i:0;s:7:"integer";i:1;s:23:"Number of array entries";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:15:"Exploded values";}}s:7:"content";s:0:"";s:12:"content_size";i:189;s:13:"content_lines";i:9;s:6:"atLine";i:1139;}i:91;a:7:{s:6:"header";s:62:"function trimExplode($delim, $string, $onlyNonEmptyValues=0)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:152:"
1229
1230 Explodes a string and trims all values for whitespace in the ends.
1231 If $onlyNonEmptyValues is set, then all blank ('') values are removed.
1232
1233 Usage: 239
1234 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"Delimiter string to explode with";}i:1;a:2:{i:0;s:6:"string";i:1;s:21:"The string to explode";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:56:"If set, all empty values (='') will NOT be set in output";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:15:"Exploded values";}}s:7:"content";s:0:"";s:12:"content_size";i:229;s:13:"content_lines";i:11;s:6:"atLine";i:1160;}i:93;a:7:{s:6:"header";s:35:"function uniqueArray($valueArray)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:6:{s:4:"text";s:272:"
1235
1236 Takes a one-dimensional array and returns an array where the values are unique
1237 The keys in the array are substituted with some md5-hashes
1238 If the value is trim(empty), the value is ignored.
1239 Values are trimmed
1240 (Depreciated, use PHP function array_unique instead)
1241 Usage: 2
1242 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of values to make unique";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:6:"ignore";i:1;s:5:"other";a:1:{i:0;s:12:"@depreciated";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:244;s:13:"content_lines";i:13;s:6:"atLine";i:1185;}i:95;a:7:{s:6:"header";s:52:"function removeArrayEntryByValue($array,$cmpValue)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:99:"
1243
1244 Removes the value $cmpValue from the $array if found there. Returns the modified array
1245
1246 Usage: 2
1247 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:27:"Array containing the values";}i:1;a:2:{i:0;s:6:"string";i:1;s:64:"Value to search for and if found remove array entry where found.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:59:"Output array with entries removed if search string is found";}}s:7:"content";s:0:"";s:12:"content_size";i:306;s:13:"content_lines";i:16;s:6:"atLine";i:1208;}i:97;a:7:{s:6:"header";s:92:"function implodeArrayForUrl($name,$theArray,$str='',$skipBlank=0,$rawurlencodeParamName=0)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:114:"
1248
1249 Implodes a multidim-array into GET-parameters (eg. &param[key][key2]=value2&param[key][key3]=value3)
1250
1251 Usage: 24
1252 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:55:"Name prefix for entries. Set to blank if you wish none.";}i:1;a:2:{i:0;s:5:"array";i:1;s:31:"The (multidim) array to implode";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:60:"If set, all values that are blank (='') will NOT be imploded";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:61:"If set, parameters which were blank strings would be removed.";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:94:"If set, the param name itselt (for example "param[key][key2]") would be rawurlencoded as well.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:69:"Imploded result, fx. &param[key][key2]=value2&param[key][key3]=value3";}}s:7:"content";s:0:"";s:12:"content_size";i:587;s:13:"content_lines";i:17;s:6:"atLine";i:1237;}i:99;a:7:{s:6:"header";s:74:"function compileSelectedGetVarsFromArray($varList,$getArray,$GPvarAlt=1) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:120:"
1253
1254 Returns an array with selected keys from incoming data.
1255 (Better read source code if you want to find out...)
1256 Usage: 3
1257 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"List of variable/key names";}i:1;a:2:{i:0;s:5:"array";i:1;s:60:"Array from where to get values based on the keys in $varList";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:96:"If set, then t3lib_div::GPvar() is used to fetch the value if not found (isset) in the $getArray";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:37:"Output array with selected variables.";}}s:7:"content";s:0:"";s:12:"content_size";i:261;s:13:"content_lines";i:12;s:6:"atLine";i:1265;}i:101;a:7:{s:6:"header";s:40:"function addSlashesOnArray(&$theArray)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:203:"
1258
1259 AddSlash array
1260 This function traverses a multidimentional array and adds slashes to the values.
1261 NOTE that the input array is and argument by reference.!!
1262 Twin-function to stripSlashesOnArray
1263
1264 Usage: 6
1265 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:42:"Multidimensional input array, (REFERENCE!)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:273;s:13:"content_lines";i:13;s:6:"atLine";i:1289;}i:103;a:7:{s:6:"header";s:42:"function stripSlashesOnArray(&$theArray) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:205:"
1266
1267 StripSlash array
1268 This function traverses a multidimentional array and strips slashes to the values.
1269 NOTE that the input array is and argument by reference.!!
1270 Twin-function to addSlashesOnArray
1271
1272 Usage: 7
1273 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:42:"Multidimensional input array, (REFERENCE!)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:277;s:13:"content_lines";i:13;s:6:"atLine";i:1314;}i:105;a:7:{s:6:"header";s:32:"function slashArray($arr,$cmd)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:90:"
1274
1275 Either slashes ($cmd=add) or strips ($cmd=strip) array $arr depending on $cmd
1276
1277 Usage: 6
1278 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:28:"Multidimensional input array";}i:1;a:2:{i:0;s:6:"string";i:1;s:46:""add" or "strip", depending on usage you wish.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:134;s:13:"content_lines";i:5;s:6:"atLine";i:1337;}i:107;a:7:{s:6:"header";s:69:"function array_merge_recursive_overrule ($arr0,$arr1,$notAddKeys=0) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:210:"
1279
1280 Merges two arrays recursively, overruling similar the values in the first array ($arr0) with the values of the second array ($arr1)
1281 In case of identical keys, ie. keeping the values of the second.
1282
1283 Usage: 26
1284 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"First array";}i:1;a:2:{i:0;s:5:"array";i:1;s:40:"Second array, overruling the first array";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:137:"If set, keys that are NOT found in $arr0 (first array) will not be set. Thus only existing value can/will be overruled from second array.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:61:"Resulting array where $arr1 values has overruled $arr0 values";}}s:7:"content";s:0:"";s:12:"content_size";i:416;s:13:"content_lines";i:20;s:6:"atLine";i:1354;}i:109;a:7:{s:6:"header";s:35:"function array_merge($arr1,$arr2) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:131:"
1285
1286 An array_merge function where the keys are NOT renumbered as they happen to be with the real php-array_merge function
1287
1288 Usage: 27
1289 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"First array";}i:1;a:2:{i:0;s:5:"array";i:1;s:12:"Second array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:14:"Merged result.";}}s:7:"content";s:0:"";s:12:"content_size";i:28;s:13:"content_lines";i:3;s:6:"atLine";i:1384;}i:111;a:7:{s:6:"header";s:48:"function csvValues($row,$delim=',',$quote='"')   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:136:"
1290
1291 Takes a row and returns a CSV string of the values with $delim (default is ,) and $quote (default is ") as separator chars.
1292
1293 Usage: 5
1294 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:21:"Input array of values";}i:1;a:2:{i:0;s:6:"string";i:1;s:28:"Delimited, default is comman";}i:2;a:2:{i:0;s:6:"string";i:1;s:42:"Quote-character to wrap around the values.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"A single line of CSV";}}s:7:"content";s:0:"";s:12:"content_size";i:385;s:13:"content_lines";i:32;s:6:"atLine";i:1398;}i:113;a:8:{s:6:"header";s:35:"function get_tag_attributes($tag)   {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:19:"HTML/XML PROCESSING";}s:4:"cDat";a:3:{s:4:"text";s:329:"
1295
1296 $tag is either a whole tag (eg '<TAG OPTION ATTRIB=VALUE>') or the parameterlist (ex ' OPTION ATTRIB=VALUE>')
1297 Returns an array with all attributes as keys. Attributes are only lowercase a-z
1298 If a attribute is empty (I call it 'an option'), then the value for the key is empty. You can check if it existed with isset()
1299
1300 Usage: 9
1301 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"HTML-tag string (or attributes only)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:32:"Array with the attribute values.";}}s:7:"content";s:0:"";s:12:"content_size";i:789;s:13:"content_lines";i:27;s:6:"atLine";i:1441;}i:115;a:7:{s:6:"header";s:37:"function split_tag_attributes($tag)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:172:"
1302
1303 Returns an array with the 'components' from an attribute list from an HTML tag. The result is normally analyzed by get_tag_attributes
1304 Removes tag-name if found
1305
1306 Usage: 1
1307 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"HTML-tag string (or attributes only)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:32:"Array with the attribute values.";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:849;s:13:"content_lines";i:24;s:6:"atLine";i:1479;}i:117;a:7:{s:6:"header";s:43:"function implodeParams($arr,$xhtmlSafe=0)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:107:"
1308
1309 Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
1310
1311 Usage: 10
1312 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:71:"Array with attribute key/value pairs, eg. "bgcolor"=>"red", "border"=>0";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:213:"If set the resulting attribute list will have a) all attributes in lowercase (and duplicates weeded out, first entry taking precedence) and b) all values htmlspecialchar()'ed. It is recommended to use this switch!";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:51:"Imploded attributes, eg. 'bgcolor="red" border="0"'";}}s:7:"content";s:0:"";s:12:"content_size";i:364;s:13:"content_lines";i:16;s:6:"atLine";i:1513;}i:119;a:7:{s:6:"header";s:43:"function wrapJS($string, $linebreak=TRUE) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:211:"
1313
1314 Wraps JavaScript code XHTML ready with <script>-tags
1315 Automatic re-identing of the JS code is done by using the first line as ident reference.
1316 This is nice for identing JS code with PHP code on the same level.
1317 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:15:"JavaScript code";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:51:"Wrap script element in linebreaks? Default is TRUE.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:51:"The wrapped JS code, ready to put into a XHTML page";}s:5:"other";a:2:{i:0;s:40:"@author      Ingmar Schlecht <ingmars@web.de>";i:1;s:41:"@author     René Fritz <r.fritz@colorcube.de>";}s:11:"other_index";a:1:{s:7:"@author";a:2:{i:0;s:32:"Ingmar Schlecht <ingmars@web.de>";i:1;s:33:"René Fritz <r.fritz@colorcube.de>";}}}s:7:"content";s:0:"";s:12:"content_size";i:471;s:13:"content_lines";i:20;s:6:"atLine";i:1541;}i:121;a:7:{s:6:"header";s:39:"function xml2tree($string,$depth=999) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:58:"
1318
1319 Parses XML input into a PHP array with associative keys
1320 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"XML data input";}i:1;a:2:{i:0;s:7:"integer";i:1;s:100:"Number of element levels to resolve the XML into an array. Any further structure will be set as XML.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:131:"The array with the parsed structure unless the XML parser returns with an error in which case the error message string is returned.";}s:5:"other";a:1:{i:0;s:126:"@author bisqwit at iki dot fi dot not dot for dot ads dot invalid / http://dk.php.net/xml_parse_into_struct + kasper@typo3.com";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:118:"bisqwit at iki dot fi dot not dot for dot ads dot invalid / http://dk.php.net/xml_parse_into_struct + kasper@typo3.com";}}}s:7:"content";s:0:"";s:12:"content_size";i:1696;s:13:"content_lines";i:64;s:6:"atLine";i:1570;}i:123;a:7:{s:6:"header";s:81:"function array2xml($array,$NSprefix='',$level=0,$docTag='phparray',$spaceInd=0)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:1105:"
1321
1322 Converts a PHP array into an XML file.
1323 The XML output is optimized for readability since associative keys are used as fieldnames. 
1324 This also means that only alphanumeric characters are allowed in the tag names AND only keys NOT starting with numbers (so watch your usage of keys!)
1325 Numeric keys are converted to "n"+int (which means you should not use this kind of associative key otherwise)
1326 The function handles input values from the PHP array in a binary-safe way; All characters below 32 (except 9,10,13) will trigger the content to be converted to a base64-string
1327 The PHP variable type of the data is NOT preserved; integers will become strings, but arrays will stay arrays of course.
1328 The output XML has been tested with the PHP XML-parser and parses OK under all tested circumstances.
1329 However using MSIE to read the XML output didn't always go well: One reason could be that the character encoding is not observed in the PHP data. The other reason may be if the tag-names are invalid in the eyes of MSIE. Also using the namespace feature will make MSIE break parsing. There might be more reasons...
1330 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:86:"The input PHP array with any kind of data; text, binary, integers. Not objects though.";}i:1;a:2:{i:0;s:6:"string";i:1;s:45:"tag-prefix, eg. a namespace prefix like "T3:"";}i:2;a:2:{i:0;s:7:"integer";i:1;s:52:"Current recursion level. Don't change, stay at zero!";}i:3;a:2:{i:0;s:6:"string";i:1;s:48:"Alternative document tag. Default is "phparray".";}i:4;a:2:{i:0;s:7:"integer";i:1;s:120:"If set, the number of spaces corresponding to this number is used for indenting, otherwise a single chr(9) (TAB) is used";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:55:"An XML string made from the input content in the array.";}s:5:"other";a:1:{i:0;s:16:"@see xml2array()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"xml2array() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1985;s:13:"content_lines";i:48;s:6:"atLine";i:1653;}i:125;a:7:{s:6:"header";s:42:"function xml2array($string,$NSprefix='') {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:83:"
1331
1332 Converts an XML file to a PHP array.
1333 This is the inverse function of array2xml()
1334 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"XML content to convert into an array";}i:1;a:2:{i:0;s:6:"string";i:1;s:50:"The tag-prefix resolve, eg. a namespace like "T3:"";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:108:"If the parsing had errors, a string with the error message is returned. Otherwise an array with the content.";}s:5:"other";a:1:{i:0;s:16:"@see array2xml()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"array2xml() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2185;s:13:"content_lines";i:52;s:6:"atLine";i:1711;}i:127;a:7:{s:6:"header";s:48:"function xmlRecompileFromStructValArray($vals)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:90:"
1335
1336 This implodes an array of XML parts (made with xml_parse_into_struct()) into XML again.
1337 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:34:"A array of XML parts, see xml2tree";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"Re-compiled XML data.";}}s:7:"content";s:0:"";s:12:"content_size";i:852;s:13:"content_lines";i:36;s:6:"atLine";i:1770;}i:129;a:7:{s:6:"header";s:40:"function xmlGetHeaderAttribs($xmlData)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:88:"
1338
1339 Extract the encoding scheme as found in the first line of an XML document (typically)
1340 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:8:"XML data";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:38:"Encoding scheme (lowercase), if found.";}}s:7:"content";s:0:"";s:12:"content_size";i:279;s:13:"content_lines";i:23;s:6:"atLine";i:1813;}i:131;a:8:{s:6:"header";s:23:"function getURL($url)      {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:15:"FILES FUNCTIONS";}s:4:"cDat";a:3:{s:4:"text";s:218:"
1341
1342 Reads the file or url $url and returns the content
1343 If you are having trouble with proxys when reading URLs you can configure your way out of that with settings like $TYPO3_CONF_VARS['SYS']['curlUse'] etc.
1344
1345 Usage: 79
1346 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath/URL to read";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:45:"The content from the resource given as input.";}}s:7:"content";s:0:"";s:12:"content_size";i:1169;s:13:"content_lines";i:33;s:6:"atLine";i:1846;}i:133;a:7:{s:6:"header";s:36:"function writeFile($file,$content)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:47:"
1347
1348 Writes $content to the file $file
1349
1350 Usage: 31
1351 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath to write to";}i:1;a:2:{i:0;s:6:"string";i:1;s:16:"Content to write";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:56:"True if the file was successfully opened and written to.";}}s:7:"content";s:0:"";s:12:"content_size";i:275;s:13:"content_lines";i:11;s:6:"atLine";i:1889;}i:135;a:7:{s:6:"header";s:26:"function get_dirs($path)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:159:"
1352
1353 Returns an array with the names of folders in a specific path
1354 Will return 'error' (string) if there were an error with reading directory content.
1355
1356 Usage: 13
1357 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"Path to list directories from";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:95:"Returns an array with the directory entries as values. If no path, the return value is nothing.";}}s:7:"content";s:0:"";s:12:"content_size";i:279;s:13:"content_lines";i:14;s:6:"atLine";i:1910;}i:137;a:7:{s:6:"header";s:74:"function getFilesInDir($path,$extensionList='',$prependPath=0,$order='')     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:73:"
1358
1359 Returns an array with the names of files in a specific path
1360
1361 Usage: 17
1362 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"$path: Is the path to the file";}i:1;a:2:{i:0;s:6:"string";i:1;s:73:"$extensionList is the comma list of extensions to read only (blank = all)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:104:"If set, then the path is prepended the filenames. Otherwise only the filenames are returned in the array";}i:3;a:2:{i:0;s:6:"string";i:1;s:79:"$order is sorting: 1= sort alphabetically, 'mtime' = sort by modification time.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:24:"Array of the files found";}}s:7:"content";s:0:"";s:12:"content_size";i:914;s:13:"content_lines";i:34;s:6:"atLine";i:1936;}i:139;a:7:{s:6:"header";s:99:"function getAllFilesAndFoldersInPath($fileArr,$path,$extList='',$regDirs=0,$recursivityLevels=99)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:54:"
1363
1364 Recursively gather all files and folders of a path.
1365 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:57:"$fileArr: Empty input array (will have files added to it)";}i:1;a:2:{i:0;s:6:"string";i:1;s:51:"$path: The path to read recursively from (absolute)";}i:2;a:2:{i:0;s:6:"string";i:1;s:114:"$extList: Comma list of file extensions: Only files with extensions in this list (if applicable) will be selected.";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:58:"$regDirs: If set, directories are also included in output.";}i:4;a:2:{i:0;s:7:"integer";i:1;s:55:"$recursivityLevels: The number of levels to dig down...";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:42:"An array with the found files/directories.";}}s:7:"content";s:0:"";s:12:"content_size";i:431;s:13:"content_lines";i:14;s:6:"atLine";i:1981;}i:141;a:7:{s:6:"header";s:61:"function removePrefixPathFromList($fileArr,$prefixToRemove)       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:60:"
1366
1367 Removes the absolute part of all files/folders in fileArr
1368 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:50:"$fileArr: The file array to remove the prefix from";}i:1;a:2:{i:0;s:6:"string";i:1;s:78:"$prefixToRemove: The prefix path to remove (if found as first part of string!)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:29:"The input $fileArr processed.";}}s:7:"content";s:0:"";s:12:"content_size";i:313;s:13:"content_lines";i:9;s:6:"atLine";i:2003;}i:143;a:7:{s:6:"header";s:49:"function upload_copy_move($source,$destination)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:88:"
1369
1370 Moves $source file to $destination if uploaded, otherwise try to make a copy
1371 Usage: 3
1372 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Source file, absolute path";}i:1;a:2:{i:0;s:6:"string";i:1;s:31:"Destination file, absolute path";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:35:"Returns true if the file was moved.";}s:5:"other";a:1:{i:0;s:46:"@coauthor     Dennis Petersen <fessor@software.dk>";}s:11:"other_index";a:1:{s:9:"@coauthor";a:1:{i:0;s:36:"Dennis Petersen <fessor@software.dk>";}}}s:7:"content";s:0:"";s:12:"content_size";i:613;s:13:"content_lines";i:12;s:6:"atLine";i:2022;}i:145;a:7:{s:6:"header";s:39:"function fixWindowsFilePath($theFile)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:94:"
1373
1374 Fixes a path for windows-backslashes and reduces double-slashes to single slashes
1375
1376 Usage: 2
1377 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"File path to process";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:71;s:13:"content_lines";i:3;s:6:"atLine";i:2043;}i:147;a:7:{s:6:"header";s:36:"function resolveBackPath($pathStr)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:51:"
1378
1379 Resolves "../" sections in the input path string
1380 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:37:"File path in which "/../" is resolved";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:262;s:13:"content_lines";i:16;s:6:"atLine";i:2053;}i:149;a:7:{s:6:"header";s:35:"function locationHeaderUrl($path)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:340:"
1381
1382 Prefixes a URL used with 'header-location' with 'http://...' depending on whether it has it already.
1383 - If already having a scheme, nothing is prepended
1384 - If having REQUEST_URI slash '/', then prefixing 'http://[host]' (relative to host)
1385 - Otherwise prefixed with TYPO3_REQUEST_DIR (relative to current dir / TYPO3_REQUEST_DIR)
1386
1387 Usage: 31
1388 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:45:"URL / path to prepend full URL addressing to.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:402;s:13:"content_lines";i:30;s:6:"atLine";i:2081;}i:151;a:8:{s:6:"header";s:50:"function debug_ordvalue($string,$characters=100)    {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:22:"DEBUG helper FUNCTIONS";}s:4:"cDat";a:5:{s:4:"text";s:104:"
1389
1390 Returns a string with a list of ascii-values for the first $characters characters in $string
1391 Usage: 5
1392 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"String to show ASCII value for";}i:1;a:2:{i:0;s:7:"integer";i:1;s:28:"Number of characters to show";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:58:"The string with ASCII values in separated by a space char.";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:190;s:13:"content_lines";i:7;s:6:"atLine";i:2121;}i:153;a:7:{s:6:"header";s:32:"function view_array($array_in)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:191:"
1393
1394 Returns HTML-code, which is a visual representation of a multidimensional array
1395 use t3lib_div::print_array() in order to print an array
1396 Returns false if $array_in is not an array
1397 Usage: 27
1398 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:13:"Array to view";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:11:"HTML output";}}s:7:"content";s:0:"";s:12:"content_size";i:747;s:13:"content_lines";i:18;s:6:"atLine";i:2138;}i:155;a:7:{s:6:"header";s:33:"function print_array($array_in)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:28:"
1399
1400 Prints an array
1401 Usage: 28
1402 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:37:"Array to print visually (in a table).";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:9:"@internal";i:1;s:17:"@see view_array()";}s:11:"other_index";a:2:{s:9:"@internal";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:13:"view_array() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:46;s:13:"content_lines";i:3;s:6:"atLine";i:2166;}i:157;a:7:{s:6:"header";s:39:"function debug($var="",$brOrHeader=0)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:188:"
1403
1404 Makes debug output
1405 Prints $var in bold between two vertical lines
1406 If not $var the word 'debug' is printed
1407 If $var is an array, the array is printed by t3lib_div::print_array()
1408
1409 Usage: 8
1410 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:17:"Variable to print";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:161:"If the parameter is a string it will be used as header. Otherwise number of break tags to apply after (positive integer) or before (negative integer) the output.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1039;s:13:"content_lines";i:62;s:6:"atLine";i:2182;}i:159;a:8:{s:6:"header";s:23:"function getThisUrl()     {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:18:"SYSTEM INFORMATION";}s:4:"cDat";a:3:{s:4:"text";s:120:"
1411
1412 Returns the HOST+DIR-PATH of the current script (The URL, but without 'http://' and without script-filename)
1413 Usage: 1
1414 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:242;s:13:"content_lines";i:6;s:6:"atLine";i:2251;}i:161;a:7:{s:6:"header";s:45:"function linkThisScript($getParams=array())      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:381:"
1415
1416 Returns the link-url to the current script.
1417 In $getParams you can set associative keys corresponding to the get-vars you wish to add to the url. If you set them empty, they will remove existing get-vars from the current url.
1418 REMEMBER to always htmlspecialchar() content in href-properties to ampersands get converted to entities (XHTML requirement and XSS precaution)
1419
1420 Usage: 54
1421 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:34:"Array of GET parameters to include";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:360;s:13:"content_lines";i:12;s:6:"atLine";i:2268;}i:163;a:7:{s:6:"header";s:47:"function linkThisUrl($url,$getParams=array())   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:251:"
1422
1423 Takes a full URL, $url, possibly with a querystring and overlays the $getParams arrays values onto the quirystring, packs it all together and returns the URL again.
1424 So basically it adds the parameters in $getParams to an existing URL, $url
1425 Usage: 2
1426 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"URL string";}i:1;a:2:{i:0;s:5:"array";i:1;s:90:"Array of key/value pairs for get parameters to add/overrule with. Can be multidimensional.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:32:"Output URL with added getParams.";}}s:7:"content";s:0:"";s:12:"content_size";i:297;s:13:"content_lines";i:10;s:6:"atLine";i:2290;}i:165;a:7:{s:6:"header";s:34:"function getIndpEnv($getEnvName)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:291:"
1427
1428 Abstraction method which returns System Environment Variables regardless of server OS, CGI/MODULE version etc. Basically this is SERVER variables for most of them.
1429 This should be used instead of getEnv() and HTTP_SERVER_VARS/ENV_VARS to get reliable values for all situations.
1430
1431 Usage: 226
1432 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:402:"Name of the "environment variable"/"server variable" you wish to use. Valid values are SCRIPT_NAME, SCRIPT_FILENAME, REQUEST_URI, PATH_INFO, REMOTE_ADDR, REMOTE_HOST, HTTP_REFERER, HTTP_HOST, HTTP_USER_AGENT, HTTP_ACCEPT_LANGUAGE, QUERY_STRING, TYPO3_DOCUMENT_ROOT, TYPO3_HOST_ONLY, TYPO3_HOST_ONLY, TYPO3_REQUEST_HOST, TYPO3_REQUEST_URL, TYPO3_REQUEST_SCRIPT, TYPO3_REQUEST_DIR, TYPO3_SITE_URL, _ARRAY";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:67:"Value based on the input key, independent of server/os environment.";}}s:7:"content";s:0:"";s:12:"content_size";i:8036;s:13:"content_lines";i:202;s:6:"atLine";i:2310;}i:167;a:8:{s:6:"header";s:78:"function getFileAbsFileName($filename,$onlyRelative=1,$relToTYPO3_mainDir=0)    {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:1:{i:0;s:24:"TYPO3 SPECIFIC FUNCTIONS";}s:4:"cDat";a:3:{s:4:"text";s:102:"
1433
1434 Returns the absolute filename of $filename.
1435 Decodes the prefix EXT: for TYPO3 Extensions.
1436
1437 Usage: 9
1438 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:39:"The input filename/filepath to evaluate";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:120:"If $onlyRelative is set (which it is by default), then only return values relative to the current PATH_site is accepted.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:139:"If $relToTYPO3_mainDir is set, then relative paths are relative to PATH_typo3 constant - otherwise (default) they are relative to PATH_site";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:76:"Returns the absolute filename of $filename IF valid, otherwise blank string.";}}s:7:"content";s:0:"";s:12:"content_size";i:869;s:13:"content_lines";i:24;s:6:"atLine";i:2524;}i:169;a:7:{s:6:"header";s:33:"function validPathStr($theFile) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:262:"
1439
1440 Returns true if no '//', '..' or '\' is in the $theFile
1441 This should make sure that the path is not pointing 'backwards' and further doesn't contain double/back slashes.
1442 So it's compatible with  the UNIX style path strings valid for TYPO3 internally.
1443
1444 Usage: 8
1445 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:48:"True, if no '//', '..' or '\' is in the $theFile";}}s:7:"content";s:0:"";s:12:"content_size";i:100;s:13:"content_lines";i:3;s:6:"atLine";i:2559;}i:171;a:7:{s:6:"header";s:27:"function isAbsPath($path)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:136:"
1446
1447 Checks if the $path is absolute or relative (detecting either '/' or 'x:/' as first part of string) and returns true if so.
1448
1449 Usage: 9
1450 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:83;s:13:"content_lines";i:3;s:6:"atLine";i:2571;}i:173;a:7:{s:6:"header";s:34:"function isAllowedAbsPath($path)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:124:"
1451
1452 Returns true if the path is absolute, without backpath '..' and within the PATH_site OR within the lockRootPath
1453
1454 Usage: 1
1455 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:310;s:13:"content_lines";i:9;s:6:"atLine";i:2583;}i:175;a:7:{s:6:"header";s:54:"function verifyFilenameAgainstDenyPattern($filename) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:91:"
1456
1457 Verifies the input filename againts the 'fileDenyPattern'. Returns true if OK.
1458
1459 Usage: 2
1460 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:289;s:13:"content_lines";i:7;s:6:"atLine";i:2601;}i:177;a:7:{s:6:"header";s:49:"function stdAuthCode($uid_or_record,$fields='')      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:77:"
1461
1462 standard authentication code - can't remember what it's used for.
1463 Usage: 2
1464 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:31:"Uid (integer) or record (array)";}i:1;a:2:{i:0;s:6:"string";i:1;s:48:"List of fields from the record if that is given.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"MD5 hash of 8 chars.";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:519;s:13:"content_lines";i:21;s:6:"atLine";i:2618;}i:179;a:7:{s:6:"header";s:26:"function loadTCA($table)      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:290:"
1465
1466 Loads the $TCA (Table Configuration Array) for the $table
1467
1468 Requirements:
1469 1) must be configured table (the ctrl-section configured),
1470 2) columns must not be an array (which it is always if whole table loaded), and
1471 3) there is a value for dynamicConfigFile (filename in typo3conf)
1472 Usage: 92
1473 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:73:"Table name for which to load the full TCA array part into the global $TCA";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:614;s:13:"content_lines";i:10;s:6:"atLine";i:2652;}i:181;a:7:{s:6:"header";s:62:"function resolveSheetDefInDS($dataStructArray,$sheet='sDEF')      {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:270:"
1474
1475 Looks for a sheet-definition in the input data structure array. If found it will return the data structure for the sheet given as $sheet (if found). 
1476 If the sheet definition is in an external file that file is parsed and the data structure inside of that is returned.
1477 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:100:"Input data structure, possibly with a sheet-definition and references to external data source files.";}i:1;a:2:{i:0;s:6:"string";i:1;s:32:"The sheet to return, preferably.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:193:"An array with two num. keys: key0: The data structure is returned in this key (array) UNLESS an error happend in which case an error string is returned (string). key1: The used sheet key value!";}}s:7:"content";s:0:"";s:12:"content_size";i:621;s:13:"content_lines";i:20;s:6:"atLine";i:2671;}i:183;a:7:{s:6:"header";s:49:"function resolveAllSheetsInDS($dataStructArray)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:145:"
1478
1479 Resolves ALL sheet definitions in dataStructArray
1480 If no sheet is found, then the default "sDEF" will be created with the dataStructure inside.
1481 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:100:"Input data structure, possibly with a sheet-definition and references to external data source files.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:57:"Output data structure with all sheets resolved as arrays.";}}s:7:"content";s:0:"";s:12:"content_size";i:439;s:13:"content_lines";i:15;s:6:"atLine";i:2699;}i:185;a:7:{s:6:"header";s:84:"function callUserFunction($funcName,&$params,&$ref,$checkPrefix='user_',$silent=0)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:142:"
1482
1483 Calls a userdefined function/method in class
1484 Such a function/method should look like this: "function proc(&$params, &$ref)   {...}"
1485
1486 Usage: 3
1487 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:49:"Method reference, [class]->[method] or [function]";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:61:"Parameters to be pass along (typically an array) (REFERENCE!)";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:103:"Reference to be passed along (typically "$this" - being a reference to the calling object) (REFERENCE!)";}i:3;a:2:{i:0;s:6:"string";i:1;s:41:"Required prefix of class or function name";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:76:"If set, not debug() error message is shown if class/function is not present.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:33:"Content from method/function call";}}s:7:"content";s:0:"";s:12:"content_size";i:995;s:13:"content_lines";i:29;s:6:"atLine";i:2728;}i:187;a:7:{s:6:"header";s:35:"function makeInstance($className) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:229:"
1488
1489 Make instance of class
1490 Takes the class-extensions API of TYPO3 into account
1491 Please USE THIS instead of the PHP "new" keyword. Eg. "$obj = new myclass;" should be "$obj = t3lib_div::makeInstance("myclass")" instead!
1492
1493 Usage: 455
1494 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"Class name to instantiate";}}s:6:"return";a:2:{i:0;s:6:"object";i:1;s:10:"The object";}}s:7:"content";s:0:"";s:12:"content_size";i:139;s:13:"content_lines";i:7;s:6:"atLine";i:2768;}i:189;a:7:{s:6:"header";s:88:"function makeInstanceService($serviceType, $serviceSubType='', $excludeServiceKeys='')        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:84:"
1495
1496 Find the best service and check if it works.
1497 Returns object of the service class.
1498 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"Type of service (service key).";}i:1;a:2:{i:0;s:6:"string";i:1;s:65:"Sub type like file extensions or similar. Defined by the service.";}i:2;a:2:{i:0;s:6:"string";i:1;s:73:"List of service keys which should be exluded in the search for a service.";}}s:6:"return";a:2:{i:0;s:6:"object";i:1;s:49:"The service object or an array with error info's.";}s:5:"other";a:1:{i:0;s:41:"@author    René Fritz <r.fritz@colorcube.de>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}}}s:7:"content";s:0:"";s:12:"content_size";i:662;s:13:"content_lines";i:25;s:6:"atLine";i:2786;}i:191;a:7:{s:6:"header";s:44:"function makeInstanceClassName($className)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:100:"
1499
1500 Return classname for new instance
1501 Takes the class-extensions API of TYPO3 into account
1502
1503 Usage: 18
1504 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"Base Class name to evaluate";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:54:"Final class name to instantiate with "new [classname]"";}}s:7:"content";s:0:"";s:12:"content_size";i:109;s:13:"content_lines";i:3;s:6:"atLine";i:2821;}i:193;a:7:{s:6:"header";s:116:"function plainMailEncoded($email,$subject,$message,$headers='',$enc='',$charset='ISO-8859-1',$dontEncodeSubject=0)     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:230:"
1505
1506 Simple substitute for the PHP function mail().
1507 The fifth parameter, $enc, will allow you to specify 'base64' encryption for the output (set $enc=base64)
1508 Further the output has the charset set to ISO-8859-1 by default.
1509
1510 Usage: 4
1511 ";s:5:"param";a:7:{i:0;a:2:{i:0;s:6:"string";i:1;s:51:"Email address to send to. (see PHP function mail())";}i:1;a:2:{i:0;s:6:"string";i:1;s:52:"Subject line, non-encoded. (see PHP function mail())";}i:2;a:2:{i:0;s:6:"string";i:1;s:55:"Message content, non-encoded. (see PHP function mail())";}i:3;a:2:{i:0;s:6:"string";i:1;s:29:"Headers, separated by chr(10)";}i:4;a:2:{i:0;s:6:"string";i:1;s:113:"Encoding type: "base64", "quoted-printable", "8bit". If blank, no encoding will be used, no encoding headers set.";}i:5;a:2:{i:0;s:6:"string";i:1;s:100:"Charset used in encoding-headers (only if $enc is set to a valid value which produces such a header)";}i:6;a:2:{i:0;s:7:"boolean";i:1;s:52:"If set, the content of $subject will not be encoded.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1330;s:13:"content_lines";i:34;s:6:"atLine";i:2841;}i:195;a:7:{s:6:"header";s:47:"function quoted_printable($string,$maxlen=76)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:419:"
1512
1513 Implementation of quoted-printable encode.
1514 This functions is buggy. It seems that in the part where the lines are breaked every 76th character, that it fails if the break happens right in a quoted_printable encode character!
1515 (Originally taken from class.t3lib_htmlmail.php - which may be updated if this function should ever be improved!
1516 See RFC 1521, section 5.1 Quoted-Printable Content-Transfer-Encoding
1517
1518 Usage: 2
1519 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"Content to encode";}i:1;a:2:{i:0;s:7:"integer";i:1;s:34:"Length of the lines, default is 76";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"The QP encoded string";}}s:7:"content";s:0:"";s:12:"content_size";i:1130;s:13:"content_lines";i:30;s:6:"atLine";i:2888;}i:197;a:7:{s:6:"header";s:76:"function substUrlsInPlainText($message,$urlmode='76',$index_script_url='')     {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:387:"
1520
1521 Takes a clear-text message body for a plain text email, finds all 'http://' links and if they are longer than 76 chars they are converted to a shorter URL with a hash parameter. The real parameter is stored in the database and the hash-parameter/URL will be redirected to the real parameter when the link is clicked.
1522 This function is about preserving long links in messages.
1523
1524 Usage: 3
1525 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:15:"Message content";}i:1;a:2:{i:0;s:6:"string";i:1;s:23:"URL mode; "76" or "all"";}i:2;a:2:{i:0;s:6:"string";i:1;s:43:"URL of index script (see makeRedirectUrl())";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Processed message content";}s:5:"other";a:1:{i:0;s:22:"@see makeRedirectUrl()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"makeRedirectUrl() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:612;s:13:"content_lines";i:23;s:6:"atLine";i:2931;}i:199;a:4:{s:6:"header";s:60:"function makeRedirectUrl($inUrl,$l=0,$index_script_url='')  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:58:"
1526
1527 Subfunction for substUrlsInPlainText() above.
1528
1529 Usage: 2
1530 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"Input URL";}i:1;a:2:{i:0;s:7:"integer";i:1;s:23:"URL string length limit";}i:2;a:2:{i:0;s:6:"string";i:1;s:142:"URL of "index script" - the prefix of the "?RDCT=..." parameter. If not supplyed it will default to t3lib_div::getIndpEnv('TYPO3_REQUEST_DIR')";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Processed URL";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:6:"atLine";i:2966;}i:201;a:7:{s:6:"header";s:38:"function freetypeDpiComp($font_size)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:57:"
1531
1532 Function to compensate for FreeType2 96 dpi
1533
1534 Usage: 16
1535 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:35:"Fontsize for freetype function call";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:74:"Compensated fontsize based on $GLOBALS['TYPO3_CONF_VARS']['GFX']['TTFdpi']";}}s:7:"content";s:0:"";s:12:"content_size";i:143;s:13:"content_lines";i:8;s:6:"atLine";i:2989;}}}s:14:"MD5_d27fb8aa89";a:4:{s:8:"filename";s:22:"class.t3lib_extmgm.php";s:8:"filesize";i:38322;s:6:"header";a:5:{s:4:"text";s:164:"
1536
1537 Extension Management functions
1538
1539 This class is never instantiated, rather the methods inside is called as functions like
1540                 t3lib_extMgm::isLoaded('my_extension');
1541 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:32:{i:1;a:8:{s:6:"header";s:20:"class t3lib_extMgm {";s:5:"class";i:1;s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:164:"
1542
1543 Extension Management functions
1544
1545 This class is never instantiated, rather the methods inside is called as functions like
1546                 t3lib_extMgm::isLoaded('my_extension');
1547 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:129;s:13:"content_lines";i:8;s:6:"atLine";i:111;}i:3;a:8:{s:6:"header";s:40:"function isLoaded($key,$exitOnError=0)  {";s:11:"parentClass";s:12:"t3lib_extMgm";s:11:"sectionText";a:1:{i:0;s:26:"PATHS and other evaluation";}s:4:"cDat";a:3:{s:4:"text";s:67:"
1548
1549 Returns true if the extension with extension key $key is loaded.
1550 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Extension key to test";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:99:"If $exitOnError is true and the extension is not loaded the function will die with an error message";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:187;s:13:"content_lines";i:5;s:6:"atLine";i:127;}i:5;a:7:{s:6:"header";s:35:"function extPath($key,$script='')   {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:179:"
1551
1552 Returns the absolute path to the extension with extension key $key
1553 If the extension is not loaded the function will die with an error message
1554 Useful for internal fileoperations
1555 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Extension key";}i:1;a:2:{i:0;s:6:"string";i:1;s:41:"$script is appended to the output if set.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:207;s:13:"content_lines";i:5;s:6:"atLine";i:142;}i:7;a:7:{s:6:"header";s:27:"function extRelPath($key)       {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:201:"
1556
1557 Returns the relative path to the extension as measured from from the TYPO3_mainDir
1558 If the extension is not loaded the function will die with an error message
1559 Useful for images and links from backend
1560 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Extension key";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:190;s:13:"content_lines";i:5;s:6:"atLine";i:156;}i:9;a:7:{s:6:"header";s:28:"function siteRelPath($key)      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:208:"
1561
1562 Returns the relative path to the extension as measured from the PATH_site (frontend)
1563 If the extension is not loaded the function will die with an error message
1564 Useful for images and links from the frontend
1565 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Extension key";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:69;s:13:"content_lines";i:3;s:6:"atLine";i:170;}i:11;a:7:{s:6:"header";s:22:"function getCN($key)    {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:67:"
1566
1567 Returns the correct class name prefix for the extension key $key
1568 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Extension key";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:290;s:13:"content_lines";i:19;s:6:"atLine";i:181;}i:13;a:8:{s:6:"header";s:65:"function addTCAcolumns($table,$columnArray,$addTofeInterface=0)      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:11:"sectionText";a:2:{i:0;s:23:"Adding BACKEND features";i:1;s:26:"(related to core features)";}s:4:"cDat";a:3:{s:4:"text";s:427:"
1569
1570 Adding fields to an existing table definition in $TCA
1571 Adds an array with $TCA column-configuration to the $TCA-entry for that table.
1572 This function adds the configuration needed for rendering of the field in TCEFORMS - but it does NOT add the field names to the types lists! 
1573 So to have the fields displayed you must also call fx. addToAllTCAtypes or manually add the fields to the types list.
1574 FOR USE IN ext_tables.php FILES
1575 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:82:"$table is the table name of a table already present in $TCA with a columns section";}i:1;a:2:{i:0;s:5:"array";i:1;s:101:"$columnArray is the array with the additional columns (typical some fields an extension wants to add)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:89:"If $addTofeInterface is true the list of fields are also added to the fe_admin_fieldList.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:438;s:13:"content_lines";i:8;s:6:"atLine";i:213;}i:15;a:7:{s:6:"header";s:62:"function addToAllTCAtypes($table,$str,$specificTypesList='')   {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:449:"
1576
1577 Makes fields visible on the form, adding them to the end.
1578
1579 Adds a string $str (comma list of field names) to all ["types"][xxx]["showitem"] entries for table $table (unless limited by $specificTypesList)
1580 This is needed to have new fields shown automatically in the TCEFORMS of a record from $table. 
1581 Typically this function is called after having added new columns (database fields) with the addTCAcolumns function
1582 FOR USE IN ext_tables.php FILES
1583 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:6:"string";i:1;s:18:"Field list to add.";}i:2;a:2:{i:0;s:6:"string";i:1;s:90:"List of specific types to add the field list to. (If empty, all type entries are affected)";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:319;s:13:"content_lines";i:9;s:6:"atLine";i:235;}i:17;a:7:{s:6:"header";s:44:"function allowTableOnStandardPages($table)        {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:215:"
1584
1585 Add tablename to default list of allowed tables on pages.
1586 Will add the $table to the list of tables allowed by default on pages as setup by $PAGES_TYPES['default']['allowedTables']
1587 FOR USE IN ext_tables.php FILES
1588 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:87;s:13:"content_lines";i:5;s:6:"atLine";i:253;}i:19;a:7:{s:6:"header";s:57:"function addModule($main,$sub='',$position='',$path='')      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:87:"
1589
1590 Adds a module (main or sub) to the backend interface
1591 FOR USE IN ext_tables.php FILES
1592 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:158:"$main is the main module key, $sub is the submodule key. So $main would be an index in the $TBE_MODULES array and $sub could be an element in the lists there.";}i:1;a:2:{i:0;s:6:"string";i:1;s:78:"$sub is the submodule key. If $sub is not set a blank $main module is created.";}i:2;a:2:{i:0;s:6:"string";i:1;s:456:"$position can be used to set the position of the $sub module within the list of existing submodules for the main module. $position has this syntax: [cmd]:[submodule-key]. cmd can be "after", "before" or "top" (or blank which is default). If "after"/"before" then submodule will be inserted after/before the existing submodule with [submodule-key] if found. If not found, the bottom of list. If "top" the module is inserted in the top of the submodule list.";}i:3;a:2:{i:0;s:6:"string";i:1;s:227:"$path is the absolute path to the module. If this value is defined the path is added as an entry in $TBE_MODULES['_PATHS'][  main_sub  ]=$path; and thereby tells the backend where the newly added modules is found in the system.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1297;s:13:"content_lines";i:46;s:6:"atLine";i:269;}i:21;a:7:{s:6:"header";s:89:"function insertModuleFunction($modname,$className,$classPath,$title,$MM_key='function')      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:311:"
1593
1594 Adds a "Function menu module" ('third level module') to an existing function menu for some other backend module
1595 The arguments values are generally determined by which function menu this is supposed to interact with
1596 See Inside TYPO3 for information on how to use this function.
1597 FOR USE IN ext_tables.php FILES
1598 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Module name";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Class name";}i:2;a:2:{i:0;s:6:"string";i:1;s:10:"Class path";}i:3;a:2:{i:0;s:6:"string";i:1;s:15:"Title of module";}i:4;a:2:{i:0;s:6:"string";i:1;s:38:"Menu array key - default is "function"";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:39:"@see t3lib_SCbase::mergeExternalItems()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:35:"t3lib_SCbase::mergeExternalItems() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:178;s:13:"content_lines";i:8;s:6:"atLine";i:330;}i:23;a:7:{s:6:"header";s:36:"function addPageTSConfig($content)      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:179:"
1599
1600 Adds $content to the default Page TSconfig as set in $TYPO3_CONF_VARS[BE]['defaultPageTSconfig']
1601 Prefixed with a [GLOBAL] line
1602 FOR USE IN ext_tables.php/ext_locallang.php FILES
1603 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Page TSconfig content";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:106;s:13:"content_lines";i:4;s:6:"atLine";i:347;}i:25;a:7:{s:6:"header";s:36:"function addUserTSConfig($content)       {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:179:"
1604
1605 Adds $content to the default User TSconfig as set in $TYPO3_CONF_VARS[BE]['defaultUserTSconfig']
1606 Prefixed with a [GLOBAL] line
1607 FOR USE IN ext_tables.php/ext_locallang.php FILES
1608 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"User TSconfig content";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:106;s:13:"content_lines";i:4;s:6:"atLine";i:360;}i:27;a:7:{s:6:"header";s:56:"function addLLrefForTCAdescr($tca_descr_key,$file_ref)   {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:318:"
1609
1610 Adds a reference to a locallang file with TCA_DESCR labels
1611 FOR USE IN ext_tables.php FILES
1612 eg. t3lib_extMgm::addLLrefForTCAdescr('pages','EXT:lang/locallang_csh_pages.php'); for the pages table or t3lib_extMgm::addLLrefForTCAdescr('_MOD_web_layout','EXT:cms/locallang_csh_weblayout.php'); for the Web > Page module.
1613 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:128:"Description key. Typically a database table (like "pages") but for applications can be other strings, but prefixed with "_MOD_")";}i:1;a:2:{i:0;s:6:"string";i:1;s:72:"File reference to locallang file, eg. "EXT:lang/locallang_csh_pages.php"";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:496;s:13:"content_lines";i:31;s:6:"atLine";i:374;}i:29;a:8:{s:6:"header";s:64:"function addService($extKey, $serviceType, $serviceKey, $info)       {";s:11:"parentClass";s:12:"t3lib_extMgm";s:11:"sectionText";a:1:{i:0;s:24:"Adding SERVICES features";}s:4:"cDat";a:5:{s:4:"text";s:46:"
1614
1615 Adds a service to the global services array
1616 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Extension key";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"Service type";}i:2;a:2:{i:0;s:6:"string";i:1;s:11:"Service key";}i:3;a:2:{i:0;s:5:"array";i:1;s:25:"Service description array";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:41:"@author     René Fritz <r.fritz@colorcube.de>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}}}s:7:"content";s:0:"";s:12:"content_size";i:2530;s:13:"content_lines";i:57;s:6:"atLine";i:416;}i:31;a:7:{s:6:"header";s:80:"function findService($serviceType, $serviceSubType='', $excludeServiceKeys='') {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:51:"
1617
1618 Find the available service with highest priority
1619 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Service type";}i:1;a:2:{i:0;s:6:"string";i:1;s:16:"Service sub type";}i:2;a:2:{i:0;s:6:"string";i:1;s:63:"Service key that should be excluded in the search for a service";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:58:"Service info array if a service was found, FLASE otherwise";}s:5:"other";a:1:{i:0;s:41:"@author René Fritz <r.fritz@colorcube.de>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}}}s:7:"content";s:0:"";s:12:"content_size";i:1591;s:13:"content_lines";i:55;s:6:"atLine";i:483;}i:33;a:7:{s:6:"header";s:55:"function deactivateService($serviceType, $serviceKey) {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:23:"
1620
1621 Deactivate a service
1622 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Service type";}i:1;a:2:{i:0;s:6:"string";i:1;s:11:"Service key";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:41:"@author        René Fritz <r.fritz@colorcube.de>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}}}s:7:"content";s:0:"";s:12:"content_size";i:369;s:13:"content_lines";i:26;s:6:"atLine";i:547;}i:35;a:8:{s:6:"header";s:50:"function addPlugin($itemArray,$type='list_type')       {";s:11:"parentClass";s:12:"t3lib_extMgm";s:11:"sectionText";a:2:{i:0;s:24:"Adding FRONTEND features";i:1;s:41:"(related specifically to "cms" extension)";}s:4:"cDat";a:3:{s:4:"text";s:613:"
1623
1624 Adds an entry to the list of plugins in content elements of type "Insert plugin"
1625
1626 Takes the $itemArray (label,value[,icon]) and adds to the items-array of $TCA[tt_content] elements with CType "listtype" (or another field if $type points to another fieldname)
1627 If the value (array pos. 1) is already found in that items-array, the entry is substituted, otherwise the input array is added to the bottom.
1628 Use this function to add a frontend plugin to this list of plugin-types - or more generally use this function to add an entry to any selectorbox/radio-button set in the TCEFORMS
1629 FOR USE IN ext_tables.php FILES
1630 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:10:"Item Array";}i:1;a:2:{i:0;s:6:"string";i:1;s:66:"Type (eg. "list_type") - basically a field from "tt_content" table";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:545;s:13:"content_lines";i:14;s:6:"atLine";i:586;}i:37;a:7:{s:6:"header";s:51:"function addPiFlexFormValue($piKeyToMatch,$value)  {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:182:"
1631
1632 Adds an entry to the "ds" array of the tt_content field "pi_flexform". 
1633 This is used by plugins to add a flexform XML reference / content for use when they are selected as plugin.
1634 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:40:"The same value as the key for the plugin";}i:1;a:2:{i:0;s:6:"string";i:1;s:108:"Either a reference to a flex-form XML file (eg. "FILE:EXT:newloginbox/flexform_ds.xml") or the XML directly.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:16:"@see addPlugin()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"addPlugin() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:273;s:13:"content_lines";i:8;s:6:"atLine";i:610;}i:39;a:7:{s:6:"header";s:90:"function addToInsertRecords($table,$content_table='tt_content',$content_field='records')  {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:237:"
1635
1636 Adds the $table tablename to the list of tables allowed to be includes by content element type "Insert records"
1637 By using $content_table and $content_field you can also use the function for other tables.
1638 FOR USE IN ext_tables.php FILES
1639 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:39:"Table name to allow for "insert record"";}i:1;a:2:{i:0;s:6:"string";i:1;s:75:"Table name TO WHICH the $table name is applied. See $content_field as well.";}i:2;a:2:{i:0;s:6:"string";i:1;s:113:"Field name in the database $content_table in which $table is allowed to be added as a reference ("Insert Record")";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:277;s:13:"content_lines";i:7;s:6:"atLine";i:629;}i:41;a:7:{s:6:"header";s:81:"function addPItoST43($key,$classFile='',$prefix='',$type='list_type',$cached=0)     {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:1051:"
1640
1641 Add PlugIn to Static Template #43
1642
1643 When adding a frontend plugin you will have to add both an entry to the TCA definition of tt_content table AND to the TypoScript template which must initiate the rendering.
1644 Since the static template with uid 43 is the "content.default" and practically always used for rendering the content elements it's very useful to have this function automatically adding the necessary TypoScript for calling your plugin.
1645 $type determines the type of frontend plugin: 
1646                 "list_type" (default)   - the good old "Insert plugin" entry
1647                 "menu_type"     - a "Menu/Sitemap" entry
1648                 "splash_layout" - a "Textbox" entry
1649                 "CType" - a new content element type
1650                 "header_layout" - an additional header type (added to the selection of layout1-5)
1651                 "includeLib" - just includes the library for manual use somewhere in TypoScript.
1652         (Remember that your $type definition should correspond to the column/items array in $TCA[tt_content] where you added the selector item for the element! See addPlugin() function)
1653 FOR USE IN ext_locallang.php FILES
1654 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"$key is the extension key";}i:1;a:2:{i:0;s:6:"string";i:1;s:146:"$classFile is the PHP-class filename relative to the extension root directory. If set to blank a default value is chosen according to convensions.";}i:2;a:2:{i:0;s:6:"string";i:1;s:67:"$prefix is used as a - yes, suffix - of the class name (fx. "_pi1")";}i:3;a:2:{i:0;s:6:"string";i:1;s:28:"$type, see description above";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:103:"If $cached is set as USER content object (cObject) is created - otherwise a USER_INT object is created.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1638;s:13:"content_lines";i:62;s:6:"atLine";i:659;}i:43;a:7:{s:6:"header";s:46:"function addStaticFile($extKey,$path,$title)        {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:245:"
1655
1656 Call this method to add an entry in the static template list found in sys_templates
1657 "static template files" are the modern equalent (provided from extensions) to the traditional records in "static_templates"
1658 FOR USE IN ext_locallang.php FILES
1659 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"$extKey is of course the extension key";}i:1;a:2:{i:0;s:6:"string";i:1;s:222:"$path is the path where the template files (fixed names) include_static.txt (integer list of uids from the table "static_templates"), constants.txt, setup.txt and editorcfg.txt is found (relative to extPath, eg. 'static/')";}i:2;a:2:{i:0;s:6:"string";i:1;s:40:"$title is the title in the selector box.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:20:"@see addTypoScript()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"addTypoScript() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:341;s:13:"content_lines";i:9;s:6:"atLine";i:733;}i:45;a:7:{s:6:"header";s:39:"function addTypoScriptSetup($content)      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:176:"
1660
1661 Adds $content to the default TypoScript setup code as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_setup']
1662 Prefixed with a [GLOBAL] line
1663 FOR USE IN ext_locallang.php FILES
1664 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"TypoScript Setup string";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:110;s:13:"content_lines";i:4;s:6:"atLine";i:751;}i:47;a:7:{s:6:"header";s:43:"function addTypoScriptConstants($content)      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:184:"
1665
1666 Adds $content to the default TypoScript constants code as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_constants']
1667 Prefixed with a [GLOBAL] line
1668 FOR USE IN ext_locallang.php FILES
1669 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"TypoScript Constants string";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:114;s:13:"content_lines";i:4;s:6:"atLine";i:764;}i:49;a:7:{s:6:"header";s:63:"function addTypoScript($key,$type,$content,$afterStaticUid=0)      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:335:"
1670
1671 Adds $content to the default TypoScript code for either setup, constants or editorcfg as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_*']
1672 (Basically this function can do the same as addTypoScriptSetup and addTypoScriptConstants - just with a little more hazzle, but also with some more options!)
1673 FOR USE IN ext_locallang.php FILES
1674 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:45:"$key is the extension key (informative only).";}i:1;a:2:{i:0;s:6:"string";i:1;s:121:"$type is either "setup", "constants" or "editorcfg" and obviously determines which kind of TypoScript code we are adding.";}i:2;a:2:{i:0;s:6:"string";i:1;s:79:"$content is the TS content, prefixed with a [GLOBAL] line and a comment-header.";}i:3;a:2:{i:0;s:6:"string";i:1;s:405:"$afterStaticUid is either an integer pointing to a uid of a static_template or a string pointing to the "key" of a static_file template ([reduced extension_key]/[local path]). The points is that the TypoScript you add is included only IF that static template is included (and in that case, right after). So effectively the TypoScript you set can specifically overrule settings from those static templates.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:874;s:13:"content_lines";i:45;s:6:"atLine";i:780;}i:51;a:8:{s:6:"header";s:33:"function typo3_loadExtensions()     {";s:11:"parentClass";s:12:"t3lib_extMgm";s:11:"sectionText";a:1:{i:0;s:30:"INTERNAL EXTENSION MANAGEMENT:";}s:4:"cDat";a:5:{s:4:"text";s:780:"
1675
1676 Loading extensions configured in $TYPO3_CONF_VARS['EXT']['extList']
1677
1678 CACHING ON: ($TYPO3_CONF_VARS['EXT']['extCache'] = 1 or 2)
1679                 If caching is enabled (and possible), the output will be $extensions['_CACHEFILE'] set to the cacheFilePrefix. Subsequently the cache files must be included then since those will eventually set up the extensions.
1680                 If cachefiles are not found they will be generated
1681 CACHING OFF:    ($TYPO3_CONF_VARS['EXT']['extCache'] = 0)
1682                 The returned value will be an array where each key is an extension key and the value is an array with filepaths for the extension.
1683                 This array will later be set in the global var $TYPO3_LOADED_EXT
1684
1685 Usages of this function can be see in config_default.php
1686 Extensions are always detected in the order local - global - system.
1687 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:15:"Extension Array";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2849;s:13:"content_lines";i:70;s:6:"atLine";i:842;}i:53;a:7:{s:6:"header";s:41:"function _makeIncludeHeader($key,$file)  {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:60:"
1688
1689 Returns the section headers for the compiled cache-files.
1690 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"$key is the extension key";}i:1;a:2:{i:0;s:6:"string";i:1;s:52:"$file is the filename (only informative for comment)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:218;s:13:"content_lines";i:12;s:6:"atLine";i:921;}i:55;a:7:{s:6:"header";s:50:"function isCacheFilesAvailable($cacheFilePrefix)      {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:90:"
1691
1692 Returns true if both the localconf and tables cache file exists (with $cacheFilePrefix)
1693 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"Prefix of the cache file to check";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:149;s:13:"content_lines";i:5;s:6:"atLine";i:941;}i:57;a:7:{s:6:"header";s:32:"function isLocalconfWritable()   {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:71:"
1694
1695 Returns true if the "localconf.php" file in "typo3conf/" is writable
1696 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:92;s:13:"content_lines";i:3;s:6:"atLine";i:953;}i:59;a:7:{s:6:"header";s:53:"function cannotCacheFilesWritable($cacheFilePrefix)       {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:123:"
1697
1698 Returns an error string if typo3conf/ or cache-files with $cacheFilePrefix are NOT writable
1699 Returns false if no problem.
1700 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"Prefix of the cache file to check";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:555;s:13:"content_lines";i:15;s:6:"atLine";i:965;}i:61;a:4:{s:6:"header";s:30:"function currentCacheFiles()     {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:178:"
1701
1702 Returns an array with the two cache-files (0=>localconf, 1=>tables) from typo3conf/ if they (both) exist. Otherwise false.
1703 Evaluation relies on $TYPO3_LOADED_EXT['_CACHEFILE']
1704 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:6:"atLine";i:988;}i:63;a:7:{s:6:"header";s:56:"function writeCacheFiles($extensions,$cacheFilePrefix)     {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:5:{s:4:"text";s:155:"
1705
1706 Compiles/Creates the two cache-files in typo3conf/ based on $cacheFilePrefix
1707 Returns a array with the key "_CACHEFILE" set to the $cacheFilePrefix value
1708 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:27:"Extension information array";}i:1;a:2:{i:0;s:6:"string";i:1;s:26:"Prefix for the cache files";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1072;s:13:"content_lines";i:34;s:6:"atLine";i:1010;}}}s:14:"MD5_042cc40614";a:4:{s:8:"filename";s:26:"class.t3lib_extobjbase.php";s:8:"filesize";i:11182;s:6:"header";a:5:{s:4:"text";s:1160:"
1709
1710 Parent class for 'Extension Objects' in backend modules.
1711 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...
1712 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...)
1713 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)
1714 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.
1715 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.
1716 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:102:"@see t3lib_SCbase,tx_funcwizards_webfunc::init(), tx_funcwizards_webfunc, tx_wizardsortpages_webfunc_2";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:97:"t3lib_SCbase,tx_funcwizards_webfunc::init(), tx_funcwizards_webfunc, tx_wizardsortpages_webfunc_2";}}}s:3:"DAT";a:7:{i:1;a:8:{s:6:"header";s:24:"class t3lib_extobjbase {";s:5:"class";i:1;s:11:"parentClass";s:16:"t3lib_extobjbase";s:4:"cDat";a:5:{s:4:"text";s:1160:"
1717
1718 Parent class for 'Extension Objects' in backend modules.
1719 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...
1720 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...)
1721 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)
1722 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.
1723 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.
1724 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:102:"@see t3lib_SCbase,tx_funcwizards_webfunc::init(), tx_funcwizards_webfunc, tx_wizardsortpages_webfunc_2";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:97:"t3lib_SCbase,tx_funcwizards_webfunc::init(), tx_funcwizards_webfunc, tx_wizardsortpages_webfunc_2";}}}s:7:"content";s:0:"";s:12:"content_size";i:1237;s:13:"content_lines";i:43;s:6:"atLine";i:143;}i:3;a:7:{s:6:"header";s:29:"function init(&$pObj,$conf)  {";s:11:"parentClass";s:16:"t3lib_extobjbase";s:4:"cDat";a:5:{s:4:"text";s:24:"
1725
1726 Initialize the object
1727 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"object";i:1;s:112:"A reference to the parent (calling) object (which is probably an instance of an extension class to t3lib_SCbase)";}i:1;a:2:{i:0;s:5:"array";i:1;s:73:"The configuration set for this module - from global array TBE_MODULES_EXT";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:32:"@see t3lib_SCbase::checkExtObj()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:28:"t3lib_SCbase::checkExtObj() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:507;s:13:"content_lines";i:17;s:6:"atLine";i:195;}i:5;a:7:{s:6:"header";s:40:"function handleExternalFunctionValue()        {";s:11:"parentClass";s:16:"t3lib_extobjbase";s:4:"cDat";a:5:{s:4:"text";s:188:"
1728
1729 If $this->function_key is set (which means there are two levels of object connectivity) then $this->extClassConf is loaded with the TBE_MODULES_EXT configuration for that sub-sub-module
1730 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:50:"@see $function_key, tx_funcwizards_webfunc::init()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:45:"$function_key, tx_funcwizards_webfunc::init()";}}}s:7:"content";s:0:"";s:12:"content_size";i:528;s:13:"content_lines";i:10;s:6:"atLine";i:219;}i:7;a:7:{s:6:"header";s:25:"function incLocalLang()   {";s:11:"parentClass";s:16:"t3lib_extobjbase";s:4:"cDat";a:3:{s:4:"text";s:139:"
1731
1732 Including any locallang file configured and merging its content over the current global LOCAL_LANG array (which is EXPECTED to exist!!!)
1733 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:252;s:13:"content_lines";i:6;s:6:"atLine";i:235;}i:9;a:7:{s:6:"header";s:24:"function checkExtObj()        {";s:11:"parentClass";s:16:"t3lib_extobjbase";s:4:"cDat";a:5:{s:4:"text";s:38:"
1734
1735 Same as t3lib_SCbase::checkExtObj()
1736 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:32:"@see t3lib_SCbase::checkExtObj()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:28:"t3lib_SCbase::checkExtObj() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:363;s:13:"content_lines";i:9;s:6:"atLine";i:248;}i:11;a:4:{s:6:"header";s:26:"function extObjContent()     {";s:11:"parentClass";s:16:"t3lib_extobjbase";s:4:"cDat";a:3:{s:4:"text";s:74:"
1737
1738 Calls the main function inside ANOTHER sub-submodule which might exist.
1739 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:263;}i:13;a:7:{s:6:"header";s:20:"function modMenu()   {";s:11:"parentClass";s:16:"t3lib_extobjbase";s:4:"cDat";a:5:{s:4:"text";s:237:"
1740
1741 Dummy function - but is used to set up additional menu items for this submodule.
1742 For an example see the extension 'cms' where the 'web_info' submodule is defined in cms/web_info/class.tx_cms_webinfo.php, tx_cms_webinfo_page::modMenu()
1743 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:82:"A MOD_MENU array which will be merged together with the one from the parent object";}s:5:"other";a:1:{i:0;s:43:"@see init(), tx_cms_webinfo_page::modMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:38:"init(), tx_cms_webinfo_page::modMenu()";}}}s:7:"content";s:0:"";s:12:"content_size";i:25;s:13:"content_lines";i:3;s:6:"atLine";i:274;}}}s:14:"MD5_85f9936e27";a:4:{s:8:"filename";s:26:"class.t3lib_foldertree.php";s:8:"filesize";i:10586;s:6:"header";a:5:{s:4:"text";s:103:"
1744
1745 Extension class for the t3lib_treeView class, specially made for browsing folders in the File module
1746 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:43:"@coauthor René Fritz <r.fritz@colorcube.de>";i:2;s:14:"@package TYPO3";i:3;s:17:"@subpackage t3lib";i:4;s:25:"@see class t3lib_treeView";}s:11:"other_index";a:5:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:9:"@coauthor";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:20:"class t3lib_treeView";}}}s:3:"DAT";a:10:{i:1;a:8:{s:6:"header";s:48:"class t3lib_folderTree extends t3lib_treeView  {";s:5:"class";i:1;s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:5:{s:4:"text";s:103:"
1747
1748 Extension class for the t3lib_treeView class, specially made for browsing folders in the File module
1749 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:43:"@coauthor René Fritz <r.fritz@colorcube.de>";i:2;s:14:"@package TYPO3";i:3;s:17:"@subpackage t3lib";i:4;s:25:"@see class t3lib_treeView";}s:11:"other_index";a:5:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:9:"@coauthor";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:20:"class t3lib_treeView";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:80;}i:3;a:7:{s:6:"header";s:29:"function t3lib_folderTree()        {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:3:{s:4:"text";s:36:"
1750
1751 Constructor function of the class
1752 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:178;s:13:"content_lines";i:9;s:6:"atLine";i:87;}i:5;a:7:{s:6:"header";s:31:"function wrapIcon($icon,$row)  {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:4:{s:4:"text";s:27:"
1753
1754 Wrapping the folder icon
1755 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"The image tag for the icon";}i:1;a:2:{i:0;s:5:"array";i:1;s:31:"The row for the current element";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:31:"The processed icon input value.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:669;s:13:"content_lines";i:13;s:6:"atLine";i:105;}i:7;a:7:{s:6:"header";s:20:"function getId($v) {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:3:{s:4:"text";s:69:"
1756
1757 Returns the id from the record - for folders, this is an md5 hash.
1758 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:12:"Record array";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:22:"The "uid" field value.";}}s:7:"content";s:0:"";s:12:"content_size";i:45;s:13:"content_lines";i:3;s:6:"atLine";i:125;}i:9;a:7:{s:6:"header";s:28:"function getJumpToParm($v) {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:3:{s:4:"text";s:36:"
1759
1760 Returns jump-url parameter value.
1761 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:17:"The record array.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:23:"The jump-url parameter.";}}s:7:"content";s:0:"";s:12:"content_size";i:48;s:13:"content_lines";i:3;s:6:"atLine";i:135;}i:11;a:7:{s:6:"header";s:41:"function getTitleStr($row,$titleLen=30)      {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:3:{s:4:"text";s:166:"
1762
1763 Returns the title for the input record. If blank, a "no title" labele (localized) will be returned. 
1764 '_title' is used for setting an alternative title for folders.
1765 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:66:"The input row array (where the key "_title" is used for the title)";}i:1;a:2:{i:0;s:7:"integer";i:1;s:17:"Title length (30)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:10:"The title.";}}s:7:"content";s:0:"";s:12:"content_size";i:85;s:13:"content_lines";i:3;s:6:"atLine";i:147;}i:13;a:7:{s:6:"header";s:29:"function getBrowsableTree()     {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:3:{s:4:"text";s:157:"
1766
1767 Will create and return the HTML code for a browsable tree of folders.
1768 Is based on the mounts found in the internal array ->MOUNTS (set in the constructor)
1769 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:32:"HTML code for the browsable tree";}}s:7:"content";s:0:"";s:12:"content_size";i:1808;s:13:"content_lines";i:53;s:6:"atLine";i:157;}i:15;a:7:{s:6:"header";s:64:"function getFolderTree($files_path, $depth=999, $depthData='')  {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:5:{s:4:"text";s:32:"
1770
1771 Fetches the data for the tree
1772 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Abs file path";}i:1;a:2:{i:0;s:7:"integer";i:1;s:29:"Max depth (recursivity limit)";}i:2;a:2:{i:0;s:6:"string";i:1;s:37:"HTML-code prefix for recursive calls.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:31:"The count of items on the level";}s:5:"other";a:1:{i:0;s:23:"@see getBrowsableTree()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"getBrowsableTree() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1995;s:13:"content_lines";i:73;s:6:"atLine";i:220;}i:17;a:4:{s:6:"header";s:32:"function getCount($files_path)       {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:3:{s:4:"text";s:51:"
1773
1774 Counts the number of directories in a file path.
1775 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"File path.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:0:"";}}s:6:"atLine";i:300;}i:19;a:7:{s:6:"header";s:37:"function initializePositionSaving()      {";s:11:"parentClass";s:16:"t3lib_folderTree";s:4:"cDat";a:4:{s:4:"text";s:88:"
1776
1777 Get stored tree structure AND updating it if needed according to incoming PM GET var.
1778 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:1133;s:13:"content_lines";i:31;s:6:"atLine";i:316;}}}s:14:"MD5_c3a82d6efd";a:4:{s:8:"filename";s:24:"class.t3lib_formmail.php";s:8:"filesize";i:6911;s:6:"header";a:5:{s:4:"text";s:92:"
1779
1780 Formmail class, used by the TYPO3 "cms" extension (default frontend) to send email forms.
1781 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:49:"@see tslib_fe::sendFormmail(), t3lib/formmail.php";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:44:"tslib_fe::sendFormmail(), t3lib/formmail.php";}}}s:3:"DAT";a:3:{i:1;a:8:{s:6:"header";s:45:"class t3lib_formmail extends t3lib_htmlmail {";s:5:"class";i:1;s:11:"parentClass";s:14:"t3lib_formmail";s:4:"cDat";a:5:{s:4:"text";s:92:"
1782
1783 Formmail class, used by the TYPO3 "cms" extension (default frontend) to send email forms.
1784 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:49:"@see tslib_fe::sendFormmail(), t3lib/formmail.php";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:44:"tslib_fe::sendFormmail(), t3lib/formmail.php";}}}s:7:"content";s:0:"";s:12:"content_size";i:217;s:13:"content_lines";i:3;s:6:"atLine";i:67;}i:3;a:4:{s:6:"header";s:30:"function start($V,$base64=1)       {";s:11:"parentClass";s:14:"t3lib_formmail";s:4:"cDat";a:3:{s:4:"text";s:710:"
1785
1786 Start function
1787 This class is able to generate a mail in formmail-style from the data in $V
1788 Fields:
1789
1790 [recipient]:            email-adress of the one to receive the mail. If array, then all values are expected to be recipients
1791 [attachment]:           ....
1792
1793 [subject]:                      The subject of the mail
1794 [from_email]:           Sender email. If not set, [email] is used
1795 [from_name]:            Sender name. If not set, [name] is used
1796 [replyto_email]:        Reply-to email. If not set [from_email] is used
1797 [replyto_name]:         Reply-to name. If not set [from_name] is used
1798 [organisation]:         Organisation (header)
1799 [priority]:                     Priority, 1-5, default 3
1800 [html_enabled]:         If mail is sent as html
1801 [quoted_printable]:     if set, quoted-printable will be used instead of base 64
1802 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:48:"Contains values for the field names listed above";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:41:"Whether to base64 encode the mail content";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:93;}i:5;a:7:{s:6:"header";s:42:"function addAttachment($file, $filename)        {";s:11:"parentClass";s:14:"t3lib_formmail";s:4:"cDat";a:4:{s:4:"text";s:33:"
1803
1804 Adds an attachment to the mail
1805 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:50:"The absolute path to the file to add as attachment";}i:1;a:2:{i:0;s:6:"string";i:1;s:107:"The files original filename (not necessarily the same as the current since this could be uploaded files...)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:39:"True if the file existed and was added.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:953;s:13:"content_lines";i:22;s:6:"atLine";i:167;}}}s:14:"MD5_6d3083c6db";a:4:{s:8:"filename";s:25:"class.t3lib_iconworks.php";s:8:"filesize";i:16368;s:6:"header";a:5:{s:4:"text";s:401:"
1806
1807 Icon generation, backend
1808 This library has functions that returns - and if necessary creates - the icon for an element in TYPO3
1809
1810 Expects global vars:
1811 - $BACK_PATH
1812 - PATH_typo3
1813 - $TCA, $PAGES_TYPES
1814
1815
1816 Notes:
1817 These functions are strongly related to the interface of TYPO3.
1818 The class is included in eg. init.php
1819 ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"
1820 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:8:{i:1;a:8:{s:6:"header";s:23:"class t3lib_iconWorks        {";s:5:"class";i:1;s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:5:{s:4:"text";s:401:"
1821
1822 Icon generation, backend
1823 This library has functions that returns - and if necessary creates - the icon for an element in TYPO3
1824
1825 Expects global vars:
1826 - $BACK_PATH
1827 - PATH_typo3
1828 - $TCA, $PAGES_TYPES
1829
1830
1831 Notes:
1832 These functions are strongly related to the interface of TYPO3.
1833 The class is included in eg. init.php
1834 ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"
1835 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3;s:13:"content_lines";i:1;s:6:"atLine";i:83;}i:3;a:7:{s:6:"header";s:75:"function getIconImage($table,$row=array(),$backPath,$params='',$shaded=0)  {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:5:{s:4:"text";s:133:"
1836
1837 Returns an icon image tag, 18x16 pixels, based on input information. 
1838 This function is recommended to use in your backend modules.
1839 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"The table name";}i:1;a:2:{i:0;s:5:"array";i:1;s:127:"The table row ("enablefields" are at least needed for correct icon display and for pages records some more fields in addition!)";}i:2;a:2:{i:0;s:6:"string";i:1;s:75:"The backpath to the main TYPO3 directory (relative path back to PATH_typo3)";}i:3;a:2:{i:0;s:6:"string";i:1;s:39:"Additional attributes for the image tag";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:39:"If set, the icon will be grayed/shaded.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:9:"<img>-tag";}s:5:"other";a:1:{i:0;s:14:"@see getIcon()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"getIcon() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:241;s:13:"content_lines";i:6;s:6:"atLine";i:97;}i:5;a:7:{s:6:"header";s:49:"function getIcon($table,$row=array(),$shaded=0)       {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:5:{s:4:"text";s:99:"
1840
1841 Creates the icon for input table/row
1842 Returns filename for the image icon, relative to PATH_typo3
1843 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"The table name";}i:1;a:2:{i:0;s:5:"array";i:1;s:127:"The table row ("enablefields" are at least needed for correct icon display and for pages records some more fields in addition!)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:39:"If set, the icon will be grayed/shaded.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Icon filename";}s:5:"other";a:1:{i:0;s:19:"@see getIconImage()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"getIconImage() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2020;s:13:"content_lines";i:71;s:6:"atLine";i:114;}i:7;a:7:{s:6:"header";s:62:"function skinImg($backPath,$src,$wHattribs='',$outputMode=0)        {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:5:{s:4:"text";s:167:"
1844
1845 Returns the src=... for the input $src value OR any alternative found in $TBE_STYLES['skinImg']
1846 Used for skinning the TYPO3 backend with an alternative set of icons
1847 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:37:"Current backpath to PATH_typo3 folder";}i:1;a:2:{i:0;s:6:"string";i:1;s:44:"Icon file name relative to PATH_typo3 folder";}i:2;a:2:{i:0;s:6:"string";i:1;s:59:"Default width/height, defined like 'width="12" height="14"'";}i:3;a:2:{i:0;s:7:"integer";i:1;s:112:"Mode: 0 (zero) is default and returns src/width/height. 1 returns value of src+backpath, 2 returns value of w/h.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:44:"Returns ' src="[backPath][src]" [wHattribs]'";}s:5:"other";a:1:{i:0;s:18:"@see skinImgFile()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"skinImgFile() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2040;s:13:"content_lines";i:57;s:6:"atLine";i:197;}i:9;a:8:{s:6:"header";s:74:"function makeIcon($iconfile,$mode, $user, $protectSection=0,$absFile='')       {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:11:"sectionText";a:1:{i:0;s:15:"Other functions";}s:4:"cDat";a:4:{s:4:"text";s:51:"
1848
1849 Creates the icon file for the function getIcon()
1850 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:59:"Original unprocessed Icon file, relative path to PATH_typo3";}i:1;a:2:{i:0;s:6:"string";i:1;s:79:"Mode string, eg. "deleted" or "futuretiming" determining how the icon will look";}i:2;a:2:{i:0;s:7:"integer";i:1;s:51:"The number of the fe_group record uid if applicable";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:64:"Flag determines if the protected-section icon should be applied.";}i:4;a:2:{i:0;s:6:"string";i:1;s:52:"Absolute path to file from which to create the icon.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:31:"Filename relative to PATH_typo3";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:3107;s:13:"content_lines";i:77;s:6:"atLine";i:266;}i:11;a:7:{s:6:"header";s:99:"function imagecopyresized(&$im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h)       {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:4:{s:4:"text";s:998:"
1851
1852 The necessity of using this function for combining two images if GD is version 2 is that
1853         GD2 cannot manage to combine two indexed-color images without totally spoiling everything.
1854         In class.t3lib_stdgraphic this was solved by combining the images onto a first created true color image
1855         However it has turned out that this method will not work if the indexed png-files contains transparency.
1856         So I had to turn my attention to ImageMagick - my 'enemy of death'.
1857         And so it happend - ImageMagick is now used to combine my two indexed-color images with transparency. And that works.
1858         Of course it works only if ImageMagick is able to create valid png-images - which you cannot be sure of with older versions (still 5+)
1859         The only drawback is (apparently) that IM creates true-color png's. The transparency of these will not be shown by MSIE on windows at this time (although it's straight 0%/100% transparency!) and the file size may be larger.
1860
1861 For parameters, see PHP function "imagecopyresized()"
1862 ";s:5:"param";a:10:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:1;a:2:{i:0;s:7:"pointer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:2;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:3;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:4;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:5;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:6;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:7;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:8;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}i:9;a:2:{i:0;s:7:"integer";i:1;s:37:"see PHP function "imagecopyresized()"";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:1018;s:13:"content_lines";i:24;s:6:"atLine";i:369;}i:13;a:4:{s:6:"header";s:33:"function imagecreatefrom($file)      {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:6:{s:4:"text";s:131:"
1863
1864 Create new image pointer from input file (either gif/png, in case the wrong format it is converted by t3lib_div::read_png_gif())
1865 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:74:"Absolute filename of the image file from which to start the icon creation.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:41:"If success, image pointer, otherwise "-1"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:28:"@see t3lib_div::read_png_gif";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:24:"t3lib_div::read_png_gif ";}}}s:6:"atLine";i:402;}i:15;a:7:{s:6:"header";s:32:"function imagemake($im, $path)        {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:4:{s:4:"text";s:41:"
1866
1867 Write the icon in $im pointer to $path
1868 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:31:"Pointer to GDlib image resource";}i:1;a:2:{i:0;s:6:"string";i:1;s:57:"Absolute path to the filename in which to write the icon.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:131;s:13:"content_lines";i:7;s:6:"atLine";i:419;}}}s:14:"MD5_8e1033b429";a:4:{s:8:"filename";s:27:"class.t3lib_loaddbgroup.php";s:8:"filesize";i:13090;s:6:"header";a:5:{s:4:"text";s:171:"
1869
1870 Load database groups (relations)
1871 Used to process the relations created by the TCA element types "group" and "select" for database records. Manages MM-relations as well.
1872 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:9:{i:1;a:8:{s:6:"header";s:25:"class t3lib_loadDBGroup      {";s:5:"class";i:1;s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:5:{s:4:"text";s:171:"
1873
1874 Load database groups (relations)
1875 Used to process the relations created by the TCA element types "group" and "select" for database records. Manages MM-relations as well.
1876 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:962;s:13:"content_lines";i:17;s:6:"atLine";i:70;}i:3;a:7:{s:6:"header";s:61:"function start ($itemlist,$tablelist, $MMtable='',$MMuid=0)     {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:3:{s:4:"text";s:31:"
1877
1878 Initialization of the class.
1879 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"List of group/select items";}i:1;a:2:{i:0;s:6:"string";i:1;s:93:"Comma list of tables, first table takes priority if no table is set for an entry in the list.";}i:2;a:2:{i:0;s:6:"string";i:1;s:19:"Name of a MM table.";}i:3;a:2:{i:0;s:7:"integer";i:1;s:23:"Local UID for MM lookup";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1332;s:13:"content_lines";i:34;s:6:"atLine";i:97;}i:5;a:7:{s:6:"header";s:30:"function readList($itemlist)   {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:3:{s:4:"text";s:111:"
1880
1881 Explodes the item list and stores the parts in the internal arrays itemArray and tableArray from MM records.
1882 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"Item list";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1780;s:13:"content_lines";i:37;s:6:"atLine";i:138;}i:7;a:7:{s:6:"header";s:34:"function readMM($tableName,$uid)     {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:3:{s:4:"text";s:171:"
1883
1884 Reads the record tablename/id into the internal arrays itemArray and tableArray from MM records.
1885 You can call this function after start if you supply no list to start()
1886 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"MM Tablename";}i:1;a:2:{i:0;s:7:"integer";i:1;s:9:"Local UID";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:916;s:13:"content_lines";i:21;s:6:"atLine";i:184;}i:9;a:7:{s:6:"header";s:55:"function writeMM($tableName,$uid,$prependTableName=0)     {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:3:{s:4:"text";s:45:"
1887
1888 Writes the internal itemArray to MM table:
1889 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"MM table name";}i:1;a:2:{i:0;s:7:"integer";i:1;s:9:"Local UID";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:48:"If set, then table names will always be written.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:701;s:13:"content_lines";i:22;s:6:"atLine";i:214;}i:11;a:7:{s:6:"header";s:46:"function getValueArray($prependTableName='')    {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:3:{s:4:"text";s:109:"
1890
1891 After initialization you can extract an array of the elements from the object. Use this function for that.
1892 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:80:"If set, then table names will ALWAYS be prepended (unless its a _NO_TABLE value)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:16:"A numeric array.";}}s:7:"content";s:0:"";s:12:"content_size";i:527;s:13:"content_lines";i:19;s:6:"atLine";i:243;}i:13;a:7:{s:6:"header";s:54:"function convertPosNeg($valueArray,$fTable,$nfTable)      {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:3:{s:4:"text";s:49:"
1893
1894 Converts id numbers from negative to positive.
1895 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:28:"Array of [table]_[id] pairs.";}i:1;a:2:{i:0;s:6:"string";i:1;s:49:"Foreign table (the one used for positive numbers)";}i:2;a:2:{i:0;s:6:"string";i:1;s:22:"NEGative foreign table";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:140:"The array with ID integer values, converted to positive for those where the table name was set but did NOT match the positive foreign table.";}}s:7:"content";s:0:"";s:12:"content_size";i:461;s:13:"content_lines";i:15;s:6:"atLine";i:271;}i:15;a:4:{s:6:"header";s:22:"function getFromDB()  {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:3:{s:4:"text";s:279:"
1896
1897 Reads all records from internal tableArray into the internal ->results array where keys are table names and for each table, records are stored with uids as their keys.
1898 If $this->fromTC is set you can save a little memory since only uid,pid and a few other fields are selected.
1899 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:293;}i:17;a:7:{s:6:"header";s:30:"function readyForInterface() {";s:11:"parentClass";s:17:"t3lib_loadDBGroup";s:4:"cDat";a:5:{s:4:"text";s:93:"
1900
1901 Prepare items from itemArray to be transferred to the TCEforms interface (as a comma list)
1902 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:39:"@see t3lib_transferdata::renderRecord()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:35:"t3lib_transferdata::renderRecord() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:883;s:13:"content_lines";i:24;s:6:"atLine";i:326;}}}s:14:"MD5_2da34acc99";a:4:{s:8:"filename";s:27:"class.t3lib_loadmodules.php";s:8:"filesize";i:19518;s:6:"header";a:5:{s:4:"text";s:179:"
1903
1904 Load Backend Interface modules
1905
1906 Typically instantiated like this:
1907                 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
1908                 $this->loadModules->load($TBE_MODULES);
1909 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:8:{i:1;a:8:{s:6:"header";s:25:"class t3lib_loadModules {";s:5:"class";i:1;s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:5:{s:4:"text";s:179:"
1910
1911 Load Backend Interface modules
1912
1913 Typically instantiated like this:
1914                 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
1915                 $this->loadModules->load($TBE_MODULES);
1916 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:554;s:13:"content_lines";i:9;s:6:"atLine";i:76;}i:3;a:7:{s:6:"header";s:42:"function load($modulesArray,$BE_USER='') {";s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:3:{s:4:"text";s:245:"
1917
1918 Init.
1919 The outcome of the load() function will be a $this->modules array populated with the backend module structure available to the BE_USER
1920 Further the global var $LANG will have labels and images for the modules loaded in an internal array.
1921 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:190:"$modulesArray should be the global var $TBE_MODULES, $BE_USER can optionally be set to an alternative Backend user object than the global var $BE_USER (which is the currently logged in user)";}i:1;a:2:{i:0;s:6:"object";i:1;s:83:"Optional backend user object to use. If not set, the global BE_USER object is used.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:8156;s:13:"content_lines";i:262;s:6:"atLine";i:95;}i:5;a:7:{s:6:"header";s:38:"function checkExtensionModule($name) {";s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:3:{s:4:"text";s:142:"
1922
1923 If the module name ($name) is a module from an extension (has path in $this->absPathArray) then that path is returned relative to PATH_site
1924 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Module name";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:42:"If found, the relative path from PATH_site";}}s:7:"content";s:0:"";s:12:"content_size";i:173;s:13:"content_lines";i:7;s:6:"atLine";i:364;}i:7;a:7:{s:6:"header";s:37:"function checkMod($name, $fullpath)    {";s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:3:{s:4:"text";s:282:"
1925
1926 Here we check for the module. If not a conf-file is set then it's regarded to be a spacer
1927 Return values:
1928         'notFound':     If the module was not found in the path
1929         false:          If no access to the module
1930         array():        Configuration array, in case a valid module where access IS granted exists.
1931 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Module name";}i:1;a:2:{i:0;s:6:"string";i:1;s:23:"Absolute path to module";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:27:"See description of function";}}s:7:"content";s:0:"";s:12:"content_size";i:3435;s:13:"content_lines";i:65;s:6:"atLine";i:383;}i:9;a:7:{s:6:"header";s:39:"function checkModAccess($name,$MCONF)  {";s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:3:{s:4:"text";s:128:"
1932
1933 Returns true if the internal BE_USER has access to the module $name with $MCONF (based on security level set for that module)
1934 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Module name";}i:1;a:2:{i:0;s:5:"array";i:1;s:130:"MCONF array (module configuration array) from the modules conf.php file (contains settings about what access level the module has)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:44:"True if access is granted for $this->BE_USER";}}s:7:"content";s:0:"";s:12:"content_size";i:751;s:13:"content_lines";i:15;s:6:"atLine";i:456;}i:11;a:7:{s:6:"header";s:35:"function parseModulesArray ($arr)        {";s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:3:{s:4:"text";s:201:"
1935
1936 Parses the moduleArray ($TBE_MODULES) into a internally useful structure.
1937 Returns an array where the keys are names of the module and the values may be true (only module) or an array (of submodules)
1938 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:26:"moduleArray ($TBE_MODULES)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:39:"Output structure with available modules";}}s:7:"content";s:0:"";s:12:"content_size";i:476;s:13:"content_lines";i:23;s:6:"atLine";i:479;}i:13;a:4:{s:6:"header";s:27:"function cleanName ($str)  {";s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:3:{s:4:"text";s:120:"
1939
1940 The $str is cleaned so that it contains alphanumerical characters only. Modules must only consist of these characters
1941 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"String to clean up";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:6:"atLine";i:509;}i:15;a:7:{s:6:"header";s:44:"function getRelativePath($baseDir,$destDir){";s:11:"parentClass";s:17:"t3lib_loadModules";s:4:"cDat";a:3:{s:4:"text";s:54:"
1942
1943 Get relative path for $destDir compared to $baseDir
1944 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Base directory";}i:1;a:2:{i:0;s:6:"string";i:1;s:21:"Destination directory";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:50:"The relative path of destination compared to base.";}}s:7:"content";s:0:"";s:12:"content_size";i:928;s:13:"content_lines";i:34;s:6:"atLine";i:520;}}}s:14:"MD5_ee88bfb3e3";a:4:{s:8:"filename";s:30:"class.t3lib_matchcondition.php";s:8:"filesize";i:17922;s:6:"header";a:5:{s:4:"text";s:121:"
1945
1946 Matching TypoScript conditions
1947
1948 Used with the TypoScript parser.
1949 Matches browserinfo, IPnumbers for use with templates
1950 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:69:"@see t3lib_TStemplate::matching(), t3lib_TStemplate::generateConfig()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:64:"t3lib_TStemplate::matching(), t3lib_TStemplate::generateConfig()";}}}s:3:"DAT";a:8:{i:1;a:8:{s:6:"header";s:28:"class t3lib_matchCondition {";s:5:"class";i:1;s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:5:{s:4:"text";s:121:"
1951
1952 Matching TypoScript conditions
1953
1954 Used with the TypoScript parser.
1955 Matches browserinfo, IPnumbers for use with templates
1956 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:69:"@see t3lib_TStemplate::matching(), t3lib_TStemplate::generateConfig()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:64:"t3lib_TStemplate::matching(), t3lib_TStemplate::generateConfig()";}}}s:7:"content";s:0:"";s:12:"content_size";i:216;s:13:"content_lines";i:5;s:6:"atLine";i:74;}i:3;a:7:{s:6:"header";s:25:"function match($string)    {";s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:5:{s:4:"text";s:97:"
1957
1958 Evaluates a TypoScript condition given as input, eg. "[browser=net][...(other conditions)...]"
1959 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:45:"The condition to match against its criterias.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:46:"Returns true or false based on the evaluation.";}s:5:"other";a:2:{i:0;s:28:"@see t3lib_tsparser::parse()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=292&cHash=c6c7d43d2f";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:24:"t3lib_tsparser::parse() ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=292&cHash=c6c7d43d2f ";}}}s:7:"content";s:0:"";s:12:"content_size";i:6639;s:13:"content_lines";i:203;s:6:"atLine";i:88;}i:5;a:7:{s:6:"header";s:35:"function testNumber($test,$value) {";s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:3:{s:4:"text";s:73:"
1960
1961 Will evaluate a $value based on an operator: "<", ">" or "=" (default)
1962 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:69:"The value to compare with on the form [operator][number]. Eg. "< 123"";}i:1;a:2:{i:0;s:7:"integer";i:1;s:10:"The number";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:64:"If $value is "50" and $test is "< 123" then it will return true.";}}s:7:"content";s:0:"";s:12:"content_size";i:296;s:13:"content_lines";i:14;s:6:"atLine";i:299;}i:7;a:7:{s:6:"header";s:39:"function matchWild($haystack,$needle)      {";s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:3:{s:4:"text";s:98:"
1963
1964 Matching two strings against each other, supporting a "*" wildcard in either end of the $needle
1965 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"The string in which to find $needle.";}i:1;a:2:{i:0;s:6:"string";i:1;s:31:"The string to find in $haystack";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:179:"Returns true if $needle matches or is found in (according to wildcards) in $haystack. Eg. if $haystack is "Netscape 6.5" and $needle is "Net*" or "Netscape*" then it returns true.";}}s:7:"content";s:0:"";s:12:"content_size";i:565;s:13:"content_lines";i:21;s:6:"atLine";i:321;}i:9;a:7:{s:6:"header";s:34:"function whichDevice($useragent)    {";s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:6:{s:4:"text";s:75:"
1966
1967 Returns a code for a browsing device based on the input useragent string
1968 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:72:"User agent string from browser, t3lib_div::getIndpEnv('HTTP_USER_AGENT')";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"A code. See link.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=296&cHash=a8ae66c7d6";}s:11:"other_index";a:1:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=296&cHash=a8ae66c7d6 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:893;s:13:"content_lines";i:40;s:6:"atLine";i:351;}i:11;a:7:{s:6:"header";s:34:"function browserInfo($useragent)    {";s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:6:{s:4:"text";s:152:"
1969
1970 Generates an array with abstracted browser information
1971 In the function match() this method is called and the result stored in $this->browserInfoArray
1972 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:62:"The useragent string, t3lib_div::getIndpEnv('HTTP_USER_AGENT')";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:44:"Contains keys "browser", "version", "system"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:12:"@see match()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:8:"match() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3077;s:13:"content_lines";i:90;s:6:"atLine";i:401;}i:13;a:4:{s:6:"header";s:36:"function getGlobal($var,$inArr='') {";s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:4:{s:4:"text";s:89:"
1973
1974 Return global variable where the input string $var defines array keys separated by "|"
1975 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:90:"Global var key, eg. "HTTP_GET_VAR" or "HTTP_GET_VARS|id" to get the id GET parameter back.";}i:1;a:2:{i:0;s:5:"array";i:1;s:53:"Alternative array than $GLOBAL to get variables from.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:43:"Whatever value. If none, then blank string.";}s:6:"access";s:7:"private";}s:6:"atLine";i:500;}i:15;a:7:{s:6:"header";s:31:"function getGP_ENV_TSFE($var) {";s:11:"parentClass";s:20:"t3lib_matchCondition";s:4:"cDat";a:6:{s:4:"text";s:31:"
1976
1977 Returns GP / ENV / TSFE vars
1978 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Identifier";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:37:"The value of the variable pointed to.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=311&cHash=487cbd5cdf";}s:11:"other_index";a:1:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=311&cHash=487cbd5cdf ";}}}s:7:"content";s:0:"";s:12:"content_size";i:999;s:13:"content_lines";i:42;s:6:"atLine";i:525;}}}s:14:"MD5_280775734e";a:4:{s:8:"filename";s:20:"class.t3lib_page.php";s:8:"filesize";i:24053;s:6:"header";a:5:{s:4:"text";s:222:"
1979
1980 Page functions, a lot of sql/pages-related functions
1981 Mainly used in the frontend but also in some cases in the backend.
1982 It's important to set the right $where_hid_del in the object so that the functions operate properly
1983 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:29:"@see tslib_fe::fetch_the_id()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:25:"tslib_fe::fetch_the_id() ";}}}s:3:"DAT";a:19:{i:1;a:8:{s:6:"header";s:24:"class t3lib_pageSelect {";s:5:"class";i:1;s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:222:"
1984
1985 Page functions, a lot of sql/pages-related functions
1986 Mainly used in the frontend but also in some cases in the backend.
1987 It's important to set the right $where_hid_del in the object so that the functions operate properly
1988 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:4:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";i:3;s:29:"@see tslib_fe::fetch_the_id()";}s:11:"other_index";a:4:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}s:4:"@see";a:1:{i:0;s:25:"tslib_fe::fetch_the_id() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:311;s:13:"content_lines";i:7;s:6:"atLine";i:99;}i:3;a:7:{s:6:"header";s:29:"function init($show_hidden)       {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:219:"
1989
1990 init() MUST be run directly after creating a new template-object        
1991 This sets the internal variable $this->where_hid_del to the correct where clause for page records taking deleted/hidden/starttime/endtime into account
1992 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:109:"If $show_hidden is true, the hidden-field is ignored!! Normally this should be false. Is used for previewing.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:73:"@see tslib_fe::fetch_the_id(), tx_tstemplateanalyzer::initialize_editor()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:68:"tslib_fe::fetch_the_id(), tx_tstemplateanalyzer::initialize_editor()";}}}s:7:"content";s:0:"";s:12:"content_size";i:430;s:13:"content_lines";i:29;s:6:"atLine";i:115;}i:5;a:8:{s:6:"header";s:24:"function getPage($uid)        {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:11:"sectionText";a:1:{i:0;s:22:"Selecting page records";}s:4:"cDat";a:5:{s:4:"text";s:198:"
1993
1994 Returns the $row for the page with uid = $uid (observing ->where_hid_del)
1995 Any pages_language_overlay will be applied before the result is returned.
1996 If no page is found an empty array is returned.
1997 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:23:"The page id to look up.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:63:"The page row with overlayed localized fields. Empty it no page.";}s:5:"other";a:1:{i:0;s:22:"@see getPage_noCheck()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"getPage_noCheck() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:217;s:13:"content_lines";i:8;s:6:"atLine";i:154;}i:7;a:7:{s:6:"header";s:32:"function getPage_noCheck($uid)    {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:143:"
1998
1999 Return the $row for the page with uid = $uid WITHOUT checking for ->where_hid_del (start- and endtime or hidden). Only "deleted" is checked!
2000 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:22:"The page id to look up";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:63:"The page row with overlayed localized fields. Empty it no page.";}s:5:"other";a:1:{i:0;s:14:"@see getPage()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"getPage() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:221;s:13:"content_lines";i:8;s:6:"atLine";i:170;}i:9;a:7:{s:6:"header";s:32:"function getFirstWebPage($uid)     {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:79:"
2001
2002 Returns the $row of the first web-page in the tree (for the default menu...)
2003 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:51:"The page id for which to fetch first subpages (PID)";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:107:"If found: The page record (with overlayed localized fields, if any). If NOT found: blank value (not array!)";}s:5:"other";a:1:{i:0;s:29:"@see tslib_fe::fetch_the_id()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:25:"tslib_fe::fetch_the_id() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:243;s:13:"content_lines";i:8;s:6:"atLine";i:186;}i:11;a:7:{s:6:"header";s:37:"function getPageIdFromAlias($alias)       {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:51:"
2004
2005 Returns a pagerow for the page with alias $alias
2006 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The alias to look up the page uid for.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:55:"Returns page uid (integer) if found, otherwise 0 (zero)";}s:5:"other";a:1:{i:0;s:57:"@see tslib_fe::checkAndSetAlias(), tslib_cObj::typoLink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:52:"tslib_fe::checkAndSetAlias(), tslib_cObj::typoLink()";}}}s:7:"content";s:0:"";s:12:"content_size";i:223;s:13:"content_lines";i:8;s:6:"atLine";i:202;}i:13;a:7:{s:6:"header";s:46:"function getPageOverlay($pageInput,$lUid=-1)        {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:3:{s:4:"text";s:50:"
2007
2008 Returns the relevant page overlay record fields
2009 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:268:"If $pageInput is an integer, it's the pid of the pageOverlay record and thus the page overlay record is returned. If $pageInput is an array, it's a page-record and based on this page record the language record is found and OVERLAYED before the page record is returned.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:111:"Language UID if you want to set an alternative value to $this->sys_language_uid which is default. Should be >=0";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:86:"Page row which is overlayed with language_overlay record (or the overlay record alone)";}}s:7:"content";s:0:"";s:12:"content_size";i:1552;s:13:"content_lines";i:57;s:6:"atLine";i:218;}i:15;a:8:{s:6:"header";s:70:"function getMenu($uid,$fields='*',$sortField='sorting',$addWhere='')    {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:11:"sectionText";a:1:{i:0;s:44:"Page related: Menu, Domain record, Root line";}s:4:"cDat";a:5:{s:4:"text";s:106:"
2010
2011 Returns an array with pagerows for subpages with pid=$uid (which is pid here!). This is used for menus.
2012 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:7:"integer";i:1;s:45:"The page id for which to fetch subpages (PID)";}i:1;a:2:{i:0;s:6:"string";i:1;s:46:"List of fields to select. Default is "*" = all";}i:2;a:2:{i:0;s:6:"string";i:1;s:42:"The field to sort by. Default is "sorting"";}i:3;a:2:{i:0;s:6:"string";i:1;s:81:"Optional additional where clauses. Like "AND title like '%blabla%'" for instance.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:138:"Array with key/value pairs; keys are page-uid numbers. values are the corresponding page records (with overlayed localized fields, if any)";}s:5:"other";a:1:{i:0;s:114:"@see tslib_fe::getPageShortcut(), tslib_menu::makeMenu(), tx_wizardcrpages_webfunc_2, tx_wizardsortpages_webfunc_2";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:109:"tslib_fe::getPageShortcut(), tslib_menu::makeMenu(), tx_wizardcrpages_webfunc_2, tx_wizardsortpages_webfunc_2";}}}s:7:"content";s:0:"";s:12:"content_size";i:305;s:13:"content_lines";i:9;s:6:"atLine";i:286;}i:17;a:7:{s:6:"header";s:64:"function getDomainStartPage($domain, $path='',$request_uri='')  {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:164:"
2013
2014 Will find the page carrying the domain record matching the input domain. 
2015 Might exit after sending a redirect-header IF a found domain record instructs to do so.
2016 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:76:"Domain name to search for. Eg. "www.typo3.com". Typical the HTTP_HOST value.";}i:1;a:2:{i:0;s:6:"string";i:1;s:115:"Path for the current script in domain. Eg. "/somedir/subdir". Typ. supplied by t3lib_div::getIndpEnv('SCRIPT_NAME')";}i:2;a:2:{i:0;s:6:"string";i:1;s:122:"Request URI: Used to get parameters from if they should be appended. Typ. supplied by t3lib_div::getIndpEnv('REQUEST_URI')";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:125:"If found, returns integer with page UID where found. Otherwise blank. Might exit if location-header is sent, see description.";}s:5:"other";a:1:{i:0;s:33:"@see tslib_fe::findDomainRecord()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:29:"tslib_fe::findDomainRecord() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1010;s:13:"content_lines";i:30;s:6:"atLine";i:306;}i:19;a:7:{s:6:"header";s:35:"function getRootLine($uid,$MP='')        {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:469:"
2017
2018 Returns array with fields of the pages from here ($uid) and back to the root
2019 NOTICE: This function only takes deleted pages into account! So hidden, starttime and endtime restricted pages are included no matter what.
2020 Further: If any "recycler" page is found (doktype=255) then it will also block for the rootline)
2021 If you want more fields in the rootline records than default such can be added by listing them in $GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields']
2022 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:58:"The page uid for which to seek back to the page tree root.";}i:1;a:2:{i:0;s:6:"string";i:1;s:101:"Commalist of MountPoint parameters, eg. "1-2,3-4" etc. Normally this value comes from the GET var, MP";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:376:"Array with page records from the root line as values. The array is ordered with the outer records first and root record in the bottom. The keys are numeric but in reverse order. So if you traverse/sort the array by the numeric keys order you will get the order from root and out. If an error is found (like eternal looping or invalid mountpoint) it will return an empty array.";}s:5:"other";a:1:{i:0;s:35:"@see tslib_fe::getPageAndRootline()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:31:"tslib_fe::getPageAndRootline() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1560;s:13:"content_lines";i:50;s:6:"atLine";i:348;}i:21;a:7:{s:6:"header";s:43:"function getPathFromRootline($rl,$len=20)  {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:93:"
2023
2024 Creates a "path" string for the input root line array titles.
2025 Used for writing statistics.
2026 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:17:"A rootline array!";}i:1;a:2:{i:0;s:7:"integer";i:1;s:47:"The max length of each title from the rootline.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:73:"The path in the form "/page title/This is another pageti.../Another page"";}s:5:"other";a:1:{i:0;s:31:"@see tslib_fe::getConfigArray()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:27:"tslib_fe::getConfigArray() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:219;s:13:"content_lines";i:12;s:6:"atLine";i:408;}i:23;a:7:{s:6:"header";s:41:"function getExtURL($pagerow,$disable=0)     {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:84:"
2027
2028 Returns the URL type for the input page row IF the doktype is 3 and not disabled.
2029 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:35:"The page row to return URL type for";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:46:"A flag to simply disable any output from here.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:72:"The URL type from $this->urltypes array. Blank if not found or disabled.";}s:5:"other";a:1:{i:0;s:29:"@see tslib_fe::checkJumpUrl()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:25:"tslib_fe::checkJumpUrl() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:258;s:13:"content_lines";i:31;s:6:"atLine";i:429;}i:25;a:8:{s:6:"header";s:48:"function checkRecord($table,$uid,$checkPage=0)  {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:11:"sectionText";a:1:{i:0;s:28:"Selecting records in general";}s:4:"cDat";a:3:{s:4:"text";s:88:"
2030
2031 Checks if a record exists and is accessible. 
2032 The row is returned if everything's OK.
2033 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:24:"The table name to search";}i:1;a:2:{i:0;s:7:"integer";i:1;s:28:"The uid to look up in $table";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:95:"If checkPage is set, it's also required that the page on which the record resides is accessible";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:58:"Returns array (the record) if OK, otherwise blank/0 (zero)";}}s:7:"content";s:0:"";s:12:"content_size";i:549;s:13:"content_lines";i:22;s:6:"atLine";i:470;}i:27;a:7:{s:6:"header";s:48:"function getRawRecord($table,$uid,$fields='*')        {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:62:"
2034
2035 Returns record no matter what - except if record is deleted
2036 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:24:"The table name to search";}i:1;a:2:{i:0;s:7:"integer";i:1;s:28:"The uid to look up in $table";}i:2;a:2:{i:0;s:6:"string";i:1;s:36:"The fields to select, default is "*"";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:61:"Returns array (the record) if found, otherwise blank/0 (zero)";}s:5:"other";a:1:{i:0;s:22:"@see getPage_noCheck()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"getPage_noCheck() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:277;s:13:"content_lines";i:11;s:6:"atLine";i:502;}i:29;a:7:{s:6:"header";s:73:"function getRecordsByField($theTable,$theField,$theValue,$endClause='')    {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:3:{s:4:"text";s:78:"
2037
2038 Selects records based on matching a field (ei. other than UID) with a value
2039 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:53:"The table name to search, eg. "pages" or "tt_content"";}i:1;a:2:{i:0;s:6:"string";i:1;s:44:"The fieldname to match, eg. "uid" or "alias"";}i:2;a:2:{i:0;s:6:"string";i:1;s:61:"The value that fieldname must match, eg. "123" or "frontpage"";}i:3;a:2:{i:0;s:6:"string";i:1;s:186:"Additional WHERE clauses put in the end of the query meaning that also LIMIT, ORDER BY and GROUP BY could be added. (Dont use LIMIT though since this may break portability to DBAL later)";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:61:"Returns array (the record) if found, otherwise blank/0 (zero)";}}s:7:"content";s:0:"";s:12:"content_size";i:487;s:13:"content_lines";i:31;s:6:"atLine";i:523;}i:31;a:8:{s:6:"header";s:36:"function getHash($hash,$expTime=0)      {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:11:"sectionText";a:1:{i:0;s:28:"Caching and standard clauses";}s:4:"cDat";a:5:{s:4:"text";s:291:"
2040
2041 Returns string value stored for the hash string in the table "cache_hash"
2042 Can be used to retrieved a cached value
2043 Can be used from your frontend plugins if you like. Is also used to store the parsed TypoScript template structures. You can call it directly like t3lib_pageSelect::getHash()
2044 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:54:"The hash-string which was used to store the data value";}i:1;a:2:{i:0;s:7:"integer";i:1;s:172:"Allowed expiretime in seconds. Basically a record is selected only if it is not older than this value in seconds. If expTime is not set, the hashed value will never expire.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:50:"The "content" field of the "cache_hash" table row.";}s:5:"other";a:1:{i:0;s:43:"@see tslib_TStemplate::start(), storeHash()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:38:"tslib_TStemplate::start(), storeHash()";}}}s:7:"content";s:0:"";s:12:"content_size";i:279;s:13:"content_lines";i:11;s:6:"atLine";i:565;}i:33;a:7:{s:6:"header";s:40:"function storeHash($hash,$data,$ident)  {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:181:"
2045
2046 Stores a string value in the cache_hash table identified by $hash.
2047 Can be used from your frontend plugins if you like. You can call it directly like t3lib_pageSelect::storeHash()
2048 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:91:"32 bit hash string (eg. a md5 hash of a serialized array identifying the data being stored)";}i:1;a:2:{i:0;s:6:"string";i:1;s:77:"The data string. If you want to store an array, then just serialize it first.";}i:2;a:2:{i:0;s:6:"string";i:1;s:104:"$ident is just a textual identification in order to inform about the content! May be 20 characters long.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:41:"@see tslib_TStemplate::start(), getHash()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:36:"tslib_TStemplate::start(), getHash()";}}}s:7:"content";s:0:"";s:12:"content_size";i:248;s:13:"content_lines";i:4;s:6:"atLine";i:587;}i:35;a:4:{s:6:"header";s:31:"function deleteClause($table) {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:109:"
2049
2050 Returns the "AND NOT deleted" clause for the tablename given IF $TCA configuration points to such a field.
2051 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"Tablename";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:19:"@see enableFields()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"enableFields() ";}}}s:6:"atLine";i:599;}i:37;a:7:{s:6:"header";s:69:"function enableFields($table,$show_hidden=-1,$ignore_array=array())   {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:388:"
2052
2053 Returns a part of a WHERE clause which will filter out records with start/end times or hidden/fe_groups fields set to values that should de-select them according to the current time, preview settings or user login. Definitely a frontend function.
2054 Is using the $TCA arrays "ctrl" part where the key "enablefields" determines for each table which of these features applies to that table.
2055 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:34:"Table name found in the $TCA array";}i:1;a:2:{i:0;s:7:"integer";i:1;s:245:"If $show_hidden is set (0/1), any hidden-fields in records are ignored. NOTICE: If you call this function, consider what to do with the show_hidden parameter. Maybe it should be set? See tslib_cObj->enableFields where it's implemented correctly.";}i:2;a:2:{i:0;s:5:"array";i:1;s:253:"Array you can pass where keys can be "disabled", "starttime", "endtime", "fe_group" (keys from "enablefields" in TCA) and if set they will make sure that part of the clause is not added. Thus disables the specific part of the clause. For previewing etc.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:51:"The clause starting like " AND ...=... AND ...=..."";}s:5:"other";a:1:{i:0;s:47:"@see tslib_cObj::enableFields(), deleteClause()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:42:"tslib_cObj::enableFields(), deleteClause()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1931;s:13:"content_lines";i:44;s:6:"atLine";i:614;}}}s:14:"MD5_5a82c40494";a:4:{s:8:"filename";s:24:"class.t3lib_pagetree.php";s:8:"filesize";i:4553;s:6:"header";a:5:{s:4:"text";s:36:"
2056
2057 Class for generating a page tree.
2058 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:43:"@coauthor René Fritz <r.fritz@colorcube.de>";i:2;s:37:"@see t3lib_treeView, t3lib_browseTree";i:3;s:14:"@package TYPO3";i:4;s:17:"@subpackage t3lib";}s:11:"other_index";a:5:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:9:"@coauthor";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}s:4:"@see";a:1:{i:0;s:32:"t3lib_treeView, t3lib_browseTree";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:5:{i:1;a:8:{s:6:"header";s:45:"class t3lib_pageTree extends t3lib_treeView  {";s:5:"class";i:1;s:11:"parentClass";s:14:"t3lib_pageTree";s:4:"cDat";a:5:{s:4:"text";s:36:"
2059
2060 Class for generating a page tree.
2061 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:5:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:43:"@coauthor René Fritz <r.fritz@colorcube.de>";i:2;s:37:"@see t3lib_treeView, t3lib_browseTree";i:3;s:14:"@package TYPO3";i:4;s:17:"@subpackage t3lib";}s:11:"other_index";a:5:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:9:"@coauthor";a:1:{i:0;s:33:"René Fritz <r.fritz@colorcube.de>";}s:4:"@see";a:1:{i:0;s:32:"t3lib_treeView, t3lib_browseTree";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:226;s:13:"content_lines";i:4;s:6:"atLine";i:77;}i:3;a:7:{s:6:"header";s:27:"function init($clause='')        {";s:11:"parentClass";s:14:"t3lib_pageTree";s:4:"cDat";a:3:{s:4:"text";s:85:"
2062
2063 Init function
2064 REMEMBER to feed a $clause which will filter out non-readable pages!
2065 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:61:"Part of where query which will filter out non-readable pages.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:295;s:13:"content_lines";i:9;s:6:"atLine";i:89;}i:5;a:7:{s:6:"header";s:26:"function expandNext($id)   {";s:11:"parentClass";s:14:"t3lib_pageTree";s:4:"cDat";a:3:{s:4:"text";s:114:"
2066
2067 Returns true/false if the next level for $id should be expanded - and all levels should, so we always return 1.
2068 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:87:"ID (uid) to test for (see extending classes where this is checked againts session data)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:17;s:13:"content_lines";i:3;s:6:"atLine";i:105;}i:7;a:4:{s:6:"header";s:45:"function PMicon($row,$a,$c,$nextCount,$exp)  {";s:11:"parentClass";s:14:"t3lib_pageTree";s:4:"cDat";a:6:{s:4:"text";s:108:"
2069
2070 Generate the plus/minus icon for the browsable tree.
2071 In this case, there is no plus-minus icon displayed.
2072 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:20:"record for the entry";}i:1;a:2:{i:0;s:7:"integer";i:1;s:24:"The current entry number";}i:2;a:2:{i:0;s:7:"integer";i:1;s:76:"The total number of entries. If equal to $a, a 'bottom' element is returned.";}i:3;a:2:{i:0;s:7:"integer";i:1;s:50:"The number of sub-elements to the current element.";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:67:"The element was expanded to render subelements if this flag is set.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:35:"Image tag with the plus/minus icon.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:29:"@see t3lib_treeView::PMicon()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:25:"t3lib_treeView::PMicon() ";}}}s:6:"atLine";i:122;}i:9;a:7:{s:6:"header";s:37:"function initializePositionSaving()     {";s:11:"parentClass";s:14:"t3lib_pageTree";s:4:"cDat";a:4:{s:4:"text";s:174:"
2073
2074 Get stored tree structure AND updating it if needed according to incoming PM GET var.
2075 - Here we just set it to nothing since we want to just render the tree, nothing more.
2076 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:230;s:13:"content_lines";i:8;s:6:"atLine";i:137;}}}s:14:"MD5_3ad1947ed4";a:4:{s:8:"filename";s:25:"class.t3lib_parsehtml.php";s:8:"filesize";i:47147;s:6:"header";a:5:{s:4:"text";s:93:"
2077
2078 Functions for parsing HTML. 
2079 You are encouraged to use this class in your own applications
2080 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:27:{i:1;a:8:{s:6:"header";s:23:"class t3lib_parsehtml {";s:5:"class";i:1;s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:5:{s:4:"text";s:93:"
2081
2082 Functions for parsing HTML. 
2083 You are encouraged to use this class in your own applications
2084 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:277;s:13:"content_lines";i:9;s:6:"atLine";i:98;}i:3;a:7:{s:6:"header";s:40:"function getSubpart($content, $marker)   {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:113:"
2085
2086 Returns the first subpart encapsulated in the marker, $marker (possibly present in $content as a HTML comment)
2087 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:64:"Content with subpart wrapped in fx. "###CONTENT_PART###" inside.";}i:1;a:2:{i:0;s:6:"string";i:1;s:39:"Marker string, eg. "###CONTENT_PART###"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:426;s:13:"content_lines";i:17;s:6:"atLine";i:115;}i:5;a:7:{s:6:"header";s:89:"function substituteSubpart($content,$marker,$subpartContent,$recursive=1,$keepMarker=0)       {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:73:"
2088
2089 Substitutes a subpart in $content with the content of $subpartContent.
2090 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:64:"Content with subpart wrapped in fx. "###CONTENT_PART###" inside.";}i:1;a:2:{i:0;s:6:"string";i:1;s:39:"Marker string, eg. "###CONTENT_PART###"";}i:2;a:2:{i:0;s:5:"array";i:1;s:140:"If $subpartContent happens to be an array, it's [0] and [1] elements are wrapped around the content of the subpart (fetched by getSubpart())";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:187:"If $recursive is set, the function calls itself with the content set to the remaining part of the content after the second marker. This means that proceding subparts are ALSO substituted!";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:76:"If set, the marker around the subpart is not removed, but kept in the output";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:23:"Processed input content";}}s:7:"content";s:0:"";s:12:"content_size";i:1625;s:13:"content_lines";i:53;s:6:"atLine";i:143;}i:7;a:7:{s:6:"header";s:65:"function splitIntoBlock($tag,$content,$eliminateExtraEndTags=0)   {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:5:{s:4:"text";s:263:"
2091
2092 Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag
2093 Even numbers in the array are outside the blocks, Odd numbers are block-content. 
2094 Use ->getAllParts() and ->removeFirstAndLastTag() to process the content if needed.
2095 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"List of tags, comma separated.";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"HTML-content";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:84:"If set, excessive end tags are ignored - you should probably set this in most cases.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:80:"Even numbers in the array are outside the blocks, Odd numbers are block-content.";}s:5:"other";a:1:{i:0;s:56:"@see splitTags(), getAllParts(), removeFirstAndLastTag()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:51:"splitTags(), getAllParts(), removeFirstAndLastTag()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1480;s:13:"content_lines";i:48;s:6:"atLine";i:208;}i:9;a:7:{s:6:"header";s:35:"function splitTags($tag,$content)      {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:5:{s:4:"text";s:263:"
2096
2097 Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag
2098 Even numbers in the array are outside the blocks, Odd numbers are block-content. 
2099 Use ->getAllParts() and ->removeFirstAndLastTag() to process the content if needed.
2100 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"List of tags";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"HTML-content";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:80:"Even numbers in the array are outside the blocks, Odd numbers are block-content.";}s:5:"other";a:1:{i:0;s:61:"@see splitIntoBlock(), getAllParts(), removeFirstAndLastTag()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:56:"splitIntoBlock(), getAllParts(), removeFirstAndLastTag()";}}}s:7:"content";s:0:"";s:12:"content_size";i:594;s:13:"content_lines";i:24;s:6:"atLine";i:267;}i:11;a:7:{s:6:"header";s:58:"function getAllParts($parts,$tag_parts=1,$include_tag=1)   {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:5:{s:4:"text";s:106:"
2101
2102 Returns an array with either tag or non-tag content of the result from ->splitIntoBlock()/->splitTags()
2103 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:53:"Parts generated by ->splitIntoBlock() or >splitTags()";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:76:"Whether to return the tag-parts (default,true) or what was outside the tags.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:95:"Whether to include the tags in the tag-parts (most useful for input made by ->splitIntoBlock())";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:60:"Tag-parts/Non-tag-parts depending on input argument settings";}s:5:"other";a:1:{i:0;s:34:"@see splitIntoBlock(), splitTags()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:29:"splitIntoBlock(), splitTags()";}}}s:7:"content";s:0:"";s:12:"content_size";i:222;s:13:"content_lines";i:11;s:6:"atLine";i:301;}i:13;a:7:{s:6:"header";s:38:"function removeFirstAndLastTag($str) {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:126:"
2104
2105 Removes the first and last tag in the string
2106 Anything before and after the first and last tags respectively is also removed
2107 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"String to process";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:217;s:13:"content_lines";i:11;s:6:"atLine";i:320;}i:15;a:7:{s:6:"header";s:28:"function getFirstTag($str)        {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:149:"
2108
2109 Returns the first tag in $str
2110 Actually everything from the begining of the $str is returned, so you better make sure the tag is the first thing...
2111 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"HTML string with tags";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:99;s:13:"content_lines";i:6;s:6:"atLine";i:339;}i:17;a:7:{s:6:"header";s:32:"function getFirstTagName($str)  {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:5:{s:4:"text";s:44:"
2112
2113 Returns the NAME of the first tag in $str
2114 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:117:"HTML tag (The element name MUST be separated from the attributes by a space character! Just *whitespace* will not do)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Tag name in upper case";}s:5:"other";a:1:{i:0;s:18:"@see getFirstTag()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"getFirstTag() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:123;s:13:"content_lines";i:4;s:6:"atLine";i:353;}i:19;a:7:{s:6:"header";s:211:"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') {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:979:"
2115
2116 Checks whether block/solo tags are found in the correct amounts in HTML content
2117 Block tags are tags which are required to have an equal amount of start and end tags, eg. "<table>...</table>"
2118 Solo tags are tags which are required to have ONLY start tags (possibly with an XHTML ending like ".../>")
2119 NOTICE: Correct XHTML might actually fail since "<br></br>" is allowed as well as "<br/>". However only the LATTER is accepted by this function (with "br" in the "solo-tag" list), the first example will result in a warning.
2120 NOTICE: Correct XHTML might actually fail since "<p/>" is allowed as well as "<p></p>". However only the LATTER is accepted by this function (with "p" in the "block-tag" list), the first example will result in an ERROR!
2121 NOTICE: Correct HTML version "something" allows eg. <p> and <li> to be NON-ended (implicitly ended by other tags). However this is NOT accepted by this function (with "p" and "li" in the block-tag list) and it will result in an ERROR!
2122 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"HTML content to analyze";}i:1;a:2:{i:0;s:6:"string";i:1;s:92:"Tag names for block tags (eg. table or div or p) in lowercase, commalist (eg. "table,div,p")";}i:2;a:2:{i:0;s:6:"string";i:1;s:87:"Tag names for solo tags (eg. img, br or input) in lowercase, commalist ("img,br,input")";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:13:"Analyse data.";}}s:7:"content";s:0:"";s:12:"content_size";i:1939;s:13:"content_lines";i:39;s:6:"atLine";i:371;}i:21;a:7:{s:6:"header";s:84:"function HTMLcleaner($content, $tags=array(),$keepAll=0,$hSC=0,$addConfig=array())   {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:2497:"
2123
2124 Function that can clean up HTML content according to configuration given in the $tags array.
2125
2126 Initializing the $tags array to allow a list of tags (in this case <B>,<I>,<U> and <A>), set it like this:               $tags = array_flip(explode(',','b,a,i,u'))     
2127 If the value of the $tags[$tagname] entry is an array, advanced processing of the tags is initialized. These are the options:
2128            
2129         $tags[$tagname] = Array(
2130                 'overrideAttribs' => ''         If set, this string is preset as the attributes of the tag
2131                 'allowedAttribs' =>   '0' (zero) = no attributes allowed, '[commalist of attributes]' = only allowed attributes. If blank, all attributes are allowed.
2132                 'fixAttrib' => Array(
2133                         '[attribute name]' => Array (
2134                                 'default' =>    If no attribute exists by this name, this value is set as default value (if this value is not blank)
2135                                 'always' =>     Boolean. If set, the attribute is always processed. Normally an attribute is processed only if it exists
2136                                 'trim,intval,lower,upper' =>    All booleans. If any of these keys are set, the value is passed through the respective PHP-functions.
2137                                 'range' => Array ('[low limit]','[high limit, optional]')               Setting integer range. 
2138                                 'list' => Array ('[value1/default]','[value2]','[value3]')              Attribute must be in this list. If not, the value is set to the first element.
2139                                 'removeIfFalse' =>      Boolean/'blank'.        If set, then the attribute is removed if it is 'false'. If this value is set to 'blank' then the value must be a blank string (that means a 'zero' value will not be removed)
2140                                 'removeIfEquals' =>     [value] If the attribute value matches the value set here, then it is removed.
2141                                 'casesensitiveComp' => 1        If set, then the removeIfEquals and list comparisons will be case sensitive. Otherwise not.
2142                         )
2143                 ),
2144                 'protect' => '',        Boolean. If set, the tag <> is converted to &lt; and &gt;
2145                 'remap' => '',          String. If set, the tagname is remapped to this tagname
2146                 'rmTagIfNoAttrib' => '',        Boolean. If set, then the tag is removed if no attributes happend to be there.
2147                 'nesting' => '',        Boolean/'global'. If set true, then this tag must have starting and ending tags in the correct order. Any tags not in this order will be discarded. Thus '</B><B><I></B></I></B>' will be converted to '<B><I></B></I>'. Is the value 'global' then true nesting in relation to other tags marked for 'global' nesting control is preserved. This means that if <B> and <I> are set for global nesting then this string '</B><B><I></B></I></B>' is converted to '<B></B>'
2148         )
2149 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:86:"$content; is the HTML-content being processed. This is also the result being returned.";}i:1;a:2:{i:0;s:5:"array";i:1;s:196:"$tags; is an array where each key is a tagname in lowercase. Only tags present as keys in this array are preserved. The value of the key can be an array with a vast number of options to configure.";}i:2;a:2:{i:0;s:6:"string";i:1;s:188:"$keepAll; boolean/'protect', if set, then all tags are kept regardless of tags present as keys in $tags-array. If 'protect' then the preserved tags have their <> converted to &lt; and &gt;";}i:3;a:2:{i:0;s:7:"integer";i:1;s:107:"$hSC; Values -1,0,1: Set to zero= disabled, set to 1 then the content BETWEEN tags is htmlspecialchar()'ed.";}i:4;a:2:{i:0;s:5:"array";i:1;s:103:"Configuration array send along as $conf to the internal functions ->processContent() and ->processTag()";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Processed HTML content";}}s:7:"content";s:0:"";s:12:"content_size";i:6764;s:13:"content_lines";i:162;s:6:"atLine";i:445;}i:23;a:7:{s:6:"header";s:44:"function get_tag_attributes($tag,$deHSC=0) {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:197:"
2150
2151 Returns an array with all attributes as keys. Attributes are only lowercase a-z
2152 If a attribute is empty (shorthand), then the value for the key is empty. You can check if it existed with isset()
2153 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:114:"Tag: $tag is either a whole tag (eg '<TAG OPTION ATTRIB=VALUE>') or the parameterlist (ex ' OPTION ATTRIB=VALUE>')";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:86:"If set, the attribute values are de-htmlspecialchar'ed. Should actually always be set!";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:41:"array(Tag attributes,Attribute meta-data)";}}s:7:"content";s:0:"";s:12:"content_size";i:1077;s:13:"content_lines";i:32;s:6:"atLine";i:616;}i:25;a:7:{s:6:"header";s:37:"function split_tag_attributes($tag)     {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:6:{s:4:"text";s:145:"
2154
2155 Returns an array with the 'components' from an attribute list. The result is normally analyzed by get_tag_attributes
2156 Removes tag-name if found
2157 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"The tag or attributes";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:38:"@see t3lib_div::split_tag_attributes()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:34:"t3lib_div::split_tag_attributes() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:983;s:13:"content_lines";i:29;s:6:"atLine";i:658;}i:27;a:7:{s:6:"header";s:46:"function bidir_htmlspecialchars($value,$dir)    {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:61:"
2158
2159 Converts htmlspecialchars forth ($dir=1) AND back ($dir=0)
2160 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Input value";}i:1;a:2:{i:0;s:7:"integer";i:1;s:43:"Direction: forth ($dir=1) AND back ($dir=0)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"Output value";}}s:7:"content";s:0:"";s:12:"content_size";i:281;s:13:"content_lines";i:11;s:6:"atLine";i:695;}i:29;a:7:{s:6:"header";s:74:"function prefixResourcePath($main_prefix,$content,$alternatives=array())        {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:187:"
2161
2162 Prefixes the relative paths of hrefs/src/action in the tags [td,table,body,img,input,form,link,script,a] in the $content with the $main_prefix or and alternative given by $alternatives
2163 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Prefix string";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}i:2;a:2:{i:0;s:5:"array";i:1;s:127:"Array with alternative prefixes for certain of the tags. key=>value pairs where the keys are the tag element names in uppercase";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Processed HTML content";}}s:7:"content";s:0:"";s:12:"content_size";i:1814;s:13:"content_lines";i:59;s:6:"atLine";i:715;}i:31;a:7:{s:6:"header";s:41:"function prefixRelPath($prefix,$srcVal)      {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:51:"
2164
2165 Internal sub-function for ->prefixResourcePath()
2166 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Prefix string";}i:1;a:2:{i:0;s:6:"string";i:1;s:17:"Relative path/URL";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:50:"Output path, prefixed if no scheme in input string";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:137;s:13:"content_lines";i:7;s:6:"atLine";i:783;}i:33;a:7:{s:6:"header";s:69:"function cleanFontTags($value,$keepFace=0,$keepSize=0,$keepColor=0)      {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:143:"
2167
2168 Cleans up the input $value for fonttags. 
2169 If keepFace,-Size and -Color is set then font-tags with an allowed property is kept. Else deleted.
2170 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:47:"HTML content with font-tags inside to clean up.";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:29:"If set, keep "face" attribute";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:29:"If set, keep "size" attribute";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:30:"If set, keep "color" attribute";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Processed HTML content";}}s:7:"content";s:0:"";s:12:"content_size";i:963;s:13:"content_lines";i:21;s:6:"atLine";i:801;}i:35;a:7:{s:6:"header";s:65:"function mapTags($value,$tags=array(),$ltChar='<',$ltChar2='<')      {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:58:"
2171
2172 This is used to map certain tag-names into other names.
2173 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}i:1;a:2:{i:0;s:5:"array";i:1;s:73:"Array with tag key=>value pairs where key is from-tag and value is to-tag";}i:2;a:2:{i:0;s:6:"string";i:1;s:62:"Alternative less-than char to search for (search regex string)";}i:3;a:2:{i:0;s:6:"string";i:1;s:65:"Alternative less-than char to replace with (replace regex string)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Processed HTML content";}}s:7:"content";s:0:"";s:12:"content_size";i:309;s:13:"content_lines";i:9;s:6:"atLine";i:832;}i:37;a:7:{s:6:"header";s:46:"function unprotectTags($content,$tagList='') {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:3:{s:4:"text";s:156:"
2174
2175 This converts htmlspecialchar()'ed tags (from $tagList) back to real tags. Eg. '&lt;strong&gt' would be converted back to '<strong>' if found in $tagList
2176 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}i:1;a:2:{i:0;s:6:"string";i:1;s:40:"Tag list, separated by comma. Lowercase!";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Processed HTML content";}}s:7:"content";s:0:"";s:12:"content_size";i:868;s:13:"content_lines";i:23;s:6:"atLine";i:849;}i:39;a:7:{s:6:"header";s:43:"function stripTagsExcept($value,$tagList)        {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:93:"
2177
2178 Strips tags except the tags in the list, $tagList
2179 OBSOLETE - use PHP function strip_tags()
2180 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Value to process";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"List of tags";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"Output value";}s:6:"ignore";i:1;}s:7:"content";s:0:"";s:12:"content_size";i:362;s:13:"content_lines";i:13;s:6:"atLine";i:882;}i:41;a:7:{s:6:"header";s:45:"function caseShift($str,$flag,$cacheKey='')       {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:65:"
2181
2182 Internal function for case shifting of a string or whole array
2183 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:18:"Input string/array";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:81:"If $str is a string AND this boolean is true, the string is returned in uppercase";}i:2;a:2:{i:0;s:6:"string";i:1;s:138:"Key string used for internal caching of the results. Could be an MD5 hash of the serialized version of the input $str if that is an array.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:24:"Output string, processed";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:372;s:13:"content_lines";i:14;s:6:"atLine";i:905;}i:43;a:7:{s:6:"header";s:69:"function compileTagAttribs($tagAttrib,$meta=array(), $xhtmlClean=0)        {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:55:"
2184
2185 Compiling an array with tag attributes into a string
2186 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:14:"Tag attributes";}i:1;a:2:{i:0;s:5:"array";i:1;s:66:"Meta information about these attributes (like if they were quoted)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:132:"If set, then the attribute names will be set in lower case, value quotes in double-quotes and the value will be htmlspecialchar()'ed";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:61:"Imploded attributes, eg: 'attribute="value" attrib2="value2"'";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:545;s:13:"content_lines";i:20;s:6:"atLine";i:929;}i:45;a:7:{s:6:"header";s:52:"function get_tag_attributes_classic($tag,$deHSC=0)      {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:72:"
2187
2188 Get tag attributes, the classic version (which had some limitations?)
2189 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:7:"The tag";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:24:"De-htmlspecialchar flag.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:99;s:13:"content_lines";i:4;s:6:"atLine";i:958;}i:47;a:7:{s:6:"header";s:56:"function HTMLparserConfig($TSconfig,$keepTags=array())       {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:64:"
2190
2191 Converts TSconfig into an array for the HTMLcleaner function.
2192 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:24:"TSconfig for HTMLcleaner";}i:1;a:2:{i:0;s:5:"array";i:1;s:25:"Array of tags to keep (?)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:3455;s:13:"content_lines";i:87;s:6:"atLine";i:971;}i:49;a:7:{s:6:"header";s:32:"function XHTML_clean($content)    {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:1291:"
2193
2194 Tries to convert the content to be XHTML compliant and other stuff like that.
2195 STILL EXPERIMENTAL. See comments below.
2196
2197                         What it does NOT do (yet) according to XHTML specs.:
2198                         - Wellformedness: Nesting is NOT checked
2199                         - name/id attribute issue is not observed at this point.
2200                         - Certain nesting of elements not allowed. Most interesting, <PRE> cannot contain img, big,small,sub,sup ...
2201                         - Wrapping scripts and style element contents in CDATA - or alternatively they should have entitites converted.
2202                         - Setting charsets may put some special requirements on both XML declaration/ meta-http-equiv. (C.9)
2203                         - UTF-8 encoding is in fact expected by XML!!
2204                         - stylesheet element and attribute names are NOT converted to lowercase
2205                         - ampersands (and entities in general I think) MUST be converted to an entity reference! (&amps;). This may mean further conversion of non-tag content before output to page. May be related to the charset issue as a whole.
2206                         - Minimized values not allowed: Must do this: selected="selected"
2207                         
2208                         What it does at this point:
2209                         - All tags (frame,base,meta,link + img,br,hr,area,input) is ended with "/>" - others?
2210                         - Lowercase for elements and attributes
2211                         - All attributes in quotes
2212                         - Add "alt" attribute to img-tags if it's not there already.
2213 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"Content to clean up";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"Cleaned up content returned.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:264;s:13:"content_lines";i:11;s:6:"atLine";i:1084;}i:51;a:4:{s:6:"header";s:56:"function processTag($value,$conf,$endTag,$protected=0) {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:67:"
2214
2215 Processing all tags themselves
2216 (Some additions by Sacha Vorbeck)
2217 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Tag to process";}i:1;a:2:{i:0;s:5:"array";i:1;s:139:"Configuration array passing instructions for processing. If count()==0, function will return value unprocessed. See source code for details";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:25:"Is endtag, then set this.";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:39:"If set, just return value straight away";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Processed value.";}s:6:"access";s:7:"private";}s:6:"atLine";i:1107;}i:53;a:7:{s:6:"header";s:44:"function processContent($value,$dir,$conf)     {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:4:{s:4:"text";s:51:"
2218
2219 Processing content between tags for HTML_cleaner
2220 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"The value";}i:1;a:2:{i:0;s:7:"integer";i:1;s:68:"Direction, either -1 or +1. 0 (zero) means no change to input value.";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:17:"Not used, ignore.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"The processed value.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:293;s:13:"content_lines";i:10;s:6:"atLine";i:1154;}}}s:14:"MD5_40167d8489";a:4:{s:8:"filename";s:30:"class.t3lib_parsehtml_proc.php";s:8:"filesize";i:54670;s:6:"header";a:5:{s:4:"text";s:81:"
2221
2222 Class for parsing HTML for the Rich Text Editor. (also called transformations)
2223 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:28:{i:1;a:8:{s:6:"header";s:52:"class t3lib_parsehtml_proc extends t3lib_parsehtml {";s:5:"class";i:1;s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:81:"
2224
2225 Class for parsing HTML for the Rich Text Editor. (also called transformations)
2226 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:931;s:13:"content_lines";i:27;s:6:"atLine";i:100;}i:3;a:7:{s:6:"header";s:36:"function init($elRef='',$recPid=0)     {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:55:"
2227
2228 Initialize, setting element reference and record PID
2229 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:43:"Element reference, eg "tt_content:bodytext"";}i:1;a:2:{i:0;s:7:"integer";i:1;s:27:"PID of the record (page id)";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:53;s:13:"content_lines";i:4;s:6:"atLine";i:135;}i:5;a:7:{s:6:"header";s:28:"function setRelPath($path)        {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:184:"
2230
2231 Setting the ->relPath and ->relBackPath to proper values so absolute references to links and images can be converted to relative dittos.
2232 This is used when editing files with the RTE
2233 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:101:"The relative path from PATH_site to the place where the file being edited is. Eg. "fileadmin/static".";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:191:"There is no output, it is set in internal variables. With the above example of "fileadmin/static" as input this will yield ->relPath to be "fileadmin/static/" and ->relBackPath to be "../../"";}}s:7:"content";s:0:"";s:12:"content_size";i:319;s:13:"content_lines";i:14;s:6:"atLine";i:147;}i:7;a:7:{s:6:"header";s:46:"function evalWriteFile($pArr,$currentRecord)   {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:203:"
2234
2235 Evaluate the environment for editing a staticFileEdit file.
2236 Called for almost all fields being saved in the database. Is called without an instance of the object: t3lib_parsehtml_proc::evalWriteFile()
2237 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:57:"Parameters for the current field as found in types-config";}i:1;a:2:{i:0;s:5:"array";i:1;s:30:"Current record we are editing.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:98:"On success an array with various information is returned, otherwise a string with an error message";}s:5:"other";a:1:{i:0;s:38:"@see t3lib_TCEmain, t3lib_transferData";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:33:"t3lib_TCEmain, t3lib_transferData";}}}s:7:"content";s:0:"";s:12:"content_size";i:1337;s:13:"content_lines";i:46;s:6:"atLine";i:171;}i:9;a:8:{s:6:"header";s:79:"function RTE_transform($value,$specConf,$direction='rte',$thisConfig=array())     {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:11:"sectionText";a:1:{i:0;s:13:"Main function";}s:4:"cDat";a:5:{s:4:"text";s:165:"
2238
2239 Tranform value for RTE based on specConf in the direction specified by $direction (rte/db)
2240 This is the main function called from tcemain and transfer data classes
2241 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Input value";}i:1;a:2:{i:0;s:5:"array";i:1;s:256:"Special configuration for a field; This is coming from the types-configuration of the field in the TCA. In the types-configuration you can setup features for the field rendering and in particular the RTE takes al its major configuration options from there!";}i:2;a:2:{i:0;s:6:"string";i:1;s:310:"Direction of the transformation. Two keywords are allowed; "db" or "rte". If "db" it means the transformation will clean up content coming from the Rich Text Editor and goes into the database. The other direction, "rte", is of course when content is coming from database and must be transformed to fit the RTE.";}i:3;a:2:{i:0;s:5:"array";i:1;s:82:"Parsed TypoScript content configuring the RTE, probably coming from Page TSconfig.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"Output value";}s:5:"other";a:1:{i:0;s:84:"@see t3lib_TCEmain::fillInFieldArray(), t3lib_transferData::renderRecord_typesProc()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:79:"t3lib_TCEmain::fillInFieldArray(), t3lib_transferData::renderRecord_typesProc()";}}}s:7:"content";s:0:"";s:12:"content_size";i:4298;s:13:"content_lines";i:135;s:6:"atLine";i:229;}i:11;a:8:{s:6:"header";s:31:"function TS_images_db($value)        {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:11:"sectionText";a:1:{i:0;s:37:"Specific RTE TRANSFORMATION functions";}s:4:"cDat";a:3:{s:4:"text";s:456:"
2242
2243 Transformation handler: 'ts_images' / direction: "db"
2244 Processing images inserted in the RTE.
2245 This is used when content goes from the RTE to the database. 
2246 Images inserted in the RTE has an absolute URL applied to the src attribute. This URL is converted to a relative URL
2247 If it turns out that the URL is from another website than the current the image is read from that external URL and moved to the local server.
2248 Also "magic" images are processed here.
2249 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The content from RTE going to Database";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed content";}}s:7:"content";s:0:"";s:12:"content_size";i:3924;s:13:"content_lines";i:92;s:6:"atLine";i:376;}i:13;a:7:{s:6:"header";s:32:"function TS_images_rte($value)    {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:186:"
2250
2251 Transformation handler: 'ts_images' / direction: "rte"
2252 Processing images from database content going into the RTE.
2253 Processing includes converting the src attribute to an absolute URL.
2254 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}}s:7:"content";s:0:"";s:12:"content_size";i:806;s:13:"content_lines";i:25;s:6:"atLine";i:477;}i:15;a:7:{s:6:"header";s:42:"function TS_reglinks($value,$direction)                {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:134:"
2255
2256 Transformation handler: 'ts_reglinks' / direction: "db"+"rte" depending on $direction variable.
2257 Converting <A>-tags to/from abs/rel
2258 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}i:1;a:2:{i:0;s:6:"string";i:1;s:84:"Direction of conversion; "rte" (from database to RTE) or "db" (from RTE to database)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}}s:7:"content";s:0:"";s:12:"content_size";i:865;s:13:"content_lines";i:25;s:6:"atLine";i:511;}i:17;a:7:{s:6:"header";s:30:"function TS_links_db($value)        {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:90:"
2259
2260 Transformation handler: 'ts_links' / direction: "db"
2261 Converting <A>-tags to <LINK tags>
2262 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}s:5:"other";a:1:{i:0;s:19:"@see TS_links_rte()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"TS_links_rte() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1690;s:13:"content_lines";i:35;s:6:"atLine";i:545;}i:19;a:7:{s:6:"header";s:31:"function TS_links_rte($value)   {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:91:"
2263
2264 Transformation handler: 'ts_links' / direction: "rte"
2265 Converting <LINK tags> to <A>-tags
2266 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}s:5:"other";a:1:{i:0;s:19:"@see TS_links_rte()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"TS_links_rte() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3202;s:13:"content_lines";i:68;s:6:"atLine";i:589;}i:21;a:7:{s:6:"header";s:33:"function TS_preserve_db($value) {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:24:"
2267
2268 Preserve special tags
2269 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}}s:7:"content";s:0:"";s:12:"content_size";i:618;s:13:"content_lines";i:17;s:6:"atLine";i:664;}i:23;a:7:{s:6:"header";s:34:"function TS_preserve_rte($value)       {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:24:"
2270
2271 Preserve special tags
2272 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}}s:7:"content";s:0:"";s:12:"content_size";i:365;s:13:"content_lines";i:11;s:6:"atLine";i:688;}i:25;a:7:{s:6:"header";s:45:"function TS_transform_db($value,$css=FALSE)    {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:128:"
2273
2274 Transformation handler: 'ts_transform' + 'css_transform' / direction: "db"
2275 Cleaning (->db) for standard content elements (ts)
2276 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:73:"If true, the transformation was "css_transform", otherwise "ts_transform"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}s:5:"other";a:1:{i:0;s:23:"@see TS_transform_rte()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"TS_transform_rte() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3506;s:13:"content_lines";i:80;s:6:"atLine";i:709;}i:27;a:7:{s:6:"header";s:42:"function TS_transform_rte($value,$css=0)       {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:125:"
2277
2278 Transformation handler: 'ts_transform' + 'css_transform' / direction: "rte"
2279 Set (->rte) for standard content elements (ts)
2280 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:73:"If true, the transformation was "css_transform", otherwise "ts_transform"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}s:5:"other";a:1:{i:0;s:22:"@see TS_transform_db()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"TS_transform_db() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2709;s:13:"content_lines";i:56;s:6:"atLine";i:799;}i:29;a:7:{s:6:"header";s:30:"function TS_strip_db($value)     {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:85:"
2281
2282 Transformation handler: 'ts_strip' / direction: "db"
2283 Removing all non-allowed tags
2284 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}}s:7:"content";s:0:"";s:12:"content_size";i:398;s:13:"content_lines";i:23;s:6:"atLine";i:863;}i:31;a:8:{s:6:"header";s:23:"function getURL($url)  {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:11:"sectionText";a:1:{i:0;s:57:"Generic RTE transformation, analysis and helper functions";}s:4:"cDat";a:5:{s:4:"text";s:53:"
2285
2286 Reads the file or url $url and returns the content
2287 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"Filepath/URL to read";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:45:"The content from the resource given as input.";}s:5:"other";a:1:{i:0;s:24:"@see t3lib_div::getURL()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"t3lib_div::getURL() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:39;s:13:"content_lines";i:3;s:6:"atLine";i:894;}i:33;a:7:{s:6:"header";s:47:"function HTMLcleaner_db($content,$tagList='')      {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:288:"
2288
2289 Function for cleaning content going into the database. 
2290 Content is cleaned eg. by removing unallowed HTML and ds-HSC content
2291 It is basically calling HTMLcleaner from the parent class with some preset configuration specifically set up for cleaning content going from the RTE into the db
2292 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"Content to clean up";}i:1;a:2:{i:0;s:6:"string";i:1;s:82:"Comma list of tags to specifically allow. Default comes from getKeepTags and is """;}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Clean content";}s:5:"other";a:1:{i:0;s:18:"@see getKeepTags()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"getKeepTags() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:428;s:13:"content_lines";i:11;s:6:"atLine";i:908;}i:35;a:7:{s:6:"header";s:52:"function getKeepTags($direction='rte',$tagList='')   {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:313:"
2293
2294 Creates an array of configuration for the HTMLcleaner function based on whether content go TO or FROM the Rich Text Editor ($direction)
2295 Unless "tagList" is given, the function will cache the configuration for next time processing goes on. (In this class that is the case only if we are processing a bulletlist)
2296 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:164:"The direction of the content being processed by the output configuration; "db" (content going into the database FROM the rte) or "rte" (content going into the form)";}i:1;a:2:{i:0;s:6:"string";i:1;s:108:"Comma list of tags to keep (overriding default which is to keep all + take notice of internal configuration)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:19:"Configuration array";}s:5:"other";a:1:{i:0;s:21:"@see HTMLcleaner_db()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:17:"HTMLcleaner_db() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3778;s:13:"content_lines";i:96;s:6:"atLine";i:929;}i:37;a:7:{s:6:"header";s:62:"function divideIntoLines($value,$count=5,$returnArray=FALSE)        {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:354:"
2297
2298 This resolves the $value into parts based on <div></div>-sections and <P>-sections and <BR>-tags. These are returned as lines separated by chr(10).
2299 This point is to resolve the HTML-code returned from RTE into ordinary lines so it's 'human-readable'
2300 The function ->setDivTags does the opposite.
2301 This function processes content to go into the database.
2302 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"Value to process.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:130:"Recursion brake. Decremented on each recursion down to zero. Default is 5 (which equals the allowed nesting levels of p/div tags).";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:94:"If true, an array with the lines is returned, otherwise a string of the processed input value.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Processed input value.";}s:5:"other";a:1:{i:0;s:17:"@see setDivTags()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"setDivTags() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:4318;s:13:"content_lines";i:94;s:6:"atLine";i:1038;}i:39;a:7:{s:6:"header";s:37:"function setDivTags($value,$dT='p')   {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:152:"
2303
2304 Converts all lines into <div></div>/<p></p>-sections (unless the line is a div-section already)
2305 For processing of content going FROM database TO RTE.
2306 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Value to convert";}i:1;a:2:{i:0;s:6:"string";i:1;s:73:"Tag to wrap with. Either "p" or "div" should it be. Lowercase preferably.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Processed value.";}s:5:"other";a:1:{i:0;s:22:"@see divideIntoLines()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"divideIntoLines() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1389;s:13:"content_lines";i:33;s:6:"atLine";i:1142;}i:41;a:7:{s:6:"header";s:38:"function internalizeFontTags($value)        {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:504:"
2307
2308 This splits the $value in font-tag chunks. 
2309 If there are any <P>/<DIV> sections inside of them, the font-tag is wrapped AROUND the content INSIDE of the P/DIV sections and the outer font-tag is removed.
2310 This functions seems to be a good choice for pre-processing content if it has been pasted into the RTE from eg. star-office. 
2311 In that case the font-tags are normally on the OUTSIDE of the sections.
2312 This function is used by eg. divideIntoLines() if the procesing option 'internalizeFontTags' is set.
2313 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Input content";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Output content";}s:5:"other";a:1:{i:0;s:22:"@see divideIntoLines()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"divideIntoLines() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1011;s:13:"content_lines";i:29;s:6:"atLine";i:1187;}i:43;a:7:{s:6:"header";s:20:"function siteUrl()       {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:5:{s:4:"text";s:39:"
2314
2315 Returns SiteURL based on thisScript.
2316 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:49:"Value of t3lib_div::getIndpEnv('TYPO3_SITE_URL');";}s:5:"other";a:1:{i:0;s:28:"@see t3lib_div::getIndpEnv()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:24:"t3lib_div::getIndpEnv() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:55;s:13:"content_lines";i:3;s:6:"atLine";i:1223;}i:45;a:7:{s:6:"header";s:31:"function rteImageStorageDir()    {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:192:"
2317
2318 Return the storage folder of RTE image files.
2319 Default is $GLOBALS['TYPO3_CONF_VARS']['BE']['RTE_imageStorageDir'] unless something else is configured in the types configuration for the RTE.
2320 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:125;s:13:"content_lines";i:3;s:6:"atLine";i:1233;}i:47;a:7:{s:6:"header";s:51:"function removeTables($value,$breakChar='<br />') {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:251:"
2321
2322 Remove all tables from incoming code
2323 The function is trying to to this is some more or less respectfull way. The approach is to resolve each table cells content and implode it all by <br /> chars. Thus at least the content is preserved in some way.
2324 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Input value";}i:1;a:2:{i:0;s:6:"string";i:1;s:38:"Break character to use for linebreaks.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"Output value";}}s:7:"content";s:0:"";s:12:"content_size";i:582;s:13:"content_lines";i:24;s:6:"atLine";i:1245;}i:49;a:7:{s:6:"header";s:54:"function defaultTStagMapping($code,$direction='rte') {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:29:"
2325
2326 Default tag mapping for TS
2327 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Input code to process";}i:1;a:2:{i:0;s:6:"string";i:1;s:56:"Direction To databsae (db) or from database to RTE (rte)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:15:"Processed value";}}s:7:"content";s:0:"";s:12:"content_size";i:269;s:13:"content_lines";i:15;s:6:"atLine";i:1277;}i:51;a:7:{s:6:"header";s:41:"function getWHFromAttribs($attribArray)       {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:110:"
2328
2329 Finds width and height from attrib-array
2330 If the width and height is found in the style-attribute, use that!
2331 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:153:"Array of attributes from tag in which to search. More specifically the content of the key "style" is used to extract "width:xxx / height:xxx" information";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:54:"Integer w/h in key 0/1. Zero is returned if not found.";}}s:7:"content";s:0:"";s:12:"content_size";i:416;s:13:"content_lines";i:19;s:6:"atLine";i:1300;}i:53;a:4:{s:6:"header";s:35:"function urlInfoForLinkTags($url)  {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:70:"
2332
2333 Parse <A>-tag href and return status of email,external,file or page
2334 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:15:"URL to analyse.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:37:"Information in an array about the URL";}}s:6:"atLine";i:1326;}i:55;a:7:{s:6:"header";s:53:"function TS_AtagToAbs($value,$dontSetRTEKEEP=FALSE)    {";s:11:"parentClass";s:20:"t3lib_parsehtml_proc";s:4:"cDat";a:3:{s:4:"text";s:69:"
2335
2336 Converting <A>-tags to absolute URLs (+ setting rtekeep attribute)
2337 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Content input";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:54:"If true, then the "rtekeep" attribute will not be set.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Content output";}}s:7:"content";s:0:"";s:12:"content_size";i:976;s:13:"content_lines";i:25;s:6:"atLine";i:1385;}}}s:14:"MD5_8e8a083441";a:4:{s:8:"filename";s:27:"class.t3lib_positionmap.php";s:8:"filesize";i:19954;s:6:"header";a:5:{s:4:"text";s:182:"
2338
2339 Position map class - generating a page tree / content element list which links for inserting (copy/move) of records. 
2340 Used for pages / tt_content element wizards of various kinds.
2341 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:18:{i:1;a:8:{s:6:"header";s:25:"class t3lib_positionMap {";s:5:"class";i:1;s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:5:{s:4:"text";s:182:"
2342
2343 Position map class - generating a page tree / content element list which links for inserting (copy/move) of records. 
2344 Used for pages / tt_content element wizards of various kinds.
2345 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:783;s:13:"content_lines";i:36;s:6:"atLine";i:83;}i:3;a:8:{s:6:"header";s:59:"function positionTree($id,$pageinfo,$perms_clause,$R_URI)       {";s:11:"parentClass";s:17:"t3lib_positionMap";s:11:"sectionText";a:1:{i:0;s:18:"Page position map:";}s:4:"cDat";a:3:{s:4:"text";s:208:"
2346
2347 Creates a "position tree" based on the page tree.
2348 Notice: A class, "localPageTree" must exist and probably it is an extension class of the t3lib_pageTree class. See "db_new.php" in the core for an example.
2349 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:7:"integer";i:1;s:15:"Current page id";}i:1;a:2:{i:0;s:5:"array";i:1;s:20:"Current page record.";}i:2;a:2:{i:0;s:6:"string";i:1;s:33:"Page selection permission clause.";}i:3;a:2:{i:0;s:6:"string";i:1;s:19:"Current REQUEST_URI";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:23:"HTML code for the tree.";}}s:7:"content";s:0:"";s:12:"content_size";i:5850;s:13:"content_lines";i:107;s:6:"atLine";i:130;}i:5;a:7:{s:6:"header";s:32:"function JSimgFunc($prefix='')        {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:62:"
2350
2351 Creates the JavaScritp for insert new-record rollover image
2352 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"Insert record image prefix.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"<script> section";}}s:7:"content";s:0:"";s:12:"content_size";i:635;s:13:"content_lines";i:21;s:6:"atLine";i:244;}i:7;a:7:{s:6:"header";s:38:"function boldTitle($t_code,$dat,$id)    {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:51:"
2353
2354 Wrap $t_code in bold IF the $dat uid matches $id
2355 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Title string";}i:1;a:2:{i:0;s:5:"array";i:1;s:42:"Infomation array with record array inside.";}i:2;a:2:{i:0;s:7:"integer";i:1;s:15:"The current id.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"The title string.";}}s:7:"content";s:0:"";s:12:"content_size";i:103;s:13:"content_lines";i:6;s:6:"atLine";i:274;}i:9;a:7:{s:6:"header";s:41:"function onClickEvent($pid,$newPagePID) {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:50:"
2356
2357 Creates the onclick event for the insert-icons.
2358 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:8:"The pid.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:12:"New page id.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Onclick attribute content";}}s:7:"content";s:0:"";s:12:"content_size";i:428;s:13:"content_lines";i:13;s:6:"atLine";i:288;}i:11;a:7:{s:6:"header";s:24:"function insertlabel()       {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:35:"
2359
2360 Get label, htmlspecialchars()'ed
2361 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:46:"The localized label for "insert new page here"";}}s:7:"content";s:0:"";s:12:"content_size";i:74;s:13:"content_lines";i:4;s:6:"atLine";i:307;}i:13;a:7:{s:6:"header";s:35:"function linkPageTitle($str,$rec)    {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:23:"
2362
2363 Wrapping page title.
2364 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Page title.";}i:1;a:2:{i:0;s:5:"array";i:1;s:15:"Page record (?)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Wrapped title.";}}s:7:"content";s:0:"";s:12:"content_size";i:20;s:13:"content_lines";i:3;s:6:"atLine";i:319;}i:15;a:7:{s:6:"header";s:34:"function checkNewPageInPid($pid)      {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:211:"
2365
2366 Checks if the user has permission to created pages inside of the $pid page.
2367 Uses caching so only one regular lookup is made - hence you can call the function multiple times without worrying about performance.
2368 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:26:"Page id for which to test.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:273;s:13:"content_lines";i:8;s:6:"atLine";i:330;}i:17;a:7:{s:6:"header";s:29:"function getModConfig($pid)     {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:5:{s:4:"text";s:42:"
2369
2370 Returns module configuration for a pid.
2371 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:50:"Page id for which to get the module configuration.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:59:"The properties of teh module configuration for the page id.";}s:5:"other";a:1:{i:0;s:19:"@see onClickEvent()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"onClickEvent() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:263;s:13:"content_lines";i:8;s:6:"atLine";i:346;}i:19;a:7:{s:6:"header";s:46:"function insertQuadLines($codes,$allBlank=0)    {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:26:"
2372
2373 Insert half/quad lines.
2374 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:35:"keywords for which lines to insert.";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:43:"If true all lines are just blank clear.gifs";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"HTML content.";}}s:7:"content";s:0:"";s:12:"content_size";i:553;s:13:"content_lines";i:27;s:6:"atLine";i:362;}i:21;a:8:{s:6:"header";s:83:"function printContentElementColumns($pid,$moveUid,$colPosList,$showHidden,$R_URI)      {";s:11:"parentClass";s:17:"t3lib_positionMap";s:11:"sectionText";a:1:{i:0;s:28:"Content element positioning:";}s:4:"cDat";a:3:{s:4:"text";s:54:"
2375
2376 Creates HTML for inserting/moving content elements.
2377 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:7:"integer";i:1;s:45:"page id onto which to insert content element.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:34:"Move-uid (tt_content element uid?)";}i:2;a:2:{i:0;s:6:"string";i:1;s:23:"List of columns to show";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:67:"If not set, then hidden/starttime/endtime records are filtered out.";}i:4;a:2:{i:0;s:6:"string";i:1;s:11:"Request URI";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:4:"HTML";}}s:7:"content";s:0:"";s:12:"content_size";i:900;s:13:"content_lines";i:24;s:6:"atLine";i:400;}i:23;a:7:{s:6:"header";s:46:"function printRecordMap($lines,$colPosArray)        {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:45:"
2378
2379 Creates the table with the content columns
2380 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:42:"Array with arrays of lines for each column";}i:1;a:2:{i:0;s:5:"array";i:1;s:21:"Column position array";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:4:"HTML";}}s:7:"content";s:0:"";s:12:"content_size";i:773;s:13:"content_lines";i:29;s:6:"atLine";i:432;}i:25;a:7:{s:6:"header";s:37:"function wrapColumnHeader($str,$vv)        {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:5:{s:4:"text";s:29:"
2381
2382 Wrapping the column header
2383 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Header value";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"Column info.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:21:"@see printRecordMap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:17:"printRecordMap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:20;s:13:"content_lines";i:3;s:6:"atLine";i:470;}i:27;a:7:{s:6:"header";s:57:"function insertPositionIcon($row,$vv,$kk,$moveUid,$pid)     {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:34:"
2384
2385 Creates a linked position icon.
2386 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:12:"Element row.";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"Column position value.";}i:2;a:2:{i:0;s:7:"integer";i:1;s:11:"Column key.";}i:3;a:2:{i:0;s:7:"integer";i:1;s:8:"Move uid";}i:4;a:2:{i:0;s:7:"integer";i:1;s:10:"PID value.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:576;s:13:"content_lines";i:6;s:6:"atLine";i:484;}i:29;a:7:{s:6:"header";s:66:"function onClickInsertRecord($row,$vv,$moveUid,$pid,$sys_lang=0) {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:31:"
2387
2388 Create on-click event value.
2389 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"The record.";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"Column position value.";}i:2;a:2:{i:0;s:7:"integer";i:1;s:8:"Move uid";}i:3;a:2:{i:0;s:7:"integer";i:1;s:10:"PID value.";}i:4;a:2:{i:0;s:7:"integer";i:1;s:36:"System language (not used currently)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:647;s:13:"content_lines";i:12;s:6:"atLine";i:501;}i:31;a:7:{s:6:"header";s:38:"function wrapRecordHeader($str,$row)   {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:55:"
2390
2391 Wrapping the record header  (from getRecordHeader())
2392 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}i:1;a:2:{i:0;s:5:"array";i:1;s:13:"Record array.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}}s:7:"content";s:0:"";s:12:"content_size";i:20;s:13:"content_lines";i:3;s:6:"atLine";i:521;}i:33;a:4:{s:6:"header";s:32:"function getRecordHeader($row)   {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:69:"
2393
2394 Create record header (includes teh record icon, record title etc.)
2395 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"Record row.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:4:"HTML";}}s:6:"atLine";i:531;}i:35;a:7:{s:6:"header";s:37:"function wrapRecordTitle($str,$row)   {";s:11:"parentClass";s:17:"t3lib_positionMap";s:4:"cDat";a:3:{s:4:"text";s:36:"
2396
2397 Wrapping the title of the record.
2398 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"The title value.";}i:1;a:2:{i:0;s:5:"array";i:1;s:15:"The record row.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"Wrapped title string.";}}s:7:"content";s:0:"";s:12:"content_size";i:343;s:13:"content_lines";i:8;s:6:"atLine";i:544;}}}s:14:"MD5_cf4b14a5db";a:4:{s:8:"filename";s:24:"class.t3lib_readmail.php";s:8:"filesize";i:17299;s:6:"header";a:5:{s:4:"text";s:133:"
2399
2400 Functions used to read email content
2401 The class is still just a bunch of miscellaneous functions used to read content out of emails
2402 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:3:"DAT";a:15:{i:1;a:8:{s:6:"header";s:22:"class t3lib_readmail {";s:5:"class";i:1;s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:5:{s:4:"text";s:133:"
2403
2404 Functions used to read email content
2405 The class is still just a bunch of miscellaneous functions used to read content out of emails
2406 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:3:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";i:1;s:14:"@package TYPO3";i:2;s:17:"@subpackage t3lib";}s:11:"other_index";a:3:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"t3lib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:370;s:13:"content_lines";i:27;s:6:"atLine";i:85;}i:3;a:8:{s:6:"header";s:38:"function find_MIDfromReturnPath($to)    {";s:11:"parentClass";s:14:"t3lib_readmail";s:11:"sectionText";a:1:{i:0;s:25:"FUNCTIONS for the Dmailer";}s:4:"cDat";a:5:{s:4:"text";s:144:"
2407
2408 Returns special TYPO3 Message ID (MID) from input TO header (the return address of the sent mail from Dmailer. Used by Dmailer, return mails)
2409 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"email address, return address string";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:53:"array with 'mid', 'rtbl' and 'rid' keys are returned.";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:276;s:13:"content_lines";i:12;s:6:"atLine";i:120;}i:5;a:7:{s:6:"header";s:35:"function find_XTypo3MID($content) {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:5:{s:4:"text";s:97:"
2410
2411 Returns special TYPO3 Message ID (MID) from input mail content (used by Dmailer, return mails)
2412 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Mail (header) content";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:130:"If "X-Typo3MID" header is found and integrity is OK, then an array with 'mid', 'rtbl' and 'rid' keys are returned. Otherwise void.";}s:5:"other";a:1:{i:0;s:9:"@internal";}s:11:"other_index";a:1:{s:9:"@internal";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:510;s:13:"content_lines";i:38;s:6:"atLine";i:140;}i:7;a:8:{s:6:"header";s:33:"function getMessage($mailParts)    {";s:11:"parentClass";s:14:"t3lib_readmail";s:11:"sectionText";a:1:{i:0;s:7:"General";}s:4:"cDat";a:3:{s:4:"text";s:181:"
2413
2414 Returns the text content of a mail which has previously been parsed by eg. extractMailHeader()
2415 Probably obsolete since the function fullParse() is more advanced and safer to use.
2416 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:31:"Output from extractMailHeader()";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"The content.";}}s:7:"content";s:0:"";s:12:"content_size";i:445;s:13:"content_lines";i:17;s:6:"atLine";i:186;}i:9;a:7:{s:6:"header";s:35:"function getTextContent($content)        {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:3:{s:4:"text";s:150:"
2417
2418 Returns the body part of a raw mail message (including headers)
2419 Probably obsolete since the function fullParse() is more advanced and safer to use.
2420 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Raw mail content";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:15:"Body of message";}}s:7:"content";s:0:"";s:12:"content_size";i:189;s:13:"content_lines";i:6;s:6:"atLine";i:211;}i:11;a:7:{s:6:"header";s:51:"function getMailBoundaryParts($boundary,$content)   {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:3:{s:4:"text";s:101:"
2421
2422 Splits the body of a mail into parts based on the boundary string given.
2423 Obsolete, use fullParse()
2424 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:42:"Boundary string used to split the content.";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"BODY section of a mail";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:31:"Parts of the mail based on this";}}s:7:"content";s:0:"";s:12:"content_size";i:219;s:13:"content_lines";i:11;s:6:"atLine";i:226;}i:13;a:7:{s:6:"header";s:25:"function getCType($str)      {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:4:{s:4:"text";s:60:"
2425
2426 Returns Content Type plus more.
2427 Obsolete, use fullParse()
2428 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:""ContentType" string with more";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:24:"parts in key/value pairs";}s:6:"ignore";i:1;}s:7:"content";s:0:"";s:12:"content_size";i:378;s:13:"content_lines";i:15;s:6:"atLine";i:246;}i:15;a:7:{s:6:"header";s:33:"function analyseReturnError($c)     {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:3:{s:4:"text";s:160:"
2429
2430 Analyses the return-mail content for the Dmailer module - used to find what reason there was for rejecting the mail
2431 Used by the Dmailer, but not exclusively.
2432 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"message body/text";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:95:"key/value pairs with analysis result. Eg. "reason", "content", "reason_text", "mailserver" etc.";}}s:7:"content";s:0:"";s:12:"content_size";i:1873;s:13:"content_lines";i:48;s:6:"atLine";i:269;}i:17;a:7:{s:6:"header";s:35:"function decodeHeaderString($str) {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:3:{s:4:"text";s:95:"
2433
2434 Decodes a header-string with the =?....?= syntax including base64/quoted-printable encoding.
2435 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:67:"A string (encoded or not) from a mail header, like sender name etc.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:57:"The input string, but with the parts in =?....?= decoded.";}}s:7:"content";s:0:"";s:12:"content_size";i:623;s:13:"content_lines";i:21;s:6:"atLine";i:324;}i:19;a:7:{s:6:"header";s:33:"function extractNameEmail($str)       {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:3:{s:4:"text";s:97:"
2436
2437 Extracts name/email parts from a header field (like 'To:' or 'From:' with name/email mixed up.
2438 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:55:"Value from a header field containing name/email values.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:72:"Array with the name and email in. Email is validated, otherwise not set.";}}s:7:"content";s:0:"";s:12:"content_size";i:497;s:13:"content_lines";i:22;s:6:"atLine";i:352;}i:21;a:7:{s:6:"header";s:46:"function getContentTypeData($contentTypeStr)        {";s:11:"parentClass";s:14:"t3lib_readmail";s:4:"cDat";a:3:{s:4:"text";s:94:"
2439