class Utils {
+ private $timeout = false;
private $settings;
+ private $log_level;
+ private $log_method;
private $header = '<!DOCTYPE html>
<html>
<head>
public function __construct() {
global $CFG;
+ if (isset($CFG->log_level)) {
+ $this->log_level = $CFG->log_level;
+ } else {
+ $this->log_level = 1;
+ }
+
+ if (isset($CFG->log_method)) {
+ $this->log_method = $CFG->log_method;
+ } else {
+ $this->log_level = 'syslog';
+ }
+
+ $this->log("Init Utils", 4);
+
$this->startSession();
if (! isset($_SESSION['settings'])) {
}
}
+ private function log($message, $level = 1) {
+ global $CFG;
+
+ if ($level > $this->log_level)
+ return;
+
+ $time = date('c');
+
+ $priority = LOG_INFO;
+ switch ($level) {
+ case 1: $priority = LOG_ERR; break;
+ case 2: $priority = LOG_WARNING; break;
+ case 3: $priority = LOG_INFO; break;
+ case 4: $priority = LOG_DEBUG; break;
+ }
+
+ switch ($this->log_method) {
+ case 'file':
+ case 'stderr':
+ case 'syslog':
+ syslog($priority, $message);
+ break;
+ }
+ }
+
private function initSettings() {
+ $this->log("InitSettings", 4);
+
if ('' == session_id()) {
$this->startSession();
}
+ if (false !== $this->timeout) {
+ $timeout = $this->timeout;
+ } else {
+ $timeout = 0;
+ }
+
$this->settings = array(
'server' => $_SERVER,
'user' => null,
'admin' => false,
'loginStatus' => 'Not logged in',
- 'timeout' => 0
+ 'timeout' => $timeout
);
$_SESSION['settings'] = $this->settings;
private function startSession() {
global $CFG;
+ $this->log("startSession", 4);
+
if (isset($CFG->session_timeout)) {
$this->timeout = $CFG->session_timeout * 60;
} else {
private function checkSession() {
global $CFG;
+ $this->log("checkSession", 4);
+
if ('' == session_id()) {
$this->startSession();
}
}
public function logout() {
+ $this->log("logout", 4);
+
if (ini_get('session.use_cookies')) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
public function isAdmin() {
$admin = false;
+ $this->log("isAdmin", 4);
+
if (isset($this->settings['admin'])) {
$admin = $this->settings['admin'];
}
global $CFG;
$result = false;
+ $this->log("login", 4);
+
if ('' == session_id()) {
$this->startSession();
}
public function getLoginStatus() {
$status = 'Not logged in';
+ $this->log("getLoginStatus", 4);
+
if (isset($this->settings['loginStatus'])) {
$status = $this->settings['loginStatus'];
}
global $CFG;
$loggedIn = false;
+ $this->log("isLoggedIn", 4);
+
if ('' == session_id()) {
$this->startSession();
}
}
if ($loggedIn == false) {
- echo '$this->user: '.$this->user.' $_SESSION[\'user\']: '.$_SESSION['user'];
+ echo '$this->settings: '.var_export($this->settings, true);
echo 'R_TIME: '.date('c', $_SERVER['REQUEST_TIME']).' L_ACT: '.date('c', $_SESSION['LAST_ACTIVITY']);
//exit;
}
public function getUser() {
$user = null;
+ $this->log("getUser", 4);
+
if ($this->isLoggedIn()) {
$user = $this->settings['user'];
}
}
public function getHeader() {
+ $this->log("getHeader", 4);
+
return $this->header;
}
public function getFooter() {
+ $this->log("getFooter", 4);
+
return $this->footer;
}
public function getHeading() {
+ $this->log("getHeading", 4);
+
return $this->heading;
}
public function setHeading($heading) {
global $CFG;
+ $this->log("setHeading", 4);
+
$timeout = $CFG->session_timeout * 60 * 1000;
$this->heading = str_replace('__TITLE__', $heading, $this->heading);
$this->header = str_replace('__TITLE__', $heading, $this->header);
}
public function convertContent($code) {
+ $this->log("convertContent", 4);
+
$table = array(
'V' => 'Virus',
'B' => 'Banned',