GGC

Neuigkeiten
Hauptseite
Links
English flag SourceForge Forum
English flag SourceForge Downloads
English flag Javadoc Dokumentation
Über dieses Projekt
English flag English version

Legales
Webseitenquellcode

SourceForge.net Logo


Sollten auf den oben genannten Seiten Probleme auftreten, wenden Sie sich bitte an den Sitemaster.

Best viewed with any browser

<?php
// We check if $relpath is set and set it to a default if not.
// The default is to assume we are called from a directory one level lower than the
// toplevel. This variable tells us the path to the main (toplevel) directory in
// relation to the including script. This is a rather hackish way of avoiding a
// config file.
if (!isset ($relpath)) $relpath='../';

// Central configuration for database access.
include_once ($relpath.'php/db.inc');

// Set lots of ini options to make session handling work on sourceforge.
ini_alter ('session.bug_compat_warn''off');
ini_alter ('arg_separator.input''&amp;');
ini_alter ('arg_separator.output''&amp;');
ini_alter ('session.use_only_cookies''1');

// use the project webspace to save session data
session_save_path ('/home/project-web/bediary/persistent/sessions');

// Currently only a wrapper for PHP's session_start () function.
function start_session ()
{
 
session_start ();
}

// Currently only a wrapper for PHP's session_destroy () function.
function end_session ()
{
 
session_destroy ();
}

// Currently only a wrapper for PHP's session_id () function.
function has_session ()
{
 return 
session_id ();
}

// This nice little function handles the visitor counter, using sessions to prevent
// us from counting somebody twice. It has the nice little side effect, that pages
// that don't exist are still counted if a user tries to access them.
// PARAMETERS:
//   +pname: Name of the visited page.
//   +lang: Language of the visited page
function num_visits ($pname$lang//pname is page name
{
 global 
$nodb;
 if (
$nodb) return 'Database not available';
 global 
$misctab;
 
$query='SELECT value FROM '.$misctab.' WHERE name LIKE "visits_'.mysql_real_escape_string($pname).'.'.$lang.'"';
 
//$query='CREATE TABLE misc (name VARCHAR(30) NOT NULL PRIMARY KEY, value VARCHAR(255))';
 //$query='INSERT INTO misc VALUES ("visits", "0")';
 
if ($result = @mysql_query ($query))
  
$row = @mysql_fetch_row ($result);
 else
 {
//  echo 'Error: '.mysql_error ();
  
@mysql_close ($db);
  return 
'Database not available';
 
// exit ();
 
}
 if (
$row[0] == '')
 {
  
$row[0] = 0;
  
$query 'INSERT INTO misc VALUES ("visits_'.mysql_real_escape_string($pname).'.'.$lang.'", "0")';
  if (!
mysql_query ($query))
  {
   
//echo 'Error: '.mysql_error ();
   
@mysql_close ($db);
   return 
'Database not available';
   
//exit ();
  
}
 }
 
$value $row[0];

 if (
has_session() && !$_SESSION['counted_'.$pname.'.'.$lang.''])
 {
  
$value++;
  
$query 'UPDATE '.$misctab.' SET value=(value+1) WHERE name LIKE "visits_'.
      
$pname.'.'.$lang.'"';
  if (!@
mysql_query ($query))
  {
   
//echo 'Error: '.mysql_error ();
   
@mysql_close ($db);
   return 
'Database not available';
   
//exit ();
  
}
 }
 global ${
'counted_'.$pname.'.'.$lang};
 ${
'counted_'.$pname.'.'.$lang} = TRUE;
 @
session_register ('counted_'.$pname.'.'.$lang);
 return 
$value;
}
?>

Besucherzähler: 11077