* Added some file icons from Ben and Emile
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_beuserauth.php
index aad517a..8b46c5b 100644 (file)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *  
-*  (c) 1999-2003 Kasper Skaarhoj (kasper@typo3.com)
+*  (c) 1999-2004 Kasper Skaarhoj (kasper@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is 
  *
  *
  *   75: class t3lib_beUserAuth extends t3lib_userAuthGroup 
- *  150:     function trackBeUser($flag)       
- *  163:     function checkLockToIP()  
- *  183:     function backendCheckLogin()      
- *  208:     function backendSetUC()   
- *  243:     function overrideUC()     
- *  253:     function resetUC()        
- *  266:     function emailAtLogin()   
- *  318:     function veriCode()       
+ *  151:     function trackBeUser($flag)       
+ *  169:     function checkLockToIP()  
+ *  189:     function backendCheckLogin()      
+ *  219:     function backendSetUC()   
+ *  254:     function overrideUC()     
+ *  264:     function resetUC()        
+ *  277:     function emailAtLogin()   
+ *  329:     function veriCode()       
  *
  * TOTAL FUNCTIONS: 8
  * (This index is automatically created/updated by the extension "extdeveval")
 
 /**
  * TYPO3 user authentication, backend
- * Could technically have been the same class as t3lib_userauthgroup since these two are always used together and only together. 
+ * Could technically have been the same class as t3lib_userauthgroup since these two are always used together and only together.
  * t3lib_userauthgroup contains most of the functions used for checking permissions, authenticating users, setting up the user etc. This class is most interesting in terms of an API for user from outside.
  * This class contains the configuration of the database fields used plus some functions for the authentication process of backend users.
- * 
+ *
  * @author     Kasper Skaarhoj <kasper@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
@@ -111,9 +111,10 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
        var $uc;
 
                // User Config Default values:
+               // The array may contain other fields for configuration. For this, see "setup" extension and "TSConfig" document (User TSconfig, "setup.[xxx]....")
                /*
                        Reserved keys for other storage of session data:
-                       moduleData              
+                       moduleData
                        moduleSessionID
                */
        var $uc_default = Array (
@@ -125,8 +126,6 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
                'condensedMode' => 0,
                'noMenuMode' => 0,
                'startInTaskCenter' => 0,
-               'localFrameEdit' => 0,
-               'dontEditInPageModule' => 0,
                'hideSubmoduleIcons' => 0,
                'helpText' => 1,
                'titleLen' => 30,
@@ -143,32 +142,37 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
        /**
         * If flag is set and the extensions 'beuser_tracking' is loaded, this will insert a table row with the REQUEST_URI of current script - thus tracking the scripts the backend users uses...
         * This function works ONLY with the "beuser_tracking" extension and is depreciated since it does nothing useful.
-        * 
+        *
         * @param       boolean         Activate insertion of the URL.
-        * @return      void            
+        * @return      void
         * @access private
         */
        function trackBeUser($flag)     {
                if ($flag && t3lib_extMgm::isLoaded('beuser_tracking')) {
-                       $query = 'INSERT INTO sys_trackbeuser (userid,tstamp,script) VALUES ('.$this->user['uid'].','.time().',"'.addslashes(t3lib_div::getIndpEnv('REQUEST_URI')).'")';
-                       $res = mysql(TYPO3_db,$query);
+                       $insertFields = array(
+                               'userid' => intval($this->user['uid']),
+                               'tstamp' => time(),
+                               'script' => t3lib_div::getIndpEnv('REQUEST_URI')
+                       );
+                       
+                       $GLOBALS['TYPO3_DB']->exec_INSERTquery('sys_trackbeuser', $insertFields);
                }
        }
 
        /**
         * If TYPO3_CONF_VARS['BE']['enabledBeUserIPLock'] is enabled and an IP-list is found in the User TSconfig objString "options.lockToIP", then make an IP comparison with REMOTE_ADDR and return the outcome (true/false)
-        * 
+        *
         * @return      boolean         True, if IP address validates OK (or no check is done at all)
         * @access private
         */
        function checkLockToIP()        {
                global $TYPO3_CONF_VARS;
-               $out=1;
+               $out = 1;
                if ($TYPO3_CONF_VARS['BE']['enabledBeUserIPLock'])      {
                        $IPList = $this->getTSConfigVal('options.lockToIP');
                        if (trim($IPList))      {
                                $baseIP = t3lib_div::getIndpEnv('REMOTE_ADDR');
-                               $out=t3lib_div::cmpIP($baseIP, $IPList);
+                               $out = t3lib_div::cmpIP($baseIP, $IPList);
                        }
                }
                return $out;
@@ -178,8 +182,8 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
         * Check if user is logged in and if so, call ->fetchGroupData() to load group information and access lists of all kind, further check IP, set the ->uc array and send login-notification email if required.
         * If no user is logged in the default behaviour is to exit with an error message, but this will happen ONLY if the constant TYPO3_PROCEED_IF_NO_USER is set true.
         * This function is called right after ->start() in fx. init.php
-        * 
-        * @return      void            
+        *
+        * @return      void
         */
        function backendCheckLogin()    {
                if (!$this->user['uid'])        {
@@ -207,8 +211,8 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
        /**
         * Initialize the internal ->uc array for the backend user
         * Will make the overrides if necessary, and write the UC back to the be_users record if changes has happend
-        * 
-        * @return      void            
+        *
+        * @return      void
         * @internal
         */
        function backendSetUC() {
@@ -240,10 +244,10 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
        }
 
        /**
-        * Override: Call this function every time the uc is updated. 
+        * Override: Call this function every time the uc is updated.
         * That is 1) by reverting to default values, 2) in the setup-module, 3) userTS changes (userauthgroup)
-        * 
-        * @return      void            
+        *
+        * @return      void
         * @internal
         */
        function overrideUC()   {
@@ -252,8 +256,8 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
 
        /**
         * Clears the user[uc] and ->uc to blank strings. Then calls ->backendSetUC() to fill it again with reset contents
-        * 
-        * @return      void            
+        *
+        * @return      void
         * @internal
         */
        function resetUC()      {
@@ -265,8 +269,8 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
        /**
         * Will send an email notification to warning_email_address/the login users email address when a login session is just started.
         * Depends on various parameters whether mails are send and to whom.
-        * 
-        * @return      void            
+        *
+        * @return      void
         * @access private
         */
        function emailAtLogin() {
@@ -316,10 +320,10 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
        }
 
        /**
-        * VeriCode returns 10 first chars of a md5 hash of the session cookie AND the encryptionKey from TYPO3_CONF_VARS. 
+        * VeriCode returns 10 first chars of a md5 hash of the session cookie AND the encryptionKey from TYPO3_CONF_VARS.
         * This code is used as an alternative verification when the JavaScript interface executes cmd's to tce_db.php from eg. MSIE 5.0 because the proper referer is not passed with this browser...
-        * 
-        * @return      string          
+        *
+        * @return      string
         */
        function veriCode()     {
                return substr(md5($this->id.$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']),0,10);
@@ -332,4 +336,4 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_beuserauth.php'])       {
        include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_beuserauth.php']);
 }
-?>
\ No newline at end of file
+?>