home *** CD-ROM | disk | FTP | other *** search
/ Enter 2002 January / EnterCD 1_2002.iso / Offline / Strona_Britney / online.php3 < prev    next >
Encoding:
Text File  |  2001-06-18  |  2.2 KB  |  116 lines

  1. <?
  2.  
  3. //-----------------------------------------------------------------------------------------------------------
  4. //  KONFIGURACJA
  5. //-----------------------------------------------------------------------------------------------------------
  6.  
  7. // czas przez jaki u┐ytkownik po wej╢ciu na stronΩ bΩdzie uwa┐any za pod│▒czonego (w sekundach)
  8. $assumed_time=300; 
  9.  
  10. // katalog w kt≤rym skrypt ma przechowywaµ dane
  11. $data_dir="data";
  12.  
  13. //-----------------------------------------------------------------------------------------------------------
  14. //  KONIEC KONFIGURACJI
  15. //-----------------------------------------------------------------------------------------------------------
  16.  
  17.  
  18. function add()
  19. {
  20.    global $assumed_time, $data_dir, $REMOTE_ADDR;
  21.  
  22.    $ctime=time();
  23.  
  24.    $file=fopen("$data_dir/users", "r");
  25.    flock($file, 1);
  26.  
  27.    while(!feof($file))
  28.    {
  29.       $addr=chop(fgets($file, 100));
  30.       if($addr)
  31.          $users[$addr]=(int)chop(fgets($file, 100));
  32.    }
  33.  
  34.    $users[$REMOTE_ADDR]=$ctime+$assumed_time;
  35.  
  36.    flock($file, 3);
  37.    fclose($file);
  38.  
  39.    $file=fopen("$data_dir/users", "w");
  40.    flock($file, 2);
  41.  
  42.    $n=0;
  43.  
  44.    while(list($user, $exp_time)=each($users))
  45.    {
  46.       if($exp_time>$ctime)
  47.       {
  48.          fputs($file, "$user\n$exp_time\n");
  49.          $n++;
  50.       }
  51.    }
  52.    
  53.    flock($file, 3);
  54.    fclose($file);
  55.  
  56.    $rec=file("$data_dir/rec");
  57.    if($n>(int)$rec[0])
  58.    {
  59.       $file=fopen("$data_dir/rec", "w");
  60.       flock($file, 2);
  61.  
  62.       fputs($file, "$n");
  63.  
  64.       flock($file, 3);
  65.       fclose($file);
  66.    }
  67. }
  68.  
  69.  
  70. function display()
  71. {
  72.    global $assumed_time, $data_dir, $REMOTE_ADDR;
  73.  
  74.    $ctime=time();
  75.    $n=0;
  76.  
  77.    $file=fopen("$data_dir/users", "r");
  78.    flock($file, 1);
  79.  
  80.    while(!feof($file))
  81.    {
  82.       $addr=chop(fgets($file, 100));
  83.       if(!$addr)
  84.          break;
  85.  
  86.       $users[$addr]=(int)chop(fgets($file, 100));
  87.       if($users[$addr]>$ctime)
  88.          $n++;
  89.    }
  90.  
  91.    echo($n);
  92. }
  93.  
  94.  
  95.  
  96. switch($ACTION)
  97. {
  98.    case "ADD":
  99.    add();
  100.    break;
  101.  
  102.    case "DISPLAY":
  103.    display();
  104.    break;
  105.  
  106.    case "STAT":
  107.    stat();
  108.    break;
  109.  
  110.    case "":
  111.    add();
  112.    display();
  113.    break;
  114. }
  115.  
  116. ?>