home *** CD-ROM | disk | FTP | other *** search
/ Internet 1996 World Exposition / park.org.s3.amazonaws.com.7z / park.org.s3.amazonaws.com / cgi-bin / Japan / Theme.0105 / meet.cgi < prev    next >
Text File  |  2017-09-21  |  3KB  |  139 lines

  1. #!/usr/local/bin/perl5
  2.  
  3. $| = 1;
  4.  
  5. # script for meeting room
  6.  
  7. # jrh
  8. $CgiPath      = '/stage/htdocs/cgi-bin/Japan/Theme';
  9. push(@INC, "$CgiPath");
  10. require 'jcode.pl'; # tends to be in /usr/local/lib/perl
  11. require 'read-form.pl'; # tends to be in your cgi path
  12. require 'meetinit.pl';
  13. require 'frames.pl';
  14.  
  15. $ThisFile = '/stage/htdocs/cgi-bin/Japan/Theme/meet.cgi';
  16.  
  17. # print "Content-type: text/html\n\n";
  18.  
  19. &read_in_data;
  20. &init_dbm;
  21. &calculate_frame;
  22. &print_frame;
  23. &close_dbm;
  24.  
  25. #########################################################################
  26.  
  27.  
  28.  
  29.  
  30. sub read_in_data {
  31.  
  32.   # read in submitted form data contents into the hash %FormDataHash
  33.   &ReadInFormData(\%FormDataHash);
  34.   $GifName = $FormDataHash{'gif'};
  35.   $UserName = $FormDataHash{'username'};
  36.   $ParkName = $FormDataHash{'park'};
  37.  
  38. # print "$FormDataHash{'gif'}\n";
  39. # print "$FormDataHash{'username'}\n";
  40. }
  41.  
  42. sub init_dbm {
  43.     
  44.   $LastPath = "$ThemePath/$ParkName/park/dbm/$LastAccess";   
  45.   $UserPath = "$ThemePath/$ParkName/park/dbm/$UserAccess";   
  46.   $GifPath = "$ThemePath/$ParkName/park/dbm/$GifNumber";   
  47.   $TextPath = "$ThemePath/$ParkName/park/dbm/$TextLocation";
  48.   $ColorFilePath = "$ThemePath/$ParkName/park/dbm/$ColorFile";   
  49.   $ColorNamesPath = "$ThemePath/$ParkName/park/dbm/$ColorNames";   
  50.   dbmopen(%LastAccessToPage,$LastPath,0666);
  51.   dbmopen(%UserAccessToPage,$UserPath,0666);
  52.   dbmopen(%GifToPage,$GifPath,0666);
  53.   dbmopen(%TextDB,$TextPath,0666);
  54.   dbmopen(%Colors,$ColorFilePath,0666);
  55.   dbmopen(%ColorName,$ColorNamesPath,0666);
  56.   
  57. }
  58.  
  59. sub calculate_frame {
  60.  
  61.   $Accessing = 0;
  62.   $ExpireTime = time - $ExpiryTime; 
  63.   $LastKey = 1;
  64.   $WhileNo = $FrameNo + 1;
  65.  
  66.   while ($Key < $WhileNo) {
  67.  
  68.     if ($UserName eq $UserAccessToPage{$Key}) {
  69.       $Accessing = 1;
  70.       $LastAccessToPage{$Key} = time;
  71.     }
  72.     $Key++;
  73.   }  
  74.  
  75.   $Key = 1;
  76.  
  77.   while ($Key < $WhileNo) {
  78.     if ($LastAccessToPage{$Key} gt 0) {
  79.       if ($LastAccessToPage{$Key} < $ExpireTime) {
  80.         $CleanKey = $Key;
  81.         $UserAccessToPage{$Key} = "vacant";
  82.         $LastAccessToPage{$Key} = 0;
  83.         $GifToPage{$Key} = "$ThemeSite$ThemeURL/$ParkName/park/image/vacancy.gif";
  84.         &clean_frame;
  85.       }
  86.     }
  87.     $Key++;
  88.   }
  89. }
  90.  
  91.  
  92. sub print_frame {
  93.  
  94.   select(STDOUT);
  95.   # tell the server that we're sending data back now
  96.   print "Content-type: text/html\n\n";
  97.  
  98.   # now send the server some html stuff
  99.   print "<HTML>\n\n";
  100.  
  101.   print "<HEAD>\n\n";
  102.   print "<META HTTP-EQUIV=REFRESH CONTENT=\"10; URL=$ThemeCgi/meet.cgi?gif=$GifName&username=$UserName&park=$ParkName\">";
  103.   print "<TITLE>Frame 1</TITLE>\n";
  104.   print "</HEAD>\n\n";
  105.  
  106.   print "<BODY BGCOLOR=\"#000000\">\n\n";
  107.  
  108.   print "<CENTER>\n";
  109.   print "<FONT COLOR=\"#cccccc\"><H1>Text Chat</H1></FONT>\n\n";
  110.   print "</CENTER>\n";
  111.  
  112.   foreach $Key (sort(keys(%TextDB))) {
  113.     print "$TextDB{$Key}\n\n";
  114.     print "</FONT>\n\n";
  115.     print "<BR>\n\n";
  116.     print "<BR>\n\n";
  117.   }
  118.  
  119.   print "<P></P>";
  120.  
  121.   print "</BODY>\n\n";
  122.  
  123.   print "</HTML>\n\n";
  124. }
  125.  
  126.  
  127. sub close_dbm {
  128.  
  129.   dbmclose(%LastAccessToPage);
  130.   dbmclose(%UserAccessToPage);
  131.   dbmclose(%TextDB);
  132.   dbmclose(%Colors);
  133.   dbmclose(%ColorName);
  134.  
  135. }
  136.  
  137.  
  138.  
  139.