TEMPORARY (remove when solved): Disable output of deprecation messages until error...
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_bedisplaylog.php
index 131ba47..f20cebc 100644 (file)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 1999-2004 Kasper Skaarhoj (kasper@typo3.com)
+*  (c) 1999-2008 Kasper Skaarhoj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -31,7 +31,7 @@
  * Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj
  * XHTML compliant
  *
- * @author     Kasper Skaarhoj <kasper@typo3.com>
+ * @author     Kasper Skaarhoj <kasperYYYY@typo3.com>
  */
 /**
  * [CLASS/FUNCTION INDEX of SCRIPT]
  *
  *
  *   81: class t3lib_BEDisplayLog
- *  100:     function initArray()
- *  117:     function getTimeLabel($code)
- *  132:     function getUserLabel($code)
- *  146:     function getTypeLabel($code)
- *  160:     function getActionLabel($code)
- *  178:     function getDetails($code,$text,$data,$sys_log_uid=0)
- *  210:     function reset()
- *  224:     function getErrorFormatting($sign)
- *  234:     function formatDetailsForList($row)
- *  251:     function stripPath($inArr)
+ *  106:     function initArray()
+ *  123:     function getTimeLabel($code)
+ *  139:     function getUserLabel($code,$workspace=0)
+ *  154:     function getTypeLabel($code)
+ *  168:     function getActionLabel($code)
+ *  186:     function getDetails($code,$text,$data,$sys_log_uid=0)
+ *  220:     function reset()
+ *  234:     function getErrorFormatting($sign, $error=0)
+ *  244:     function formatDetailsForList($row)
+ *  261:     function stripPath($inArr)
  *
  * TOTAL FUNCTIONS: 10
  * (This index is automatically created/updated by the extension "extdeveval")
@@ -73,7 +73,7 @@
  * This class holds some functions used to display the sys_log table-content.
  * Used in the status-scripts and the log-module.
  *
- * @author     Kasper Skaarhoj <kasper@typo3.com>
+ * @author     Kasper Skaarhoj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  * @see tx_belog_webinfo, SC_mod_tools_log_index
@@ -84,12 +84,16 @@ class t3lib_BEDisplayLog {
        var $lastTypeLabel = '';
        var $lastActionLabel = '';
 
-       var $detailsOn = 1;     // If detailsOn, %s is substituted with values from the data-array (see getDetails())
-       var $stripPath = 1;     // This strips the path from any value in the data-array when the data-array is parsed through stripPath()
+       var $detailsOn = 1;                     // If detailsOn, %s is substituted with values from the data-array (see getDetails())
+       var $stripPath = 1;                     // This strips the path from any value in the data-array when the data-array is parsed through stripPath()
        var $errorSign = Array(
                1 => '!',
                2 => 'Sys!',
-               3 => 'Secur!'
+               3 => 'Security!'
+       );
+       var $wsArray = array(
+               0 => 'LIVE',
+               -1 => 'Draft',
        );
 
        var $be_user_Array = array();           // Username array (set externally)
@@ -104,7 +108,7 @@ class t3lib_BEDisplayLog {
                $codeArr[0][]='Time';   // Time
                $codeArr[0][]='User';
                $codeArr[0][]='Type';
-               $codeArr[0][]='E';
+               $codeArr[0][]='Error';
                $codeArr[0][]='Action';
                $codeArr[0][]='Details';
                return $codeArr;
@@ -117,11 +121,15 @@ class t3lib_BEDisplayLog {
         * @return      string          If the timestamp was also shown last time, then "." is returned. Otherwise the new timestamp formatted with ->doc->formatTime()
         */
        function getTimeLabel($code)    {
-               $t=$GLOBALS['SOBE']->doc->formatTime($code,1);
+               #$t=$GLOBALS['SOBE']->doc->formatTime($code,1);
+               $t = date('H:i:s',$code);
+               
                if ($this->lastTimeLabel!=$t)   {
                        $this->lastTimeLabel=$t;
                        return $t;
-               } else return '.';
+               } else {
+                       return '.';
+               }
 
        }
 
@@ -129,13 +137,15 @@ class t3lib_BEDisplayLog {
         * Get user name label for log listing
         *
         * @param       integer         be_user uid
+        * @param       integer         Workspace ID
         * @return      string          If username is different from last username then the username, otherwise "."
         */
-       function getUserLabel($code)    {
-               if ($this->lastUserLabel!=$code)        {
-                       $this->lastUserLabel=$code;
+       function getUserLabel($code,$workspace=0)       {
+               if ($this->lastUserLabel!=$code.'_'.$workspace) {
+                       $this->lastUserLabel=$code.'_'.$workspace;
                        $label = $this->be_user_Array[$code]['username'];
-                       return $label ? $label : '['.$code.']';
+                       $ws = $this->wsArray[$workspace];
+                       return ($label ? htmlspecialchars($label) : '['.$code.']').'@'.($ws?$ws:$workspace);
                } else return '.';
        }
 
@@ -157,13 +167,13 @@ class t3lib_BEDisplayLog {
         * Get action label for log listing
         *
         * @param       string          Key for the action label in locallang
-        * @return      string          If labe is different from last action label then the label is returned, otherwise "."
+        * @return      string          If label is different from last action label then the label is returned, otherwise "."
         */
        function getActionLabel($code)  {
                if ($this->lastActionLabel!=$code)      {
                        $this->lastActionLabel=$code;
                        $label=$GLOBALS['LANG']->getLL('action_'.$code);
-                       return $label ? $label : '['.$code.']';
+                       return $label ? htmlspecialchars($label) : '['.$code.']';
                } else return '.';
        }
 
@@ -182,11 +192,13 @@ class t3lib_BEDisplayLog {
                if (is_array($data))    {
                        if ($this->detailsOn)   {
                                if (is_object($GLOBALS['LANG']))        {
-                                       $label = $GLOBALS['LANG']->getLL('msg_'.$code);
+#                                      $label = $GLOBALS['LANG']->getLL('msg_'.$code);
                                } else {
                                        list($label) = explode(',',$text);
                                }
-                               if ($label)     {$text=$label;}
+                               if ($label)     {
+                                       $text=$label;
+                               }
                                $text = sprintf($text, htmlspecialchars($data[0]),htmlspecialchars($data[1]),htmlspecialchars($data[2]),htmlspecialchars($data[3]),htmlspecialchars($data[4]));
                        } else {
                                $text = str_replace('%s','',$text);
@@ -198,7 +210,9 @@ class t3lib_BEDisplayLog {
                $newRow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
                if (is_array($newRow))  {
                        $text.=' Changes in fields: <em>'.$newRow['fieldlist'].'</em>.';
-                       $text.=' <a href="'.htmlspecialchars($GLOBALS['BACK_PATH'].'show_rechis.php?sh_uid='.$newRow['uid'].'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'"><b>->His</b></a>';
+                       $text.=' <a href="'.htmlspecialchars($GLOBALS['BACK_PATH'].'show_rechis.php?sh_uid='.$newRow['uid'].'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'.
+                                       '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/history2.gif','width="13" height="12"').' title="Show History" alt="" />'.
+                                       '</a>';
                }
 
                return $text;
@@ -220,11 +234,11 @@ class t3lib_BEDisplayLog {
         * Formats input string in red-colored font tags
         *
         * @param       string          Input value
+        * @param       integer         Error value
         * @return      string          Input wrapped in red font-tag and bold
-        * @obsolete
         */
-       function getErrorFormatting($sign)      {
-               return '<font color="red"><b>'.$sign.'</b></font>';
+       function getErrorFormatting($sign, $error=0)    {
+               return $GLOBALS['SOBE']->doc->icons($error>=2 ? 3:2).' '.$sign;
        }
 
        /**
@@ -239,7 +253,7 @@ class t3lib_BEDisplayLog {
                        $data=$this->stripPath($data);
                }
 
-               return $this->getDetails($row['type'].'_'.$row['action'].'_'.$row['details_nr'],$row['details'],$data,$row['uid']).' ('.$row['details_nr'].')';
+               return $this->getDetails($row['type'].'_'.$row['action'].'_'.$row['details_nr'],$row['details'],$data,$row['uid']).($row['details_nr']>0?' (msg#'.$row['type'].'.'.$row['action'].'.'.$row['details_nr'].')':'');
        }
 
        /**