* Fixed bug #0000527: Title tag is added even if the page title was empty. Thanks...
authorMichael Stucki <michael.stucki@typo3.org>
Fri, 26 Nov 2004 19:45:05 +0000 (19:45 +0000)
committerMichael Stucki <michael.stucki@typo3.org>
Fri, 26 Nov 2004 19:45:05 +0000 (19:45 +0000)
* Fixed bug #0000526: Logging does not work on Windows systems. Thanks to Dirk Hoffmann.
* New configuration option [SYS][displayErrors] for overriding the PHP "display_errors" option. By default, error messages in PHP are no longer displayed.
* Improved description of [FE][logfile_dir] in config_default.php
* TYPO3_CONF_VARS[BE][adminOnly] is now an integer value (was boolean by mistake)
* Added missing description of 3rd parameter for the crop function in class.tslib_content.php

git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@513 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/config_default.php
typo3/sysext/cms/tslib/class.tslib_content.php
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/class.tslib_pagegen.php

index 16b5c90..cdb7335 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-11-26  Michael Stucki  <michael@typo3.org>
+
+       * Fixed bug #0000527: Title tag is added even if the page title was empty. Thanks to Hannes Schmid.
+       * Fixed bug #0000526: Logging does not work on Windows systems. Thanks to Dirk Hoffmann.
+       * New configuration option [SYS][displayErrors] for overriding the PHP "display_errors" option. By default, error messages in PHP are no longer displayed.
+       * Improved description of [FE][logfile_dir] in config_default.php
+       * TYPO3_CONF_VARS[BE][adminOnly] is now an integer value (was boolean by mistake)
+       * Added missing description of 3rd parameter for the crop function in class.tslib_content.php
+
 2004-11-18  Kasper Skårhøj,,,  <kasper@typo3.com>
 
        * !!! Moved ALL core localizations into language packs found in extensions prefixed "csh_[language key]". The consequence of this is that the backend will work in english until the proper language pack is installed for the language the user has selected. This step is taken to make backend localization more scalable and prevent the huge memory problems we have with ll-XML and 3.7.0. The "csh_*" extensions are NOT available in TER at the moment, but the whole bunch can be downloaded from http://130.228.0.33/t3dl/src/all_39_language_packs_as_local_extensions.tgz
 2004-11-16  Kasper Skårhøj,,,  <kasper@typo3.com>
 
        * Moved the remaining global extensions to sysext/ which were selected to be system extension.
-
-2004-11-16  Kasper Skårhøj,,,  <kasper@typo3.com>
-
        * Added configuration option in TYPO3_CONF_VARS[FE][lifetime] so the frontend users cookies can be set to a lifetime in seconds. Currently the cookie lasts only for the browser session and not more.
 
-
-2004-11-15  Kasper Skårhøj,,,  <kasper@typo3.com>
-
-       * Fixed view_help.php so translators of llXML can see all tables listed.
-
-2004-11-15  Kasper Skårhøj,,,  <kasper@typo3.com>
-
-       * Using "t3lib_div::cmpIP" for evaluating the list of "config.stat_excludeIPList" 
-
 2004-11-15  Kasper Skårhøj,,,  <kasper@typo3.com>
 
        * Merged all changes from "TYPO3_3-7" branch
        * Changed to version 3.8.0-dev
+       * Using "t3lib_div::cmpIP" for evaluating the list of "config.stat_excludeIPList"
+       * Fixed view_help.php so translators of llXML can see all tables listed.
 
 2004-10-25  Jan-Erik Revsbech <jer@moccompany.com>
+
        *Fixed problem in htmlmail when running ith safe mode enabled.
-       
+
 2004-09-24  Michael Stucki  <mundaun@gmx.ch>
 
  * Release of TYPO3 3.7.0
index 935bd95..fc3f3ee 100755 (executable)
@@ -74,6 +74,7 @@ $TYPO3_CONF_VARS = Array(
                'no_pconnect' => 0,                                             // Boolean: If true, "connect" is used instead of "pconnect" when connecting to the database!
                'multiplyDBfieldSize' => 1,                             // Double: 1-5: Amount used to multiply the DB field size when the install tool is evaluating the database size (eg. "2.5"). This is useful if you want to expand the size of fields for utf-8 etc. For western european sites using utf-8 the need should not be for more than twice the normal single-byte size (2) and for chinese / asian languages 3 should suffice.
                'setMemoryLimit' => 0,                                  // Integer, memory_limit in MB: If more than 16, TYPO3 will try to use ini_set() to set the memory limit of PHP to the value. This works only if the function ini_set() is not disabled by your sysadmin.
+               'displayErrors' => 0,                                   // Integer, -1,0,1. 0=Do not display any PHP error messages. 1=Display error messages. -1=Default setting. With this option, you can override the PHP setting "display_errors". It is suggested that you leave this unchanged but enable the "error_log" option in php.ini instead.
        ),
        'EXT' => Array (        // Options related to the Extension Management
                'noEdit' => 1,                                                  // Boolean: If set, the Extension Manager does NOT allow extension files to be edited! (Otherwise both local and global extensions can be edited.)
@@ -114,7 +115,7 @@ $TYPO3_CONF_VARS = Array(
                'lockBeUserToDBmounts' => 1,                    // Boolean. If set, the backend user is allowed to work only within his page-mount. It's advisable to leave this on because it makes security easy to manage.
                'lockSSL' => 0,                                                 // Int. 0,1,2: If set (1+2), the backend can only be operated from an ssl-encrypted connection (https). Set to 2 you will be redirected to the https admin-url supposed to be the http-url, but with https scheme instead.
                'enabledBeUserIPLock' => 1,                             // Boolean. If set, the User/Group TSconfig option 'option.lockToIP' is enabled.
-               'adminOnly' => 0,                                               // Boolean. If set (>=1), the only "admin" users can log in to the backend. If "<=-1" then the backend is totally shut down! For maintenance purposes.
+               'adminOnly' => 0,                                               // Int. If set (>=1), the only "admin" users can log in to the backend. If "<=-1" then the backend is totally shut down! For maintenance purposes.
                'disable_exec_function' => 0,                   // Boolean. Don't use exec() function (except for ImageMagick which is disabled by [GFX][im]=0). If set, all fileoperations are done by the default PHP-functions. This is nescessary under windows! On UNIX the system commands by exec() can be used, unless this is disabled.
                'usePHPFileFunctions' => 1,                             // Boolean. If set, all fileoperations are done by the default PHP-functions. Default on UNIX is using the system commands by exec(). You need to set this flag under safe_mode.
                'compressionLevel' => 0,                                // Determines output compression. Requires zlib in your php4 install. Range 1-9, where 1 is least compression (approx. 50%) and 9 is greatest compression (approx 33%). 'true' as value will set the compression based on system load (works with Linux, freebsd). Good default value is 3. For more info, see class in t3lib/class.gzip_encode.php written by Sandy McArthur, Jr. <Leknor@Leknor.com>
@@ -156,7 +157,7 @@ $TYPO3_CONF_VARS = Array(
                'tidy' => 0,                                                    // Boolean. If set, the output html-code will be passed through 'tidy' which is a little program you can get from http://www.w3.org/People/Raggett/tidy/. 'Tidy' cleans the HTML-code for nice display!
                'tidy_option' => 'cached',                              // options [all, cached, output]. 'all' = the content is always passed through 'tidy' before it may be stored in cache. 'cached' = only if the page is put into the cache, 'output' = only the output code just before it's echoed out.
                'tidy_path' => 'tidy -i --quiet true --tidy-mark true -wrap 0',         // Path with options for tidy. For XHTML output, add " --output-xhtml true"
-               'logfile_dir' => '',                                    // Path where TYPO3 should write webserver-style logfiles to. This path must be write-enabled for the webserver. Doesn't work for Windows! Remember slash AFTER! Eg: 'fileadmin/' or '/var/typo3logs/'. Please see the TypoScript reference!
+               'logfile_dir' => '',                                    // Path where TYPO3 should write webserver-style logfiles to. This path must be write-enabled for the webserver. If this path is outside the PATH_site, you have to allow it using [BE][lockRootPath]
                'logfile_write' => '',                                  // Keywords for write-mode of logfiles. Default is unix "echo". Keyword "fputs" will make PHP use "fputs" instead (compliant with safe_mode)
                'publish_dir' => '',                                    // Path where TYPO3 should write staticly published documents. This path must be write-enabled for the webserver. Remember slash AFTER! Eg: 'publish/' or '/www/htdocs/publish/'. See admPanel option 'publish'
                'addAllowedPaths' => '',                                // Additional relative paths (comma-list) to allow TypoScript resources be in. Should be prepended with '/'. If not, then any path where the first part is like this path will match. That is: 'myfolder/ , myarchive' will match eg. 'myfolder/', 'myarchive/', 'myarchive_one/', 'myarchive_2/' ... No check is done to see if this directory actually exists in the root of the site. Paths are matched by simply checking if these strings equals the first part of any TypoScript resource filepath. (See class template, function init() in t3lib/class.t3lib_tsparser.php)
@@ -302,6 +303,12 @@ function debugEnd() {
 $T3_SERVICES = array();
 
 
+       // Turn error logging on/off
+if(intval($TYPO3_CONF_VARS['SYS']['displayErrors']!='-1')) {
+       @ini_set('display_errors', intval($TYPO3_CONF_VARS['SYS']['displayErrors']));
+}
+
+
        // Set PHP memory limit depending on value of $TYPO3_CONF_VARS["SYS"]["setMemoryLimit"]
 if(intval($TYPO3_CONF_VARS["SYS"]["setMemoryLimit"])>16) {
        @ini_set('memory_limit',intval($TYPO3_CONF_VARS["SYS"]["setMemoryLimit"]).'m');
index 008ae8e..f13821e 100755 (executable)
@@ -3436,7 +3436,7 @@ class tslib_cObj {
         * 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.
         *
         * @param       string          The string to perform the operation on
-        * @param       string          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.
+        * @param       string          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. Third parameter is a boolean value. If set then crop will be applied at nearest space.
         * @return      string          The processed input value.
         * @access private
         * @see stdWrap()
index 678f1cf..3446bd6 100755 (executable)
@@ -2542,7 +2542,7 @@ if (version == "n3") {
 
                                        // Apache:
                                if ($this->config['config']['stat_apache'] && $this->config['stat_vars']['pageName'])   {
-                                       if (@is_file($this->config['stat_vars']['logFile']) && TYPO3_OS!='WIN') {
+                                       if (@is_file($this->config['stat_vars']['logFile']))    {
                                                $LogLine = ((t3lib_div::getIndpEnv('REMOTE_HOST') && !$this->config['config']['stat_apache_noHost']) ? t3lib_div::getIndpEnv('REMOTE_HOST') : t3lib_div::getIndpEnv('REMOTE_ADDR')).' - - '.Date('[d/M/Y:H:i:s +0000]',$GLOBALS['EXEC_TIME']).' "GET '.$this->config['stat_vars']['pageName'].' HTTP/1.1" 200 '.strlen($this->content);
                                                if (!$this->config['config']['stat_apache_notExtended'])        {
                                                        $LogLine.= ' "'.t3lib_div::getIndpEnv('HTTP_REFERER').'" "'.t3lib_div::getIndpEnv('HTTP_USER_AGENT').'"';
@@ -2558,7 +2558,11 @@ if (version == "n3") {
                                                        break;
                                                        default:
                                                                $GLOBALS['TT']->push('Write to log file (echo)');
-                                                                       $execCmd = 'echo "'.addslashes($LogLine).'" >> '.$this->config['stat_vars']['logFile'];
+                                                                       if (TYPO3_OS=="WIN") {
+                                                                               $execCmd = 'echo '.$LogLine.' >> '.$this->config['stat_vars']['logFile'];
+                                                                       } else {
+                                                                               $execCmd = 'echo "'.addslashes($LogLine).'" >> '.$this->config['stat_vars']['logFile'];
+                                                                       }
                                                                        exec($execCmd);
                                                                $GLOBALS['TT']->pull();
                                                        break;
index e524027..5122e9a 100755 (executable)
@@ -605,8 +605,10 @@ $GLOBALS['TSFE']->content.='
                        $titleTagContent = $GLOBALS['TSFE']->cObj->callUserFunction($GLOBALS['TSFE']->config['config']['titleTagFunction'], array(), $titleTagContent);
                }
 
-               $GLOBALS['TSFE']->content.='
+               if (strlen($titleTagContent))   {
+                       $GLOBALS['TSFE']->content.='
        <title>'.htmlspecialchars($titleTagContent).'</title>';
+               }
                $GLOBALS['TSFE']->content.='
        <meta name="generator" content="TYPO3 3.8 CMS" />';