home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 2.x / plum2_32_1.lzh / module / user / nick / client.plm
Text File  |  1999-02-20  |  4KB  |  136 lines

  1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- $_ if 0; # -*- perl -*-
  2. # $Id: client.plm,v 2.11 1998/12/20 02:17:13 hasegawa Exp $
  3. # copyright (c)1997-1998 Yoshinori Hasegawa <hasegawa@madoka.org>
  4.  
  5. package user_nick_client;
  6.  
  7. $_ = 'user_nick_client';
  8.  
  9. sub client_open {
  10.   local($clientno) = @_;
  11.   local($userno, $sno);
  12.   $userno = $'userno[$clientno];
  13.   $sno = $'server[$clientno];
  14.   return unless ($sno && $'avail[$sno]);
  15.   foreach $cno (&'array($'clientlist)) {
  16.     next unless $'avail[$cno];
  17.     return if $'server[$cno] == $sno && $cno != $clientno;
  18.   }
  19.   $nicklist[$sno] = '';
  20.   foreach $list (&'property($userno, 'stay')) {
  21.     $nicklist[$sno] = &'add($nicklist[$sno], split(/\,/, $list));
  22.   }
  23.   return unless $nicklist[$sno];
  24.   &'s_print($sno, '', 'NICK', (&'array($nicklist[$sno]))[0]);
  25.   $flag[$sno] = 1;
  26. }
  27.  
  28. sub client_close {
  29.   local($clientno) = @_;
  30.   local($userno, $sno);
  31.   $userno = $'userno[$clientno];
  32.   $sno = $'server[$clientno];
  33.   return unless ($sno && $'avail[$sno]);
  34.   foreach $cno (&'array($'clientlist)) {
  35.     next unless $'avail[$cno];
  36.     return if $'server[$cno] == $sno;
  37.   }
  38.   $nicklist[$sno] = '';
  39.   foreach $list (&'property($userno, 'away')) {
  40.     $nicklist[$sno] = &'add($nicklist[$sno], split(/\,/, $list));
  41.   }
  42.   return unless $nicklist[$sno];
  43.   &'s_print($sno, '', 'NICK', (&'array($nicklist[$sno]))[0]);
  44.   $flag[$sno] = 1;
  45. }
  46.  
  47. sub ss_nick {
  48.   local($serverno, $prefix, $cmd, @params) = @_;
  49.   $nick = &'prefix($prefix);
  50.   $flag[$serverno] = 0 if $params[0] eq $'nick[$serverno];
  51.   return ($prefix, $cmd, @params);
  52. }
  53.  
  54. sub ss_433 {
  55.   local($serverno, $prefix, $cmd, @params) = @_;
  56.   &anothernick($serverno, $params[0], $params[1]) if $flag[$serverno];
  57.   return ($prefix, $cmd, @params);
  58. }
  59.  
  60. sub ss_437 {
  61.   local($serverno, $prefix, $cmd, @params) = @_;
  62.   &anothernick($serverno, $params[0], $params[1]) if $flag[$serverno];
  63.   return ($prefix, $cmd, @params);
  64. }
  65.  
  66. sub anothernick {
  67.   local($serverno, $nick, $newnick) = @_;
  68.   local($userno, @nickentry);
  69.   return if $nick ne $'nick[$serverno];
  70.   $userno = $'userno[$serverno];
  71.   @nickentry = &'array($nicklist[$serverno]);
  72.   return if $nickentry[$#nickentry] eq $newnick;
  73.   if (&'exist($nicklist[$serverno], $newnick)) {
  74.     while ($nickentry[0] ne $newnick) {
  75.       push(@nickentry, shift(@nickentry));
  76.     }
  77.     push(@nickentry, shift(@nickentry));
  78.   }
  79.   &'s_print($serverno, '', 'NICK', $nickentry[0]);
  80. }
  81.  
  82. __END__
  83. --><HTML><HEAD>
  84. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP">
  85. <LINK REV="made" HREF="mailto:hasegawa@madoka.org">
  86. <TITLE>user/nick/client.plm</TITLE></HEAD><BODY>
  87.  
  88. $B%*%s%i%$%s%I%-%e%a%s%H(B
  89.  
  90.  
  91. <HR><H3>$BL>A0(B</H3>
  92.  
  93. user/nick/client.plm - $B%/%i%$%"%s%H$H$N@\B3>uBV$K$h$C$F%K%C%/%M!<%`$rJQ99$9$k(B
  94.  
  95.  
  96. <HR><H3>$B@bL@(B</H3>
  97.  
  98. plum$B$K%/%i%$%"%s%H$,@\B3$5$l$F$$$k$+$I$&$+$K$h$C$F!"(B
  99. $B%K%C%/%M!<%`$rJQ99$7$^$9!#(B
  100.  
  101.  
  102. <HR><H3>$B%W%m%Q%F%#(B</H3>
  103.  
  104. <DL>
  105. <DT>  user.nick.client.stay* ($B%K%C%/%M!<%`(B)
  106. </DT>
  107. <DD>    $B%/%i%$%"%s%H$,@\B3$5$l$F$$$k$H$-$N%K%C%/%M!<%`$r;XDj$7$^$9!#(B
  108.         $B;XDj$7$?%K%C%/%M!<%`$,$9$G$K;H$o$l$F$$$F!"(B
  109.         $B$=$N%K%C%/%M!<%`$KJQ99$G$-$J$$$H$-$O!"(B
  110.         $B:G=i$K;XDj$7$?$b$N$+$i=gHV$KJQ99$7$^$9!#(B
  111. </DD>
  112. <DT>  user.nick.client.away* ($B%K%C%/%M!<%`(B)
  113. </DT>
  114. <DD>    $B%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$N%K%C%/%M!<%`$r;XDj$7$^$9!#(B
  115.         $B;XDj$7$?%K%C%/%M!<%`$,$9$G$K;H$o$l$F$$$F!"(B
  116.         $B$=$N%K%C%/%M!<%`$KJQ99$G$-$J$$$H$-$O!"(B
  117.         $B:G=i$K;XDj$7$?$b$N$+$i=gHV$KJQ99$7$^$9!#(B
  118. </DD>
  119. </DL>
  120.  
  121.  
  122. <HR><H3>$B@_DjNc(B</H3>
  123.  
  124. <PRE>
  125. + user/nick/client.plm
  126. user.nick.client.stay: pupu_j
  127. user.nick.client.away: pupu_d,pupu_Zzz
  128. </PRE>
  129.  
  130. $B%/%i%$%"%s%H$,@\B3$5$l$F$$$k$H$-$N%K%C%/%M!<%`$r!V(Bpupu_j$B!W$K!"(B
  131. $B%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$N%K%C%/%M!<%`$r!V(Bpupu_d$B!W$K$7$^$9!#(B
  132. $B!V(Bpupu_d$B!W$H$$$&%K%C%/%M!<%`$N?M$,$9$G$KB8:_$9$k$H$-$O!"(B
  133. $B!V(Bpupu_Zzz$B!W$H$$$&%K%C%/%M!<%`$r;H$$$^$9!#(B
  134.  
  135. </BODY></HTML>
  136.