Commit 3208b567 authored by Kasper Skårhøj's avatar Kasper Skårhøj
Browse files

*** empty log message ***


git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@117 709f56b5-9817-0410-a4d7-c38de5d9e867
parent 9cbe96d1
......@@ -80,6 +80,7 @@ TCEmain/TCEforms for FlexForms:
- mapping values to a plain-text search field(s)
- Offering API functions for add/delete/move/copy
- Cleaning the original data in field since this may have an invalid structure if the data structure has changed in the meantime.
- Possibility to write the XML data values into a table instead (see Marc Schlingers idea, stored on paper in my red organizer).
- TCEforms:
- Support for checkboxes which can expand/collapse sections/containers? fold-in, fold-out, passing a list of fields to show (with sub-levels for horizontal display).
- Visual interface for forms, DHTML for sheets etc, various sheet modes, language menu form.
......@@ -166,11 +167,11 @@ Element Browser:
Wizards:
- Finish the colorpicker! Some other person can be in charge of this (See "APPENDIX: Colorpicker")
- Add wizard icon to TSconfig and Setup/Constants fields for immediate syntax highlighting (in popup window)
- Add wizard icon to see/clean up FlexForm data?
- wizard_add, _edit and _list can be used fantastic to lead the user through multiple 1:n relations but than he starts to be confused if the records he created apear somewhere else, tries to edit them directly there, relations get lost, phone rings. (Peter K?hn).
- forms and table wizards should be configurable for making XML structures alternatively to the currently formatting.
- forms and table wizards should be configurable for making XML structures alternatively to the currently formatting (programming wise ok, needs implementation)
Interface:
- Icons (see Bugs/Additions folder)
- Showing in "frameset-modules" which submodule you are currently inside. And ability to change submodule in the rightmost frame anyways - maybe as a panel in top of the pages (must be cached so all submodules must not be loaded each time...)? (Message-ID: <3ADE655892793D499E2FBF623045AF4B54E9A4@dbwdfx2f.wdf.sap-ag.de>)
- Ability to create another Main/sub module structure in the backend (Daniel H: Message-ID: <BAB9A920.E95D%daniel@typo3.com>)
- Change order, level, title, icon.
......@@ -196,12 +197,10 @@ Web>List:
- Support for "grouping": - eg. tt_content elements are grouped by "column" + "language". This should be reflected in the LISTING order (before ordered by the "sorting" column) OR maybe in a hierarchical display?
- Support for tree-tables (that can be browsed).
- Support for a "tree-group" -> a chain of tables which are displayed in a tree since each table has a config for a parent field in a former table. (Eg. DS: brand -> domain -> product).
- BUG: no label when copying an item into the Web>List module...
- FlexForm tree view / editing:
- When a record contains a FlexForm the web>List module could display the fields inside in a nice tree structure which one could expand/collapse! Then by clicking "edit" for a brand you get an interface where you can edit *that branch* of the flexform! Brilliant way to manage large structures inside of flexforms!
- Can you picture it? That would be like expanding an XML document by a node-tree and add/edit/delete/rearrange any of the internal informational pieces!
File>List:
- BUG: UNIX: "RW" flag looks only on the permissions for the USER - not the group. So even if PHP via the group of a file can delete it, it is reported that it cannot.
......@@ -209,16 +208,16 @@ History/Undo:
- Must present a page/content element view, so a page with content elements can be restored as a whole
- Undo must be able to restore attached files as well
- Should be possible to disable for certain tables (can it be done already with TSconfig?)
- Delete saved states (and save whole record content).
- Need to implement the diff-feature for windows as well (that is set configuration)
- Delete saved states (and save whole record content).
- Need to implement the diff-feature for windows as well (that is; set configuration)
LDAP support:
- See "APPENDIX: LDAP"
DBAL:
- Next step: Create PHP-test scripts which performs 98% of the SQL operations we need in TYPO3 and then let people try to implement this; We will then know about all the obstacles first-hand before we do any efforts to implement it.
- See "APPENDIX: DBAL" for Kaspers internal notes on the subject.
- "TCEmain/Multiple DBs" as well.
- See "APPENDIX: DBAL" for Kaspers internal notes on the subject + project description on TYPO3.org
- "TCEmain/Multiple DBs" as well
- MySQL practice: "Maybe it's a good idea to quote all table and column names in later versions of typo3 to avoid further problems like this one." (Message-ID: <mailman.1052907363.19535.typo3-english@lists.netfielders.de>) Also good for DBAL? + create API functions for making INSERT/UPDATE query strings.
EM:
......@@ -266,24 +265,20 @@ EM:
- Check mailbox for more... ?
- Related: The KickStarter Wizard, in particular a) cleaner code output, b) merging updates.
The REGEX-{} problem:
- BUG: Regexs; "Warning: Unmatched \{ in /home/sites/site14/typo3_src-3.5b3/typo3/mod/tools/em/index.php on line 1983" which is a ereg with { WITHOUT preceeding slash! (Message-ID: <003c01c275aa$c0c60c10$e3a1a33e@pentiumriv4v9a>, Message-ID: <20030729082437.79900.qmail@web11305.mail.yahoo.com>)
Install/Servers:
- FIX: Check safe_mode? Check open_base_dir? (Message-ID: <B9B8E356.1CE0%typo3@ilveneto.net>)
- FIX: To get PHP to handle PATH_INFO and PATH_TRANSLATED information correctly with this setup, the php parser should be compiled with the --enable-discard-path configure option.
- FIX: The "php_sapi_name()=="cgi"||php_sapi_name()=="isapi"" problems (Message-ID: <ADEEJCHPNMOFKAAOJJKKCEKMCAAA.martin.kokes@sitewell.cz>, Message-ID: <200304071146520757.0097D495@smtp.worldonline.dk>, Message-ID: <BACDA028.F428%daniel@typo3.com>)
- CHECK: MD5 problem on Apache/Windows (Message-ID: <001901c26aeb$99db4c60$a9695651@NIGELJ>)
- CHECK: MD5 problem on Apache/Windows (Message-ID: <001901c26aeb$99db4c60$a9695651@NIGELJ>) - maybe OK now because of "rb" flag?
- CHECK: Security: Can HTTP_SERVER_VARS be overridden from URL if global vars are enabled???
- [Ask Michael Stucki for an overview of bugs...?]
- TYPO3_PORT bug (Message-ID: <005f01c2df3f$4006db00$0100a8c0@knoell>)
- BUG: open_base_dir problem with tempnam() (affects: tidy, diff, new resource textfiles created in Web>Template/Info, Indexer (using temp-name for input from pdftotext)
-> Renes t3lib_exec class useful here?
BE Language:
- There are a few mails in the Translations mail folder. These files contains some translations which must be integrated manually...
Filepermissions of source:
- Test that these permissions work OK:
- chmod 555 typo3_src/ -R
......
......@@ -185,6 +185,43 @@ class t3lib_cs {
KS C 5601 (EUC-KR)
*/
// TYPO3 specific: Array with the system charsets used for each system language in TYPO3:
// Empty values means "iso-8859-1"
var $charSetArray = array(
'dk' => '',
'de' => '',
'no' => '',
'it' => '',
'fr' => '',
'es' => '',
'nl' => '',
'cz' => 'windows-1250',
'pl' => 'iso-8859-2',
'si' => 'windows-1250',
'fi' => '',
'tr' => 'iso-8859-9',
'se' => '',
'pt' => '',
'ru' => 'windows-1251',
'ro' => 'iso-8859-2',
'ch' => 'gb2312',
'sk' => 'windows-1250',
'lt' => 'windows-1257',
'is' => 'utf-8',
'hr' => 'windows-1250',
'hu' => 'iso-8859-2',
'gl' => '',
'th' => 'iso-8859-11',
'gr' => 'iso-8859-7',
'hk' => 'big5',
'eu' => '',
'bg' => 'windows-1251',
'br' => '',
'et' => 'iso-8859-4',
'ar' => 'iso-8859-6',
'he' => 'utf-8',
'ua' => 'windows-1251',
);
/**
* Normalize - changes input character set to lowercase letters.
......@@ -194,8 +231,8 @@ class t3lib_cs {
* @author Martin Kutschker <martin.t.kutschker@blackbox.net>
*/
function parse_charset($charset) {
$encoding = strtolower($charset);
if (isset($synonyms[$charset])) $encoding = $synonyms[$charset];
$charset = strtolower($charset);
if (isset($this->synonyms[$charset])) $charset = $this->synonyms[$charset];
return $charset;
}
......
......@@ -458,7 +458,8 @@ class t3lib_parsehtml {
$tagStack=array();
while(list(,$tok)=each($tokArr)) {
$firstChar = substr($tok,0,1);
if (strcmp(trim($firstChar),'')) { // It is a tag...
# if (strcmp(trim($firstChar),'')) { // It is a tag...
if (ereg('[[:alnum:]\/]',$firstChar)) { // It is a tag... (first char is a-z0-9 or /) (fixed 19/01 2004)
$tagEnd = strcspn($tok,'>');
if (strlen($tok)!=$tagEnd) { // If there is and end-bracket...
$endTag = $firstChar=='/' ? 1 : 0;
......
......@@ -155,13 +155,27 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
if ($this->extAdmModuleEnabled('info')) $out.= $this->extGetCategory_info();
}
$header.='<tr><td bgcolor="#9BA1A8" colspan="2" nowrap="nowrap">';
$header.=$this->extItemLink('top','<img src="t3lib/gfx/ol/'.($this->uc['TSFE_adminConfig']['display_top']?'minus':'plus').'bullet.gif" width="18" height="16" align="absmiddle" border="0" alt="" />'.
$this->extFw('<strong>'.$this->extGetLL('adminOptions').'</strong>')).$this->extFw(': '.$this->user['username']).
'</td><td bgcolor="#9BA1A8"><img src="clear.gif" width="10" height="1" alt="" /></td><td bgcolor="#9BA1A8"><input type="hidden" name="TSFE_ADMIN_PANEL[display_top]" value="'.$this->uc['TSFE_adminConfig']['display_top'].'" />'.($this->extNeedUpdate?'<input type="submit" value="'.$this->extGetLL('update').'" />':'').'</td></tr>';
$header.='
<tr class="typo3-adminPanel-hRow" bgcolor="#9BA1A8">
<td colspan="2" nowrap="nowrap">'.
$this->extItemLink('top','<img src="t3lib/gfx/ol/'.($this->uc['TSFE_adminConfig']['display_top']?'minus':'plus').'bullet.gif" width="18" height="16" align="absmiddle" border="0" alt="" /><strong>'.$this->extFw($this->extGetLL('adminOptions')).'</strong>').
$this->extFw(': '.$this->user['username']).
'</td>
<td><img src="clear.gif" width="10" height="1" alt="" /></td>
<td><input type="hidden" name="TSFE_ADMIN_PANEL[display_top]" value="'.$this->uc['TSFE_adminConfig']['display_top'].'" />'.($this->extNeedUpdate?'<input type="submit" value="'.$this->extGetLL('update').'" />':'').'</td>
</tr>';
$out='
<!--
ADMIN PANEL
-->
<a name="TSFE_ADMIN"></a>
<form name="TSFE_ADMIN_PANEL_FORM" action="'.htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI')).'#TSFE_ADMIN" method="post" style="margin: 0 0 0 0;">
<table border="0" cellpadding="0" cellspacing="0" class="typo3-adminPanel" bgcolor="#F6F2E6" border="1" bordercolor="black">'.
$header.$out.'
</table>
</form>';
$out='<form name="TSFE_ADMIN_PANEL_FORM" action="'.htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI')).'#TSFE_ADMIN" method="post" style="margin: 0 0 0 0;"><table border="0" cellpadding="0" cellspacing="0" bgcolor="#F6F2E6">'.$header.$out.'</table></form>';
$out='<a name="TSFE_ADMIN"></a><table border="0" cellpadding="1" cellspacing="0" bgcolor="black"><tr><td>'.$out.'</td></tr></table>';
if ($this->uc['TSFE_adminConfig']['display_top']) {
$out.='<script type="text/javascript" src="t3lib/jsfunc.evalfield.js"></script>';
$out.='
......@@ -481,7 +495,10 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
$out.='<img src="t3lib/gfx/ol/'.($this->uc['TSFE_adminConfig']['display_'.$pre]?'minus':'plus').'bullet.gif" width="18" height="16" align="absmiddle" border="0" alt="" />';
$out.=$this->extFw($this->extGetLL($pre));
$out=$this->extItemLink($pre,$out);
return '<tr><td bgcolor="#ABBBB4" colspan="4" nowrap="nowrap">'.$out.'<input type="hidden" name="TSFE_ADMIN_PANEL[display_'.$pre.']" value="'.$this->uc['TSFE_adminConfig']['display_'.$pre].'" /></td></tr>';
return '
<tr class="typo3-adminPanel-itemHRow" bgcolor="#ABBBB4">
<td colspan="4" nowrap="nowrap">'.$out.'<input type="hidden" name="TSFE_ADMIN_PANEL[display_'.$pre.']" value="'.$this->uc['TSFE_adminConfig']['display_'.$pre].'" /></td>
</tr>';
}
/**
......@@ -510,12 +527,13 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
* @see extGetHead()
*/
function extGetItem($pre,$element) {
return '<tr>
<td><img src="clear.gif" width="50" height="1" alt="" /></td>
<td nowrap="nowrap">'.($pre ? $this->extFw($this->extGetLL($pre)) : '&nbsp;').'</td>
<td><img src="clear.gif" width="10" height="1" alt="" /></td>
<td>'.$element.'</td>
</tr>';
return '
<tr class="typo3-adminPanel-itemRow">
<td><img src="clear.gif" width="50" height="1" alt="" /></td>
<td nowrap="nowrap">'.($pre ? $this->extFw($this->extGetLL($pre)) : '&nbsp;').'</td>
<td><img src="clear.gif" width="10" height="1" alt="" /></td>
<td>'.$element.'</td>
</tr>';
}
......@@ -526,7 +544,7 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
* @return string
*/
function extFw($str) {
return '<font face="Verdana" size="1" color="black"'.($GLOBALS['CLIENT']['FORMSTYLE']?' style="color:black;"':'').'>'.$str.'</font>';
return '<font face="verdana,arial" size="1" color="black">'.$str.'</font>';
}
/**
......
......@@ -209,7 +209,7 @@ define('TYPO3_extTableDef_script', $typo_db_extTableDef_script);
// - pages.lang item array (t3lib/stddb/tbl_be.php)
// - Kickstarter wizard (ext/extrep_wizard/pi/class.tx_extrepwizard.php)
// - Add new file: sysext/lang/locallang_core.[lang_key].php
// - Add character encoding for lang key in sysext/lang/lang.php class
// - Add character encoding for lang key in t3lib/class.t3lib_cs.php
define('TYPO3_languages', 'default|dk|de|no|it|fr|es|nl|cz|pl|si|fi|tr|se|pt|ru|ro|ch|sk|lt|is|hr|hu|gl|th|gr|hk|eu|bg|br|et|ar|he|ua');
// Unsetting the configured values. Use of these are depreciated.
......@@ -314,5 +314,5 @@ unset($LOCAL_LANG);
// Setting some global vars:
$EXEC_TIME = time(); // $EXEC_TIME is set so that the rest of the script has a common value for the script execution time
$SIM_EXEC_TIME = $EXEC_TIME; // $SIM_EXEC_TIME is set to $EXEC_TIME but can be altered later in the script if we want to simulate another execution-time when selecting from eg. a database
$TYPO_VERSION = '3.6.0RC1'; // TYPO3 version
$TYPO_VERSION = '3.6.0RC1'; // TYPO3 version
?>
\ No newline at end of file
......@@ -193,7 +193,7 @@ class SC_alt_main {
// Detecting the frameset module navigation frame widths (do this AFTER setting new timeout so that any errors in the code below does not prevent another time to be set!)
if (top && top.content && top.content.nav_frame && top.content.nav_frame.document) {
TS.navFrameWidth = top.content.nav_frame.document.documentElement.clientWidth ? top.content.nav_frame.document.documentElement.clientWidth : top.content.nav_frame.document.body.clientWidth;
TS.navFrameWidth = (top.content.nav_frame.document.documentElement && top.content.nav_frame.document.documentElement.clientWidth) ? top.content.nav_frame.document.documentElement.clientWidth : top.content.nav_frame.document.body.clientWidth;
}
}
......
......@@ -237,7 +237,9 @@ class alt_menu_functions {
if ($addJS && $GLOBALS['BE_USER']->uc['condensedMode']) {$addJS.= "+(cMR?'&cMR=1':'')";}
// Command for the selector box:
$JScmd = "top.content.location=top.getModuleUrl(top.TS.PATH_typo3+'".$this->wrapLinkWithAB($link)."'".$addJS.');';
$JScmd = "
top.content.location=top.getModuleUrl(top.TS.PATH_typo3+'".$this->wrapLinkWithAB($link)."'".$addJS.');
top.fsMod.currentMainLoaded="'.$moduleName.'";';
// If there is a frameset script in place:
if (!$GLOBALS['BE_USER']->uc['condensedMode'] && $moduleInfo['navFrameScript']) {
......
......@@ -213,14 +213,14 @@ class SC_index {
$this->content.=$TBE_TEMPLATE->wrapScriptTags('
// If the login screen is shown in the login_frameset window for re-login, then try to get the username of the current/former login from opening windows main frame:
if (parent.opener && parent.opener.TS && parent.opener.TS.username) {
if (parent.opener && parent.opener.TS && parent.opener.TS.username && document.loginform && document.loginform.username) {
document.loginform.username.value = parent.opener.TS.username;
}
// If for some reason there already is a username in the username for field, move focus to the password field:
if (document.loginform.username && document.loginform.username.value == "") {
document.loginform.username.focus();
} else {
} else if (document.loginform.p_field && document.loginform.p_field.type!="hidden") {
document.loginform.p_field.focus();
}
');
......
......@@ -59,8 +59,9 @@ H4 {
/* Preformatted text - not used so much in TYPO3 */
PRE {
font-family: mono-spaced;
font-size: 12px;
font-family: monospace;
font-size:11px;
margin: 0 0 0 0;
}
/* Links in general */
......@@ -363,7 +364,7 @@ TABLE.warningbox TD { padding: 20px 20px 20px 20px; font-weight: bold; }
.diff-r {color: red;}
.diff-g {color: green;}
IMG.absmiddle { vertical-align: middle; }
.smallCheckboxes { width:12; height:12; margin:0 0 0 0; }
.smallCheckboxes { width:12px; height:12px; margin:0 0 0 0; }
.uppercase { text-transform : uppercase; }
/* Permissions, green and red */
......
......@@ -3,6 +3,7 @@ General:
- Add a data type getting value from t3lib_div::getIndpVar() to "data" in TS
- Add a condition, "PIDInFullRootline"
- Add a data type "level" (general version of eg. "leveltitle") which defines the fieldname as second parameter (see Carlos suggestion in Message-ID: <mailman.1054748584.21635.typo3-features@lists.netfielders.de>)
- Add "doctype" setting from TS
- The feature "Get content from page" -> should that be active with "Standard" page type?
- Some way to show the previous content element in a column ONLY when default display is on (useful for plugins where the default listing normally uses the previous content element, but doesn't want it when showing some details etc.) - probably this is not possible to do well. FlexForms will probably be the long-term answer for many plugins.
- error-messages in TYPO3 (like "no template found") -> linking (config option)
......
......@@ -43,103 +43,103 @@
*
*
* 176: class tslib_fe
* 324: function tslib_fe($TYPO3_CONF_VARS, $id, $type, $no_cache='', $cHash='', $jumpurl='',$MP='',$RDCT='')
* 346: function connectToMySQL()
* 382: function sendRedirect()
* 326: function tslib_fe($TYPO3_CONF_VARS, $id, $type, $no_cache='', $cHash='', $jumpurl='',$MP='',$RDCT='')
* 348: function connectToMySQL()
* 384: function sendRedirect()
*
* SECTION: Initializing, resolving page id
* 422: function initFEuser()
* 477: function checkAlternativeIdMethods()
* 523: function clear_preview()
* 536: function determineId()
* 608: function fetch_the_id()
* 714: function getPageAndRootline()
* 776: function getPageShortcut($SC,$mode,$thisUid,$itera=20,$pageLog=array())
* 821: function checkRootlineForIncludeSection()
* 855: function checkEnableFields($row)
* 873: function checkPagerecordForIncludeSection($row)
* 885: function setIDfromArgV()
* 901: function getPageAndRootlineWithDomain($domainStartPage)
* 929: function findDomainRecord($recursive=0)
* 950: function pageNotFoundHandler($code,$header='')
* 972: function checkAndSetAlias()
* 987: function idPartsAnalyze($str)
* 424: function initFEuser()
* 479: function checkAlternativeIdMethods()
* 525: function clear_preview()
* 538: function determineId()
* 610: function fetch_the_id()
* 716: function getPageAndRootline()
* 778: function getPageShortcut($SC,$mode,$thisUid,$itera=20,$pageLog=array())
* 823: function checkRootlineForIncludeSection()
* 857: function checkEnableFields($row)
* 875: function checkPagerecordForIncludeSection($row)
* 887: function setIDfromArgV()
* 903: function getPageAndRootlineWithDomain($domainStartPage)
* 931: function findDomainRecord($recursive=0)
* 952: function pageNotFoundHandler($code,$header='')
* 974: function checkAndSetAlias()
* 989: function idPartsAnalyze($str)
*
* SECTION: Template and caching related functions.
* 1042: function makeCacheHash()
* 1063: function cHashParams($addQueryParams)
* 1082: function initTemplate()
* 1094: function getFromCache()
* 1149: function getHash()
* 1168: function getConfigArray()
* 1044: function makeCacheHash()
* 1065: function cHashParams($addQueryParams)
* 1086: function initTemplate()
* 1098: function getFromCache()
* 1153: function getHash()
* 1172: function getConfigArray()
*
* SECTION: Further initialization and data processing
* 1282: function getCompressedTCarray()
* 1319: function includeTCA($TCAloaded=1)
* 1346: function settingLanguage()
* 1386: function checkDataSubmission()
* 1411: function fe_tce()
* 1425: function locDataCheck($locationData)
* 1441: function sendFormmail()
* 1459: function checkJumpUrl()
* 1531: function jumpUrl()
* 1574: function setUrlIdToken()
* 1286: function getCompressedTCarray()
* 1323: function includeTCA($TCAloaded=1)
* 1349: function settingLanguage()
* 1389: function checkDataSubmission()
* 1414: function fe_tce()
* 1428: function locDataCheck($locationData)
* 1444: function sendFormmail()
* 1462: function checkJumpUrl()
* 1534: function jumpUrl()
* 1577: function setUrlIdToken()
*
* SECTION: Page generation; cache handling
* 1617: function isGeneratePage()
* 1627: function tempPageCacheContent()
* 1658: function realPageCacheContent()
* 1680: function setPageCacheContent($c,$d,$t)
* 1692: function clearPageCacheContent()
* 1702: function clearPageCacheContent_pidList($pidList)
* 1713: function setSysLastChanged()
* 1620: function isGeneratePage()
* 1630: function tempPageCacheContent()
* 1661: function realPageCacheContent()
* 1683: function setPageCacheContent($c,$d,$t)
* 1695: function clearPageCacheContent()
* 1705: function clearPageCacheContent_pidList($pidList)
* 1716: function setSysLastChanged()
*
* SECTION: Page generation; rendering and inclusion
* 1750: function generatePage_preProcessing()
* 1786: function generatePage_whichScript()
* 1798: function generatePage_postProcessing()
* 1856: function INTincScript()
* 1914: function INTincScript_loadJSCode()
* 1955: function isINTincScript()
* 1964: function isSearchIndexPage()
* 1973: function doXHTML_cleaning()
* 1753: function generatePage_preProcessing()
* 1789: function generatePage_whichScript()
* 1801: function generatePage_postProcessing()
* 1859: function INTincScript()
* 1917: function INTincScript_loadJSCode()
* 1958: function isINTincScript()
* 1967: function isSearchIndexPage()
* 1976: function doXHTML_cleaning()
*
* SECTION: Finished off; outputting, storing session data, statistics...
* 2005: function isOutputting()
* 2016: function processOutput()
* 2068: function isEXTincScript()
* 2077: function storeSessionData()
* 2087: function setParseTime()
* 2099: function statistics()
* 2176: function previewInfo()
* 2197: function beLoginLinkIPList()
* 2008: function isOutputting()
* 2019: function processOutput()
* 2071: function isEXTincScript()
* 2080: function storeSessionData()
* 2090: function setParseTime()
* 2102: function statistics()
* 2179: function previewInfo()
* 2200: function beLoginLinkIPList()
*
* SECTION: Various internal API functions
* 2252: function makeSimulFileName($inTitle,$page,$type,$addParams='',$no_cache='')
* 2294: function simulateStaticDocuments_pEnc_onlyP_proc($linkVars)
* 2322: function getSimulFileName()
* 2335: function encryptEmail($string,$back=0)
* 2352: function checkFileInclude($incFile)
* 2367: function newCObj()
* 2380: function setAbsRefPrefix()
* 2396: function printError($label,$header='Error!')
* 2407: function updateMD5paramsRecord($hash)
* 2419: function tidyHTML($content)
* 2255: function makeSimulFileName($inTitle,$page,$type,$addParams='',$no_cache='')
* 2297: function simulateStaticDocuments_pEnc_onlyP_proc($linkVars)
* 2325: function getSimulFileName()
* 2338: function encryptEmail($string,$back=0)
* 2355: function checkFileInclude($incFile)
* 2370: function newCObj()
* 2383: function setAbsRefPrefix()
* 2399: function printError($label,$header='Error!')
* 2410: function updateMD5paramsRecord($hash)
* 2422: function tidyHTML($content)
*
* SECTION: Various external API functions - for use in plugins etc.
* 2480: function getStorageSiterootPids()
* 2495: function getPagesTSconfig()
* 2528: function setJS($key,$content='')
* 2566: function setCSS($key,$content)
* 2581: function make_seed()
* 2594: function uniqueHash($str='')
* 2603: function set_no_cache()
* 2613: function set_cache_timeout_default($seconds)
* 2629: function plainMailEncoded($email,$subject,$message,$headers='')
* 2652: function sL($input)
* 2683: function readLLfile($fileRef)
* 2698: function getLLL($index,$LOCAL_LANG)
* 2712: function initLLvars()
* 2483: function getStorageSiterootPids()
* 2498: function getPagesTSconfig()
* 2531: function setJS($key,$content='')
* 2569: function setCSS($key,$content)
* 2584: function make_seed()
* 2597: function uniqueHash($str='')
* 2606: function set_no_cache()
* 2616: function set_cache_timeout_default($seconds)
* 2632: function plainMailEncoded($email,$subject,$message,$headers='')
* 2655: function sL($input)
* 2686: function readLLfile($fileRef)
* 2701: function getLLL($index,$LOCAL_LANG)
* 2715: function initLLvars()
*
* TOTAL FUNCTIONS: 81
* (This index is automatically created/updated by the extension "extdeveval")
......@@ -287,18 +287,22 @@
// Character set (charset) conversion object:
var $csConvObj; // An instance of the "t3lib_cs" class. May be used by any application.
var $defaultCharSet='iso-8859-1'; // The default charset used in the frontend if nothing else is set.
// CONTENT accumulation
var $content=''; // All page content is accumulated in this variable. See pagegen.php
// GENERAL
var $clientInfo=''; // Set to the browser: net / msie if 4+ browsers
var $clientInfo=''; // Set to the browser: net / msie if 4+ browsers
var $scriptParseTime=0;
var $TCAloaded = 0; // Set ONLY if the full TCA is loaded
var $TCAloaded = 0; // Set ONLY if the full TCA is loaded
// LANG:
var $lang='';
var $langSplitIndex=0;
var $lang=''; // Set to the system language key (used on the site)
var $langSplitIndex=0; // Set to the index number of the language key
var $labelsCharset=''; // Charset of the labels from locallang (based on $this->lang)
var $siteCharset=''; // Charset of the website.
var $convCharsetToFrom=''; // Set to the charsets to convert from/to IF there are any difference. Otherwise this stays a string
var $LL_labels_cache=array();
var $LL_files_cache=array();
......@@ -2671,12 +2675,37 @@ if (version == "n3") {
if (!isset($this->LL_files_cache[$parts[0]])) { // Getting data if not cached
$this->LL_files_cache[$parts[0]] = $this->readLLfile($parts[0]);
}
$this->LL_labels_cache[$this->lang][$input] = $this->getLLL($parts[1],$this->LL_files_cache[$parts[0]]);
$this->LL_labels_cache[$this->lang][$input] = $this->csConv($this->getLLL($parts[1],$this->LL_files_cache[$parts[0]]));
}
return $this->LL_labels_cache[$this->lang][$input];
}
}
/**
* Converts the charset of the input string if applicable.
* The "from" charset is determined by the TYPO3 system charset for the current language key ($this->lang)
* The "to" charset is determined by the currently used charset for the page which is "iso-8859-1" by default or set by $GLOBALS['TSFE']->config['config']['metaCharset']
* Only if there is a difference between the two charsets will a conversion be made
* The conversion is done real-time - no caching for performance at this point!
*
* @param string String to convert charset for
* @param string Optional "from" charset.
* @return string Output string, converted if needed.
* @see initLLvars(), t3lib_cs
*/
function csConv($str,$from='') {
if (!$this->lang) $this->initLLvars();
if ($from) {
$output = $this->csConvObj->conv($str,$this->csConvObj->parse_charset($from),$this->siteCharset,1);
return $output ? $output : $str;
} elseif (is_array($this->convCharsetToFrom)) {
return $this->csConvObj->conv($str,$this->convCharsetToFrom['from'],$this->convCharsetToFrom['to'],1);
} else {
return $str;
}
}
/**
* Read locallang files - for frontend applications
*
......@@ -2714,10 +2743,21 @@ if (version == "n3") {
*/
function initLLvars() {
$this->lang = $this->config['config']['language'] ? $this->config['config']['language'] : 'default';
$ls = explode('|',TYPO3_languages);
while(list($i,$v)=each($ls)) {
if ($v==$this->lang) {$this->langSplitIndex=$i; break;}
}
// Setting charsets:
$this->siteCharset = $this->csConvObj->parse_charset($GLOBALS['TSFE']->config['config']['metaCharset'] ? $GLOBALS['TSFE']->config['config']['metaCharset'] : $GLOBALS['TSFE']->defaultCharSet);
$this->labelsCharset = $this->csConvObj->parse_charset($this->csConvObj->charSetArray[$this->lang] ? $this->csConvObj->charSetArray[$this->lang] : 'iso-8859-1');
if ($this->siteCharset != $this->labelsCharset) {
$this->convCharsetToFrom=array(
'from' => $this->labelsCharset,
'to' => $this->siteCharset
);
}
}
}
......
......@@ -43,58 +43,58 @@
*
*
* 139: class tslib_menu
* 182: function start($tmpl,$sys_page,$id,$conf,$menuNumber)
* 231: function makeMenu()
* 663: function includeMakeMenu($conf,$altSortField)
* 680: function procesItemStates($splitCount)
* 863: function subMenu($uid,$mount_point=0)
* 905: function link($key,$altTarget='',$typeOverride='')
* 961: function isActive($uid)
* 972: function isCurrent($uid)
* 985: function isSubMenu($uid,$mount_point=0)
* 1009: function isItemState($kind,$key)
* 1046: function accessKey($title)
* 1072: function userProcess($mConfKey,$passVar)
* 1087: function setATagParts()
* 1100: function getPageTitle($title,$nav_title)
* 181: function start($tmpl,$sys_page,$id,$conf,$menuNumber)
* 230: function makeMenu()
* 662: function includeMakeMenu($conf,$altSortField)
* 679: function procesItemStates($splitCount)
* 862: function subMenu($uid,$mount_point=0)