* Added a checkbox for be-users to disable IP locking. This is useful if you have...
[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";s:0:"";s:19:"includeCodeAbstract";s:0:"";}}s:5:"files";a:43:{s:14:"MD5_94ced24d11";a:4:{s:8:"filename";s:21:"class.t3lib_admin.php";s:8:"filesize";i:19619;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:64:"Number of $GLOBALS['TYPO3_DB']->sql_num_rows (most recent query)";}}s:7:"content";s:0:"";s:12:"content_size";i:1500;s:13:"content_lines";i:33;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:697;s:13:"content_lines";i:23;s:6:"atLine";i:154;}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:543;s:13:"content_lines";i:14;s:6:"atLine";i:185;}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:654;s:13:"content_lines";i:21;s:6:"atLine";i:206;}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:234;}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:268;}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:291;}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:2513;s:13:"content_lines";i:67;s:6:"atLine";i:319;}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:392;}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:894;s:13:"content_lines";i:30;s:6:"atLine";i:443;}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:481;}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:1131;s:13:"content_lines";i:29;s:6:"atLine";i:518;}}}s:14:"MD5_866499da89";a:4:{s:8:"filename";s:28:"class.t3lib_arraybrowser.php";s:8:"filesize";i:7342;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:17609;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:7749;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:1082;s:13:"content_lines";i:26;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:208;}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:222;}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:232;}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:249;}}}s:14:"MD5_bce9b8541b";a:4:{s:8:"filename";s:22:"class.t3lib_befunc.php";s:8:"filesize";i:102256;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:158;}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:179;}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:255;s:13:"content_lines";i:8;s:6:"atLine";i:203;}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:159;s:13:"content_lines";i:6;s:6:"atLine";i:226;}i:9;a:7:{s:6:"header";s:109:"function getRecordsByField($theTable,$theField,$theValue,$whereClause='',$groupBy='',$orderBy='',$limit='')        {";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:7:{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:105:"Optional additional WHERE clauses put in the end of the query. DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!";}i:4;a:2:{i:0;s:6:"string";i:1;s:57:"Optional GROUP BY field(s), if none, supply blank string.";}i:5;a:2:{i:0;s:6:"string";i:1;s:57:"Optional ORDER BY field(s), if none, supply blank string.";}i:6;a:2:{i:0;s:6:"string";i:1;s:65:"Optional LIMIT value ([begin,]max), if none, supply blank string.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:65:"Multidimensional array with selected records (if any is selected)";}}s:7:"content";s:0:"";s:12:"content_size";i:572;s:13:"content_lines";i:21;s:6:"atLine";i:249;}i:11;a:7:{s:6:"header";s:54:"function searchQuery($searchWords,$fields,$table='')    {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{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:3:{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";}i:2;a:2:{i:0;s:6:"string";i:1;s:73:"Table in which we are searching (for DBAL detection of quoteStr() method)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:23:"WHERE clause for search";}s:5:"other";a:1:{i:0;s:63:"@depreciated              Use $GLOBALS['TYPO3_DB']->searchQuery() directly!";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:49:"Use $GLOBALS['TYPO3_DB']->searchQuery() directly!";}}}s:7:"content";s:0:"";s:12:"content_size";i:78;s:13:"content_lines";i:3;s:6:"atLine";i:282;}i:13;a:7:{s:6:"header";s:35:"function listQuery($field,$value)  {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{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:5:"other";a:1:{i:0;s:61:"@depreciated          Use $GLOBALS['TYPO3_DB']->listQuery() directly!";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:47:"Use $GLOBALS['TYPO3_DB']->listQuery() directly!";}}}s:7:"content";s:0:"";s:12:"content_size";i:66;s:13:"content_lines";i:3;s:6:"atLine";i:298;}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:101;s:13:"content_lines";i:4;s:6:"atLine";i:311;}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:327;}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:1152;s:13:"content_lines";i:44;s:6:"atLine";i:356;}i:21;a:8:{s:6:"header";s:116:"function mm_query($select,$local_table,$mm_table,$foreign_table,$whereClause='',$groupBy='',$orderBy='',$limit='')        {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:11:"sectionText";a:2:{i:0;s:34:"SQL-related, DEPRECIATED functions";i:1;s:32:"(use t3lib_DB functions instead)";}s:4:"cDat";a:5:{s:4:"text";s:676:"
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 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.
284 DEPRECIATED - Use $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query() instead since that will return the result pointer while this returns the query. Using this function may make your application less fitted for DBAL later.
285 ";s:5:"param";a:8:{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:105:"Optional additional WHERE clauses put in the end of the query. DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!";}i:5;a:2:{i:0;s:6:"string";i:1;s:57:"Optional GROUP BY field(s), if none, supply blank string.";}i:6;a:2:{i:0;s:6:"string";i:1;s:57:"Optional ORDER BY field(s), if none, supply blank string.";}i:7;a:2:{i:0;s:6:"string";i:1;s:65:"Optional LIMIT value ([begin,]max), if none, supply blank string.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Full SQL query";}s:5:"other";a:2:{i:0;s:12:"@depreciated";i:1;s:37:"@see t3lib_DB::exec_SELECT_mm_query()";}s:11:"other_index";a:2:{s:12:"@depreciated";a:1:{i:0;s:1:" ";}s:4:"@see";a:1:{i:0;s:33:"t3lib_DB::exec_SELECT_mm_query() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:394;s:13:"content_lines";i:12;s:6:"atLine";i:420;}i:23;a:7:{s:6:"header";s:49:"function DBcompileInsert($table,$fields_values)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:228:"
286
287 Creates an INSERT SQL-statement for $table from the array with field/value pairs $fields_values.
288 DEPRECIATED - $GLOBALS['TYPO3_DB']->INSERTquery() directly instead! But better yet, use $GLOBALS['TYPO3_DB']->exec_INSERTquery()
289 ";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:5:"array";i:1;s:33:"Field values as key=>value pairs.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Full SQL query for INSERT";}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:73;s:13:"content_lines";i:3;s:6:"atLine";i:442;}i:25;a:7:{s:6:"header";s:56:"function DBcompileUpdate($table,$where,$fields_values)   {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:5:{s:4:"text";s:265:"
290
291 Creates an UPDATE SQL-statement for $table where $where-clause (typ. 'uid=...') from the array with field/value pairs $fields_values.
292 DEPRECIATED - $GLOBALS['TYPO3_DB']->UPDATEquery() directly instead! But better yet, use $GLOBALS['TYPO3_DB']->exec_UPDATEquery()
293 ";s:5:"param";a:3:{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.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Full SQL query for UPDATE";}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:227;s:13:"content_lines";i:18;s:6:"atLine";i:456;}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:"
294
295 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.
296 By default deleted pages are filtered.
297 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.
298
299 Usage: 13
300 ";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:1098;s:13:"content_lines";i:38;s:6:"atLine";i:486;}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:"
301
302 Returns the path (visually) of a page $uid, fx. "/First page/Second page/Another subpage"
303 Each part of the path will be limited to $titleLimit characters
304 Deleted pages are filtered out.
305
306 Usage: 23
307 ";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:498;s:13:"content_lines";i:16;s:6:"atLine";i:537;}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:"
308
309 Returns an array with the exclude-fields as defined in TCA
310 Used for listing the exclude-fields in be_groups forms
311
312 Usage: 2 (t3lib_tceforms + t3lib_transferdata)
313 ";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:562;}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:"
314
315 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.
316 If $id is zero a pseudo root-page with "_thePath" set is returned IF the current BE_USER is admin.
317 In any case ->isInWebMount must return true for the user (regardless of $perms_clause)
318
319 Usage: 21
320 ";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:597;}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:"
321
322 Returns the "types" configuration parsed into an array for the record, $rec, from table, $table
323
324 Usage: 6
325 ";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:627;}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:"
326
327 Returns the "type" value of $rec from $table which can be used to look up the correct "types" rendering section in $TCA
328 If no "type" field is configured in the "ctrl"-section of the $TCA for the table, zero is used.
329 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)
330
331 Usage: 7
332 ";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:673;}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:"
333
334 Parses a part of the field lists in the "types"-section of $TCA arrays, namely the "special configuration" at index 3 (position 4)
335 Elements are splitted by ":" and within those parts, parameters are splitted by "|".
336 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
337
338 Usage: 3
339 ";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:375;s:13:"content_lines";i:15;s:6:"atLine";i:696;}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:"
340
341 Takes an array of "[key]=[value]" strings and returns an array with the keys set as keys pointing to the value.
342 Better see it in action! Find example in Inside TYPO3
343
344 Usage: 6
345 ";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:721;}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:"
346
347 Finds the Data Structure for a FlexForm field
348 ";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:3718;s:13:"content_lines";i:93;s:6:"atLine";i:746;}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:"
349
350 Stores the string value $data in the 'cache_hash' table with the hash key, $hash, and visual/symbolic identification, $ident
351 IDENTICAL to the function by same name found in t3lib_page:
352
353 Usage: 2
354 ";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:318;s:13:"content_lines";i:10;s:6:"atLine";i:851;}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:"
355
356 Retrieves the string content stored with hash key, $hash, in cache_hash
357 IDENTICAL to the function by same name found in t3lib_page:
358
359 Usage: 2
360 ";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:541;s:13:"content_lines";i:24;s:6:"atLine";i:872;}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:"
361
362 Returns the Page TSconfig for page with id, $id
363 Requires class "t3lib_TSparser"
364
365 Usage: 26 (spec. in ext info_pagetsconfig)
366 ";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:909;}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:"
367
368 Updates Page TSconfig for a page with $id
369 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.
370 $impParams can be supplied as already known Page TSconfig, otherwise it's calculated.
371
372 THIS DOES NOT CHECK ANY PERMISSIONS. SHOULD IT?
373 More documentation is needed.
374
375 Usage: 1 (ext. direct_mail)
376 ";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:1285;s:13:"content_lines";i:46;s:6:"atLine";i:960;}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:"
377
378 Implodes a multi dimensional TypoScript array, $p, into a one-dimentional array (return value)
379
380 Usage: 3
381 ";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:1016;}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:"
382
383 Returns an array with be_users records of all user NOT DELETED sorted by their username
384 Keys in the array is the be_users uid
385
386 Usage: 14 (spec. ext. "beuser" and module "web_perm")
387 ";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:303;s:13:"content_lines";i:9;s:6:"atLine";i:1054;}i:57;a:7:{s:6:"header";s:56:"function getGroupNames($fields='title,uid', $where='')     {";s:11:"parentClass";s:12:"t3lib_BEfunc";s:4:"cDat";a:3:{s:4:"text";s:157:"
388
389 Returns an array with be_groups records (title, uid) of all groups NOT DELETED sorted by their title
390
391 Usage: 8 (spec. ext. "beuser" and module "web_perm")
392 ";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:308;s:13:"content_lines";i:8;s:6:"atLine";i:1073;}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:"
393
394 Returns an array with be_groups records (like ->getGroupNames) but:
395 - 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.
396
397 Usage: 2 (module "web_perm" and ext. taskcenter)
398 ";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:1091;}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:"
399
400 Returns the array $usernames with the names of all users NOT IN $groupArray changed to the uid (hides the usernames!).
401 If $excludeBlindedFlag is set, then these records are unset from the array $usernames
402 Takes $usernames (array made by t3lib_BEfunc::getUserNames()) and a $groupArray (array with the groups a certain user is member of) as input
403
404 Usage: 8
405 ";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:1111;}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:"
406
407 Corresponds to blindUserNames but works for groups instead
408
409 Usage: 2 (module web_perm)
410 ";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:1145;}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:"
411
412 Returns the difference in days between input $tstamp and $EXEC_TIME
413
414 Usage: 2 (class t3lib_BEfunc)
415 ";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:1189;}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:"
416
417 Returns $tstamp formatted as "ddmmyy" (According to $TYPO3_CONF_VARS['SYS']['ddmmyy'])
418
419 Usage: 11
420 ";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:1202;}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:"
421
422 Returns $tstamp formatted as "ddmmyy hhmm" (According to $TYPO3_CONF_VARS['SYS']['ddmmyy'] AND $TYPO3_CONF_VARS['SYS']['hhmm'])
423
424 Usage: 28
425 ";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:1214;}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:"
426
427 Returns $value (in seconds) formatted as hh:mm:ss
428 For instance $value = 3600 + 60*2 + 3 should return "01:02:03"
429
430 Usage: 1 (class t3lib_BEfunc)
431 ";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:1227;}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:"
432
433 Returns the "age" of the number of $seconds inputted.
434
435 Usage: 15
436 ";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:1244;}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:"
437
438 Returns a formatted timestamp if $tstamp is set.
439 The date/datetime will be followed by the age in parenthesis.
440
441 Usage: 3
442 ";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:1271;}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:"
443
444 Returns either title='' or alt='' attribute. This depends on the client browser and whether it supports title='' or not (which is the default)
445 If no $content is given only the attribute name is returned.
446 The returned attribute with content will have a leading space char.
447 Warning: Be careful to submit empty $content var - that will return just the attribute name!
448
449 Usage: 203
450 ";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:1290;}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:"
451
452 Returns alt="" and title="" attributes with the value of $content.
453 ";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:1302;}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:"
454
455 Returns a linked image-tag for thumbnail(s) from a database row with a list of image files in a field
456 All $TYPO3_CONF_VARS['GFX']['imagefile_ext'] extension are made to thumbnails + ttf file (renders font-example)
457 Thumbsnails are linked to the show_item.php script which will display further details.
458
459 Usage: 7
460 ";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:1327;}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:"
461
462 Returns single image tag to thumbnail
463
464 Usage: 3
465 ";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:1396;}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:"
466
467 Returns title-attribute information for a page-record informing about id, alias, doktype, hidden, starttime, endtime, fe_group etc.
468
469 Usage: 8
470 ";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:1414;}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:"
471
472 Returns title-attribute information for ANY record (from a table defined in TCA of course)
473 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.
474 "pages" table can be used as well and will return the result of ->titleAttribForPages() for that page.
475
476 Usage: 10
477 ";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:1469;}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:"
478
479 Returns the label of the first found entry in an "items" array from $TCA (tablename=$table/fieldname=$col) where the value is $key
480
481 Usage: 9
482 ";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:1504;}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:"
483
484 Returns the label-value for fieldname $col in table, $table
485 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>'
486
487 Usage: 17
488 ";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:352;s:13:"content_lines";i:14;s:6:"atLine";i:1531;}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:"
489
490 Returns the "title"-value in record, $row, from table, $table
491 The field(s) from which the value is taken is determined by the "ctrl"-entries 'label', 'label_alt' and 'label_alt_force'
492
493 Usage: 26
494 ";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:814;s:13:"content_lines";i:21;s:6:"atLine";i:1557;}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:404:"
495
496 Returns a human readable output of a value from a record
497 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.
498 $table/$col is tablename and fieldname
499 REMEMBER to pass the output through htmlspecialchars() if you output it to the browser! (To protect it from XSS attacks and be XHTML compliant)
500
501 Usage: 24
502 ";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:1594;}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:"
503
504 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.
505
506 Usage: 2
507 ";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:507;s:13:"content_lines";i:16;s:6:"atLine";i:1689;}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:"
508
509 Returns file icon name (from $FILEICONS) for the fileextension $ext
510
511 Usage: 10
512 ";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:1714;}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:"
513
514 Returns fields for a table, $table, which would typically be interesting to select
515 This includes uid, the fields defined for title, icon-field.
516 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)
517
518 Usage: 3
519 ";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:1729;}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:"
520
521 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
522 <form>-tags must be supplied separately
523 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.
524
525 Usage: 1 (ext. direct_mail)
526 ";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:1756;}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:"
527
528 Returns help-text icon if configured for.
529 TCA_DESCR must be loaded prior to this function and $BE_USER must have 'edit_showFieldHelp' set to 'icon', otherwise nothing is returned
530
531 Usage: 6
532 ";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:1833;}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:"
533
534 Returns CSH help text (description), if configured for.
535 TCA_DESCR must be loaded prior to this function and $BE_USER must have "edit_showFieldHelp" set to "text", otherwise nothing is returned
536 Will automatically call t3lib_BEfunc::helpTextIcon() to get the icon for the text.
537
538 Usage: 10
539 ";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:1855;}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:"
540
541 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.
542 REMEMBER to always htmlspecialchar() content in href-properties to ampersands get converted to entities (XHTML requirement and XSS precaution)
543
544 Usage: 35
545 ";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:1876;}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:"
546
547 Returns a JavaScript string for viewing the page id, $id
548
549 Usage: 8
550 ";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:1893;}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:"
551
552 Returns the merged User/Page TSconfig for page id, $id.
553 Please read details about module programming elsewhere!
554
555 Usage: 15
556 ";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:1920;}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:"
557
558 Returns a selector box "function menu" for a module
559 Requires the JS function jumpToUrl() to be available
560 See Inside TYPO3 for details about how to use / make Function menus
561
562 Usage: 50
563 ";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:1942;}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:"
564
565 Checkbox function menu.
566 Works like ->getFuncMenu() but takes no $menuItem array since this is a simple checkbox.
567
568 Usage: 34
569 ";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:1972;}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:"
570
571 Input field function menu
572 Works like ->getFuncMenu() / ->getFuncCheck() but displays a input field instead which updates the script "onchange"
573
574 Usage: 1
575 ";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:1993;}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:"
576
577 Removes menu items from $itemArray if they are configured to be removed by TSconfig for the module ($modTSconfig)
578 See Inside TYPO3 about how to program modules and use this API.
579
580 Usage: 4
581 ";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:2010;}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:"
582
583 Call to update the page tree frame (or something else..?) after
584 t3lib_BEfunc::getSetUpdateSignal('updatePageTree') -> will set the page tree to be updated.
585 t3lib_BEfunc::getSetUpdateSignal() -> will return some JavaScript that does the update (called in the typo3/template.php file, end() function)
586
587 Usage: 11
588 ";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:2034;}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:"
589
590 Returns an array which is most backend modules becomes MOD_SETTINGS containing values from function menus etc. determining the function of the module.
591 This is kind of session variable management framework for the backend users.
592 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
593 Ultimately, see Inside TYPO3 for how to use this function in relation to your modules.
594 Usage: 23
595 ";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:2085;}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:"
596
597 Unlock or Lock a record from $table with $uid
598 If $table and $uid is not set, then all locking for the current BE_USER is removed!
599
600 Usage: 5
601 ";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:511;s:13:"content_lines";i:17;s:6:"atLine";i:2162;}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:"
602
603 Returns information about whether the record from table, $table, with uid, $uid is currently locked (edited by another user - which should issue a warning).
604 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.
605
606 Usage: 5
607 ";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:1297;s:13:"content_lines";i:27;s:6:"atLine";i:2192;}i:131;a:7:{s:6:"header";s:93:"function exec_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:"
608
609 Returns select statement for MM relations (as used by TCEFORMs etc)
610
611 Usage: 3
612 ";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:3021;s:13:"content_lines";i:70;s:6:"atLine";i:2233;}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:"
613
614 Returns TSConfig for the TCEFORM object in Page TSconfig.
615 Used in TCEFORMs
616
617 Usage: 4
618 ";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:2315;}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:"
619
620 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).
621
622 Usage: 2
623 ";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:2363;}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:"
624
625 Return $uid if $table is pages and $uid is integer - otherwise the $pid
626
627 Usage: 1
628 ";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:2392;}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:"
629
630 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.
631
632 Usage: 8
633 ";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:2409;}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:"
634
635 Returns first found domain record "domainName" (without trailing slash) if found in the input $rootLine
636
637 Usage: 2
638 ";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:383;s:13:"content_lines";i:13;s:6:"atLine";i:2426;}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:"
639
640 Returns the sys_domain record for $domain, optionally with $path appended.
641
642 Usage: 2
643 ";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:705;s:13:"content_lines";i:18;s:6:"atLine";i:2449;}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:"
644
645 Returns overlayered RTE setup from an array with TSconfig. Used in TCEforms and TCEmain
646
647 Usage: 8
648 ";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:2480;}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:"
649
650 Returns true if $modName is set and is found as a main- or submodule in $TBE_MODULES array
651
652 Usage: 1
653 ";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:2501;}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:"
654
655 Print error message with header, text etc.
656
657 Usage: 19
658 ";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:2551;}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:"
659
660 Returns "web" if the $path (absolute) is within the DOCUMENT ROOT - and thereby qualifies as a "web" folder.
661
662 Usage: 4
663 ";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:2598;}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:"
664
665 Creates ADMCMD parameters for the "viewpage" extension / "cms" frontend
666
667 Usage: 1
668 ";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:2611;}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:"
669
670 Returns an array with key=>values based on input text $params
671 $params is exploded by line-breaks and each line is supposed to be on the syntax [key] = [some value]
672 These pairs will be parsed into an array an returned.
673
674 Usage: 1
675 ";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:2634;}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:"
676
677 Returns "list of backend modules". Most likely this will be obsolete soon / removed. Don't use.
678
679 Usage: 3
680 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:5:"array";i:1;s:47:"Module names in array. Must be "addslashes()"ed";}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:730;s:13:"content_lines";i:16;s:6:"atLine";i:2661;}}}s:14:"MD5_72d4b89844";a:4:{s:8:"filename";s:26:"class.t3lib_beuserauth.php";s:8:"filesize";i:12870;s:6:"header";a:5:{s:4:"text";s:500:"
681
682 TYPO3 user authentication, backend
683 Could technically have been the same class as t3lib_userauthgroup since these two are always used together and only together.
684 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.
685 This class contains the configuration of the database fields used plus some functions for the authentication process of backend users.
686 ";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:500:"
687
688 TYPO3 user authentication, backend
689 Could technically have been the same class as t3lib_userauthgroup since these two are always used together and only together.
690 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.
691 This class contains the configuration of the database fields used plus some functions for the authentication process of backend users.
692 ";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:"
693
694 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...
695 This function works ONLY with the "beuser_tracking" extension and is depreciated since it does nothing useful.
696 ";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:303;s:13:"content_lines";i:11;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:"
697
698 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)
699 ";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:302;s:13:"content_lines";i:12;s:6:"atLine";i:167;}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:"
700
701 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.
702 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.
703 This function is called right after ->start() in fx. init.php
704 ";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:187;}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:"
705
706 Initialize the internal ->uc array for the backend user
707 Will make the overrides if necessary, and write the UC back to the be_users record if changes has happend
708 ";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:217;}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:162:"
709
710 Override: Call this function every time the uc is updated.
711 That is 1) by reverting to default values, 2) in the setup-module, 3) userTS changes (userauthgroup)
712 ";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:252;}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:"
713
714 Clears the user[uc] and ->uc to blank strings. Then calls ->backendSetUC() to fill it again with reset contents
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:70;s:13:"content_lines";i:5;s:6:"atLine";i:262;}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:"
716
717 Will send an email notification to warning_email_address/the login users email address when a login session is just started.
718 Depends on various parameters whether mails are send and to whom.
719 ";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:275;}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:302:"
720
721 VeriCode returns 10 first chars of a md5 hash of the session cookie AND the encryptionKey from TYPO3_CONF_VARS.
722 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...
723 ";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:327;}}}s:14:"MD5_6c5e1df3ba";a:4:{s:8:"filename";s:26:"class.t3lib_browsetree.php";s:8:"filesize";i:4438;s:6:"header";a:5:{s:4:"text";s:82:"
724
725 Extension class for the t3lib_treeView class, specially made for browsing pages
726 ";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:"
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:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:72;}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:"
730
731 Initialize, setting what is necessary for browsing pages.
732 Using the current user.
733 ";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:653;s:13:"content_lines";i:15;s:6:"atLine";i:81;}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:"
734
735 Creates title attribute content for pages.
736 Uses API function in t3lib_BEfunc which will retrieve lots of useful information for pages.
737 ";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:104;}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:"
738
739 Wrapping the image tag, $icon, for the row, $row (except for mount points)
740 ";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:116;}}}s:14:"MD5_078c4a59ec";a:4:{s:8:"filename";s:25:"class.t3lib_clipboard.php";s:8:"filesize";i:32672;s:6:"header";a:5:{s:4:"text";s:40:"
741
742 TYPO3 clipboard for records and files
743 ";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:"
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: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:"
747
748 Initialize the clipboard from the be_user session
749 ";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:"
750
751 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
752 This is used by the clickmenu since it only allows operation on single elements at a time (that is the "normal" pad)
753 ";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:"
754
755 The array $cmd may hold various keys which notes some action to take.
756 Normally perform only one action at a time.
757 In scripts like db_list.php / file_list.php the GET-var CB is used to control the clipboard.
758
759                 Selecting / Deselecting elements
760                 Array $cmd['el'] has keys = element-ident, value = element value (see description of clipData array in header)
761                 Selecting elements for 'copy' should be done by simultaneously setting setCopyMode.
762 ";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:"
763
764 Setting the current pad on clipboard
765 ";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:205:"
766
767 Call this after initialization and setCmd in order to save the clipboard to the user session.
768 The function will check if the internal flag ->changed has been set and if so, save the clipboard. Else not.
769 ";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:"
770
771 Cleans up an incoming element array $CBarr (Array selecting/deselecting elements)
772 ";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:"
773
774 Reports if the current pad has elements (does not check file/DB type OR if file/DBrecord exists or not. Only counting array)
775 ";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:"
776
777 Prints the clipboard
778 ";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:"
779
780 Print the content on a pad. Called from ->printClipboard()
781 ";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:"
782
783 Wraps title of pad in bold-tags and maybe the number of elements if any.
784 ";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:"
785
786 Wraps the title of the items listed in link-tags. The items will link to the page/folder where they originate from
787 ";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:"
788
789 Verifies if the item $table/$uid is on the current pad.
790 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...
791 ";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:"
792
793 Returns item record $table,$uid if selected on current clipboard
794 If table and uid is blank, the first element is returned.
795 Makes sense only for DB records - not files!
796 ";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:"
797
798 Returns the select-url for database elements
799 ";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:"
800
801 Returns the select-url for files
802 ";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:"
803
804 pasteUrl of the element (database and file)
805 For the meaning of $table and $uid, please read from ->makePasteCmdArray!!!
806 The URL will point to tce_file or tce_db depending in $table
807 ";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:"
808
809 deleteUrl for current pad
810 ";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:"
811
812 editUrl of all current elements
813 ONLY database
814 Links to alt_doc.php
815 ";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:"
816
817 Returns the remove-url (file and db)
818 for file $table='_FILE' and $uid = shortmd5 hash of path
819 ";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:126:"
820
821 This traverses the elements on the current clipboard pane
822 and unsets elements which does not exist anymore or are disabled.
823 ";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:"
824
825 Counts the number of elements from the table $matchTable. If $matchTable is blank, all tables (except '_FILE' of course) is counted.
826 ";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:"
827
828 Returns confirm JavaScript message
829 ";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:"
830
831 Removes element on clipboard
832 ";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:"
833
834 Saves the clipboard, no questions asked.
835 Use ->endClipboard normally (as it checks if changes has been done so saving is necessary)
836 ";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:"
837
838 Returns the current mode, 'copy' or 'cut'
839 ";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:"
840
841 Clipboard label - getting from "EXT:lang/locallang_core.php:"
842 ";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:716:"
843
844 Applies the proper paste configuration in the $cmd array send to tce_db.php.
845 $ref is the target, see description below.
846 The current pad is pasted
847
848                 $ref: [tablename]:[paste-uid].
849                 tablename is the name of the table from which elements *on the current clipboard* is pasted with the 'pid' paste-uid.
850                 No tablename means that all items on the clipboard (non-files) are pasted. This requires paste-uid to be positive though.
851                 so 'tt_content:-3'      means 'paste tt_content elements on the clipboard to AFTER tt_content:3 record
852                 'tt_content:30' means 'paste tt_content elements on the clipboard into page with id 30
853                 ':30'   means 'paste ALL database elements on the clipboard into page with id 30
854                 ':-30'  not valid.
855 ";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:"
856
857 Delete record entries in CMD array
858 ";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:108:"
859
860 Applies the proper paste configuration in the $file array send to tce_file.php.
861 The current pad is pasted
862 ";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:"
863
864 Delete files in CMD array
865 ";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:25088;s:6:"header";a:5:{s:4:"text";s:41:"
866
867 Class for conversion between charsets.
868 ";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:"
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: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:"
872
873 Normalize - changes input character set to lowercase letters.
874 ";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:"
875
876 Convert from one charset to another charset.
877 ";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:"
878
879 Converts $str from $charset to UTF-8
880 ";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:"
881
882 Converts $str from UTF-8 to $charset
883 ";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:"
884
885 Converts all chars > 127 to numeric entities.
886 ";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:"
887
888 Converts numeric entities (UNICODE, eg. decimal (&#1234;) or hexadecimal (&#x1b;)) to UTF-8 multibyte chars
889 ";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:"
890
891 Converts all chars in the input UTF-8 string into integer numbers returned in an array
892 ";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:"
893
894 This will initialize a charset for use if it's defined in the PATH_t3lib.'csconvtbl/' folder
895 This function is automatically called by the conversion functions
896
897 PLEASE SEE: http://www.unicode.org/Public/MAPPINGS/
898 ";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:647:"
899
900 Converts a UNICODE number to a UTF-8 multibyte character
901 Algorithm based on script found at From: http://czyborra.com/utf/
902
903 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:
904
905  bytes | bits | representation
906      1 |    7 | 0vvvvvvv
907      2 |   11 | 110vvvvv 10vvvvvv
908      3 |   16 | 1110vvvv 10vvvvvv 10vvvvvv
909      4 |   21 | 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv
910      5 |   26 | 111110vv 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv
911      6 |   31 | 1111110v 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv
912 ";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:"
913
914 Converts a UTF-8 Multibyte character to a UNICODE number
915 ";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:"
916
917 Truncates a string in UTF-8 short at a given byte length
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:"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:"
919 ";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:"
920 ";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:"
921 ";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:"
922 ";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_e66db22014";a:4:{s:8:"filename";s:18:"class.t3lib_db.php";s:8:"filesize";i:32006;s:6:"header";a:5:{s:4:"text";s:1821:"
923
924 TYPO3 "database wrapper" class (new in 3.6.0)
925 This class contains
926 - abstraction functions for executing INSERT/UPDATE/DELETE/SELECT queries ("Query execution"; These are REQUIRED for all future connectivity to the database, thus ensuring DBAL compliance!)
927 - functions for building SQL queries (INSERT/UPDATE/DELETE/SELECT) ("Query building"); These are transitional functions for building SQL queries in a more automated way. Use these to build queries instead of doing it manually in your code!
928 - mysql() wrapper functions; These are transitional functions. By a simple search/replace you should be able to substitute all mysql*() calls with $GLOBALS['TYPO3_DB']->sql*() and your application will work out of the box. YOU CANNOT (legally) use any mysql functions not found as wrapper functions in this class!
929 See the Project Coding Guidelines (doc_core_cgl) for more instructions on best-practise
930
931 This class is not in itself a complete database abstraction layer but can be extended to be a DBAL (by extensions, see "dbal" for example)
932 ALL connectivity to the database in TYPO3 must be done through this class!
933 The points of this class are:
934 - To direct all database calls through this class so it becomes possible to implement DBAL with extensions.
935 - To keep it very easy to use for developers used to MySQL in PHP - and preserve as much performance as possible when TYPO3 is used with MySQL directly...
936 - To create an interface for DBAL implemented by extensions; (Eg. making possible escaping characters, clob/blob handling, reserved words handling)
937 - Benchmarking the DB bottleneck queries will become much easier; Will make it easier to find optimization possibilities.
938
939 USE:
940 In all TYPO3 scripts the global variable $TYPO3_DB is an instance of this class. Use that.
941 Eg.             $GLOBALS['TYPO3_DB']->sql_fetch_assoc()
942 ";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:38:{i:1;a:8:{s:6:"header";s:16:"class t3lib_DB {";s:5:"class";i:1;s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:1821:"
943
944 TYPO3 "database wrapper" class (new in 3.6.0)
945 This class contains
946 - abstraction functions for executing INSERT/UPDATE/DELETE/SELECT queries ("Query execution"; These are REQUIRED for all future connectivity to the database, thus ensuring DBAL compliance!)
947 - functions for building SQL queries (INSERT/UPDATE/DELETE/SELECT) ("Query building"); These are transitional functions for building SQL queries in a more automated way. Use these to build queries instead of doing it manually in your code!
948 - mysql() wrapper functions; These are transitional functions. By a simple search/replace you should be able to substitute all mysql*() calls with $GLOBALS['TYPO3_DB']->sql*() and your application will work out of the box. YOU CANNOT (legally) use any mysql functions not found as wrapper functions in this class!
949 See the Project Coding Guidelines (doc_core_cgl) for more instructions on best-practise
950
951 This class is not in itself a complete database abstraction layer but can be extended to be a DBAL (by extensions, see "dbal" for example)
952 ALL connectivity to the database in TYPO3 must be done through this class!
953 The points of this class are:
954 - To direct all database calls through this class so it becomes possible to implement DBAL with extensions.
955 - To keep it very easy to use for developers used to MySQL in PHP - and preserve as much performance as possible when TYPO3 is used with MySQL directly...
956 - To create an interface for DBAL implemented by extensions; (Eg. making possible escaping characters, clob/blob handling, reserved words handling)
957 - Benchmarking the DB bottleneck queries will become much easier; Will make it easier to find optimization possibilities.
958
959 USE:
960 In all TYPO3 scripts the global variable $TYPO3_DB is an instance of this class. Use that.
961 Eg.             $GLOBALS['TYPO3_DB']->sql_fetch_assoc()
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:7:"content";s:0:"";s:12:"content_size";i:938;s:13:"content_lines";i:25;s:6:"atLine";i:129;}i:3;a:8:{s:6:"header";s:50:"function exec_INSERTquery($table,$fields_values)       {";s:11:"parentClass";s:8:"t3lib_DB";s:11:"sectionText";a:7:{i:0;s:15:"Query execution";i:1;s:79:"These functions are the RECOMMENDED DBAL functions for use in your applications";i:2;s:121:"Using these functions will allow the DBAL to use alternative ways of accessing data (contrary to if a query is returned!)";i:3;s:74:"They compile a query AND execute it immediately and then return the result";i:4;s:86:"This principle heightens our ability to create various forms of DBAL of the functions.";i:5;s:68:"Generally: We want to return a result pointer/object, never queries.";i:6;s:120:"Also, having the table name together with the actual query execution allows us to direct the request to other databases.";}s:4:"cDat";a:3:{s:4:"text";s:223:"
963
964 Creates and executes an INSERT SQL-statement for $table from the array with field/value pairs $fields_values.
965 Using this function specifically allows us to handle BLOB and CLOB fields depending on DB
966 Usage count/core: 47
967 ";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:5:"array";i:1;s:191:"Field values as key=>value pairs. Values will be escaped internally. Typically you would fill an array like "$insertFields" with 'fieldname'=>'value' and pass it to this function as argument.";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:34:"MySQL result pointer / DBAL object";}}s:7:"content";s:0:"";s:12:"content_size";i:158;s:13:"content_lines";i:5;s:6:"atLine";i:164;}i:5;a:7:{s:6:"header";s:57:"function exec_UPDATEquery($table,$where,$fields_values)  {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:259:"
968
969 Creates and executes an UPDATE SQL-statement for $table where $where-clause (typ. 'uid=...') from the array with field/value pairs $fields_values.
970 Using this function specifically allow us to handle BLOB and CLOB fields depending on DB
971 Usage count/core: 50
972 ";s:5:"param";a:3:{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:107:"WHERE clause, eg. "uid=1". NOTICE: You must escape values in this argument with $this->quoteStr() yourself!";}i:2;a:2:{i:0;s:5:"array";i:1;s:191:"Field values as key=>value pairs. Values will be escaped internally. Typically you would fill an array like "$updateFields" with 'fieldname'=>'value' and pass it to this function as argument.";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:34:"MySQL result pointer / DBAL object";}}s:7:"content";s:0:"";s:12:"content_size";i:165;s:13:"content_lines";i:5;s:6:"atLine";i:180;}i:7;a:7:{s:6:"header";s:42:"function exec_DELETEquery($table,$where)      {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:98:"
973
974 Creates and executes a DELETE SQL-statement for $table where $where-clause
975 Usage count/core: 40
976 ";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:6:"string";i:1;s:107:"WHERE clause, eg. "uid=1". NOTICE: You must escape values in this argument with $this->quoteStr() yourself!";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:34:"MySQL result pointer / DBAL object";}}s:7:"content";s:0:"";s:12:"content_size";i:150;s:13:"content_lines";i:5;s:6:"atLine";i:194;}i:9;a:7:{s:6:"header";s:103:"function exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='')      {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:159:"
977
978 Creates and executes a SELECT SQL-statement
979 Using this function specifically allow us to handle the LIMIT feature independently of DB.
980 Usage count/core: 340
981 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:101:"List of fields to select from the table. This is what comes right after "SELECT ...". Required value.";}i:1;a:2:{i:0;s:6:"string";i:1;s:89:"Table(s) from which to select. This is what comes right after "FROM ...". Required value.";}i:2;a:2:{i:0;s:6:"string";i:1;s:186:"Optional additional WHERE clauses put in the end of the query. NOTICE: You must escape values in this argument with $this->quoteStr() yourself! DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!";}i:3;a:2:{i:0;s:6:"string";i:1;s:57:"Optional GROUP BY field(s), if none, supply blank string.";}i:4;a:2:{i:0;s:6:"string";i:1;s:57:"Optional ORDER BY field(s), if none, supply blank string.";}i:5;a:2:{i:0;s:6:"string";i:1;s:65:"Optional LIMIT value ([begin,]max), if none, supply blank string.";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:34:"MySQL result pointer / DBAL object";}}s:7:"content";s:0:"";s:12:"content_size";i:202;s:13:"content_lines";i:5;s:6:"atLine";i:213;}i:11;a:7:{s:6:"header";s:128:"function exec_SELECT_mm_query($select,$local_table,$mm_table,$foreign_table,$whereClause='',$groupBy='',$orderBy='',$limit='') {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:532:"
982
983 Creates and executes a SELECT query, selecting fields ($select) from two/three tables joined
984 $local_table and $mm_table is mandatory. $foreign_table is optional.
985 The JOIN is done with [$local_table].uid <--> [$mm_table].uid_local  / [$mm_table].uid_foreign <--> [$foreign_table].uid
986 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.
987
988 Usage: 12 (spec. ext. sys_action, sys_messages, sys_todos)
989 ";s:5:"param";a:8:{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:186:"Optional additional WHERE clauses put in the end of the query. NOTICE: You must escape values in this argument with $this->quoteStr() yourself! DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!";}i:5;a:2:{i:0;s:6:"string";i:1;s:57:"Optional GROUP BY field(s), if none, supply blank string.";}i:6;a:2:{i:0;s:6:"string";i:1;s:57:"Optional ORDER BY field(s), if none, supply blank string.";}i:7;a:2:{i:0;s:6:"string";i:1;s:65:"Optional LIMIT value ([begin,]max), if none, supply blank string.";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:34:"MySQL result pointer / DBAL object";}s:5:"other";a:1:{i:0;s:23:"@see exec_SELECTquery()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"exec_SELECTquery() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:364;s:13:"content_lines";i:11;s:6:"atLine";i:238;}i:13;a:7:{s:6:"header";s:46:"function exec_SELECT_queryArray($queryParts)  {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:63:"
990
991 Executes a select based on input query parts array
992
993 Usage: 9
994 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:17:"Query parts array";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:41:"MySQL select result pointer / DBAL object";}s:5:"other";a:1:{i:0;s:23:"@see exec_SELECTquery()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"exec_SELECTquery() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:338;s:13:"content_lines";i:27;s:6:"atLine";i:259;}i:15;a:8:{s:6:"header";s:45:"function INSERTquery($table,$fields_values)       {";s:11:"parentClass";s:8:"t3lib_DB";s:11:"sectionText";a:1:{i:0;s:14:"Query building";}s:4:"cDat";a:5:{s:4:"text";s:119:"
995
996 Creates an INSERT SQL-statement for $table from the array with field/value pairs $fields_values.
997 Usage count/core: 4
998 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_INSERTquery()";}i:1;a:2:{i:0;s:5:"array";i:1;s:22:"See exec_INSERTquery()";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:110:"Full SQL query for INSERT (unless $fields_values does not contain any elements in which case it will be false)";}s:5:"other";a:1:{i:0;s:58:"@depreciated                     use exec_INSERTquery() instead if possible!";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:43:"use exec_INSERTquery() instead if possible!";}}}s:7:"content";s:0:"";s:12:"content_size";i:663;s:13:"content_lines";i:25;s:6:"atLine";i:296;}i:17;a:7:{s:6:"header";s:52:"function UPDATEquery($table,$where,$fields_values)   {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:156:"
999
1000 Creates an UPDATE SQL-statement for $table where $where-clause (typ. 'uid=...') from the array with field/value pairs $fields_values.
1001 Usage count/core: 6
1002 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_UPDATEquery()";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_UPDATEquery()";}i:2;a:2:{i:0;s:5:"array";i:1;s:22:"See exec_UPDATEquery()";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:110:"Full SQL query for UPDATE (unless $fields_values does not contain any elements in which case it will be false)";}s:5:"other";a:1:{i:0;s:58:"@depreciated                        use exec_UPDATEquery() instead if possible!";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:43:"use exec_UPDATEquery() instead if possible!";}}}s:7:"content";s:0:"";s:12:"content_size";i:815;s:13:"content_lines";i:29;s:6:"atLine";i:332;}i:19;a:7:{s:6:"header";s:37:"function DELETEquery($table,$where)  {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:84:"
1003
1004 Creates a DELETE SQL-statement for $table where $where-clause
1005 Usage count/core: 3
1006 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_DELETEquery()";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_DELETEquery()";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Full SQL query for DELETE";}s:5:"other";a:1:{i:0;s:58:"@depreciated                  use exec_DELETEquery() instead if possible!";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:43:"use exec_DELETEquery() instead if possible!";}}}s:7:"content";s:0:"";s:12:"content_size";i:445;s:13:"content_lines";i:15;s:6:"atLine";i:371;}i:21;a:7:{s:6:"header";s:98:"function SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='')     {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:54:"
1007
1008 Creates a SELECT SQL-statement
1009 Usage count/core: 11
1010 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_SELECTquery()";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_SELECTquery()";}i:2;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_SELECTquery()";}i:3;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_SELECTquery()";}i:4;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_SELECTquery()";}i:5;a:2:{i:0;s:6:"string";i:1;s:22:"See exec_SELECTquery()";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"Full SQL query for SELECT";}s:5:"other";a:1:{i:0;s:58:"@depreciated                      use exec_SELECTquery() instead if possible!";}s:11:"other_index";a:1:{s:12:"@depreciated";a:1:{i:0;s:43:"use exec_SELECTquery() instead if possible!";}}}s:7:"content";s:0:"";s:12:"content_size";i:603;s:13:"content_lines";i:30;s:6:"atLine";i:400;}i:23;a:7:{s:6:"header";s:44:"function listQuery($field, $value, $table)   {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:421:"
1011
1012 Returns a WHERE clause that can find a value ($value) in a list field ($field)
1013 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).
1014 Is nice to look up list-relations to records or files in TYPO3 database tables.
1015 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}i:1;a:2:{i:0;s:6:"string";i:1;s:21:"Value to find in list";}i:2;a:2:{i:0;s:6:"string";i:1;s:73:"Table in which we are searching (for DBAL detection of quoteStr() method)";}}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:221;s:13:"content_lines";i:5;s:6:"atLine";i:441;}i:25;a:7:{s:6:"header";s:51:"function searchQuery($searchWords,$fields,$table)    {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:134:"
1016
1017 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.
1018 ";s:5:"param";a:3:{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";}i:2;a:2:{i:0;s:6:"string";i:1;s:73:"Table in which we are searching (for DBAL detection of quoteStr() method)";}}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:551;s:13:"content_lines";i:36;s:6:"atLine";i:455;}i:27;a:8:{s:6:"header";s:33:"function quoteStr($str, $table)   {";s:11:"parentClass";s:8:"t3lib_DB";s:11:"sectionText";a:5:{i:0;s:24:"Various helper functions";i:1;s:36:"Functions recommended to be used for";i:2;s:18:"- escaping values,";i:3;s:27:"- cleaning lists of values,";i:4;s:48:"- stripping of excess ORDER BY/GROUP BY keywords";}s:4:"cDat";a:3:{s:4:"text";s:191:"
1019
1020 Substitution for PHP function "addslashes()"
1021 Use this function instead of the PHP addslashes() function when you build queries - this will prepare your code for DBAL.
1022 Usage count/core: 105
1023 ";s:5:"param";a:2:{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:180:"Table name for which to quote string. Just enter the table that the field-value is selected from (and any DBAL will look up which handler to use and then how to quote the string!).";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:92:"Output string; Quotes (" / ') and \ will be backslashed (or otherwise based on DBAL handler)";}}s:7:"content";s:0:"";s:12:"content_size";i:32;s:13:"content_lines";i:3;s:6:"atLine";i:501;}i:29;a:7:{s:6:"header";s:30:"function cleanIntArray($arr)    {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:194:"
1024
1025 Will convert all values in the one-dimentional array to integers.
1026 Useful when you want to make sure an array contains only integers before imploding them in a select-list.
1027 Usage count/core: 7
1028 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:17:"Array with values";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:55:"The input array with all values passed through intval()";}s:5:"other";a:1:{i:0;s:19:"@see cleanIntList()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"cleanIntList() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:86;s:13:"content_lines";i:6;s:6:"atLine";i:514;}i:31;a:7:{s:6:"header";s:30:"function cleanIntList($list)    {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:266:"
1029
1030 Will force all entries in the input comma list to integers
1031 Useful when you want to make sure a commalist of supposed integers really contain only integers; You want to know that when you don't trust content that could go into an SQL statement.
1032 Usage count/core: 6
1033 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:55:"List of comma-separated values which should be integers";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:59:"The input list but with every value passed through intval()";}s:5:"other";a:1:{i:0;s:20:"@see cleanIntArray()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"cleanIntArray() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:61;s:13:"content_lines";i:3;s:6:"atLine";i:530;}i:33;a:7:{s:6:"header";s:29:"function stripOrderBy($str)       {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:369:"
1034
1035 Removes the prefix "ORDER BY" from the input string.
1036 This function is used when you call the exec_SELECTquery() function and want to pass the ORDER BY parameter by can't guarantee that "ORDER BY" is not prefixed.
1037 Generally; This function provides a work-around to the situation where you cannot pass only the fields by which to order the result.
1038 Usage count/core: 11
1039 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"eg. "ORDER BY title, uid"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"eg. "title, uid"";}s:5:"other";a:1:{i:0;s:39:"@see exec_SELECTquery(), stripGroupBy()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:34:"exec_SELECTquery(), stripGroupBy()";}}}s:7:"content";s:0:"";s:12:"content_size";i:79;s:13:"content_lines";i:3;s:6:"atLine";i:544;}i:35;a:7:{s:6:"header";s:29:"function stripGroupBy($str)   {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:5:{s:4:"text";s:363:"
1040
1041 Removes the prefix "GROUP BY" from the input string.
1042 This function is used when you call the SELECTquery() function and want to pass the GROUP BY parameter by can't guarantee that "GROUP BY" is not prefixed.
1043 Generally; This function provides a work-around to the situation where you cannot pass only the fields by which to order the result.
1044 Usage count/core: 1
1045 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"eg. "GROUP BY title, uid"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"eg. "title, uid"";}s:5:"other";a:1:{i:0;s:39:"@see exec_SELECTquery(), stripOrderBy()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:34:"exec_SELECTquery(), stripOrderBy()";}}}s:7:"content";s:0:"";s:12:"content_size";i:79;s:13:"content_lines";i:3;s:6:"atLine";i:558;}i:37;a:7:{s:6:"header";s:37:"function splitGroupOrderLimit($str)   {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:314:"
1046
1047 Takes the last part of a query, eg. "... uid=123 GROUP BY title ORDER BY title LIMIT 5,2" and splits each part into a table (WHERE, GROUPBY, ORDERBY, LIMIT)
1048 Work-around function for use where you know some userdefined end to an SQL clause is supplied and you need to separate these factors.
1049 Usage count/core: 13
1050 ";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:5:"array";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1078;s:13:"content_lines";i:54;s:6:"atLine";i:570;}i:39;a:8:{s:6:"header";s:26:"function sql($db,$query)       {";s:11:"parentClass";s:8:"t3lib_DB";s:11:"sectionText";a:2:{i:0;s:23:"MySQL wrapper functions";i:1;s:30:"(For use in your applications)";}s:4:"cDat";a:3:{s:4:"text";s:122:"
1051
1052 Executes query
1053 mysql() wrapper function
1054 DEPRECIATED - use exec_* functions from this class instead!
1055 Usage count/core: 9
1056 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:13:"Database name";}i:1;a:2:{i:0;s:6:"string";i:1;s:16:"Query to execute";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:28:"Result pointer / DBAL object";}}s:7:"content";s:0:"";s:12:"content_size";i:110;s:13:"content_lines";i:5;s:6:"atLine";i:635;}i:41;a:7:{s:6:"header";s:28:"function sql_query($query)        {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:68:"
1057
1058 Executes query
1059 mysql_query() wrapper function
1060 Usage count/core: 1
1061 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Query to execute";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:28:"Result pointer / DBAL object";}}s:7:"content";s:0:"";s:12:"content_size";i:116;s:13:"content_lines";i:5;s:6:"atLine";i:649;}i:43;a:7:{s:6:"header";s:22:"function sql_error()  {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:107:"
1062
1063 Returns the error status on the last sql() execution
1064 mysql_error() wrapper function
1065 Usage count/core: 32
1066 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:19:"MySQL error string.";}}s:7:"content";s:0:"";s:12:"content_size";i:40;s:13:"content_lines";i:3;s:6:"atLine";i:662;}i:45;a:7:{s:6:"header";s:29:"function sql_num_rows($res)     {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:94:"
1067
1068 Returns the number of selected rows.
1069 mysql_num_rows() wrapper function
1070 Usage count/core: 85
1071 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:52:"MySQL result pointer (of SELECT query) / DBAL object";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:25:"Number of resulting rows.";}}s:7:"content";s:0:"";s:12:"content_size";i:36;s:13:"content_lines";i:3;s:6:"atLine";i:674;}i:47;a:7:{s:6:"header";s:32:"function sql_fetch_assoc($res)       {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:163:"
1072
1073 Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.
1074 mysql_fetch_assoc() wrapper function
1075 Usage count/core: 307
1076 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:52:"MySQL result pointer (of SELECT query) / DBAL object";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:32:"Associative array of result row.";}}s:7:"content";s:0:"";s:12:"content_size";i:39;s:13:"content_lines";i:3;s:6:"atLine";i:686;}i:49;a:7:{s:6:"header";s:30:"function sql_fetch_row($res)    {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:200:"
1077
1078 Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.
1079 The array contains the values in numerical indices.
1080 mysql_fetch_row() wrapper function
1081 Usage count/core: 56
1082 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:52:"MySQL result pointer (of SELECT query) / DBAL object";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:23:"Array with result rows.";}}s:7:"content";s:0:"";s:12:"content_size";i:37;s:13:"content_lines";i:3;s:6:"atLine";i:699;}i:51;a:7:{s:6:"header";s:32:"function sql_free_result($res)   {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:78:"
1083
1084 Free result memory
1085 mysql_free_result() wrapper function
1086 Usage count/core: 3
1087 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:42:"MySQL result pointer to free / DBAL object";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:44:"Returns TRUE on success or FALSE on failure.";}}s:7:"content";s:0:"";s:12:"content_size";i:39;s:13:"content_lines";i:3;s:6:"atLine";i:711;}i:53;a:7:{s:6:"header";s:26:"function sql_insert_id()    {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:114:"
1088
1089 Get the ID generated from the previous INSERT operation
1090 mysql_insert_id() wrapper function
1091 Usage count/core: 13
1092 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:36:"The uid of the last inserted record.";}}s:7:"content";s:0:"";s:12:"content_size";i:44;s:13:"content_lines";i:3;s:6:"atLine";i:722;}i:55;a:7:{s:6:"header";s:30:"function sql_affected_rows()  {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:140:"
1093
1094 Returns the number of rows affected by the last INSERT, UPDATE or DELETE query
1095 mysql_affected_rows() wrapper function
1096 Usage count/core: 1
1097 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:37:"Number of rows affected by last query";}}s:7:"content";s:0:"";s:12:"content_size";i:48;s:13:"content_lines";i:3;s:6:"atLine";i:733;}i:57;a:7:{s:6:"header";s:36:"function sql_data_seek($res,$seek)   {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:86:"
1098
1099 Move internal result pointer
1100 mysql_data_seek() wrapper function
1101 Usage count/core: 3
1102 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:52:"MySQL result pointer (of SELECT query) / DBAL object";}i:1;a:2:{i:0;s:7:"integer";i:1;s:19:"Seek result number.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:44:"Returns TRUE on success or FALSE on failure.";}}s:7:"content";s:0:"";s:12:"content_size";i:43;s:13:"content_lines";i:3;s:6:"atLine";i:746;}i:59;a:7:{s:6:"header";s:40:"function sql_field_type($res,$pointer) {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:106:"
1103
1104 Get the type of the specified field in a result
1105 mysql_field_type() wrapper function
1106 Usage count/core: 2
1107 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:52:"MySQL result pointer (of SELECT query) / DBAL object";}i:1;a:2:{i:0;s:7:"integer";i:1;s:12:"Field index.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:45:"Returns the name of the specified field index";}}s:7:"content";s:0:"";s:12:"content_size";i:48;s:13:"content_lines";i:3;s:6:"atLine";i:759;}i:61;a:7:{s:6:"header";s:79:"function sql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password) {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:106:"
1108
1109 Open a (persistent) connection to a MySQL server
1110 mysql_pconnect() wrapper function
1111 Usage count/core: 12
1112 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"Database host IP/domain";}i:1;a:2:{i:0;s:6:"string";i:1;s:25:"Username to connect with.";}i:2;a:2:{i:0;s:6:"string";i:1;s:25:"Password to connect with.";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:82:"Returns a positive MySQL persistent link identifier on success, or FALSE on error.";}}s:7:"content";s:0:"";s:12:"content_size";i:115;s:13:"content_lines";i:4;s:6:"atLine";i:773;}i:63;a:7:{s:6:"header";s:35:"function sql_select_db($TYPO3_db)        {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:81:"
1113
1114 Select a MySQL database
1115 mysql_select_db() wrapper function
1116 Usage count/core: 8
1117 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"Database to connect to.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:44:"Returns TRUE on success or FALSE on failure.";}}s:7:"content";s:0:"";s:12:"content_size";i:236;s:13:"content_lines";i:19;s:6:"atLine";i:786;}i:65;a:8:{s:6:"header";s:26:"function admin_get_dbs()      {";s:11:"parentClass";s:8:"t3lib_DB";s:11:"sectionText";a:2:{i:0;s:19:"SQL admin functions";i:1;s:51:"(For use in the Install Tool and Extension Manager)";}s:4:"cDat";a:3:{s:4:"text";s:452:"
1118
1119 Listing databases from current MySQL connection. NOTICE: It WILL try to select those databases and thus break selection of current database.
1120 This doesn't really make sense to transfer to a DBAL layer - this detection is also PRE-DBAL in many ways since it is only used as a service function in the 1-2-3 process of the Install Tool. In any case a lookup should be done in the _DEFAULT handler DBMS then.
1121 Use in Install Tool only!
1122 Usage count/core: 1
1123 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:37:"Each entry represents a database name";}}s:7:"content";s:0:"";s:12:"content_size";i:219;s:13:"content_lines";i:10;s:6:"atLine";i:814;}i:67;a:7:{s:6:"header";s:29:"function admin_get_tables()  {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:266:"
1124
1125 Returns the list of tables from the default database, TYPO3_db (quering the DBMS)
1126 In a DBAL this method should 1) look up all tables from the DBMS  of the _DEFAULT handler and then 2) add all tables *configured* to be managed by other handlers
1127 Usage count/core: 2
1128 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:55:"Tables in an array (tablename is in both key and value)";}}s:7:"content";s:0:"";s:12:"content_size";i:267;s:13:"content_lines";i:10;s:6:"atLine";i:832;}i:69;a:7:{s:6:"header";s:39:"function admin_get_fields($tableName)      {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:431:"
1129
1130 Returns information about each field in the $table (quering the DBMS)
1131 In a DBAL this should look up the right handler for the table and return compatible information
1132 This function is important not only for the Install Tool but probably for DBALs as well since they might need to look up table specific information in order to construct correct queries. In such cases this information should probably be cached for quick delivery
1133 ";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:69:"Field information in an associative array with fieldname => field row";}}s:7:"content";s:0:"";s:12:"content_size";i:227;s:13:"content_lines";i:10;s:6:"atLine";i:851;}i:71;a:7:{s:6:"header";s:37:"function admin_get_keys($tableName) {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:172:"
1134
1135 Returns information about each index key in the $table (quering the DBMS)
1136 In a DBAL this should look up the right handler for the table and return compatible information
1137 ";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:34:"Key information in a numeric array";}}s:7:"content";s:0:"";s:12:"content_size";i:192;s:13:"content_lines";i:10;s:6:"atLine";i:869;}i:73;a:4:{s:6:"header";s:30:"function admin_query($query)   {";s:11:"parentClass";s:8:"t3lib_DB";s:4:"cDat";a:3:{s:4:"text";s:135:"
1138
1139 mysql() wrapper function, used by the Install Tool and EM for all queries regarding management of the database!
1140 Usage count/core: 10
1141 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Query to execute";}}s:6:"return";a:2:{i:0;s:7:"pointer";i:1;s:14:"Result pointer";}}s:6:"atLine";i:887;}i:75;a:8:{s:6:"header";s:23:"function debug($func)       {";s:11:"parentClass";s:8:"t3lib_DB";s:11:"sectionText";a:1:{i:0;s:9:"Debugging";}s:4:"cDat";a:3:{s:4:"text";s:39:"
1142
1143 Debug function: Outputs error if any
1144 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:24:"Function calling debug()";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:497;s:13:"content_lines";i:18;s:6:"atLine";i:914;}}}s:14:"MD5_acda8cdddc";a:4:{s:8:"filename";s:20:"class.t3lib_diff.php";s:8:"filesize";i:7804;s:6:"header";a:5:{s:4:"text";s:120:"
1145
1146 This class has functions which generates a difference output of a content string
1147 Currently works only with LINUX/UNIX
1148 ";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:"
1149
1150 This class has functions which generates a difference output of a content string
1151 Currently works only with LINUX/UNIX
1152 ";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:360;s:13:"content_lines";i:11;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:"
1153
1154 This will produce a color-marked-up diff output in HTML from the input strings.
1155 ";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:84;}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:"
1156
1157 Produce a diff (with the "diff" application on unix) between two strings
1158 The function will write the two input strings to temporary files, then execute the diff program, delete the temp files and return the result.
1159 ";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:476;s:13:"content_lines";i:18;s:6:"atLine";i:158;}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:"
1160
1161 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
1162 ";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:185;}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:"
1163
1164 Explodes the input string into words.
1165 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.
1166 ";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:201;}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:"
1167
1168 Adds a space character before and after HTML tags (more precisely any found < or >)
1169 ";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:222;}}}s:14:"MD5_2340d0eef3";a:4:{s:8:"filename";s:19:"class.t3lib_div.php";s:8:"filesize";i:115600;s:6:"header";a:5:{s:4:"text";s:554:"
1170
1171 The legendary "t3lib_div" class - Miscellaneous functions for general purpose.
1172 Most of the functions does not relate specifically to TYPO3
1173 However a section of functions requires certain TYPO3 features available
1174 See comments in the source.
1175 You are encouraged to use this library in your own scripts!
1176
1177 USE:
1178 The class is intended to be used without creating an instance of it.
1179 So: Don't instantiate - call functions with "t3lib_div::" prefixed the function name.
1180 So use t3lib_div::[method-name] to refer to the functions, eg. 't3lib_div::milliseconds()'
1181 ";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:109:{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:554:"
1182
1183 The legendary "t3lib_div" class - Miscellaneous functions for general purpose.
1184 Most of the functions does not relate specifically to TYPO3
1185 However a section of functions requires certain TYPO3 features available
1186 See comments in the source.
1187 You are encouraged to use this library in your own scripts!
1188
1189 USE:
1190 The class is intended to be used without creating an instance of it.
1191 So: Don't instantiate - call functions with "t3lib_div::" prefixed the function name.
1192 So use t3lib_div::[method-name] to refer to the functions, eg. 't3lib_div::milliseconds()'
1193 ";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:643;s:13:"content_lines";i:18;s:6:"atLine";i:200;}i:3;a:8:{s:6:"header";s:20:"function _GP($var)     {";s:11:"parentClass";s:9:"t3lib_div";s:11:"sectionText";a:7:{i:0;s:18:"GET/POST Variables";i:1;s:11:"Background:";i:2;s:105:"Input GET/POST variables in PHP may have their quotes escaped with "\" or not depending on configuration.";i:3;s:100:"TYPO3 has always converted quotes to BE escaped if the configuration told that they would not be so.";i:4;s:100:"But the clean solution is that quotes are never escaped and that is what the functions below offers.";i:5;s:65:"Eventually TYPO3 should provide this in the global space as well.";i:6;s:133:"In the transitional phase (or forever..?) we need to encourage EVERY to read and write GET/POST vars through the API functions below.";}s:4:"cDat";a:5:{s:4:"text";s:394:"
1194
1195 Returns the 'GLOBAL' value of incoming data from POST or GET, with priority to POST (that is equalent to 'GP' order)
1196 Strips slashes from all output, both strings and arrays.
1197 This function substitutes t3lib_div::GPvar()
1198 To enhancement security in your scripts, please consider using t3lib_div::_GET or t3lib_div::_POST if you already know by which method your data is arriving to the scripts!
1199 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"GET/POST var to return";}}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:5:"other";a:1:{i:0;s:12:"@see GPvar()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:8:"GPvar() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:251;s:13:"content_lines";i:5;s:6:"atLine";i:229;}i:5;a:7:{s:6:"header";s:24:"function _GET($var='') {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:147:"
1200
1201 Returns the global GET array (or value from) normalized to contain un-escaped values.
1202 ALWAYS use this API function to acquire the GET variables!
1203 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:66:"Optional pointer to value in GET array (basically name of GET var)";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:168:"If $var is set it returns the value of $HTTP_GET_VARS[$var]. If $var is blank or zero, returns $HTTP_GET_VARS itself. In any case *slashes are stipped from the output!*";}s:5:"other";a:1:{i:0;s:30:"@see _POST(), _GP(), _GETset()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:25:"_POST(), _GP(), _GETset()";}}}s:7:"content";s:0:"";s:12:"content_size";i:223;s:13:"content_lines";i:5;s:6:"atLine";i:243;}i:7;a:7:{s:6:"header";s:25:"function _POST($var='')        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:149:"
1204
1205 Returns the global POST array (or value from) normalized to contain un-escaped values.
1206 ALWAYS use this API function to acquire the POST variables!
1207 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:68:"Optional pointer to value in POST array (basically name of POST var)";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:170:"If $var is set it returns the value of $HTTP_POST_VARS[$var]. If $var is blank or zero, returns $HTTP_POST_VARS itself. In any case *slashes are stipped from the output!*";}s:5:"other";a:1:{i:0;s:18:"@see _GET(), _GP()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"_GET(), _GP()";}}}s:7:"content";s:0:"";s:12:"content_size";i:229;s:13:"content_lines";i:5;s:6:"atLine";i:257;}i:9;a:7:{s:6:"header";s:37:"function _GETset($inputGet,$key='')        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:47:"
1208
1209 Writes input value to $HTTP_GET_VARS / $_GET
1210 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:151:"Array to write to $HTTP_GET_VARS / $_GET. Values should NOT be escaped at input time (but will be escaped before writing according to TYPO3 standards).";}i:1;a:2:{i:0;s:6:"string";i:1;s:111:"Alternative key; If set, this will not set the WHOLE GET array, but only the key in it specified by this value!";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:461;s:13:"content_lines";i:10;s:6:"atLine";i:270;}i:11;a:7:{s:6:"header";s:31:"function GPvar($var,$strip=0)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:288:"
1211
1212 GET/POST variable
1213 Returns the 'GLOBAL' value of incoming data from POST or GET, with priority to POST (that is equalent to 'GP' order)
1214 Strips slashes of string-outputs, but not arrays UNLESS $strip is set. If $strip is set all output will have escaped characters unescaped.
1215
1216 Usage: 686
1217 ";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:5:"other";a:2:{i:0;s:90:"@depreciated            Use t3lib_div::_GP instead (ALWAYS delivers a value with un-escaped values!)";i:1;s:10:"@see _GP()";}s:11:"other_index";a:2:{s:12:"@depreciated";a:1:{i:0;s:76:"Use t3lib_div::_GP instead (ALWAYS delivers a value with un-escaped values!)";}s:4:"@see";a:1:{i:0;s:6:"_GP() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:555;s:13:"content_lines";i:6;s:6:"atLine";i:294;}i:13;a:7:{s:6:"header";s:36:"function setGPvars($list,$strip=0)  {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:71:"
1218
1219 Sets global variables from HTTP_POST_VARS or HTTP_GET_VARS
1220
1221 Usage: 9
1222 ";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: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:142;s:13:"content_lines";i:6;s:6:"atLine";i:311;}i:15;a:7:{s:6:"header";s:30:"function GParrayMerged($var)        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:6:{s:4:"text";s:83:"
1223
1224 Returns the GET/POST global arrays merged with POST taking precedence.
1225
1226 Usage: 1
1227 ";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: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:431;s:13:"content_lines";i:23;s:6:"atLine";i:328;}i:17;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:"
1228
1229 Compressing a GIF file if not already LZW compressed
1230 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)
1231
1232                 The function takes a file-reference, $theFile, and saves it again through GD or ImageMagick in order to compress the file
1233                 GIF:
1234                 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!)
1235                 If $type is set to either 'IM' or 'GD' the compression is done with ImageMagick and GD respectively
1236                 PNG:
1237                 No changes.
1238
1239                 $theFile is expected to be a valid GIF-file!
1240                 The function returns a code for the operation.
1241
1242 Usage: 11
1243 ";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:373;}i:19;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:"
1244
1245 Converts a png file to gif
1246
1247 This converts a png file to gif IF the FLAG $GLOBALS['TYPO3_CONF_VARS']['FE']['png_to_gif'] is set true.
1248
1249 Usage: 5
1250 ";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:401;}i:21;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:"
1251
1252 Returns filename of the png/gif version of the input file (which can be png or gif).
1253 If input file type does not match the wanted output type a conversion is made and temp-filename returned.
1254 Usage: 1
1255 ";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:425;}i:23;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:"
1256
1257 Truncate string
1258 Returns a new string of max. $chars length.
1259 If the string is longer, it will be truncated and appended with '...'.
1260
1261 Usage: 119
1262 ";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:474;}i:25;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:"
1263
1264 Truncate string
1265 Returns a new string of max. $chars length.
1266 If the string is longer, it will be truncated and prepended with '...'.
1267 This works like fixed_lgd, but is truncated in the start of the string instead of the end
1268
1269 Usage: 19
1270 ";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:496;}i:27;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:"
1271
1272 Breaks up the text for emails
1273
1274 Usage: 1
1275 ";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:510;}i:29;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:"
1276
1277 Breaks up a single line of text for emails
1278
1279 Usage: 3
1280 ";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:695;s:13:"content_lines";i:26;s:6:"atLine";i:530;}i:31;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:"
1281
1282 Match IP number with list of numbers with wildcard
1283
1284 Usage: 8
1285 ";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:911;s:13:"content_lines";i:35;s:6:"atLine";i:566;}i:33;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:"
1286
1287 Check for item in list
1288
1289 Check if an item exists in a comma-separated list of items.
1290
1291 Usage: 166
1292 ";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:613;}i:35;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:"
1293
1294 Removes an item from a comma-separated list of items.
1295
1296 Usage: 1
1297 ";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:626;}i:37;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:"
1298
1299 Forces the integer $theInt into the boundaries of $min and $max. If the $theInt is 'false' then the $zeroValue is applied.
1300
1301 Usage: 226
1302 ";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:645;}i:39;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:"
1303
1304 Returns the $integer if greater than zero, otherwise returns zero.
1305
1306 Usage: 1
1307 ";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:662;}i:41;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:"
1308
1309 Returns an integer from a three part version number, eg '4.12.3' -> 4012003
1310
1311 Usage: 2
1312 ";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:676;}i:43;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:"
1313
1314 Makes a positive integer hash out of the first 7 chars from the md5 hash of the input
1315
1316 Usage: 0
1317 ";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:45;s:13:"content_lines";i:3;s:6:"atLine";i:689;}i:45;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:"
1318
1319 Takes a comma-separated list and removes all duplicates
1320
1321 Usage: 16
1322 ";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:701;}i:47;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:"
1323
1324 Splits a reference to a file in 5 parts
1325
1326 Usage: 43
1327 ";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:458;s:13:"content_lines";i:20;s:6:"atLine";i:714;}i:49;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:"
1328
1329 Returns the directory part of a path without trailing slash
1330 If there is no dir-part, then an empty string is returned.
1331 Behaviour:
1332
1333 '/dir1/dir2/script.php' => '/dir1/dir2'
1334 '/dir1/' => '/dir1'
1335 'dir1/script.php' => 'dir1'
1336 'd/script.php' => 'd'
1337 '/script.php' => ''
1338 '' => ''
1339 Usage: 5
1340 ";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:751;}i:51;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:"
1341
1342 Modifies a HTML Hex color by adding/subtracting $R,$G and $B integers
1343
1344 Usage: 37
1345 ";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:768;}i:53;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:"
1346
1347 Modifies a HTML Hex color by adding/subtracting $all integer from all R/G/B channels
1348
1349 Usage: 4
1350 ";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:789;}i:55;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:"
1351
1352 Removes comma (if present) in the end of string
1353
1354 Usage: 4
1355 ";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:801;}i:57;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:"
1356
1357 strtoupper which converts danish (and other characters) characters as well
1358 (Depreciated, use PHP function with locale settings instead or for HTML output, wrap your content in <span class="uppercase">...</span>)
1359 Usage: 4
1360 ";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:814;}i:59;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:"
1361
1362 Change umlaut characters to plain ASCII with normally two character target
1363 Only known characters will be converted, so don't expect a result for any character.
1364 Works only for western europe single-byte charsets!
1365
1366 ä => ae, Ö => Oe
1367 ";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:829;}i:61;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:"
1368
1369 Returns the first 10 positions of the MD5-hash          (changed from 6 to 10 recently)
1370
1371 Usage: 43
1372 ";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:844;}i:63;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:"
1373
1374 Tests if the input is an integer.
1375
1376 Usage: 74
1377 ";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:856;}i:65;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:"
1378
1379 Returns true if the first part of $str matches the string $partStr
1380
1381 Usage: 58
1382 ";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:869;}i:67;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:"
1383
1384 Formats the input integer $sizeInBytes as bytes/kilobytes/megabytes (-/K/M)
1385
1386 Usage: 54
1387 ";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:716;s:13:"content_lines";i:27;s:6:"atLine";i:886;}i:69;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:"
1388
1389 Returns microtime input to milliseconds
1390
1391 Usage: 2
1392 ";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:922;}i:71;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:"
1393
1394 This splits a string by the chars in $operators (typical /+-*) and returns an array with them in
1395 Usage: 2
1396 ";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:936;}i:73;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:"
1397
1398 Calculates the input by +,-,*,/,%,^ with priority to + and -
1399 Usage: 1
1400 ";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:1002;s:13:"content_lines";i:31;s:6:"atLine";i:958;}i:75;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:"
1401
1402 Calculates the input with parenthesis levels
1403 Usage: 2
1404 ";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:998;}i:77;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:"
1405
1406 Inverse version of htmlspecialchars()
1407
1408 Usage: 2
1409 ";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:1025;}i:79;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:"
1410
1411 Re-converts HTML entities if they have been converted by htmlspecialchars()
1412 ";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:64;s:13:"content_lines";i:3;s:6:"atLine";i:1039;}i:81;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:"
1413
1414 This function is used to escape any ' -characters when transferring text to JavaScript!
1415 Usage: 6
1416 ";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:122;s:13:"content_lines";i:4;s:6:"atLine";i:1052;}i:83;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:"
1417
1418 Version of rawurlencode() where all spaces (%20) are re-converted to space-characters.
1419 Usefull when passing text to JavaScript where you simply url-encode it to get around problems with syntax-errors, linebreaks etc.
1420
1421 Usage: 8
1422 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:46:"String to raw-url-encode with spaces preserved";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:94:"Rawurlencoded result of input string, but with all %20 (space chars) converted to real spaces.";}}s:7:"content";s:0:"";s:12:"content_size";i:57;s:13:"content_lines";i:3;s:6:"atLine";i:1066;}i:85;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:"
1423
1424 rawurlencode which preserves "/" chars
1425 Usefull when filepaths should keep the "/" chars, but have all other special chars encoded.
1426 ";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:57;s:13:"content_lines";i:3;s:6:"atLine";i:1077;}i:87;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:"
1427
1428 Checking syntax of input email address
1429
1430 Usage: 4
1431 ";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:167;s:13:"content_lines";i:5;s:6:"atLine";i:1089;}i:89;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:"
1432
1433 Formats a string for output between <textarea>-tags
1434 All content outputted in a textarea form should be passed through this function
1435 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!
1436
1437 Usage: 30
1438 ";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:147;s:13:"content_lines";i:20;s:6:"atLine";i:1105;}i:91;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:"
1439
1440 Check if an item exists in an array
1441 Please note that the order of parameters is reverse compared to the php4-function in_array()!!!
1442
1443 Usage: 3
1444 ";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:1137;}i:93;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:"
1445
1446 Explodes a $string delimited by $delim and passes each item in the array through intval().
1447 Corresponds to explode(), but with conversion to integers for all values.
1448
1449 Usage: 86
1450 ";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:1155;}i:95;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:"
1451
1452 Reverse explode which explodes the string counting from behind.
1453 Thus t3lib_div::revExplode(':','my:words:here',2) will return array('my:words','here')
1454
1455 Usage: 6
1456 ";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:1175;}i:97;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:"
1457
1458 Explodes a string and trims all values for whitespace in the ends.
1459 If $onlyNonEmptyValues is set, then all blank ('') values are removed.
1460
1461 Usage: 239
1462 ";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:1196;}i:99;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:"
1463
1464 Takes a one-dimensional array and returns an array where the values are unique
1465 The keys in the array are substituted with some md5-hashes
1466 If the value is trim(empty), the value is ignored.
1467 Values are trimmed
1468 (Depreciated, use PHP function array_unique instead)
1469 Usage: 2
1470 ";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:1221;}i:101;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:"
1471
1472 Removes the value $cmpValue from the $array if found there. Returns the modified array
1473
1474 Usage: 2
1475 ";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:1244;}i:103;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:"
1476
1477 Implodes a multidim-array into GET-parameters (eg. &param[key][key2]=value2&param[key][key3]=value3)
1478
1479 Usage: 24
1480 ";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:550;s:13:"content_lines";i:16;s:6:"atLine";i:1273;}i:105;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:"
1481
1482 Returns an array with selected keys from incoming data.
1483 (Better read source code if you want to find out...)
1484 Usage: 3
1485 ";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:94:"If set, then t3lib_div::_GP() 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:250;s:13:"content_lines";i:12;s:6:"atLine";i:1300;}i:107;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:"
1486
1487 AddSlash array
1488 This function traverses a multidimentional array and adds slashes to the values.
1489 NOTE that the input array is and argument by reference.!!
1490 Twin-function to stripSlashesOnArray
1491
1492 Usage: 6
1493 ";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:1324;}i:109;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:"
1494
1495 StripSlash array
1496 This function traverses a multidimentional array and strips slashes to the values.
1497 NOTE that the input array is and argument by reference.!!
1498 Twin-function to addSlashesOnArray
1499
1500 Usage: 7
1501 ";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:1349;}i:111;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:"
1502
1503 Either slashes ($cmd=add) or strips ($cmd=strip) array $arr depending on $cmd
1504
1505 Usage: 6
1506 ";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:1372;}i:113;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:"
1507
1508 Merges two arrays recursively, overruling similar the values in the first array ($arr0) with the values of the second array ($arr1)
1509 In case of identical keys, ie. keeping the values of the second.
1510
1511 Usage: 26
1512 ";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:415;s:13:"content_lines";i:20;s:6:"atLine";i:1389;}i:115;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:"
1513
1514 An array_merge function where the keys are NOT renumbered as they happen to be with the real php-array_merge function
1515
1516 Usage: 27
1517 ";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:27;s:13:"content_lines";i:3;s:6:"atLine";i:1419;}i:117;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:"
1518
1519 Takes a row and returns a CSV string of the values with $delim (default is ,) and $quote (default is ") as separator chars.
1520
1521 Usage: 5
1522 ";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:384;s:13:"content_lines";i:32;s:6:"atLine";i:1433;}i:119;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:"
1523
1524 $tag is either a whole tag (eg '<TAG OPTION ATTRIB=VALUE>') or the parameterlist (ex ' OPTION ATTRIB=VALUE>')
1525 Returns an array with all attributes as keys. Attributes are only lowercase a-z
1526 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()
1527
1528 Usage: 9
1529 ";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:1476;}i:121;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:"
1530
1531 Returns an array with the 'components' from an attribute list from an HTML tag. The result is normally analyzed by get_tag_attributes
1532 Removes tag-name if found
1533
1534 Usage: 1
1535 ";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:1514;}i:123;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:"
1536
1537 Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
1538
1539 Usage: 10
1540 ";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:388;s:13:"content_lines";i:16;s:6:"atLine";i:1549;}i:125;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:"
1541
1542 Wraps JavaScript code XHTML ready with <script>-tags
1543 Automatic re-identing of the JS code is done by using the first line as ident reference.
1544 This is nice for identing JS code with PHP code on the same level.
1545 ";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:1577;}i:127;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:"
1546
1547 Parses XML input into a PHP array with associative keys
1548 ";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:1677;s:13:"content_lines";i:64;s:6:"atLine";i:1606;}i:129;a:7:{s:6:"header";s:117:"function array2xml($array,$NSprefix='',$level=0,$docTag='phparray',$spaceInd=0, $options=array(),$parentTagName='')        {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:1215:"
1549
1550 Converts a PHP array into an XML string.
1551 The XML output is optimized for readability since associative keys are used as tagnames.
1552 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!). However there are options you can set to avoid this problem.
1553 Numeric keys are stored with the default tagname "numIndex" but can be overridden to other formats)
1554 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
1555 The PHP variable type of the data is IS preserved as long as the types are strings, arrays, integers and booleans. Strings are the default type unless the "type" attribute is set.
1556 The output XML has been tested with the PHP XML-parser and parses OK under all tested circumstances.
1557 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...
1558 ";s:5:"param";a:7:{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";}i:5;a:2:{i:0;s:5:"array";i:1;s:286:"Options for the compilation. Key "useNindex" => 0/1 (boolean: whether to use "n0, n1, n2" for num. indexes); Key "useIndexTagForNum" => "[tag for numerical indexes]"; Key "useIndexTagForAssoc" => "[tag for associative indexes"; Key "parentTagMap" => array('parentTag' => 'thisLevelTag')";}i:6;a:2:{i:0;s:6:"string";i:1;s:29:"Parent tag name. Don't touch.";}}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:2999;s:13:"content_lines";i:72;s:6:"atLine";i:1691;}i:131;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:85:"
1559
1560 Converts an XML string to a PHP array.
1561 This is the reverse function of array2xml()
1562 ";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:3097;s:13:"content_lines";i:80;s:6:"atLine";i:1773;}i:133;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:"
1563
1564 This implodes an array of XML parts (made with xml_parse_into_struct()) into XML again.
1565 ";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:844;s:13:"content_lines";i:36;s:6:"atLine";i:1860;}i:135;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:"
1566
1567 Extract the encoding scheme as found in the first line of an XML document (typically)
1568 ";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:269;s:13:"content_lines";i:23;s:6:"atLine";i:1903;}i:137;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:"
1569
1570 Reads the file or url $url and returns the content
1571 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.
1572
1573 Usage: 79
1574 ";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:1146;s:13:"content_lines";i:33;s:6:"atLine";i:1936;}i:139;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:"
1575
1576 Writes $content to the file $file
1577
1578 Usage: 31
1579 ";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:276;s:13:"content_lines";i:13;s:6:"atLine";i:1979;}i:141;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:"
1580
1581 Returns an array with the names of folders in a specific path
1582 Will return 'error' (string) if there were an error with reading directory content.
1583
1584 Usage: 13
1585 ";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:2002;}i:143;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:"
1586
1587 Returns an array with the names of files in a specific path
1588
1589 Usage: 17
1590 ";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:913;s:13:"content_lines";i:34;s:6:"atLine";i:2028;}i:145;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:"
1591
1592 Recursively gather all files and folders of a path.
1593 ";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:2073;}i:147;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:"
1594
1595 Removes the absolute part of all files/folders in fileArr
1596 ";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:292;s:13:"content_lines";i:8;s:6:"atLine";i:2095;}i:149;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:"
1597
1598 Fixes a path for windows-backslashes and reduces double-slashes to single slashes
1599
1600 Usage: 2
1601 ";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:70;s:13:"content_lines";i:3;s:6:"atLine";i:2112;}i:151;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:"
1602
1603 Resolves "../" sections in the input path string
1604 ";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:2122;}i:153;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:"
1605
1606 Prefixes a URL used with 'header-location' with 'http://...' depending on whether it has it already.
1607 - If already having a scheme, nothing is prepended
1608 - If having REQUEST_URI slash '/', then prefixing 'http://[host]' (relative to host)
1609 - Otherwise prefixed with TYPO3_REQUEST_DIR (relative to current dir / TYPO3_REQUEST_DIR)
1610
1611 Usage: 31
1612 ";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:384;s:13:"content_lines";i:30;s:6:"atLine";i:2150;}i:155;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:"
1613
1614 Returns a string with a list of ascii-values for the first $characters characters in $string
1615 Usage: 5
1616 ";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:2190;}i:157;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:"
1617
1618 Returns HTML-code, which is a visual representation of a multidimensional array
1619 use t3lib_div::print_array() in order to print an array
1620 Returns false if $array_in is not an array
1621 Usage: 27
1622 ";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:2207;}i:159;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:"
1623
1624 Prints an array
1625 Usage: 28
1626 ";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:2235;}i:161;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:"
1627
1628 Makes debug output
1629 Prints $var in bold between two vertical lines
1630 If not $var the word 'debug' is printed
1631 If $var is an array, the array is printed by t3lib_div::print_array()
1632
1633 Usage: 8
1634 ";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:1011;s:13:"content_lines";i:62;s:6:"atLine";i:2251;}i:163;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:"
1635
1636 Returns the HOST+DIR-PATH of the current script (The URL, but without 'http://' and without script-filename)
1637 Usage: 1
1638 ";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:2320;}i:165;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:"
1639
1640 Returns the link-url to the current script.
1641 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.
1642 REMEMBER to always htmlspecialchar() content in href-properties to ampersands get converted to entities (XHTML requirement and XSS precaution)
1643
1644 Usage: 54
1645 ";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:330;s:13:"content_lines";i:14;s:6:"atLine";i:2337;}i:167;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:"
1646
1647 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.
1648 So basically it adds the parameters in $getParams to an existing URL, $url
1649 Usage: 2
1650 ";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:299;s:13:"content_lines";i:12;s:6:"atLine";i:2361;}i:169;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:"
1651
1652 Abstraction method which returns System Environment Variables regardless of server OS, CGI/MODULE version etc. Basically this is SERVER variables for most of them.
1653 This should be used instead of getEnv() and HTTP_SERVER_VARS/ENV_VARS to get reliable values for all situations.
1654
1655 Usage: 226
1656 ";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:7879;s:13:"content_lines";i:174;s:6:"atLine";i:2383;}i:171;a:7:{s:6:"header";s:25:"function milliseconds() {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:89:"
1657
1658 milliseconds
1659
1660 microtime recalculated to t3lib_div::milliseconds(1/1000 sec)
1661
1662 Usage: 39
1663 ";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:72;s:13:"content_lines";i:4;s:6:"atLine";i:2567;}i:173;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:"
1664
1665 Client Browser Information
1666
1667 Usage: 4
1668 ";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:2016;s:13:"content_lines";i:77;s:6:"atLine";i:2580;}i:175;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:"
1669
1670 Returns the absolute filename of $filename.
1671 Decodes the prefix EXT: for TYPO3 Extensions.
1672
1673 Usage: 9
1674 ";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:868;s:13:"content_lines";i:24;s:6:"atLine";i:2669;}i:177;a:7:{s:6:"header";s:33:"function validPathStr($theFile) {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:5:{s:4:"text";s:262:"
1675
1676 Returns true if no '//', '..' or '\' is in the $theFile
1677 This should make sure that the path is not pointing 'backwards' and further doesn't contain double/back slashes.
1678 So it's compatible with  the UNIX style path strings valid for TYPO3 internally.
1679
1680 Usage: 8
1681 ";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:116:"@todo       Possible improvement: Should it rawurldecode the string first to check if any of these characters is encoded ?";}s:11:"other_index";a:1:{s:5:"@todo";a:1:{i:0;s:110:"Possible improvement: Should it rawurldecode the string first to check if any of these characters is encoded ?";}}}s:7:"content";s:0:"";s:12:"content_size";i:100;s:13:"content_lines";i:3;s:6:"atLine";i:2705;}i:179;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:"
1682
1683 Checks if the $path is absolute or relative (detecting either '/' or 'x:/' as first part of string) and returns true if so.
1684
1685 Usage: 9
1686 ";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:2717;}i:181;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:"
1687
1688 Returns true if the path is absolute, without backpath '..' and within the PATH_site OR within the lockRootPath
1689
1690 Usage: 1
1691 ";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:307;s:13:"content_lines";i:9;s:6:"atLine";i:2729;}i:183;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:"
1692
1693 Verifies the input filename againts the 'fileDenyPattern'. Returns true if OK.
1694
1695 Usage: 2
1696 ";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:288;s:13:"content_lines";i:7;s:6:"atLine";i:2747;}i:185;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:"
1697
1698 Moves $source file to $destination if uploaded, otherwise try to make a copy
1699 Usage: 3
1700 ";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:708;s:13:"content_lines";i:18;s:6:"atLine";i:2765;}i:187;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:"
1701
1702 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.
1703 Use this function to move uploaded files to where you can work on them.
1704 REMEMBER to use t3lib_div::unlink_tempfile() afterwards - otherwise temp-files will build up! They are NOT automatically deleted in PATH_site."typo3temp/"!
1705 ";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:2793;}i:189;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:"
1706
1707 Deletes (unlink) a temporary filename in 'PATH_site."typo3temp/"' given as input.
1708 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.
1709 Use this after upload_to_tempfile() or tempnam() from this class!
1710 ";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:253;s:13:"content_lines";i:5;s:6:"atLine";i:2810;}i:191;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:"
1711
1712 Create temporary filename (Create file with unique file name)
1713 This function should be used for getting temporary filenames - will make your applications safe for open_basedir = on
1714 REMEMBER to delete the temporary files after use! This is done by t3lib_div::unlink_tempfile()
1715 ";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:59;s:13:"content_lines";i:3;s:6:"atLine";i:2825;}i:193;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:"
1716
1717 standard authentication code - can't remember what it's used for.
1718 Usage: 2
1719 ";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:517;s:13:"content_lines";i:21;s:6:"atLine";i:2838;}i:195;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:"
1720
1721 Loads the $TCA (Table Configuration Array) for the $table
1722
1723 Requirements:
1724 1) must be configured table (the ctrl-section configured),
1725 2) columns must not be an array (which it is always if whole table loaded), and
1726 3) there is a value for dynamicConfigFile (filename in typo3conf)
1727 Usage: 92
1728 ";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:613;s:13:"content_lines";i:10;s:6:"atLine";i:2872;}i:197;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:269:"
1729
1730 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).
1731 If the sheet definition is in an external file that file is parsed and the data structure inside of that is returned.
1732 ";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:613;s:13:"content_lines";i:20;s:6:"atLine";i:2891;}i:199;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:"
1733
1734 Resolves ALL sheet definitions in dataStructArray
1735 If no sheet is found, then the default "sDEF" will be created with the dataStructure inside.
1736 ";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:438;s:13:"content_lines";i:15;s:6:"atLine";i:2919;}i:201;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:"
1737
1738 Calls a userdefined function/method in class
1739 Such a function/method should look like this: "function proc(&$params, &$ref)   {...}"
1740
1741 Usage: 3
1742 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:674:"Method reference, [class]->[method] or [function]. You can prefix this reference with "[file-reference]:" and t3lib_div::getFileAbsFileName() will then be used to resolve the filename and subsequently include it by "require_once()" which means you don't have to worry about including the class file either! Example: "EXT:realurl/class.tx_realurl.php:tx_realurl->>encodeSpURL". Finally; for method references the normal operator "->" creates a new instance each time; if you use "->>" instead you will reuse the previous instance of the object identified by the full reference string (meaning; if you call another method in the same class another object is created for that).";}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:2747;s:13:"content_lines";i:92;s:6:"atLine";i:2948;}i:203;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:"
1743
1744 Find the best service and check if it works.
1745 Returns object of the service class.
1746 ";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:795;s:13:"content_lines";i:29;s:6:"atLine";i:3051;}i:205;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:"
1747
1748 Return classname for new instance
1749 Takes the class-extensions API of TYPO3 into account
1750
1751 Usage: 18
1752 ";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:108;s:13:"content_lines";i:3;s:6:"atLine";i:3090;}i:207;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:"
1753
1754 Simple substitute for the PHP function mail().
1755 The fifth parameter, $enc, will allow you to specify 'base64' encryption for the output (set $enc=base64)
1756 Further the output has the charset set to ISO-8859-1 by default.
1757
1758 Usage: 4
1759 ";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:1322;s:13:"content_lines";i:34;s:6:"atLine";i:3110;}i:209;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:"
1760
1761 Implementation of quoted-printable encode.
1762 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!
1763 (Originally taken from class.t3lib_htmlmail.php - which may be updated if this function should ever be improved!
1764 See RFC 1521, section 5.1 Quoted-Printable Content-Transfer-Encoding
1765
1766 Usage: 2
1767 ";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:1127;s:13:"content_lines";i:30;s:6:"atLine";i:3157;}i:211;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:"
1768
1769 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.
1770 This function is about preserving long links in messages.
1771
1772 Usage: 3
1773 ";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:3200;}i:213;a:7:{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:"
1774
1775 Subfunction for substUrlsInPlainText() above.
1776
1777 Usage: 2
1778 ";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:7:"content";s:0:"";s:12:"content_size";i:618;s:13:"content_lines";i:19;s:6:"atLine";i:3235;}i:215;a:4:{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:"
1779
1780 Function to compensate for FreeType2 96 dpi
1781
1782 Usage: 16
1783 ";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:6:"atLine";i:3263;}i:217;a:7:{s:6:"header";s:61:"function devLog($msg, $extKey, $severity=0, $dataVar=FALSE)       {";s:11:"parentClass";s:9:"t3lib_div";s:4:"cDat";a:3:{s:4:"text";s:697:"
1784
1785 Developer log; This should be implemented around the source code, both frontend and backend, logging everything from the flow through an application, messages, results from comparisons to fatal errors.
1786 The result is meant to make sense to developers during development or debugging of a site.
1787 The idea is that this function is only a wrapper for external extensions which can set a hook which will be allowed to handle the logging of the information to any format they might wish and with any kind of filter they would like.
1788 If you want to implement the devLog in your applications, simply add lines like:
1789                 if (TYPO3_DLOG) t3lib_div::devLog('[write message in english here]', 'extension key');
1790 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Message (in english).";}i:1;a:2:{i:0;s:6:"string";i:1;s:60:"Extension key (from which extension you are calling the log)";}i:2;a:2:{i:0;s:7:"integer";i:1;s:84:"Severity: 0 is info, 1 is notice, 2 is warning, 3 is fatal error, -1 is "OK" message";}i:3;a:2:{i:0;s:5:"array";i:1;s:47:"Additional data you want to pass to the logger.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:416;s:13:"content_lines";i:13;s:6:"atLine";i:3282;}}}s:14:"MD5_d27fb8aa89";a:4:{s:8:"filename";s:22:"class.t3lib_extmgm.php";s:8:"filesize";i:39305;s:6:"header";a:5:{s:4:"text";s:164:"
1791
1792 Extension Management functions
1793
1794 This class is never instantiated, rather the methods inside is called as functions like
1795                 t3lib_extMgm::isLoaded('my_extension');
1796 ";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:"
1797
1798 Extension Management functions
1799
1800 This class is never instantiated, rather the methods inside is called as functions like
1801                 t3lib_extMgm::isLoaded('my_extension');
1802 ";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:"
1803
1804 Returns true if the extension with extension key $key is loaded.
1805 ";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:"
1806
1807 Returns the absolute path to the extension with extension key $key
1808 If the extension is not loaded the function will die with an error message
1809 Useful for internal fileoperations
1810 ";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:"
1811
1812 Returns the relative path to the extension as measured from from the TYPO3_mainDir
1813 If the extension is not loaded the function will die with an error message
1814 Useful for images and links from backend
1815 ";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:"
1816
1817 Returns the relative path to the extension as measured from the PATH_site (frontend)
1818 If the extension is not loaded the function will die with an error message
1819 Useful for images and links from the frontend
1820 ";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:"
1821
1822 Returns the correct class name prefix for the extension key $key
1823 ";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:426:"
1824
1825 Adding fields to an existing table definition in $TCA
1826 Adds an array with $TCA column-configuration to the $TCA-entry for that table.
1827 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!
1828 So to have the fields displayed you must also call fx. addToAllTCAtypes or manually add the fields to the types list.
1829 FOR USE IN ext_tables.php FILES
1830 ";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:448:"
1831
1832 Makes fields visible on the form, adding them to the end.
1833
1834 Adds a string $str (comma list of field names) to all ["types"][xxx]["showitem"] entries for table $table (unless limited by $specificTypesList)
1835 This is needed to have new fields shown automatically in the TCEFORMS of a record from $table.
1836 Typically this function is called after having added new columns (database fields) with the addTCAcolumns function
1837 FOR USE IN ext_tables.php FILES
1838 ";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:"
1839
1840 Add tablename to default list of allowed tables on pages.
1841 Will add the $table to the list of tables allowed by default on pages as setup by $PAGES_TYPES['default']['allowedTables']
1842 FOR USE IN ext_tables.php FILES
1843 ";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:"
1844
1845 Adds a module (main or sub) to the backend interface
1846 FOR USE IN ext_tables.php FILES
1847 ";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:"
1848
1849 Adds a "Function menu module" ('third level module') to an existing function menu for some other backend module
1850 The arguments values are generally determined by which function menu this is supposed to interact with
1851 See Inside TYPO3 for information on how to use this function.
1852 FOR USE IN ext_tables.php FILES
1853 ";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:"
1854
1855 Adds $content to the default Page TSconfig as set in $TYPO3_CONF_VARS[BE]['defaultPageTSconfig']
1856 Prefixed with a [GLOBAL] line
1857 FOR USE IN ext_tables.php/ext_locallang.php FILES
1858 ";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:"
1859
1860 Adds $content to the default User TSconfig as set in $TYPO3_CONF_VARS[BE]['defaultUserTSconfig']
1861 Prefixed with a [GLOBAL] line
1862 FOR USE IN ext_tables.php/ext_locallang.php FILES
1863 ";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:"
1864
1865 Adds a reference to a locallang file with TCA_DESCR labels
1866 FOR USE IN ext_tables.php FILES
1867 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.
1868 ";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:"
1869
1870 Adds a service to the global services array
1871 ";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:"
1872
1873 Find the available service with highest priority
1874 ";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:"
1875
1876 Deactivate a service
1877 ";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:"
1878
1879 Adds an entry to the list of plugins in content elements of type "Insert plugin"
1880
1881 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)
1882 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.
1883 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
1884 FOR USE IN ext_tables.php FILES
1885 ";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:181:"
1886
1887 Adds an entry to the "ds" array of the tt_content field "pi_flexform".
1888 This is used by plugins to add a flexform XML reference / content for use when they are selected as plugin.
1889 ";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:"
1890
1891 Adds the $table tablename to the list of tables allowed to be includes by content element type "Insert records"
1892 By using $content_table and $content_field you can also use the function for other tables.
1893 FOR USE IN ext_tables.php FILES
1894 ";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:1050:"
1895
1896 Add PlugIn to Static Template #43
1897
1898 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.
1899 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.
1900 $type determines the type of frontend plugin:
1901                 "list_type" (default)   - the good old "Insert plugin" entry
1902                 "menu_type"     - a "Menu/Sitemap" entry
1903                 "splash_layout" - a "Textbox" entry
1904                 "CType" - a new content element type
1905                 "header_layout" - an additional header type (added to the selection of layout1-5)
1906                 "includeLib" - just includes the library for manual use somewhere in TypoScript.
1907         (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)
1908 FOR USE IN ext_locallang.php FILES
1909 ";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:"
1910
1911 Call this method to add an entry in the static template list found in sys_templates
1912 "static template files" are the modern equalent (provided from extensions) to the traditional records in "static_templates"
1913 FOR USE IN ext_locallang.php FILES
1914 ";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:"
1915
1916 Adds $content to the default TypoScript setup code as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_setup']
1917 Prefixed with a [GLOBAL] line
1918 FOR USE IN ext_locallang.php FILES
1919 ";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:"
1920
1921 Adds $content to the default TypoScript constants code as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_constants']
1922 Prefixed with a [GLOBAL] line
1923 FOR USE IN ext_locallang.php FILES
1924 ";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:"
1925
1926 Adds $content to the default TypoScript code for either setup, constants or editorcfg as set in $TYPO3_CONF_VARS[FE]['defaultTypoScript_*']
1927 (Basically this function can do the same as addTypoScriptSetup and addTypoScriptConstants - just with a little more hazzle, but also with some more options!)
1928 FOR USE IN ext_locallang.php FILES
1929 ";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:"
1930
1931 Loading extensions configured in $TYPO3_CONF_VARS['EXT']['extList']
1932
1933 CACHING ON: ($TYPO3_CONF_VARS['EXT']['extCache'] = 1 or 2)
1934                 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.
1935                 If cachefiles are not found they will be generated
1936 CACHING OFF:    ($TYPO3_CONF_VARS['EXT']['extCache'] = 0)
1937                 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.
1938                 This array will later be set in the global var $TYPO3_LOADED_EXT
1939
1940 Usages of this function can be see in config_default.php
1941 Extensions are always detected in the order local - global - system.
1942 ";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:"
1943
1944 Returns the section headers for the compiled cache-files.
1945 ";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:"
1946
1947 Returns true if both the localconf and tables cache file exists (with $cacheFilePrefix)
1948 ";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:"
1949
1950 Returns true if the "localconf.php" file in "typo3conf/" is writable
1951 ";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:"
1952
1953 Returns an error string if typo3conf/ or cache-files with $cacheFilePrefix are NOT writable
1954 Returns false if no problem.
1955 ";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:"
1956
1957 Returns an array with the two cache-files (0=>localconf, 1=>tables) from typo3conf/ if they (both) exist. Otherwise false.
1958 Evaluation relies on $TYPO3_LOADED_EXT['_CACHEFILE']
1959 ";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:"
1960
1961 Compiles/Creates the two cache-files in typo3conf/ based on $cacheFilePrefix
1962 Returns a array with the key "_CACHEFILE" set to the $cacheFilePrefix value
1963 ";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:11161;s:6:"header";a:5:{s:4:"text";s:1160:"
1964
1965 Parent class for 'Extension Objects' in backend modules.
1966 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...
1967 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...)
1968 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)
1969 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.
1970 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.
1971 ";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:"
1972
1973 Parent class for 'Extension Objects' in backend modules.
1974 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...
1975 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...)
1976 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)
1977 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.
1978 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.
1979 ";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:"
1980
1981 Initialize the object
1982 ";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:"
1983
1984 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
1985 ";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:526;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:"
1986
1987 Including any locallang file configured and merging its content over the current global LOCAL_LANG array (which is EXPECTED to exist!!!)
1988 ";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:"
1989
1990 Same as t3lib_SCbase::checkExtObj()
1991 ";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:361;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:"
1992
1993 Calls the main function inside ANOTHER sub-submodule which might exist.
1994 ";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:"
1995
1996 Dummy function - but is used to set up additional menu items for this submodule.
1997 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()
1998 ";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:10520;s:6:"header";a:5:{s:4:"text";s:103:"
1999
2000 Extension class for the t3lib_treeView class, specially made for browsing folders in the File module
2001 ";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:"
2002
2003 Extension class for the t3lib_treeView class, specially made for browsing folders in the File module
2004 ";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:79;}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:"
2005
2006 Constructor function of the class
2007 ";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:86;}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:"
2008
2009 Wrapping the folder icon
2010 ";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:104;}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:"
2011
2012 Returns the id from the record - for folders, this is an md5 hash.
2013 ";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:124;}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:"
2014
2015 Returns jump-url parameter value.
2016 ";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:134;}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:165:"
2017
2018 Returns the title for the input record. If blank, a "no title" labele (localized) will be returned.
2019 '_title' is used for setting an alternative title for folders.
2020 ";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:146;}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:"
2021
2022 Will create and return the HTML code for a browsable tree of folders.
2023 Is based on the mounts found in the internal array ->MOUNTS (set in the constructor)
2024 ";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:156;}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:"
2025
2026 Fetches the data for the tree
2027 ";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:219;}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:"
2028
2029 Counts the number of directories in a file path.
2030 ";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:299;}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:"
2031
2032 Get stored tree structure AND updating it if needed according to incoming PM GET var.
2033 ";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:1131;s:13:"content_lines";i:31;s:6:"atLine";i:315;}}}s:14:"MD5_c3a82d6efd";a:4:{s:8:"filename";s:24:"class.t3lib_formmail.php";s:8:"filesize";i:6929;s:6:"header";a:5:{s:4:"text";s:92:"
2034
2035 Formmail class, used by the TYPO3 "cms" extension (default frontend) to send email forms.
2036 ";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:"
2037
2038 Formmail class, used by the TYPO3 "cms" extension (default frontend) to send email forms.
2039 ";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:"
2040
2041 Start function
2042 This class is able to generate a mail in formmail-style from the data in $V
2043 Fields:
2044
2045 [recipient]:            email-adress of the one to receive the mail. If array, then all values are expected to be recipients
2046 [attachment]:           ....
2047
2048 [subject]:                      The subject of the mail
2049 [from_email]:           Sender email. If not set, [email] is used
2050 [from_name]:            Sender name. If not set, [name] is used
2051 [replyto_email]:        Reply-to email. If not set [from_email] is used
2052 [replyto_name]:         Reply-to name. If not set [from_name] is used
2053 [organisation]:         Organisation (header)
2054 [priority]:                     Priority, 1-5, default 3
2055 [html_enabled]:         If mail is sent as html
2056 [quoted_printable]:     if set, quoted-printable will be used instead of base 64
2057 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:90:"Contains values for the field names listed above (with slashes removed if from POSt input)";}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:"
2058
2059 Adds an attachment to the mail
2060 ";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:164;}}}s:14:"MD5_6d3083c6db";a:4:{s:8:"filename";s:25:"class.t3lib_iconworks.php";s:8:"filesize";i:20372;s:6:"header";a:5:{s:4:"text";s:401:"
2061
2062 Icon generation, backend
2063 This library has functions that returns - and if necessary creates - the icon for an element in TYPO3
2064
2065 Expects global vars:
2066 - $BACK_PATH
2067 - PATH_typo3
2068 - $TCA, $PAGES_TYPES
2069
2070
2071 Notes:
2072 These functions are strongly related to the interface of TYPO3.
2073 The class is included in eg. init.php
2074 ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"
2075 ";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:"
2076
2077 Icon generation, backend
2078 This library has functions that returns - and if necessary creates - the icon for an element in TYPO3
2079
2080 Expects global vars:
2081 - $BACK_PATH
2082 - PATH_typo3
2083 - $TCA, $PAGES_TYPES
2084
2085
2086 Notes:
2087 These functions are strongly related to the interface of TYPO3.
2088 The class is included in eg. init.php
2089 ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"
2090 ";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:132:"
2091
2092 Returns an icon image tag, 18x16 pixels, based on input information.
2093 This function is recommended to use in your backend modules.
2094 ";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:"
2095
2096 Creates the icon for input table/row
2097 Returns filename for the image icon, relative to PATH_typo3
2098 ";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:"
2099
2100 Returns the src=... for the input $src value OR any alternative found in $TBE_STYLES['skinImg']
2101 Used for skinning the TYPO3 backend with an alternative set of icons
2102 ";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:"
2103
2104 Creates the icon file for the function getIcon()
2105 ";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:"
2106
2107 The necessity of using this function for combining two images if GD is version 2 is that
2108         GD2 cannot manage to combine two indexed-color images without totally spoiling everything.
2109         In class.t3lib_stdgraphic this was solved by combining the images onto a first created true color image
2110         However it has turned out that this method will not work if the indexed png-files contains transparency.
2111         So I had to turn my attention to ImageMagick - my 'enemy of death'.
2112         And so it happend - ImageMagick is now used to combine my two indexed-color images with transparency. And that works.
2113         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+)
2114         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.
2115
2116 For parameters, see PHP function "imagecopyresized()"
2117 ";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:"
2118
2119 Create new image pointer from input file (either gif/png, in case the wrong format it is converted by t3lib_div::read_png_gif())
2120 ";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:"
2121
2122 Write the icon in $im pointer to $path
2123 ";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:13072;s:6:"header";a:5:{s:4:"text";s:171:"
2124
2125 Load database groups (relations)
2126 Used to process the relations created by the TCA element types "group" and "select" for database records. Manages MM-relations as well.
2127 ";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:"
2128
2129 Load database groups (relations)
2130 Used to process the relations created by the TCA element types "group" and "select" for database records. Manages MM-relations as well.
2131 ";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:"
2132
2133 Initialization of the class.
2134 ";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:"
2135
2136 Explodes the item list and stores the parts in the internal arrays itemArray and tableArray from MM records.
2137 ";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:"
2138
2139 Reads the record tablename/id into the internal arrays itemArray and tableArray from MM records.
2140 You can call this function after start if you supply no list to start()
2141 ";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:947;s:13:"content_lines";i:20;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:"
2142
2143 Writes the internal itemArray to MM table:
2144 ";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:671;s:13:"content_lines";i:29;s:6:"atLine";i:213;}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:"
2145
2146 After initialization you can extract an array of the elements from the object. Use this function for that.
2147 ";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:249;}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:"
2148
2149 Converts id numbers from negative to positive.
2150 ";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:277;}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:"
2151
2152 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.
2153 If $this->fromTC is set you can save a little memory since only uid,pid and a few other fields are selected.
2154 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:299;}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:"
2155
2156 Prepare items from itemArray to be transferred to the TCEforms interface (as a comma list)
2157 ";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:331;}}}s:14:"MD5_2da34acc99";a:4:{s:8:"filename";s:27:"class.t3lib_loadmodules.php";s:8:"filesize";i:19505;s:6:"header";a:5:{s:4:"text";s:179:"
2158
2159 Load Backend Interface modules
2160
2161 Typically instantiated like this:
2162                 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
2163                 $this->loadModules->load($TBE_MODULES);
2164 ";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:"
2165
2166 Load Backend Interface modules
2167
2168 Typically instantiated like this:
2169                 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
2170                 $this->loadModules->load($TBE_MODULES);
2171 ";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:"
2172
2173 Init.
2174 The outcome of the load() function will be a $this->modules array populated with the backend module structure available to the BE_USER
2175 Further the global var $LANG will have labels and images for the modules loaded in an internal array.
2176 ";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:"
2177
2178 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
2179 ";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:"
2180
2181 Here we check for the module. If not a conf-file is set then it's regarded to be a spacer
2182 Return values:
2183         'notFound':     If the module was not found in the path
2184         false:          If no access to the module
2185         array():        Configuration array, in case a valid module where access IS granted exists.
2186 ";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:"
2187
2188 Returns true if the internal BE_USER has access to the module $name with $MCONF (based on security level set for that module)
2189 ";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:"
2190
2191 Parses the moduleArray ($TBE_MODULES) into a internally useful structure.
2192 Returns an array where the keys are names of the module and the values may be true (only module) or an array (of submodules)
2193 ";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:"
2194
2195 The $str is cleaned so that it contains alphanumerical characters only. Modules must only consist of these characters
2196 ";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:"
2197
2198 Get relative path for $destDir compared to $baseDir
2199 ";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:17912;s:6:"header";a:5:{s:4:"text";s:121:"
2200
2201 Matching TypoScript conditions
2202
2203 Used with the TypoScript parser.
2204 Matches browserinfo, IPnumbers for use with templates
2205 ";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:"
2206
2207 Matching TypoScript conditions
2208
2209 Used with the TypoScript parser.
2210 Matches browserinfo, IPnumbers for use with templates
2211 ";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:"
2212
2213 Evaluates a TypoScript condition given as input, eg. "[browser=net][...(other conditions)...]"
2214 ";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:"
2215
2216 Will evaluate a $value based on an operator: "<", ">" or "=" (default)
2217 ";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:"
2218
2219 Matching two strings against each other, supporting a "*" wildcard in either end of the $needle
2220 ";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:"
2221
2222 Returns a code for a browsing device based on the input useragent string
2223 ";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:"
2224
2225 Generates an array with abstracted browser information
2226 In the function match() this method is called and the result stored in $this->browserInfoArray
2227 ";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:"
2228
2229 Return global variable where the input string $var defines array keys separated by "|"
2230 ";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:"
2231
2232 Returns GP / ENV / TSFE vars
2233 ";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:997;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:25236;s:6:"header";a:5:{s:4:"text";s:222:"
2234
2235 Page functions, a lot of sql/pages-related functions
2236 Mainly used in the frontend but also in some cases in the backend.
2237 It's important to set the right $where_hid_del in the object so that the functions operate properly
2238 ";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:"
2239
2240 Page functions, a lot of sql/pages-related functions
2241 Mainly used in the frontend but also in some cases in the backend.
2242 It's important to set the right $where_hid_del in the object so that the functions operate properly
2243 ";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:218:"
2244
2245 init() MUST be run directly after creating a new template-object
2246 This sets the internal variable $this->where_hid_del to the correct where clause for page records taking deleted/hidden/starttime/endtime into account
2247 ";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:"
2248
2249 Returns the $row for the page with uid = $uid (observing ->where_hid_del)
2250 Any pages_language_overlay will be applied before the result is returned.
2251 If no page is found an empty array is returned.
2252 ";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:231;s:13:"content_lines";i:7;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:"
2253
2254 Return the $row for the page with uid = $uid WITHOUT checking for ->where_hid_del (start- and endtime or hidden). Only "deleted" is checked!
2255 ";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:239;s:13:"content_lines";i:7;s:6:"atLine";i:169;}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:"
2256
2257 Returns the $row of the first web-page in the tree (for the default menu...)
2258 ";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:317;s:13:"content_lines";i:9;s:6:"atLine";i:184;}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:"
2259
2260 Returns a pagerow for the page with alias $alias
2261 ";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:285;s:13:"content_lines";i:8;s:6:"atLine";i:201;}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:"
2262
2263 Returns the relevant page overlay record fields
2264 ";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:1709;s:13:"content_lines";i:66;s:6:"atLine";i:217;}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:"
2265
2266 Returns an array with pagerows for subpages with pid=$uid (which is pid here!). This is used for menus.
2267 ";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:303;s:13:"content_lines";i:8;s:6:"atLine";i:294;}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:163:"
2268
2269 Will find the page carrying the domain record matching the input domain.
2270 Might exit after sending a redirect-header IF a found domain record instructs to do so.
2271 ";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:1123;s:13:"content_lines";i:34;s:6:"atLine";i:313;}i:19;a:7:{s:6:"header";s:36:"function getRootLine($uid, $MP='')       {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:5:{s:4:"text";s:469:"
2272
2273 Returns array with fields of the pages from here ($uid) and back to the root
2274 NOTICE: This function only takes deleted pages into account! So hidden, starttime and endtime restricted pages are included no matter what.
2275 Further: If any "recycler" page is found (doktype=255) then it will also block for the rootline)
2276 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']
2277 ";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:1651;s:13:"content_lines";i:50;s:6:"atLine";i:359;}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:"
2278
2279 Creates a "path" string for the input root line array titles.
2280 Used for writing statistics.
2281 ";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:419;}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:"
2282
2283 Returns the URL type for the input page row IF the doktype is 3 and not disabled.
2284 ";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:440;}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:87:"
2285
2286 Checks if a record exists and is accessible.
2287 The row is returned if everything's OK.
2288 ";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:598;s:13:"content_lines";i:20;s:6:"atLine";i:481;}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:"
2289
2290 Returns record no matter what - except if record is deleted
2291 ";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:276;s:13:"content_lines";i:10;s:6:"atLine";i:511;}i:29;a:7:{s:6:"header";s:109:"function getRecordsByField($theTable,$theField,$theValue,$whereClause='',$groupBy='',$orderBy='',$limit='')       {";s:11:"parentClass";s:16:"t3lib_pageSelect";s:4:"cDat";a:3:{s:4:"text";s:78:"
2292
2293 Selects records based on matching a field (ei. other than UID) with a value
2294 ";s:5:"param";a:7:{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:105:"Optional additional WHERE clauses put in the end of the query. DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!";}i:4;a:2:{i:0;s:6:"string";i:1;s:57:"Optional GROUP BY field(s), if none, supply blank string.";}i:5;a:2:{i:0;s:6:"string";i:1;s:57:"Optional ORDER BY field(s), if none, supply blank string.";}i:6;a:2:{i:0;s:6:"string";i:1;s:65:"Optional LIMIT value ([begin,]max), if none, supply blank string.";}}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:699;s:13:"content_lines";i:40;s:6:"atLine";i:534;}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:"
2295
2296 Returns string value stored for the hash string in the table "cache_hash"
2297 Can be used to retrieved a cached value
2298 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()
2299 ";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:405;s:13:"content_lines";i:12;s:6:"atLine";i:585;}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:"
2300
2301 Stores a string value in the cache_hash table identified by $hash.
2302 Can be used from your frontend plugins if you like. You can call it directly like t3lib_pageSelect::storeHash()
2303 ";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:315;s:13:"content_lines";i:10;s:6:"atLine";i:608;}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:"
2304
2305 Returns the "AND NOT deleted" clause for the tablename given IF $TCA configuration points to such a field.
2306 ";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:626;}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:"
2307
2308 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.
2309 Is using the $TCA arrays "ctrl" part where the key "enablefields" determines for each table which of these features applies to that table.
2310 ";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:1932;s:13:"content_lines";i:45;s:6:"atLine";i:641;}}}s:14:"MD5_5a82c40494";a:4:{s:8:"filename";s:24:"class.t3lib_pagetree.php";s:8:"filesize";i:4489;s:6:"header";a:5:{s:4:"text";s:36:"
2311
2312 Class for generating a page tree.
2313 ";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:"
2314
2315 Class for generating a page tree.
2316 ";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:76;}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:"
2317
2318 Init function
2319 REMEMBER to feed a $clause which will filter out non-readable pages!
2320 ";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:286;s:13:"content_lines";i:9;s:6:"atLine";i:88;}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:"
2321
2322 Returns true/false if the next level for $id should be expanded - and all levels should, so we always return 1.
2323 ";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:104;}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:"
2324
2325 Generate the plus/minus icon for the browsable tree.
2326 In this case, there is no plus-minus icon displayed.
2327 ";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:121;}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:"
2328
2329 Get stored tree structure AND updating it if needed according to incoming PM GET var.
2330 - Here we just set it to nothing since we want to just render the tree, nothing more.
2331 ";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:136;}}}s:14:"MD5_3ad1947ed4";a:4:{s:8:"filename";s:25:"class.t3lib_parsehtml.php";s:8:"filesize";i:49083;s:6:"header";a:5:{s:4:"text";s:92:"
2332
2333 Functions for parsing HTML.
2334 You are encouraged to use this class in your own applications
2335 ";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:92:"
2336
2337 Functions for parsing HTML.
2338 You are encouraged to use this class in your own applications
2339 ";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:"
2340
2341 Returns the first subpart encapsulated in the marker, $marker (possibly present in $content as a HTML comment)
2342 ";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:"
2343
2344 Substitutes a subpart in $content with the content of $subpartContent.
2345 ";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:262:"
2346
2347 Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag
2348 Even numbers in the array are outside the blocks, Odd numbers are block-content.
2349 Use ->getAllParts() and ->removeFirstAndLastTag() to process the content if needed.
2350 ";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:262:"
2351
2352 Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag
2353 Even numbers in the array are outside the blocks, Odd numbers are block-content.
2354 Use ->getAllParts() and ->removeFirstAndLastTag() to process the content if needed.
2355 ";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:"
2356
2357 Returns an array with either tag or non-tag content of the result from ->splitIntoBlock()/->splitTags()
2358 ";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:"
2359
2360 Removes the first and last tag in the string
2361 Anything before and after the first and last tags respectively is also removed
2362 ";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:"
2363
2364 Returns the first tag in $str
2365 Actually everything from the begining of the $str is returned, so you better make sure the tag is the first thing...
2366 ";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:"
2367
2368 Returns the NAME of the first tag in $str
2369 ";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:"
2370
2371 Checks whether block/solo tags are found in the correct amounts in HTML content
2372 Block tags are tags which are required to have an equal amount of start and end tags, eg. "<table>...</table>"
2373 Solo tags are tags which are required to have ONLY start tags (possibly with an XHTML ending like ".../>")
2374 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.
2375 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!
2376 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!
2377 ";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:2491:"
2378
2379 Function that can clean up HTML content according to configuration given in the $tags array.
2380
2381 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'))
2382 If the value of the $tags[$tagname] entry is an array, advanced processing of the tags is initialized. These are the options:
2383
2384         $tags[$tagname] = Array(
2385                 'overrideAttribs' => ''         If set, this string is preset as the attributes of the tag
2386                 'allowedAttribs' =>   '0' (zero) = no attributes allowed, '[commalist of attributes]' = only allowed attributes. If blank, all attributes are allowed.
2387                 'fixAttrib' => Array(
2388                         '[attribute name]' => Array (
2389                                 'default' =>    If no attribute exists by this name, this value is set as default value (if this value is not blank)
2390                                 'always' =>     Boolean. If set, the attribute is always processed. Normally an attribute is processed only if it exists
2391                                 'trim,intval,lower,upper' =>    All booleans. If any of these keys are set, the value is passed through the respective PHP-functions.
2392                                 'range' => Array ('[low limit]','[high limit, optional]')               Setting integer range.
2393                                 'list' => Array ('[value1/default]','[value2]','[value3]')              Attribute must be in this list. If not, the value is set to the first element.
2394                                 '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)
2395                                 'removeIfEquals' =>     [value] If the attribute value matches the value set here, then it is removed.
2396                                 'casesensitiveComp' => 1        If set, then the removeIfEquals and list comparisons will be case sensitive. Otherwise not.
2397                         )
2398                 ),
2399                 'protect' => '',        Boolean. If set, the tag <> is converted to &lt; and &gt;
2400                 'remap' => '',          String. If set, the tagname is remapped to this tagname
2401                 'rmTagIfNoAttrib' => '',        Boolean. If set, then the tag is removed if no attributes happend to be there.
2402                 '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>'
2403         )
2404 ";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:8163;s:13:"content_lines";i:186;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:"
2405
2406 Returns an array with all attributes as keys. Attributes are only lowercase a-z
2407 If a attribute is empty (shorthand), then the value for the key is empty. You can check if it existed with isset()
2408 ";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:643;}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:"
2409
2410 Returns an array with the 'components' from an attribute list. The result is normally analyzed by get_tag_attributes
2411 Removes tag-name if found
2412 ";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:685;}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:"
2413
2414 Converts htmlspecialchars forth ($dir=1) AND back ($dir=-1)
2415 ";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:722;}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:"
2416
2417 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
2418 ";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:744;}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:"
2419
2420 Internal sub-function for ->prefixResourcePath()
2421 ";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:812;}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:142:"
2422
2423 Cleans up the input $value for fonttags.
2424 If keepFace,-Size and -Color is set then font-tags with an allowed property is kept. Else deleted.
2425 ";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:830;}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:"
2426
2427 This is used to map certain tag-names into other names.
2428 ";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:861;}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:"
2429
2430 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
2431 ";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:878;}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:"
2432
2433 Strips tags except the tags in the list, $tagList
2434 OBSOLETE - use PHP function strip_tags()
2435 ";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"