"overview");
  public function admin_overview($action, $vars)
  {
    switch($action) {
    default:
      break;
    }
  }
  public function admin($sub, $action, $vars)
  {
    switch($sub) {
    case "overview":
      $this->admin_overview($action, $vars);
      break;
    }
  }
	/*
  public function write()
  {
    $fp = fopen($this->file, "w");
    fwrite($fp, "\n");
    fwrite($fp, "\n");
    foreach($this->configs as $name => $value) {
      fwrite($fp, "  \n");
    }
    fwrite($fp, "\n");
    fclose($fp);
  }
  */
  private function read($file)
  {
    /*
    $dom = new DomDocument;
    $dom->preserveWhiteSpace = TRUE;
    $dom->load($this->file);
    $configElems = $dom->getElementsByTagName('config');
    foreach ($configElems as $config) {
      $this->setValue($config->getAttribute('name'),
		      unserialize(htmlspecialchars_decode($config->getAttribute('value'), ENT_QUOTES)));
    }
    */
  }
  public function log($loadtime)
  {
    $now = time();
    $str = "".
      "". // Time
      "".xmlenc($_SERVER['REMOTE_ADDR'])."". // remote ip
      "".xmlenc($_SERVER['REMOTE_HOST'])."". // remote hostname
      "".xmlenc($loadtime)."". // Loadtime
      "".xmlenc($GLOBALS['page'])."". // Page
      //      $_SERVER['REMOTE_PORT'] . // current port
      //      $_SERVER['SCRIPT_FILENAME'] . // script name
      "".xmlenc($_SERVER['HTTP_USER_AGENT'])."". // User agent (browser)
      "".xmlenc($_SERVER['HTTP_REFERER'])."". // referer (link)
      "".xmlenc($_SERVER['REQUEST_URI'])."". // URI
      // GeoIP ??
      "\n";
    $file = $this->getFilename($now);
    if(!file_exists(dirname($file))) mkdir(dirname($file), 0777, true);
    $fp = fopen($file, "a");
    fwrite($fp, $str);
    fclose($fp);
  }
  private function getFilename($timestamp)
  {
    $year = "2010";
    $month = "03";
    $file = $this->statsdir . "/" . $year . "/" . $month . ".xml";
    return $file;
  }
  private function readSingle($timestamp)
  {
    $file = $this->getFilename($timestamp);
    if(file_exists($file)) $this->read($file);
  }
  private function readAll()
  {
  }
  public function SiteStats($statsdir, $readall = false)
  {
    $this->statsdir = $statsdir;
    if(file_exists($statsdir) && is_dir($statsdir)) {
      if($readall) {
        $this->readAll();
      } else {
        $this->readSingle(time());
      }
    }
  }
}
function sitestats_init()
{
  global $DATA_DIR;
  return new SiteStats($DATA_DIR."/sitestats", true);
}
?>