Fixed bug #0000159: Logging did not work with absolute logfile_dir specified. However...
authorMichael Stucki <michael.stucki@typo3.org>
Tue, 14 Sep 2004 20:14:59 +0000 (20:14 +0000)
committerMichael Stucki <michael.stucki@typo3.org>
Tue, 14 Sep 2004 20:14:59 +0000 (20:14 +0000)
* The BE login screen now shows the sitename by default
* Fixed a typo in config_default.php
* Changed description for lockRootPath

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

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

index c1cb5eb..5419eb2 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,14 @@
+2004-09-14  Michael Stucki  <mundaun@gmx.ch>
+
+       * Fixed bug #0000159: Logging did not work with absolute logfile_dir specified. However this will still work only if the specified path is within either PATH_site or lockRootPath.
+       * The BE login screen now shows the sitename by default
+       * Fixed a typo in config_default.php
+       * Changed description for lockRootPath
+
 2004-09-14  Ingmar Schlecht  <ingmars@web.de>
 
        * Fixed bug #0000111: Install tool now allows for database name, password and username to contain any kind of chars (not limited to alphanumerical any more).
+
 2004-09-14  Kasper Skårhøj,,,  <kasper@typo3.com>
 
        * Updated my email address from "kasper@typo3.com" (which is closed and will stay that way) to "kasperYYYY@typo3.com" which programmers should be able to figure out...
index 235f5bd..2863854 100755 (executable)
@@ -38,7 +38,7 @@ $TYPO3_CONF_VARS = Array(
                'im_imvMaskState' => 0,                                 // Boolean. If set, the 'im_negate_mask' state is inverted. This is very useful with newer versions of IM5 (at least 5.4.3+) where the 'im_version_5' setting will set 'im_negate_mask' which will eventually be wrong... Halleluja for ImageMagick - have I ever regreted using that package...
                'im_no_effects' => 0,                                   // Boolean. This is necessary if using ImageMagick 5+. Approved version for using effects is version 4.2.9. Effects in Imagemagick 5+ tends to render very slowly! Therefore this must be disabled in order not to perform sharpen, blurring and such. (However lately IM5 is allowed for effects again, but syntax has changed!)
                'im_v5effects' => 0,                                    // Integer -1,0,1. 0=disabled. -1=Do not sharpen images by default. 1=All; blur and sharpening is allowed in ImageMagick again and the 'im_no_effects' flag is cancelled. Blurring and sharpening has new syntaxes though. See class.t3lib_stdgraphic.php for details.
-               'im_mask_temp_ext_gif' => 0,                    // Boolean. This should be set if ImageMagick is version 5+. This is used in class tslib_cObj.php for masking images and the extension png is normally used because it's faster than gif for temporary files. But png seems not to work with some IM 5+ versions, so...
+               'im_mask_temp_ext_gif' => 0,                    // Boolean. This should be set if ImageMagick is version 5+. This is used in class.tslib_content.php for masking images and the extension png is normally used because it's faster than gif for temporary files. But png seems not to work with some IM 5+ versions, so...
                'im_mask_temp_ext_noloss' => 'miff',    // String.      Loss-less ImageMagick extension to use for mask processing in temporary filenames. Normally 'miff' (ImageMagick's OWN format) will do fine. However at least IM 5.4.9 has proved not to be able to write to its own file format which forced me to add this option. You can try and set this to tif/png/jpg if some masking doesn't work the way it should.
                'im_noScaleUp' => 0,                                    // Boolean. If set, images are not being scaled up if told so (in t3lib/stdgraphics.php)
                'im_combine_filename' => 'combine',             // String. Latest ImageMagick versions has changed the name of combine to composite. Configure here if needed.
@@ -98,7 +98,7 @@ $TYPO3_CONF_VARS = Array(
                'RTE_imageStorageDir' => 'uploads/',    // Default storage directory for Rich Text Editor files
                'RTE_reg' => array(),                                   // Contains arrays of possible RTEs available (keys=extKey, values=cfg-array). Each array contains a key, "objRef", which contains a user function call with prefixed script path and instanciating a persistent global object. This can report back if browser requirements are OK, draw the RTE and do the transformations needed.
                'staticFileEditPath' => 'fileadmin/static/',    // Path to directory with static files for editing (see table sys_staticfiles_edit). Relative to PATH_site.
-               'lockRootPath' => '',                                   // First part of the userHomePath/groupHomePath. Observe that the first part of 'userHomePath' and 'groupHomePath' must be the value of 'lockRootPath'. Eg. '/home/typo3/'. This path is also used to evaluate if paths outside the PATH_site should be allowed. Ending slash required!
+               'lockRootPath' => '',                                   // This path is used to evaluate if paths outside the PATH_site should be allowed. Ending slash required! This path is also used to restrict userHomePath/groupHomePath. Observe that the first part of 'userHomePath' and 'groupHomePath' must be the value of 'lockRootPath'. Eg. '/home/typo3/'.
                'userHomePath' => '',                                   // Path to the directory where TYPO3 backend-users have their home-dirs.  Eg. '/home/typo3/users/'. A home for backend user 2 would be: '/home/typo3/users/2/'. Ending slash required!
                'groupHomePath' => '',                                  // Path to the directory where TYPO3 backend-groups have their home-dirs. Remember that the first part of this path must be 'lockRootPath'. Eg. '/home/typo3/groups/'. A home for backend group 1 would be: '/home/typo3/groups/1/'. Ending slash required!
                'userUploadDir' => '',                                  // Suffix to the user home dir which is what gets mounted in TYPO3. Eg. if the user dir is "../123_user/" and this value is "/upload" then "../123_user/upload" gets mounted.
@@ -142,7 +142,7 @@ $TYPO3_CONF_VARS = Array(
                'customPermOptions' => array(),                 // Array with sets of custom permission options. Syntax is; 'key' => array('header' => 'header string, language splitted', 'items' => array('key' => array('label, language splitted', 'icon reference', 'Description text, language splitted'))). Keys cannot contain ":|," characters.
                'fileDenyPattern' => '\.php\.|\.php3\.',        // A regular expression that - if it matches a filename - will deny the file upload/rename or whatever in the webspace. Matching with eregi() (case-insensitive).
                'interfaces' => 'backend',                                      // This determines which interface options is available in the login prompt and in which order (All options: ",backend,frontend")
-               'loginLabels' => 'Username|Password|Interface|Log In|Log Out|Backend,Front End|Administration Login|(Note: Cookies must be enabled!)|Important Messages:|Your login attempt did not succeed. Make sure to spell your username and password correctly, including upper/lowercase characters.',           // Language labels of the login prompt.
+               'loginLabels' => 'Username|Password|Interface|Log In|Log Out|Backend,Front End|Administration Login on ###SITENAME###|(Note: Cookies must be enabled!)|Important Messages:|Your login attempt did not succeed. Make sure to spell your username and password correctly, including upper/lowercase characters.',         // Language labels of the login prompt.
                'loginNews' => array(),                                         // In this array you can define news-items for the login screen. To this array, add arrays with assoc keys 'date', 'header', 'content' (HTML content) and for those appropriate value pairs
                'XCLASS' => Array(),                                    // See 'Inside TYPO3' document for more information.
                'XLLfile' => Array(),                                   // For extension/overriding of the arrays in 'locallang' files in the backend. See 'Inside TYPO3' for more information.
index 59c1e93..f4d430e 100755 (executable)
@@ -177,6 +177,9 @@ class SC_index {
                        // Initialize interface selectors:
                $this->makeInterfaceSelectorBox();
 
+                       // Replace an optional marker in the "Administration Login" label
+               $this->L_vars[6] = str_replace("###SITENAME###",$TYPO3_CONF_VARS['SYS']['sitename'],$this->L_vars[6]);
+
                        // Creating form based on whether there is a login or not:
                if (!$BE_USER->user['uid'])     {
                        $TBE_TEMPLATE->form = '
index fb33ce8..5db38d5 100755 (executable)
 
                                                // STAT:
                                        $theLogFile = $this->TYPO3_CONF_VARS['FE']['logfile_dir'].$this->config['config']['stat_apache_logfile'];
-                                       if ($this->config['config']['stat_apache'] &&
-                                               $this->config['config']['stat_apache_logfile'] &&
-                                               !strstr($this->config['config']['stat_apache_logfile'],'/') &&
-                                               @is_dir($this->TYPO3_CONF_VARS['FE']['logfile_dir']) && @is_file($theLogFile)   && @is_writeable($theLogFile))  {
+                                               // Add PATH_site left to $theLogFile if the path is not absolute yet
+                                       if(!ereg("^/", $theLogFile)) $theLogFile = PATH_site.$theLogFile;
+
+                                       if ($this->config['config']['stat_apache'] && $this->config['config']['stat_apache_logfile'] && !strstr($this->config['config']['stat_apache_logfile'],'/'))    {
+                                               if(t3lib_div::isAllowedAbsPath($theLogFile) && @is_file($theLogFile) && @is_writeable($theLogFile))     {
                                                        $this->config['stat_vars']['logFile'] = $theLogFile;
                                                        $shortTitle = substr(ereg_replace('[^\.[:alnum:]_-]','_',$this->page['title']),0,30);
                                                        $pageName = $this->config['config']['stat_apache_pagenames'] ? $this->config['config']['stat_apache_pagenames'] : '[path][title]--[uid].html';
                                                        $len = t3lib_div::intInRange($this->config['config']['stat_titleLen'],1,100,20);
                                                        $pageName = str_replace('[path]', ereg_replace('[^\.[:alnum:]\/_-]','_',$this->sys_page->getPathFromRootline($temp,$len)).'/' ,$pageName);
                                                        $this->config['stat_vars']['pageName'] = $pageName;
+                                               } else {
+                                                       $GLOBALS['TT']->setTSlogMessage('Could not set logfile path. Check filepath and permissions.',3);
+                                               }
                                        }
                                        $this->config['FEData'] = $this->tmpl->setup['FEData'];
                                        $this->config['FEData.'] = $this->tmpl->setup['FEData.'];
@@ -2545,14 +2549,14 @@ if (version == "n3") {
                                                switch($this->TYPO3_CONF_VARS['FE']['logfile_write'])   {
                                                        case 'fputs':
                                                                $GLOBALS['TT']->push('Write to log file (fputs)');
-                                                                       $logfilehandle = fopen(PATH_site.$this->config['stat_vars']['logFile'], 'a');
+                                                                       $logfilehandle = fopen($this->config['stat_vars']['logFile'], 'a');
                                                                        fputs($logfilehandle, $LogLine."\n");
                                                                        @fclose($logfilehandle);
                                                                $GLOBALS['TT']->pull();
                                                        break;
                                                        default:
                                                                $GLOBALS['TT']->push('Write to log file (echo)');
-                                                                       $execCmd = 'echo "'.addslashes($LogLine).'" >> '.PATH_site.$this->config['stat_vars']['logFile'];
+                                                                       $execCmd = 'echo "'.addslashes($LogLine).'" >> '.$this->config['stat_vars']['logFile'];
                                                                        exec($execCmd);
                                                                $GLOBALS['TT']->pull();
                                                        break;