/** * 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']; }