This commit was manufactured by cvs2svn to create tag
[Packages/TYPO3.CMS.git] / typo3 / sysext / cms / ext_php_api.dat
1 a:2:{s:4:"meta";a:3:{s:5:"title";s:48:"TYPO3 Standard Frontend Engine ("cms" extension)";s:5:"descr";s:508:"Primarily the classes belonging to tslib/ which contains all major code for the TypoScript driven frontend.\r
2 The media/scripts/ folder is also documented. This contains a few libraries that has not moved into dedicated extensions but has remained here for historical reasons. This includes classes for making XML, WAP and plaintext output. Further the fe_adminLib and layered manu classes are there. And finally a bunch of test scripts which contains interesting examples of how to use custom PHP with TYPO3.";s:7:"options";a:2:{s:10:"usageCount";N;s:19:"includeCodeAbstract";N;}}s:5:"files";a:26:{s:14:"MD5_7f0d9e7881";a:4:{s:8:"filename";s:30:"layout/class.tx_cms_layout.php";s:8:"filesize";i:84084;s:6:"header";a:5:{s:4:"text";s:40:"
3
4 Child class for the Web > Page module
5 ";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:16:"@subpackage core";}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:5:"core ";}}}s:3:"DAT";a:40:{i:1;a:8:{s:6:"header";s:40:"class tx_cms_layout extends recordList {";s:5:"class";i:1;s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:5:{s:4:"text";s:40:"
6
7 Child class for the Web > Page module
8 ";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:16:"@subpackage core";}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:5:"core ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2759;s:13:"content_lines";i:54;s:6:"atLine";i:109;}i:3;a:8:{s:6:"header";s:31:"function getTable($table,$id)   {";s:11:"parentClass";s:13:"tx_cms_layout";s:11:"sectionText";a:1:{i:0;s:10:"Renderings";}s:4:"cDat";a:3:{s:4:"text";s:34:"
9
10 Adds the code of a single table
11 ";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:15:"Current page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"HTML for listing.";}}s:7:"content";s:0:"";s:12:"content_size";i:1099;s:13:"content_lines";i:43;s:6:"atLine";i:171;}i:5;a:7:{s:6:"header";s:30:"function getTable_pages($id)    {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:121:"
12
13 Renders records from the pages table from page id
14 (Used to get information about the page tree content by "Web>Info"!)
15 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:4599;s:13:"content_lines";i:129;s:6:"atLine";i:222;}i:7;a:7:{s:6:"header";s:35:"function getTable_tt_content($id)     {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:66:"
16
17 Renders Content Elements from the tt_content table from page id
18 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:12022;s:13:"content_lines";i:285;s:6:"atLine";i:358;}i:9;a:7:{s:6:"header";s:33:"function getTable_fe_users($id)      {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:62:"
19
20 Renders Frontend Users from the fe_users table from page id
21 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:540;s:13:"content_lines";i:18;s:6:"atLine";i:650;}i:11;a:7:{s:6:"header";s:33:"function getTable_sys_note($id)        {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:110:"
22
23 Renders records from the sys_notes table from page id
24 NOTICE: Requires the sys_note extension to be loaded.
25 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:2807;s:13:"content_lines";i:85;s:6:"atLine";i:676;}i:13;a:7:{s:6:"header";s:33:"function getTable_tt_board($id)       {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:109:"
26
27 Renders records from the tt_board table from page id
28 NOTICE: Requires the tt_board extension to be loaded.
29 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:2247;s:13:"content_lines";i:73;s:6:"atLine";i:769;}i:15;a:7:{s:6:"header";s:35:"function getTable_tt_address($id)     {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:121:"
30
31 Renders address records from the tt_address table from page id
32 NOTICE: Requires the tt_address extension to be loaded.
33 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:455;s:13:"content_lines";i:22;s:6:"atLine";i:850;}i:17;a:7:{s:6:"header";s:33:"function getTable_tt_links($id)        {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:114:"
34
35 Renders link records from the tt_links table from page id
36 NOTICE: Requires the tt_links extension to be loaded.
37 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:333;s:13:"content_lines";i:18;s:6:"atLine";i:880;}i:19;a:7:{s:6:"header";s:33:"function getTable_tt_guest($id)        {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:114:"
38
39 Renders link records from the tt_links table from page id
40 NOTICE: Requires the tt_links extension to be loaded.
41 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:156;s:13:"content_lines";i:7;s:6:"atLine";i:906;}i:21;a:7:{s:6:"header";s:32:"function getTable_tt_news($id)  {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:110:"
42
43 Renders news items from the tt_news table from page id
44 NOTICE: Requires the tt_news extension to be loaded.
45 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:369;s:13:"content_lines";i:13;s:6:"atLine";i:921;}i:23;a:7:{s:6:"header";s:36:"function getTable_tt_calender($id)     {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:138:"
46
47 Renders calender elements link records from the tt_calender table from page id
48 NOTICE: Requires the tt_calender extension to be loaded.
49 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:1245;s:13:"content_lines";i:42;s:6:"atLine";i:942;}i:25;a:7:{s:6:"header";s:36:"function getTable_tt_products($id)    {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:125:"
50
51 Renders shopping elements from the tt_products table from page id
52 NOTICE: Requires the tt_products extension to be loaded.
53 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML for the listing";}}s:7:"content";s:0:"";s:12:"content_size";i:566;s:13:"content_lines";i:35;s:6:"atLine";i:992;}i:27;a:8:{s:6:"header";s:71:"function makeOrdinaryList($table, $id, $fList, $icon=0, $addWhere='')  {";s:11:"parentClass";s:13:"tx_cms_layout";s:11:"sectionText";a:1:{i:0;s:24:"Generic listing of items";}s:4:"cDat";a:3:{s:4:"text";s:52:"
54
55 Creates a standard list of elements from a table.
56 ";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:8:"Page id.";}i:2;a:2:{i:0;s:6:"string";i:1;s:31:"Comma list of fields to display";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:22:"If true, icon is shown";}i:4;a:2:{i:0;s:6:"string";i:1;s:25:"Additional WHERE-clauses.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:10:"HTML table";}}s:7:"content";s:0:"";s:12:"content_size";i:2121;s:13:"content_lines";i:71;s:6:"atLine";i:1038;}i:29;a:7:{s:6:"header";s:57:"function dataFields($fieldArr,$table,$row,$out=array())  {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:5:{s:4:"text";s:48:"
57
58 Adds content to all data fields in $out array
59 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:5:"array";i:1;s:275:"Array of fields to display. Each field name has a special feature which is that the field name can be specified as more field names. Eg. "field1,field2;field3". Field 2 and 3 will be shown in the same cell of the table separated by <br /> while field1 will have its own cell.";}i:1;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:2;a:2:{i:0;s:5:"array";i:1;s:12:"Record array";}i:3;a:2:{i:0;s:5:"array";i:1;s:32:"Array to which the data is added";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:37:"$out array returned after processing.";}s:5:"other";a:1:{i:0;s:23:"@see makeOrdinaryList()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"makeOrdinaryList() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1650;s:13:"content_lines";i:41;s:6:"atLine";i:1120;}i:31;a:7:{s:6:"header";s:54:"function headerFields($fieldArr,$table,$out=array())      {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:5:{s:4:"text";s:48:"
60
61 Header fields made for the listing of records
62 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"Field names";}i:1;a:2:{i:0;s:6:"string";i:1;s:14:"The table name";}i:2;a:2:{i:0;s:5:"array";i:1;s:37:"Array to which the headers are added.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:50:"$out returned after addition of the header fields.";}s:5:"other";a:1:{i:0;s:23:"@see makeOrdinaryList()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"makeOrdinaryList() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:383;s:13:"content_lines";i:31;s:6:"atLine";i:1171;}i:33;a:8:{s:6:"header";s:65:"function pages_getTree($theRows,$pid,$qWhere,$treeIcons,$depth) {";s:11:"parentClass";s:13:"tx_cms_layout";s:11:"sectionText";a:1:{i:0;s:27:"Additional functions; Pages";}s:4:"cDat";a:3:{s:4:"text";s:71:"
63
64 Adds pages-rows to an array, selecting recursively in the page tree.
65 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:37:"Array which will accumulate page rows";}i:1;a:2:{i:0;s:7:"integer";i:1;s:18:"Pid to select from";}i:2;a:2:{i:0;s:6:"string";i:1;s:18:"Query-where clause";}i:3;a:2:{i:0;s:6:"string";i:1;s:19:"Prefixed icon code.";}i:4;a:2:{i:0;s:7:"integer";i:1;s:18:"Depth (decreasing)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:30:"$theRows, but with added rows.";}}s:7:"content";s:0:"";s:12:"content_size";i:991;s:13:"content_lines";i:27;s:6:"atLine";i:1213;}i:35;a:7:{s:6:"header";s:41:"function pages_drawItem($row,$fieldArr)  {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:43:"
66
67 Adds a list item for the pages-rendering
68 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:12:"Record array";}i:1;a:2:{i:0;s:5:"array";i:1;s:10:"Field list";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"HTML for the item";}}s:7:"content";s:0:"";s:12:"content_size";i:2780;s:13:"content_lines";i:91;s:6:"atLine";i:1248;}i:37;a:8:{s:6:"header";s:68:"function tt_content_drawColHeader($colName,$editParams,$newParams)  {";s:11:"parentClass";s:13:"tx_cms_layout";s:11:"sectionText";a:1:{i:0;s:38:"Additional functions; Content Elements";}s:4:"cDat";a:3:{s:4:"text";s:44:"
69
70 Draw header for a content element column:
71 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:11:"Column name";}i:1;a:2:{i:0;s:6:"string";i:1;s:48:"Edit params (Syntax: &edit[...] for alt_doc.php)";}i:2;a:2:{i:0;s:6:"string";i:1;s:55:"New element params (Syntax: &edit[...] for alt_doc.php)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:10:"HTML table";}}s:7:"content";s:0:"";s:12:"content_size";i:1403;s:13:"content_lines";i:42;s:6:"atLine";i:1348;}i:39;a:7:{s:6:"header";s:47:"function tt_content_drawHeader($row,$space=0) {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:50:"
72
73 Draw the header for a single tt_content element
74 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:12:"Record array";}i:1;a:2:{i:0;s:7:"integer";i:1;s:39:"Amount of pixel space above the header.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:34:"HTML table with the record header.";}}s:7:"content";s:0:"";s:12:"content_size";i:5779;s:13:"content_lines";i:119;s:6:"atLine";i:1398;}i:41;a:7:{s:6:"header";s:36:"function tt_content_drawItem($row) {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:50:"
75
76 Draws the preview content for a content element
77 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:15:"Content element";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:4:"HTML";}}s:7:"content";s:0:"";s:12:"content_size";i:5089;s:13:"content_lines";i:140;s:6:"atLine";i:1524;}i:43;a:7:{s:6:"header";s:28:"function infoGif($infoArr)   {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:107:"
78
79 Returns an icon, which has its title attribute set to a massive amount of information about the element.
80 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:136:"Array where values are human readable output of field values (not htmlspecialchars()'ed though). The values are imploded by a linebreak.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:27:"HTML img tag if applicable.";}}s:7:"content";s:0:"";s:12:"content_size";i:260;s:13:"content_lines";i:6;s:6:"atLine";i:1671;}i:45;a:7:{s:6:"header";s:62:"function newContentElementOnClick($id,$colPos,$sys_language)   {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:5:{s:4:"text";s:62:"
81
82 Creates onclick-attribute content for a new content element
83 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:7:"integer";i:1;s:36:"Page id where to create the element.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:29:"Preset: Column position value";}i:2;a:2:{i:0;s:7:"integer";i:1;s:26:"Preset: Sys langauge value";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:29:"String for onclick attribute.";}s:5:"other";a:1:{i:0;s:26:"@see getTable_tt_content()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:22:"getTable_tt_content() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:458;s:13:"content_lines";i:8;s:6:"atLine";i:1687;}i:47;a:7:{s:6:"header";s:46:"function linkEditContent($str,$row,$isRTE=0) {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:5:{s:4:"text";s:231:"
84
85 Will create a link on the input string and possible a big button after the string which links to editing in the RTE
86 Used for content element content displayed so the user can click the content / "Edit in Rich Text Editor" button
87 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:49:"String to link. Must be prepared for HTML output.";}i:1;a:2:{i:0;s:5:"array";i:1;s:8:"The row.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:34:"If true, the RTE link will be made";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:101:"If the whole thing was editable ($this->doEdit) $str is return with link around. Otherwise just $str.";}s:5:"other";a:1:{i:0;s:26:"@see getTable_tt_content()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:22:"getTable_tt_content() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:981;s:13:"content_lines";i:24;s:6:"atLine";i:1706;}i:49;a:7:{s:6:"header";s:32:"function languageSelector($id) {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:5:{s:4:"text";s:135:"
88
89 Make selector box for creating new translation in a language
90 Displays only languages which are not yet present for the current page.
91 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:74:"Page id for which to create a new language (pages_language_overlay record)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:66:"<select> HTML element (if there were items for the box anyways...)";}s:5:"other";a:1:{i:0;s:26:"@see getTable_tt_content()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:22:"getTable_tt_content() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1267;s:13:"content_lines";i:30;s:6:"atLine";i:1739;}i:51;a:7:{s:6:"header";s:29:"function getResult($result)    {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:116:"
92
93 Traverse the result pointer given, adding each record to array and setting some internal values at the same time.
94 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:38:"MySQL result pointer for select query.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:41:"The selected rows returned in this array.";}}s:7:"content";s:0:"";s:12:"content_size";i:1050;s:13:"content_lines";i:58;s:6:"atLine";i:1776;}i:53;a:8:{s:6:"header";s:69:"function tt_board_getTree($theRows,$parent,$pid,$qWhere,$treeIcons) {";s:11:"parentClass";s:13:"tx_cms_layout";s:11:"sectionText";a:1:{i:0;s:52:"Additional functions; Message board items (tt_board)";}s:4:"cDat";a:3:{s:4:"text";s:53:"
95
96 Traverses recursively a branch in a message board.
97 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:36:"Array of rows (build up recursively)";}i:1;a:2:{i:0;s:7:"integer";i:1;s:21:"tt_content parent uid";}i:2;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}i:3;a:2:{i:0;s:6:"string";i:1;s:22:"Additional query part.";}i:4;a:2:{i:0;s:6:"string";i:1;s:68:"HTML content to prefix items with (to draw the proper tree-graphics)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:32:"$theRows, but with added content";}}s:7:"content";s:0:"";s:12:"content_size";i:860;s:13:"content_lines";i:28;s:6:"atLine";i:1845;}i:55;a:7:{s:6:"header";s:45:"function tt_board_drawItem($table,$row,$re) {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:43:"
98
99 Adds an element to the tt_board listing:
100 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:5:"array";i:1;s:14:"The record row";}i:2;a:2:{i:0;s:6:"string";i:1;s:27:"Reply count, if applicable.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:37:"Return content of element (table row)";}}s:7:"content";s:0:"";s:12:"content_size";i:857;s:13:"content_lines";i:39;s:6:"atLine";i:1882;}i:57;a:8:{s:6:"header";s:39:"function numberOfRecords($table,$pid)       {";s:11:"parentClass";s:13:"tx_cms_layout";s:11:"sectionText";a:1:{i:0;s:24:"Various helper functions";}s:4:"cDat";a:3:{s:4:"text";s:65:"
101
102 Counts and returns the number of records on the page with $pid
103 ";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:7:"Page id";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:18:"Number of records.";}}s:7:"content";s:0:"";s:12:"content_size";i:298;s:13:"content_lines";i:14;s:6:"atLine";i:1929;}i:59;a:7:{s:6:"header";s:29:"function renderText($input)   {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:98:"
104
105 Processing of larger amounts of text (usually from RTE/bodytext fields) with word wrapping etc.
106 ";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:150;s:13:"content_lines";i:5;s:6:"atLine";i:1950;}i:61;a:7:{s:6:"header";s:31:"function getIcon($table,$row)    {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:109:"
107
108 Creates the icon image tag for record from table and wraps it in a link which will trigger the click menu.
109 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:5:"array";i:1;s:12:"Record array";}i:2;a:2:{i:0;s:6:"string";i:1;s:23:"Record title (NOT USED)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"HTML for the icon";}}s:7:"content";s:0:"";s:12:"content_size";i:340;s:13:"content_lines";i:12;s:6:"atLine";i:1964;}i:63;a:7:{s:6:"header";s:59:"function getProcessedValue($table,$fieldList,$row,&$info)     {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:164:"
110
111 Creates processed values for all fieldnames in $fieldList based on values from $row array. 
112 The result is 'returned' through $info which is passed as a reference
113 ";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:20:"Commalist of fields.";}i:2;a:2:{i:0;s:5:"array";i:1;s:48:"Record from which to take values for processing.";}i:3;a:2:{i:0;s:5:"array";i:1;s:46:"Array to which the processed values are added.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:333;s:13:"content_lines";i:12;s:6:"atLine";i:1987;}i:65;a:7:{s:6:"header";s:34:"function isDisabled($table,$row)     {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:114:"
114
115 Returns true, if the record given as parameters is NOT visible based on hidden/starttime/endtime (if available)
116 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Tablename of table to test";}i:1;a:2:{i:0;s:5:"array";i:1;s:11:"Record row.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:26:"Returns true, if disabled.";}}s:7:"content";s:0:"";s:12:"content_size";i:465;s:13:"content_lines";i:8;s:6:"atLine";i:2007;}i:67;a:7:{s:6:"header";s:51:"function wordWrapper($content,$max=50,$char=' -')   {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:301:"
117
118 Will perform "word-wrapping" on the input string. What it does is to split by space or linebreak, then find any word longer than $max and if found, a hyphen is inserted.
119 Works well on normal texts, little less well when HTML is involved (since much HTML will have long strings that will be broken).
120 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Content to word-wrap.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:56:"Max number of chars in a word before it will be wrapped.";}i:2;a:2:{i:0;s:6:"string";i:1;s:34:"Character to insert when wrapping.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed output.";}}s:7:"content";s:0:"";s:12:"content_size";i:214;s:13:"content_lines";i:9;s:6:"atLine";i:2025;}i:69;a:7:{s:6:"header";s:43:"function noEditIcon($label='noEditItems')  {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:197:"
121
122 Returns icon for "no-edit" of a record.
123 Basically, the point is to signal that this record could have had an edit link if the circumstances were right. A placeholder for the regular edit icon...
124 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"Label key from LOCAL_LANG";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"IMG tag for icon.";}}s:7:"content";s:0:"";s:12:"content_size";i:166;s:13:"content_lines";i:3;s:6:"atLine";i:2042;}i:71;a:7:{s:6:"header";s:28:"function cleanTableNames()      {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:295:"
125
126 Function, which fills in the internal array, $this->allowedTableNames with all tables to which the user has access. Also a set of standard tables (pages, static_template, sys_filemounts, etc...) are filtered out. So what is left is basically all tables which makes sense to list content from.
127 ";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:719;s:13:"content_lines";i:26;s:6:"atLine";i:2051;}i:73;a:7:{s:6:"header";s:43:"function isRTEforField($table,$row,$field){";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:154:"
128
129 Checking if the RTE is available/enabled for a certain table/field and if so, it returns true.
130 Used to determine if the RTE button should be displayed.
131 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:5:"array";i:1;s:86:"Record row (needed, if there are RTE dependencies based on other fields in the record)";}i:2;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:93:"Returns true if the rich text editor would be enabled/available for the field name specified.";}}s:7:"content";s:0:"";s:12:"content_size";i:763;s:13:"content_lines";i:17;s:6:"atLine";i:2087;}i:75;a:7:{s:6:"header";s:50:"function getSpecConfForField($table,$row,$field)    {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:6:{s:4:"text";s:207:"
132
133 Returns "special" configuration from the "types" configuration in TCA for the record given by tablename/fieldname.
134 Used by isRTEforField() in the process of finding whether a field has RTE enabled or not.
135 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:10:"Table name";}i:1;a:2:{i:0;s:5:"array";i:1;s:12:"Record array";}i:2;a:2:{i:0;s:6:"string";i:1;s:10:"Field name";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:25:"Spec. conf (if available)";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:20:"@see isRTEforField()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"isRTEforField() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:475;s:13:"content_lines";i:29;s:6:"atLine";i:2116;}i:77;a:5:{s:6:"header";s:39:"function getPageInfoBox($rec,$edit=0)    {";s:11:"parentClass";s:13:"tx_cms_layout";s:11:"sectionText";a:1:{i:0;s:19:"External renderings";}s:4:"cDat";a:3:{s:4:"text";s:73:"
136
137 Creates an info-box for the current page (identified by input record).
138 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"Page record";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:80:"If set, there will be shown an edit icon, linking to editing of the page header.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"HTML for the box.";}}s:6:"atLine";i:2153;}i:79;a:7:{s:6:"header";s:28:"function getTableMenu($id)     {";s:11:"parentClass";s:13:"tx_cms_layout";s:4:"cDat";a:3:{s:4:"text";s:222:"
139
140 Creates a menu of the tables that can be listed by this function
141 Only tables which has records on the page will be included.
142 Notice: The function also fills in the internal variable $this->activeTables with icon/titles.
143 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:102:"Page id from which we are listing records (the function will look up if there are records on the page)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML output.";}}s:7:"content";s:0:"";s:12:"content_size";i:2152;s:13:"content_lines";i:59;s:6:"atLine";i:2325;}}}s:14:"MD5_bc55101c5b";a:4:{s:8:"filename";s:20:"layout/db_layout.php";s:8:"filesize";i:50471;s:6:"header";a:5:{s:4:"text";s:40:"
144
145 Local extension of position map class
146 ";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:16:"@subpackage core";}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:5:"core ";}}}s:3:"DAT";a:16:{i:1;a:8:{s:6:"header";s:44:"class ext_posMap extends t3lib_positionMap {";s:5:"class";i:1;s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:5:{s:4:"text";s:40:"
147
148 Local extension of position map class
149 ";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:16:"@subpackage core";}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:5:"core ";}}}s:7:"content";s:0:"";s:12:"content_size";i:88;s:13:"content_lines";i:3;s:6:"atLine";i:104;}i:3;a:7:{s:6:"header";s:37:"function wrapRecordTitle($str,$row)        {";s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:3:{s:4:"text";s:36:"
150
151 Wrapping the title of the record.
152 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"The title value.";}i:1;a:2:{i:0;s:5:"array";i:1;s:15:"The record row.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"Wrapped title string.";}}s:7:"content";s:0:"";s:12:"content_size";i:222;s:13:"content_lines";i:4;s:6:"atLine";i:115;}i:5;a:7:{s:6:"header";s:37:"function wrapColumnHeader($str,$vv)       {";s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:5:{s:4:"text";s:29:"
153
154 Wrapping the column header
155 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"Header value";}i:1;a:2:{i:0;s:6:"string";i:1;s:12:"Column info.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:21:"@see printRecordMap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:17:"printRecordMap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:213;s:13:"content_lines";i:4;s:6:"atLine";i:128;}i:7;a:7:{s:6:"header";s:54:"function onClickInsertRecord($row,$vv,$moveUid,$pid) {";s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:3:{s:4:"text";s:31:"
156
157 Create on-click event value.
158 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"The record.";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"Column position value.";}i:2;a:2:{i:0;s:7:"integer";i:1;s:8:"Move uid";}i:3;a:2:{i:0;s:7:"integer";i:1;s:10:"PID value.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:355;s:13:"content_lines";i:9;s:6:"atLine";i:142;}i:9;a:7:{s:6:"header";s:38:"function wrapRecordHeader($str,$row) {";s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:3:{s:4:"text";s:55:"
159
160 Wrapping the record header  (from getRecordHeader())
161 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}i:1;a:2:{i:0;s:5:"array";i:1;s:13:"Record array.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}}s:7:"content";s:0:"";s:12:"content_size";i:205;s:13:"content_lines";i:13;s:6:"atLine";i:159;}i:11;a:8:{s:6:"header";s:20:"class SC_db_layout {";s:5:"class";i:1;s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:5:{s:4:"text";s:39:"
162
163 Script Class for Web > Layout module
164 ";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:16:"@subpackage core";}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:5:"core ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1939;s:13:"content_lines";i:43;s:6:"atLine";i:180;}i:13;a:7:{s:6:"header";s:17:"function init()        {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:26:"
165
166 Initializing the module
167 ";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:1713;s:13:"content_lines";i:49;s:6:"atLine";i:229;}i:15;a:7:{s:6:"header";s:23:"function menuConfig()      {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:24:"
168
169 Initialize menu array
170 ";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:2745;s:13:"content_lines";i:73;s:6:"atLine";i:284;}i:17;a:7:{s:6:"header";s:23:"function clearCache()      {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:50:"
171
172 Clears page cache for the current id, $this->id
173 ";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:158;s:13:"content_lines";i:7;s:6:"atLine";i:363;}i:19;a:7:{s:6:"header";s:17:"function main()      {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:114:"
174
175 Main function.
176 Creates some general objects and calls other functions for the main rendering of module content.
177 ";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:4393;s:13:"content_lines";i:92;s:6:"atLine";i:377;}i:21;a:7:{s:6:"header";s:28:"function renderQuickEdit() {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:33:"
178
179 Rendering the quick-edit view.
180 ";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:18605;s:13:"content_lines";i:355;s:6:"atLine";i:475;}i:23;a:7:{s:6:"header";s:30:"function renderListContent()     {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:46:"
181
182 Rendering all other listings than QuickEdit
183 ";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:12330;s:13:"content_lines";i:259;s:6:"atLine";i:836;}i:25;a:7:{s:6:"header";s:25:"function printContent()  {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:38:"
184
185 Print accumulated content of module
186 ";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:137;s:13:"content_lines";i:21;s:6:"atLine";i:1101;}i:27;a:8:{s:6:"header";s:38:"function getNumberOfHiddenElements()       {";s:11:"parentClass";s:12:"SC_db_layout";s:11:"sectionText";a:1:{i:0;s:15:"Other functions";}s:4:"cDat";a:3:{s:4:"text";s:135:"
187
188 Returns the number of hidden elements (including those hidden by start/end times) on the current page (for the current sys_language)
189 ";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:331;s:13:"content_lines";i:6;s:6:"atLine";i:1128;}i:29;a:4:{s:6:"header";s:40:"function local_linkThisScript($params)      {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:106:"
190
191 Returns URL to the current script.
192 In particular the "popView" and "new_unique_uid" Get vars are unset.
193 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:46:"Parameters array, merged with global GET vars.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:3:"URL";}}s:6:"atLine";i:1142;}i:31;a:7:{s:6:"header";s:29:"function languageQuery($id)        {";s:11:"parentClass";s:12:"SC_db_layout";s:4:"cDat";a:3:{s:4:"text";s:58:"
194
195 Returns a SQL query for selecting sys_language records.
196 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:275:"Page id: If zero, the query will select all sys_language records from root level which are NOT hidden. If set to another value, the query will select all sys_language records that has a pages_language_overlay record on that page (and is not hidden, unless you are admin user)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"Return query string.";}}s:7:"content";s:0:"";s:12:"content_size";i:1013;s:13:"content_lines";i:43;s:6:"atLine";i:1154;}}}s:14:"MD5_bba52f01af";a:4:{s:8:"filename";s:28:"layout/db_new_content_el.php";s:8:"filesize";i:16618;s:6:"header";a:5:{s:4:"text";s:27:"
197
198 Local position map class
199 ";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:16:"@subpackage core";}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:5:"core ";}}}s:3:"DAT";a:9:{i:1;a:8:{s:6:"header";s:44:"class ext_posMap extends t3lib_positionMap {";s:5:"class";i:1;s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:5:{s:4:"text";s:27:"
200
201 Local position map class
202 ";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:16:"@subpackage core";}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:5:"core ";}}}s:7:"content";s:0:"";s:12:"content_size";i:39;s:13:"content_lines";i:2;s:6:"atLine";i:98;}i:3;a:7:{s:6:"header";s:37:"function wrapRecordTitle($str,$row) {";s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:3:{s:4:"text";s:61:"
203
204 Wrapping the title of the record - here we just return it.
205 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"The title value.";}i:1;a:2:{i:0;s:5:"array";i:1;s:15:"The record row.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"Wrapped title string.";}}s:7:"content";s:0:"";s:12:"content_size";i:20;s:13:"content_lines";i:3;s:6:"atLine";i:108;}i:5;a:7:{s:6:"header";s:66:"function onClickInsertRecord($row,$vv,$moveUid,$pid,$sys_lang=0) {";s:11:"parentClass";s:10:"ext_posMap";s:4:"cDat";a:3:{s:4:"text";s:31:"
206
207 Create on-click event value.
208 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:11:"The record.";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"Column position value.";}i:2;a:2:{i:0;s:7:"integer";i:1;s:8:"Move uid";}i:3;a:2:{i:0;s:7:"integer";i:1;s:10:"PID value.";}i:4;a:2:{i:0;s:7:"integer";i:1;s:15:"System language";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:383;s:13:"content_lines";i:20;s:6:"atLine";i:122;}i:7;a:8:{s:6:"header";s:28:"class SC_db_new_content_el {";s:5:"class";i:1;s:11:"parentClass";s:20:"SC_db_new_content_el";s:4:"cDat";a:5:{s:4:"text";s:50:"
209
210 Script Class for the New Content element wizard
211 ";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:16:"@subpackage core";}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:5:"core ";}}}s:7:"content";s:0:"";s:12:"content_size";i:596;s:13:"content_lines";i:17;s:6:"atLine";i:150;}i:9;a:7:{s:6:"header";s:17:"function init()  {";s:11:"parentClass";s:20:"SC_db_new_content_el";s:4:"cDat";a:3:{s:4:"text";s:48:"
212
213 Constructor, initializing internal variables.
214 ";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:1291;s:13:"content_lines";i:30;s:6:"atLine";i:173;}i:11;a:7:{s:6:"header";s:17:"function main()    {";s:11:"parentClass";s:20:"SC_db_new_content_el";s:4:"cDat";a:3:{s:4:"text";s:30:"
215
216 Creating the module output.
217 ";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:5319;s:13:"content_lines";i:138;s:6:"atLine";i:209;}i:13;a:7:{s:6:"header";s:25:"function printContent()   {";s:11:"parentClass";s:20:"SC_db_new_content_el";s:4:"cDat";a:3:{s:4:"text";s:37:"
218
219 Print out the accumulated content:
220 ";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:191;s:13:"content_lines";i:23;s:6:"atLine";i:353;}i:15;a:5:{s:6:"header";s:27:"function getWizardItems()   {";s:11:"parentClass";s:20:"SC_db_new_content_el";s:11:"sectionText";a:1:{i:0;s:16:"OTHER FUNCTIONS:";}s:4:"cDat";a:3:{s:4:"text";s:51:"
221
222 Returns the content of wizardArray() function...
223 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:48:"Returns the content of wizardArray() function...";}}s:6:"atLine";i:382;}i:17;a:7:{s:6:"header";s:24:"function wizardArray()     {";s:11:"parentClass";s:20:"SC_db_new_content_el";s:4:"cDat";a:3:{s:4:"text";s:145:"
224
225 Returns the array of elements in the wizard display.
226 For the plugin section there is support for adding elements there from a global variable.
227 ";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:4507;s:13:"content_lines";i:138;s:6:"atLine";i:392;}}}s:14:"MD5_5e1cf7bd8a";a:4:{s:8:"filename";s:29:"tslib/class.tslib_content.php";s:8:"filesize";i:273827;s:6:"header";a:5:{s:4:"text";s:747:"
228
229 This class contains all main TypoScript features.
230 This includes the rendering of TypoScript content objects (cObjects).
231 Is the backbone of TypoScript Template rendering.
232
233 There are lots of functions you can use from your include-scripts.
234 The class "tslib_cObj" is normally instantiated and referred to as "cObj".
235 When you call your own PHP-code typically through a USER or USER_INT cObject then it is this class that instantiates the object and calls the main method. Before it does so it will set (if you are using classes) a reference to itself in the internal variable "cObj" of the object. Thus you can access all functions and data from this class by $this->cObj->... from within you classes written to be USER or USER_INT content objects.
236 ";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 tslib";i:3;s:80:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&cHash=4ad9d7acb4";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:75:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&cHash=4ad9d7acb4 ";}}}s:3:"DAT";a:129:{i:1;a:8:{s:6:"header";s:18:"class tslib_cObj {";s:5:"class";i:1;s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:747:"
237
238 This class contains all main TypoScript features.
239 This includes the rendering of TypoScript content objects (cObjects).
240 Is the backbone of TypoScript Template rendering.
241
242 There are lots of functions you can use from your include-scripts.
243 The class "tslib_cObj" is normally instantiated and referred to as "cObj".
244 When you call your own PHP-code typically through a USER or USER_INT cObject then it is this class that instantiates the object and calls the main method. Before it does so it will set (if you are using classes) a reference to itself in the internal variable "cObj" of the object. Thus you can access all functions and data from this class by $this->cObj->... from within you classes written to be USER or USER_INT content objects.
245 ";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 tslib";i:3;s:80:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&cHash=4ad9d7acb4";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:75:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&cHash=4ad9d7acb4 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:4194;s:13:"content_lines";i:87;s:6:"atLine";i:240;}i:3;a:7:{s:6:"header";s:33:"function start($data,$table='')  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:365:"
246
247 Class constructor.
248 Well, it has to be called manually since it is not a real constructor function.
249 So after making an instance of the class, call this function and pass to it a database record and the tablename from where the record is from. That will then become the "current" record loaded into memory and accessed by the .fields property found in eg. stdWrap.
250 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:39:"$data     the record data that is rendered.";}i:1;a:2:{i:0;s:6:"string";i:1;s:46:"$table  the table that the data record is from.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:129;s:13:"content_lines";i:5;s:6:"atLine";i:337;}i:5;a:7:{s:6:"header";s:42:"function setParent($data,$currentRecord)       {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:4:{s:4:"text";s:267:"
251
252 Sets the internal variable parentRecord with information about current record.
253 If the tslib_cObj was started from CONTENT, RECORD or SEARCHRESULT cObject's this array has two keys, 'data' and 'currentRecord' which indicates the record and data for the parent cObj.
254 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:23:"$data: The record array";}i:1;a:2:{i:0;s:6:"string";i:1;s:260:"$currentRecord: This is set to the [table]:[uid] of the record delivered in the $data-array, if the cObjects CONTENT or RECORD is in operation. Note that $GLOBALS['TSFE']->currentRecord is set to an equal value but always indicating the latest record rendered.";}}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:218;s:13:"content_lines";i:16;s:6:"atLine";i:352;}i:7;a:8:{s:6:"header";s:26:"function getCurrentVal() {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:12:"CONTENT_OBJ:";}s:4:"cDat";a:3:{s:4:"text";s:440:"
255
256 Returns the "current" value.
257 The "current" value is just an internal variable that can be used by functions to pass a single value on to another function later in the TypoScript processing.
258 It's like "load accumulator" in the good old C64 days... basically a "register" you can use as you like.
259 The TSref will tell if functions are setting this value before calling some other object so that you know if it holds any special information.
260 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:19:"The "current" value";}}s:7:"content";s:0:"";s:12:"content_size";i:49;s:13:"content_lines";i:3;s:6:"atLine";i:377;}i:9;a:7:{s:6:"header";s:32:"function setCurrentVal($value)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:28:"
261
262 Sets the "current" value.
263 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:46:"The variable that you want to set as "current"";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:20:"@see getCurrentVal()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"getCurrentVal() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:51;s:13:"content_lines";i:3;s:6:"atLine";i:388;}i:11;a:7:{s:6:"header";s:37:"function cObjGet($setup,$addKey='')       {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:141:"
264
265 Rendering of a "numerical array" of cObjects from TypoScript
266 Will call ->cObjGetSingle() for each cObject found and accumulate the output.
267 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:38:"$setup: Array with cObjects as values.";}i:1;a:2:{i:0;s:6:"string";i:1;s:47:"$addKey: A prefix for the debugging information";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:47:"Rendered output from the cObjects in the array.";}s:5:"other";a:1:{i:0;s:20:"@see cObjGetSingle()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"cObjGetSingle() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:383;s:13:"content_lines";i:14;s:6:"atLine";i:401;}i:13;a:7:{s:6:"header";s:49:"function cObjGetSingle($name,$conf,$TSkey='__') {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:27:"
268
269 Renders a content object
270 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:56:"The content object name, eg. "TEXT" or "USER" or "IMAGE"";}i:1;a:2:{i:0;s:5:"array";i:1;s:59:"The array with TypoScript properties for the content object";}i:2;a:2:{i:0;s:6:"string";i:1;s:56:"A string label used for the internal debugging tracking.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"cObject output";}s:5:"other";a:1:{i:0;s:126:"@example http://typo3.org/doc.0.html?&encryptionKey=&tx_extrepmgm_pi1[extUid]=267&tx_extrepmgm_pi1[tocEl]=153&cHash=7e74f4d331";}s:11:"other_index";a:1:{s:8:"@example";a:1:{i:0;s:118:"http://typo3.org/doc.0.html?&encryptionKey=&tx_extrepmgm_pi1[extUid]=267&tx_extrepmgm_pi1[tocEl]=153&cHash=7e74f4d331 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3506;s:13:"content_lines";i:131;s:6:"atLine";i:425;}i:15;a:8:{s:6:"header";s:22:"function HTML($conf)        {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:46:"Functions rendering content objects (cObjects)";}s:4:"cDat";a:5:{s:4:"text";s:30:"
271
272 Rendering the cObject, HTML
273 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=349&cHash=d3fd0c70b4";}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]=349&cHash=d3fd0c70b4 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:62;s:13:"content_lines";i:3;s:6:"atLine";i:564;}i:17;a:7:{s:6:"header";s:22:"function TEXT($conf)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:30:"
274
275 Rendering the cObject, TEXT
276 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=350&cHash=b49de28f83";}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]=350&cHash=b49de28f83 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:52;s:13:"content_lines";i:3;s:6:"atLine";i:575;}i:19;a:7:{s:6:"header";s:26:"function CLEARGIF($conf)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:34:"
277
278 Rendering the cObject, CLEARGIF
279 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=355&cHash=70c0f19915";}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]=355&cHash=70c0f19915 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:411;s:13:"content_lines";i:10;s:6:"atLine";i:586;}i:21;a:7:{s:6:"header";s:36:"function COBJ_ARRAY($conf,$ext='')    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:61:"
280
281 Rendering the cObject, COBJ_ARRAY / COA and COBJ_ARRAY_INT
282 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}i:1;a:2:{i:0;s:6:"string";i:1;s:98:"If "INT" then the cObject is a "COBJ_ARRAY_INT" (non-cached), otherwise just "COBJ_ARRAY" (cached)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=351&cHash=a09db0329c";}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]=351&cHash=a09db0329c ";}}}s:7:"content";s:0:"";s:12:"content_size";i:643;s:13:"content_lines";i:27;s:6:"atLine";i:605;}i:23;a:7:{s:6:"header";s:30:"function USER($conf,$ext='') {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:43:"
283
284 Rendering the cObject, USER and USER_INT
285 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}i:1;a:2:{i:0;s:6:"string";i:1;s:86:"If "INT" then the cObject is a "USER_INT" (non-cached), otherwise just "USER" (cached)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=369&cHash=b623aca0a9";}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]=369&cHash=b623aca0a9 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:445;s:13:"content_lines";i:19;s:6:"atLine";i:641;}i:25;a:7:{s:6:"header";s:22:"function FILE($conf)     {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:30:"
286
287 Rendering the cObject, FILE
288 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=352&cHash=379c60f8bc";}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]=352&cHash=379c60f8bc ";}}}s:7:"content";s:0:"";s:12:"content_size";i:225;s:13:"content_lines";i:7;s:6:"atLine";i:668;}i:27;a:7:{s:6:"header";s:23:"function IMAGE($conf)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:31:"
289
290 Rendering the cObject, IMAGE
291 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=353&cHash=440681ea56";i:1;s:13:"@see cImage()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=353&cHash=440681ea56 ";}s:4:"@see";a:1:{i:0;s:9:"cImage() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:228;s:13:"content_lines";i:10;s:6:"atLine";i:684;}i:29;a:7:{s:6:"header";s:30:"function IMG_RESOURCE($conf)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:38:"
292
293 Rendering the cObject, IMG_RESOURCE
294 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=354&cHash=46f9299706";i:1;s:21:"@see getImgResource()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=354&cHash=46f9299706 ";}s:4:"@see";a:1:{i:0;s:17:"getImgResource() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:129;s:13:"content_lines";i:4;s:6:"atLine";i:703;}i:31;a:7:{s:6:"header";s:25:"function IMGTEXT($conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:33:"
295
296 Rendering the cObject, IMGTEXT
297 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=363&cHash=cf2969bce1";}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]=363&cHash=cf2969bce1 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:16852;s:13:"content_lines";i:366;s:6:"atLine";i:715;}i:33;a:7:{s:6:"header";s:25:"function CONTENT($conf)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:33:"
298
299 Rendering the cObject, CONTENT
300 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=356&cHash=9f3b5c6ba2";}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]=356&cHash=9f3b5c6ba2 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2236;s:13:"content_lines";i:45;s:6:"atLine";i:1089;}i:35;a:7:{s:6:"header";s:25:"function RECORDS($conf)     {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:33:"
301
302 Rendering the cObject, RECORDS
303 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=357&cHash=303e959472";}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]=357&cHash=303e959472 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2433;s:13:"content_lines";i:58;s:6:"atLine";i:1142;}i:37;a:7:{s:6:"header";s:23:"function HMENU($conf)       {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:31:"
304
305 Rendering the cObject, HMENU
306 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=358&cHash=5400c1c06a";}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]=358&cHash=5400c1c06a ";}}}s:7:"content";s:0:"";s:12:"content_size";i:967;s:13:"content_lines";i:24;s:6:"atLine";i:1208;}i:39;a:7:{s:6:"header";s:25:"function CTABLE ($conf)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:32:"
307
308 Rendering the cObject, CTABLE
309 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=359&cHash=2e0065b4e7";}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]=359&cHash=2e0065b4e7 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1348;s:13:"content_lines";i:30;s:6:"atLine";i:1240;}i:41;a:7:{s:6:"header";s:25:"function OTABLE ($conf)     {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:32:"
310
311 Rendering the cObject, OTABLE
312 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=360&cHash=02c9552d38";}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]=360&cHash=02c9552d38 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:227;s:13:"content_lines";i:7;s:6:"atLine";i:1278;}i:43;a:7:{s:6:"header";s:26:"function COLUMNS ($conf)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:33:"
313
314 Rendering the cObject, COLUMNS
315 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=361&cHash=7e4e228cad";}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]=361&cHash=7e4e228cad ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2894;s:13:"content_lines";i:71;s:6:"atLine";i:1293;}i:45;a:7:{s:6:"header";s:25:"function HRULER ($conf)     {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:32:"
316
317 Rendering the cObject, HRULER
318 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=362&cHash=2a462aa084";}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]=362&cHash=2a462aa084 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:941;s:13:"content_lines";i:16;s:6:"atLine";i:1372;}i:47;a:7:{s:6:"header";s:26:"function CASEFUNC ($conf){";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:30:"
319
320 Rendering the cObject, CASE
321 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=364&cHash=cffedd09e3";}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]=364&cHash=cffedd09e3 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:522;s:13:"content_lines";i:14;s:6:"atLine";i:1396;}i:49;a:7:{s:6:"header";s:37:"function LOAD_REGISTER($conf,$name)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:178:"
322
323 Rendering the cObject, LOAD_REGISTER and RESTORE_REGISTER
324 NOTICE: This cObject does NOT return any content since it just sets internal data based on the TypoScript properties.
325 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}i:1;a:2:{i:0;s:6:"string";i:1;s:96:"If "RESTORE_REGISTER" then the cObject rendered is "RESTORE_REGISTER", otherwise "LOAD_REGISTER"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:51:"Empty string (the cObject only sets internal data!)";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=365&cHash=4935524e2e";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=366&cHash=4f9485e8cc";}s:11:"other_index";a:1:{s:5:"@link";a:2:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=365&cHash=4935524e2e ";i:1;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=366&cHash=4f9485e8cc ";}}}s:7:"content";s:0:"";s:12:"content_size";i:671;s:13:"content_lines";i:19;s:6:"atLine";i:1421;}i:51;a:7:{s:6:"header";s:38:"function FORM($conf,$formData='')    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:589:"
326
327 Rendering the cObject, FORM
328
329 Note on $formData:
330 In the optional $formData array each entry represents a line in the ordinary setup.
331 In those entries each entry (0,1,2...) represents a space normally divided by the '|' line.
332
333 $formData [] = array('Name:', 'name=input, 25 ', 'Default value....');
334 $formData [] = array('Email:', 'email=input, 25 ', 'Default value for email....');
335
336 - corresponds to the $conf['data'] value being :
337 Name:|name=input, 25 |Default value....||Email:|email=input, 25 |Default value for email....
338
339 If $formData is an array the value of $conf['data'] is ignored.
340 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}i:1;a:2:{i:0;s:5:"array";i:1;s:62:"Alternative formdata overriding whatever comes from TypoScript";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=367&cHash=bbc518d930";}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]=367&cHash=bbc518d930 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:16235;s:13:"content_lines";i:359;s:6:"atLine";i:1461;}i:53;a:7:{s:6:"header";s:30:"function SEARCHRESULT($conf)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:38:"
341
342 Rendering the cObject, SEARCHRESULT
343 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=368&cHash=d00731cd7b";}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]=368&cHash=d00731cd7b ";}}}s:7:"content";s:0:"";s:12:"content_size";i:5820;s:13:"content_lines";i:146;s:6:"atLine";i:1828;}i:55;a:7:{s:6:"header";s:36:"function PHP_SCRIPT($conf,$ext='') {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:71:"
344
345 Rendering the cObject, PHP_SCRIPT, PHP_SCRIPT_INT and PHP_SCRIPT_EXT
346 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}i:1;a:2:{i:0;s:6:"string";i:1;s:128:"If "INT", then rendering "PHP_SCRIPT_INT"; If "EXT", then rendering "PHP_SCRIPT_EXT"; Default is rendering "PHP_SCRIPT" (cached)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}s:5:"other";a:3:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=370&cHash=aa107f2ad8";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=371&cHash=53f71d025e";i:2;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=372&cHash=91fe391e1c";}s:11:"other_index";a:1:{s:5:"@link";a:3:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=370&cHash=aa107f2ad8 ";i:1;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=371&cHash=53f71d025e ";i:2;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=372&cHash=91fe391e1c ";}}}s:7:"content";s:0:"";s:12:"content_size";i:965;s:13:"content_lines";i:34;s:6:"atLine";i:1985;}i:57;a:7:{s:6:"header";s:26:"function TEMPLATE($conf)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:34:"
347
348 Rendering the cObject, TEMPLATE
349 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=373&cHash=109a171b1e";i:1;s:34:"@see substituteMarkerArrayCached()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=373&cHash=109a171b1e ";}s:4:"@see";a:1:{i:0;s:30:"substituteMarkerArrayCached() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:4568;s:13:"content_lines";i:136;s:6:"atLine";i:2028;}i:59;a:7:{s:6:"header";s:28:"function MULTIMEDIA($conf)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:36:"
350
351 Rendering the cObject, MULTIMEDIA
352 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:30:"Array of TypoScript properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:6:"Output";}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]=374&cHash=efd88ab4a9";}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]=374&cHash=efd88ab4a9 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1974;s:13:"content_lines";i:73;s:6:"atLine";i:2172;}i:61;a:8:{s:6:"header";s:67:"function netprintApplication_offsiteLinkWrap($str,$imgConf,$conf)   {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:45:"Various helper functions for content objects:";}s:4:"cDat";a:4:{s:4:"text";s:143:"
353
354 Creates a link to a netprint application on another website (where the "netprint" extension is running")
355 Related to the extension "netprint"
356 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"The input string to add the link to.";}i:1;a:2:{i:0;s:5:"array";i:1;s:39:"Array with information about the image.";}i:2;a:2:{i:0;s:5:"array";i:1;s:51:"TypoScript properties for the netprint application.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:61:"The input string possibly with the netprint link before/after";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:1317;s:13:"content_lines";i:30;s:6:"atLine";i:2256;}i:63;a:7:{s:6:"header";s:72:"function getFieldDefaultValue($noValueInsert, $fieldName, $defaultVal) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:4:{s:4:"text";s:154:"
357
358 Returns a default value for a form field in the FORM cObject.
359 Page CANNOT be cached because that would include the inserted value for the current user.
360 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:106:"If noValueInsert OR if the no_cache flag for this page is NOT set, the original default value is returned.";}i:1;a:2:{i:0;s:6:"string";i:1;s:54:"$fieldName: The POST var name to get default value for";}i:2;a:2:{i:0;s:6:"string";i:1;s:38:"$defaultVal: The current default value";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:108:"The default value, either from INPUT var or the current default, based on whether caching is enabled or not.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:239;s:13:"content_lines";i:7;s:6:"atLine";i:2297;}i:65;a:7:{s:6:"header";s:30:"function cImage($file,$conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:313:"
361
362 Returns a <img> tag with the image file defined by $file and processed according to the properties in the TypoScript array.
363 Mostly this function is a sub-function to the IMAGE function which renders the IMAGE cObject in TypoScript. This function is called by "$this->cImage($conf['file'],$conf);" from IMAGE().
364 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:24:"File TypoScript resource";}i:1;a:2:{i:0;s:5:"array";i:1;s:35:"TypoScript configuration properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:73:"<img> tag, (possibly wrapped in links and other HTML) if any image found.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:12:"@see IMAGE()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:8:"IMAGE() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:933;s:13:"content_lines";i:16;s:6:"atLine";i:2315;}i:67;a:7:{s:6:"header";s:50:"function imageLinkWrap($string,$imageFile,$conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:76:"
365
366 Wraps the input string in link-tags that opens the image in a new window.
367 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:37:"String to wrap, probably an <img> tag";}i:1;a:2:{i:0;s:6:"string";i:1;s:23:"The original image file";}i:2;a:2:{i:0;s:5:"array";i:1;s:54:"TypoScript properties for the "imageLinkWrap" function";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:49:"The input string, $string, wrapped as configured.";}s:5:"other";a:2:{i:0;s:13:"@see cImage()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=316&cHash=2848266da6";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:9:"cImage() ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=316&cHash=2848266da6 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2449;s:13:"content_lines";i:56;s:6:"atLine";i:2342;}i:69;a:7:{s:6:"header";s:31:"function fileResource($fName)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:113:"
368
369 Returns content of a file. If its an image the content of the file is not returned but rather an image tag is.
370 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:51:"The filename, being a TypoScript resource data type";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:91:"If jpg,gif,jpeg,png: returns image_tag with picture in. If html,txt: returns content string";}s:5:"other";a:1:{i:0;s:11:"@see FILE()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:7:"FILE() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:517;s:13:"content_lines";i:13;s:6:"atLine";i:2406;}i:71;a:7:{s:6:"header";s:31:"function lastChanged($tstamp) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:311:"
371
372 Sets the SYS_LASTCHANGED timestamp if input timestamp is larger than current value.
373 The SYS_LASTCHANGED timestamp can be used by various caching/indexing applications to determine if the page has new content.
374 Therefore you should call this function with the last-changed timestamp of any element you display.
375 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:45:"Unix timestamp (number of seconds since 1970)";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:34:"@see tslib_fe::setSysLastChanged()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:30:"tslib_fe::setSysLastChanged() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:169;s:13:"content_lines";i:6;s:6:"atLine";i:2429;}i:73;a:7:{s:6:"header";s:35:"function linkWrap($content,$wrap)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:370:"
376
377 Wraps the input string by the $wrap value and implements the "linkWrap" data type as well.
378 The "linkWrap" data type means that this function will find any integer encapsulated in {} (curly braces) in the first wrap part and substitute it with the corresponding page uid from the rootline where the found integer is pointing to the key in the rootline. See link below.
379 ";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:107:"A string where the first two parts separated by "|" (vertical line) will be wrapped around the input string";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"Wrapped output string";}s:5:"other";a:2:{i:0;s:29:"@see wrap(), cImage(), FILE()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=282&cHash=831a95115d";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:24:"wrap(), cImage(), FILE()";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=282&cHash=831a95115d ";}}}s:7:"content";s:0:"";s:12:"content_size";i:443;s:13:"content_lines";i:34;s:6:"atLine";i:2446;}i:75;a:8:{s:6:"header";s:40:"function getSubpart($content, $marker)       {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:34:"HTML template processing functions";}s:4:"cDat";a:5:{s:4:"text";s:630:"
380
381 Returns a subpart from the input content stream.
382 A subpart is a part of the input stream which is encapsulated in a string matching the input string, $marker. If this string is found inside of HTML comment tags the start/end points of the content block returned will be that right outside that comment block.
383 Example: The contennt string is "Hello <!--###sub1### begin--> World. How are <!--###sub1### end--> you?" If $marker is "###sub1###" then the content returned is " World. How are ". The input content string could just as well have been "Hello ###sub1### World. How are ###sub1### you?" and the result would be the same
384 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:52:"The content stream, typically HTML template content.";}i:1;a:2:{i:0;s:6:"string";i:1;s:68:"The marker string, typically on the form "###[the marker string]###"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"The subpart found, if found.";}s:5:"other";a:1:{i:0;s:55:"@see substituteSubpart(), t3lib_parsehtml::getSubpart()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:50:"substituteSubpart(), t3lib_parsehtml::getSubpart()";}}}s:7:"content";s:0:"";s:12:"content_size";i:426;s:13:"content_lines";i:17;s:6:"atLine";i:2491;}i:77;a:7:{s:6:"header";s:75:"function substituteSubpart($content,$marker,$subpartContent,$recursive=1)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:132:"
385
386 Substitute subpart in input template stream.
387 This function substitutes a subpart in $content with the content of $subpartContent.
388 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:52:"The content stream, typically HTML template content.";}i:1;a:2:{i:0;s:6:"string";i:1;s:68:"The marker string, typically on the form "###[the marker string]###"";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:357:"The content to insert instead of the subpart found. If a string, then just plain substitution happens (includes removing the HTML comments of the subpart if found). If $subpartContent happens to be an array, it's [0] and [1] elements are wrapped around the EXISTING content of the subpart (fetched by getSubpart()) thereby not removing the original content.";}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!";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:34:"The processed HTML content string.";}s:5:"other";a:1:{i:0;s:55:"@see getSubpart(), t3lib_parsehtml::substituteSubpart()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:50:"getSubpart(), t3lib_parsehtml::substituteSubpart()";}}}s:7:"content";s:0:"";s:12:"content_size";i:928;s:13:"content_lines";i:32;s:6:"atLine";i:2520;}i:79;a:7:{s:6:"header";s:58:"function substituteMarker($content,$marker,$markContent)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:79:"
389
390 Substitutes a marker string in the input content (by a simple str_replace())
391 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:52:"The content stream, typically HTML template content.";}i:1;a:2:{i:0;s:6:"string";i:1;s:68:"The marker string, typically on the form "###[the marker string]###"";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:57:"The content to insert instead of the marker string found.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:34:"The processed HTML content string.";}s:5:"other";a:1:{i:0;s:24:"@see substituteSubpart()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"substituteSubpart() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:58;s:13:"content_lines";i:3;s:6:"atLine";i:2562;}i:81;a:7:{s:6:"header";s:139:"function substituteMarkerArrayCached($content,$markContentArray=array(),$subpartContentArray=array(),$wrappedSubpartContentArray=array()) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:715:"
392
393 Multi substitution function with caching.
394
395 This function should be a one-stop substitution function for working with HTML-template. It does not substitute by str_replace but by splitting. This secures that the value inserted does not themselves contain markers or subparts.
396 This function takes three kinds of substitutions in one:
397 $markContentArray is a regular marker-array where the 'keys' are substituted in $content with their values
398 $subpartContentArray works exactly like markContentArray only is whole subparts substituted and not only a single marker.
399 $wrappedSubpartContentArray is an array of arrays with 0/1 keys where the subparts pointed to by the main key is wrapped with the 0/1 value alternating.
400 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:52:"The content stream, typically HTML template content.";}i:1;a:2:{i:0;s:5:"array";i:1;s:83:"Regular marker-array where the 'keys' are substituted in $content with their values";}i:2;a:2:{i:0;s:5:"array";i:1;s:94:"Exactly like markContentArray only is whole subparts substituted and not only a single marker.";}i:3;a:2:{i:0;s:5:"array";i:1;s:121:"An array of arrays with 0/1 keys where the subparts pointed to by the main key is wrapped with the 0/1 value alternating.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"The output content stream";}s:5:"other";a:1:{i:0;s:84:"@see substituteSubpart(), substituteMarker(), substituteMarkerInObject(), TEMPLATE()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:79:"substituteSubpart(), substituteMarker(), substituteMarkerInObject(), TEMPLATE()";}}}s:7:"content";s:0:"";s:12:"content_size";i:2979;s:13:"content_lines";i:86;s:6:"atLine";i:2582;}i:83;a:7:{s:6:"header";s:82:"function substituteMarkerArray($content,$markContentArray,$wrap='',$uppercase=0)       {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:504:"
401
402 Traverses the input $markContentArray array and for each key the marker by the same name (possibly wrapped and in upper case) will be substituted with the keys value in the array.
403 This is very useful if you have a data-record to substitute in some content. In particular when you use the $wrap and $uppercase values to pre-process the markers. Eg. a key name like "myfield" could effectively be represented by the marker "###MYFIELD###" if the wrap value was "###|###" and the $uppercase boolean true.
404 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:52:"The content stream, typically HTML template content.";}i:1;a:2:{i:0;s:5:"array";i:1;s:191:"The array of key/value pairs being marker/content values used in the substitution. For each element in this array the function will substitute a marker in the content stream with the content.";}i:2;a:2:{i:0;s:6:"string";i:1;s:72:"A wrap value - [part 1] | [part 2] - for the markers before substitution";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:71:"If set, all marker string substitution is done with upper-case markers.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:27:"The processed output stream";}s:5:"other";a:1:{i:0;s:63:"@see substituteMarker(), substituteMarkerInObject(), TEMPLATE()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:58:"substituteMarker(), substituteMarkerInObject(), TEMPLATE()";}}}s:7:"content";s:0:"";s:12:"content_size";i:381;s:13:"content_lines";i:12;s:6:"atLine";i:2680;}i:85;a:7:{s:6:"header";s:62:"function substituteMarkerInObject(&$tree, $markContentArray) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:48:"
405
406 Substitute marker array in an array of values
407 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:187:"If string, then it just calls substituteMarkerArray. If array (and even multi-dim) then for each key/value pair the marker array will be substituted (by calling this function recursively)";}i:1;a:2:{i:0;s:5:"array";i:1;s:187:"The array of key/value pairs being marker/content values used in the substitution. For each element in this array the function will substitute a marker in the content string/array values.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:29:"The processed input variable.";}s:5:"other";a:1:{i:0;s:23:"@see substituteMarker()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"substituteMarker() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:262;s:13:"content_lines";i:11;s:6:"atLine";i:2701;}i:87;a:7:{s:6:"header";s:96:"function fillInMarkerArray($markContentArray, $row, $fieldList='', $nl2br=1, $prefix='FIELD_')    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:113:"
408
409 Adds elements to the input $markContentArray based on the values from the fields from $fieldList found in $row
410 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:63:"Array with key/values being marker-strings/substitution values.";}i:1;a:2:{i:0;s:5:"array";i:1;s:117:"An array with keys found in the $fieldList (typically a record) which values should be moved to the $markContentArray";}i:2;a:2:{i:0;s:6:"string";i:1;s:146:"A list of fields from the $row array to add to the $markContentArray array. If empty all fields from $row will be added (unless they are integers)";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:64:"If set, all values added to $markContentArray will be nl2br()'ed";}i:4;a:2:{i:0;s:6:"string";i:1;s:168:"Prefix string to the fieldname before it is added as a key in the $markContentArray. Notice that the keys added to the $markContentArray always start and end with "###"";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:30:"The modified $markContentArray";}}s:7:"content";s:0:"";s:12:"content_size";i:662;s:13:"content_lines";i:48;s:6:"atLine";i:2723;}i:89;a:8:{s:6:"header";s:34:"function stdWrap($content,$conf)        {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:25:""stdWrap" + sub functions";}s:4:"cDat";a:5:{s:4:"text";s:548:"
411
412 The "stdWrap" function. This is the implementation of what is known as "stdWrap properties" in TypoScript.
413 Basically "stdWrap" performs some processing of a value based on properties in the input $conf array (holding the TypoScript "stdWrap properties")
414 See the link below for a complete list of properties and what they do. The order of the table with properties found in TSref (the link) follows the actual order of implementation in this function.
415
416 If $this->alternativeData is an array it's used instead of the $this->data array in ->getData
417 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:117:"Input value undergoing processing in this function. Possibly substituted by other values fetched from another source.";}i:1;a:2:{i:0;s:5:"array";i:1;s:32:"TypoScript "stdWrap properties".";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"The processed input value";}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]=314&cHash=02ab044c7b";}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]=314&cHash=02ab044c7b ";}}}s:7:"content";s:0:"";s:12:"content_size";i:8753;s:13:"content_lines";i:128;s:6:"atLine";i:2784;}i:91;a:7:{s:6:"header";s:25:"function numRows($conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:117:"
418
419 Returns number of rows selected by the query made by the properties set.
420 Implements the stdWrap "numRows" property
421 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:62:"TypoScript properties for the property (see link to "numRows")";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:38:"The number of rows found by the select";}s:6:"access";s:7:"private";s:5:"other";a:3:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=317&cHash=e28e53e634";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=318&cHash=a98cb4e7e6";i:2;s:14:"@see stdWrap()";}s:11:"other_index";a:2:{s:5:"@link";a:2:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=317&cHash=e28e53e634 ";i:1;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=318&cHash=a98cb4e7e6 ";}s:4:"@see";a:1:{i:0;s:10:"stdWrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:326;s:13:"content_lines";i:11;s:6:"atLine";i:2924;}i:93;a:7:{s:6:"header";s:43:"function listNum($content,$listNum,$char) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:101:"
422
423 Exploding a string by the $char value (if integer its an ASCII value) and returning index $listNum
424 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"String to explode";}i:1;a:2:{i:0;s:6:"string";i:1;s:170:"Index-number. You can place the word "last" in it and it will be substituted with the pointer to the last value. You can use math operators like "+-/*" (passed to calc())";}i:2;a:2:{i:0;s:6:"string";i:1;s:146:"Either a string used to explode the content string or an integer value which will then be changed into a character, eg. "10" for a linebreak char.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:248;s:13:"content_lines";i:10;s:6:"atLine";i:2944;}i:95;a:7:{s:6:"header";s:25:"function checkIf($conf)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:186:"
425
426 Compares values together based on the settings in the input TypoScript array and returns true or false based on the comparison result.
427 Implements the "if" function in TYPO3 TypoScript
428 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:46:"TypoScript properties defining what to compare";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=320&cHash=da01618eab";i:1;s:68:"@see HMENU(), CASEFUNC(), IMAGE(), COLUMN(), stdWrap(), _parseFunc()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=320&cHash=da01618eab ";}s:4:"@see";a:1:{i:0;s:63:"HMENU(), CASEFUNC(), IMAGE(), COLUMN(), stdWrap(), _parseFunc()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1666;s:13:"content_lines";i:53;s:6:"atLine";i:2964;}i:97;a:7:{s:6:"header";s:26:"function filelist($data)     {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:136:"
429
430 Reads a directory for files and returns the filepaths in a string list separated by comma.
431 Implements the stdWrap property "filelist"
432 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:136:"The command which contains information about what files/directory listing to return. See the "filelist" property of stdWrap for details.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"Comma list of files.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:14:"@see stdWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"stdWrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2213;s:13:"content_lines";i:70;s:6:"atLine";i:3027;}i:99;a:7:{s:6:"header";s:35:"function clean_directory($theDir)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:108:"
433
434 Cleans $theDir for slashes in the end of the string and returns the new path, if it exists on the server.
435 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Absolute path to directory";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:56:"The directory path if it existed as was valid to access.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:15:"@see filelist()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:11:"filelist() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:302;s:13:"content_lines";i:8;s:6:"atLine";i:3106;}i:101;a:7:{s:6:"header";s:48:"function HTMLparser_TSbridge($theValue, $conf)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:221:"
436
437 Passes the input value, $theValue, to an instance of "t3lib_parsehtml" together with the TypoScript options which are first converted from a TS style array to a set of arrays with options for the t3lib_parsehtml class.
438 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:49:"The value to parse by the class "t3lib_parsehtml"";}i:1;a:2:{i:0;s:5:"array";i:1;s:47:"TypoScript properties for the parser. See link.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:13:"Return value.";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=330&cHash=664e0296bf";i:1;s:83:"@see stdWrap(), t3lib_parsehtml::HTMLparserConfig(), t3lib_parsehtml::HTMLcleaner()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=330&cHash=664e0296bf ";}s:4:"@see";a:1:{i:0;s:78:"stdWrap(), t3lib_parsehtml::HTMLparserConfig(), t3lib_parsehtml::HTMLcleaner()";}}}s:7:"content";s:0:"";s:12:"content_size";i:223;s:13:"content_lines";i:5;s:6:"atLine";i:3124;}i:103;a:7:{s:6:"header";s:35:"function dataWrap($content,$wrap) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:103:"
439
440 Wrapping input value in a regular "wrap" but parses the wrapping value first for "insertData" codes.
441 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Input string being wrapped";}i:1;a:2:{i:0;s:6:"string";i:1;s:168:"The wrap string, eg. "<b></b>" or more likely here '<a href="index.php?id={TSFE:id}"> | </a>' which will wrap the input string in a <a> tag linking to the current page.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:44:"Output string wrapped in the wrapping value.";}s:5:"other";a:1:{i:0;s:28:"@see insertData(), stdWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"insertData(), stdWrap()";}}}s:7:"content";s:0:"";s:12:"content_size";i:62;s:13:"content_lines";i:3;s:6:"atLine";i:3138;}i:105;a:7:{s:6:"header";s:27:"function insertData($str)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:398:"
442
443 Implements the "insertData" property of stdWrap meaning that if strings matching {...} is found in the input string they will be substituted with the return value from getData (datatype) which is passed the content of the curly braces.
444 Example: If input string is "This is the page title: {page:title}" then the part, '{page:title}', will be substituted with the current pages title field value.
445 ";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:21:"Processed input value";}s:5:"other";a:2:{i:0;s:37:"@see getData(), stdWrap(), dataWrap()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=314&cHash=02ab044c7b";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:32:"getData(), stdWrap(), dataWrap()";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=314&cHash=02ab044c7b ";}}}s:7:"content";s:0:"";s:12:"content_size";i:429;s:13:"content_lines";i:19;s:6:"atLine";i:3151;}i:107;a:7:{s:6:"header";s:39:"function substring($content,$options)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:123:"
446
447 Implements the stdWrap property "substring" which is basically a TypoScript implementation of the PHP function, substr()
448 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The string to perform the operation on";}i:1;a:2:{i:0;s:6:"string";i:1;s:134:"The parameters to substring, given as a comma list of integers where the first and second number is passed as arg 1 and 2 to substr().";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"The processed input value.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:14:"@see stdWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"stdWrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:187;s:13:"content_lines";i:8;s:6:"atLine";i:3180;}i:109;a:7:{s:6:"header";s:34:"function crop($content,$options)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:246:"
449
450 Implements the stdWrap property "crop" which is a modified "substr" function allowing to limit a string lenght to a certain number of chars (from either start or end of string) and having a pre/postfix applied if the string really was cropped.
451 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The string to perform the operation on";}i:1;a:2:{i:0;s:6:"string";i:1;s:211:"The parameters splitted by "|": First parameter is the max number of chars of the string. Negative value means cropping from end of string. Second parameter is the pre/postfix string to apply if cropping occurs.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"The processed input value.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:14:"@see stdWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"stdWrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:335;s:13:"content_lines";i:15;s:6:"atLine";i:3198;}i:111;a:7:{s:6:"header";s:38:"function textStyle($theValue, $conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:155:"
452
453 Implements the stdWrap property "textStyle"; This generates a <font>-tag (and a <div>-tag for align-attributes) which is wrapped around the input value.
454 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:15:"The input value";}i:1;a:2:{i:0;s:5:"array";i:1;s:65:"TypoScript properties for the "TypoScript function" '->textStyle'";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"The processed output value";}s:6:"access";s:7:"private";s:5:"other";a:2:{i:0;s:14:"@see stdWrap()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=322&cHash=a14b745a18";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:10:"stdWrap() ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=322&cHash=a14b745a18 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2262;s:13:"content_lines";i:56;s:6:"atLine";i:3224;}i:113;a:7:{s:6:"header";s:39:"function tableStyle($theValue, $conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:144:"
455
456 Implements the stdWrap property "tableStyle"; Basically this generates a <table>-tag with properties which is wrapped around the input value.
457 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:15:"The input value";}i:1;a:2:{i:0;s:5:"array";i:1;s:65:"TypoScript properties for the "TypoScript function" '->textStyle'";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"The processed output value";}s:6:"access";s:7:"private";s:5:"other";a:2:{i:0;s:14:"@see stdWrap()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=324&cHash=34410ebff3";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:10:"stdWrap() ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=324&cHash=34410ebff3 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1169;s:13:"content_lines";i:31;s:6:"atLine";i:3291;}i:115;a:7:{s:6:"header";s:36:"function addParams($content,$conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:49:"
458
459 Implements the TypoScript function "addParams"
460 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"The string with the HTML tag.";}i:1;a:2:{i:0;s:5:"array";i:1;s:39:"The TypoScript configuration properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:19:"The modified string";}s:5:"other";a:2:{i:0;s:181:"@todo       Make it XHTML compatible. Will not present "/>" endings of tags right now. Further getting the tagname might fail if it is not separated by a normal space from the attributes.";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=325&cHash=ae4272e694";}s:11:"other_index";a:2:{s:5:"@todo";a:1:{i:0;s:175:"Make it XHTML compatible. Will not present "/>" endings of tags right now. Further getting the tagname might fail if it is not separated by a normal space from the attributes.";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=325&cHash=ae4272e694 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:979;s:13:"content_lines";i:26;s:6:"atLine";i:3332;}i:117;a:7:{s:6:"header";s:37:"function filelink($theValue, $conf)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:79:"
461
462 Creates a list of links to files.
463 Implements the stdWrap property "filelink"
464 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:59:"The filename to link to, possibly prefixed with $conf[path]";}i:1;a:2:{i:0;s:5:"array";i:1;s:60:"TypoScript parameters for the TypoScript function ->filelink";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:78:"The link to the file possibly with icons, thumbnails, size in bytes shown etc.";}s:6:"access";s:7:"private";s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=326&cHash=5618043c18";i:1;s:14:"@see stdWrap()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=326&cHash=5618043c18 ";}s:4:"@see";a:1:{i:0;s:10:"stdWrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2886;s:13:"content_lines";i:56;s:6:"atLine";i:3370;}i:119;a:7:{s:6:"header";s:36:"function locDataJU($jumpUrl,$conf)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:119:"
465
466 Returns a URL parameter string setting parameters for secure downloads by "jumpurl". 
467 Helper function for filelink()
468 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:42:"The URL to jump to, basically the filepath";}i:1;a:2:{i:0;s:5:"array";i:1;s:69:"TypoScript properties for the "jumpurl.secure" property of "filelink"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:38:"URL parameters like "&juSecure=1....."";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:15:"@see filelink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:11:"filelink() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:707;s:13:"content_lines";i:23;s:6:"atLine";i:3437;}i:121;a:7:{s:6:"header";s:21:"function calc($val) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:167:"
469
470 Performs basic mathematical evaluation of the input string. Does NOT take parathesis and operator precedence into account! (for that, see t3lib_div::calcPriority())
471 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:97:"The string to evaluate. Example: "3+4*10/5" will generate "35". Only integer numbers can be used.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:67:"The result (might be a float if you did a division of the numbers).";}s:5:"other";a:1:{i:0;s:30:"@see t3lib_div::calcPriority()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:26:"t3lib_div::calcPriority() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:478;s:13:"content_lines";i:19;s:6:"atLine";i:3468;}i:123;a:7:{s:6:"header";s:42:"function calcIntExplode($delim, $string)       {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:225:"
472
473 This explodes a comma-list into an array where the values are parsed through tslib_cObj::calc() and intval() (so you are sure to have integers in the output array)
474 Used to split and calculate min and max values for GMENUs.
475 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"Delimited to explode by";}i:1;a:2:{i:0;s:6:"string";i:1;s:67:"The string with parts in (where each part is evaluated by ->calc())";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:32:"And array with evaluated values.";}s:5:"other";a:1:{i:0;s:36:"@see calc(), tslib_gmenu::makeGifs()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:31:"calc(), tslib_gmenu::makeGifs()";}}}s:7:"content";s:0:"";s:12:"content_size";i:146;s:13:"content_lines";i:7;s:6:"atLine";i:3497;}i:125;a:7:{s:6:"header";s:34:"function splitObj($value, $conf)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:509:"
476
477 Implements the "split" property of stdWrap; Splits a string based on a token (given in TypoScript properties), sets the "current" value to each part and then renders a content object pointer to by a number.
478 In classic TypoScript (like 'content (default)'/'styles.content (default)') this is used to render tables, splitting rows and cells by tokens and putting them together again wrapped in <td> tags etc.
479 Implements the "optionSplit" processing of the TypoScript options for each splitted value to parse.
480 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:65:"The string value to explode by $conf[token] and process each part";}i:1;a:2:{i:0;s:5:"array";i:1;s:33:"TypoScript properties for "split"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:15:"Compiled result";}s:6:"access";s:7:"private";s:5:"other";a:2:{i:0;s:46:"@see stdWrap(), t3lib_menu::procesItemStates()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=319&cHash=1871864c8f";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:41:"stdWrap(), t3lib_menu::procesItemStates()";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=319&cHash=1871864c8f ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1258;s:13:"content_lines";i:41;s:6:"atLine";i:3517;}i:127;a:7:{s:6:"header";s:38:"function parseFunc($theValue, $conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:926:"
481
482 Implements the stdWrap property, "parseFunc". 
483 This is a function with a lot of interesting uses. In classic TypoScript this is used to process text from the bodytext field; This included highlighting of search words, changing http:// and mailto: prefixed strings into links, parsing <typolist>, <typohead> and <typocode> tags etc. 
484 It is still a very important function for processing of bodytext which is normally stored in the database in a format which is not fully ready to be outputted. This situation has not become better by having a RTE around...
485
486 This function is actually just splitting the input content according to the configuration of "external blocks". This means that before the input string is actually "parsed" it will be splitted into the parts configured to BE parsed (while other parts/blocks should NOT be parsed). Therefore the actual processing of the parseFunc properties goes on in ->_parseFunc()
487 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"The value to process.";}i:1;a:2:{i:0;s:5:"array";i:1;s:38:"TypoScript configuration for parseFunc";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:19:"The processed value";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=327&cHash=33331f0396";i:1;s:17:"@see _parseFunc()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=327&cHash=33331f0396 ";}s:4:"@see";a:1:{i:0;s:13:"_parseFunc() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3384;s:13:"content_lines";i:84;s:6:"atLine";i:3572;}i:129;a:7:{s:6:"header";s:40:"function _parseFunc ($theValue, $conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:34:"
488
489 Helper function for parseFunc()
490 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"The value to process.";}i:1;a:2:{i:0;s:5:"array";i:1;s:38:"TypoScript configuration for parseFunc";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:19:"The processed value";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:16:"@see parseFunc()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"parseFunc() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:7815;s:13:"content_lines";i:192;s:6:"atLine";i:3666;}i:131;a:7:{s:6:"header";s:45:"function encaps_lineSplit($theValue, $conf)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:118:"
491
492 Lets you split the content by chr(10) and proces each line independently. Used to format content made with the RTE.
493 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:15:"The input value";}i:1;a:2:{i:0;s:5:"array";i:1;s:18:"TypoScript options";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:83:"The processed input value being returned; Splitted lines imploded by chr(10) again.";}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]=323&cHash=a19312be78";}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]=323&cHash=a19312be78 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2725;s:13:"content_lines";i:72;s:6:"atLine";i:3868;}i:133;a:7:{s:6:"header";s:38:"function http_makelinks($data,$conf)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:184:"
494
495 Finds URLS in text and makes it to a real link.
496 Will find all strings prefixed with "http://" in the $data string and make them into a link, linking to the URL we should have found.
497 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:43:"The string in which to search for "http://"";}i:1;a:2:{i:0;s:5:"array";i:1;s:37:"Configuration for makeLinks, see link";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:43:"The processed input string, being returned.";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=328&cHash=c1135706d7";i:1;s:17:"@see _parseFunc()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=328&cHash=c1135706d7 ";}s:4:"@see";a:1:{i:0;s:13:"_parseFunc() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2027;s:13:"content_lines";i:49;s:6:"atLine";i:3951;}i:135;a:7:{s:6:"header";s:40:"function mailto_makelinks($data,$conf)       {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:139:"
498
499 Will find all strings prefixed with "mailto:" in the $data string and make them into a link, linking to the email address they point to.
500 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:43:"The string in which to search for "mailto:"";}i:1;a:2:{i:0;s:5:"array";i:1;s:37:"Configuration for makeLinks, see link";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:43:"The processed input string, being returned.";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=328&cHash=c1135706d7";i:1;s:17:"@see _parseFunc()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=328&cHash=c1135706d7 ";}s:4:"@see";a:1:{i:0;s:13:"_parseFunc() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1417;s:13:"content_lines";i:33;s:6:"atLine";i:4010;}i:137;a:7:{s:6:"header";s:43:"function getImgResource($file,$fileArray)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:490:"
501
502 Creates and returns a TypoScript "imgResource". 
503 The value ($file) can either be a file reference (TypoScript resource) or the string "GIFBUILDER". In the first case a current image is returned, possibly scaled down or otherwise processed. In the latter case a GIFBUILDER image is returned; This means an image is made by TYPO3 from layers of elements as GIFBUILDER defines.
504 In the function IMG_RESOURCE() this function is called like $this->getImgResource($conf['file'],$conf['file.']);
505 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:120:"A "imgResource" TypoScript data type. Either a TypoScript file resource or the string GIFBUILDER. See description above.";}i:1;a:2:{i:0;s:5:"array";i:1;s:46:"TypoScript properties for the imgResource type";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:51:"Returns info-array. info[origFile] = original file.";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=315&cHash=63b593a934";i:1;s:47:"@see IMG_RESOURCE(), cImage(), tslib_gifBuilder";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=315&cHash=63b593a934 ";}s:4:"@see";a:1:{i:0;s:42:"IMG_RESOURCE(), cImage(), tslib_gifBuilder";}}}s:7:"content";s:0:"";s:12:"content_size";i:7289;s:13:"content_lines";i:165;s:6:"atLine";i:4055;}i:139;a:8:{s:6:"header";s:30:"function getFieldVal($field)       {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:19:"Data retrieval etc.";}s:4:"cDat";a:3:{s:4:"text";s:197:"
506
507 Returns the value for the field from $this->data. If "//" is found in the $field value that token will split the field values apart and the first field having a non-blank value will be returned.
508 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:168:"The fieldname, eg. "title" or "navtitle // title" (in the latter case the value of $this->data[navtitle] is returned if not blank, otherwise $this->data[title] will be)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:245;s:13:"content_lines";i:10;s:6:"atLine";i:4227;}i:141;a:7:{s:6:"header";s:39:"function getData($string,$fieldArray)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:154:"
509
510 Implements the TypoScript data type "getText". This takes a string with parameters and based on those a value from somewhere in the system is returned.
511 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:165:"The parameter string, eg. "field : title" or "field : navtitle // field : title" (in the latter case and example of how the value is FIRST splitted by "//" is shown)";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:187:"Alternative field array; If you set this to an array this variable will be used to look up values for the "field" key. Otherwise the current page record in $GLOBALS['TSFE']->page is used.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"The value fetched";}s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=282&cHash=831a95115d";i:1;s:18:"@see getFieldVal()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=282&cHash=831a95115d ";}s:4:"@see";a:1:{i:0;s:14:"getFieldVal() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2331;s:13:"content_lines";i:75;s:6:"atLine";i:4247;}i:143;a:7:{s:6:"header";s:66:"function rootLineValue($key,$field,$slideBack=0,$altRootLine='')   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:90:"
512
513 Returns a value from the current rootline (site) from $GLOBALS['TSFE']->tmpl->rootLine;
514 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:28:"Which level in the root line";}i:1;a:2:{i:0;s:6:"string";i:1;s:73:"The field in the rootline record to return (a field from the pages table)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:120:"If set, then we will traverse through the rootline from outer level towards the root level until the value found is true";}i:3;a:2:{i:0;s:5:"mixed";i:1;s:81:"If you supply an array for this it will be used as an alternative root line array";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:41:"The value from the field of the rootline.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:14:"@see getData()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"getData() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:262;s:13:"content_lines";i:11;s:6:"atLine";i:4334;}i:145;a:7:{s:6:"header";s:26:"function getGlobal($var) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:245:"
515
516 Returns a value from the array, $GLOBALS where the input key, $val, is splitted by "|" first and each part points to a key in the $GLOBALS array.
517 Example: $var = "HTTP_GET_VARS | id" will return the value $GLOBALS['HTTP_GET_VARS']['id'] value
518 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:31:"Key, see description of functon";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:19:"Value from $GLOBALS";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:14:"@see getData()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"getData() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:271;s:13:"content_lines";i:14;s:6:"atLine";i:4355;}i:147;a:7:{s:6:"header";s:28:"function getKey($key,$arr)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:319:"
519
520 Processing of key values pointing to entries in $arr; Here negative values are converted to positive keys pointer to an entry in the array but from behind (based on the negative value).
521 Example: entrylevel = -1 means that entryLevel ends up pointing at the outermost-level, -2 means the level before the outermost...
522 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:24:"The integer to transform";}i:1;a:2:{i:0;s:5:"array";i:1;s:39:"Array in which the key should be found.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:32:"The processed integer key value.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:14:"@see getData()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:10:"getData() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:342;s:13:"content_lines";i:41;s:6:"atLine";i:4380;}i:149;a:8:{s:6:"header";s:36:"function typoLink($linktxt, $conf)        {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:25:"Link functions (typolink)";}s:4:"cDat";a:5:{s:4:"text";s:853:"
523
524 Implements the "typolink" property of stdWrap (and others)
525 Basically the input string, $linktext, is (typically) wrapped in a <a>-tag linking to some page, email address, file or URL based on a parameter defined by the configuration array $conf.
526 This function is best used from internal functions as is. There are some API functions defined after this function which is more suited for general usage in external applications.
527 Generally the concept "typolink" should be used in your own applications as an API for making links to pages with parameters and more. The reason for this is that you will then automatically make links compatible with all the centralized functions for URL simulation and manipulation of parameters into hashes and more.
528 For many more details on the parameters and how they are intepreted, please see the link to TSref below.
529 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"The string (text) to link";}i:1;a:2:{i:0;s:5:"array";i:1;s:41:"TypoScript configuration (see link below)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"A link-wrapped string.";}s:5:"other";a:2:{i:0;s:41:"@see stdWrap(), tslib_pibase::pi_linkTP()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=321&cHash=59bd727a5e";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:36:"stdWrap(), tslib_pibase::pi_linkTP()";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=321&cHash=59bd727a5e ";}}}s:7:"content";s:0:"";s:12:"content_size";i:11757;s:13:"content_lines";i:236;s:6:"atLine";i:4435;}i:151;a:7:{s:6:"header";s:30:"function typoLink_URL($conf)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:113:"
530
531 Based on the input "TypoLink" TypoScript configuration this will return the generated URL
532
533          ' @see typoLink()
534 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:36:"TypoScript properties for "typolink"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:62:"The URL of the link-tag that typolink() would by itself return";}}s:7:"content";s:0:"";s:12:"content_size";i:68;s:13:"content_lines";i:4;s:6:"atLine";i:4680;}i:153;a:7:{s:6:"header";s:72:"function getTypoLink($label,$params,$urlParameters=array(),$target='')   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:388:"
535
536 Returns a linked string made from typoLink parameters. 
537
538 This function takes $label as a string, wraps it in a link-tag based on the $params string, which should contain data like that you would normally pass to the popular <LINK>-tag in the TSFE.
539 Optionally you can supply $urlParameters which is an array with key/value pairs that are rawurlencoded and appended to the resulting url.
540 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"Text string being wrapped by the link.";}i:1;a:2:{i:0;s:6:"string";i:1;s:132:"Link parameter; eg. "123" for page id, "kasper@typo3.com" for email address, "http://...." for URL, "fileadmin/blabla.txt" for file.";}i:2;a:2:{i:0;s:5:"array";i:1;s:93:"An array with key/value pairs representing URL parameters to set. Values NOT URL-encoded yet.";}i:3;a:2:{i:0;s:6:"string";i:1;s:59:"Specific target set, if any. (Default is using the current)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:30:"The wrapped $label-text string";}s:5:"other";a:1:{i:0;s:22:"@see getTypoLink_URL()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"getTypoLink_URL() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:461;s:13:"content_lines";i:20;s:6:"atLine";i:4698;}i:155;a:7:{s:6:"header";s:69:"function getTypoLink_URL($params,$urlParameters=array(),$target='')    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:100:"
541
542 Returns the URL of a "typolink" create from the input parameter string, url-parameters and target
543 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:132:"Link parameter; eg. "123" for page id, "kasper@typo3.com" for email address, "http://...." for URL, "fileadmin/blabla.txt" for file.";}i:1;a:2:{i:0;s:5:"array";i:1;s:93:"An array with key/value pairs representing URL parameters to set. Values NOT URL-encoded yet.";}i:2;a:2:{i:0;s:6:"string";i:1;s:59:"Specific target set, if any. (Default is using the current)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"The URL";}s:5:"other";a:1:{i:0;s:18:"@see getTypoLink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"getTypoLink() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:95;s:13:"content_lines";i:4;s:6:"atLine";i:4728;}i:157;a:7:{s:6:"header";s:30:"function typolinkWrap($conf)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:84:"
544
545 Generates a typolink and returns the two link tags - start and stop - in an array
546 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:32:""typolink" TypoScript properties";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:132:"An array with two values in key 0+1, each value being the start and close <a>-tag of the typolink properties being inputted in $conf";}s:5:"other";a:1:{i:0;s:15:"@see typolink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:11:"typolink() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:76;s:13:"content_lines";i:4;s:6:"atLine";i:4740;}i:159;a:7:{s:6:"header";s:55:"function currentPageUrl($urlParameters=array(),$id=0)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:31:"
547
548 Returns the current page URL
549 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:147:"Optionally you can specify additional URL parameters. An array with key/value pairs representing URL parameters to set. Values NOT URL-encoded yet.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:58:"An alternative ID to the current id ($GLOBALS['TSFE']->id)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"The URL";}s:5:"other";a:1:{i:0;s:22:"@see getTypoLink_URL()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"getTypoLink_URL() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:281;s:13:"content_lines";i:32;s:6:"atLine";i:4753;}i:161;a:8:{s:6:"header";s:41:"function wrap($content,$wrap,$char='|')  {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:36:"Miscellaneous functions, stand alone";}s:4:"cDat";a:5:{s:4:"text";s:153:"
550
551 Wrapping a string.
552 Implements the TypoScript "wrap" property.
553 Example: $content = "HELLO WORLD" and $wrap = "<b> | </b>", result: "<b>HELLO WORLD</b>"
554 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"The content to wrap";}i:1;a:2:{i:0;s:6:"string";i:1;s:32:"The wrap value, eg. "<b> | </b>"";}i:2;a:2:{i:0;s:6:"string";i:1;s:57:"The char used to split the wrapping value, default is "|"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"Wrapped input string";}s:5:"other";a:1:{i:0;s:17:"@see noTrimWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"noTrimWrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:139;s:13:"content_lines";i:6;s:6:"atLine";i:4797;}i:163;a:7:{s:6:"header";s:37:"function noTrimWrap($content,$wrap)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:140:"
555
556 Wrapping a string, preserving whitespace in wrap value. 
557 Notice that the wrap value uses part 1/2 to wrap (and not 0/1 which wrap() does)
558 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The content to wrap, eg. "HELLO WORLD"";}i:1;a:2:{i:0;s:6:"string";i:1;s:35:"The wrap value, eg. " | <b> | </b>"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:48:"Wrapped input string, eg. " <b> HELLO WORD </b>"";}s:5:"other";a:1:{i:0;s:11:"@see wrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:7:"wrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:125;s:13:"content_lines";i:6;s:6:"atLine";i:4813;}i:165;a:7:{s:6:"header";s:37:"function wrapSpace($content, $wrap) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:129:"
559
560 Adds space above/below the input HTML string. It is done by adding a clear-gif and <br /> tag before and/or after the content.
561 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:40:"The content to add space above/below to.";}i:1;a:2:{i:0;s:6:"string";i:1;s:124:"A value like "10 | 20" where the first part denotes the space BEFORE and the second part denotes the space AFTER (in pixels)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"Wrapped string";}}s:7:"content";s:0:"";s:12:"content_size";i:512;s:13:"content_lines";i:15;s:6:"atLine";i:4827;}i:167;a:7:{s:6:"header";s:53:"function callUserFunction($funcName,$conf,$content)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:185:"
562
563 Calling a user function/class-method
564 Notice: For classes the instantiated object will have the internal variable, $cObj, set to be a *reference* to $this (the parent/calling object).
565 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:251:"The functionname, eg "user_myfunction" or "user_myclass->main". Notice that there are rules for the names of functions/classes you can instantiate. If a function cannot be called for some reason it will be seen in the TypoScript log in the AdminPanel.";}i:1;a:2:{i:0;s:5:"array";i:1;s:49:"The TypoScript configuration to pass the function";}i:2;a:2:{i:0;s:6:"string";i:1;s:39:"The content string to pass the function";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:71:"The return content from the function call. Should probably be a string.";}s:5:"other";a:1:{i:0;s:48:"@see USER(), stdWrap(), typoLink(), _parseFunc()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:43:"USER(), stdWrap(), typoLink(), _parseFunc()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1138;s:13:"content_lines";i:33;s:6:"atLine";i:4853;}i:169;a:7:{s:6:"header";s:33:"function processParams($params) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:187:"
566
567 Parses a set of text lines with "[parameters] = [values]" into an array with parameters as keys containing the value
568 If lines are empty or begins with "/" or "#" then they are ignored.
569 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"Text which the parameters";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:44:"Array with the parameters as key/value pairs";}}s:7:"content";s:0:"";s:12:"content_size";i:278;s:13:"content_lines";i:11;s:6:"atLine";i:4894;}i:171;a:7:{s:6:"header";s:29:"function keywords($content) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:102:"
570
571 Cleans up a string of keywords. Keywords at splitted by "," (comma)  ";" (semi colon) and linebreak
572 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"String of keywords";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:62:"Cleaned up string, keywords will be separated by a comma only.";}}s:7:"content";s:0:"";s:12:"content_size";i:169;s:13:"content_lines";i:8;s:6:"atLine";i:4912;}i:173;a:7:{s:6:"header";s:38:"function caseshift($theValue, $case)     {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:101:"
573
574 Changing character case of a string, converting typically used western charset characters as well.
575 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"The string to change case for.";}i:1;a:2:{i:0;s:6:"string";i:1;s:40:"The direction; either "upper" or "lower"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:20:"@see HTMLcaseshift()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"HTMLcaseshift() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:384;s:13:"content_lines";i:14;s:6:"atLine";i:4929;}i:175;a:7:{s:6:"header";s:42:"function HTMLcaseshift($theValue, $case)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:73:"
576
577 Shifts the case of characters outside of HTML tags in the input string
578 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"The string to change case for.";}i:1;a:2:{i:0;s:6:"string";i:1;s:40:"The direction; either "upper" or "lower"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:16:"@see caseshift()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"caseshift() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:446;s:13:"content_lines";i:19;s:6:"atLine";i:4952;}i:177;a:7:{s:6:"header";s:38:"function bytes($sizeInBytes,$labels)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:49:"
579
580 Formats a number to GB, Mb or Kb or just bytes
581 ";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:0:"";}s:5:"other";a:2:{i:0;s:39:"@see t3lib_div::formatSize(), stdWrap()";i:1;s:48:"@depreciated       Use t3lib_div::formatSize() instead";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:34:"t3lib_div::formatSize(), stdWrap()";}s:12:"@depreciated";a:1:{i:0;s:35:"Use t3lib_div::formatSize() instead";}}}s:7:"content";s:0:"";s:12:"content_size";i:59;s:13:"content_lines";i:3;s:6:"atLine";i:4981;}i:179;a:7:{s:6:"header";s:36:"function calcAge($seconds,$labels)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:43:"
582
583 Returns the 'age' of the tstamp $seconds
584 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:70:"Seconds to return age for. Example: "70" => "1 min", "3601" => "1 hrs"";}i:1;a:2:{i:0;s:6:"string";i:1;s:84:"$labels are the labels of the individual units. Defaults to : ' min| hrs| days| yrs'";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"The formatted string";}}s:7:"content";s:0:"";s:12:"content_size";i:511;s:13:"content_lines";i:19;s:6:"atLine";i:4992;}i:181;a:7:{s:6:"header";s:96:"function sendNotifyEmail($msg, $recipients, $cc, $email_from, $email_fromName='', $replyTo='')    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:74:"
585
586 Sending a notification email using $GLOBALS['TSFE']->plainMailEncoded()
587 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:48:"The message content. If blank, no email is sent.";}i:1;a:2:{i:0;s:6:"string";i:1;s:39:"Comma list of recipient email addresses";}i:2;a:2:{i:0;s:6:"string";i:1;s:123:"Email address of recipient of an extra mail. The same mail will be sent ONCE more; not using a CC header but sending twice.";}i:3;a:2:{i:0;s:6:"string";i:1;s:20:""From" email address";}i:4;a:2:{i:0;s:6:"string";i:1;s:20:"Optional "From" name";}i:5;a:2:{i:0;s:6:"string";i:1;s:41:"Optional "Reply-To" header email address.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:20:"Returns true if sent";}}s:7:"content";s:0:"";s:12:"content_size";i:698;s:13:"content_lines";i:19;s:6:"atLine";i:5023;}i:183;a:7:{s:6:"header";s:33:"function URLqMark($url,$params)     {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:132:"
588
589 Checks if $url has a '?' in it and if not, a '?' is inserted between $url and $params, which are anyway concatenated and returned
590 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:9:"Input URL";}i:1;a:2:{i:0;s:6:"string";i:1;s:14:"URL parameters";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:110;s:13:"content_lines";i:7;s:6:"atLine";i:5050;}i:185;a:7:{s:6:"header";s:29:"function checkEmail($email)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:41:"
591
592 Checking syntax of input email address
593 ";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:5:"other";a:2:{i:0;s:28:"@see t3lib_div::validEmail()";i:1;s:12:"@depreciated";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:24:"t3lib_div::validEmail() ";}s:12:"@depreciated";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:45;s:13:"content_lines";i:3;s:6:"atLine";i:5066;}i:187;a:7:{s:6:"header";s:46:"function clearTSProperties($TSArr,$propList)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:84:"
594
595 Clears TypoScript properties listed in $propList from the input TypoScript array.
596 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:37:"TypoScript array of values/properties";}i:1;a:2:{i:0;s:6:"string";i:1;s:84:"List of properties to clear both value/properties for. Eg. "myprop,another_property"";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:20:"The TypoScript array";}s:5:"other";a:1:{i:0;s:24:"@see gifBuilderTextBox()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"gifBuilderTextBox() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:174;s:13:"content_lines";i:9;s:6:"atLine";i:5078;}i:189;a:7:{s:6:"header";s:37:"function mergeTSRef($confArr,$prop)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:215:"
597
598 Resolves a TypoScript reference value to the full set of properties BUT overridden with any local properties set.
599 So the reference is resolved but overlaid with local TypoScript properties of the reference value.
600 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:20:"The TypoScript array";}i:1;a:2:{i:0;s:6:"string";i:1;s:236:"The property name: If this value is a reference (eg. " < plugins.tx_something") then the reference will be retrieved and inserted at that position (into the properties only, not the value...) AND overlaid with the old properties if any.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:29:"The modified TypoScript array";}s:5:"other";a:1:{i:0;s:58:"@see user_plaintext::typolist(),user_plaintext::typohead()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:54:"user_plaintext::typolist(),user_plaintext::typohead() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:468;s:13:"content_lines";i:14;s:6:"atLine";i:5097;}i:191;a:7:{s:6:"header";s:40:"function joinTSarrays($conf,$old_conf)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:84:"
601
602 Merges two TypoScript propery array, overlaing the $old_conf onto the $conf array
603 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:37:"TypoScript property array, the "base"";}i:1;a:2:{i:0;s:5:"array";i:1;s:40:"TypoScript property array, the "overlay"";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:19:"The resulting array";}s:5:"other";a:1:{i:0;s:63:"@see mergeTSRef(), tx_tstemplatestyler_modfunc1::joinTSarrays()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:58:"mergeTSRef(), tx_tstemplatestyler_modfunc1::joinTSarrays()";}}}s:7:"content";s:0:"";s:12:"content_size";i:252;s:13:"content_lines";i:13;s:6:"atLine";i:5120;}i:193;a:7:{s:6:"header";s:59:"function gifBuilderTextBox($gifbuilderConf, $conf, $text)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:175:"
604
605 This function creates a number of TEXT-objects in a Gifbuilder configuration in order to create a text-field like thing. Used with the script tslib/media/scripts/postit.inc
606 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:100:"TypoScript properties for Gifbuilder - TEXT GIFBUILDER objects are added to this array and returned.";}i:1;a:2:{i:0;s:5:"array";i:1;s:39:"TypoScript properties for this function";}i:2;a:2:{i:0;s:6:"string";i:1;s:49:"The text string to write onto the GIFBUILDER file";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:34:"The modified $gifbuilderConf array";}s:5:"other";a:1:{i:0;s:29:"@see media/scripts/postit.inc";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:25:"media/scripts/postit.inc ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1578;s:13:"content_lines";i:45;s:6:"atLine";i:5143;}i:195;a:7:{s:6:"header";s:49:"function linebreaks($string,$chars,$maxLines=0)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:99:"
607
608 Splits a text string into lines and returns an array with these lines but a max number of lines.
609 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"The string to break";}i:1;a:2:{i:0;s:7:"integer";i:1;s:34:"Max number of characters per line.";}i:2;a:2:{i:0;s:7:"integer";i:1;s:27:"Max number of lines in all.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:17:"Array with lines.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:24:"@see gifBuilderTextBox()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"gifBuilderTextBox() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:361;s:13:"content_lines";i:18;s:6:"atLine";i:5199;}i:197;a:7:{s:6:"header";s:86:"function getUpdateJS($dataArray, $formName, $arrPrefix, $fieldList, $stripSlashes=1) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:399:"
610
611 Returns a JavaScript <script> section with some function calls to JavaScript functions from "t3lib/jsfunc.updateform.js" (which is also included by setting a reference in $GLOBALS['TSFE']->additionalHeaderData['JSincludeFormupdate']
612 The JavaScript codes simply transfers content into form fields of a form which is probably used for editing information by frontend users. Used by fe_adminLib.inc.
613 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:106:"Data array which values to load into the form fields from $formName (only field names found in $fieldList)";}i:1;a:2:{i:0;s:6:"string";i:1;s:13:"The form name";}i:2;a:2:{i:0;s:6:"string";i:1;s:27:"A prefix for the data array";}i:3;a:2:{i:0;s:6:"string";i:1;s:35:"The list of fields which are loaded";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:79:"If set, values are strip-slashes before being written into the JavaScript code.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:40:"@see user_feAdmin::displayCreateScreen()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:36:"user_feAdmin::displayCreateScreen() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1133;s:13:"content_lines";i:61;s:6:"atLine";i:5231;}i:199;a:8:{s:6:"header";s:36:"function DBgetDelete($table, $uid)  {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:37:"Database functions, making of queries";}s:4:"cDat";a:5:{s:4:"text";s:280:"
614
615 Returns an UPDATE/DELETE sql query which will "delete" the record.
616 If the $TCA config for the table tells us to NOT "physically" delete the record but rather set the "deleted" field to "1" then an UPDATE query is returned doing just that. Otherwise it truely is a DELETE query.
617 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"The table name, should be in $TCA";}i:1;a:2:{i:0;s:7:"integer";i:1;s:62:"The UID of the record from $table which we are going to delete";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"The query, ready to execute.";}s:5:"other";a:1:{i:0;s:47:"@see DBgetUpdate(), DBgetInsert(), user_feAdmin";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:42:"DBgetUpdate(), DBgetInsert(), user_feAdmin";}}}s:7:"content";s:0:"";s:12:"content_size";i:303;s:13:"content_lines";i:12;s:6:"atLine";i:5302;}i:201;a:7:{s:6:"header";s:73:"function DBgetUpdate($table, $uid, $dataArr, $fieldList, $addSlashes=0) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:391:"
618
619 Returns an UPDATE sql query.
620 If a "tstamp" field is configured for the $table tablename in $TCA then that field is automatically updated to the current time.
621 Notice: It is YOUR responsibility to make sure the data being updated is valid according the tablefield types etc. Also no logging is performed of the update. It's just a nice general usage API function for creating a quick query.
622 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"The table name, should be in $TCA";}i:1;a:2:{i:0;s:7:"integer";i:1;s:62:"The UID of the record from $table which we are going to update";}i:2;a:2:{i:0;s:5:"array";i:1;s:84:"The data array where key/value pairs are fieldnames/values for the record to update.";}i:3;a:2:{i:0;s:6:"string";i:1;s:132:"Comma list of fieldnames which are allowed to be updated. Only values from the data record for fields in this list will be updated!!";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:99:"If set, then all the values are passed through addslashes() before being added to the query string.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"The query, ready to execute.";}s:5:"other";a:1:{i:0;s:47:"@see DBgetInsert(), DBgetDelete(), user_feAdmin";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:42:"DBgetInsert(), DBgetDelete(), user_feAdmin";}}}s:7:"content";s:0:"";s:12:"content_size";i:622;s:13:"content_lines";i:22;s:6:"atLine";i:5328;}i:203;a:7:{s:6:"header";s:73:"function DBgetInsert($table, $pid, $dataArr, $fieldList, $addSlashes=0)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:349:"
623
624 Returns an INSERT sql query which automatically added "system-fields" according to $TCA
625 Automatically fields for "tstamp", "crdate", "cruser_id", "fe_cruser_id" and "fe_crgroup_id" is updated if they are configured in the "ctrl" part of $TCA.
626 The "pid" field is overridden by the input $pid value if >= 0 (zero). "uid" can never be set as a field
627 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"The table name, should be in $TCA";}i:1;a:2:{i:0;s:7:"integer";i:1;s:38:"The PID value for the record to insert";}i:2;a:2:{i:0;s:5:"array";i:1;s:83:"The data array where key/value pairs are fieldnames/values for the record to insert";}i:3;a:2:{i:0;s:6:"string";i:1;s:134:"Comma list of fieldnames which are allowed to be inserted. Only values from the data record for fields in this list will be inserted!!";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:99:"If set, then all the values are passed through addslashes() before being added to the query string.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"The query, ready to execute.";}s:5:"other";a:1:{i:0;s:66:"@see DBgetUpdate(), DBgetDelete(), DBcompileInsert(), user_feAdmin";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:61:"DBgetUpdate(), DBgetDelete(), DBcompileInsert(), user_feAdmin";}}}s:7:"content";s:0:"";s:12:"content_size";i:1410;s:13:"content_lines";i:22;s:6:"atLine";i:5364;}i:205;a:7:{s:6:"header";s:42:"function DBcompileInsert($table,$fp,$vp)       {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:55:"
628
629 Compiles a raw INSERT sql query, no questions asked.
630 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"The table name for the query.";}i:1;a:2:{i:0;s:5:"array";i:1;s:19:"Array of fieldnames";}i:2;a:2:{i:0;s:5:"array";i:1;s:75:"Array of field values (corresponding to the $fp arrays fieldnames in order)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"An INSERT INTO query";}s:5:"other";a:1:{i:0;s:18:"@see DBgetInsert()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"DBgetInsert() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:116;s:13:"content_lines";i:4;s:6:"atLine";i:5396;}i:207;a:7:{s:6:"header";s:84:"function DBmayFEUserEdit($table,$row, $feUserRow, $allowedGroups='',$feEditSelf=0)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:64:"
631
632 Checks if a frontend user is allowed to edit a certain record
633 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"The table name, found in $TCA";}i:1;a:2:{i:0;s:5:"array";i:1;s:48:"The record data array for the record in question";}i:2;a:2:{i:0;s:5:"array";i:1;s:81:"The array of the fe_user which is evaluated, typ. $GLOBALS['TSFE']->fe_user->user";}i:3;a:2:{i:0;s:6:"string";i:1;s:124:"Commalist of the only fe_groups uids which may edit the record. If not set, then the usergroup field of the fe_user is used.";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:53:"True, if the fe_user may edit his own fe_user record.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:17:"@see user_feAdmin";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"user_feAdmin ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1270;s:13:"content_lines";i:28;s:6:"atLine";i:5412;}i:209;a:7:{s:6:"header";s:83:"function DBmayFEUserEditSelect($table,$feUserRow,$allowedGroups='',$feEditSelf=0) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:290:"
634
635 Returns part of a where clause for selecting records from the input table name which the user may edit.
636 Conceptually close to the function DBmayFEUserEdit(); It does the same thing but not for a single record, rather for a select query selecting all records which the user HAS access to.
637 ";s:5:"param";a:4:{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:81:"The array of the fe_user which is evaluated, typ. $GLOBALS['TSFE']->fe_user->user";}i:2;a:2:{i:0;s:6:"string";i:1;s:124:"Commalist of the only fe_groups uids which may edit the record. If not set, then the usergroup field of the fe_user is used.";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:53:"True, if the fe_user may edit his own fe_user record.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:84:"The where clause part. ALWAYS returns a string. If no access at all, then " AND 1=0"";}s:5:"other";a:1:{i:0;s:57:"@see DBmayFEUserEdit(), user_feAdmin::displayEditScreen()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:52:"DBmayFEUserEdit(), user_feAdmin::displayEditScreen()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1306;s:13:"content_lines";i:29;s:6:"atLine";i:5452;}i:211;a:7:{s:6:"header";s:46:"function enableFields($table,$show_hidden=0)        {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:716:"
638
639 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.
640 THIS IS A VERY IMPORTANT FUNCTION: Basically you must add the output from this function for EVERY select query you create for selecting records of tables in your own applications - thus they will always be filtered according to the "enablefields" configured in TCA
641 Simply calls t3lib_pageSelect::enableFields() BUT will send the show_hidden flag along! This means this function will work in conjunction with the preview facilities of the frontend engine/Admin Panel.
642 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:43:"The table for which to get the where clause";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:131:"If set, then you want NOT to filter out hidden records. Otherwise hidden record are filtered based on the current preview settings.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:120:"The part of the where clause on the form " AND NOT [fieldname] AND ...". Eg. " AND NOT hidden AND starttime < 123345567"";}s:5:"other";a:1:{i:0;s:37:"@see t3lib_pageSelect::enableFields()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:33:"t3lib_pageSelect::enableFields() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:181;s:13:"content_lines";i:3;s:6:"atLine";i:5492;}i:213;a:7:{s:6:"header";s:109:"function getTreeList($id,$depth,$begin=0,$dontCheckEnableFields=0,$addSelectFields='',$moreWhereClauses='')   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:711:"
643
644 Generates a list of Page-uid's from $id. List does not include $id itself
645  The only pages WHICH PREVENTS DECENDING in a branch are 
646    - deleted pages, 
647    - pages in a recycler or of the Backend User Section type
648    - pages that has the extendToSubpages set, WHERE start/endtime, hidden and fe_users would hide the records.
649  Apart from that, pages with enable-fields excluding them, will also be removed. HOWEVER $dontCheckEnableFields set will allow enableFields-excluded pages to be included anyway - including extendToSubpages sections!
650
651  Returns the list with a comma in the end (if any pages selected!) - which means the input page id can comfortably be appended to the output string if you need it to.
652 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:7:"integer";i:1;s:69:"The id of the start page from which point in the page tree to decend.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:177:"The number of levels to decend. If you want to decend infinitely, just set this to 100 or so. Should be at least "1" since zero will just make the function return (no decend...)";}i:2;a:2:{i:0;s:7:"integer";i:1;s:155:"$begin is an optional integer that determines at which level in the tree to start collecting uid's. Zero means 'start right away', 1 = 'next level and out'";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:24:"See function description";}i:4;a:2:{i:0;s:6:"string";i:1;s:67:"Additional fields to select. Syntax: ",[fieldname],[fieldname],..."";}i:5;a:2:{i:0;s:6:"string";i:1;s:68:"Additional where clauses. Syntax: " AND [fieldname]=[value] AND ..."";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:57:"A list of page ID integer values for the decended levels.";}s:5:"other";a:1:{i:0;s:80:"@see tslib_fe::checkEnableFields(), tslib_fe::checkPagerecordForIncludeSection()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:75:"tslib_fe::checkEnableFields(), tslib_fe::checkPagerecordForIncludeSection()";}}}s:7:"content";s:0:"";s:12:"content_size";i:984;s:13:"content_lines";i:25;s:6:"atLine";i:5515;}i:215;a:7:{s:6:"header";s:45:"function whereSelectFromList($field,$value)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:513:"
653
654 Returns a part for a WHERE clause (without preceeding operator) which will select records based on the presence of a certain string in a string-list inside the record.
655 Example: If you have a record with a field, "usergroup" and that field might contain a list like "1,2,3" (with no spaces between the values) then you can select all records having eg. "2" in this list by calling this function. This is regardless of whether the number "2" is in the start, end or middle of the list - or the only value at all.
656 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"The field name to look in";}i:1;a:2:{i:0;s:6:"string";i:1;s:58:"The value to look for (must be addslashes() on beforehand)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:203;s:13:"content_lines";i:5;s:6:"atLine";i:5549;}i:217;a:7:{s:6:"header";s:80:"function mm_query($select,$local_table,$mm_table,$foreign_table,$endClause='')  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:212:"
657
658 Creates a SELECT query for joining three tables according the the MM-relation standards used for tables configured in $TCA. That means MM-joins where the join table has the fields "uid_local" and "uid_foreign"
659 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:24:"List of fields to select";}i:1;a:2:{i:0;s:6:"string";i:1;s:15:"The local table";}i:2;a:2:{i:0;s:6:"string";i:1;s:100:"The join-table; The "uid_local" field of this table will be matched with $local_table's "uid" field.";}i:3;a:2:{i:0;s:6:"string";i:1;s:203:"Optionally: The foreign table; The "uid" field of this table will be matched with $mm_table's "uid_foreign" field. If you set this field to blank the join will be over only the $local_table and $mm_table";}i:4;a:2:{i:0;s:6:"string";i:1;s:19:"Optional endclause.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:10:"The query.";}s:5:"other";a:1:{i:0;s:23:"@see mm_query_uidList()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"mm_query_uidList() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:276;s:13:"content_lines";i:6;s:6:"atLine";i:5566;}i:219;a:7:{s:6:"header";s:99:"function mm_query_uidList($select,$local_table_uidlist,$mm_table,$foreign_table='',$endClause='') {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:5:{s:4:"text";s:439:"
660
661 Creates a SELECT query for joining two tables according the the MM-relation standards used for tables configured in $TCA. That means MM-joins where the join table has the fields "uid_local" and "uid_foreign"
662 The two tables joined is the join table ($mm_table) and the foreign table ($foreign_table) - so the "local table" is not included but instead you can supply a list of UID integers from the local table to match in the join-table.
663 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:24:"List of fields to select";}i:1;a:2:{i:0;s:6:"string";i:1;s:37:"List of UID integers, eg. "1,2,3,456"";}i:2;a:2:{i:0;s:6:"string";i:1;s:122:"The join-table; The "uid_local" field of this table will be matched with the list of UID numbers from $local_table_uidlist";}i:3;a:2:{i:0;s:6:"string";i:1;s:209:"Optionally: The foreign table; The "uid" field of this table will be matched with $mm_table's "uid_foreign" field. If you set this field to blank only records from the $mm_table is returned. No join performed.";}i:4;a:2:{i:0;s:6:"string";i:1;s:19:"Optional endclause.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:10:"The query.";}s:5:"other";a:1:{i:0;s:15:"@see mm_query()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:11:"mm_query() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:268;s:13:"content_lines";i:6;s:6:"atLine";i:5585;}i:221;a:7:{s:6:"header";s:64:"function searchWhere($sw,$searchFieldList,$prefixTableName='')  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:450:"
664
665 Generates a search where clause based on the input search words (AND operation - all search words must be found in record.)
666 Example: The $sw is "content management, system" (from an input form) and the $searchFieldList is "bodytext,header" then the output will be ' AND (bodytext LIKE "%content%" OR header LIKE "%content%") AND (bodytext LIKE "%management%" OR header LIKE "%management%") AND (bodytext LIKE "%system%" OR header LIKE "%system%")'
667 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:61:"The search words. These will be separated by space and comma.";}i:1;a:2:{i:0;s:6:"string";i:1;s:23:"The fields to search in";}i:2;a:2:{i:0;s:6:"string";i:1;s:69:"The table name prefix for fields (if you want any). Eg. "tt_content."";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"The WHERE clause.";}}s:7:"content";s:0:"";s:12:"content_size";i:547;s:13:"content_lines";i:23;s:6:"atLine";i:5601;}i:223;a:7:{s:6:"header";s:33:"function getQuery($table,$conf) {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:174:"
668
669 Creates and returns a SELECT query for records from $table and with conditions based on the configuration in the $conf array
670 Implements the "select" function in TypoScript
671 ";s:5:"param";a:2:{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:39:"The TypoScript configuration properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:14:"A SELECT query";}s:6:"access";s:7:"private";s:5:"other";a:2:{i:0;s:25:"@see CONTENT(), numRows()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=318&cHash=a98cb4e7e6";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:20:"CONTENT(), numRows()";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=318&cHash=a98cb4e7e6 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1468;s:13:"content_lines";i:47;s:6:"atLine";i:5636;}i:225;a:7:{s:6:"header";s:33:"function getWhere($table,$conf)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:80:"
672
673 Helper function for getQuery(), creating the WHERE clause of the SELECT query
674 ";s:5:"param";a:2:{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:39:"The TypoScript configuration properties";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:120:"A WHERE clause based on the relevant parts of the TypoScript properties for a "select" function in TypoScript, see link.";}s:6:"access";s:7:"private";s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=318&cHash=a98cb4e7e6";i:1;s:15:"@see getQuery()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=318&cHash=a98cb4e7e6 ";}s:4:"@see";a:1:{i:0;s:11:"getQuery() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1881;s:13:"content_lines";i:59;s:6:"atLine";i:5694;}i:227;a:7:{s:6:"header";s:34:"function checkPidArray($listArr)   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:162:"
675
676 Removes Page UID numbers from the input array which are not available due to enableFields() or the list of bad doktype numbers ($this->checkPid_badDoktypeList)
677 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:110:"Array of Page UID numbers for select and for which pages with enablefields and bad doktypes should be removed.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:47:"Returns the array of remaining page UID numbers";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:26:"@see getWhere(),checkPid()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:22:"getWhere(),checkPid() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:486;s:13:"content_lines";i:15;s:6:"atLine";i:5762;}i:229;a:7:{s:6:"header";s:25:"function checkPid($uid)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:127:"
678
679 Checks if a page UID is available due to enableFields() AND the list of bad doktype numbers ($this->checkPid_badDoktypeList)
680 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:16:"Page UID to test";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:10:"True if OK";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:32:"@see getWhere(), checkPidArray()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:27:"getWhere(), checkPidArray()";}}}s:7:"content";s:0:"";s:12:"content_size";i:576;s:13:"content_lines";i:44;s:6:"atLine";i:5786;}i:231;a:8:{s:6:"header";s:74:"function editPanel($content, $conf, $currentRecord='', $dataArr=array())  {";s:11:"parentClass";s:10:"tslib_cObj";s:11:"sectionText";a:1:{i:0;s:26:"Frontend editing functions";}s:4:"cDat";a:5:{s:4:"text";s:349:"
681
682 Generates the "edit panels" which can be shown for a page or records on a page when the Admin Panel is enabled for a backend users surfing the frontend.
683 With the "edit panel" the user will see buttons with links to editing, moving, hiding, deleting the element
684 This function is used for the cObject EDITPANEL and the stdWrap property ".editPanel"
685 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:197:"A content string containing the content related to the edit panel. For cObject "EDITPANEL" this is empty but not so for the stdWrap property. The edit panel is appended to this string and returned.";}i:1;a:2:{i:0;s:5:"array";i:1;s:53:"TypoScript configuration properties for the editPanel";}i:2;a:2:{i:0;s:6:"string";i:1;s:187:"The "table:uid" of the record being shown. If empty string then $this->currentRecord is used. For new records (set by $conf['newRecordFromTable']) it's auto-generated to "[tablename]:NEW"";}i:3;a:2:{i:0;s:5:"array";i:1;s:53:"Alternative data array to use. Default is $this->data";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:242:"The input content string with the editPanel appended. This function returns only an edit panel appended to the content string if a backend user is logged in (and has the correct permissions). Otherwise the content string is directly returned.";}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]=375&cHash=7d8915d508";}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]=375&cHash=7d8915d508 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:9253;s:13:"content_lines";i:141;s:6:"atLine";i:5843;}i:233;a:7:{s:6:"header";s:109:"function editIcons($content,$params, $conf=array(), $currentRecord='', $dataArr=array(),$addUrlParamStr='')      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:3:{s:4:"text";s:277:"
686
687 Adds an edit icon to the content string. The edit icon links to alt_doc.php with proper parameters for editing the table/fields of the context. 
688 This implements TYPO3 context sensitive editing facilities. Only backend users will have access (if properly configured as well).
689 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:54:"The content to which the edit icons should be appended";}i:1;a:2:{i:0;s:6:"string";i:1;s:337:"The parameters defining which table and fields to edit. Syntax is [tablename]:[fieldname],[fieldname],[fieldname],... OR [fieldname],[fieldname],[fieldname],... (basically "[tablename]:" is optional, default table is the one of the "current record" used in the function). The fieldlist is sent as "&columnsOnly=" parameter to alt_doc.php";}i:2;a:2:{i:0;s:5:"array";i:1;s:53:"TypoScript properties for configuring the edit icons.";}i:3;a:2:{i:0;s:6:"string";i:1;s:187:"The "table:uid" of the record being shown. If empty string then $this->currentRecord is used. For new records (set by $conf['newRecordFromTable']) it's auto-generated to "[tablename]:NEW"";}i:4;a:2:{i:0;s:5:"array";i:1;s:53:"Alternative data array to use. Default is $this->data";}i:5;a:2:{i:0;s:6:"string";i:1;s:62:"Additional URL parameters for the link pointing to alt_doc.php";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:134:"The input content string, possibly with edit icons added (not necessarily in the end but just after the last string of normal content.";}}s:7:"content";s:0:"";s:12:"content_size";i:2026;s:13:"content_lines";i:44;s:6:"atLine";i:5997;}i:235;a:7:{s:6:"header";s:82:"function editPanelLinkWrap($string,$formName,$cmd,$currentRecord='',$confirm='')   {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:238:"
690
691 Helper function for editPanel() which wraps icons in the panel in a link with the action of the panel. 
692 The links are for some of them not simple hyperlinks but onclick-actions which submits a little form which the panel is wrapped in.
693 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:78:"The string to wrap in a link, typ. and image used as button in the edit panel.";}i:1;a:2:{i:0;s:6:"string";i:1;s:45:"The name of the form wrapping the edit panel.";}i:2;a:2:{i:0;s:6:"string";i:1;s:87:"The command of the link. There is a predefined list available: edit, new, up, down etc.";}i:3;a:2:{i:0;s:6:"string";i:1;s:59:"The "table:uid" of the record being processed by the panel.";}i:4;a:2:{i:0;s:6:"string";i:1;s:128:"Text string with confirmation message; If set a confirm box will be displayed before carrying out the action (if Yes is pressed)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"A <a> tag wrapped string.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:68:"@see editPanel(), editIcons(), t3lib_tsfeBeUserAuth::extEditAction()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:63:"editPanel(), editIcons(), t3lib_tsfeBeUserAuth::extEditAction()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1216;s:13:"content_lines";i:27;s:6:"atLine";i:6055;}i:237;a:7:{s:6:"header";s:64:"function editPanelLinkWrap_doWrap($string,$url,$currentRecord)    {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:136:"
694
695 Creates a link to a script (eg. typo3/alt_doc.php or typo3/db_new.php) which either opens in the current frame OR in a pop-up window.
696 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:78:"The string to wrap in a link, typ. and image used as button in the edit panel.";}i:1;a:2:{i:0;s:6:"string";i:1;s:19:"The URL of the link";}i:2;a:2:{i:0;s:6:"string";i:1;s:59:"The "table:uid" of the record being processed by the panel.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"A <a> tag wrapped string.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:24:"@see editPanelLinkWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"editPanelLinkWrap() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:932;s:13:"content_lines";i:14;s:6:"atLine";i:6093;}i:239;a:7:{s:6:"header";s:62:"function editPanelPreviewBorder($table,$row,$content,$thick)      {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:181:"
697
698 Wraps the input content string in a table with a gray border if the table/row combination evaluates to being disabled/hidden. 
699 Used for marking previewed records in the frontend.
700 ";s:5:"param";a:4:{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:27:"The data record from $table";}i:2;a:2:{i:0;s:6:"string";i:1;s:26:"The content string to wrap";}i:3;a:2:{i:0;s:7:"integer";i:1;s:27:"The thickness of the border";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:89:"The input string wrapped in a table with a border color of #cccccc and thickness = $thick";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:16:"@see editPanel()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"editPanel() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:264;s:13:"content_lines";i:7;s:6:"atLine";i:6120;}i:241;a:7:{s:6:"header";s:34:"function isDisabled($table,$row)  {";s:11:"parentClass";s:10:"tslib_cObj";s:4:"cDat";a:6:{s:4:"text";s:127:"
701
702 Returns true if the input table/row would be hidden in the frontend (according nto the current time and simulate user group)
703 ";s:5:"param";a:2:{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:15:"The data record";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:29:"@see editPanelPreviewBorder()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:25:"editPanelPreviewBorder() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:662;s:13:"content_lines";i:23;s:6:"atLine";i:6137;}i:243;a:8:{s:6:"header";s:22:"class tslib_frameset {";s:5:"class";i:1;s:11:"parentClass";s:14:"tslib_frameset";s:4:"cDat";a:5:{s:4:"text";s:25:"
704
705 Rendering of framesets
706 ";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 tslib";}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:"tslib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:6168;}i:245;a:7:{s:6:"header";s:23:"function make($setup)  {";s:11:"parentClass";s:14:"tslib_frameset";s:4:"cDat";a:5:{s:4:"text";s:75:"
707
708 Generates a frameset based on input configuration in a TypoScript array.
709 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:76:"The TypoScript properties of the PAGE object property "frameSet.". See link.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"A <frameset> tag.";}s:5:"other";a:2:{i:0;s:41:"@see TSpagegen::renderContentWithHeader()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=343&cHash=41ca925386";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:37:"TSpagegen::renderContentWithHeader() ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=343&cHash=41ca925386 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:807;s:13:"content_lines";i:26;s:6:"atLine";i:6178;}i:247;a:7:{s:6:"header";s:40:"function frameParams($setup, $typeNum)     {";s:11:"parentClass";s:14:"tslib_frameset";s:4:"cDat";a:6:{s:4:"text";s:87:"
710
711 Creates the attributes for at <frame> tag based on a $conf array and the type number
712 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:70:"Configuration for the parameter generation for the FRAME set. See link";}i:1;a:2:{i:0;s:7:"integer";i:1;s:35:"The typenumber to use for the link.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:74:"String with attributes for the frame-tag. With a prefixed space character.";}s:6:"access";s:7:"private";s:5:"other";a:2:{i:0;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=344&cHash=63ae959c9a";i:1;s:41:"@see make(), t3lib_TStemplate::linkData()";}s:11:"other_index";a:2:{s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=344&cHash=63ae959c9a ";}s:4:"@see";a:1:{i:0;s:36:"make(), t3lib_TStemplate::linkData()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1361;s:13:"content_lines";i:26;s:6:"atLine";i:6215;}i:249;a:7:{s:6:"header";s:33:"function framesetParams($setup)   {";s:11:"parentClass";s:14:"tslib_frameset";s:4:"cDat";a:6:{s:4:"text";s:77:"
713
714 Creates the attributes for a <frameset> tag based on a conf array ($setup)
715 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:39:"The setup array (TypoScript properties)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:33:"Attributes with preceeding space.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:11:"@see make()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:7:"make() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:257;s:13:"content_lines";i:24;s:6:"atLine";i:6250;}i:251;a:8:{s:6:"header";s:25:"class tslib_tableOffset  {";s:5:"class";i:1;s:11:"parentClass";s:17:"tslib_tableOffset";s:4:"cDat";a:5:{s:4:"text";s:33:"
716
717 Rendering of tables for offset
718 ";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:48:"@see   tslib_cObj::OTABLE(), tslib_cObj::stdWrap()";i:1;s:42:"@author  Kasper Skaarhoj <kasper@typo3.com>";i:2;s:14:"@package TYPO3";i:3;s:17:"@subpackage tslib";}s:11:"other_index";a:4:{s:4:"@see";a:1:{i:0;s:43:"tslib_cObj::OTABLE(), tslib_cObj::stdWrap()";}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:"tslib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:188;s:13:"content_lines";i:4;s:6:"atLine";i:6283;}i:253;a:7:{s:6:"header";s:34:"function start($content,$offset)     {";s:11:"parentClass";s:17:"tslib_tableOffset";s:4:"cDat";a:3:{s:4:"text";s:98:"
719
720 Wrapping the input content string in a table which will space it out from top/left/right/bottom
721 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"The HTML content string";}i:1;a:2:{i:0;s:6:"string";i:1;s:38:"List of offset parameters; x,y,r,b,w,h";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:107:"The HTML content string being wrapped in a <table> offsetting the content as the $offset parameters defined";}}s:7:"content";s:0:"";s:12:"content_size";i:2453;s:13:"content_lines";i:69;s:6:"atLine";i:6295;}i:255;a:5:{s:6:"header";s:26:"class tslib_controlTable       {";s:5:"class";i:1;s:11:"parentClass";s:18:"tslib_controlTable";s:4:"cDat";a:5:{s:4:"text";s:46:"
722
723 Rendering of tables for content positioning
724 ";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:25:"@see tslib_cObj::CTABLE()";i:1;s:42:"@author   Kasper Skaarhoj <kasper@typo3.com>";i:2;s:14:"@package TYPO3";i:3;s:17:"@subpackage tslib";}s:11:"other_index";a:4:{s:4:"@see";a:1:{i:0;s:21:"tslib_cObj::CTABLE() ";}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:"tslib ";}}}s:6:"atLine";i:6373;}i:257;a:7:{s:6:"header";s:35:"function start($offset,$cMargins)  {";s:11:"parentClass";s:18:"tslib_controlTable";s:4:"cDat";a:5:{s:4:"text";s:241:"
725
726 Wrapping internal vars ->tm, ->lm, ->rm, ->bm and ->content in a table where each content part is stored in a cell.
727 The two arguments to this function defines some offsets and margins to use in the arrangement of the content in the table.
728 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:30:"List of offset parameters; x,y";}i:1;a:2:{i:0;s:6:"string";i:1;s:51:"List of margin parameters; left, top, right, bottom";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:66:"The content strings wrapped in a <table> as the parameters defined";}s:5:"other";a:2:{i:0;s:25:"@see tslib_cObj::CTABLE()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=359&cHash=2e0065b4e7";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:21:"tslib_cObj::CTABLE() ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=359&cHash=2e0065b4e7 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2935;s:13:"content_lines";i:69;s:6:"atLine";i:6408;}}}s:14:"MD5_c18bbeacd3";a:4:{s:8:"filename";s:24:"tslib/class.tslib_fe.php";s:8:"filesize";i:107831;s:6:"header";a:5:{s:4:"text";s:89:"
729
730 Main frontend class, instantiated in the index_ts.php script as the global object TSFE
731 ";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 tslib";}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:"tslib ";}}}s:3:"DAT";a:82:{i:1;a:8:{s:6:"header";s:16:"class tslib_fe      {";s:5:"class";i:1;s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:89:"
732
733 Main frontend class, instantiated in the index_ts.php script as the global object TSFE
734 ";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 tslib";}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:"tslib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:11015;s:13:"content_lines";i:130;s:6:"atLine";i:174;}i:3;a:7:{s:6:"header";s:103:"function tslib_fe($TYPO3_CONF_VARS, $id, $type, $no_cache='', $cHash='', $jumpurl='',$MP='',$RDCT='')      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:317:"
735
736 Class constructor
737 Takes a number of GET/POST input variable as arguments and stores them internally.
738 The processing of these variables goes on later in this class.
739 Also sets internal clientInfo array (browser information) and a unique string (->uniqueString) for this script instance; A md5 hash of the microtime()
740 ";s:5:"param";a:8:{i:0;a:2:{i:0;s:5:"array";i:1;s:78:"The global $TYPO3_CONF_VARS array. Will be set internally in ->TYPO3_CONF_VARS";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:35:"The value of t3lib_div::GPvar('id')";}i:2;a:2:{i:0;s:7:"integer";i:1;s:37:"The value of t3lib_div::GPvar('type')";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:59:"The value of t3lib_div::GPvar('no_cache'), evaluated to 1/0";}i:4;a:2:{i:0;s:6:"string";i:1;s:38:"The value of t3lib_div::GPvar('cHash')";}i:5;a:2:{i:0;s:6:"string";i:1;s:40:"The value of t3lib_div::GPvar('jumpurl')";}i:6;a:2:{i:0;s:6:"string";i:1;s:35:"The value of t3lib_div::GPvar('MP')";}i:7;a:2:{i:0;s:6:"string";i:1;s:37:"The value of t3lib_div::GPvar('RDCT')";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:17:"@see index_ts.php";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"index_ts.php ";}}}s:7:"content";s:0:"";s:12:"content_size";i:452;s:13:"content_lines";i:15;s:6:"atLine";i:322;}i:5;a:7:{s:6:"header";s:27:"function connectToMySQL()   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:114:"
741
742 Connect to MySQL
743 May exit after outputting an error message or some JavaScript redirecting to the install tool.
744 ";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:1013;s:13:"content_lines";i:29;s:6:"atLine";i:344;}i:7;a:7:{s:6:"header";s:25:"function sendRedirect()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:212:"
745
746 Looks up the value of $this->RDCT in the database and if it is found to be associated with a redirect URL then the redirection is carried out with a 'Location:' header
747 May exit after sending a location-header.
748 ";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:446;s:13:"content_lines";i:34;s:6:"atLine";i:380;}i:9;a:8:{s:6:"header";s:23:"function initFEuser()        {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:1:{i:0;s:31:"Initializing, resolving page id";}s:4:"cDat";a:3:{s:4:"text";s:40:"
749
750 Initializes the front-end login user.
751 ";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:1437;s:13:"content_lines";i:34;s:6:"atLine";i:420;}i:11;a:7:{s:6:"header";s:38:"function checkAlternativeIdMethods()       {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:1098:"
752
753 Provides ways to bypass the '?id=[xxx]&type=[xx]' format, using either PATH_INFO or virtual HTML-documents (using Apache mod_rewrite)
754
755 Two options:
756 1) Apache mod_rewrite: Here a .htaccess file maps all .html-files to index.php and then we extract the id and type from the name of that HTML-file.
757 2) Use PATH_INFO (also Apache) to extract id and type from that var. Does not require any special modules compiled with apache.
758
759 Support for RewriteRule to generate   (simulateStaticDocuments)
760 With the mod_rewrite compiled into apache, put these lines into a .htaccess in this directory:
761 RewriteEngine On
762 RewriteRule   ^[^/]*\.html$  index.php
763 The url must end with '.html' and the format must comply with either of these:
764 1:      '[title].[id].[type].html'                      - title is just for easy recognition in the logfile!; no practical use of the title for TYPO3.
765 2:      '[id].[type].html'                                      - above, but title is omitted; no practical use of the title for TYPO3.
766 3:      '[id].html'                                                     - only id, type is set to the default, zero!
767 NOTE: In all case 'id' may be the uid-numer OR the page alias (if any)
768 ";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:80:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&cHash=4ad9d7acb4";}s:11:"other_index";a:1:{s:5:"@link";a:1:{i:0;s:75:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&cHash=4ad9d7acb4 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1868;s:13:"content_lines";i:39;s:6:"atLine";i:475;}i:13;a:7:{s:6:"header";s:26:"function clear_preview()   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:234:"
769
770 Clears the preview-flags, sets sim_exec_time to current time.
771 Hidden pages must be hidden as default, $GLOBALS['SIM_EXEC_TIME'] is set to $GLOBALS['EXEC_TIME'] in t3lib/config_default.inc. Alter it by adding or subtracting seconds.
772 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:144;s:13:"content_lines";i:6;s:6:"atLine";i:521;}i:15;a:7:{s:6:"header";s:24:"function determineId()       {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:271:"
773
774 Determines the id and evaluates any preview settings
775 Basically this function is about determining whether a backend user is logged in, if he has read access to the page and if he's previewing the page. That all determines which id to show and how to initialize the id.
776 ";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:2633;s:13:"content_lines";i:63;s:6:"atLine";i:534;}i:17;a:7:{s:6:"header";s:25:"function fetch_the_id()    {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:251:"
777
778 Get The Page ID
779 This gets the id of the page, checks if the page is in the domain and if the page is accessible
780 Sets variables such as $this->sys_page, $this->loginUser, $this->gr_list, $this->id, $this->type, $this->domainStartPage, $this->idParts
781 ";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:4062;s:13:"content_lines";i:92;s:6:"atLine";i:606;}i:19;a:7:{s:6:"header";s:31:"function getPageAndRootline() {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:532:"
782
783 Gets the page and rootline arrays based on the id, $this->id
784
785 If the id does not correspond to a proper page, the 'previous' valid page in the rootline is found
786 If the page is a shortcut (doktype=4), the ->id is loaded with that id
787
788 Whether or not the ->id is changed to the shortcut id or the previous id in rootline (eg if a page is hidden), the ->page-array and ->rootline is found and must also be valid.
789
790 Sets or manipulates internal variables such as: $this->id, $this->page, $this->rootLine, $this->MP, $this->pageNotFound
791 ";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:1877;s:13:"content_lines";i:49;s:6:"atLine";i:712;}i:21;a:7:{s:6:"header";s:73:"function getPageShortcut($SC,$mode,$thisUid,$itera=20,$pageLog=array()) {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:6:{s:4:"text";s:90:"
792
793 Get page shortcut; Finds the records pointed to by input value $SC (the shortcut value)
794 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:7:"integer";i:1;s:55:"The value of the "shortcut" field from the pages record";}i:1;a:2:{i:0;s:7:"integer";i:1;s:120:"The shortcut mode: 1 and 2 will select either first subpage or random subpage; the default is the page pointed to by $SC";}i:2;a:2:{i:0;s:7:"integer";i:1;s:52:"The current page UID of the page which is a shortcut";}i:3;a:2:{i:0;s:7:"integer";i:1;s:174:"Safety feature which makes sure that the function is calling itself recursively max 20 times (since this function can find shortcuts to other shortcuts to other shortcuts...)";}i:4;a:2:{i:0;s:5:"array";i:1;s:132:"An array filled with previous page uids tested by the function - new page uids are evaluated against this to avoid going in circles.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:65:"Returns the page record of the page that the shortcut pointed to.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:25:"@see getPageAndRootline()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:21:"getPageAndRootline() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1022;s:13:"content_lines";i:38;s:6:"atLine";i:774;}i:23;a:7:{s:6:"header";s:43:"function checkRootlineForIncludeSection()    {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:52:"
795
796 Checks the current rootline for defined sections.
797 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:1044;s:13:"content_lines";i:24;s:6:"atLine";i:819;}i:25;a:7:{s:6:"header";s:34:"function checkEnableFields($row)     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:195:"
798
799 Checks page record for enableFields
800 Returns true if enableFields does not disable the page record.
801 Takes notice of the ->showHiddenPage flag and uses SIM_EXEC_TIME for start/endtime evaluation
802 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:80:"The page record to evaluate (needs fields; hidden, starttime, endtime, fe_group)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:28:"True, if record is viewable.";}s:5:"other";a:1:{i:0;s:66:"@see tslib_cObj::getTreeList(), checkPagerecordForIncludeSection()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:61:"tslib_cObj::getTreeList(), checkPagerecordForIncludeSection()";}}}s:7:"content";s:0:"";s:12:"content_size";i:259;s:13:"content_lines";i:9;s:6:"atLine";i:853;}i:27;a:7:{s:6:"header";s:49:"function checkPagerecordForIncludeSection($row)     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:6:{s:4:"text";s:41:"
803
804 Checks page record for include section
805 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:98:"The page record to evaluate (needs fields;extendToSubpages + hidden, starttime, endtime, fe_group)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:111:"Returns true if either extendToSubpages is not checked or if the enableFields does not disable the page record.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:85:"@see checkEnableFields(), tslib_cObj::getTreeList(), checkRootlineForIncludeSection()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:80:"checkEnableFields(), tslib_cObj::getTreeList(), checkRootlineForIncludeSection()";}}}s:7:"content";s:0:"";s:12:"content_size";i:86;s:13:"content_lines";i:3;s:6:"atLine";i:871;}i:29;a:7:{s:6:"header";s:26:"function setIDfromArgV()      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:251:"
806
807 This checks if there are ARGV-parameters in the QUERY_STRING and if so, those are used for the id
808 $this->id must be 'false' in order for any processing to happen in here
809 If an id/alias value is extracted from the QUERY_STRING it is set in $this->id
810 ";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:177;s:13:"content_lines";i:7;s:6:"atLine";i:883;}i:31;a:7:{s:6:"header";s:57:"function getPageAndRootlineWithDomain($domainStartPage)   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:155:"
811
812 Gets ->page and ->rootline information based on ->id. ->id may change during this operation.
813 If not inside domain, then default to first page in domain.
814 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:80:"Page uid of the page where the found domain record is (pid of the domain record)";}}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:664;s:13:"content_lines";i:20;s:6:"atLine";i:899;}i:33;a:7:{s:6:"header";s:41:"function findDomainRecord($recursive=0)  {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:48:"
815
816 Looking up a domain record based on HTTP_HOST
817 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:178:"If set, it looks "recursively" meaning that a domain like "123.456.typo3.com" would find a domain record like "typo3.com" if "123.456.typo3.com" or "456.typo3.com" did not exist.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:66:"Returns the page id of the page where the domain record was found.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:515;s:13:"content_lines";i:12;s:6:"atLine";i:927;}i:35;a:7:{s:6:"header";s:48:"function pageNotFoundHandler($code,$header='')  {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:33:"
818
819 Page not found handler.
820 Exits.
821 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"mixed";i:1;s:223:"Which type of handling; If a true PHP-boolean and TRUE then a ->printError message is outputted. If integer an error message with that number is shown. Otherwise the $code value is expected to be a "Location:" header value.";}i:1;a:2:{i:0;s:6:"string";i:1;s:61:"If set, this is passed directly to the PHP function, header()";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:22:"(The function exists!)";}}s:7:"content";s:0:"";s:12:"content_size";i:349;s:13:"content_lines";i:14;s:6:"atLine";i:948;}i:37;a:7:{s:6:"header";s:29:"function checkAndSetAlias()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:184:"
822
823 Fetches the integer page id for a page alias.
824 Looks if ->id is not an integer and if so it will search for a page alias and if found the page uid of that page is stored in $this->id
825 ";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:151;s:13:"content_lines";i:6;s:6:"atLine";i:970;}i:39;a:7:{s:6:"header";s:31:"function idPartsAnalyze($str)     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:316:"
826
827 Analyzes the second part of a id-string (after the "+"), looking for B6 or M5 encoding and if found it will resolve it and restore the variables in global HTTP_GET_VARS (but NOT $_GET - yet)
828 If values for ->cHash, ->no_cache, ->jumpurl and ->MP is found, they are also loaded into the internal vars of this class.
829 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"String to analyze";}}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:1287;s:13:"content_lines";i:49;s:6:"atLine";i:985;}i:41;a:8:{s:6:"header";s:26:"function makeCacheHash()        {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:1:{i:0;s:39:"Template and caching related functions.";}s:4:"cDat";a:3:{s:4:"text";s:141:"
830
831 Calculates a hash string based on additional parameters in the url. This is used to cache pages with more parameters than just id and type
832 ";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:544;s:13:"content_lines";i:11;s:6:"atLine";i:1040;}i:43;a:7:{s:6:"header";s:39:"function cHashParams($addQueryParams) {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:6:{s:4:"text";s:119:"
833
834 Splits the input query-parameters into an array with certain parameters filtered out.
835 Used to create the cHash value
836 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"Query-parameters: "&xxx=yyy&zzz=uuu"";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:191:"Array with key/value pairs of query-parameters WITHOUT a certain list of variable names (like id, type, no_cache etc) and WITH a variable, encryptionKey, specific for this server/installation";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:44:"@see makeCacheHash(), tslib_cObj::typoLink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:39:"makeCacheHash(), tslib_cObj::typoLink()";}}}s:7:"content";s:0:"";s:12:"content_size";i:432;s:13:"content_lines";i:13;s:6:"atLine";i:1061;}i:45;a:7:{s:6:"header";s:25:"function initTemplate()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:44:"
837
838 Initialize the TypoScript template parser
839 ";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:142;s:13:"content_lines";i:5;s:6:"atLine";i:1080;}i:47;a:7:{s:6:"header";s:25:"function getFromCache()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:108:"
840
841 See if page is in cache and get it if so
842 Stores the page content in $this->content if something is found.
843 ";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:2226;s:13:"content_lines";i:45;s:6:"atLine";i:1092;}i:49;a:7:{s:6:"header";s:20:"function getHash()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:6:{s:4:"text";s:202:"
844
845 Calculates the cache-hash
846 This hash is unique to the template, the variables ->id, ->type, ->gr_list (list of groups), ->MP (Mount Points) and cHash array
847 Used to get and later store the cached data.
848 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:78:"MD5 hash of $this->hash_base which is a serialized version of there variables.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:19:"@see getFromCache()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"getFromCache() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:258;s:13:"content_lines";i:13;s:6:"atLine";i:1147;}i:51;a:7:{s:6:"header";s:27:"function getConfigArray()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:60:"
849
850 Checks if config-array exists already but if not, gets it
851 ";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:4777;s:13:"content_lines";i:105;s:6:"atLine";i:1166;}i:53;a:8:{s:6:"header";s:33:"function getCompressedTCarray()  {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:2:{i:0;s:42:"Further initialization and data processing";i:1;s:29:"(jumpurl/submission of forms)";}s:4:"cDat";a:5:{s:4:"text";s:268:"
852
853 Get the compressed $TCA array for use in the front-end
854 A compressed $TCA array holds only the ctrl- and feInterface-part for each table. But the column-definitions are omitted in order to save some memory and be more efficient.
855 Operates on the global variable, $TCA
856 ";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:17:"@see includeTCA()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"includeTCA() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:896;s:13:"content_lines";i:25;s:6:"atLine";i:1280;}i:55;a:7:{s:6:"header";s:35:"function includeTCA($TCAloaded=1)        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:516:"
857
858 Includes full TCA.
859 Normally in the frontend only a part of the global $TCA array is loaded, for instance the "ctrL" part. Thus it doesn't take up too much memory.
860 If you need the FULL TCA available for some reason (like plugins using it) you should call this function which will include the FULL TCA.
861 Global vars $TCA, $PAGES_TYPES, $LANG_GENERAL_LABELS can/will be affected.
862 The flag $this->TCAloaded will make sure that such an inclusion happens only once since; If $this->TCAloaded is set, nothing is included.
863 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:389:"Probably, keep hands of this value. Just don't set it. (This may affect the first-ever time this function is called since if you set it to zero/false any subsequent call will still trigger the inclusion; In other words, this value will be set in $this->TCAloaded after inclusion and therefore if its false, another inclusion will be possible on the next call. See ->getCompressedTCarray())";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:27:"@see getCompressedTCarray()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"getCompressedTCarray() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:600;s:13:"content_lines";i:19;s:6:"atLine";i:1317;}i:57;a:7:{s:6:"header";s:28:"function settingLanguage()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:232:"
864
865 Setting the language key that'll be used by the current page.
866 In this function it should be checked, 1) that this language exists, 2) that a page_overlay_record exists, .. and if not the default language, 0 (zero), should be set.
867 ";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:1433;s:13:"content_lines";i:34;s:6:"atLine";i:1344;}i:59;a:7:{s:6:"header";s:32:"function checkDataSubmission() {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:63:"
868
869 Checks if any email-submissions or submission via the fe_tce
870 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:121:"'email' if a formmail has been send, 'fe_tce' if front-end data submission (like forums, guestbooks) is send. '' if none.";}}s:7:"content";s:0:"";s:12:"content_size";i:861;s:13:"content_lines";i:17;s:6:"atLine";i:1384;}i:61;a:7:{s:6:"header";s:19:"function fe_tce()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:58:"
871
872 Processes submitted user data (obsolete "Frontend TCE")
873 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:16:"@see tslib_feTCE";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=342&cHash=fdf55adb3b";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:12:"tslib_feTCE ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=342&cHash=fdf55adb3b ";}}}s:7:"content";s:0:"";s:12:"content_size";i:165;s:13:"content_lines";i:5;s:6:"atLine";i:1409;}i:63;a:7:{s:6:"header";s:38:"function locDataCheck($locationData) {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:6:{s:4:"text";s:55:"
874
875 Checks if a formmail submission can be sent as email
876 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:57:"The input from $GLOBALS['HTTP_POST_VARS']['locationData']";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:26:"@see checkDataSubmission()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:22:"checkDataSubmission() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:605;s:13:"content_lines";i:8;s:6:"atLine";i:1423;}i:65;a:7:{s:6:"header";s:25:"function sendFormmail()      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:6:{s:4:"text";s:53:"
877
878 Sends the emails from the formmail content object.
879 ";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:5:"other";a:1:{i:0;s:26:"@see checkDataSubmission()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:22:"checkDataSubmission() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:348;s:13:"content_lines";i:11;s:6:"atLine";i:1439;}i:67;a:7:{s:6:"header";s:25:"function checkJumpUrl()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:219:"
880
881 Checks if jumpurl is set.
882 This function also takes care of jumpurl utilized by the Direct Mail module (ext: direct_mail) which may set an integer value for jumpurl which refers to a link in a certain mail-record, mid
883 ";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:3059;s:13:"content_lines";i:65;s:6:"atLine";i:1457;}i:69;a:7:{s:6:"header";s:20:"function jumpUrl()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:138:"
884
885 Sends a header 'Location' to jumpurl, if jumpurl is set.
886 Will exit if a location header is sent (for instance if JumpUrl was triggered)
887 ";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:1647;s:13:"content_lines";i:36;s:6:"atLine";i:1529;}i:71;a:7:{s:6:"header";s:26:"function setUrlIdToken()  {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:72:"
888
889 Sets the URL_ID_TOKEN in the internal var, $this->getMethodUrlIdToken
890 ";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:340;s:13:"content_lines";i:36;s:6:"atLine";i:1572;}i:73;a:8:{s:6:"header";s:27:"function isGeneratePage()       {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:1:{i:0;s:31:"Page generation; cache handling";}s:4:"cDat";a:3:{s:4:"text";s:114:"
891
892 Returns true if the page should be generated
893 That is if jumpurl is not set and the cacheContentFlag is not set.
894 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:61;s:13:"content_lines";i:3;s:6:"atLine";i:1615;}i:75;a:7:{s:6:"header";s:33:"function tempPageCacheContent()   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:169:"
895
896 Temp cache content
897 The temporary cache will expire after a few seconds (typ. 30) or will be cleared by the rendered page, which will also clear and rewrite the cache.
898 ";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:25;s:6:"atLine";i:1625;}i:77;a:7:{s:6:"header";s:33:"function realPageCacheContent()    {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:38:"
899
900 Set cache content to $this->content
901 ";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:741;s:13:"content_lines";i:12;s:6:"atLine";i:1656;}i:79;a:7:{s:6:"header";s:40:"function setPageCacheContent($c,$d,$t)     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:77:"
902
903 Sets cache content; Inserts the content string into the cache_pages table.
904 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:57:"The content to store in the HTML field of the cache table";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:50:"The additional cache_data array, fx. $this->config";}i:2;a:2:{i:0;s:7:"integer";i:1;s:9:"Timestamp";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:28:"The content of mysql_error()";}s:5:"other";a:1:{i:0;s:51:"@see realPageCacheContent(), tempPageCacheContent()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:46:"realPageCacheContent(), tempPageCacheContent()";}}}s:7:"content";s:0:"";s:12:"content_size";i:397;s:13:"content_lines";i:6;s:6:"atLine";i:1678;}i:81;a:7:{s:6:"header";s:34:"function clearPageCacheContent()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:44:"
905
906 Clears cache content (for $this->newHash)
907 ";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:91;s:13:"content_lines";i:3;s:6:"atLine";i:1690;}i:83;a:7:{s:6:"header";s:50:"function clearPageCacheContent_pidList($pidList)     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:46:"
908
909 Clears cache content for a list of page ids
910 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:124:"A list of INTEGER numbers which points to page uids for which to clear entries in the cache_pages table (page content cache)";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:91;s:13:"content_lines";i:3;s:6:"atLine";i:1700;}i:85;a:7:{s:6:"header";s:30:"function setSysLastChanged()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:246:"
911
912 Sets sys last changed
913 Setting the SYS_LASTCHANGED value in the pagerecord: This value will thus be set to the highest tstamp of records rendered on the page. This includes all records with no regard to hidden records, userprotection and so on.
914 ";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:30:"@see tslib_cObj::lastChanged()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:26:"tslib_cObj::lastChanged() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:418;s:13:"content_lines";i:31;s:6:"atLine";i:1711;}i:87;a:8:{s:6:"header";s:39:"function generatePage_preProcessing()  {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:1:{i:0;s:40:"Page generation; rendering and inclusion";}s:4:"cDat";a:3:{s:4:"text";s:62:"
915
916 Does some processing BEFORE the pagegen script is included.
917 ";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:1428;s:13:"content_lines";i:29;s:6:"atLine";i:1748;}i:89;a:7:{s:6:"header";s:37:"function generatePage_whichScript()       {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:165:"
918
919 Determines to include custom or pagegen.php script
920 returns script-filename if a TypoScript (config) script is defined and should be include instead of pagegen.php
921 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:68:"The relative filepath of "config.pageGenScript" if found and allowed";}}s:7:"content";s:0:"";s:12:"content_size";i:192;s:13:"content_lines";i:5;s:6:"atLine";i:1784;}i:91;a:7:{s:6:"header";s:40:"function generatePage_postProcessing()       {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:216:"
922
923 Does some processing AFTER the pagegen script is included.
924 This includes calling tidy (if configured), XHTML cleaning (if configured), caching the page, indexing the page (if configured) and setting sysLastChanged
925 ";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:2291;s:13:"content_lines";i:52;s:6:"atLine";i:1796;}i:93;a:7:{s:6:"header";s:25:"function INTincScript()   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:35:"
926
927 Processes the INTinclude-scripts
928 ";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:2351;s:13:"content_lines";i:51;s:6:"atLine";i:1854;}i:95;a:7:{s:6:"header";s:36:"function INTincScript_loadJSCode()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:45:"
929
930 Loads the JavaScript code for INTincScript
931 ";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:770;s:13:"content_lines";i:35;s:6:"atLine";i:1912;}i:97;a:7:{s:6:"header";s:27:"function isINTincScript()       {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:55:"
932
933 Determines if there are any INTincScripts to include
934 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:51:"Returns true if scripts are found (and not jumpurl)";}}s:7:"content";s:0:"";s:12:"content_size";i:76;s:13:"content_lines";i:3;s:6:"atLine";i:1953;}i:99;a:7:{s:6:"header";s:30:"function isSearchIndexPage()  {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:42:"
935
936 Returns true if page should be indexed.
937 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:119;s:13:"content_lines";i:3;s:6:"atLine";i:1962;}i:101;a:7:{s:6:"header";s:29:"function doXHTML_cleaning()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:48:"
938
939 Returns true if page XHTML clean flag is set.
940 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:250;s:13:"content_lines";i:25;s:6:"atLine";i:1971;}i:103;a:8:{s:6:"header";s:25:"function isOutputting()        {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:1:{i:0;s:61:"Finished off; outputting, storing session data, statistics...";}s:4:"cDat";a:3:{s:4:"text";s:100:"
941
942 Determines if content should be outputted.
943 Outputting content is done only if jumpurl is NOT set.
944 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:42:"Returns true if $this->jumpurl is not set.";}}s:7:"content";s:0:"";s:12:"content_size";i:33;s:13:"content_lines";i:3;s:6:"atLine";i:2003;}i:105;a:7:{s:6:"header";s:26:"function processOutput()      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:319:"
945
946 Processes the output before it's actually outputted. Sends headers also.
947 This includes substituting the USERNAME comment, getMethodUrlIdToken, sending additional headers (as defined in the TypoScript "config.additionalheaders" object), tidy'ing content, XHTML cleaning content (if configured)
948 Works on $this->content
949 ";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:1861;s:13:"content_lines";i:45;s:6:"atLine";i:2014;}i:107;a:7:{s:6:"header";s:27:"function isEXTincScript()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:53:"
950
951 Determines if any EXTincScripts should be included
952 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:81:"True, if external php scripts should be included (set by PHP_SCRIPT_EXT cObjects)";}s:5:"other";a:1:{i:0;s:27:"@see tslib_cObj::PHP_SCRIPT";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"tslib_cObj::PHP_SCRIPT ";}}}s:7:"content";s:0:"";s:12:"content_size";i:55;s:13:"content_lines";i:3;s:6:"atLine";i:2066;}i:109;a:7:{s:6:"header";s:29:"function storeSessionData()      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:45:"
953
954 Stores session data for the front end user
955 ";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:43;s:13:"content_lines";i:3;s:6:"atLine";i:2075;}i:111;a:7:{s:6:"header";s:25:"function setParseTime()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:34:"
956
957 Sets the parsetime of the page.
958 ";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:448;s:13:"content_lines";i:6;s:6:"atLine";i:2085;}i:113;a:7:{s:6:"header";s:23:"function statistics()   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:23:"
959
960 Saves hit statistics
961 ";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:4344;s:13:"content_lines";i:71;s:6:"atLine";i:2097;}i:115;a:7:{s:6:"header";s:24:"function previewInfo()   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:24:"
962
963 Outputs preview info.
964 ";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:448;s:13:"content_lines";i:15;s:6:"atLine";i:2174;}i:117;a:7:{s:6:"header";s:30:"function beLoginLinkIPList()      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:68:"
965
966 Returns a link to the login screen with redirect to the front-end
967 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:38:"HTML, a tag for a link to the backend.";}}s:7:"content";s:0:"";s:12:"content_size";i:894;s:13:"content_lines";i:43;s:6:"atLine";i:2195;}i:119;a:8:{s:6:"header";s:77:"function makeSimulFileName($inTitle,$page,$type,$addParams='',$no_cache='')      {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:1:{i:0;s:30:"Various internal API functions";}s:4:"cDat";a:5:{s:4:"text";s:79:"
968
969 Make simulation filename (without the ".html" ending, only body of filename)
970 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"The page title to use";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:39:"The page id (integer) or alias (string)";}i:2;a:2:{i:0;s:7:"integer";i:1;s:15:"The type number";}i:3;a:2:{i:0;s:6:"string";i:1;s:151:"Query-parameters to encode (will be done only if caching is enabled and TypoScript configured for it. I don't know it this makes much sense in fact...)";}i:4;a:2:{i:0;s:7:"boolean";i:1;s:34:"The "no_cache" status of the link.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"The body of the filename.";}s:5:"other";a:1:{i:0;s:84:"@see getSimulFileName(), t3lib_tstemplate::linkData(), tslib_frameset::frameParams()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:79:"getSimulFileName(), t3lib_tstemplate::linkData(), tslib_frameset::frameParams()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1208;s:13:"content_lines";i:34;s:6:"atLine";i:2250;}i:121;a:7:{s:6:"header";s:61:"function simulateStaticDocuments_pEnc_onlyP_proc($linkVars)  {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:198:"
971
972 Processes a query-string with GET-parameters and returns two strings, one with the parameters that CAN be encoded and one array with those which can't be encoded (encoded by the M5 or B6 methods)
973 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"Query string to analyse";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:107:"Two num keys returned, first is the parameters that MAY be encoded, second is the non-encodable parameters.";}s:5:"other";a:1:{i:0;s:54:"@see makeSimulFileName(), t3lib_tstemplate::linkData()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:49:"makeSimulFileName(), t3lib_tstemplate::linkData()";}}}s:7:"content";s:0:"";s:12:"content_size";i:641;s:13:"content_lines";i:21;s:6:"atLine";i:2292;}i:123;a:7:{s:6:"header";s:29:"function getSimulFileName()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:110:"
974
975 Returns the simulated static file name (*.html) for the current page (using the page record in $this->page)
976 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:27:"The filename (without path)";}s:5:"other";a:1:{i:0;s:37:"@see makeSimulFileName(), publish.php";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:32:"makeSimulFileName(), publish.php";}}}s:7:"content";s:0:"";s:12:"content_size";i:162;s:13:"content_lines";i:5;s:6:"atLine";i:2320;}i:125;a:7:{s:6:"header";s:40:"function encryptEmail($string,$back=0)      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:91:"
977
978 Encryption of email addresses for <A>-tags See the spam protection setup in TS 'config.'
979 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:50:"Input string to en/decode: "mailto:blabla@bla.com"";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:68:"If set, the process is reversed, effectively decoding, not encoding.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:34:"encoded/decoded version of $string";}}s:7:"content";s:0:"";s:12:"content_size";i:224;s:13:"content_lines";i:9;s:6:"atLine";i:2333;}i:127;a:7:{s:6:"header";s:37:"function checkFileInclude($incFile)      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:39:"
980
981 Checks if a PHPfile may be included.
982 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:25:"Relative path to php file";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:159:"Returns true if $GLOBALS['TYPO3_CONF_VARS']['FE']['noPHPscriptInclude'] is not set OR if the file requested for inclusion is found in one of the allowed paths.";}s:5:"other";a:1:{i:0;s:91:"@see tslib_cObj::PHP_SCRIPT(), tslib_feTCE::includeScripts(), tslib_menu::includeMakeMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:86:"tslib_cObj::PHP_SCRIPT(), tslib_feTCE::includeScripts(), tslib_menu::includeMakeMenu()";}}}s:7:"content";s:0:"";s:12:"content_size";i:311;s:13:"content_lines";i:7;s:6:"atLine";i:2350;}i:129;a:7:{s:6:"header";s:20:"function newCObj()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:133:"
983
984 Creates an instance of tslib_cObj in $this->cObj
985 This instance is used to start the rendering of the TypoScript template structure
986 ";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:16:"@see pagegen.php";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"pagegen.php ";}}}s:7:"content";s:0:"";s:12:"content_size";i:102;s:13:"content_lines";i:4;s:6:"atLine";i:2365;}i:131;a:7:{s:6:"header";s:28:"function setAbsRefPrefix() {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:6:{s:4:"text";s:127:"
987
988 Substitute the path's to files in the media/ folder like icons used in static_template of TypoScript
989 Works on $this->content
990 ";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:5:"other";a:1:{i:0;s:32:"@see pagegen.php, INTincScript()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:27:"pagegen.php, INTincScript()";}}}s:7:"content";s:0:"";s:12:"content_size";i:234;s:13:"content_lines";i:6;s:6:"atLine";i:2378;}i:133;a:7:{s:6:"header";s:46:"function printError($label,$header='Error!')     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:55:"
991
992 Prints error msg/header.
993 Echoes out the HTML content
994 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Message string";}i:1;a:2:{i:0;s:6:"string";i:1;s:13:"Header string";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:45:"@see t3lib_timeTrack::debug_typo3PrintError()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:41:"t3lib_timeTrack::debug_typo3PrintError() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:67;s:13:"content_lines";i:3;s:6:"atLine";i:2394;}i:135;a:7:{s:6:"header";s:39:"function updateMD5paramsRecord($hash)    {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:4:{s:4:"text";s:76:"
995
996 Updates the tstamp field of a cache_md5params record to the current time.
997 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:114:"The hash string identifying the cache_md5params record for which to update the "tstamp" field to the current time.";}}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:4;s:6:"atLine";i:2405;}i:137;a:7:{s:6:"header";s:30:"function tidyHTML($content)           {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:320:"
998
999 Pass the content through tidy - a little program that cleans up HTML-code
1000 Requires $this->TYPO3_CONF_VARS['FE']['tidy'] to be true and $this->TYPO3_CONF_VARS['FE']['tidy_path'] to contain the filename/path of tidy including clean-up arguments for tidy. See default value in TYPO3_CONF_VARS in t3lib/config_default.php
1001 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:145:"The page content to clean up. Will be written to a temporary file which "tidy" is then asked to clean up. File content is read back and returned.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:11:"Returns the";}}s:7:"content";s:0:"";s:12:"content_size";i:1091;s:13:"content_lines";i:55;s:6:"atLine";i:2417;}i:139;a:8:{s:6:"header";s:35:"function getStorageSiterootPids() {";s:11:"parentClass";s:8:"tslib_fe";s:11:"sectionText";a:1:{i:0;s:56:"Various external API functions - for use in plugins etc.";}s:4:"cDat";a:3:{s:4:"text";s:106:"
1002
1003 Traverses the ->rootLine and returns an array with the first occurrance of storage pid and siteroot pid
1004 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:81:"Array with keys '_STORAGE_PID' and '_SITEROOT' set to the first occurances found.";}}s:7:"content";s:0:"";s:12:"content_size";i:276;s:13:"content_lines";i:9;s:6:"atLine";i:2478;}i:141;a:7:{s:6:"header";s:29:"function getPagesTSconfig()     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:67:"
1005
1006 Returns the pages TSconfig array based on the currect ->rootLine
1007 ";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:937;s:13:"content_lines";i:24;s:6:"atLine";i:2493;}i:143;a:7:{s:6:"header";s:34:"function setJS($key,$content='') {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:57:"
1008
1009 Sets JavaScript code in the additionalJavaScript array
1010 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:110:"$key is the key in the array, for num-key let the value be empty. Note reserved keys 'openPic' and 'mouseOver'";}i:1;a:2:{i:0;s:6:"string";i:1;s:39:"$content is the content if you want any";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:58:"@see tslib_gmenu::writeMenu(), tslib_cObj::imageLinkWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:53:"tslib_gmenu::writeMenu(), tslib_cObj::imageLinkWrap()";}}}s:7:"content";s:0:"";s:12:"content_size";i:826;s:13:"content_lines";i:29;s:6:"atLine";i:2526;}i:145;a:7:{s:6:"header";s:32:"function setCSS($key,$content)     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:43:"
1011
1012 Sets CSS data in the additionalCSS array
1013 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:64:"$key is the key in the array, for num-key let the value be empty";}i:1;a:2:{i:0;s:6:"string";i:1;s:39:"$content is the content if you want any";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:46:"@see setJS(), tslib_pibase::pi_setClassStyle()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:41:"setJS(), tslib_pibase::pi_setClassStyle()";}}}s:7:"content";s:0:"";s:12:"content_size";i:112;s:13:"content_lines";i:9;s:6:"atLine";i:2564;}i:147;a:7:{s:6:"header";s:22:"function make_seed() {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:34:"
1014
1015 Seeds the random number engine.
1016 ";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:128;s:13:"content_lines";i:5;s:6:"atLine";i:2579;}i:149;a:7:{s:6:"header";s:30:"function uniqueHash($str='')       {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:220:"
1017
1018 Returns a unique md5 hash.
1019 There is no special magic in this, the only point is that you don't have to call md5(uniqid()) which is slow and by this you are sure to get a unique string each time in a little faster way.
1020 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:65:"Some string to include in what is hashed. Not significant at all.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:58:"MD5 hash of ->uniqueString, input string and uniqueCounter";}}s:7:"content";s:0:"";s:12:"content_size";i:72;s:13:"content_lines";i:3;s:6:"atLine";i:2592;}i:151;a:7:{s:6:"header";s:25:"function set_no_cache()        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:119:"
1021
1022 Sets the cache-flag to 1. Could be called from user-included php-files in order to ensure that a page is not cached.
1023 ";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:28;s:13:"content_lines";i:3;s:6:"atLine";i:2601;}i:153;a:7:{s:6:"header";s:46:"function set_cache_timeout_default($seconds)        {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:36:"
1024
1025 Sets the cache-timeout in seconds
1026 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:24:"cache-timeout in seconds";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:54;s:13:"content_lines";i:3;s:6:"atLine";i:2611;}i:155;a:7:{s:6:"header";s:65:"function plainMailEncoded($email,$subject,$message,$headers='')     {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:5:{s:4:"text";s:377:"
1027
1028 Substitute function for the PHP mail() function.
1029 It will encode the email with the setting of TS 'config.notification_email_encoding' (base64 or none)
1030 It will also find all links to http:// in the text and substitute with a shorter link using the redirect feature which stores the long link in the database. Depends on configuration in TS 'config.notification_email_urlmode'
1031 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"recipient email address (or list of)";}i:1;a:2:{i:0;s:6:"string";i:1;s:11:"The subject";}i:2;a:2:{i:0;s:6:"string";i:1;s:11:"The message";}i:3;a:2:{i:0;s:6:"string";i:1;s:31:"The headers (string with lines)";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:34:"@see t3lib_div::plainMailEncoded()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:30:"t3lib_div::plainMailEncoded() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:450;s:13:"content_lines";i:16;s:6:"atLine";i:2627;}i:157;a:7:{s:6:"header";s:21:"function sL($input)      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:51:"
1032
1033 Split Label function for front-end applications.
1034 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"Key string. Accepts the "LLL:" prefix.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"Label value, if any.";}}s:7:"content";s:0:"";s:12:"content_size";i:862;s:13:"content_lines";i:24;s:6:"atLine";i:2650;}i:159;a:7:{s:6:"header";s:31:"function readLLfile($fileRef) {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:51:"
1035
1036 Read locallang files - for frontend applications
1037 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:44:"Reference to a relative filename to include.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:88:"Returns the $LOCAL_LANG array found in the file. If no array found, returns empty array.";}}s:7:"content";s:0:"";s:12:"content_size";i:157;s:13:"content_lines";i:7;s:6:"atLine";i:2681;}i:161;a:4:{s:6:"header";s:37:"function getLLL($index,$LOCAL_LANG)   {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:66:"
1038
1039 Returns 'locallang' label - may need initializing by initLLvars
1040 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:80:"Local_lang key for which to return label (language is determined by $this->lang)";}i:1;a:2:{i:0;s:5:"array";i:1;s:38:"The locallang array in which to search";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"Label value of $index key.";}}s:6:"atLine";i:2696;}i:163;a:7:{s:6:"header";s:23:"function initLLvars()      {";s:11:"parentClass";s:8:"tslib_fe";s:4:"cDat";a:3:{s:4:"text";s:115:"
1041
1042 Initializing the getLL variables needed.
1043 Sets $this->langSplitIndex based on $this->config['config']['language']
1044 ";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:431;s:13:"content_lines";i:13;s:6:"atLine";i:2710;}}}s:14:"MD5_c3896505f4";a:4:{s:8:"filename";s:27:"tslib/class.tslib_fetce.php";s:8:"filesize";i:10839;s:6:"header";a:5:{s:4:"text";s:168:"
1045
1046 Form-data processing class.
1047 Used by the FE_DATA object found in TSref. Quite old fashioned and used only by a few extensions, like good old 'tt_guest' and 'tt_board'
1048 ";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:14:"@package TYPO3";i:2;s:17:"@subpackage tslib";i:3;s:12:"@depreciated";i:4;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=342&cHash=fdf55adb3b";}s:11:"other_index";a:5:{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:"tslib ";}s:12:"@depreciated";a:1:{i:0;s: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]=342&cHash=fdf55adb3b ";}}}s:3:"DAT";a:9:{i:1;a:8:{s:6:"header";s:19:"class tslib_feTCE       {";s:5:"class";i:1;s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:5:{s:4:"text";s:168:"
1049
1050 Form-data processing class.
1051 Used by the FE_DATA object found in TSref. Quite old fashioned and used only by a few extensions, like good old 'tt_guest' and 'tt_board'
1052 ";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:14:"@package TYPO3";i:2;s:17:"@subpackage tslib";i:3;s:12:"@depreciated";i:4;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=342&cHash=fdf55adb3b";}s:11:"other_index";a:5:{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:"tslib ";}s:12:"@depreciated";a:1:{i:0;s: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]=342&cHash=fdf55adb3b ";}}}s:7:"content";s:0:"";s:12:"content_size";i:107;s:13:"content_lines";i:6;s:6:"atLine";i:82;}i:3;a:7:{s:6:"header";s:31:"function start($data,$FEData)       {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:5:{s:4:"text";s:271:"
1053
1054 Starting the processing of user input.
1055 Traverses the input data and fills in the array, $this->extScripts with references to files which are then included by includeScripts() (called AFTER start() in tslib_fe)
1056 These scripts will then put the content into the database.
1057 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:68:"Input data coming from POST vars, $GLOBALS['HTTP_POST_VARS']['data']";}i:1;a:2:{i:0;s:5:"array";i:1;s:72:"TypoScript configuration for the FEDATA object, $this->config['FEData.']";}}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_fe::fe_tce(), includeScripts()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:36:"tslib_fe::fe_tce(), includeScripts()";}}}s:7:"content";s:0:"";s:12:"content_size";i:2958;s:13:"content_lines";i:76;s:6:"atLine";i:99;}i:5;a:7:{s:6:"header";s:61:"function checkDoublePostExist($table,$doublePostField,$key) {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:4:{s:4:"text";s:385:"
1058
1059 Checking if a "double-post" exists already.
1060 "Double-posting" is if someone refreshes a page with a form for the message board or guestbook and thus submits the element twice. Checking for double-posting prevents the second submission from being stored. This is done by saving the first record with a MD5 hash of the content - if this hash exists already, the record cannot be saved.
1061 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:27:"The database table to check";}i:1;a:2:{i:0;s:6:"string";i:1;s:47:"The fieldname from the database table to search";}i:2;a:2:{i:0;s:6:"string";i:1;s:24:"The value to search for.";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:81:"The number of found rows. If zero then no "double-post" was found and its all OK.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:189;s:13:"content_lines";i:7;s:6:"atLine";i:186;}i:7;a:7:{s:6:"header";s:36:"function calcDoublePostKey($array)     {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:4:{s:4:"text";s:58:"
1062
1063 Creates the double-post hash value from the input array
1064 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:33:"The array with key/values to hash";}}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:31:"And unsigned 32bit integer hash";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:152;s:13:"content_lines";i:5;s:6:"atLine";i:201;}i:9;a:7:{s:6:"header";s:27:"function includeScripts()        {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:5:{s:4:"text";s:88:"
1065
1066 Includes the submit scripts found in ->extScripts (filled in by the start() function)
1067 ";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:41:"@see tslib_fe::fe_tce(), includeScripts()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:36:"tslib_fe::fe_tce(), includeScripts()";}}}s:7:"content";s:0:"";s:12:"content_size";i:424;s:13:"content_lines";i:9;s:6:"atLine";i:213;}i:11;a:7:{s:6:"header";s:41:"function getNEWinsert($table, $dataArr)     {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:3:{s:4:"text";s:234:"
1068
1069 Method available to the submit scripts for creating insert queries.
1070 Automatically adds tstamp, crdate, cruser_id field/value pairs.
1071 Will allow only field names which are either found in $TCA[...][columns] OR in the $this->extraList
1072 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:55:"The table name for which to create the insert statement";}i:1;a:2:{i:0;s:5:"array";i:1;s:63:"Array with key/value pairs being field/values (already escaped)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Returns the query made";}}s:7:"content";s:0:"";s:12:"content_size";i:799;s:13:"content_lines";i:18;s:6:"atLine";i:232;}i:13;a:7:{s:6:"header";s:36:"function getInsert($table,$fp,$vp)      {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:4:{s:4:"text";s:27:"
1073
1074 Creates an insert query.
1075 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:40:"Table name in which to insert the record";}i:1;a:2:{i:0;s:5:"array";i:1;s:32:"Array with field names as values";}i:2;a:2:{i:0;s:5:"array";i:1;s:71:"Array with field values as values - in the same order and number as $fp";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"The INSERT query.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:116;s:13:"content_lines";i:4;s:6:"atLine";i:260;}i:15;a:4:{s:6:"header";s:36:"function clear_cacheCmd($cacheCmd)  {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:5:{s:4:"text";s:123:"
1076
1077 Clear cache for page id.
1078 If the page id is the current page, then set_no_cache() is called (so page caching is disabled)
1079 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:40:"The page id for which to clear the cache";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:29:"@see tslib_fe::set_no_cache()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:25:"tslib_fe::set_no_cache() ";}}}s:6:"atLine";i:273;}i:17;a:7:{s:6:"header";s:26:"function getConf($table)   {";s:11:"parentClass";s:11:"tslib_feTCE";s:4:"cDat";a:3:{s:4:"text";s:51:"
1080
1081 Return TypoScript configuration for a table name
1082 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:85:"The table name for which to return TypoScript configuration (From TS: FEData.[table])";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:54:"TypoScript properties from FEData.[table] - if exists.";}}s:7:"content";s:0:"";s:12:"content_size";i:241;s:13:"content_lines";i:10;s:6:"atLine";i:289;}}}s:14:"MD5_8cf0326545";a:4:{s:8:"filename";s:32:"tslib/class.tslib_feuserauth.php";s:8:"filesize";i:13646;s:6:"header";a:5:{s:4:"text";s:53:"
1083
1084 Extension class for Front End User Authentication.
1085 ";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 tslib";}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:"tslib ";}}}s:3:"DAT";a:8:{i:1;a:8:{s:6:"header";s:47:"class tslib_feUserAuth extends t3lib_userAuth {";s:5:"class";i:1;s:11:"parentClass";s:16:"tslib_feUserAuth";s:4:"cDat";a:5:{s:4:"text";s:53:"
1086
1087 Extension class for Front End User Authentication.
1088 ";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 tslib";}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:"tslib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:3082;s:13:"content_lines";i:57;s:6:"atLine";i:75;}i:3;a:7:{s:6:"header";s:27:"function fetchGroupData()      {";s:11:"parentClass";s:16:"tslib_feUserAuth";s:4:"cDat";a:3:{s:4:"text";s:209:"
1089
1090 Will select all fe_groups records that the current fe_user is member of - and which groups are also allowed in the current domain.
1091 It also accumulates the TSconfig for the fe_user/fe_groups in ->TSdataArray
1092 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"integer";i:1;s:133:"Returns the number of usergroups for the frontend users (if the internal user record exists and the usergroup field contains a value)";}}s:7:"content";s:0:"";s:12:"content_size";i:1421;s:13:"content_lines";i:39;s:6:"atLine";i:139;}i:5;a:7:{s:6:"header";s:26:"function getUserTSconf()  {";s:11:"parentClass";s:16:"tslib_feUserAuth";s:4:"cDat";a:3:{s:4:"text";s:241:"
1093
1094 Returns the parsed TSconfig for the fe_user
1095 First time this function is called it will parse the TSconfig and store it in $this->userTS. Subsequent requests will not re-parse the TSconfig but simply return what is already in $this->userTS
1096 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:30:"TSconfig array for the fe_user";}}s:7:"content";s:0:"";s:12:"content_size";i:589;s:13:"content_lines";i:35;s:6:"atLine";i:185;}i:7;a:8:{s:6:"header";s:29:"function fetchSessionData()  {";s:11:"parentClass";s:16:"tslib_feUserAuth";s:11:"sectionText";a:1:{i:0;s:33:"Session data management functions";}s:4:"cDat";a:6:{s:4:"text";s:214:"
1097
1098 Fetches the session data for the user (from the fe_session_data table) based on the ->id of the current user-session.
1099 The session data is restored to $this->sesData
1100 1/100 calls will also do a garbage collection.
1101 ";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:5:"other";a:1:{i:0;s:23:"@see storeSessionData()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"storeSessionData() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:580;s:13:"content_lines";i:17;s:6:"atLine";i:230;}i:9;a:7:{s:6:"header";s:29:"function storeSessionData() {";s:11:"parentClass";s:16:"tslib_feUserAuth";s:4:"cDat";a:5:{s:4:"text";s:324:"
1102
1103 Will write UC and session data.
1104 If the flag $this->userData_change has been set, the function ->writeUC is called (which will save persistent user session data)
1105 If the flag $this->sesData_change has been set, the fe_session_data table is updated with the content of $this->sesData (deleting any old record, inserting new)
1106 ";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:43:"@see fetchSessionData(), getKey(), setKey()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:38:"fetchSessionData(), getKey(), setKey()";}}}s:7:"content";s:0:"";s:12:"content_size";i:501;s:13:"content_lines";i:16;s:6:"atLine";i:256;}i:11;a:7:{s:6:"header";s:29:"function getKey($type,$key) {";s:11:"parentClass";s:16:"tslib_feUserAuth";s:4:"cDat";a:5:{s:4:"text";s:206:"
1107
1108 Returns session data for the fe_user; Either persistent data following the fe_users uid/profile (requires login) or current-session based (not available when browse is closed, but does not require login)
1109 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:126:"Session data type; Either "user" (persistent, bound to fe_users profile) or "ses" (temporary, bound to current session cookie)";}i:1;a:2:{i:0;s:6:"string";i:1;s:170:"Key from the data array to return; The session data (in either case) is an array ($this->uc / $this->sesData) and this value determines which key to return the value for.";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:63:"Returns whatever value there was in the array for the key, $key";}s:5:"other";a:1:{i:0;s:13:"@see setKey()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:9:"setKey() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:165;s:13:"content_lines";i:12;s:6:"atLine";i:281;}i:13;a:4:{s:6:"header";s:35:"function setKey($type,$key,$data) {";s:11:"parentClass";s:16:"tslib_feUserAuth";s:4:"cDat";a:5:{s:4:"text";s:839:"
1110
1111 Saves session data, either persistent or bound to current session cookie. Please see getKey() for more details.
1112 When a value is set the flags $this->userData_change or $this->sesData_change will be set so that the final call to ->storeSessionData() will know if a change has occurred and needs to be saved to the database.
1113 Notice: The key "recs" is already used by the function record_registration() which stores table/uid=value pairs in that key. This is used for the shopping basket among other things.
1114 Notice: Simply calling this function will not save the data to the database! The actual saving is done in storeSessionData() which is called as some of the last things in index_ts.php. So if you exit before this point, nothing gets saved of course! And the solution is to call $GLOBALS['TSFE']->storeSessionData(); before you exit.
1115 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:126:"Session data type; Either "user" (persistent, bound to fe_users profile) or "ses" (temporary, bound to current session cookie)";}i:1;a:2:{i:0;s:6:"string";i:1;s:196:"Key from the data array to store incoming data in; The session data (in either case) is an array ($this->uc / $this->sesData) and this value determines in which key the $data value will be stored.";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:31:"The data value to store in $key";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:56:"@see setKey(), storeSessionData(), record_registration()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:51:"setKey(), storeSessionData(), record_registration()";}}}s:6:"atLine";i:306;}i:15;a:7:{s:6:"header";s:37:"function record_registration($recs)    {";s:11:"parentClass";s:16:"tslib_feUserAuth";s:4:"cDat";a:3:{s:4:"text";s:298:"
1116
1117 Registration of records/"shopping basket" in session data
1118 This will take the input array, $recs, and merge into the current "recs" array found in the session data.
1119 If a change in the recs storage happens (which it probably does) the function setKey() is called in order to store the array again.
1120 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:147:"The data array to merge into/override the current recs values. The $recs array is constructed as [table]][uid] = scalar-value (eg. string/integer).";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:695;s:13:"content_lines";i:28;s:6:"atLine";i:331;}}}s:14:"MD5_feafef5826";a:4:{s:8:"filename";s:32:"tslib/class.tslib_gifbuilder.php";s:8:"filesize";i:20791;s:6:"header";a:5:{s:4:"text";s:1109:"
1121
1122 GIFBUILDER extension class.
1123 This class allows for advanced rendering of images with various layers of images, text and graphical primitives.
1124 The concept is known from TypoScript as "GIFBUILDER" where you can define a "numerical array" (TypoScript term as well) of "GIFBUILDER OBJECTS" (like "TEXT", "IMAGE", etc.) and they will be rendered onto an image one by one.
1125 The name "GIFBUILDER" comes from the time where GIF was the only file format supported. PNG is just as well to create today (configured with TYPO3_CONF_VARS[GFX])
1126 Not all instances of this class is truely building gif/png files by layers; You may also see the class instantiated for the purpose of using the scaling functions in the parent class, t3lib_stdGraphic.
1127
1128 Here is an example of how to use this class (from tslib_content.php, function getImgResource):
1129
1130 $gifCreator = t3lib_div::makeInstance('tslib_gifbuilder');
1131 $gifCreator->init();
1132 $theImage='';
1133 if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['gdlib'])        {
1134 $gifCreator->start($fileArray,$this->data);
1135 $theImage = $gifCreator->gifBuild();
1136 }
1137 return $gifCreator->getImageDimensions($theImage);
1138 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=377&cHash=e00ac666f3";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=377&cHash=e00ac666f3 ";}}}s:3:"DAT";a:10:{i:1;a:8:{s:6:"header";s:49:"class tslib_gifBuilder extends t3lib_stdGraphic {";s:5:"class";i:1;s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:5:{s:4:"text";s:1109:"
1139
1140 GIFBUILDER extension class.
1141 This class allows for advanced rendering of images with various layers of images, text and graphical primitives.
1142 The concept is known from TypoScript as "GIFBUILDER" where you can define a "numerical array" (TypoScript term as well) of "GIFBUILDER OBJECTS" (like "TEXT", "IMAGE", etc.) and they will be rendered onto an image one by one.
1143 The name "GIFBUILDER" comes from the time where GIF was the only file format supported. PNG is just as well to create today (configured with TYPO3_CONF_VARS[GFX])
1144 Not all instances of this class is truely building gif/png files by layers; You may also see the class instantiated for the purpose of using the scaling functions in the parent class, t3lib_stdGraphic.
1145
1146 Here is an example of how to use this class (from tslib_content.php, function getImgResource):
1147
1148 $gifCreator = t3lib_div::makeInstance('tslib_gifbuilder');
1149 $gifCreator->init();
1150 $theImage='';
1151 if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['gdlib'])        {
1152 $gifCreator->start($fileArray,$this->data);
1153 $theImage = $gifCreator->gifBuild();
1154 }
1155 return $gifCreator->getImageDimensions($theImage);
1156 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=377&cHash=e00ac666f3";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=377&cHash=e00ac666f3 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:467;s:13:"content_lines";i:12;s:6:"atLine";i:100;}i:3;a:7:{s:6:"header";s:29:"function start($conf,$data)     {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:5:{s:4:"text";s:595:"
1157
1158 Initialization of the GIFBUILDER objects, in particular TEXT and IMAGE. This includes finding the bounding box, setting dimensions and offset values before the actual rendering is started.
1159 Modifies the ->setup, ->objBB internal arrays
1160 Should be called after the ->init() function which initializes the parent class functions/variables in general.
1161 The class tslib_gmenu also uses gifbuilder and here there is an interesting use since the function findLargestDims() from that class calls the init() and start() functions to find the total dimensions before starting the rendering of the images.
1162 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:91:"TypoScript properties for the GIFBUILDER session. Stored internally in the variable ->setup";}i:1;a:2:{i:0;s:5:"array";i:1;s:81:"The current data record from tslib_cObj. Stored internally in the variable ->data";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:1:{i:0;s:90:"@see tslib_cObj::getImgResource(), tslib_gmenu::makeGifs(), tslib_gmenu::findLargestDims()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:85:"tslib_cObj::getImgResource(), tslib_gmenu::makeGifs(), tslib_gmenu::findLargestDims()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5133;s:13:"content_lines";i:139;s:6:"atLine";i:124;}i:5;a:7:{s:6:"header";s:21:"function gifBuild()     {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:5:{s:4:"text";s:286:"
1163
1164 Initiates the image file generation if ->setup is true and if the file did not exist already.
1165 Gets filename from fileName() and if file exists in typo3temp/ dir it will - of course - not be rendered again.
1166 Otherwise rendering means calling ->make(), then ->output(), then ->destroy()
1167 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:78:"The filename for the created GIF/PNG file. The filename will be prefixed "GB_"";}s:5:"other";a:1:{i:0;s:23:"@see make(), fileName()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"make(), fileName()";}}}s:7:"content";s:0:"";s:12:"content_size";i:230;s:13:"content_lines";i:11;s:6:"atLine";i:272;}i:7;a:7:{s:6:"header";s:17:"function make()        {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:6:{s:4:"text";s:272:"
1168
1169 The actual rendering of the image file.
1170 Basically sets the dimensions, the background color, the traverses the array of GIFBUILDER objects and finally setting the transparent color if defined.
1171 Creates a GDlib resource in $this->im and works on that
1172 Called by gifBuild()
1173 ";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:5:"other";a:2:{i:0;s:15:"@see gifBuild()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=378&cHash=3c2ae4a1ab";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:11:"gifBuild() ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=378&cHash=3c2ae4a1ab ";}}}s:7:"content";s:0:"";s:12:"content_size";i:4159;s:13:"content_lines";i:139;s:6:"atLine";i:295;}i:9;a:8:{s:6:"header";s:30:"function checkTextObj($conf)       {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:11:"sectionText";a:1:{i:0;s:24:"Various helper functions";}s:4:"cDat";a:4:{s:4:"text";s:259:"
1174
1175 Initializing/Cleaning of TypoScript properties for TEXT GIFBUILDER objects
1176
1177 'cleans' TEXT-object; Checks fontfile and other vital setup
1178 Finds the title if its a 'variable' (instantiates a cObj and loads it with the ->data record)
1179 Performs caseshift if any.
1180 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:39:"GIFBUILDER object TypoScript properties";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:56:"Modified $conf array IF the "text" property is not blank";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:875;s:13:"content_lines";i:24;s:6:"atLine";i:446;}i:11;a:7:{s:6:"header";s:30:"function calcOffset($string)      {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:4:{s:4:"text";s:230:"
1181
1182 Calculation of offset using "splitCalc" and insertion of dimensions from other GIFBUILDER objects.
1183
1184 Example:
1185 Input: 2+2, 2*3, 123, [10.w]
1186 Output: 4,6,123,45  (provided that the width of object in position 10 was 45 pixels wide)
1187 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:140:"The string to resolve/calculate the result of. The string is divided by a comma first and each resulting part is calculated into an integer.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:83:"The resolved string with each part (separated by comma) returned separated by comma";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:1220;s:13:"content_lines";i:37;s:6:"atLine";i:482;}i:13;a:7:{s:6:"header";s:40:"function getResource($file,$fileArray)        {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:6:{s:4:"text";s:111:"
1188
1189 Returns an "imgResource" creating an instance of the tslib_cObj class and calling tslib_cObj::getImgResource
1190 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:109:"Filename value OR the string "GIFBUILDER", see documentation in TSref for the "datatype" called "imgResource"";}i:1;a:2:{i:0;s:5:"array";i:1;s:184:"TypoScript properties passed to the function. Either GIFBUILDER properties or imgResource properties, depending on the value of $file (whether that is "GIFBUILDER" or a file reference)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:81:"Returns an array with file information if an image was returned. Otherwise false.";}s:6:"access";s:7:"private";s:5:"other";a:3:{i:0;s:33:"@see tslib_cObj::getImgResource()";i:1;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=315&cHash=63b593a934";i:2;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=282&cHash=831a95115d";}s:11:"other_index";a:2:{s:4:"@see";a:1:{i:0;s:29:"tslib_cObj::getImgResource() ";}s:5:"@link";a:2:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=315&cHash=63b593a934 ";i:1;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=282&cHash=831a95115d ";}}}s:7:"content";s:0:"";s:12:"content_size";i:174;s:13:"content_lines";i:6;s:6:"atLine";i:531;}i:15;a:7:{s:6:"header";s:27:"function checkFile($file)    {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:6:{s:4:"text";s:55:"
1191
1192 Returns the reference to a "resource" in TypoScript.
1193 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"The resource value.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:29:"Returns the relative filepath";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:36:"@see t3lib_TStemplate::getFileName()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:32:"t3lib_TStemplate::getFileName() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:58;s:13:"content_lines";i:3;s:6:"atLine";i:546;}i:17;a:4:{s:6:"header";s:25:"function fileName($pre)  {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:4:{s:4:"text";s:100:"
1194
1195 Calculates the GIFBUILDER output filename/path based on a serialized, hashed value of this->setup
1196 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:26:"Filename prefix, eg. "GB_"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"The relative filepath";}s:6:"access";s:7:"private";}s:6:"atLine";i:557;}i:19;a:7:{s:6:"header";s:22:"function extension() {";s:11:"parentClass";s:16:"tslib_gifBuilder";s:4:"cDat";a:4:{s:4:"text";s:50:"
1197
1198 Returns the file extension used in the filename
1199 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:31:"Extension; "jpg" or "gif"/"png"";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:374;s:13:"content_lines";i:17;s:6:"atLine";i:567;}}}s:14:"MD5_e53c653127";a:4:{s:8:"filename";s:26:"tslib/class.tslib_menu.php";s:8:"filesize";i:90281;s:6:"header";a:5:{s:4:"text";s:556:"
1200
1201 Base class. The HMENU content object uses this (or more precisely one of the extension classes).
1202 Amoung others the class generates an array of menuitems. Thereafter functions from the subclasses are called.
1203 The class is ALWAYS used through extension classes (like tslib_gmenu or tslib_tmenu which are classics) and
1204
1205 Example of usage (from tslib_cObj):
1206
1207 $menu = t3lib_div::makeInstance('tslib_'.$cls);
1208 $menu->parent_cObj = $this;
1209 $menu->start($GLOBALS['TSFE']->tmpl,$GLOBALS['TSFE']->sys_page,'',$conf,1);
1210 $menu->makeMenu();
1211 $content.=$menu->writeMenu();
1212 ";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 tslib";i:3;s:24:"@see tslib_cObj::HMENU()";}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:"tslib ";}s:4:"@see";a:1:{i:0;s:20:"tslib_cObj::HMENU() ";}}}s:3:"DAT";a:45:{i:1;a:8:{s:6:"header";s:18:"class tslib_menu {";s:5:"class";i:1;s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:5:{s:4:"text";s:556:"
1213
1214 Base class. The HMENU content object uses this (or more precisely one of the extension classes).
1215 Amoung others the class generates an array of menuitems. Thereafter functions from the subclasses are called.
1216 The class is ALWAYS used through extension classes (like tslib_gmenu or tslib_tmenu which are classics) and
1217
1218 Example of usage (from tslib_cObj):
1219
1220 $menu = t3lib_div::makeInstance('tslib_'.$cls);
1221 $menu->parent_cObj = $this;
1222 $menu->start($GLOBALS['TSFE']->tmpl,$GLOBALS['TSFE']->sys_page,'',$conf,1);
1223 $menu->makeMenu();
1224 $content.=$menu->writeMenu();
1225 ";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 tslib";i:3;s:24:"@see tslib_cObj::HMENU()";}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:"tslib ";}s:4:"@see";a:1:{i:0;s:20:"tslib_cObj::HMENU() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1235;s:13:"content_lines";i:31;s:6:"atLine";i:137;}i:3;a:7:{s:6:"header";s:55:"function start($tmpl,$sys_page,$id,$conf,$menuNumber)    {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:5:{s:4:"text";s:76:"
1226
1227 The initialization of the object. This just sets some internal variables.
1228 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"object";i:1;s:33:"The $GLOBALS['TSFE']->tmpl object";}i:1;a:2:{i:0;s:6:"object";i:1;s:37:"The $GLOBALS['TSFE']->sys_page object";}i:2;a:2:{i:0;s:7:"integer";i:1;s:103:"A starting point page id. This should probably be blank since the 'entryLevel' value will be used then.";}i:3;a:2:{i:0;s:5:"array";i:1;s:50:"The TypoScript configuration for the HMENU cObject";}i:4;a:2:{i:0;s:7:"integer";i:1;s:42:"Menu number; 1,2,3. Should probably be '1'";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:23:"Returns true on success";}s:5:"other";a:1:{i:0;s:24:"@see tslib_cObj::HMENU()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"tslib_cObj::HMENU() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1382;s:13:"content_lines";i:41;s:6:"atLine";i:180;}i:5;a:7:{s:6:"header";s:21:"function makeMenu()        {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:3:{s:4:"text";s:346:"
1229
1230 Creates the menu in the internal variables, ready for output.
1231 Basically this will read the page records needed and fill in the internal $this->menuArr
1232 Based on a hash of this array and some other variables the $this->result variable will be loaded either from cache OR by calling the generate() method of the class to create the menu for real.
1233 ";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:16392;s:13:"content_lines";i:421;s:6:"atLine";i:229;}i:7;a:7:{s:6:"header";s:47:"function includeMakeMenu($conf,$altSortField)     {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:357:"
1234
1235 Includes the PHP script defined for the HMENU special type "userdefined".
1236 This script is supposed to populate the array $menuItemsArray with a set of page records comprising the menu.
1237 The "userdefined" type is depreciated since "userfunction" has arrived since and is a better choice for many reasons (like using classes/functions for rendering the menu)
1238 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:182:"TypoScript parameters for "special.". In particular the property "file" is reserved and specifies the file to include. Seems like any other property can be used freely by the script.";}i:1;a:2:{i:0;s:6:"string";i:1;s:63:"The sorting field. Can be used from the script in the $incFile.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:28:"An array with the menu items";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:226;s:13:"content_lines";i:7;s:6:"atLine";i:661;}i:9;a:7:{s:6:"header";s:40:"function procesItemStates($splitCount)    {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:706:"
1239
1240 Generating the per-menu-item configuration arrays based on the settings for item states (NO, RO, ACT, CUR etc) set in ->mconf (config for the current menu object)
1241 Basically it will produce an individual array for each menu item based on the item states. BUT in addition the "optionSplit" syntax for the values is ALSO evaluated here so that all property-values are "option-splitted" and the output will thus be resolved.
1242 Is called from the "generate" functions in the extension classes. The function is processor intensive due to the option split feature in particular. But since the generate function is not always called (since the ->result array may be cached, see makeMenu) it doesn't hurt so badly.
1243 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:32:"Number of menu items in the menu";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:197:"An array with two keys: array($NOconf,$ROconf) - where $NOconf contains the resolved configuration for each item when NOT rolled-over and $ROconf contains the ditto for the mouseover state (if any)";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:7950;s:13:"content_lines";i:174;s:6:"atLine";i:678;}i:11;a:7:{s:6:"header";s:39:"function subMenu($uid,$mount_point=0)  {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:68:"
1244
1245 Creates a submenu level to the current level - if configured for.
1246 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:87:"Page id of the current page for which a submenu MAY be produced (if conditions are met)";}i:1;a:2:{i:0;s:7:"integer";i:1;s:82:"Mount-point UID (basically the mount_pid field of the page record is passed along)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:27:"HTML content of the submenu";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:1263;s:13:"content_lines";i:32;s:6:"atLine";i:861;}i:13;a:7:{s:6:"header";s:52:"function link($key,$altTarget='',$typeOverride='') {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:136:"
1247
1248 Creates the URL, target and onclick values for the menu item link. Returns them in an array as key/value pairs for <A>-tag attributes
1249 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:7:"integer";i:1;s:130:"Pointer to a key in the $this->menuArr array where the value for that key represents the menu item we are linking to (page record)";}i:1;a:2:{i:0;s:6:"string";i:1;s:18:"Alternative target";}i:2;a:2:{i:0;s:7:"integer";i:1;s:16:"Alternative type";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:84:"Returns an array with A-tag attributes as key/value pairs (HREF, TARGET and onClick)";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:2108;s:13:"content_lines";i:48;s:6:"atLine";i:903;}i:15;a:7:{s:6:"header";s:25:"function isActive($uid)       {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:77:"
1250
1251 Returns true if the page with UID $uid is active (in the current rootline)
1252 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:21:"Page uid to evaluate.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:32:"True if page with $uid is active";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:74;s:13:"content_lines";i:3;s:6:"atLine";i:959;}i:17;a:7:{s:6:"header";s:26:"function isCurrent($uid)  {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:91:"
1253
1254 Returns true if the page with UID $uid is the CURRENT page (equals $GLOBALS['TSFE']->id)
1255 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:21:"Page uid to evaluate.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:40:"True if page $uid = $GLOBALS['TSFE']->id";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:59;s:13:"content_lines";i:3;s:6:"atLine";i:970;}i:19;a:7:{s:6:"header";s:41:"function isSubMenu($uid,$mount_point=0)   {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:148:"
1256
1257 Returns true if there is a submenu with items for the page id, $uid
1258 Used by the item states "IFSUB" and "ACTIFSUB" to check if there is a submenu
1259 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"integer";i:1;s:42:"Page uid for which to search for a submenu";}i:1;a:2:{i:0;s:7:"integer";i:1;s:102:""mount_pid" field for the page record which is evaluated (this may affect whether a submenu is found!)";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:52:"Returns true if there was a submenu with items found";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:456;s:13:"content_lines";i:14;s:6:"atLine";i:983;}i:21;a:7:{s:6:"header";s:34:"function isItemState($kind,$key)        {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:6:{s:4:"text";s:100:"
1260
1261 Used by procesItemStates() to evaluate if a menu item (identified by $key) is in a certain state.
1262 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:81:"The item state to evaluate (SPC, IFSUB, ACT etc... but no xxxRO states of course)";}i:1;a:2:{i:0;s:7:"integer";i:1;s:40:"Key pointing to menu item from ->menuArr";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:54:"True (integer!=0) if match, otherwise false (=0, zero)";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:23:"@see procesItemStates()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:19:"procesItemStates() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:899;s:13:"content_lines";i:29;s:6:"atLine";i:1007;}i:23;a:7:{s:6:"header";s:28:"function accessKey($title)      {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:89:"
1263
1264 Creates an access-key for a GMENU menu item based on the menu item titles first letter
1265 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Menu item title.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:178:"Returns an array with keys "code" ("accesskey" attribute for the img-tag) and "alt" (text-addition to the "alt" attribute) if an access key was defined. Otherwise array was empty";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:458;s:13:"content_lines";i:16;s:6:"atLine";i:1044;}i:25;a:7:{s:6:"header";s:42:"function userProcess($mConfKey,$passVar)    {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:117:"
1266
1267 Calls a user function for processing of internal data.
1268 Used for the properties "IProcFunc" and "itemArrayProcFunc"
1269 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:189:"Key pointing for the property in the current ->mconf array holding possibly parameters to pass along to the function/method. Currently the keys used are "IProcFunc" and "itemArrayProcFunc".";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:303:"A variable to pass to the user function and which should be returned again from the user function. The idea is that the user function modifies this variable according to what you want to achieve and then returns it. For "itemArrayProcFunc" this variable is $this->menuArr, for "IProcFunc" it is $this->I";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:22:"The processed $passVar";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:241;s:13:"content_lines";i:8;s:6:"atLine";i:1070;}i:27;a:7:{s:6:"header";s:25:"function setATagParts()       {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:147:"
1270
1271 Creates the <A> tag parts for the current item (in $this->I, [A1] and [A2]) based on other information in this array (like $this->I['linkHREF'])
1272 ";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:197;s:13:"content_lines";i:4;s:6:"atLine";i:1085;}i:29;a:7:{s:6:"header";s:42:"function getPageTitle($title,$nav_title) {";s:11:"parentClass";s:10:"tslib_menu";s:4:"cDat";a:4:{s:4:"text";s:39:"
1273
1274 Returns the title for the navigation
1275 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"The current page title";}i:1;a:2:{i:0;s:6:"string";i:1;s:40:"The current value of the naviation title";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:74:"Returns the navigation title if it is NOT blank, otherwise the page title.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:84;s:13:"content_lines";i:22;s:6:"atLine";i:1098;}i:31;a:8:{s:6:"header";s:38:"class tslib_tmenu extends tslib_menu {";s:5:"class";i:1;s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:5:{s:4:"text";s:44:"
1276
1277 Extension class creating text based menus
1278 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=387&cHash=73a3116ab8";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=387&cHash=73a3116ab8 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:1129;}i:33;a:7:{s:6:"header";s:21:"function generate()      {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:5:{s:4:"text";s:192:"
1279
1280 Calls procesItemStates() so that the common configuration for the menu items are resolved into individual configuration per item.
1281 Sets the result for the new "normal state" in $this->result
1282 ";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:35:"@see tslib_menu::procesItemStates()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:31:"tslib_menu::procesItemStates() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:235;s:13:"content_lines";i:8;s:6:"atLine";i:1138;}i:35;a:7:{s:6:"header";s:22:"function writeMenu()  {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:3:{s:4:"text";s:540:"
1283
1284 Traverses the ->result array of menu items configuration (made by ->generate()) and renders each item.
1285 During the execution of this function many internal methods prefixed "extProc_" from this class is called and many of these are for now dummy functions. But they can be used for processing as they are used by the TMENU_LAYERS
1286 An instance of tslib_cObj is also made and for each menu item rendered it is loaded with the record for that page so that any stdWrap properties that applies will have the current menu items record available.
1287 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:72:"The HTML for the menu (returns result through $this->extProc_finish(); )";}}s:7:"content";s:0:"";s:12:"content_size";i:5247;s:13:"content_lines";i:122;s:6:"atLine";i:1154;}i:37;a:7:{s:6:"header";s:32:"function getBeforeAfter($pref)        {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:5:{s:4:"text";s:53:"
1288
1289 Generates the before* and after* images for TMENUs
1290 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:170:"Can be "before" or "after" and determines which kind of image to create (basically this is the prefix of the TypoScript properties that are read from the ->I['val'] array";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:40:"The resulting HTML of the image, if any.";}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]=388&cHash=a7486044cd";}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]=388&cHash=a7486044cd ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1514;s:13:"content_lines";i:22;s:6:"atLine";i:1284;}i:39;a:7:{s:6:"header";s:36:"function addJScolorShiftFunction() {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:6:{s:4:"text";s:81:"
1291
1292 Adds a JavaScript function to the $GLOBALS['TSFE']->additionalJavaScript array
1293 ";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:5:"other";a:1:{i:0;s:16:"@see writeMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"writeMenu() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:400;s:13:"content_lines";i:13;s:6:"atLine";i:1314;}i:41;a:7:{s:6:"header";s:25:"function extProc_init() {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:6:{s:4:"text";s:101:"
1294
1295 Called right before the traversing of $this->result begins.
1296 Can be used for various initialization
1297 ";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:5:"other";a:1:{i:0;s:52:"@see writeMenu(), tslib_tmenu_layers::extProc_init()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:47:"writeMenu(), tslib_tmenu_layers::extProc_init()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5;s:13:"content_lines";i:2;s:6:"atLine";i:1336;}i:43;a:7:{s:6:"header";s:27:"function extProc_RO($key)   {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:6:{s:4:"text";s:72:"
1298
1299 Called after all processing for RollOver of an element has been done.
1300 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:50:"@see writeMenu(), tslib_tmenu_layers::extProc_RO()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:45:"writeMenu(), tslib_tmenu_layers::extProc_RO()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5;s:13:"content_lines";i:2;s:6:"atLine";i:1347;}i:45;a:7:{s:6:"header";s:38:"function extProc_beforeLinking($key)      {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:6:{s:4:"text";s:65:"
1301
1302 Called right before the creation of the link for the menu item
1303 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:61:"@see writeMenu(), tslib_tmenu_layers::extProc_beforeLinking()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:56:"writeMenu(), tslib_tmenu_layers::extProc_beforeLinking()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5;s:13:"content_lines";i:2;s:6:"atLine";i:1358;}i:47;a:7:{s:6:"header";s:37:"function extProc_afterLinking($key) {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:6:{s:4:"text";s:296:"
1304
1305 Called right after the creation of links for the menu item. This is also the last function call before the while-loop traversing menu items goes to the next item.
1306 This function MUST set $this->WMresult.=[HTML for menu item] to add the generated menu item to the internal accumulation of items.
1307 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:60:"@see writeMenu(), tslib_tmenu_layers::extProc_afterLinking()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:55:"writeMenu(), tslib_tmenu_layers::extProc_afterLinking()";}}}s:7:"content";s:0:"";s:12:"content_size";i:328;s:13:"content_lines";i:7;s:6:"atLine";i:1370;}i:49;a:7:{s:6:"header";s:44:"function extProc_beforeAllWrap($item,$key)  {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:6:{s:4:"text";s:56:"
1308
1309 Called before the "allWrap" happens on the menu item.
1310 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:72:"The current content of the menu item, $this->I['theItem'], passed along.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:66:"The modified version of $item, going back into $this->I['theItem']";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:61:"@see writeMenu(), tslib_tmenu_layers::extProc_beforeAllWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:56:"writeMenu(), tslib_tmenu_layers::extProc_beforeAllWrap()";}}}s:7:"content";s:0:"";s:12:"content_size";i:21;s:13:"content_lines";i:3;s:6:"atLine";i:1387;}i:51;a:7:{s:6:"header";s:27:"function extProc_finish()      {";s:11:"parentClass";s:11:"tslib_tmenu";s:4:"cDat";a:6:{s:4:"text";s:80:"
1311
1312 Called before the writeMenu() function returns (only if a menu was generated)
1313 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:58:"The total menu content should be returned by this function";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:54:"@see writeMenu(), tslib_tmenu_layers::extProc_finish()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:49:"writeMenu(), tslib_tmenu_layers::extProc_finish()";}}}s:7:"content";s:0:"";s:12:"content_size";i:116;s:13:"content_lines";i:27;s:6:"atLine";i:1398;}i:53;a:8:{s:6:"header";s:38:"class tslib_gmenu extends tslib_menu {";s:5:"class";i:1;s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:5:{s:4:"text";s:66:"
1314
1315 Extension class creating graphic based menus (PNG or GIF files)
1316 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=384&cHash=93a7644cba";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=384&cHash=93a7644cba ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:1434;}i:55;a:7:{s:6:"header";s:21:"function generate()      {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:5:{s:4:"text";s:222:"
1317
1318 Calls procesItemStates() so that the common configuration for the menu items are resolved into individual configuration per item.
1319 Calls makeGifs() for all "normal" items and if configured for, also the "rollover" items.
1320 ";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:47:"@see tslib_menu::procesItemStates(), makeGifs()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:42:"tslib_menu::procesItemStates(), makeGifs()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1163;s:13:"content_lines";i:27;s:6:"atLine";i:1443;}i:57;a:7:{s:6:"header";s:35:"function makeGifs($conf, $resKey)    {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:155:"
1321
1322 Will traverse input array with configuratoin per-item and create corresponding GIF files for the menu.
1323 The data of the files are stored in $this->result
1324 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:39:"Array with configuration for each item.";}i:1;a:2:{i:0;s:6:"string";i:1;s:80:"Type of images: normal ("NO") or rollover ("RO"). Valid values are "NO" and "RO"";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:15:"@see generate()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:11:"generate() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:6804;s:13:"content_lines";i:181;s:6:"atLine";i:1481;}i:59;a:7:{s:6:"header";s:70:"function findLargestDims($conf,$items,$Hobjs,$Wobjs,$minDim,$maxDim)        {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:327:"
1325
1326 Function searching for the largest width and height of the menu items to be generated.
1327 Uses some of the same code as makeGifs and even instantiates some gifbuilder objects BUT does not render the images - only reading out which width they would have.
1328 Remember to upgrade the code in here if the makeGifs function is updated.
1329 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:5:"array";i:1;s:48:"Same configuration array as passed to makeGifs()";}i:1;a:2:{i:0;s:7:"integer";i:1;s:24:"The number of menu items";}i:2;a:2:{i:0;s:5:"array";i:1;s:32:"Array with "applyTotalH" numbers";}i:3;a:2:{i:0;s:5:"array";i:1;s:32:"Array with "applyTotalW" numbers";}i:4;a:2:{i:0;s:5:"array";i:1;s:20:"Array with "min" x/y";}i:5;a:2:{i:0;s:5:"array";i:1;s:20:"Array with "max" x/y";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:169:"Array with keys "H" and "W" which are in themselves arrays with the heights and widths of menu items inside. This can be used to find the max/min size of the menu items.";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:15:"@see makeGifs()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:11:"makeGifs() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1889;s:13:"content_lines";i:65;s:6:"atLine";i:1678;}i:61;a:7:{s:6:"header";s:22:"function writeMenu()   {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:3:{s:4:"text";s:427:"
1330
1331 Traverses the ->result['NO'] array of menu items configuration (made by ->generate()) and renders the HTML of each item (the images themselves was made with makeGifs() before this. See ->generate())
1332 During the execution of this function many internal methods prefixed "extProc_" from this class is called and many of these are for now dummy functions. But they can be used for processing as they are used by the GMENU_LAYERS
1333 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:72:"The HTML for the menu (returns result through $this->extProc_finish(); )";}}s:7:"content";s:0:"";s:12:"content_size";i:4270;s:13:"content_lines";i:89;s:6:"atLine";i:1750;}i:63;a:7:{s:6:"header";s:25:"function extProc_init()        {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:101:"
1334
1335 Called right before the traversing of $this->result begins.
1336 Can be used for various initialization
1337 ";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:5:"other";a:1:{i:0;s:52:"@see writeMenu(), tslib_gmenu_layers::extProc_init()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:47:"writeMenu(), tslib_gmenu_layers::extProc_init()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5;s:13:"content_lines";i:2;s:6:"atLine";i:1848;}i:65;a:7:{s:6:"header";s:27:"function extProc_RO($key)   {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:72:"
1338
1339 Called after all processing for RollOver of an element has been done.
1340 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:170:"Pointer to $this->menuArr[$key] where the current menu element record is found OR $this->result['RO'][$key] where the configuration for that elements RO version is found!";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:50:"@see writeMenu(), tslib_gmenu_layers::extProc_RO()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:45:"writeMenu(), tslib_gmenu_layers::extProc_RO()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5;s:13:"content_lines";i:2;s:6:"atLine";i:1859;}i:67;a:7:{s:6:"header";s:38:"function extProc_beforeLinking($key) {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:65:"
1341
1342 Called right before the creation of the link for the menu item
1343 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:61:"@see writeMenu(), tslib_gmenu_layers::extProc_beforeLinking()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:56:"writeMenu(), tslib_gmenu_layers::extProc_beforeLinking()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5;s:13:"content_lines";i:2;s:6:"atLine";i:1870;}i:69;a:7:{s:6:"header";s:37:"function extProc_afterLinking($key) {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:392:"
1344
1345 Called right after the creation of links for the menu item. This is also the last function call before the for-loop traversing menu items goes to the next item.
1346 This function MUST set $this->WMresult.=[HTML for menu item] to add the generated menu item to the internal accumulation of items.
1347 Further this calls the subMenu function in the parent class to create any submenu there might be.
1348 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:83:"@see writeMenu(), tslib_gmenu_layers::extProc_afterLinking(), tslib_menu::subMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:78:"writeMenu(), tslib_gmenu_layers::extProc_afterLinking(), tslib_menu::subMenu()";}}}s:7:"content";s:0:"";s:12:"content_size";i:155;s:13:"content_lines";i:7;s:6:"atLine";i:1883;}i:71;a:7:{s:6:"header";s:44:"function extProc_beforeAllWrap($item,$key)    {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:53:"
1349
1350 Called before the "wrap" happens on the menu item.
1351 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:72:"The current content of the menu item, $this->I['theItem'], passed along.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:66:"The modified version of $item, going back into $this->I['theItem']";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:61:"@see writeMenu(), tslib_gmenu_layers::extProc_beforeAllWrap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:56:"writeMenu(), tslib_gmenu_layers::extProc_beforeAllWrap()";}}}s:7:"content";s:0:"";s:12:"content_size";i:21;s:13:"content_lines";i:3;s:6:"atLine";i:1900;}i:73;a:7:{s:6:"header";s:27:"function extProc_finish()      {";s:11:"parentClass";s:11:"tslib_gmenu";s:4:"cDat";a:6:{s:4:"text";s:80:"
1352
1353 Called before the writeMenu() function returns (only if a menu was generated)
1354 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:58:"The total menu content should be returned by this function";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:54:"@see writeMenu(), tslib_gmenu_layers::extProc_finish()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:49:"writeMenu(), tslib_gmenu_layers::extProc_finish()";}}}s:7:"content";s:0:"";s:12:"content_size";i:114;s:13:"content_lines";i:25;s:6:"atLine";i:1911;}i:75;a:8:{s:6:"header";s:40:"class tslib_imgmenu extends tslib_menu {";s:5:"class";i:1;s:11:"parentClass";s:13:"tslib_imgmenu";s:4:"cDat";a:5:{s:4:"text";s:23:"
1355
1356 ImageMap based menus
1357 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=389&cHash=fcf18c5d9f";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=389&cHash=fcf18c5d9f ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:1945;}i:77;a:7:{s:6:"header";s:21:"function generate()      {";s:11:"parentClass";s:13:"tslib_imgmenu";s:4:"cDat";a:5:{s:4:"text";s:190:"
1358
1359 Calls procesItemStates() so that the common configuration for the menu items are resolved into individual configuration per item.
1360 Calls makeImageMap() to generate the image map image-file
1361 ";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:51:"@see tslib_menu::procesItemStates(), makeImageMap()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:46:"tslib_menu::procesItemStates(), makeImageMap()";}}}s:7:"content";s:0:"";s:12:"content_size";i:240;s:13:"content_lines";i:8;s:6:"atLine";i:1954;}i:79;a:7:{s:6:"header";s:30:"function makeImageMap($conf)   {";s:11:"parentClass";s:13:"tslib_imgmenu";s:4:"cDat";a:6:{s:4:"text";s:155:"
1362
1363 Will traverse input array with configuratoin per-item and create corresponding GIF files for the menu.
1364 The data of the files are stored in $this->result
1365 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:39:"Array with configuration for each item.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:15:"@see generate()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:11:"generate() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:6334;s:13:"content_lines";i:162;s:6:"atLine";i:1972;}i:81;a:7:{s:6:"header";s:22:"function writeMenu()       {";s:11:"parentClass";s:13:"tslib_imgmenu";s:4:"cDat";a:3:{s:4:"text";s:111:"
1366
1367 Returns the HTML for the image map menu.
1368 If ->result is true it will create the HTML for the image map menu.
1369 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:21:"The HTML for the menu";}}s:7:"content";s:0:"";s:12:"content_size";i:650;s:13:"content_lines";i:34;s:6:"atLine";i:2141;}i:83;a:8:{s:6:"header";s:39:"class tslib_jsmenu extends tslib_menu {";s:5:"class";i:1;s:11:"parentClass";s:12:"tslib_jsmenu";s:4:"cDat";a:5:{s:4:"text";s:37:"
1370
1371 JavaScript/Selectorbox based menus
1372 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=391&cHash=563435abbc";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=391&cHash=563435abbc ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:2184;}i:85;a:7:{s:6:"header";s:21:"function generate()      {";s:11:"parentClass";s:12:"tslib_jsmenu";s:4:"cDat";a:3:{s:4:"text";s:72:"
1373
1374 Dummy. Should do nothing, because we don't use the result-array here!
1375 ";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:5;s:13:"content_lines";i:2;s:6:"atLine";i:2191;}i:87;a:4:{s:6:"header";s:22:"function writeMenu()  {";s:11:"parentClass";s:12:"tslib_jsmenu";s:4:"cDat";a:3:{s:4:"text";s:152:"
1376
1377 Creates the HTML (mixture of a <form> and a JavaScript section) for the JavaScript menu (basically an array of selector boxes with onchange handlers)
1378 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"The HTML code for the menu";}}s:6:"atLine";i:2199;}i:89;a:7:{s:6:"header";s:64:"function generate_level($levels,$count,$pid,$menuItemArray='') {";s:11:"parentClass";s:12:"tslib_jsmenu";s:4:"cDat";a:4:{s:4:"text";s:115:"
1379
1380 Generates a number of lines of JavaScript code for a menu level.
1381 Calls itself recursively for additional levels.
1382 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:7:"integer";i:1;s:28:"Number of levels to generate";}i:1;a:2:{i:0;s:7:"integer";i:1;s:127:"Current level being generated - and if this number is less than $levels it will call itself recursively with $count incremented";}i:2;a:2:{i:0;s:7:"integer";i:1;s:30:"Page id of the starting point.";}i:3;a:2:{i:0;s:5:"array";i:1;s:27:"$this->menuArr passed along";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"JavaScript code lines.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:2627;s:13:"content_lines";i:66;s:6:"atLine";i:2259;}}}s:14:"MD5_ec78531dd1";a:4:{s:8:"filename";s:29:"tslib/class.tslib_pagegen.php";s:8:"filesize";i:24245;s:6:"header";a:5:{s:4:"text";s:166:"
1383
1384 Class for starting TypoScript page generation
1385
1386 The class is not instantiated as an objects but called directly with the "::" operator.
1387 eg: TSpagegen::pagegenInit()
1388 ";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 tslib";}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:"tslib ";}}}s:3:"DAT";a:7:{i:1;a:8:{s:6:"header";s:17:"class TSpagegen {";s:5:"class";i:1;s:11:"parentClass";s:9:"TSpagegen";s:4:"cDat";a:5:{s:4:"text";s:166:"
1389
1390 Class for starting TypoScript page generation
1391
1392 The class is not instantiated as an objects but called directly with the "::" operator.
1393 eg: TSpagegen::pagegenInit()
1394 ";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 tslib";}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:"tslib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2;s:13:"content_lines";i:1;s:6:"atLine";i:83;}i:3;a:7:{s:6:"header";s:24:"function pagegenInit()     {";s:11:"parentClass";s:9:"TSpagegen";s:4:"cDat";a:3:{s:4:"text";s:76:"
1395
1396 Setting some vars in TSFE, primarily based on TypoScript config settings.
1397 ";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:5735;s:13:"content_lines";i:117;s:6:"atLine";i:90;}i:5;a:7:{s:6:"header";s:24:"function getIncFiles()      {";s:11:"parentClass";s:9:"TSpagegen";s:4:"cDat";a:3:{s:4:"text";s:96:"
1398
1399 Returns an array with files to include. These files are the ones set up in TypoScript config.
1400 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:50:"Files to include. Paths are relative to PATH_site.";}}s:7:"content";s:0:"";s:12:"content_size";i:1163;s:13:"content_lines";i:27;s:6:"atLine";i:213;}i:7;a:7:{s:6:"header";s:29:"function JSeventFunctions()     {";s:11:"parentClass";s:9:"TSpagegen";s:4:"cDat";a:3:{s:4:"text";s:33:"
1401
1402 Processing JavaScript handlers
1403 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:122:"Array with a) a JavaScript section with event handlers and variables set and b) an array with attributes for the body tag.";}}s:7:"content";s:0:"";s:12:"content_size";i:1230;s:13:"content_lines";i:28;s:6:"atLine";i:246;}i:9;a:7:{s:6:"header";s:26:"function renderContent()       {";s:11:"parentClass";s:9:"TSpagegen";s:4:"cDat";a:3:{s:4:"text";s:29:"
1404
1405 Rendering the page content
1406 ";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:907;s:13:"content_lines";i:20;s:6:"atLine";i:280;}i:11;a:4:{s:6:"header";s:48:"function renderContentWithHeader($pageContent)      {";s:11:"parentClass";s:9:"TSpagegen";s:4:"cDat";a:3:{s:4:"text";s:139:"
1407
1408 Rendering normal HTML-page with header by wrapping the generated content ($pageContent) in body-tags and setting the header accordingly.
1409 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:55:"The page content which TypoScript objects has generated";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:307;}i:13;a:8:{s:6:"header";s:48:"class FE_loadDBGroup extends t3lib_loadDBGroup {";s:5:"class";i:1;s:11:"parentClass";s:14:"FE_loadDBGroup";s:4:"cDat";a:5:{s:4:"text";s:56:"
1410
1411 Class for fetching record relations for the frontend.
1412 ";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 tslib";i:3;s:26:"@see tslib_cObj::RECORDS()";}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:"tslib ";}s:4:"@see";a:1:{i:0;s:22:"tslib_cObj::RECORDS() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:593;s:13:"content_lines";i:19;s:6:"atLine";i:612;}}}s:14:"MD5_b97ca5ffb1";a:4:{s:8:"filename";s:28:"tslib/class.tslib_pibase.php";s:8:"filesize";i:41026;s:6:"header";a:5:{s:4:"text";s:419:"
1413
1414 Base class for frontend plugins
1415 Most modern frontend plugins are extension classes of this one.
1416 This class contains functions which assists these plugins in creating lists, searching, displaying menus, page-browsing (next/previous/1/2/3) and handling links.
1417 Functions are all prefixed "pi_" which is reserved for this class. Those functions can of course be overridden in the extension classes (that is the point...)
1418 ";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 tslib";}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:"tslib ";}}}s:3:"DAT";a:34:{i:1;a:8:{s:6:"header";s:20:"class tslib_pibase {";s:5:"class";i:1;s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:419:"
1419
1420 Base class for frontend plugins
1421 Most modern frontend plugins are extension classes of this one.
1422 This class contains functions which assists these plugins in creating lists, searching, displaying menus, page-browsing (next/previous/1/2/3) and handling links.
1423 Functions are all prefixed "pi_" which is reserved for this class. Those functions can of course be overridden in the extension classes (that is the point...)
1424 ";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 tslib";}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:"tslib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:2537;s:13:"content_lines";i:71;s:6:"atLine";i:126;}i:3;a:8:{s:6:"header";s:25:"function tslib_pibase()       {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:14:"Init functions";}s:4:"cDat";a:3:{s:4:"text";s:169:"
1425
1426 Class Constructor (true constructor)
1427 Initializes $this->piVars if $this->prefixId is set to any value
1428 Will also set $this->LLkey based on the config.language setting.
1429 ";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:222;s:13:"content_lines";i:8;s:6:"atLine";i:205;}i:5;a:7:{s:6:"header";s:32:"function pi_setPiVarDefaults()        {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:139:"
1430
1431 If internal TypoScript property "_DEFAULT_PI_VARS." is set then it will merge the current $this->piVars array onto these default values.
1432 ";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:307;s:13:"content_lines";i:25;s:6:"atLine";i:219;}i:7;a:8:{s:6:"header";s:64:"function pi_getPageLink($id,$target='',$urlParameters=array())       {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:14:"Link functions";}s:4:"cDat";a:5:{s:4:"text";s:259:"
1433
1434 Get URL to some page.
1435 Returns the URL to page $id with $target and an array of additional url-parameters, $urlParameters
1436 Simple example: $this->pi_getPageLink(123) to get the URL for page-id 123.
1437
1438 The function basically calls $this->cObj->getTypoLink_URL()
1439 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}i:1;a:2:{i:0;s:6:"string";i:1;s:77:"Target value to use. Affects the &type-value of the URL, defaults to current.";}i:2;a:2:{i:0;s:5:"array";i:1;s:50:"Additional URL parameters to set (key/value pairs)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"The resulting URL";}s:5:"other";a:1:{i:0;s:20:"@see pi_linkToPage()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:16:"pi_linkToPage() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:107;s:13:"content_lines";i:3;s:6:"atLine";i:258;}i:9;a:7:{s:6:"header";s:68:"function pi_linkToPage($str,$id,$target='',$urlParameters=array())      {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:354:"
1440
1441 Link a string to some page.
1442 Like pi_getPageLink() but takes a string as first parameter which will in turn be wrapped with the URL including target attribute
1443 Simple example: $this->pi_getPageLink('My link', 123) to get something like <a href="index.php?id=123&type=1">My link</a> (or <a href="123.1.html">My link</a> if simulateStaticDocuments is set)
1444 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The content string to wrap in <a> tags";}i:1;a:2:{i:0;s:7:"integer";i:1;s:7:"Page id";}i:2;a:2:{i:0;s:6:"string";i:1;s:77:"Target value to use. Affects the &type-value of the URL, defaults to current.";}i:3;a:2:{i:0;s:5:"array";i:1;s:50:"Additional URL parameters to set (key/value pairs)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:65:"The input string wrapped in <a> tags with the URL and target set.";}s:5:"other";a:1:{i:0;s:48:"@see pi_getPageLink(), tslib_cObj::getTypoLink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:43:"pi_getPageLink(), tslib_cObj::getTypoLink()";}}}s:7:"content";s:0:"";s:12:"content_size";i:108;s:13:"content_lines";i:3;s:6:"atLine";i:274;}i:11;a:7:{s:6:"header";s:58:"function pi_linkTP($str,$urlParameters=array(),$cache=0)   {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:167:"
1445
1446 Link string to the current page.
1447 Returns the $str wrapped in <a>-tags with a link to the CURRENT page, but with $urlParameters set as extra parameters for the page.
1448 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The content string to wrap in <a> tags";}i:1;a:2:{i:0;s:5:"array";i:1;s:194:"Array with URL parameters as key/value pairs. They will be "imploded" and added to the list of parameters defined in the plugins TypoScript property "parent.addParams" plus $this->pi_moreParams.";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:187:"If $cache is set, the page is asked to be cached by a &cHash value (unless the current plugin using this class is a USER_INT). Otherwise the no_cache-parameter will be a part of the link.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:36:"The input string wrapped in <a> tags";}s:5:"other";a:1:{i:0;s:51:"@see pi_linkTP_keepPIvars(), tslib_cObj::typoLink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:46:"pi_linkTP_keepPIvars(), tslib_cObj::typoLink()";}}}s:7:"content";s:0:"";s:12:"content_size";i:408;s:13:"content_lines";i:9;s:6:"atLine";i:288;}i:13;a:7:{s:6:"header";s:85:"function pi_linkTP_keepPIvars($str,$overrulePIvars=array(),$cache=0,$clearAnyway=0)    {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:368:"
1449
1450 Link a string to the current page while keeping currently set values in piVars.
1451 Like pi_linkTP, but $urlParameters is by default set to $this->piVars with $overrulePIvars overlaid.
1452 This means any current entries from this->piVars are passed on (except the key "DATA" which will be unset before!) and entries in $overrulePIvars will OVERRULE the current in the link.
1453 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The content string to wrap in <a> tags";}i:1;a:2:{i:0;s:5:"array";i:1;s:299:"Array of values to override in the current piVars. Contrary to pi_linkTP the keys in this array must correspond to the real piVars array and therefore NOT be prefixed with the $this->prefixId string. Further, if a value is a blank string it means the piVar key will not be a part of the link (unset)";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:187:"If $cache is set, the page is asked to be cached by a &cHash value (unless the current plugin using this class is a USER_INT). Otherwise the no_cache-parameter will be a part of the link.";}i:3;a:2:{i:0;s:7:"boolean";i:1;s:177:"If set, then the current values of piVars will NOT be preserved anyways... Practical if you want an easy way to set piVars without having to worry about the prefix, "tx_xxxxx[]"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:36:"The input string wrapped in <a> tags";}s:5:"other";a:1:{i:0;s:16:"@see pi_linkTP()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"pi_linkTP() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:415;s:13:"content_lines";i:12;s:6:"atLine";i:310;}i:15;a:7:{s:6:"header";s:84:"function pi_linkTP_keepPIvars_url($overrulePIvars=array(),$cache=0,$clearAnyway=0)      {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:145:"
1454
1455 Get URL to the current page while keeping currently set values in piVars.
1456 Same as pi_linkTP_keepPIvars but returns only the URL from the link.
1457 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:24:"See pi_linkTP_keepPIvars";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:24:"See pi_linkTP_keepPIvars";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:24:"See pi_linkTP_keepPIvars";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:38:"The URL ($this->cObj->lastTypoLinkUrl)";}s:5:"other";a:1:{i:0;s:27:"@see pi_linkTP_keepPIvars()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"pi_linkTP_keepPIvars() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:116;s:13:"content_lines";i:4;s:6:"atLine";i:333;}i:17;a:7:{s:6:"header";s:67:"function pi_list_linkSingle($str,$uid,$cache=0,$mergeArr=array())       {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:116:"
1458
1459 Wraps the $str in a link to a single display of the record (using piVars[showUid])
1460 Uses pi_linkTP for the linking
1461 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:38:"The content string to wrap in <a> tags";}i:1;a:2:{i:0;s:7:"integer";i:1;s:97:"UID of the record for which to display details (basically this will become the value of [showUid]";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:24:"See pi_linkTP_keepPIvars";}i:3;a:2:{i:0;s:5:"array";i:1;s:98:"Array of values to override in the current piVars. Same as $overrulePIvars in pi_linkTP_keepPIvars";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:36:"The input string wrapped in <a> tags";}s:5:"other";a:1:{i:0;s:40:"@see pi_linkTP(), pi_linkTP_keepPIvars()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:35:"pi_linkTP(), pi_linkTP_keepPIvars()";}}}s:7:"content";s:0:"";s:12:"content_size";i:463;s:13:"content_lines";i:14;s:6:"atLine";i:349;}i:19;a:7:{s:6:"header";s:132:"function pi_openAtagHrefInJSwindow($str,$winName='',$winParams='width=670,height=500,status=0,menubar=0,scrollbars=1,resizable=1')     {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:133:"
1462
1463 Will change the href value from <a> in the input string and turn it into an onclick event that will open a new window with the URL
1464 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:191:"The string to process. This should be a string already wrapped/including a <a> tag which will be modified to contain an onclick handler. Only the attributes "href" and "onclick" will be left.";}i:1;a:2:{i:0;s:6:"string";i:1;s:33:"Window name for the pop-up window";}i:2;a:2:{i:0;s:6:"string";i:1;s:55:"Window parameters, see the default list for inspiration";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:59:"The processed input string, modified IF a <a> tag was found";}}s:7:"content";s:0:"";s:12:"content_size";i:530;s:13:"content_lines";i:30;s:6:"atLine";i:372;}i:21;a:8:{s:6:"header";s:68:"function pi_list_browseresults($showResultCount=1,$tableParams='')       {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:47:"Functions for listing, browsing, searching etc.";}s:4:"cDat";a:3:{s:4:"text";s:462:"
1465
1466 Returns a results browser. This means a bar of page numbers plus a "previous" and "next" link. For each entry in the bar the piVars "pointer" will be pointing to the "result page" to show.
1467 Using $this->piVars['pointer'] as pointer to the page to display
1468 Using $this->internal['res_count'], $this->internal['results_at_a_time'] and $this->internal['maxPages'] for count number, how many results to show and the max number of pages to include in the browse bar.
1469 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"boolean";i:1;s:78:"If set (default) the text "Displaying results..." will be show, otherwise not.";}i:1;a:2:{i:0;s:6:"string";i:1;s:96:"Attributes for the table tag which is wrapped around the table cells containing the browse links";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:57:"Output HTML, wrapped in <div>-tags with a class attribute";}}s:7:"content";s:0:"";s:12:"content_size";i:2112;s:13:"content_lines";i:45;s:6:"atLine";i:412;}i:23;a:7:{s:6:"header";s:45:"function pi_list_searchBox($tableParams='')       {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:175:"
1470
1471 Returns a Search box, sending search words to piVars "sword" and setting the "no_cache" parameter as well in the form.
1472 Submits the search request to the current REQUEST_URI
1473 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:94:"Attributes for the table tag which is wrapped around the table cells containing the search box";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:57:"Output HTML, wrapped in <div>-tags with a class attribute";}}s:7:"content";s:0:"";s:12:"content_size";i:647;s:13:"content_lines";i:11;s:6:"atLine";i:465;}i:25;a:7:{s:6:"header";s:63:"function pi_list_modeSelector($items=array(),$tableParams='')      {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:94:"
1474
1475 Returns a mode selector; a little menu in a table normally put in the top of the page/list.
1476 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:104:"Key/Value pairs for the menu; keys are the piVars[mode] values and the "values" are the labels for them.";}i:1;a:2:{i:0;s:6:"string";i:1;s:88:"Attributes for the table tag which is wrapped around the table cells containing the menu";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:57:"Output HTML, wrapped in <div>-tags with a class attribute";}}s:7:"content";s:0:"";s:12:"content_size";i:486;s:13:"content_lines";i:14;s:6:"atLine";i:484;}i:27;a:7:{s:6:"header";s:49:"function pi_list_makelist($res,$tableParams='')   {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:460:"
1477
1478 Returns the list of items based on the input MySQL result pointer
1479 For each result row the internal var, $this->internal['currentRow'], is set with the row returned.
1480 $this->pi_list_header() makes the header row for the list
1481 $this->pi_list_row() is used for rendering each row
1482 Notice that these two functions are typically ALWAYS defined in the extension class of the plugin since they are directly concerned with the specific layout for that plugins purpose.
1483 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:7:"pointer";i:1;s:56:"Result pointer to a MySQL result which can be traversed.";}i:1;a:2:{i:0;s:6:"string";i:1;s:87:"Attributes for the table tag which is wrapped around the table rows containing the list";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:57:"Output HTML, wrapped in <div>-tags with a class attribute";}s:5:"other";a:1:{i:0;s:36:"@see pi_list_row(), pi_list_header()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:31:"pi_list_row(), pi_list_header()";}}}s:7:"content";s:0:"";s:12:"content_size";i:415;s:13:"content_lines";i:16;s:6:"atLine";i:511;}i:29;a:7:{s:6:"header";s:26:"function pi_list_row($c)   {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:256:"
1484
1485 Returns a list row. Get data from $this->internal['currentRow'];
1486 (Dummy)
1487 Notice: This function should ALWAYS be defined in the extension class of the plugin since it is directly concerned with the specific layout of the listing for your plugins purpose.
1488 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:87:"Row counting. Starts at 0 (zero). Used for alternating class values in the output rows.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:88:"HTML output, a table row with a class attribute set (alternative based on odd/even rows)";}}s:7:"content";s:0:"";s:12:"content_size";i:118;s:13:"content_lines";i:4;s:6:"atLine";i:536;}i:31;a:7:{s:6:"header";s:27:"function pi_list_header()  {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:218:"
1489
1490 Returns a list header row.
1491 (Dummy)
1492 Notice: This function should ALWAYS be defined in the extension class of the plugin since it is directly concerned with the specific layout of the listing for your plugins purpose.
1493 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:51:"HTML output, a table row with a class attribute set";}}s:7:"content";s:0:"";s:12:"content_size";i:208;s:13:"content_lines";i:24;s:6:"atLine";i:548;}i:33;a:8:{s:6:"header";s:34:"function pi_getClassName($class)      {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:15:"Stylesheet, CSS";}s:4:"cDat";a:3:{s:4:"text";s:104:"
1494
1495 Returns a class-name prefixed with $this->prefixId and with all underscores substituted to dashes (-)
1496 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:82:"The class name (or the END of it since it will be prefixed by $this->prefixId.'-')";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:49:"The combined class name (with the correct prefix)";}}s:7:"content";s:0:"";s:12:"content_size";i:84;s:13:"content_lines";i:3;s:6:"atLine";i:579;}i:35;a:7:{s:6:"header";s:32:"function pi_classParam($class)   {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:92:"
1497
1498 Returns the class-attribute with the correctly prefixed classname
1499 Using pi_getClassName()
1500 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:23:"The class name (suffix)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:65:"A "class" attribute with value and a single space char before it.";}s:5:"other";a:1:{i:0;s:22:"@see pi_getClassName()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"pi_getClassName() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:61;s:13:"content_lines";i:3;s:6:"atLine";i:591;}i:37;a:7:{s:6:"header";s:54:"function pi_setClassStyle($class,$data,$selector='')    {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:76:"
1501
1502 Sets CSS style-data for the $class-suffix (prefixed by pi_getClassName())
1503 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:41:"$class: Class suffix, see pi_getClassName";}i:1;a:2:{i:0;s:6:"string";i:1;s:15:"$data: CSS data";}i:2;a:2:{i:0;s:6:"string";i:1;s:124:"If $selector is set to any CSS selector, eg 'P' or 'H1' or 'TABLE' then the style $data will regard those HTML-elements only";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:5:"other";a:2:{i:0;s:154:"@depreciated             I think this function should not be used (and probably isn't used anywhere). It was a part of a concept which was left behind quite quickly.";i:1;s:8:"@private";}s:11:"other_index";a:2:{s:12:"@depreciated";a:1:{i:0;s:140:"I think this function should not be used (and probably isn't used anywhere). It was a part of a concept which was left behind quite quickly.";}s:8:"@private";a:1:{i:0;s:1:" ";}}}s:7:"content";s:0:"";s:12:"content_size";i:173;s:13:"content_lines";i:3;s:6:"atLine";i:605;}i:39;a:7:{s:6:"header";s:35:"function pi_wrapInBaseClass($str)      {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:276:"
1504
1505 Wraps the input string in a <div> tag with the class attribute set to the prefixId.
1506 All content returned from your plugins should be returned through this function so all content from your plugin is encapsulated in a <div>-tag nicely identifying the content of your plugin.
1507 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:72:"HTML content to wrap in the div-tags with the "main class" of the plugin";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:59:"HTML content wrapped, ready to return to the parent object.";}}s:7:"content";s:0:"";s:12:"content_size";i:217;s:13:"content_lines";i:25;s:6:"atLine";i:616;}i:41;a:8:{s:6:"header";s:73:"function pi_getEditPanel($row='',$tablename='',$label='',$conf=Array())        {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:40:"Frontend editing: Edit panel, edit icons";}s:4:"cDat";a:5:{s:4:"text";s:67:"
1508
1509 Returns the Backend User edit panel for the $row from $tablename
1510 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:5:"array";i:1;s:13:"Record array.";}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:31:"A label to show with the panel.";}i:3;a:2:{i:0;s:5:"array";i:1;s:140:"TypoScript parameters to pass along to the EDITPANEL content Object that gets rendered. The property "allow" WILL get overridden/set though.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:142:"Returns false/blank if no BE User login and of course if the panel is not shown for other reasons. Otherwise the HTML for the panel (a table).";}s:5:"other";a:1:{i:0;s:28:"@see tslib_cObj::EDITPANEL()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:24:"tslib_cObj::EDITPANEL() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1029;s:13:"content_lines";i:28;s:6:"atLine";i:652;}i:43;a:7:{s:6:"header";s:75:"function pi_getEditIcon($content,$fields,$title='',$row='',$tablename='')   {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:81:"
1511
1512 Adds edit-icons to the input content.
1513 tslib_cObj::editIcons used for rendering
1514 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"string";i:1;s:150:"HTML content to add icons to. The icons will be put right after the last content part in the string (that means before the ending series of HTML tags)";}i:1;a:2:{i:0;s:6:"string";i:1;s:52:"The list of fields to edit when the icon is clicked.";}i:2;a:2:{i:0;s:6:"string";i:1;s:24:"Title for the edit icon.";}i:3;a:2:{i:0;s:5:"array";i:1;s:16:"Table record row";}i:4;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:21:"The processed content";}s:5:"other";a:1:{i:0;s:28:"@see tslib_cObj::editIcons()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:24:"tslib_cObj::editIcons() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:562;s:13:"content_lines";i:37;s:6:"atLine";i:693;}i:45;a:8:{s:6:"header";s:33:"function pi_getLL($key,$alt='')      {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:33:"Localization, locallang functions";}s:4:"cDat";a:3:{s:4:"text";s:195:"
1515
1516 Returns the localized label of the LOCAL_LANG key, $key
1517 Notice that for debugging purposes prefixes for the output values can be set with the internal vars ->LLtestPrefixAlt and ->LLtestPrefix
1518 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:64:"The key from the LOCAL_LANG array for which to return the value.";}i:1;a:2:{i:0;s:6:"string";i:1;s:114:"Alternative string to return IF no value is found set for the key, neither for the local language nor the default.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"The value from LOCAL_LANG.";}}s:7:"content";s:0:"";s:12:"content_size";i:297;s:13:"content_lines";i:9;s:6:"atLine";i:739;}i:47;a:7:{s:6:"header";s:22:"function pi_loadLL()   {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:276:"
1519
1520 Loads local-language values by looking for a "locallang.php" file in the plugin class directory ($this->scriptRelPath) and if found includes it.
1521 Also locallang values set in the TypoScript property "_LOCAL_LANG" are merged onto the values found in the "locallang.php" file.
1522 ";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:790;s:13:"content_lines";i:47;s:6:"atLine";i:755;}i:49;a:8:{s:6:"header";s:99:"function pi_list_query($table,$count=0,$addWhere='',$mm_cat='',$groupBy='',$orderBy='',$query='')   {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:17:"Database, queries";}s:4:"cDat";a:3:{s:4:"text";s:475:"
1523
1524 Makes a standard query for listing of records based on standard input vars from the 'browser' ($this->internal['results_at_a_time'] and $this->piVars['pointer']) and 'searchbox' ($this->piVars['sword'] and $this->internal['searchFieldList'])
1525 Set $count to 1 if you wish to get a count(*) query for selecting the number of results.
1526 Notice that the query will use $this->conf['pidList'] and $this->conf['recursive'] to generate a PID list within which to search for records.
1527 ";s:5:"param";a:7:{i:0;a:2:{i:0;s:6:"string";i:1;s:37:"The table name to make the query for.";}i:1;a:2:{i:0;s:7:"boolean";i:1;s:71:"If set, you will get a "count(*)" query back instead of field selecting";}i:2;a:2:{i:0;s:6:"string";i:1;s:62:"Additional WHERE clauses (should be starting with " AND ....")";}i:3;a:2:{i:0;s:5:"mixed";i:1;s:272:"If an array, then it must contain the keys "table", "mmtable" and (optionally) "catUidList" defining a table to make a MM-relation to in the query (based on fields uid_local and uid_foreign). If not array, the query will be a plain query looking up data in only one table.";}i:4;a:2:{i:0;s:6:"string";i:1;s:62:"If set, this is added as a " GROUP BY ...." part of the query.";}i:5;a:2:{i:0;s:6:"string";i:1;s:249:"If set, this is added as a " ORDER BY ...." part of the query. The default is that an ORDER BY clause is made based on $this->internal['orderBy'] and $this->internal['descFlag'] where the orderBy field must be found in $this->internal['orderByList']";}i:6;a:2:{i:0;s:6:"string";i:1;s:289:"If set, this is taken as the first part of the query instead of what is created internally. Basically this should be a query starting with "FROM [table] WHERE ... AND ...". The $addWhere clauses and all the other stuff is still added. Only the tables and PID selecting clauses are bypassed";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"The query build.";}}s:7:"content";s:0:"";s:12:"content_size";i:2477;s:13:"content_lines";i:51;s:6:"atLine";i:817;}i:51;a:7:{s:6:"header";s:49:"function pi_getRecord($table,$uid,$checkPage=0)   {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:94:"
1528
1529 Returns the row $uid from $table
1530 (Simply calling $GLOBALS['TSFE']->sys_page->checkRecord())
1531 ";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:7:"integer";i:1;s:36:"The uid of the record from the table";}i:2;a:2:{i:0;s:7:"boolean";i:1;s:91:"If $checkPage is set, it's required that the page on which the record resides is accessible";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:46:"If record is found, an array. Otherwise false.";}}s:7:"content";s:0:"";s:12:"content_size";i:81;s:13:"content_lines";i:3;s:6:"atLine";i:878;}i:53;a:7:{s:6:"header";s:48:"function pi_getPidList($pid_list,$recursive=0)    {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:73:"
1532
1533 Returns a commalist of page ids for a query (eg. 'WHERE pid IN (...)')
1534 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:69:"$pid_list is a comma list of page ids (if empty current page is used)";}i:1;a:2:{i:0;s:7:"integer";i:1;s:91:"$recursive is an integer >=0 telling how deep to dig for pids under each entry in $pid_list";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:36:"List of PID values (comma separated)";}}s:7:"content";s:0:"";s:12:"content_size";i:444;s:13:"content_lines";i:13;s:6:"atLine";i:889;}i:55;a:7:{s:6:"header";s:55:"function pi_prependFieldsWithTable($table,$fieldList) {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:88:"
1535
1536 Having a comma list of fields ($fieldList) this is prepended with the $table.'.' name
1537 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Table name to prepend";}i:1;a:2:{i:0;s:6:"string";i:1;s:78:"List of fields where each element will be prepended with the table name given.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:25:"List of fields processed.";}}s:7:"content";s:0:"";s:12:"content_size";i:184;s:13:"content_lines";i:8;s:6:"atLine";i:910;}i:57;a:7:{s:6:"header";s:64:"function pi_getCategoryTableContents($table,$pid,$addWhere='')  {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:90:"
1538
1539 Will select all records from the "category table", $table, and return them in an array.
1540 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:46:"The name of the category table to select from.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:51:"The page from where to select the category records.";}i:2;a:2:{i:0;s:6:"string";i:1;s:91:"Additional where clauses (basically the end of the query - could include a ORDER BY clause)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:39:"The array with the category records in.";}}s:7:"content";s:0:"";s:12:"content_size";i:358;s:13:"content_lines";i:27;s:6:"atLine";i:927;}i:59;a:8:{s:6:"header";s:48:"function pi_isOnlyFields($fList,$lowerThan=-1)   {";s:11:"parentClass";s:12:"tslib_pibase";s:11:"sectionText";a:1:{i:0;s:7:"Various";}s:4:"cDat";a:3:{s:4:"text";s:265:"
1541
1542 Returns true if the piVars array has ONLY those fields entered that is set in the $fList (commalist) AND if none of those fields value is greater than $lowerThan field if they are integers.
1543 Notice that this function will only work as long as values are integers.
1544 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:48:"List of fields (keys from piVars) to evaluate on";}i:1;a:2:{i:0;s:7:"integer";i:1;s:21:"Limit for the values.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:39:"Returns true (1) if conditions are met.";}}s:7:"content";s:0:"";s:12:"content_size";i:328;s:13:"content_lines";i:10;s:6:"atLine";i:963;}i:61;a:7:{s:6:"header";s:33:"function pi_autoCache($inArray)      {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:247:"
1545
1546 Returns true if the array $inArray contains only values allowed to be cached based on the configuration in $this->pi_autoCacheFields
1547 Used by ->pi_linkTP_keepPIvars
1548 This is an advanced form of evaluation of whether a URL should be cached or not.
1549 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:39:"An array with piVars values to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:39:"Returns true (1) if conditions are met.";}s:5:"other";a:1:{i:0;s:27:"@see pi_linkTP_keepPIvars()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"pi_linkTP_keepPIvars() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:707;s:13:"content_lines";i:21;s:6:"atLine";i:983;}i:63;a:7:{s:6:"header";s:30:"function pi_RTEcssText($str)  {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:5:{s:4:"text";s:345:"
1550
1551 Will process the input string with the parseFunc function from tslib_cObj based on configuration set in "lib.parseFunc_RTE" in the current TypoScript template.
1552 This is useful for rendering of content in RTE fields where the transformation mode is set to "ts_css" or so.
1553 Notice that this requires the use of "css_styled_content" to work right.
1554 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"The input text string to process";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"The processed string";}s:5:"other";a:1:{i:0;s:28:"@see tslib_cObj::parseFunc()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:24:"tslib_cObj::parseFunc() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:170;s:13:"content_lines";i:5;s:6:"atLine";i:1014;}i:65;a:4:{s:6:"header";s:95:"function pi_getFFvalue($T3FlexForm_array,$fieldName,$sheet='sDEF',$lang='lDEF',$value='vDEF') {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:1:"
1555 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:6:"[type]";i:1;s:22:"$T3FlexForm_array: ...";}i:1;a:2:{i:0;s:6:"[type]";i:1;s:15:"$fieldName: ...";}i:2;a:2:{i:0;s:6:"[type]";i:1;s:11:"$sheet: ...";}i:3;a:2:{i:0;s:6:"[type]";i:1;s:10:"$lang: ...";}i:4;a:2:{i:0;s:6:"[type]";i:1;s:11:"$value: ...";}}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}}s:6:"atLine";i:1028;}i:67;a:7:{s:6:"header";s:72:"function pi_getFFvalueFromSheetArray($sheetArray,$fieldNameArr,$value) {";s:11:"parentClass";s:12:"tslib_pibase";s:4:"cDat";a:3:{s:4:"text";s:25:"
1556
1557 [Describe function...]
1558 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"[type]";i:1;s:16:"$sheetArray: ...";}i:1;a:2:{i:0;s:6:"[type]";i:1;s:18:"$fieldNameArr: ...";}i:2;a:2:{i:0;s:6:"[type]";i:1;s:11:"$value: ...";}}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}}s:7:"content";s:0:"";s:12:"content_size";i:109;s:13:"content_lines";i:5;s:6:"atLine";i:1043;}}}s:14:"MD5_66686aaba0";a:4:{s:8:"filename";s:28:"tslib/class.tslib_search.php";s:8:"filesize";i:16820;s:6:"header";a:5:{s:4:"text";s:56:"
1559
1560 Search class used for the content object SEARCHRESULT
1561 ";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 tslib";i:3;s:31:"@see       tslib_cObj::SEARCHRESULT()";}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:"tslib ";}s:4:"@see";a:1:{i:0;s:27:"tslib_cObj::SEARCHRESULT() ";}}}s:3:"DAT";a:13:{i:1;a:8:{s:6:"header";s:20:"class tslib_search {";s:5:"class";i:1;s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:5:{s:4:"text";s:56:"
1562
1563 Search class used for the content object SEARCHRESULT
1564 ";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 tslib";i:3;s:31:"@see       tslib_cObj::SEARCHRESULT()";}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:"tslib ";}s:4:"@see";a:1:{i:0;s:27:"tslib_cObj::SEARCHRESULT() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1799;s:13:"content_lines";i:41;s:6:"atLine";i:86;}i:3;a:7:{s:6:"header";s:67:"function register_tables_and_columns($requestedCols,$allowedCols)     {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:297:"
1565
1566 Creates the $this->tables-array.
1567 The 'pages'-table is ALWAYS included as the search is page-based. Apart from this there may be one and only one table, joined with the pages-table. This table is the first table mentioned in the requested-list. If any more tables are set here, they are ignored.
1568 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:120:"is a list (-) of columns that we want to search. This could be input from the search-form (see TypoScript documentation)";}i:1;a:2:{i:0;s:6:"string";i:1;s:157:"$allowedCols: is the list of columns, that MAY be searched. All allowed cols are set as result-fields. All requested cols MUST be in the allowed-fields 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:1034;s:13:"content_lines";i:34;s:6:"atLine";i:136;}i:5;a:7:{s:6:"header";s:27:"function explodeCols($in)      {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:5:{s:4:"text";s:107:"
1569
1570 Function that can convert the syntax for entering which tables/fields the search should be conducted in.
1571 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:134:"This is the code-line defining the tables/fields to search. Syntax: '[table1].[field1]-[field2]-[field3] : [table2].[field1]-[field2]'";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:64:"An array where the values is "[table].[field]" strings to search";}s:5:"other";a:1:{i:0;s:34:"@see        register_tables_and_columns()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:30:"register_tables_and_columns() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:364;s:13:"content_lines";i:16;s:6:"atLine";i:178;}i:7;a:7:{s:6:"header";s:54:"function register_and_explode_search_string ($sword)      {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:236:"
1572
1573 Takes a search-string (WITHOUT SLASHES or else it'll be a little sppooky , NOW REMEMBER to unslash!!)
1574 Sets up $this->sword_array op with operators.
1575 This function uses $this->operator_translate_table as well as $this->default_operator
1576 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"The input search-word 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:663;s:13:"content_lines";i:23;s:6:"atLine";i:203;}i:9;a:7:{s:6:"header";s:45:"function split($origSword, $specchars='+-')      {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:368:"
1577
1578 Used to split a search-word line up into elements to search for. This function will detect boolean words like AND and OR, + and -, and even find sentences encapsulated in ""
1579 This function also has the charm of still containing some of the original comments - in danish!
1580 This function could be re-written to be more clean and effective - yet it's not that important.
1581 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"The raw sword string from outside";}i:1;a:2:{i:0;s:6:"string";i:1;s:57:"Special chars which are used as operators (+- is default)";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:85:"Returns an ARRAY if there were search words, othervise the return value may be unset.";}}s:7:"content";s:0:"";s:12:"content_size";i:1102;s:13:"content_lines";i:24;s:6:"atLine";i:236;}i:11;a:7:{s:6:"header";s:26:"function quotemeta($str)    {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:123:"
1582
1583 Local version of quotemeta. This is the same as the PHP function but the vertical line, |, is also escaped with a slash.
1584 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:34:"String to pass through quotemeta()";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"Return value";}}s:7:"content";s:0:"";s:12:"content_size";i:53;s:13:"content_lines";i:3;s:6:"atLine";i:267;}i:13;a:7:{s:6:"header";s:42:"function build_search_query ($endClause) {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:6:{s:4:"text";s:180:"
1585
1586 This creates the search-query.
1587 In TypoScript this is used for searching only records not hidden, start/endtimed and fe_grouped! (enable-fields, see tt_content)
1588 Sets $this->query
1589 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:63:"$endClause is some extra conditions that the search must match.";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:45:"Returns true no matter what - sweet isn't it!";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:31:"@see      tslib_cObj::SEARCHRESULT()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:27:"tslib_cObj::SEARCHRESULT() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1930;s:13:"content_lines";i:76;s:6:"atLine";i:281;}i:15;a:7:{s:6:"header";s:48:"function build_search_query_for_searchwords ()        {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:4:{s:4:"text";s:96:"
1590
1591 Creates the part of the SQL-sentence, that searches for the search-words ($this->sword_array)
1592 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:72:"Part of where class limiting result to the those having the search word.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:1473;s:13:"content_lines";i:41;s:6:"atLine";i:364;}i:17;a:7:{s:6:"header";s:35:"function get_operator ($operator)    {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:4:{s:4:"text";s:145:"
1593
1594 This returns an SQL search-operator (eg. AND, OR, NOT) translated from the current localized set of operators (eg. in danish OG, ELLER, IKKE).
1595 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:61:"The possible operator to find in the internal operator array.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:60:"If found, the SQL operator for the localized input operator.";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:441;s:13:"content_lines";i:17;s:6:"atLine";i:413;}i:19;a:7:{s:6:"header";s:25:"function count_query () {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:61:"
1596
1597 Counts the results and sets the result in $this->res_count
1598 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:31:"True, if $this->query was found";}}s:7:"content";s:0:"";s:12:"content_size";i:158;s:13:"content_lines";i:8;s:6:"atLine";i:436;}i:21;a:7:{s:6:"header";s:26:"function execute_query() {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:60:"
1599
1600 Executes the search, sets result pointer in $this->result
1601 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:49:"True, if $this->query was set and query performed";}}s:7:"content";s:0:"";s:12:"content_size";i:202;s:13:"content_lines";i:9;s:6:"atLine";i:450;}i:23;a:4:{s:6:"header";s:28:"function get_searchwords()      {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:131:"
1602
1603 Returns URL-parameters with the current search words.
1604 Used when linking to result pages so that search words can be highlighted.
1605 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:35:"URL-parameters with the searchwords";}}s:6:"atLine";i:466;}i:25;a:7:{s:6:"header";s:33:"function get_searchwordsArray()        {";s:11:"parentClass";s:12:"tslib_search";s:4:"cDat";a:3:{s:4:"text";s:44:"
1606
1607 Returns an array with the search words in
1608 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:89:"IF the internal sword_array contained search words it will return these, otherwise "void"";}}s:7:"content";s:0:"";s:12:"content_size";i:386;s:13:"content_lines";i:17;s:6:"atLine";i:482;}}}s:14:"MD5_f66564d785";a:4:{s:8:"filename";s:17:"tslib/showpic.php";s:8:"filesize";i:7447;s:6:"header";a:5:{s:4:"text";s:87:"
1609
1610 Script Class, generating the page output.
1611 Instantiated in the bottom of this script.
1612 ";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 tslib";}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:"tslib ";}}}s:3:"DAT";a:4:{i:1;a:8:{s:6:"header";s:24:"class SC_tslib_showpic {";s:5:"class";i:1;s:11:"parentClass";s:16:"SC_tslib_showpic";s:4:"cDat";a:5:{s:4:"text";s:87:"
1613
1614 Script Class, generating the page output.
1615 Instantiated in the bottom of this script.
1616 ";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 tslib";}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:"tslib ";}}}s:7:"content";s:0:"";s:12:"content_size";i:267;s:13:"content_lines";i:15;s:6:"atLine";i:92;}i:3;a:7:{s:6:"header";s:17:"function init() {";s:11:"parentClass";s:16:"SC_tslib_showpic";s:4:"cDat";a:3:{s:4:"text";s:61:"
1617
1618 Init function, setting the input vars in the global space.
1619 ";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:1709;s:13:"content_lines";i:41;s:6:"atLine";i:113;}i:5;a:4:{s:6:"header";s:17:"function main()     {";s:11:"parentClass";s:16:"SC_tslib_showpic";s:4:"cDat";a:3:{s:4:"text";s:153:"
1620
1621 Main function which creates the image if needed and outputs the HTML code for the page displaying the image.
1622 Accumulates the content in $this->content
1623 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:161;}i:7;a:7:{s:6:"header";s:25:"function printContent()       {";s:11:"parentClass";s:16:"SC_tslib_showpic";s:4:"cDat";a:3:{s:4:"text";s:42:"
1624
1625 Outputs the content from $this->content
1626 ";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:359;s:13:"content_lines";i:25;s:6:"atLine";i:209;}}}s:14:"MD5_0c06d7d959";a:4:{s:8:"filename";s:44:"tslib/media/scripts/example_callfunction.php";s:8:"filesize";i:5666;s:6:"header";a:5:{s:4:"text";s:281:"
1627
1628 USER cObject EXAMPLE FILE
1629
1630 This is an example of how to use your own functions and classes directly from TYPO3.
1631 Used in the "testsite" package
1632
1633 $Id: example_callfunction.php,v 1.2 2003/10/26 17:07:43 typo3 Exp $
1634 Revised for TYPO3 3.6 June/2003 by Kasper Skaarhoj
1635 XHTML compliant
1636 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}}}s:3:"DAT";a:6:{i:1;a:7:{s:6:"header";s:45:"function user_reverseString($content,$conf) {";s:11:"parentClass";s:0:"";s:4:"cDat";a:3:{s:4:"text";s:459:"
1637
1638 Call custom function from TypoScript for data processing
1639
1640 Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Custom Dynamic Co.../Passing a string.../"
1641 This TypoScript configuration will also demonstrate it:
1642  
1643 includeLibs.something = media/scripts/example_callfunction.php
1644 page = PAGE
1645 page.typeNum=0
1646 page.10 = TEXT
1647 page.10 {
1648     value = Hello World
1649     preUserFunc = user_reverseString
1650     preUserFunc.uppercase = 1
1651 }
1652 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:196:"When custom functions are used for data processing the $content variable will hold the value to be processed. When functions are meant to just return some generated content this variable is empty.";}i:1;a:2:{i:0;s:5:"array";i:1;s:49:"TypoScript properties passed on to this function.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:103:"The input string reversed. If the TypoScript property "uppercase" was set it will also be in uppercase.";}}s:7:"content";s:0:"";s:12:"content_size";i:114;s:13:"content_lines";i:7;s:6:"atLine";i:64;}i:3;a:7:{s:6:"header";s:41:"function user_printTime($content,$conf)  {";s:11:"parentClass";s:0:"";s:4:"cDat";a:3:{s:4:"text";s:395:"
1653
1654 Simply outputting the current time in red letters.
1655
1656 Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Custom Dynamic Co.../Mixing cached and.../"
1657 This TypoScript configuration will also demonstrate it:
1658  
1659 includeLibs.something = media/scripts/example_callfunction.php
1660 page = PAGE
1661 page.typeNum=0
1662 page.10 = USER_INT
1663 page.10 {
1664   userFunc = user_printTime
1665 }
1666 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"Empty string (no content to process)";}i:1;a:2:{i:0;s:5:"array";i:1;s:24:"TypoScript configuration";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:45:"HTML output, showing the current server time.";}}s:7:"content";s:0:"";s:12:"content_size";i:79;s:13:"content_lines";i:5;s:6:"atLine";i:90;}i:5;a:8:{s:6:"header";s:20:"class user_various     {";s:5:"class";i:1;s:11:"parentClass";s:12:"user_various";s:4:"cDat";a:3:{s:4:"text";s:61:"
1667
1668 Example of calling a method in a PHP class from TypoScript
1669 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}}s:7:"content";s:0:"";s:12:"content_size";i:78;s:13:"content_lines";i:2;s:6:"atLine";i:100;}i:7;a:7:{s:6:"header";s:40:"function reverseString($content,$conf)    {";s:11:"parentClass";s:12:"user_various";s:4:"cDat";a:5:{s:4:"text";s:144:"
1670
1671 Doing the same as user_reverseString() but with a class. Also demonstrates how this gives us the ability to use methods in the parent object.
1672 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:32:"String to process (from stdWrap)";}i:1;a:2:{i:0;s:5:"array";i:1;s:47:"TypoScript properties passed on to this method.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:123:"The input string reversed. If the TypoScript property "uppercase" was set it will also be in uppercase. May also be linked.";}s:5:"other";a:1:{i:0;s:25:"@see user_reverseString()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:21:"user_reverseString() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:239;s:13:"content_lines";i:10;s:6:"atLine";i:111;}i:9;a:4:{s:6:"header";s:51:"function listContentRecordsOnPage($content,$conf)       {";s:11:"parentClass";s:12:"user_various";s:4:"cDat";a:3:{s:4:"text";s:404:"
1673
1674 Testing USER cObject:
1675
1676 Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Custom Dynamic Co.../Calling a method.../"
1677 This TypoScript configuration will also demonstrate it:
1678  
1679 includeLibs.something = media/scripts/example_callfunction.php
1680 page = PAGE
1681 page.typeNum=0
1682 page.30 = USER
1683 page.30 {
1684   userFunc = user_various->listContentRecordsOnPage
1685   reverseOrder = 1
1686 }
1687 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:36:"Empty string (no content to process)";}i:1;a:2:{i:0;s:5:"array";i:1;s:24:"TypoScript configuration";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:71:"HTML output, showing content elements (in reverse order if configured.)";}}s:6:"atLine";i:141;}i:11;a:7:{s:6:"header";s:29:"function selectThem($query)       {";s:11:"parentClass";s:12:"user_various";s:4:"cDat";a:4:{s:4:"text";s:78:"
1688
1689 Selecting the records by input $query and returning the header field values
1690 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:43:"MySQL query selecting the content elements.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:72:"The header field values of the content elements imploded by a <br /> tag";}s:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:169;s:13:"content_lines";i:9;s:6:"atLine";i:155;}}}s:14:"MD5_38e1c463c4";a:4:{s:8:"filename";s:49:"tslib/media/scripts/example_itemArrayProcFunc.php";s:8:"filesize";i:4757;s:6:"header";a:5:{s:4:"text";s:232:"
1691
1692 This is an example of how to manipulate menu item arrays.
1693 Used in the "testsite" package
1694
1695 $Id: example_itemArrayProcFunc.php,v 1.3 2003/12/11 12:58:49 typo3 Exp $
1696 Revised for TYPO3 3.6 June/2003 by Kasper Skaarhoj
1697 XHTML compliant
1698 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}}}s:3:"DAT";a:2:{i:1;a:4:{s:6:"header";s:53:"function user_itemArrayProcFuncTest($menuArr,$conf) {";s:11:"parentClass";s:0:"";s:4:"cDat";a:3:{s:4:"text";s:783:"
1699
1700 This function basically adds the parent page to the sublevel but only if the sublevel is empty!
1701 It is also used to demonstrate the menu state items
1702
1703 Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Menu object examples/Fake menu items/" and "/Intro/TypoScript examples/Menu object examples/Menu state test/"
1704 This TypoScript configuration will also demonstrate it ("fake menu items"):
1705  
1706 includeLibs.fakemenuitems = media/scripts/example_itemArrayProcFunc.php
1707 page = PAGE
1708 page.typeNum = 0
1709 page.10 = HMENU
1710 page.10.1 = TMENU
1711 page.10.1.expAll = 1
1712 page.10.1.NO {
1713   allWrap = | <br />
1714   linkWrap = <b>|</b>
1715 }
1716 page.10.2 = TMENU
1717 page.10.2.itemArrayProcFunc = user_itemArrayProcFuncTest
1718 page.10.2.NO {
1719   allWrap = | <br />
1720   linkWrap = <b> - |</b>
1721 }
1722 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:88:"The $menuArr array which simply is a num-array of page records which goes into the menu.";}i:1;a:2:{i:0;s:5:"array";i:1;s:162:"TypoScript configuration for the function. Notice that the property "parentObj" is a reference to the parent (calling) object (the tslib_Xmenu class instantiated)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:27:"The modified $menuArr array";}}s:6:"atLine";i:73;}i:3;a:7:{s:6:"header";s:39:"function user_IProcFuncTest($I,$conf)      {";s:11:"parentClass";s:0:"";s:4:"cDat";a:5:{s:4:"text";s:144:"
1723
1724 Used in the menu item state example of the "testsite" package at page-path "/Intro/TypoScript examples/Menu object examples/Menu state test/"
1725 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:52:"The menu item array, $this->I (in the parent object)";}i:1;a:2:{i:0;s:5:"array";i:1;s:162:"TypoScript configuration for the function. Notice that the property "parentObj" is a reference to the parent (calling) object (the tslib_Xmenu class instantiated)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:83:"The processed $I array returned (and stored in $this->I of the parent object again)";}s:5:"other";a:1:{i:0;s:82:"@see tslib_menu::userProcess(), tslib_tmenu::writeMenu(), tslib_gmenu::writeMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:77:"tslib_menu::userProcess(), tslib_tmenu::writeMenu(), tslib_gmenu::writeMenu()";}}}s:7:"content";s:0:"";s:12:"content_size";i:615;s:13:"content_lines";i:21;s:6:"atLine";i:103;}}}s:14:"MD5_66a75e747f";a:4:{s:8:"filename";s:44:"tslib/media/scripts/example_keepRollover.php";s:8:"filesize";i:3616;s:6:"header";a:5:{s:4:"text";s:296:"
1726
1727 Demonstrates how to manipulate menu generation so that a click on a menu item will trigger two (or more) frames to load an URL
1728 Used in the "testsite" package
1729
1730 $Id: example_keepRollover.php,v 1.2 2003/10/26 17:07:43 typo3 Exp $
1731 Revised for TYPO3 3.6 June/2003 by Kasper Skaarhoj
1732 XHTML compliant
1733 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}}}s:3:"DAT";a:1:{i:1;a:7:{s:6:"header";s:47:"function user_keepRolloverAtOnClick($I,$conf)       {";s:11:"parentClass";s:0:"";s:4:"cDat";a:5:{s:4:"text";s:135:"
1734
1735 Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Menu object examples/Loading multiple.../"
1736 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:52:"The menu item array, $this->I (in the parent object)";}i:1;a:2:{i:0;s:5:"array";i:1;s:162:"TypoScript configuration for the function. Notice that the property "parentObj" is a reference to the parent (calling) object (the tslib_Xmenu class instantiated)";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:83:"The processed $I array returned (and stored in $this->I of the parent object again)";}s:5:"other";a:1:{i:0;s:82:"@see tslib_menu::userProcess(), tslib_tmenu::writeMenu(), tslib_gmenu::writeMenu()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:77:"tslib_menu::userProcess(), tslib_tmenu::writeMenu(), tslib_gmenu::writeMenu()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1494;s:13:"content_lines";i:42;s:6:"atLine";i:50;}}}s:14:"MD5_5607041ee2";a:4:{s:8:"filename";s:43:"tslib/media/scripts/example_typolinkpop.php";s:8:"filesize";i:2503;s:6:"header";a:5:{s:4:"text";s:162:"
1737
1738 Typo Link PopUp EXAMPLE!
1739
1740 $Id: example_typolinkpop.php,v 1.2 2003/10/26 17:07:43 typo3 Exp $
1741 Revised for TYPO3 3.6 June/2003 by Kasper Skaarhoj
1742 XHTML compliant
1743 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"[type]";i:1;s:3:"...";}s:5:"other";a:1:{i:0;s:42:"@author        Kasper Skaarhoj <kasper@typo3.com>";}s:11:"other_index";a:1:{s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}}}s:3:"DAT";a:1:{i:1;a:7:{s:6:"header";s:45:"function user_typoLinkPopUp($content,$conf) {";s:11:"parentClass";s:0:"";s:4:"cDat";a:5:{s:4:"text";s:547:"
1744
1745 Demonstrates how to make typolink tags (<link ...>) open in a pop-up window
1746
1747 Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Small Tricks/Making Pop-up links/"
1748 This TypoScript configuration will also demonstrate it:
1749  
1750 tt_content.text.20.parseFunc.tags.link.typolink.userFunc = user_typoLinkPopUp
1751 includeLibs.popup = media/scripts/example_typolinkpop.php
1752 config.setJS_openPic = 1
1753
1754 page = PAGE
1755 page.typeNum = 0
1756 page.10 < styles.content.get
1757
1758 (Plus the "content (default)" static template included as well)
1759 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:116:"In this case: An array with data you can use for processing; keys "url" and "aTagParams" contains something at least";}i:1;a:2:{i:0;s:5:"array";i:1;s:63:"TypoScript array with custom properties for this function call.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:22:"Return the new <a> tag";}s:5:"other";a:1:{i:0;s:27:"@see tslib_cObj::typoLink()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:23:"tslib_cObj::typoLink() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:204;s:13:"content_lines";i:5;s:6:"atLine";i:69;}}}s:14:"MD5_842c2c5af4";a:4:{s:8:"filename";s:35:"tslib/media/scripts/fe_adminLib.inc";s:8:"filesize";i:67204;s:6:"header";a:5:{s:4:"text";s:1191:"
1760
1761 This library provides a HTML-template file based framework for Front End creating/editing/deleting records authenticated by email or fe_user login.
1762 It is used in the extensions "direct_mail_subscription" and "feuser_admin" (and the depreciated(!) static template "plugin.feadmin.dmailsubscription" and "plugin.feadmin.fe_users" which are the old versions of these two extensions)
1763 Further the extensions "t3consultancies" and "t3references" also uses this library but contrary to the "direct_mail_subscription" and "feuser_admin" extensions which relies on external HTML templates which must be adapted these two extensions delivers the HTML template code from inside.
1764 Generally the fe_adminLib appears to be hard to use. Personally I feel turned off by all the template-file work involved and since it is very feature rich (and for that sake pretty stable!) there are lots of things that can go wrong - you feel. Therefore I like the concept used by "t3consultancies"/"t3references" since those extensions uses the library by supplying the HTML-template code automatically.
1765 Suggestions for improvement and streamlining is welcome so this powerful class could be used more and effectively.
1766 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=396&cHash=d267c36546";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=396&cHash=d267c36546 ";}}}s:3:"DAT";a:34:{i:1;a:8:{s:6:"header";s:20:"class user_feAdmin   {";s:5:"class";i:1;s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:1191:"
1767
1768 This library provides a HTML-template file based framework for Front End creating/editing/deleting records authenticated by email or fe_user login.
1769 It is used in the extensions "direct_mail_subscription" and "feuser_admin" (and the depreciated(!) static template "plugin.feadmin.dmailsubscription" and "plugin.feadmin.fe_users" which are the old versions of these two extensions)
1770 Further the extensions "t3consultancies" and "t3references" also uses this library but contrary to the "direct_mail_subscription" and "feuser_admin" extensions which relies on external HTML templates which must be adapted these two extensions delivers the HTML template code from inside.
1771 Generally the fe_adminLib appears to be hard to use. Personally I feel turned off by all the template-file work involved and since it is very feature rich (and for that sake pretty stable!) there are lots of things that can go wrong - you feel. Therefore I like the concept used by "t3consultancies"/"t3references" since those extensions uses the library by supplying the HTML-template code automatically.
1772 Suggestions for improvement and streamlining is welcome so this powerful class could be used more and effectively.
1773 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=396&cHash=d267c36546";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=396&cHash=d267c36546 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:870;s:13:"content_lines";i:27;s:6:"atLine";i:130;}i:3;a:7:{s:6:"header";s:31:"function init($content,$conf)   {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:262:"
1774
1775 Main function. Called from TypoScript.
1776 This 
1777 - initializes internal variables, 
1778 - fills in the markerArray with default substitution string
1779 - saves/emails if such commands are sent
1780 - calls functions for display of the screen for editing/creation/deletion etc.
1781 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Empty string, ignore.";}i:1;a:2:{i:0;s:5:"array";i:1;s:75:"TypoScript properties following the USER_INT object which uses this library";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}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]=396&cHash=d267c36546";}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]=396&cHash=d267c36546 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:7612;s:13:"content_lines";i:214;s:6:"atLine";i:171;}i:5;a:8:{s:6:"header";s:24:"function parseValues()       {";s:11:"parentClass";s:12:"user_feAdmin";s:11:"sectionText";a:1:{i:0;s:15:"Data processing";}s:4:"cDat";a:5:{s:4:"text";s:415:"
1782
1783 Performs processing on the values found in the input data array, $this->dataArr.
1784 The processing is done according to configuration found in TypoScript
1785 Examples of this could be to force a value to an integer, remove all non-alphanumeric characters, trimming a value, upper/lowercase it, or process it due to special types like files submitted etc.
1786 Called from init() if the $this->dataArr is found to be an array
1787 ";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: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:3093;s:13:"content_lines";i:84;s:6:"atLine";i:395;}i:7;a:7:{s:6:"header";s:44:"function processFiles($cmdParts,$theField)     {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:6:{s:4:"text";s:154:"
1788
1789 Processing of files.
1790 NOTICE: for now files can be handled only on creation of records. But a more advanced feature is that PREVIEW of files is handled.
1791 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:146:"Array with cmd-parts (from parseValues()). This will for example contain information about allowed file extensions and max size of uploaded files.";}i:1;a:2:{i:0;s:6:"string";i:1;s:29:"The fieldname with the files.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:18:"@see parseValues()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"parseValues() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:4236;s:13:"content_lines";i:92;s:6:"atLine";i:490;}i:9;a:7:{s:6:"header";s:27:"function overrideValues()       {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:106:"
1792
1793 Overriding values in $this->dataArr if configured for that in TypoScript ([edit/create].overrideValues)
1794 ";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: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:316;s:13:"content_lines";i:9;s:6:"atLine";i:589;}i:11;a:7:{s:6:"header";s:26:"function defaultValues()        {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:123:"
1795
1796 Called if there is no input array in $this->dataArr. Then this function sets the default values configured in TypoScript
1797 ";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: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:311;s:13:"content_lines";i:9;s:6:"atLine";i:605;}i:13;a:7:{s:6:"header";s:23:"function evalValues()   {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:568:"
1798
1799 This will evaluate the input values from $this->dataArr to see if they conforms with the requirements configured in TypoScript per field. 
1800 For example this could be checking if a field contains a valid email address, a unique value, a value within a certain range etc.
1801 It will populate arrays like $this->failure and $this->failureMsg with error messages (which can later be displayed in the template). Mostly it does NOT alter $this->dataArr (such parsing of values was done by parseValues())
1802 Works based on configuration in TypoScript key [create/edit].evalValues
1803 ";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:26:"@see init(), parseValues()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:21:"init(), parseValues()";}}}s:7:"content";s:0:"";s:12:"content_size";i:5278;s:13:"content_lines";i:113;s:6:"atLine";i:624;}i:15;a:7:{s:6:"header";s:42:"function userProcess($mConfKey,$passVar)       {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:143:"
1804
1805 Preforms user processing of input array - triggered right after the function call to evalValues() IF TypoScript property "evalFunc" was set.
1806 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:231:"Key pointing to the property in TypoScript holding the configuration for this processing (here: "evalFunc.*"). Well: at least its safe to say that "parentObj" in this array passed to the function is a reference back to this object.";}i:1;a:2:{i:0;s:5:"array";i:1;s:40:"The $this->dataArr passed for processing";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:39:"The processed $passVar ($this->dataArr)";}s:5:"other";a:1:{i:0;s:25:"@see init(), evalValues()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"init(), evalValues()";}}}s:7:"content";s:0:"";s:12:"content_size";i:238;s:13:"content_lines";i:8;s:6:"atLine";i:746;}i:17;a:7:{s:6:"header";s:54:"function userProcess_alt($confVal,$confArr,$passVar)  {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:29:"
1807
1808 User processing of contnet
1809 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:57:"Value of the TypoScript object triggering the processing.";}i:1;a:2:{i:0;s:5:"array";i:1;s:158:"Properties of the TypoScript object triggering the processing. The key "parentObj" in this array is passed to the function as a reference back to this object.";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:25:"Input variable to process";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:34:"Processed input variable, $passVar";}s:5:"other";a:1:{i:0;s:56:"@see userProcess(), save(), modifyDataArrForFormUpdate()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:51:"userProcess(), save(), modifyDataArrForFormUpdate()";}}}s:7:"content";s:0:"";s:12:"content_size";i:349;s:13:"content_lines";i:35;s:6:"atLine";i:764;}i:19;a:8:{s:6:"header";s:17:"function save()      {";s:11:"parentClass";s:12:"user_feAdmin";s:11:"sectionText";a:1:{i:0;s:31:"Database manipulation functions";}s:4:"cDat";a:5:{s:4:"text";s:60:"
1810
1811 Performs the saving of records, either edited or created.
1812 ";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: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:2993;s:13:"content_lines";i:58;s:6:"atLine";i:806;}i:21;a:7:{s:6:"header";s:25:"function deleteRecord()       {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:314:"
1813
1814 Deletes the record from table/uid, $this->theTable/$this->recUid, IF the fe-user has permission to do so.
1815 If the deleted flag should just be set, then it is done so. Otherwise the record truely is deleted along with any attached files.
1816 Called from init() if "cmd" was set to "delete" (and some other conditions)
1817 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:4:"void";}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:1091;s:13:"content_lines";i:22;s:6:"atLine";i:873;}i:23;a:7:{s:6:"header";s:38:"function deleteFilesFromRecord($uid)    {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:6:{s:4:"text";s:99:"
1818
1819 Deletes the files attached to a record and updates the record.
1820 Table/uid is $this->theTable/$uid
1821 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:55:"Uid number of the record to delete from $this->theTable";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:19:"@see deleteRecord()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"deleteRecord() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:886;s:13:"content_lines";i:50;s:6:"atLine";i:905;}i:25;a:8:{s:6:"header";s:32:"function displayDeleteScreen()      {";s:11:"parentClass";s:12:"user_feAdmin";s:11:"sectionText";a:1:{i:0;s:27:"Command "display" functions";}s:4:"cDat";a:5:{s:4:"text";s:48:"
1822
1823 Creates the preview display of delete actions
1824 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}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:1293;s:13:"content_lines";i:21;s:6:"atLine";i:962;}i:27;a:7:{s:6:"header";s:32:"function displayCreateScreen() {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:42:"
1825
1826 Creates the "create" screen for records
1827 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}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:1108;s:13:"content_lines";i:16;s:6:"atLine";i:990;}i:29;a:7:{s:6:"header";s:30:"function displayEditScreen()   {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:38:"
1828
1829 Creates the edit-screen for records
1830 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}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:2547;s:13:"content_lines";i:42;s:6:"atLine";i:1013;}i:31;a:7:{s:6:"header";s:36:"function displayEditForm($origArr)    {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:6:{s:4:"text";s:225:"
1831
1832 Subfunction for displayEditScreen(); Takes a record and creates an edit form based on the template code for it.
1833 This function is called if the user is editing a record and permitted to do so. Checked in displayEditScreen()
1834 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:33:"The array with the record to edit";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:12:"HTML content";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:24:"@see displayEditScreen()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"displayEditScreen() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:1260;s:13:"content_lines";i:21;s:6:"atLine";i:1065;}i:33;a:7:{s:6:"header";s:27:"function procesSetFixed()        {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:379:"
1835
1836 Processes socalled "setfixed" commands. These are commands setting a certain field in a certain record to a certain value. Like a link you can click in an email which will unhide a record to enable something. Or likewise a link which can delete a record by a single click.
1837 The idea is that only some allowed actions like this is allowed depending on the configured TypoScript.
1838 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:48:"HTML content displaying the status of the action";}}s:7:"content";s:0:"";s:12:"content_size";i:1916;s:13:"content_lines";i:78;s:6:"atLine";i:1093;}i:35;a:8:{s:6:"header";s:49:"function removeRequired($templateCode,$failure)        {";s:11:"parentClass";s:12:"user_feAdmin";s:11:"sectionText";a:1:{i:0;s:29:"Template processing functions";}s:4:"cDat";a:3:{s:4:"text";s:387:"
1839
1840 Remove required parts from template code string
1841          Works like this: 
1842                  - You insert subparts like this ###SUB_REQUIRED_FIELD_'.$theField.'### in the template that tells what is required for the field, if it's not correct filled in.
1843                  - These subparts are all removed, except if the field is listed in $failure string!
1844
1845                 Only fields that are found in $this->requiredArr is processed.
1846 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"The template HTML code";}i:1;a:2:{i:0;s:6:"string";i:1;s:75:"Comma list of fields which has errors (and therefore should not be removed)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:32:"The processed template HTML code";}}s:7:"content";s:0:"";s:12:"content_size";i:282;s:13:"content_lines";i:9;s:6:"atLine";i:1184;}i:37;a:7:{s:6:"header";s:39:"function getPlainTemplate($key,$r='')     {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:55:"
1847
1848 Returns template subpart HTML code for the key given
1849 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:37:"Subpart marker to return subpart for.";}i:1;a:2:{i:0;s:5:"array";i:1;s:119:"Optional data record array. If set, then all fields herein will also be substituted if found as markers in the template";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:77:"The subpart with all markers found in current $this->markerArray substituted.";}s:5:"other";a:1:{i:0;s:24:"@see fillInMarkerArray()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:20:"fillInMarkerArray() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:369;s:13:"content_lines";i:9;s:6:"atLine";i:1202;}i:39;a:7:{s:6:"header";s:48:"function modifyDataArrForFormUpdate($inputArr)    {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:131:"
1850
1851 Modifies input array for passing on to tslib_cObj::getUpdateJS() which produces some JavaScript for form evaluation or the like.
1852 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:14:"The data array";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:25:"The processed input array";}s:5:"other";a:1:{i:0;s:72:"@see displayCreateScreen(), displayEditForm(), tslib_cObj::getUpdateJS()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:67:"displayCreateScreen(), displayEditForm(), tslib_cObj::getUpdateJS()";}}}s:7:"content";s:0:"";s:12:"content_size";i:2035;s:13:"content_lines";i:59;s:6:"atLine";i:1219;}i:41;a:7:{s:6:"header";s:91:"function setCObjects($templateCode,$currentArr=array(),$markerArray='',$specialPrefix='')   {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:242:"
1853
1854 Will render TypoScript cObjects (configured in $this->conf['cObjects.']) and add their content to keys in a markerArray, either the array passed to the function or the internal one ($this->markerArray) if the input $markerArray is not set.
1855 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:128:"The current template code string. Is used to check if the marker string is found and if not, the content object is not rendered!";}i:1;a:2:{i:0;s:5:"array";i:1;s:71:"An alternative data record array (if empty then $this->dataArr is used)";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:177:"An alternative markerArray to fill in (instead of $this->markerArray). If you want to set the cobjects in the internal $this->markerArray, then just set this to non-array value.";}i:3;a:2:{i:0;s:6:"string";i:1;s:46:"Optional prefix to set for the marker strings.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:38:"The processed $markerArray (if given).";}}s:7:"content";s:0:"";s:12:"content_size";i:1391;s:13:"content_lines";i:55;s:6:"atLine";i:1288;}i:43;a:8:{s:6:"header";s:25:"function sendInfoMail() {";s:11:"parentClass";s:12:"user_feAdmin";s:11:"sectionText";a:1:{i:0;s:8:"Emailing";}s:4:"cDat";a:5:{s:4:"text";s:26:"
1856
1857 Sends info mail to user
1858 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:20:"HTML content message";}s:5:"other";a:1:{i:0;s:37:"@see init(),compileMail(), sendMail()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:32:"init(),compileMail(), sendMail()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1580;s:13:"content_lines";i:38;s:6:"atLine";i:1350;}i:45;a:7:{s:6:"header";s:74:"function compileMail($key, $DBrows, $recipient, $setFixedConfig=array())  {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:175:"
1859
1860 Compiles and sends a mail based on input values + template parts. Looks for a normal and an "-admin" template and may send both kinds of emails. See documentation in TSref.
1861 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:116:"A key which together with $this->emailMarkPrefix will identify the part from the template code to use for the email.";}i:1;a:2:{i:0;s:5:"array";i:1;s:65:"An array of records which fields are substituted in the templates";}i:2;a:2:{i:0;s:5:"mixed";i:1;s:195:"Mail recipient. If string then its supposed to be an email address. If integer then its a uid of a fe_users record which is looked up and the email address from here is used for sending the mail.";}i:3;a:2:{i:0;s:5:"array";i:1;s:76:"Additional fields to set in the markerArray used in the substitution process";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1880;s:13:"content_lines";i:34;s:6:"atLine";i:1398;}i:47;a:7:{s:6:"header";s:70:"function sendMail($recipient, $admin, $content='', $adminContent='')       {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:6:{s:4:"text";s:76:"
1862
1863 Actually sends the requested mails (through $this->cObj->sendNotifyEmail)
1864 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:33:"Recipient email address (or list)";}i:1;a:2:{i:0;s:6:"string";i:1;s:101:"Possible "admin" email address. Will enable sending of admin emails if also $adminContent is provided";}i:2;a:2:{i:0;s:6:"string";i:1;s:37:"Content for the regular email to user";}i:3;a:2:{i:0;s:6:"string";i:1;s:44:"Content for the admin email to administrator";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:34:"@see compileMail(), sendInfoMail()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:29:"compileMail(), sendInfoMail()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1142;s:13:"content_lines";i:38;s:6:"atLine";i:1444;}i:49;a:7:{s:6:"header";s:28:"function isHTMLContent($c)      {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:82:"
1865
1866 Detects if content is HTML (looking for <html> tag as first and last in string)
1867 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:22:"Content string to test";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:67:"Returns true if the content begins and ends with <html></html>-tags";}}s:7:"content";s:0:"";s:12:"content_size";i:145;s:13:"content_lines";i:6;s:6:"atLine";i:1489;}i:51;a:7:{s:6:"header";s:84:"function sendHTMLMail($content,$recipient,$dummy,$fromEmail,$fromName,$replyTo='')      {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:6:{s:4:"text";s:186:"
1868
1869 Sending HTML email, using same parameters as tslib_cObj::sendNotifyEmail()
1870 NOTICE: "t3lib_htmlmail" library must be included for this to work, otherwise an error message is outputted.
1871 ";s:5:"param";a:6:{i:0;a:2:{i:0;s:6:"string";i:1;s:48:"The message content. If blank, no email is sent.";}i:1;a:2:{i:0;s:6:"string";i:1;s:39:"Comma list of recipient email addresses";}i:2;a:2:{i:0;s:6:"string";i:1;s:21:"IGNORE this parameter";}i:3;a:2:{i:0;s:6:"string";i:1;s:20:""From" email address";}i:4;a:2:{i:0;s:6:"string";i:1;s:20:"Optional "From" name";}i:5;a:2:{i:0;s:6:"string";i:1;s:41:"Optional "Reply-To" header email address.";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:46:"@see sendMail(), tslib_cObj::sendNotifyEmail()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:41:"sendMail(), tslib_cObj::sendNotifyEmail()";}}}s:7:"content";s:0:"";s:12:"content_size";i:1880;s:13:"content_lines";i:74;s:6:"atLine";i:1510;}i:53;a:8:{s:6:"header";s:21:"function aCAuth($r)  {";s:11:"parentClass";s:12:"user_feAdmin";s:11:"sectionText";a:1:{i:0;s:24:"Various helper functions";}s:4:"cDat";a:5:{s:4:"text";s:308:"
1872
1873 Returns true if authentication is OK based on the "aC" code which is a GET parameter set from outside with a hash string which must match some internal hash string.
1874 This allows to authenticate editing without having a fe_users login
1875 Uses $this->authCode which is set in init() by "t3lib_div::GPvar('aC');"
1876 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:51:"The data array for which to evaluate authentication";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:24:"True if authenticated OK";}s:5:"other";a:1:{i:0;s:23:"@see authCode(), init()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:18:"authCode(), init()";}}}s:7:"content";s:0:"";s:12:"content_size";i:98;s:13:"content_lines";i:5;s:6:"atLine";i:1594;}i:55;a:7:{s:6:"header";s:33:"function authCode($r,$extra='')    {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:122:"
1877
1878 Creating authentication hash string based on input record and the fields listed in TypoScript property "authcodeFields"
1879 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:15:"The data record";}i:1;a:2:{i:0;s:6:"string";i:1;s:40:"Additional string to include in the hash";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:73:"Hash string of $this->codeLength (if TypoScript "authcodeFields" was set)";}s:5:"other";a:1:{i:0;s:13:"@see aCAuth()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:9:"aCAuth() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:526;s:13:"content_lines";i:16;s:6:"atLine";i:1608;}i:57;a:7:{s:6:"header";s:48:"function setfixed($markerArray, $setfixed, $r)    {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:65:"
1880
1881 Adding keys to the marker array with "setfixed" GET parameters
1882 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:36:"Marker-array to modify/add a key to.";}i:1;a:2:{i:0;s:5:"array";i:1;s:117:"TypoScript properties configuring "setfixed" for the plugin. Basically this is $this->conf['setfixed.'] passed along.";}i:2;a:2:{i:0;s:5:"array";i:1;s:15:"The data record";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:22:"Processed $markerArray";}s:5:"other";a:1:{i:0;s:18:"@see compileMail()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:14:"compileMail() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:936;s:13:"content_lines";i:27;s:6:"atLine";i:1634;}i:59;a:7:{s:6:"header";s:44:"function setfixedHash($recCopy,$fields='')  {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:5:{s:4:"text";s:64:"
1883
1884 Creating hash string for setFixed. Much similar to authCode()
1885 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:5:"array";i:1;s:15:"The data record";}i:1;a:2:{i:0;s:6:"string";i:1;s:21:"List of fields to use";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:73:"Hash string of $this->codeLength (if TypoScript "authcodeFields" was set)";}s:5:"other";a:1:{i:0;s:26:"@see setfixed(),authCode()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:22:"setfixed(),authCode() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:431;s:13:"content_lines";i:15;s:6:"atLine";i:1670;}i:61;a:7:{s:6:"header";s:22:"function isPreview()      {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:41:"
1886
1887 Returns true if preview display is on.
1888 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:77;s:13:"content_lines";i:3;s:6:"atLine";i:1691;}i:63;a:7:{s:6:"header";s:30:"function createFileFuncObj()      {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:99:"
1889
1890 Creates an instance of class "t3lib_basicFileFunctions" in $this->fileFunc (if not already done)
1891 ";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:109;s:13:"content_lines";i:5;s:6:"atLine";i:1700;}i:65;a:4:{s:6:"header";s:28:"function clearCacheIfSet()  {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:112:"
1892
1893 If TypoScript property clearCacheOfPages is set then all page ids in this value will have their cache cleared
1894 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:1711;}i:67;a:7:{s:6:"header";s:49:"function getFailure($theField, $theCmd, $label)     {";s:11:"parentClass";s:12:"user_feAdmin";s:4:"cDat";a:3:{s:4:"text";s:213:"
1895
1896 Returns an error message for the field/command combination inputted. The error message is looked up in the TypoScript properties (evalErrors.[fieldname].[command]) and if empty then the $label value is returned
1897 ";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:25:"Command identifier string";}i:2;a:2:{i:0;s:6:"string";i:1;s:59:"Alternative label, shown if no other error string was found";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:24:"The error message string";}}s:7:"content";s:0:"";s:12:"content_size";i:333;s:13:"content_lines";i:8;s:6:"atLine";i:1726;}}}s:14:"MD5_2195d5878d";a:4:{s:8:"filename";s:37:"tslib/media/scripts/gmenu_foldout.php";s:8:"filesize";i:10217;s:6:"header";a:5:{s:4:"text";s:70:"
1898
1899 Class extension tslib_gmenu for the creation of DHTML foldout menus
1900 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=386&cHash=f69ab462e2";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=386&cHash=f69ab462e2 ";}}}s:3:"DAT";a:5:{i:1;a:8:{s:6:"header";s:47:"class tslib_gmenu_foldout extends tslib_gmenu {";s:5:"class";i:1;s:11:"parentClass";s:19:"tslib_gmenu_foldout";s:4:"cDat";a:5:{s:4:"text";s:70:"
1901
1902 Class extension tslib_gmenu for the creation of DHTML foldout menus
1903 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=386&cHash=f69ab462e2";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=386&cHash=f69ab462e2 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:170;s:13:"content_lines";i:10;s:6:"atLine";i:78;}i:3;a:7:{s:6:"header";s:25:"function extProc_init()  {";s:11:"parentClass";s:19:"tslib_gmenu_foldout";s:4:"cDat";a:3:{s:4:"text";s:57:"
1904
1905 Initializing, setting internal variables (prefixed WM)
1906 ";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:552;s:13:"content_lines";i:13;s:6:"atLine";i:94;}i:5;a:7:{s:6:"header";s:38:"function extProc_beforeLinking($key)  {";s:11:"parentClass";s:19:"tslib_gmenu_foldout";s:4:"cDat";a:3:{s:4:"text";s:116:"
1907
1908 Processing before the links are created.
1909 Basically this is setting an onclick handler for clicking the menu item.
1910 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:453;s:13:"content_lines";i:10;s:6:"atLine";i:115;}i:7;a:4:{s:6:"header";s:37:"function extProc_afterLinking($key)    {";s:11:"parentClass";s:19:"tslib_gmenu_foldout";s:4:"cDat";a:3:{s:4:"text";s:136:"
1911
1912 Processing after linking, basically setting the <div>-layers for the menu items and possibly wrapping in table, adding bullet images.
1913 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:6:"atLine";i:132;}i:9;a:7:{s:6:"header";s:27:"function extProc_finish()       {";s:11:"parentClass";s:19:"tslib_gmenu_foldout";s:4:"cDat";a:3:{s:4:"text";s:88:"
1914
1915 Putting things together, in particular the JavaScript code needed for the DHTML menu.
1916 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:98:"Empty string! (Since $GLOBALS['TSFE']->divSection is set with the <div>-sections used in the menu)";}}s:7:"content";s:0:"";s:12:"content_size";i:4914;s:13:"content_lines";i:88;s:6:"atLine";i:158;}}}s:14:"MD5_856d68ec1f";a:4:{s:8:"filename";s:36:"tslib/media/scripts/gmenu_layers.php";s:8:"filesize";i:19369;s:6:"header";a:5:{s:4:"text";s:240:"
1917
1918 Class extending tslib_gmenu for the creation of DHTML menus
1919 NOTICE: The contents of this class is made so that it can be copied EXACTLY AS IS to the tmenu_layers class! See noties in class (for BEGIN/END) and also "diff.xmenu_layers.txt"
1920 ";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:14:"@package TYPO3";i:2;s:17:"@subpackage tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66";i:4;s:26:"@see diff.xmenu_layers.txt";}s:11:"other_index";a:5:{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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66 ";}s:4:"@see";a:1:{i:0;s:22:"diff.xmenu_layers.txt ";}}}s:3:"DAT";a:9:{i:1;a:8:{s:6:"header";s:46:"class tslib_gmenu_layers extends tslib_gmenu {";s:5:"class";i:1;s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:5:{s:4:"text";s:240:"
1921
1922 Class extending tslib_gmenu for the creation of DHTML menus
1923 NOTICE: The contents of this class is made so that it can be copied EXACTLY AS IS to the tmenu_layers class! See noties in class (for BEGIN/END) and also "diff.xmenu_layers.txt"
1924 ";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:14:"@package TYPO3";i:2;s:17:"@subpackage tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66";i:4;s:26:"@see diff.xmenu_layers.txt";}s:11:"other_index";a:5:{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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66 ";}s:4:"@see";a:1:{i:0;s:22:"diff.xmenu_layers.txt ";}}}s:7:"content";s:0:"";s:12:"content_size";i:568;s:13:"content_lines";i:26;s:6:"atLine";i:82;}i:3;a:7:{s:6:"header";s:25:"function extProc_init() {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:101:"
1925
1926 Creating unique menu id string plus other initialization of internal variables (all prefixed "WM")
1927 ";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:633;s:13:"content_lines";i:11;s:6:"atLine";i:114;}i:5;a:7:{s:6:"header";s:27:"function extProc_RO($key)    {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:92:"
1928
1929 Processing of mouse-over features depending on whether "freezeMouseover" property is set.
1930 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:223:"Pointer to $this->menuArr[$key] where the current menu element record is found OR $this->result['RO'][$key] where the configuration for that elements RO version is found! Here it is used with the ->WMid to make unique names";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:446;s:13:"content_lines";i:8;s:6:"atLine";i:132;}i:7;a:7:{s:6:"header";s:38:"function extProc_beforeLinking($key)  {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:114:"
1931
1932 Processing before the links are created.
1933 This means primarily creating some javaScript code for the management.
1934 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:2625;s:13:"content_lines";i:44;s:6:"atLine";i:148;}i:9;a:7:{s:6:"header";s:37:"function extProc_afterLinking($key)   {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:123:"
1935
1936 Processing after linking, basically setting the <div>-layers for the menu items. Also some more JavaScript code is made.
1937 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1220;s:13:"content_lines";i:27;s:6:"atLine";i:199;}i:11;a:7:{s:6:"header";s:44:"function extProc_beforeAllWrap($item,$key)   {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:74:"
1938
1939 Wrapping the item in a <div> section if 'relativeToTriggerItem' was set
1940 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:72:"The current content of the menu item, $this->I['theItem'], passed along.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:66:"The modified version of $item, going back into $this->I['theItem']";}}s:7:"content";s:0:"";s:12:"content_size";i:328;s:13:"content_lines";i:6;s:6:"atLine";i:234;}i:13;a:7:{s:6:"header";s:27:"function isSetIntval($in)  {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:55:"
1941
1942 Returns true if different from ''  OR if intval()!=0
1943 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"Value to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:51:"true if $in is different from ''  OR if intval()!=0";}}s:7:"content";s:0:"";s:12:"content_size";i:78;s:13:"content_lines";i:3;s:6:"atLine";i:247;}i:15;a:4:{s:6:"header";s:28:"function extProc_finish ()     {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:88:"
1944
1945 Putting things together, in particular the JavaScript code needed for the DHTML menu.
1946 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:77:"Returns the value of a call to the parent function, parent::extProc_finish();";}}s:6:"atLine";i:256;}i:17;a:7:{s:6:"header";s:46:"function extCalcBorderWithin($kind,$integer)  {";s:11:"parentClass";s:18:"tslib_gmenu_layers";s:4:"cDat";a:5:{s:4:"text";s:133:"
1947
1948 Creates a JavaScript line which corrects the position of the layer based on the constraints in TypoScript property 'bordersWithin'
1949 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"Direction to test.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:99:"The boundary limit in the direction set by $kind. If set then a value is returned, otherwise blank.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:76:"JavaScript string for correction of the layer position (if $integer is true)";}s:5:"other";a:1:{i:0;s:37:"@see extProc_finish(), extProc_init()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:32:"extProc_finish(), extProc_init()";}}}s:7:"content";s:0:"";s:12:"content_size";i:880;s:13:"content_lines";i:27;s:6:"atLine";i:432;}}}s:14:"MD5_956a1831b0";a:4:{s:8:"filename";s:36:"tslib/media/scripts/plaintextLib.inc";s:8:"filesize";i:22290;s:6:"header";a:5:{s:4:"text";s:1045:"
1950
1951 Alternative rendering of content elements for Plain Text emails. That means text-only output. No HTML at all. Used by the Direct Mail extension.
1952 Normally the plain text output should appear with type=99. 
1953 To use this library you can include the static template "plugin.alt.plaintext"
1954
1955 ## Insert DMailer Boundaries for all elements.
1956 config.insertDmailerBoundaries = 1
1957 includeLibs.plaintextLib = media/scripts/plaintextLib.inc
1958
1959 ## Set up page/type number:
1960 alt_plaintext >
1961 alt_plaintext = PAGE
1962 alt_plaintext.typeNum=99
1963 alt_plaintext.config.disableAllHeaderCode = 1
1964 alt_plaintext.10 = TEMPLATE
1965 alt_plaintext.10 {
1966   template = FILE
1967   template.file = {$plugin.alt.plaintext.file.template}
1968   marks.CONTENT < styles.content.get
1969   marks.CONTENT.renderObj = < lib.alt_plaintext.renderObj
1970   marks.DATE = TEXT
1971   marks.DATE.data = date:U
1972   marks.DATE.strftime = %e. %B %Y
1973 }
1974
1975 (And then also "lib.alt_plaintext.renderObj" is configured extensively - basically with the TypoScript options passed to this class. See the static template "plugin.alt.plaintext")
1976 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=398&cHash=e3024de334";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=398&cHash=e3024de334 ";}}}s:3:"DAT";a:25:{i:1;a:8:{s:6:"header";s:22:"class user_plaintext {";s:5:"class";i:1;s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:5:{s:4:"text";s:1045:"
1977
1978 Alternative rendering of content elements for Plain Text emails. That means text-only output. No HTML at all. Used by the Direct Mail extension.
1979 Normally the plain text output should appear with type=99. 
1980 To use this library you can include the static template "plugin.alt.plaintext"
1981
1982 ## Insert DMailer Boundaries for all elements.
1983 config.insertDmailerBoundaries = 1
1984 includeLibs.plaintextLib = media/scripts/plaintextLib.inc
1985
1986 ## Set up page/type number:
1987 alt_plaintext >
1988 alt_plaintext = PAGE
1989 alt_plaintext.typeNum=99
1990 alt_plaintext.config.disableAllHeaderCode = 1
1991 alt_plaintext.10 = TEMPLATE
1992 alt_plaintext.10 {
1993   template = FILE
1994   template.file = {$plugin.alt.plaintext.file.template}
1995   marks.CONTENT < styles.content.get
1996   marks.CONTENT.renderObj = < lib.alt_plaintext.renderObj
1997   marks.DATE = TEXT
1998   marks.DATE.data = date:U
1999   marks.DATE.strftime = %e. %B %Y
2000 }
2001
2002 (And then also "lib.alt_plaintext.renderObj" is configured extensively - basically with the TypoScript options passed to this class. See the static template "plugin.alt.plaintext")
2003 ";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 tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=398&cHash=e3024de334";}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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=398&cHash=e3024de334 ";}}}s:7:"content";s:0:"";s:12:"content_size";i:55;s:13:"content_lines";i:4;s:6:"atLine";i:121;}i:3;a:7:{s:6:"header";s:41:"function main_plaintext($content,$conf)   {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:284:"
2004
2005 Main function, called from TypoScript
2006 A content object that renders "tt_content" records. See the comment to this class for TypoScript example of how to trigger it.
2007 This detects the CType of the current content element and renders it accordingly. Only wellknown types are rendered.
2008 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Empty, ignore.";}i:1;a:2:{i:0;s:5:"array";i:1;s:59:"TypoScript properties for this content object/function call";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:18:"Plain text content";}}s:7:"content";s:0:"";s:12:"content_size";i:1874;s:13:"content_lines";i:66;s:6:"atLine";i:135;}i:5;a:7:{s:6:"header";s:27:"function getMenuSitemap()        {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:25:"
2009
2010 Creates a menu/sitemap
2011 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}}s:7:"content";s:0:"";s:12:"content_size";i:209;s:13:"content_lines";i:5;s:6:"atLine";i:207;}i:7;a:7:{s:6:"header";s:24:"function getShortcut()       {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:40:"
2012
2013 Creates a shortcut ("Insert Records")
2014 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}}s:7:"content";s:0:"";s:12:"content_size";i:107;s:13:"content_lines";i:4;s:6:"atLine";i:218;}i:9;a:7:{s:6:"header";s:32:"function getHTML($str=array())       {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:53:"
2015
2016 Creates an HTML element (stripping tags of course)
2017 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:73:"HTML content to process. If not passed along, the bodytext field is used.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}}s:7:"content";s:0:"";s:12:"content_size";i:152;s:13:"content_lines";i:3;s:6:"atLine";i:229;}i:11;a:7:{s:6:"header";s:22:"function getHeader()        {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:5:{s:4:"text";s:44:"
2018
2019 Creates a header (used for most elements)
2020 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}s:5:"other";a:1:{i:0;s:19:"@see renderHeader()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"renderHeader() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:113;s:13:"content_lines";i:4;s:6:"atLine";i:239;}i:13;a:7:{s:6:"header";s:22:"function getImages()  {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:56:"
2021
2022 Get images found in the "image" field of "tt_content"
2023 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}}s:7:"content";s:0:"";s:12:"content_size";i:186;s:13:"content_lines";i:4;s:6:"atLine";i:249;}i:15;a:7:{s:6:"header";s:26:"function parseBody($str)    {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:81:"
2024
2025 Parsing the bodytext field content, removing typical entities and <br /> tags.
2026 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:29:"Field content from "bodytext"";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed content";}}s:7:"content";s:0:"";s:12:"content_size";i:529;s:13:"content_lines";i:14;s:6:"atLine";i:260;}i:17;a:7:{s:6:"header";s:60:"function renderUploads($str,$upload_path='uploads/media/')  {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:45:"
2027
2028 Creates a list of links to uploaded files.
2029 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:66:"List of uploaded filenames from "uploads/media/" (or $upload_path)";}i:1;a:2:{i:0;s:6:"string";i:1;s:22:"Alternative path value";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}}s:7:"content";s:0:"";s:12:"content_size";i:299;s:13:"content_lines";i:10;s:6:"atLine";i:282;}i:19;a:7:{s:6:"header";s:37:"function renderHeader($str,$type=0)  {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:98:"
2030
2031 Renders a content element header, observing the layout type giving different header formattings
2032 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"The header string";}i:1;a:2:{i:0;s:7:"integer";i:1;s:54:"The layout type of the header (in the content element)";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}}s:7:"content";s:0:"";s:12:"content_size";i:1775;s:13:"content_lines";i:41;s:6:"atLine";i:300;}i:21;a:7:{s:6:"header";s:40:"function pad($lines,$preLineChar,$len)      {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:5:{s:4:"text";s:106:"
2033
2034 Function used to repeat a char pattern in head lines (like if you want "********" above/below a header)
2035 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:5:"array";i:1;s:69:"Array of existing lines to which the new char-pattern should be added";}i:1;a:2:{i:0;s:6:"string";i:1;s:47:"The character pattern to repeat. Default is "-"";}i:2;a:2:{i:0;s:7:"integer";i:1;s:77:"The length of the line. $preLineChar will be repeated to fill in this length.";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:38:"The input array with a new line added.";}s:5:"other";a:1:{i:0;s:19:"@see renderHeader()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:15:"renderHeader() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:186;s:13:"content_lines";i:8;s:6:"atLine";i:351;}i:23;a:7:{s:6:"header";s:29:"function breakContent($str)      {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:5:{s:4:"text";s:100:"
2036
2037 Function used to wrap the bodytext field content (or image caption) into lines of a max length of
2038 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:20:"The content to break";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Processed value.";}s:5:"other";a:1:{i:0;s:35:"@see main_plaintext(), breakLines()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:30:"main_plaintext(), breakLines()";}}}s:7:"content";s:0:"";s:12:"content_size";i:196;s:13:"content_lines";i:9;s:6:"atLine";i:367;}i:25;a:7:{s:6:"header";s:32:"function breakBulletlist($str)    {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:42:"
2039
2040 Breaks content lines into a bullet list
2041 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:41:"Content string to make into a bullet list";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:15:"Processed value";}}s:7:"content";s:0:"";s:12:"content_size";i:807;s:13:"content_lines";i:24;s:6:"atLine";i:383;}i:27;a:7:{s:6:"header";s:27:"function breakTable($str) {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:114:"
2042
2043 Formatting a table in plain text (based on the paradigm of lines being content rows and cells separated by "|")
2044 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Content string";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:15:"Processed value";}}s:7:"content";s:0:"";s:12:"content_size";i:1124;s:13:"content_lines";i:43;s:6:"atLine";i:414;}i:29;a:7:{s:6:"header";s:61:"function addDiv($messure,$content,$divChar,$joinChar,$cols) {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:6:{s:4:"text";s:72:"
2045
2046 Subfunction for breakTable(): Adds a divider line between table rows.
2047 ";s:5:"param";a:5:{i:0;a:2:{i:0;s:5:"array";i:1;s:28:"Some information about sizes";}i:1;a:2:{i:0;s:6:"string";i:1;s:13:"Empty string.";}i:2;a:2:{i:0;s:6:"string";i:1;s:52:"Character to use for the divider line, typically "-"";}i:3;a:2:{i:0;s:6:"string";i:1;s:29:"Join character, typically "+"";}i:4;a:2:{i:0;s:7:"integer";i:1;s:23:"Number of table columns";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:26:"Divider line for the table";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:17:"@see breakTable()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"breakTable() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:176;s:13:"content_lines";i:7;s:6:"atLine";i:470;}i:31;a:7:{s:6:"header";s:37:"function traverseTable($tableLines)    {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:6:{s:4:"text";s:98:"
2048
2049 Traverses the table lines/cells and creates arrays with statistics for line numbers and lengths
2050 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:5:"array";i:1;s:53:"Array with [table rows] [table cells] [lines in cell]";}}s:6:"return";a:2:{i:0;s:5:"array";i:1;s:30:"Statistics (max lines/lengths)";}s:6:"access";s:7:"private";s:5:"other";a:1:{i:0;s:17:"@see breakTable()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:13:"breakTable() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:398;s:13:"content_lines";i:16;s:6:"atLine";i:486;}i:33;a:7:{s:6:"header";s:74:"function renderImages($str,$links,$caption,$upload_path='uploads/pics/')    {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:5:{s:4:"text";s:80:"
2051
2052 Render block of images - which means creating lines with links to the images.
2053 ";s:5:"param";a:4:{i:0;a:2:{i:0;s:6:"string";i:1;s:66:"List of image filenames (from "image" field in tt_content records)";}i:1;a:2:{i:0;s:6:"string";i:1;s:60:"Link value from the "image_link" field in tt_content records";}i:2;a:2:{i:0;s:6:"string";i:1;s:12:"Caption text";}i:3;a:2:{i:0;s:6:"string";i:1;s:54:"Alternative relative path for the files listed in $str";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:7:"Content";}s:5:"other";a:1:{i:0;s:16:"@see getImages()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"getImages() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:986;s:13:"content_lines";i:32;s:6:"atLine";i:513;}i:35;a:7:{s:6:"header";s:23:"function getLink($ll)  {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:41:"
2054
2055 Returns a typolink URL based on input.
2056 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:21:"Parameter to typolink";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:124:"The URL returned from $this->cObj->getTypoLink_URL(); - possibly it prefixed with the URL of the site if not present already";}}s:7:"content";s:0:"";s:12:"content_size";i:152;s:13:"content_lines";i:7;s:6:"atLine";i:552;}i:37;a:7:{s:6:"header";s:55:"function breakLines($str,$implChar="\n",$charWidth=0)    {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:5:{s:4:"text";s:80:"
2057
2058 Breaking lines into fixed length lines, using t3lib_div::breakLinesForEmail()
2059 ";s:5:"param";a:3:{i:0;a:2:{i:0;s:6:"string";i:1;s:19:"The string to break";}i:1;a:2:{i:0;s:6:"string";i:1;s:20:"Line break character";}i:2;a:2:{i:0;s:7:"integer";i:1;s:44:"Length of lines, default is $this->charWidth";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:16:"Processed string";}s:5:"other";a:1:{i:0;s:36:"@see t3lib_div::breakLinesForEmail()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:32:"t3lib_div::breakLinesForEmail() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:100;s:13:"content_lines";i:3;s:6:"atLine";i:569;}i:39;a:7:{s:6:"header";s:26:"function getString($str) {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:4:{s:4:"text";s:218:"
2060
2061 Explodes a string with "|" and if the second part is found it will return this, otherwise the first part.
2062 Used for many TypoScript properties used in this class since they need preceeding whitespace to be preserved.
2063 ";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:6:"access";s:7:"private";}s:7:"content";s:0:"";s:12:"content_size";i:86;s:13:"content_lines";i:4;s:6:"atLine";i:581;}i:41;a:7:{s:6:"header";s:42:"function userProcess($mConfKey,$passVar)        {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:47:"
2064
2065 Calls a user function for processing of data
2066 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:248:"TypoScript property name, pointing to the definition of the user function to call (from the TypoScript array internally in this class). This array is passed to the user function. Notice that "parentObj" property is a reference to this class ($this)";}i:1;a:2:{i:0;s:5:"mixed";i:1;s:19:"Variable to process";}}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:55:"The processed $passVar as returned by the function call";}}s:7:"content";s:0:"";s:12:"content_size";i:238;s:13:"content_lines";i:8;s:6:"atLine";i:593;}i:43;a:7:{s:6:"header";s:39:"function atag_to_http($content,$conf)      {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:5:{s:4:"text";s:210:"
2067
2068 Function used by TypoScript "parseFunc" to process links in the bodytext. 
2069 Extracts the link and shows it in plain text in a parathesis next to the link text. If link was relative the site URL was prepended.
2070 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Empty, ignore.";}i:1;a:2:{i:0;s:5:"array";i:1;s:21:"TypoScript parameters";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed output.";}s:5:"other";a:1:{i:0;s:16:"@see parseBody()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:12:"parseBody() ";}}}s:7:"content";s:0:"";s:12:"content_size";i:349;s:13:"content_lines";i:11;s:6:"atLine";i:611;}i:45;a:7:{s:6:"header";s:35:"function typolist($content,$conf)       {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:90:"
2071
2072 User function (called from TypoScript) for generating a bullet list (used in parsefunc)
2073 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Empty, ignore.";}i:1;a:2:{i:0;s:5:"array";i:1;s:21:"TypoScript parameters";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed output.";}}s:7:"content";s:0:"";s:12:"content_size";i:250;s:13:"content_lines";i:7;s:6:"atLine";i:630;}i:47;a:4:{s:6:"header";s:35:"function typohead($content,$conf)        {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:94:"
2074
2075 User function (called from TypoScript) for generating a typo header tag (used in parsefunc)
2076 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Empty, ignore.";}i:1;a:2:{i:0;s:5:"array";i:1;s:21:"TypoScript parameters";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed output.";}}s:6:"atLine";i:645;}i:49;a:7:{s:6:"header";s:35:"function typocode($content,$conf)        {";s:11:"parentClass";s:14:"user_plaintext";s:4:"cDat";a:3:{s:4:"text";s:91:"
2077
2078 User function (called from TypoScript) for generating a code listing (used in parsefunc)
2079 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:14:"Empty, ignore.";}i:1;a:2:{i:0;s:5:"array";i:1;s:21:"TypoScript parameters";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:17:"Processed output.";}}s:7:"content";s:0:"";s:12:"content_size";i:341;s:13:"content_lines";i:13;s:6:"atLine";i:664;}}}s:14:"MD5_59cecce4e3";a:4:{s:8:"filename";s:38:"tslib/media/scripts/testscript_EXT.php";s:8:"filesize";i:1034;s:6:"header";N;s:3:"DAT";a:1:{i:1;a:7:{s:6:"header";s:44:"function user_printTimeExt($content,$conf) {";s:11:"parentClass";s:0:"";s:4:"cDat";a:3:{s:4:"text";s:36:"
2080
2081 Printing current time dynamically
2082 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:16:"Content (ignore)";}i:1;a:2:{i:0;s:5:"array";i:1;s:31:"TypoScript configuration passed";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:50:"Current time wrapped in <font> tags with red color";}}s:7:"content";s:0:"";s:12:"content_size";i:632;s:13:"content_lines";i:47;s:6:"atLine";i:14;}}}s:14:"MD5_19c1edef93";a:4:{s:8:"filename";s:36:"tslib/media/scripts/tmenu_layers.php";s:8:"filesize";i:19360;s:6:"header";a:5:{s:4:"text";s:226:"
2083
2084 Class extending tslib_tmenu for the creation of text based DHTML menus
2085 NOTICE: The contents of this class is copied EXACTLY AS IS from gmenu_layers class! See noties in class (for BEGIN/END) and also 'diff.xmenu_layers.txt'
2086 ";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:14:"@package TYPO3";i:2;s:17:"@subpackage tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66";i:4;s:26:"@see diff.xmenu_layers.txt";}s:11:"other_index";a:5:{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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66 ";}s:4:"@see";a:1:{i:0;s:22:"diff.xmenu_layers.txt ";}}}s:3:"DAT";a:9:{i:1;a:8:{s:6:"header";s:46:"class tslib_tmenu_layers extends tslib_tmenu {";s:5:"class";i:1;s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:5:{s:4:"text";s:226:"
2087
2088 Class extending tslib_tmenu for the creation of text based DHTML menus
2089 NOTICE: The contents of this class is copied EXACTLY AS IS from gmenu_layers class! See noties in class (for BEGIN/END) and also 'diff.xmenu_layers.txt'
2090 ";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:14:"@package TYPO3";i:2;s:17:"@subpackage tslib";i:3;s:108:"@link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66";i:4;s:26:"@see diff.xmenu_layers.txt";}s:11:"other_index";a:5:{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:"tslib ";}s:5:"@link";a:1:{i:0;s:103:"http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=385&cHash=648519dd66 ";}s:4:"@see";a:1:{i:0;s:22:"diff.xmenu_layers.txt ";}}}s:7:"content";s:0:"";s:12:"content_size";i:571;s:13:"content_lines";i:27;s:6:"atLine";i:82;}i:3;a:7:{s:6:"header";s:25:"function extProc_init() {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:101:"
2091
2092 Creating unique menu id string plus other initialization of internal variables (all prefixed "WM")
2093 ";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:633;s:13:"content_lines";i:11;s:6:"atLine";i:115;}i:5;a:7:{s:6:"header";s:27:"function extProc_RO($key)    {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:92:"
2094
2095 Processing of mouse-over features depending on whether "freezeMouseover" property is set.
2096 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:223:"Pointer to $this->menuArr[$key] where the current menu element record is found OR $this->result['RO'][$key] where the configuration for that elements RO version is found! Here it is used with the ->WMid to make unique names";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:446;s:13:"content_lines";i:8;s:6:"atLine";i:133;}i:7;a:7:{s:6:"header";s:38:"function extProc_beforeLinking($key)  {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:114:"
2097
2098 Processing before the links are created.
2099 This means primarily creating some javaScript code for the management.
2100 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:2625;s:13:"content_lines";i:44;s:6:"atLine";i:149;}i:9;a:7:{s:6:"header";s:37:"function extProc_afterLinking($key)   {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:123:"
2101
2102 Processing after linking, basically setting the <div>-layers for the menu items. Also some more JavaScript code is made.
2103 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:4:"void";i:1;s:0:"";}}s:7:"content";s:0:"";s:12:"content_size";i:1220;s:13:"content_lines";i:27;s:6:"atLine";i:200;}i:11;a:7:{s:6:"header";s:44:"function extProc_beforeAllWrap($item,$key)   {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:74:"
2104
2105 Wrapping the item in a <div> section if 'relativeToTriggerItem' was set
2106 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:72:"The current content of the menu item, $this->I['theItem'], passed along.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:78:"Pointer to $this->menuArr[$key] where the current menu element record is found";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:66:"The modified version of $item, going back into $this->I['theItem']";}}s:7:"content";s:0:"";s:12:"content_size";i:328;s:13:"content_lines";i:6;s:6:"atLine";i:235;}i:13;a:7:{s:6:"header";s:27:"function isSetIntval($in)  {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:55:"
2107
2108 Returns true if different from ''  OR if intval()!=0
2109 ";s:5:"param";a:1:{i:0;a:2:{i:0;s:6:"string";i:1;s:17:"Value to evaluate";}}s:6:"return";a:2:{i:0;s:7:"boolean";i:1;s:51:"true if $in is different from ''  OR if intval()!=0";}}s:7:"content";s:0:"";s:12:"content_size";i:78;s:13:"content_lines";i:3;s:6:"atLine";i:248;}i:15;a:4:{s:6:"header";s:28:"function extProc_finish ()     {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:3:{s:4:"text";s:88:"
2110
2111 Putting things together, in particular the JavaScript code needed for the DHTML menu.
2112 ";s:5:"param";a:0:{}s:6:"return";a:2:{i:0;s:5:"mixed";i:1;s:77:"Returns the value of a call to the parent function, parent::extProc_finish();";}}s:6:"atLine";i:257;}i:17;a:7:{s:6:"header";s:46:"function extCalcBorderWithin($kind,$integer)  {";s:11:"parentClass";s:18:"tslib_tmenu_layers";s:4:"cDat";a:5:{s:4:"text";s:133:"
2113
2114 Creates a JavaScript line which corrects the position of the layer based on the constraints in TypoScript property 'bordersWithin'
2115 ";s:5:"param";a:2:{i:0;a:2:{i:0;s:6:"string";i:1;s:18:"Direction to test.";}i:1;a:2:{i:0;s:7:"integer";i:1;s:99:"The boundary limit in the direction set by $kind. If set then a value is returned, otherwise blank.";}}s:6:"return";a:2:{i:0;s:6:"string";i:1;s:76:"JavaScript string for correction of the layer position (if $integer is true)";}s:5:"other";a:1:{i:0;s:37:"@see extProc_finish(), extProc_init()";}s:11:"other_index";a:1:{s:4:"@see";a:1:{i:0;s:32:"extProc_finish(), extProc_init()";}}}s:7:"content";s:0:"";s:12:"content_size";i:882;s:13:"content_lines";i:27;s:6:"atLine";i:433;}}}s:14:"MD5_9613367ca4";a:4:{s:8:"filename";s:37:"tslib/media/scripts/wapversionLib.inc";s:8:"filesize";i:14672;s:6:"header";a:5:{s:4:"text";s:1338:"
2116
2117 Class that creates the current page and content element records as an WML structure using the library "t3lib_xml"
2118 It is demonstrated in use in the testsite package on page "59"
2119 The static template "plugin.alt.wap" is used to trigger this WML creation as well. That template contains this set of TypoScript lines which triggers the WML creation and disables all regular HTML headers
2120
2121 ## Set up page/type:
2122 alt_wap >
2123 alt_wap = PAGE
2124 alt_wap {
2125   typeNum=97
2126   config.disableAllHeaderCode = 1
2127   config.additionalHeaders = Content-type: text/vnd.wap.wml
2128
2129   ## Includes the newsLib:
2130   includeLibs.alt_wap = media/scripts/wapversionLib.inc
2131
2132   ## Inserting the USER cObject for WAP/XML rendering
2133   10 = USER
2134   10 {
2135     userFunc = user_wapversion->main_wapversion
2136     debug=0
2137     preTitle = T3WAP
2138     navLabels.prev = Prev
2139     navLabels.next = Next
2140     navLabels.up = Up
2141   }
2142 }
2143  
2144 NOTICE:
2145  
2146 In the static template "plugin.alt.wap" there is a part in the end looking like this:
2147
2148 ## If the browser is a WAP-device,
2149 [device=wap]
2150 alt_wap.typeNum=0
2151 [global]
2152
2153 This means that IF the device coming to the URL is a WAP device they will get wap content even if they don't specify "&type=97" since the typeNum is changed to zero here!
2154 In fact they CANNOT get any wap-content at "&type=97" anymore! This has been a source of error and confusion for many people
2155 ";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:14:"@package TYPO3";i:1;s:17:"@subpackage tslib";i:2;s:42:"@author Kasper Skaarhoj <kasper@typo3.com>";}s:11:"other_index";a:3:{s:8:"@package";a:1:{i:0;s:6:"TYPO3 ";}s:11:"@subpackage";a:1:{i:0;s:6:"tslib ";}s:7:"@author";a:1:{i:0;s:34:"Kasper Skaarhoj <kasper@typo3.com>";}}}s:3:"DAT";a:15:{i:1;a:8:{s:6:"header";s:23:"class user_wapversion {";s:5:"class";i:1;s:11:"parentClass";s:15:"user_wapversion";s:4:"cDat";a:5:{s:4:"text";s:1338:"
2156