<?php 
@session_name('signature'); 
@session_start(); 
$show = array(); 
if (isset($_SESSION['data']) && $_SESSION['data']) { 
  $show = unserialize($_SESSION['data']); 
} 
if (!isset($show['time']) || (isset($show['time']) && $show['time'] < time() - 30)) { 
  $show['time'] = time(); 
  define('ROOT_PATH', './'); 
  include(ROOT_PATH.'config.php'); 
  include(ROOT_PATH.'includes/constants.php'); 
  include(ROOT_PATH.'includes/db_mysql.php'); 
  
  $site_db = new Db($db_host, $db_user, $db_password, $db_name); 
  $sql = "SELECT setting_name, setting_value 
          FROM ".SETTINGS_TABLE; 
  $result = $site_db->query($sql); 
  while ($row = $site_db->fetch_array($result)) { 
    $config[$row['setting_name']] = $row['setting_value']; 
  } 
  $site_db->free_result(); 
  $show['site_name'] = $config['site_name']; 
  $sql = "SELECT COUNT(*) AS total_users 
          FROM ".USERS_TABLE." 
          WHERE user_level > ".USER_AWAITING; 
  $row = $site_db->query_firstrow($sql); 
  $show['total_users'] = $row['total_users']; 
  $sql = "SELECT user_name 
          FROM ".USERS_TABLE." 
          WHERE user_level > ".USER_AWAITING." 
          ORDER BY user_id DESC"; 
  $row = $site_db->query_firstrow($sql); 
  $show['new_user'] = $row['user_name']; 
  $sql = "SELECT COUNT(*) AS total_images 
          FROM ".IMAGES_TABLE." 
          WHERE image_active = 1"; 
  $row = $site_db->query_firstrow($sql); 
  $show['total_images'] = $row['total_images']; 
  $new_cutoff = time() - 60 * 60 * 24 * $config['new_cutoff']; 
  $sql = "SELECT COUNT(*) AS total_new_images 
          FROM ".IMAGES_TABLE." 
          WHERE image_active = 1 AND image_date > ".$new_cutoff; 
  $row = $site_db->query_firstrow($sql); 
  $show['total_new_images'] = $row['total_new_images']; 
  $sql = "SELECT COUNT(*) AS total_categories 
          FROM ".CATEGORIES_TABLE; 
  $row = $site_db->query_firstrow($sql); 
  $show['total_categories'] = $row['total_categories']; 
  $time_out = time() - 300; 
  $sql = "SELECT session_user_id, session_ip 
          FROM ".SESSIONS_TABLE." 
          WHERE session_lastaction >= $time_out"; 
  $result = $site_db->query($sql); 
  $show['guests_online'] = $show['reg_online'] = 0; 
  while ($row = $site_db->fetch_array($result)) { 
    if ($row['session_user_id'] != GUEST) { 
      if (!isset($prev_user_ids[$row['session_user_id']])) { 
        $show['reg_online']++; 
      } 
      $prev_user_ids[$row['session_user_id']] = 1; 
    } 
    else { 
      if (!isset($prev_session_ips[$row['session_ip']])) { 
        $show['guests_online']++; 
      } 
    } 
    $prev_session_ips[$row['session_ip']] = 1; 
  } 
  $_SESSION['data'] = serialize($show); 
} 
$total_online = $show['reg_online'] + $show['guests_online']; 
$image = "signature.png"; 
$im = imagecreatefrompng($image); 
$tc  = ImageColorAllocate ($im, 0, 0, 0); 
$red  = ImageColorAllocate ($im, 255, 0, 0); 
$sitename = $show['site_name']; 
$leftoffset = 10; 
$lang_sitename = "Statisctics for "; 
$lang_images = "Images: "; 
$lang_users = "Members: "; 
$lang_cat = "Categories: "; 
$lang_new_user = "Newest member: "; 
$far = $leftoffset+(strlen($lang_new_user)-2)*7; 
$sitenameoffset = $leftoffset+strlen($lang_sitename)*7; 
$imagesoffset = $far; //$leftoffset+strlen($lang_images)*7; 
$catoffset = $far; //$leftoffset+strlen($lang_cat)*7; 
$newuseroffset = $far; //$leftoffset+strlen($lang_new_user)*7; 
$usersoffset = $far; //$leftoffset+strlen($lang_users)*7; 
$usersoffset2 = $far+strlen($show['total_users'])*7+5; //$leftoffset+strlen($lang_users.$total_users)*7; 
ImageString($im, 3, $leftoffset, 2, $lang_sitename, $tc); 
ImageString($im, 3, $sitenameoffset, 2, "$sitename", $tc); 
ImageString($im, 2, $leftoffset, 15, $lang_images, $tc); 
ImageString($im, 2, $imagesoffset, 15, $show['total_images']." (".$show['total_new_images']." new)", $tc); 
ImageString($im, 2, $leftoffset, 25, $lang_cat, $tc); 
ImageString($im, 2, $catoffset, 25, $show['total_categories'], $tc); 
ImageString($im, 2, $leftoffset, 35, $lang_users, $tc); 
ImageString($im, 2, $usersoffset, 35, $show['total_users']." - ", $tc); 
ImageString($im, 2, $usersoffset2, 35, "  Online: ".$show['reg_online']." and ".$show['guests_online']." guest".(($show['guests_online'] > 1 || !$show['guests_online'])? "s" : ""), $red); 
ImageString($im, 2, $leftoffset, 45, $lang_new_user, $tc); 
ImageString($im, 2, $newuseroffset, 45, $show['new_user'], $tc); 
header("Content-Type: image/png"); 
Imagepng($im); 
ImageDestroy ($im); 
?>


