home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / plum2_33_1.lzh / module / log / client.plm < prev    next >
Text File  |  1999-03-24  |  3KB  |  131 lines

  1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- $_ if 0; # -*- perl -*-
  2. # $Id: client.plm,v 2.11 1999/01/17 02:36:19 hasegawa Exp $
  3. # copyright (c)1997-1999 Yoshinori Hasegawa <hasegawa@madoka.org>
  4.  
  5. package log_client;
  6.  
  7. $DIRECTORY = '.';
  8. $FILE = 'logclient';
  9. $HEADER = '%H:%M';
  10.  
  11. $_ = 'log_client';
  12.  
  13. sub client_read {
  14.   local($clientno, $line) = @_;
  15.   &writelog($'userno[$clientno], $line);
  16.   return ($line);
  17. }
  18.  
  19. sub writelog {
  20.   local($userno, $line) = @_;
  21.   local($file, $dir, $name, $code, $header, $mode);
  22.   $file = &'property($userno, 'file') || $FILE;
  23.   ($name, $code) = &filename($file);
  24.   if ($name !~ /^[\\\/]/) {
  25.     $dir = &'expand(&'property($userno, 'directory') || $DIRECTORY);
  26.     $name = "$dir/$name";
  27.   }
  28.   $name = &'date($name);
  29.   $header = &'property($userno, 'header');
  30.   $header = $HEADER unless defined($header);
  31.   $header = &'date($header);
  32.   $line = &jis_code($line, $code) if $code;
  33.   if (!-e $name) {
  34.     if (open(FILE, ">$name")) {
  35.       close(FILE);
  36.       $mode = &'property($userno, 'mode');
  37.       if (defined($mode)) {
  38.         chmod(oct($mode), $name);
  39.       }
  40.     }
  41.   }
  42.   if (open(FILE, ">>$name")) {
  43.     print FILE $header, ' ', $line, "\n";
  44.     close(FILE);
  45.   }
  46. }
  47.  
  48. sub filename {
  49.   local($file) = @_;
  50.   local($idx, $name, $code);
  51.   return ('', '') unless $file;
  52.   if (($idx = rindex($file, ';')) != -1) {
  53.     $name = substr($file, 0, $idx);
  54.     $code = substr($file, $idx + 1);
  55.   } else {
  56.     $name = $file;
  57.     $code = '';
  58.   }
  59.   return (&'expand($name), $code);
  60. }
  61.  
  62. sub jis_code {
  63.   local($line, $list) = @_;
  64.   local($code);
  65.   $code = (split(/\,/, "\L$list\E"))[0];
  66.   if ($code eq 'euc') {
  67.     $line = &'jis_euc($line);
  68.   } elsif ($code eq 'jis') {
  69.     $line = &'jis_jis($line);
  70.   } elsif ($code eq 'sjis') {
  71.     $line = &'jis_sjis($line);
  72.   }
  73.   return $line;
  74. }
  75.  
  76. __END__
  77. --><HTML><HEAD>
  78. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP">
  79. <LINK REV="made" HREF="mailto:hasegawa@madoka.org">
  80. <TITLE>log/client.plm</TITLE></HEAD><BODY>
  81.  
  82. $B%*%s%i%$%s%I%-%e%a%s%H(B
  83.  
  84.  
  85. <HR><H3>$BL>A0(B</H3>
  86.  
  87. log/client.plm - $B%/%i%$%"%s%H$+$i$NF~NO$r%m%0$H$7$FJ]B8$9$k(B
  88.  
  89.  
  90. <HR><H3>$B@bL@(B</H3>
  91.  
  92. $B%/%i%$%"%s%H$+$iF~NO$r$9$Y$F%m%0$KJ]B8$7$^$9!#(B
  93.  
  94.  
  95. <HR><H3>$B%W%m%Q%F%#(B</H3>
  96.  
  97. <DL>
  98. <DT>  log.client.directory $B%G%#%l%/%H%j(B
  99. </DT>
  100. <DD>    $B%m%0$rJ]B8$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B
  101.         $B%G%U%)%k%H$G$O%+%l%s%H%G%#%l%/%H%j$KJ]B8$7$^$9!#(B
  102. </DD>
  103. <DT>  log.client.file $B%U%!%$%kL>(B
  104. </DT>
  105. <DD>    $B%m%0$N%U%!%$%kL>$r;XDj$7$^$9!#(B
  106.         %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$kF|IU$KJQ49$5$l$^$9!#(B
  107.         $B%G%U%)%k%H$G$O!V(Blogclient$B!W$H$$$&%U%!%$%k$KJ]B8$7$^$9!#(B
  108. </DD>
  109. <DT>  log.client.header $B$X%C%@(B
  110. </DT>
  111. <DD>    $B%m%0$K=PNO$9$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B
  112.         %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
  113. </DD>
  114. <DT>  log.client.mode $B%U%!%$%k%b!<%I(B
  115. </DT>
  116. <DD>    $B%m%0$N%U%!%$%k%b!<%I$r;XDj$7$^$9!#(B
  117. </DD>
  118. </DL>
  119.  
  120. <HR><H3>$B@_DjNc(B</H3>
  121.  
  122. <PRE>
  123. + log/client.plm
  124. log.client.file: client%m%d
  125. </PRE>
  126.  
  127. $B%/%i%$%"%s%H$+$i$NF~NO$r!V(Bclient%m%d$B!W$KJ]B8$7$^$9!#(B
  128. $B!V(B%m$B!W$H!V(B%d$B!W$O$=$l$>$l8=:_$N7n$HF|$KJQ49$5$l$^$9!#(B
  129.  
  130. </BODY></HTML>
  131.