示例#1
0
 /**
  * startSession performs all the actions necessary to
  * initialize this session object. Tries to determine if the
  * the user has logged in already, and sets the variables
  * accordingly. Also takes advantage of this page load to
  * update the active visitors tables.
  *
  * @return void
  * @access private
  */
 private function startSession()
 {
     global $db;
     //The database connection
     $current_dir = getcwd();
     session_start();
     //Tell PHP to start the session
     $db = new UserDB();
     $db->db_connect();
     $db->get_num_visitors();
     /* Determine if user is logged in */
     $this->logged_in = $this->checkLogin();
     $this->setSkin();
     $this->setLanguage();
     /**
      * Set guest value to users not logged in, and update
      * active guests table accordingly.
      */
     if (!$this->logged_in) {
         $this->username = $_SESSION['username'] = GUEST_NAME;
         $this->userlevel = GUEST_LEVEL;
         if (!bot_detected()) {
             $db->addActiveGuest($_SERVER['REMOTE_ADDR']);
         }
     } else {
         $db->addActiveUser($this->username);
     }
     /* Remove inactive visitors from database */
     $db->removeInactiveUsers();
     $db->removeInactiveGuests();
     /* Set referrer page */
     if (isset($_SESSION['url'])) {
         $this->referrer = $_SESSION['url'];
     } else {
         $this->referrer = "/";
     }
     /* Set current url */
     $this->url = $_SESSION['url'] = $_SERVER['PHP_SELF'];
 }