Fixed open_basedir issues with uploading of files in the whole core. Should work...
[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:100301;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:723;s:13:"content_lines";i:23;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:580;}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:610;}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:656;}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:679;}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:704;}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:729;}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:833;}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:849;}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:886;}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:937;}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:992;}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:1030;}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:1050;}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:1069;}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:1089;}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:1123;}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:1167;}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:1180;}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:1192;}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:1205;}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:1222;}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:1249;}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:1268;}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:1280;}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:1305;}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:1374;}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:1392;}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:1447;}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:1482;}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:1509;}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:1535;}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:1571;}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:1666;}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:1691;}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:1706;}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:1733;}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:1810;}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:1832;}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:1853;}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:1870;}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:1897;}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:1919;}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:1949;}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:1970;}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:1987;}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:2011;}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:2062;}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:2139;}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:2170;}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:2209;}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:2262;}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:2310;}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:2339;}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:2356;}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:2373;}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:2396;}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:2429;}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:2450;}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:2500;}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:2547;}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:2560;}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:2583;}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:2610;}}}s:14:"MD5_72d4b89844";a:4:{s:8:"filename";s:26:"class.t3lib_beuserauth.php";s:8:"filesize";i:12856;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:2966;s:13:"content_lines";i:67;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:149;}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:162;}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:1167;s:13:"content_lines";i:22;s:6:"atLine";i:182;}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:212;}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:247;}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:257;}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:270;}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:322;}}}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:32737;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:1002;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:25099;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:3243;s:13:"content_lines";i:121;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:139;s:13:"content_lines";i:7;s:6:"atLine";i:231;}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:248;}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:282;}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:323;}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:371;}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:404;}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:435;}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:476;}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:547;}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:591;}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:620;}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:660;}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:673;}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:687;}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:700;}}}s:14:"MD5_acda8cdddc";a:4:{s:8:"filename";s:20:"class.t3lib_diff.php";s:8:"filesize";i:7728;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:453;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:106004;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:105:{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:196;}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:218;}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:232;}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:250;}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:266;}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:282;}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:369;}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:397;}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:421;}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:470;}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:492;}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:506;}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:526;}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:920;s:13:"content_lines";i:35;s:6:"atLine";i:562;}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:609;}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:622;}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:641;}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:658;}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:672;}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:685;}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:697;}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:710;}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:747;}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:764;}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:785;}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:797;}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:810;}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:825;}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:840;}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:852;}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:865;}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:882;}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:918;}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:932;}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:954;}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:994;}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:1021;}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:1035;}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:1048;}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:58;s:13:"content_lines";i:3;s:6:"atLine";i:1062;}i:81;a:7:{s:6:"header";s:31:"function rawUrlEncodeFP($str)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:133:"
1199
1200 rawurlencode which preserves "/" chars
1201 Usefull when filepaths should keep the "/" chars, but have all other special chars encoded.
1202 ";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:58;s:13:"content_lines";i:3;s:6:"atLine";i:1073;}i:83;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:"
1203
1204 Checking syntax of input email address
1205
1206 Usage: 4
1207 ";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:1085;}i:85;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:"
1208
1209 Formats a string for output between <textarea>-tags
1210 All content outputted in a textarea form should be passed through this function
1211 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!
1212
1213 Usage: 30
1214 ";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:1100;}i:87;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:"
1215
1216 Check if an item exists in an array
1217 Please note that the order of parameters is reverse compared to the php4-function in_array()!!!
1218
1219 Usage: 3
1220 ";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:1132;}i:89;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:"
1221
1222 Explodes a $string delimited by $delim and passes each item in the array through intval().
1223 Corresponds to explode(), but with conversion to integers for all values.
1224
1225 Usage: 86
1226 ";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:1150;}i:91;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:"
1227
1228 Reverse explode which explodes the string counting from behind.
1229 Thus t3lib_div::revExplode(':','my:words:here',2) will return array('my:words','here')
1230
1231 Usage: 6
1232 ";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:1170;}i:93;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:"
1233
1234 Explodes a string and trims all values for whitespace in the ends.
1235 If $onlyNonEmptyValues is set, then all blank ('') values are removed.
1236
1237 Usage: 239
1238 ";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:1191;}i:95;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:"
1239
1240 Takes a one-dimensional array and returns an array where the values are unique
1241 The keys in the array are substituted with some md5-hashes
1242 If the value is trim(empty), the value is ignored.
1243 Values are trimmed
1244 (Depreciated, use PHP function array_unique instead)
1245 Usage: 2
1246 ";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:1216;}i:97;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:"
1247
1248 Removes the value $cmpValue from the $array if found there. Returns the modified array
1249
1250 Usage: 2
1251 ";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:1239;}i:99;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:"
1252
1253 Implodes a multidim-array into GET-parameters (eg. &param[key][key2]=value2&param[key][key3]=value3)
1254
1255 Usage: 24
1256 ";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:1268;}i:101;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:"
1257
1258 Returns an array with selected keys from incoming data.
1259 (Better read source code if you want to find out...)
1260 Usage: 3
1261 ";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:1296;}i:103;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:"
1262
1263 AddSlash array
1264 This function traverses a multidimentional array and adds slashes to the values.
1265 NOTE that the input array is and argument by reference.!!
1266 Twin-function to stripSlashesOnArray
1267
1268 Usage: 6
1269 ";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:1320;}i:105;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:"
1270
1271 StripSlash array
1272 This function traverses a multidimentional array and strips slashes to the values.
1273 NOTE that the input array is and argument by reference.!!
1274 Twin-function to addSlashesOnArray
1275
1276 Usage: 7
1277 ";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:1345;}i:107;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:"
1278
1279 Either slashes ($cmd=add) or strips ($cmd=strip) array $arr depending on $cmd
1280
1281 Usage: 6
1282 ";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:1368;}i:109;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:"
1283
1284 Merges two arrays recursively, overruling similar the values in the first array ($arr0) with the values of the second array ($arr1)
1285 In case of identical keys, ie. keeping the values of the second.
1286
1287 Usage: 26
1288 ";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:1385;}i:111;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:"
1289
1290 An array_merge function where the keys are NOT renumbered as they happen to be with the real php-array_merge function
1291
1292 Usage: 27
1293 ";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:1415;}i:113;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:"
1294
1295 Takes a row and returns a CSV string of the values with $delim (default is ,) and $quote (default is ") as separator chars.
1296
1297 Usage: 5
1298 ";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:1429;}i:115;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:"
1299
1300 $tag is either a whole tag (eg '<TAG OPTION ATTRIB=VALUE>') or the parameterlist (ex ' OPTION ATTRIB=VALUE>')
1301 Returns an array with all attributes as keys. Attributes are only lowercase a-z
1302 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()
1303
1304 Usage: 9
1305 ";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:1472;}i:117;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:"
1306
1307 Returns an array with the 'components' from an attribute list from an HTML tag. The result is normally analyzed by get_tag_attributes
1308 Removes tag-name if found
1309
1310 Usage: 1
1311 ";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:1510;}i:119;a:7:{s:6:"header";s:75:"function implodeParams($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE)   {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:107:"
1312
1313 Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
1314
1315 Usage: 10
1316 ";s:5:"param";a:3:{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!";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:90:"If true, don't check if values are blank. Default is to omit attributes with blank values.";}}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:389;s:13:"content_lines";i:16;s:6:"atLine";i:1545;}i:121;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:"
1317
1318 Wraps JavaScript code XHTML ready with <script>-tags
1319 Automatic re-identing of the JS code is done by using the first line as ident reference.
1320 This is nice for identing JS code with PHP code on the same level.
1321 ";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:1573;}i:123;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:"
1322
1323 Parses XML input into a PHP array with associative keys
1324 ";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:1602;}i:125;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:"
1325
1326 Converts a PHP array into an XML file.
1327 The XML output is optimized for readability since associative keys are used as fieldnames. 
1328 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!)
1329 Numeric keys are converted to "n"+int (which means you should not use this kind of associative key otherwise)
1330 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
1331 The PHP variable type of the data is NOT preserved; integers will become strings, but arrays will stay arrays of course.
1332 The output XML has been tested with the PHP XML-parser and parses OK under all tested circumstances.
1333 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...
1334 ";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:1685;}i:127;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:"
1335
1336 Converts an XML file to a PHP array.
1337 This is the inverse function of array2xml()
1338 ";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:1743;}i:129;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:"
1339
1340 This implodes an array of XML parts (made with xml_parse_into_struct()) into XML again.
1341 ";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:1802;}i:131;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:"
1342
1343 Extract the encoding scheme as found in the first line of an XML document (typically)
1344 ";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:1845;}i:133;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:"
1345
1346 Reads the file or url $url and returns the content
1347 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.
1348
1349 Usage: 79
1350 ";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:1878;}i:135;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:"
1351
1352 Writes $content to the file $file
1353
1354 Usage: 31
1355 ";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:1921;}i:137;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:"
1356
1357 Returns an array with the names of folders in a specific path
1358 Will return 'error' (string) if there were an error with reading directory content.
1359
1360 Usage: 13
1361 ";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:1942;}i:139;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:"
1362
1363 Returns an array with the names of files in a specific path
1364
1365 Usage: 17
1366 ";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:1968;}i:141;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:"
1367
1368 Recursively gather all files and folders of a path.
1369 ";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:2013;}i:143;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:"
1370
1371 Removes the absolute part of all files/folders in fileArr
1372 ";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:2035;}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:2053;}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:2063;}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:2091;}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:2131;}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:2148;}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:2176;}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:2192;}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:2261;}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:2278;}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:2300;}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:2320;}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:2534;}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:2569;}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:2581;}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:2593;}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:2611;}i:177;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:"
1461
1462 Moves $source file to $destination if uploaded, otherwise try to make a copy
1463 Usage: 3
1464 ";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:2:{i:0;s:46:"@coauthor     Dennis Petersen <fessor@software.dk>";i:1;s:25:"@see upload_to_tempfile()";}s:11:"other_index";a:2:{s:9:"@coauthor";a:1:{i:0;s:36:"Dennis Petersen <fessor@software.dk>";}s:4:"@see";a:1:{i:0;s:21:"upload_to_tempfile() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:712;s:13:"content_lines";i:18;s:6:"atLine";i:2629;}i:179;a:7:{s:6:"header";s:48:"function upload_to_tempfile($uploadedFileName)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:379:"
1465
1466 Will move an uploaded file (normally in "/tmp/xxxxx") to a temporary filename in PATH_site."typo3temp/" from where TYPO3 can use it under safe_mode.
1467 Use this function to move uploaded files to where you can work on them.
1468 REMEMBER to use t3lib_div::unlink_tempfile() afterwards - otherwise temp-files will build up! They are NOT automatically deleted in PATH_site."typo3temp/"!
1469 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:104:"The temporary uploaded filename, eg. $GLOBALS['HTTP_POST_FILES']['[upload field name here]']['tmp_name']";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:84:"If a new file was successfully created, return its filename, otherwise blank string.";}s:5:"other";a:1:{i:0;s:42:"@see unlink_tempfile(), upload_copy_move()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:37:"unlink_tempfile(), upload_copy_move()";}}}s:7:"content";s:0:"";s:12:"content_size";i:206;s:13:"content_lines";i:7;s:6:"atLine";i:2657;}i:181;a:7:{s:6:"header";s:49:"function unlink_tempfile($uploadedTempFileName)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:295:"
1470
1471 Deletes (unlink) a temporary filename in 'PATH_site."typo3temp/"' given as input.
1472 The function will check that the file exists, is in PATH_site."typo3temp/" and does not contain back-spaces ("../") so it should be pretty safe.
1473 Use this after upload_to_tempfile() or tempnam() from this class!
1474 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:64:"Filepath for a file in PATH_site."typo3temp/". Must be absolute.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:40:"Returns true if the file was unlink()'ed";}s:5:"other";a:1:{i:0;s:36:"@see upload_to_tempfile(), tempnam()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:31:"upload_to_tempfile(), tempnam()";}}}s:7:"content";s:0:"";s:12:"content_size";i:254;s:13:"content_lines";i:5;s:6:"atLine";i:2674;}i:183;a:7:{s:6:"header";s:31:"function tempnam($filePrefix)    {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:277:"
1475
1476 Create temporary filename (Create file with unique file name)
1477 This function should be used for getting temporary filenames - will make your applications safe for open_basedir = on
1478 REMEMBER to delete the temporary files after use! This is done by t3lib_div::unlink_tempfile()
1479 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:54:"Prefix to temp file (which will have no extension btw)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:81:"result from PHP function tempnam() with PATH_site.'typo3temp/' set for temp path.";}s:5:"other";a:1:{i:0;s:22:"@see unlink_tempfile()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"unlink_tempfile() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:61;s:13:"content_lines";i:3;s:6:"atLine";i:2689;}i:185;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:"
1480
1481 standard authentication code - can't remember what it's used for.
1482 Usage: 2
1483 ";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:2702;}i:187;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:"
1484
1485 Loads the $TCA (Table Configuration Array) for the $table
1486
1487 Requirements:
1488 1) must be configured table (the ctrl-section configured),
1489 2) columns must not be an array (which it is always if whole table loaded), and
1490 3) there is a value for dynamicConfigFile (filename in typo3conf)
1491 Usage: 92
1492 ";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:2736;}i:189;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:"
1493
1494 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). 
1495 If the sheet definition is in an external file that file is parsed and the data structure inside of that is returned.
1496 ";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:2755;}i:191;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:"
1497
1498 Resolves ALL sheet definitions in dataStructArray
1499 If no sheet is found, then the default "sDEF" will be created with the dataStructure inside.
1500 ";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:2783;}i:193;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:"
1501
1502 Calls a userdefined function/method in class
1503 Such a function/method should look like this: "function proc(&$params, &$ref)   {...}"
1504
1505 Usage: 3
1506 ";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:2812;}i:195;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:"
1507
1508 Make instance of class
1509 Takes the class-extensions API of TYPO3 into account
1510 Please USE THIS instead of the PHP "new" keyword. Eg. "$obj = new myclass;" should be "$obj = t3lib_div::makeInstance("myclass")" instead!
1511
1512 Usage: 455
1513 ";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:2852;}i:197;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:"
1514
1515 Find the best service and check if it works.
1516 Returns object of the service class.
1517 ";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:797;s:13:"content_lines";i:29;s:6:"atLine";i:2870;}i:199;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:"
1518
1519 Return classname for new instance
1520 Takes the class-extensions API of TYPO3 into account
1521
1522 Usage: 18
1523 ";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:2909;}i:201;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:"
1524
1525 Simple substitute for the PHP function mail().
1526 The fifth parameter, $enc, will allow you to specify 'base64' encryption for the output (set $enc=base64)
1527 Further the output has the charset set to ISO-8859-1 by default.
1528
1529 Usage: 4
1530 ";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:2929;}i:203;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:"
1531
1532 Implementation of quoted-printable encode.
1533 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!
1534 (Originally taken from class.t3lib_htmlmail.php - which may be updated if this function should ever be improved!
1535 See RFC 1521, section 5.1 Quoted-Printable Content-Transfer-Encoding
1536
1537 Usage: 2
1538 ";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:2976;}i:205;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:"
1539
1540 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.
1541 This function is about preserving long links in messages.
1542
1543 Usage: 3
1544 ";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:3019;}i:207;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:"
1545
1546 Subfunction for substUrlsInPlainText() above.
1547
1548 Usage: 2
1549 ";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:3054;}i:209;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:"
1550
1551 Function to compensate for FreeType2 96 dpi
1552
1553 Usage: 16
1554 ";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:3077;}}}s:14:"MD5_d27fb8aa89";a:4:{s:8:"filename";s:22:"class.t3lib_extmgm.php";s:8:"filesize";i:39389;s:6:"header";a:5:{s:4:"text";s:164:"
1555
1556 Extension Management functions
1557
1558 This class is never instantiated, rather the methods inside is called as functions like
1559                 t3lib_extMgm::isLoaded('my_extension');
1560 ";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:"
1561
1562 Extension Management functions
1563
1564 This class is never instantiated, rather the methods inside is called as functions like
1565                 t3lib_extMgm::isLoaded('my_extension');
1566 ";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:"
1567
1568 Returns true if the extension with extension key $key is loaded.
1569 ";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:"
1570
1571 Returns the absolute path to the extension with extension key $key
1572 If the extension is not loaded the function will die with an error message
1573 Useful for internal fileoperations
1574 ";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:"
1575
1576 Returns the relative path to the extension as measured from from the TYPO3_mainDir
1577 If the extension is not loaded the function will die with an error message
1578 Useful for images and links from backend
1579 ";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:"
1580
1581 Returns the relative path to the extension as measured from the PATH_site (frontend)
1582 If the extension is not loaded the function will die with an error message
1583 Useful for images and links from the frontend
1584 ";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:"
1585
1586 Returns the correct class name prefix for the extension key $key
1587 ";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:"
1588
1589 Adding fields to an existing table definition in $TCA
1590 Adds an array with $TCA column-configuration to the $TCA-entry for that table.
1591 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! 
1592 So to have the fields displayed you must also call fx. addToAllTCAtypes or manually add the fields to the types list.
1593 FOR USE IN ext_tables.php FILES
1594 ";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:77:"function addToAllTCAtypes($table,$str,$specificTypesList='',$beforeList='')    {";s:11:"parentClass";s:12:"t3lib_extMgm";s:4:"cDat";a:3:{s:4:"text";s:449:"
1595
1596 Makes fields visible on the form, adding them to the end.
1597
1598 Adds a string $str (comma list of field names) to all ["types"][xxx]["showitem"] entries for table $table (unless limited by $specificTypesList)
1599 This is needed to have new fields shown automatically in the TCEFORMS of a record from $table. 
1600 Typically this function is called after having added new columns (database fields) with the addTCAcolumns function
1601 FOR USE IN ext_tables.php FILES
1602 ";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: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)";}i:3;a:2:{i:0;s:6:"string";i:1;s:200:"Insert fields before one of this fields (commalist). Example: "keywords,--palette--;;4,description". Palettes must be passed like in the example no matter how the palette definition looks like in 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:1171;s:13:"content_lines";i:42;s:6:"atLine";i:236;}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:"
1603
1604 Add tablename to default list of allowed tables on pages.
1605 Will add the $table to the list of tables allowed by default on pages as setup by $PAGES_TYPES['default']['allowedTables']
1606 FOR USE IN ext_tables.php FILES
1607 ";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:287;}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:"
1608
1609 Adds a module (main or sub) to the backend interface
1610 FOR USE IN ext_tables.php FILES
1611 ";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:303;}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:"
1612
1613 Adds a "Function menu module" ('third level module') to an existing function menu for some other backend module
1614 The arguments values are generally determined by which function menu this is supposed to interact with
1615 See Inside TYPO3 for information on how to use this function.
1616 FOR USE IN ext_tables.php FILES
1617 ";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:364;}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:"
1618
1619 Adds $content to the default Page TSconfig as set in $TYPO3_CONF_VARS[BE]['defaultPageTSconfig']
1620 Prefixed with a [GLOBAL] line
1621 FOR USE IN ext_tables.php/ext_locallang.php FILES
1622 ";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:381;}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:"
1623
1624 Adds $content to the default User TSconfig as set in $TYPO3_CONF_VARS[BE]['defaultUserTSconfig']
1625 Prefixed with a [GLOBAL] line
1626 FOR USE IN ext_tables.php/ext_locallang.php FILES
1627 ";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:394;}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:"
1628
1629 Adds a reference to a locallang file with TCA_DESCR labels
1630 FOR USE IN ext_tables.php FILES
1631 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.
1632 ";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:408;}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:"
1633
1634 Adds a service to the global services array
1635 ";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:2457;s:13:"content_lines";i:55;s:6:"atLine";i:450;}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:"
1636
1637 Find the available service with highest priority
1638 ";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:1645;s:13:"content_lines";i:58;s:6:"atLine";i:515;}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:"
1639
1640 Deactivate a service
1641 ";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:582;}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:"
1642
1643 Adds an entry to the list of plugins in content elements of type "Insert plugin"
1644
1645 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)
1646 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.
1647 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
1648 FOR USE IN ext_tables.php FILES
1649 ";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:621;}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:"
1650
1651 Adds an entry to the "ds" array of the tt_content field "pi_flexform". 
1652 This is used by plugins to add a flexform XML reference / content for use when they are selected as plugin.
1653 ";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:645;}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:"
1654
1655 Adds the $table tablename to the list of tables allowed to be includes by content element type "Insert records"
1656 By using $content_table and $content_field you can also use the function for other tables.
1657 FOR USE IN ext_tables.php FILES
1658 ";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:664;}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:"
1659
1660 Add PlugIn to Static Template #43
1661
1662 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.
1663 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.
1664 $type determines the type of frontend plugin: 
1665                 "list_type" (default)   - the good old "Insert plugin" entry
1666                 "menu_type"     - a "Menu/Sitemap" entry
1667                 "splash_layout" - a "Textbox" entry
1668                 "CType" - a new content element type
1669                 "header_layout" - an additional header type (added to the selection of layout1-5)
1670                 "includeLib" - just includes the library for manual use somewhere in TypoScript.
1671         (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)
1672 FOR USE IN ext_locallang.php FILES
1673 ";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:694;}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:"
1674
1675 Call this method to add an entry in the static template list found in sys_templates
1676 "static template files" are the modern equalent (provided from extensions) to the traditional records in "static_templates"
1677 FOR USE IN ext_locallang.php FILES
1678 ";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:768;}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:"
1679
1680 Adds $content to the default TypoScript setup code as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_setup']
1681 Prefixed with a [GLOBAL] line
1682 FOR USE IN ext_locallang.php FILES
1683 ";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:786;}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:"
1684
1685 Adds $content to the default TypoScript constants code as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_constants']
1686 Prefixed with a [GLOBAL] line
1687 FOR USE IN ext_locallang.php FILES
1688 ";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:799;}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:"
1689
1690 Adds $content to the default TypoScript code for either setup, constants or editorcfg as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_*']
1691 (Basically this function can do the same as addTypoScriptSetup and addTypoScriptConstants - just with a little more hazzle, but also with some more options!)
1692 FOR USE IN ext_locallang.php FILES
1693 ";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:815;}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:"
1694
1695 Loading extensions configured in $TYPO3_CONF_VARS['EXT']['extList']
1696
1697 CACHING ON: ($TYPO3_CONF_VARS['EXT']['extCache'] = 1 or 2)
1698                 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.
1699                 If cachefiles are not found they will be generated
1700 CACHING OFF:    ($TYPO3_CONF_VARS['EXT']['extCache'] = 0)
1701                 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.
1702                 This array will later be set in the global var $TYPO3_LOADED_EXT
1703
1704 Usages of this function can be see in config_default.php
1705 Extensions are always detected in the order local - global - system.
1706 ";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:877;}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:"
1707
1708 Returns the section headers for the compiled cache-files.
1709 ";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:956;}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:"
1710
1711 Returns true if both the localconf and tables cache file exists (with $cacheFilePrefix)
1712 ";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:976;}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:"
1713
1714 Returns true if the "localconf.php" file in "typo3conf/" is writable
1715 ";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:988;}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:"
1716
1717 Returns an error string if typo3conf/ or cache-files with $cacheFilePrefix are NOT writable
1718 Returns false if no problem.
1719 ";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:1000;}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:"
1720
1721 Returns an array with the two cache-files (0=>localconf, 1=>tables) from typo3conf/ if they (both) exist. Otherwise false.
1722 Evaluation relies on $TYPO3_LOADED_EXT['_CACHEFILE']
1723 ";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:1023;}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:"
1724
1725 Compiles/Creates the two cache-files in typo3conf/ based on $cacheFilePrefix
1726 Returns a array with the key "_CACHEFILE" set to the $cacheFilePrefix value
1727 ";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:1045;}}}s:14:"MD5_042cc40614";a:4:{s:8:"filename";s:26:"class.t3lib_extobjbase.php";s:8:"filesize";i:11186;s:6:"header";a:5:{s:4:"text";s:1160:"
1728
1729 Parent class for 'Extension Objects' in backend modules.
1730 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...
1731 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...)
1732 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)
1733 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.
1734 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.
1735 ";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:"
1736
1737 Parent class for 'Extension Objects' in backend modules.
1738 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...
1739 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...)
1740 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)
1741 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.
1742 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.
1743 ";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:"
1744
1745 Initialize the object
1746 ";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:"
1747
1748 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
1749 ";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:530;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:"
1750
1751 Including any locallang file configured and merging its content over the current global LOCAL_LANG array (which is EXPECTED to exist!!!)
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: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:"
1753
1754 Same as t3lib_SCbase::checkExtObj()
1755 ";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:365;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:"
1756
1757 Calls the main function inside ANOTHER sub-submodule which might exist.
1758 ";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:"
1759
1760 Dummy function - but is used to set up additional menu items for this submodule.
1761 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()
1762 ";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:"
1763
1764 Extension class for the t3lib_treeView class, specially made for browsing folders in the File module
1765 ";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:"
1766
1767 Extension class for the t3lib_treeView class, specially made for browsing folders in the File module
1768 ";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:"
1769
1770 Constructor function of the class
1771 ";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:"
1772
1773 Wrapping the folder icon
1774 ";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:"
1775
1776 Returns the id from the record - for folders, this is an md5 hash.
1777 ";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:"
1778
1779 Returns jump-url parameter value.
1780 ";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:"
1781
1782 Returns the title for the input record. If blank, a "no title" labele (localized) will be returned. 
1783 '_title' is used for setting an alternative title for folders.
1784 ";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:"
1785
1786 Will create and return the HTML code for a browsable tree of folders.
1787 Is based on the mounts found in the internal array ->MOUNTS (set in the constructor)
1788 ";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:"
1789
1790 Fetches the data for the tree
1791 ";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:"
1792
1793 Counts the number of directories in a file path.
1794 ";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:"
1795
1796 Get stored tree structure AND updating it if needed according to incoming PM GET var.
1797 ";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:6959;s:6:"header";a:5:{s:4:"text";s:92:"
1798
1799 Formmail class, used by the TYPO3 "cms" extension (default frontend) to send email forms.
1800 ";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:"
1801
1802 Formmail class, used by the TYPO3 "cms" extension (default frontend) to send email forms.
1803 ";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:"
1804
1805 Start function
1806 This class is able to generate a mail in formmail-style from the data in $V
1807 Fields:
1808
1809 [recipient]:            email-adress of the one to receive the mail. If array, then all values are expected to be recipients
1810 [attachment]:           ....
1811
1812 [subject]:                      The subject of the mail
1813 [from_email]:           Sender email. If not set, [email] is used
1814 [from_name]:            Sender name. If not set, [name] is used
1815 [replyto_email]:        Reply-to email. If not set [from_email] is used
1816 [replyto_name]:         Reply-to name. If not set [from_name] is used
1817 [organisation]:         Organisation (header)
1818 [priority]:                     Priority, 1-5, default 3
1819 [html_enabled]:         If mail is sent as html
1820 [quoted_printable]:     if set, quoted-printable will be used instead of base 64
1821 ";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:"
1822
1823 Adds an attachment to the mail
1824 ";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:20360;s:6:"header";a:5:{s:4:"text";s:401:"
1825
1826 Icon generation, backend
1827 This library has functions that returns - and if necessary creates - the icon for an element in TYPO3
1828
1829 Expects global vars:
1830 - $BACK_PATH
1831 - PATH_typo3
1832 - $TCA, $PAGES_TYPES
1833
1834
1835 Notes:
1836 These functions are strongly related to the interface of TYPO3.
1837 The class is included in eg. init.php
1838 ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"
1839 ";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:"
1840
1841 Icon generation, backend
1842 This library has functions that returns - and if necessary creates - the icon for an element in TYPO3
1843
1844 Expects global vars:
1845 - $BACK_PATH
1846 - PATH_typo3
1847 - $TCA, $PAGES_TYPES
1848
1849
1850 Notes:
1851 These functions are strongly related to the interface of TYPO3.
1852 The class is included in eg. init.php
1853 ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"
1854 ";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:79:"function getIconImage($table,$row=array(),$backPath,$params='',$shaded=FALSE)      {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:5:{s:4:"text";s:133:"
1855
1856 Returns an icon image tag, 18x16 pixels, based on input information. 
1857 This function is recommended to use in your backend modules.
1858 ";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:38:"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:53:"function getIcon($table,$row=array(),$shaded=FALSE)    {";s:11:"parentClass";s:15:"t3lib_iconWorks";s:4:"cDat";a:5:{s:4:"text";s:99:"
1859
1860 Creates the icon for input table/row
1861 Returns filename for the image icon, relative to PATH_typo3
1862 ";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:38:"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:4986;s:13:"content_lines";i:123;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:"
1863
1864 Returns the src=... for the input $src value OR any alternative found in $TBE_STYLES['skinImg']
1865 Used for skinning the TYPO3 backend with an alternative set of icons
1866 ";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:2290;s:13:"content_lines";i:61;s:6:"atLine";i:249;}i:9;a:8:{s:6:"header";s:95:"function makeIcon($iconfile,$mode, $user, $protectSection,$absFile,$iconFileName_stateTagged)  {";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:"
1867
1868 Creates the icon file for the function getIcon()
1869 ";s:5:"param";a:6:{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.";}i:5;a:2:{i:0;s:6:"string";i:1;s:129:"The filename that this icon should have had, basically [icon base name]_[flags].[extension] - used for part of temporary filename";}}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:3707;s:13:"content_lines";i:90;s:6:"atLine";i:323;}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:"
1870
1871 The necessity of using this function for combining two images if GD is version 2 is that
1872         GD2 cannot manage to combine two indexed-color images without totally spoiling everything.
1873         In class.t3lib_stdgraphic this was solved by combining the images onto a first created true color image
1874         However it has turned out that this method will not work if the indexed png-files contains transparency.
1875         So I had to turn my attention to ImageMagick - my 'enemy of death'.
1876         And so it happend - ImageMagick is now used to combine my two indexed-color images with transparency. And that works.
1877         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+)
1878         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.
1879
1880 For parameters, see PHP function "imagecopyresized()"
1881 ";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:439;}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:"
1882
1883 Create new image pointer from input file (either gif/png, in case the wrong format it is converted by t3lib_div::read_png_gif())
1884 ";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:472;}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:"
1885
1886 Write the icon in $im pointer to $path
1887 ";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:489;}}}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:"
1888
1889 Load database groups (relations)
1890 Used to process the relations created by the TCA element types "group" and "select" for database records. Manages MM-relations as well.
1891 ";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:"
1892
1893 Load database groups (relations)
1894 Used to process the relations created by the TCA element types "group" and "select" for database records. Manages MM-relations as well.
1895 ";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:"
1896
1897 Initialization of the class.
1898 ";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:"
1899
1900 Explodes the item list and stores the parts in the internal arrays itemArray and tableArray from MM records.
1901 ";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:"
1902
1903 Reads the record tablename/id into the internal arrays itemArray and tableArray from MM records.
1904 You can call this function after start if you supply no list to start()
1905 ";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:"
1906
1907 Writes the internal itemArray to MM table:
1908 ";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:"
1909
1910 After initialization you can extract an array of the elements from the object. Use this function for that.
1911 ";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:"
1912
1913 Converts id numbers from negative to positive.
1914 ";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:"
1915
1916 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.
1917 If $this->fromTC is set you can save a little memory since only uid,pid and a few other fields are selected.
1918 ";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:"
1919
1920 Prepare items from itemArray to be transferred to the TCEforms interface (as a comma list)
1921 ";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:"
1922
1923 Load Backend Interface modules
1924
1925 Typically instantiated like this:
1926                 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
1927                 $this->loadModules->load($TBE_MODULES);
1928 ";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:"
1929
1930 Load Backend Interface modules
1931
1932 Typically instantiated like this:
1933                 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
1934                 $this->loadModules->load($TBE_MODULES);
1935 ";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:"
1936
1937 Init.
1938 The outcome of the load() function will be a $this->modules array populated with the backend module structure available to the BE_USER
1939 Further the global var $LANG will have labels and images for the modules loaded in an internal array.
1940 ";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:"
1941
1942 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
1943 ";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:"
1944
1945 Here we check for the module. If not a conf-file is set then it's regarded to be a spacer
1946 Return values:
1947         'notFound':     If the module was not found in the path
1948         false:          If no access to the module
1949         array():        Configuration array, in case a valid module where access IS granted exists.
1950 ";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:"
1951
1952 Returns true if the internal BE_USER has access to the module $name with $MCONF (based on security level set for that module)
1953 ";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:"
1954
1955 Parses the moduleArray ($TBE_MODULES) into a internally useful structure.
1956 Returns an array where the keys are names of the module and the values may be true (only module) or an array (of submodules)
1957 ";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:"
1958
1959 The $str is cleaned so that it contains alphanumerical characters only. Modules must only consist of these characters
1960 ";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:"
1961
1962 Get relative path for $destDir compared to $baseDir
1963 ";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:17923;s:6:"header";a:5:{s:4:"text";s:121:"
1964
1965 Matching TypoScript conditions
1966
1967 Used with the TypoScript parser.
1968 Matches browserinfo, IPnumbers for use with templates
1969 ";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:"
1970
1971 Matching TypoScript conditions
1972
1973 Used with the TypoScript parser.
1974 Matches browserinfo, IPnumbers for use with templates
1975 ";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:"
1976
1977 Evaluates a TypoScript condition given as input, eg. "[browser=net][...(other conditions)...]"
1978 ";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:6640;s:13:"content_lines";i:204;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:"
1979
1980 Will evaluate a $value based on an operator: "<", ">" or "=" (default)
1981 ";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:300;}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:"
1982
1983 Matching two strings against each other, supporting a "*" wildcard in either end of the $needle
1984 ";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:322;}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:"
1985
1986 Returns a code for a browsing device based on the input useragent string
1987 ";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:352;}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:"
1988
1989 Generates an array with abstracted browser information
1990 In the function match() this method is called and the result stored in $this->browserInfoArray
1991 ";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:402;}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:"
1992
1993 Return global variable where the input string $var defines array keys separated by "|"
1994 ";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:501;}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:"
1995
1996 Returns GP / ENV / TSFE vars
1997 ";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:526;}}}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:"
1998
1999 Page functions, a lot of sql/pages-related functions
2000 Mainly used in the frontend but also in some cases in the backend.
2001 It's important to set the right $where_hid_del in the object so that the functions operate properly
2002 ";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:"
2003
2004 Page functions, a lot of sql/pages-related functions
2005 Mainly used in the frontend but also in some cases in the backend.
2006 It's important to set the right $where_hid_del in the object so that the functions operate properly
2007 ";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:"
2008
2009 init() MUST be run directly after creating a new template-object        
2010 This sets the internal variable $this->where_hid_del to the correct where clause for page records taking deleted/hidden/starttime/endtime into account
2011 ";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:"
2012
2013 Returns the $row for the page with uid = $uid (observing ->where_hid_del)
2014 Any pages_language_overlay will be applied before the result is returned.
2015 If no page is found an empty array is returned.
2016 ";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:"
2017
2018 Return the $row for the page with uid = $uid WITHOUT checking for ->where_hid_del (start- and endtime or hidden). Only "deleted" is checked!
2019 ";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:"
2020
2021 Returns the $row of the first web-page in the tree (for the default menu...)
2022 ";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:"
2023
2024 Returns a pagerow for the page with alias $alias
2025 ";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:"
2026
2027 Returns the relevant page overlay record fields
2028 ";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:"
2029
2030 Returns an array with pagerows for subpages with pid=$uid (which is pid here!). This is used for menus.
2031 ";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:"
2032
2033 Will find the page carrying the domain record matching the input domain. 
2034 Might exit after sending a redirect-header IF a found domain record instructs to do so.
2035 ";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:"
2036
2037 Returns array with fields of the pages from here ($uid) and back to the root
2038 NOTICE: This function only takes deleted pages into account! So hidden, starttime and endtime restricted pages are included no matter what.
2039 Further: If any "recycler" page is found (doktype=255) then it will also block for the rootline)
2040 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']
2041 ";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:"
2042
2043 Creates a "path" string for the input root line array titles.
2044 Used for writing statistics.
2045 ";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:"
2046
2047 Returns the URL type for the input page row IF the doktype is 3 and not disabled.
2048 ";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:"
2049
2050 Checks if a record exists and is accessible. 
2051 The row is returned if everything's OK.
2052 ";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:"
2053
2054 Returns record no matter what - except if record is deleted
2055 ";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:"
2056
2057 Selects records based on matching a field (ei. other than UID) with a value
2058 ";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:"
2059
2060 Returns string value stored for the hash string in the table "cache_hash"
2061 Can be used to retrieved a cached value
2062 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()
2063 ";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:"
2064
2065 Stores a string value in the cache_hash table identified by $hash.
2066 Can be used from your frontend plugins if you like. You can call it directly like t3lib_pageSelect::storeHash()
2067 ";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:"
2068
2069 Returns the "AND NOT deleted" clause for the tablename given IF $TCA configuration points to such a field.
2070 ";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:"
2071
2072 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.
2073 Is using the $TCA arrays "ctrl" part where the key "enablefields" determines for each table which of these features applies to that table.
2074 ";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:"
2075
2076 Class for generating a page tree.
2077 ";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:"
2078
2079 Class for generating a page tree.
2080 ";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:"
2081
2082 Init function
2083 REMEMBER to feed a $clause which will filter out non-readable pages!
2084 ";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:"
2085
2086 Returns true/false if the next level for $id should be expanded - and all levels should, so we always return 1.
2087 ";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:"
2088
2089 Generate the plus/minus icon for the browsable tree.
2090 In this case, there is no plus-minus icon displayed.
2091 ";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:"
2092
2093 Get stored tree structure AND updating it if needed according to incoming PM GET var.
2094 - Here we just set it to nothing since we want to just render the tree, nothing more.
2095 ";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:48072;s:6:"header";a:5:{s:4:"text";s:93:"
2096
2097 Functions for parsing HTML. 
2098 You are encouraged to use this class in your own applications
2099 ";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:"
2100
2101 Functions for parsing HTML. 
2102 You are encouraged to use this class in your own applications
2103 ";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:"
2104
2105 Returns the first subpart encapsulated in the marker, $marker (possibly present in $content as a HTML comment)
2106 ";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:"
2107
2108 Substitutes a subpart in $content with the content of $subpartContent.
2109 ";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:"
2110
2111 Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag
2112 Even numbers in the array are outside the blocks, Odd numbers are block-content. 
2113 Use ->getAllParts() and ->removeFirstAndLastTag() to process the content if needed.
2114 ";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:"
2115
2116 Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag
2117 Even numbers in the array are outside the blocks, Odd numbers are block-content. 
2118 Use ->getAllParts() and ->removeFirstAndLastTag() to process the content if needed.
2119 ";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:"
2120
2121 Returns an array with either tag or non-tag content of the result from ->splitIntoBlock()/->splitTags()
2122 ";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:"
2123
2124 Removes the first and last tag in the string
2125 Anything before and after the first and last tags respectively is also removed
2126 ";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:"
2127
2128 Returns the first tag in $str
2129 Actually everything from the begining of the $str is returned, so you better make sure the tag is the first thing...
2130 ";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:52:"function getFirstTagName($str,$preserveCase=FALSE)      {";s:11:"parentClass";s:15:"t3lib_parsehtml";s:4:"cDat";a:5:{s:4:"text";s:44:"
2131
2132 Returns the NAME of the first tag in $str
2133 ";s:5:"param";a:2:{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)";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:72:"If set, then the tag is NOT converted to uppercase by case is preserved.";}}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:162;s:13:"content_lines";i:6;s:6:"atLine";i:354;}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:"
2134
2135 Checks whether block/solo tags are found in the correct amounts in HTML content
2136 Block tags are tags which are required to have an equal amount of start and end tags, eg. "<table>...</table>"
2137 Solo tags are tags which are required to have ONLY start tags (possibly with an XHTML ending like ".../>")
2138 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.
2139 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!
2140 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!
2141 ";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:374;}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:"
2142
2143 Function that can clean up HTML content according to configuration given in the $tags array.
2144
2145 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'))     
2146 If the value of the $tags[$tagname] entry is an array, advanced processing of the tags is initialized. These are the options:
2147            
2148         $tags[$tagname] = Array(
2149                 'overrideAttribs' => ''         If set, this string is preset as the attributes of the tag
2150                 'allowedAttribs' =>   '0' (zero) = no attributes allowed, '[commalist of attributes]' = only allowed attributes. If blank, all attributes are allowed.
2151                 'fixAttrib' => Array(
2152                         '[attribute name]' => Array (
2153                                 'default' =>    If no attribute exists by this name, this value is set as default value (if this value is not blank)
2154                                 'always' =>     Boolean. If set, the attribute is always processed. Normally an attribute is processed only if it exists
2155                                 'trim,intval,lower,upper' =>    All booleans. If any of these keys are set, the value is passed through the respective PHP-functions.
2156                                 'range' => Array ('[low limit]','[high limit, optional]')               Setting integer range. 
2157                                 'list' => Array ('[value1/default]','[value2]','[value3]')              Attribute must be in this list. If not, the value is set to the first element.
2158                                 '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)
2159                                 'removeIfEquals' =>     [value] If the attribute value matches the value set here, then it is removed.
2160                                 'casesensitiveComp' => 1        If set, then the removeIfEquals and list comparisons will be case sensitive. Otherwise not.
2161                         )
2162                 ),
2163                 'protect' => '',        Boolean. If set, the tag <> is converted to &lt; and &gt;
2164                 'remap' => '',          String. If set, the tagname is remapped to this tagname
2165                 'rmTagIfNoAttrib' => '',        Boolean. If set, then the tag is removed if no attributes happend to be there.
2166                 '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>'
2167         )
2168 ";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:242:"$hSC; Values -1,0,1,2: Set to zero= disabled, set to 1 then the content BETWEEN tags is htmlspecialchar()'ed, set to -1 its the opposite and set to 2 the content will be HSC'ed BUT with preservation for real entities (eg. "&amp;" or "&#234;")";}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:7116;s:13:"content_lines";i:168;s:6:"atLine";i:448;}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:"
2169
2170 Returns an array with all attributes as keys. Attributes are only lowercase a-z
2171 If a attribute is empty (shorthand), then the value for the key is empty. You can check if it existed with isset()
2172 ";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:625;}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:"
2173
2174 Returns an array with the 'components' from an attribute list. The result is normally analyzed by get_tag_attributes
2175 Removes tag-name if found
2176 ";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:667;}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:62:"
2177
2178 Converts htmlspecialchars forth ($dir=1) AND back ($dir=-1)
2179 ";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:75:"Direction: forth ($dir=1, dir=2 for preserving entities) AND back ($dir=-1)";}}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:371;s:13:"content_lines";i:13;s:6:"atLine";i:704;}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:"
2180
2181 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
2182 ";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:726;}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:"
2183
2184 Internal sub-function for ->prefixResourcePath()
2185 ";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:794;}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:"
2186
2187 Cleans up the input $value for fonttags. 
2188 If keepFace,-Size and -Color is set then font-tags with an allowed property is kept. Else deleted.
2189 ";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:812;}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:"
2190
2191 This is used to map certain tag-names into other names.
2192 ";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:843;}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:"
2193
2194 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
2195 ";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:860;}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:"
2196
2197 Strips tags except the tags in the list, $tagList
2198 OBSOLETE - use PHP function strip_tags()
2199 ";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:893;}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:"
2200
2201 Internal function for case shifting of a string or whole array
2202 ";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:916;}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:"
2203
2204 Compiling an array with tag attributes into a string
2205 ";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:940;}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:"
2206
2207 Get tag attributes, the classic version (which had some limitations?)
2208 ";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:969;}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:"
2209
2210 Converts TSconfig into an array for the HTMLcleaner function.
2211 ";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:3618;s:13:"content_lines";i:98;s:6:"atLine";i:982;}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:"
2212
2213 Tries to convert the content to be XHTML compliant and other stuff like that.
2214 STILL EXPERIMENTAL. See comments below.
2215
2216                         What it does NOT do (yet) according to XHTML specs.:
2217                         - Wellformedness: Nesting is NOT checked
2218                         - name/id attribute issue is not observed at this point.
2219                         - Certain nesting of elements not allowed. Most interesting, <PRE> cannot contain img, big,small,sub,sup ...
2220                         - Wrapping scripts and style element contents in CDATA - or alternatively they should have entitites converted.
2221                         - Setting charsets may put some special requirements on both XML declaration/ meta-http-equiv. (C.9)
2222                         - UTF-8 encoding is in fact expected by XML!!
2223                         - stylesheet element and attribute names are NOT converted to lowercase
2224                         - 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.
2225                         - Minimized values not allowed: Must do this: selected="selected"
2226                         
2227                         What it does at this point:
2228                         - All tags (frame,base,meta,link + img,br,hr,area,input) is ended with "/>" - others?
2229                         - Lowercase for elements and attributes
2230                         - All attributes in quotes
2231                         - Add "alt" attribute to img-tags if it's not there already.
2232 ";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:1106;}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:"
2233
2234 Processing all tags themselves
2235 (Some additions by Sacha Vorbeck)
2236 ";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:1129;}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:"
2237
2238 Processing content between tags for HTML_cleaner
2239 ";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:1176;}}}s:14:"MD5_40167d8489";a:4:{s:8:"filename";s:30:"class.t3lib_parsehtml_proc.php";s:8:"filesize";i:55144;s:6:"header";a:5:{s:4:"text";s:81:"
2240
2241 Class for parsing HTML for the Rich Text Editor. (also called transformations)
2242 ";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:"
2243
2244 Class for parsing HTML for the Rich Text Editor. (also called transformations)
2245 ";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:"
2246
2247 Initialize, setting element reference and record PID
2248 ";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:"
2249
2250 Setting the ->relPath and ->relBackPath to proper values so absolute references to links and images can be converted to relative dittos.
2251 This is used when editing files with the RTE
2252 ";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:"
2253
2254 Evaluate the environment for editing a staticFileEdit file.
2255 Called for almost all fields being saved in the database. Is called without an instance of the object: t3lib_parsehtml_proc::evalWriteFile()
2256 ";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:"
2257
2258 Tranform value for RTE based on specConf in the direction specified by $direction (rte/db)
2259 This is the main function called from tcemain and transfer data classes
2260 ";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:4337;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:"
2261
2262 Transformation handler: 'ts_images' / direction: "db"
2263 Processing images inserted in the RTE.
2264 This is used when content goes from the RTE to the database. 
2265 Images inserted in the RTE has an absolute URL applied to the src attribute. This URL is converted to a relative URL
2266 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.
2267 Also "magic" images are processed here.
2268 ";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:3845;s:13:"content_lines";i:90;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:"
2269
2270 Transformation handler: 'ts_images' / direction: "rte"
2271 Processing images from database content going into the RTE.
2272 Processing includes converting the src attribute to an absolute URL.
2273 ";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:475;}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:"
2274
2275 Transformation handler: 'ts_reglinks' / direction: "db"+"rte" depending on $direction variable.
2276 Converting <A>-tags to/from abs/rel
2277 ";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:509;}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:"
2278
2279 Transformation handler: 'ts_links' / direction: "db"
2280 Converting <A>-tags to <LINK tags>
2281 ";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:543;}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:"
2282
2283 Transformation handler: 'ts_links' / direction: "rte"
2284 Converting <LINK tags> to <A>-tags
2285 ";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:587;}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:"
2286
2287 Preserve special tags
2288 ";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:662;}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:"
2289
2290 Preserve special tags
2291 ";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:686;}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:"
2292
2293 Transformation handler: 'ts_transform' + 'css_transform' / direction: "db"
2294 Cleaning (->db) for standard content elements (ts)
2295 ";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:3898;s:13:"content_lines";i:101;s:6:"atLine";i:707;}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:"
2296
2297 Transformation handler: 'ts_transform' + 'css_transform' / direction: "rte"
2298 Set (->rte) for standard content elements (ts)
2299 ";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:2817;s:13:"content_lines";i:63;s:6:"atLine";i:818;}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:"
2300
2301 Transformation handler: 'ts_strip' / direction: "db"
2302 Removing all non-allowed tags
2303 ";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:889;}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:"
2304
2305 Reads the file or url $url and returns the content
2306 ";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:920;}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:"
2307
2308 Function for cleaning content going into the database. 
2309 Content is cleaned eg. by removing unallowed HTML and ds-HSC content
2310 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
2311 ";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:934;}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:"
2312
2313 Creates an array of configuration for the HTMLcleaner function based on whether content go TO or FROM the Rich Text Editor ($direction)
2314 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)
2315 ";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:955;}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:356:"
2316
2317 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).
2318 This point is to resolve the HTML-code returned from RTE into ordinary lines so it's 'human-readable'
2319 The function ->setDivTags does the opposite.
2320 This function processes content to go into the database.
2321 ";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:4330;s:13:"content_lines";i:94;s:6:"atLine";i:1064;}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:"
2322
2323 Converts all lines into <div></div>/<p></p>-sections (unless the line is a div-section already)
2324 For processing of content going FROM database TO RTE.
2325 ";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:1168;}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:"
2326
2327 This splits the $value in font-tag chunks. 
2328 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.
2329 This functions seems to be a good choice for pre-processing content if it has been pasted into the RTE from eg. star-office. 
2330 In that case the font-tags are normally on the OUTSIDE of the sections.
2331 This function is used by eg. divideIntoLines() if the procesing option 'internalizeFontTags' is set.
2332 ";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:1213;}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:"
2333
2334 Returns SiteURL based on thisScript.
2335 ";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:1249;}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:"
2336
2337 Return the storage folder of RTE image files.
2338 Default is $GLOBALS['TYPO3_CONF_VARS']['BE']['RTE_imageStorageDir'] unless something else is configured in the types configuration for the RTE.
2339 ";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:1259;}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:"
2340
2341 Remove all tables from incoming code
2342 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.
2343 ";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:1271;}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:"
2344
2345 Default tag mapping for TS
2346 ";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:1303;}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:"
2347
2348 Finds width and height from attrib-array
2349 If the width and height is found in the style-attribute, use that!
2350 ";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:1326;}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:"
2351
2352 Parse <A>-tag href and return status of email,external,file or page
2353 ";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:1352;}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:"
2354
2355 Converting <A>-tags to absolute URLs (+ setting rtekeep attribute)
2356 ";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:1411;}}}s:14:"MD5_8e8a083441";a:4:{s:8:"filename";s:27:"class.t3lib_positionmap.php";s:8:"filesize";i:20171;s:6:"header";a:5:{s:4:"text";s:182:"
2357
2358 Position map class - generating a page tree / content element list which links for inserting (copy/move) of records. 
2359 Used for pages / tt_content element wizards of various kinds.
2360 ";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:"
2361
2362 Position map class - generating a page tree / content element list which links for inserting (copy/move) of records. 
2363 Used for pages / tt_content element wizards of various kinds.
2364 ";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:"
2365
2366 Creates a "position tree" based on the page tree.
2367 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.
2368 ";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:"
2369
2370 Creates the JavaScritp for insert new-record rollover image
2371 ";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:"
2372
2373 Wrap $t_code in bold IF the $dat uid matches $id
2374 ";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:212:"
2375
2376 Creates the onclick event for the insert-icons.
2377
2378 TSconfig mod.web_list.newPageWiz.overrideWithExtension may contain an extension which provides a module
2379 to be used instead of the normal create new page wizard.
2380 ";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:485;s:13:"content_lines";i:13;s:6:"atLine";i:291;}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:"
2381
2382 Get label, htmlspecialchars()'ed
2383 ";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:310;}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:"
2384
2385 Wrapping page title.
2386 ";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:322;}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:"
2387
2388 Checks if the user has permission to created pages inside of the $pid page.
2389 Uses caching so only one regular lookup is made - hence you can call the function multiple times without worrying about performance.
2390 ";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:333;}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:"
2391
2392 Returns module configuration for a pid.
2393 ";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:244;s:13:"content_lines";i:7;s:6:"atLine";i:349;}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:"
2394
2395 Insert half/quad lines.
2396 ";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:364;}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:"
2397
2398 Creates HTML for inserting/moving content elements.
2399 ";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:402;}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:"
2400
2401 Creates the table with the content columns
2402 ";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:434;}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:"
2403
2404 Wrapping the column header
2405 ";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:472;}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:"
2406
2407 Creates a linked position icon.
2408 ";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:486;}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:"
2409
2410 Create on-click event value.
2411 ";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:503;}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:"
2412
2413 Wrapping the record header  (from getRecordHeader())
2414 ";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:523;}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:"
2415
2416 Create record header (includes teh record icon, record title etc.)
2417 ";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:533;}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:"
2418
2419 Wrapping the title of the record.
2420 ";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:342;s:13:"content_lines";i:7;s:6:"atLine";i:546;}}}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:"
2421
2422 Functions used to read email content
2423 The class is still just a bunch of miscellaneous functions used to read content out of emails
2424 ";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:"
2425
2426 Functions used to read email content
2427 The class is still just a bunch of miscellaneous functions used to read content out of emails
2428 ";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:"
2429
2430 Returns special TYPO3 Message ID (MID) from input TO header (the return address of the sent mail from Dmailer. Used by Dmailer, return mails)
2431 ";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:"
2432
2433 Returns special TYPO3 Message ID (MID) from input mail content (used by Dmailer, return mails)
2434 ";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:"
2435
2436 Returns the text content of a mail which has previously been parsed by eg. extractMailHeader()
2437 Probably obsolete since the function fullParse() is more advanced and safer to use.
2438 ";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)  &nb