home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 2.x / plum2_28_2.lzh / module / ctcp / part.plm < prev    next >
Text File  |  1998-10-15  |  2KB  |  101 lines

  1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- $_ if 0; # -*- perl -*-
  2. # $Id: part.plm,v 2.10 1998/07/31 09:42:30 hasegawa Exp $
  3. # copyright (c)1997-1998 pupu_j <hasegawa@agusa.nuie.nagoya-u.ac.jp>
  4.  
  5. package ctcp_part;
  6.  
  7. $CLIENTINFO = 'PART';
  8.  
  9. $_ = 'ctcp_part';
  10.  
  11. sub cpss_part {
  12.   local($serverno, $prefix, $cmd, @params) = @_;
  13.   local($userno, $regex, $nick);
  14.   $nick = &'prefix($prefix);
  15.   $userno = $'userno[$serverno];
  16.   if (&checkmask($userno, $prefix, $params[1])) {
  17.     &'s_print($serverno, '', 'PART', &'real($params[1]), $nick);
  18.     return ();
  19.   }
  20.   return ($prefix, $cmd, @params);
  21. }
  22.  
  23. sub checkmask {
  24.   local($userno, $prefix, $chan) = @_;
  25.   local($user, $chlist, $list);
  26.   foreach $mask (&'property($userno, 'mask')) {
  27.     ($user, $chlist) = split(/\s+/, $mask);
  28.     $list = '';
  29.     foreach $vchan (split(/\,/, $chlist || '')) {
  30.       $list = &'add($list, &'real($vchan));
  31.     }
  32.     if ($chan =~ /^[\#\&\+]/) {
  33.       next unless (!$list || &'exist($list, $chan));
  34.     } else {
  35.       next unless (!$list || &'exist($list, '*'));
  36.     }
  37.     if ($user =~ /^\-/) {
  38.       $regex = &'regex(substr($user, 1));
  39.       return 0 if $prefix =~ /$regex/i;
  40.     }
  41.     if ($user =~ /^\+/) {
  42.       $regex = &'regex(substr($user, 1));
  43.     } else {
  44.       $regex = &'regex($user);
  45.     }
  46.     return 1 if $prefix =~ /$regex/i;
  47.   }
  48.   return 0;
  49. }
  50.  
  51. __END__
  52. --><HTML><HEAD>
  53. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP">
  54. <LINK REV="made" HREF="mailto:hasegawa@agusa.nuie.nagoya-u.ac.jp">
  55. <TITLE>ctcp/part.plm</TITLE></HEAD><BODY>
  56.  
  57. $B%*%s%i%$%s%I%-%e%a%s%H(B
  58.  
  59.  
  60. <HR><H3>$BL>A0(B</H3>
  61.  
  62. ctcp/part.plm - CTCP PART$B$KH?1~$7$F%A%c%s%M%k$rH4$1$k(B
  63.  
  64.  
  65. <HR><H3>$B@bL@(B</H3>
  66.  
  67. CTCP PART$B$,Aw$i$l$F$-$?$H$-!"(B
  68. $B$=$l$KH?1~$7$F;XDj$5$l$?%A%c%s%M%k$rH4$1$^$9!#(B
  69.  
  70.  
  71. <HR><H3>$B%W%m%Q%F%#(B</H3>
  72.  
  73. <DL>
  74. <DT>  ctcp.part.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
  75. </DT>
  76. <DD>    CTCP PART$B$,Aw$i$l$F$-$?$H$-!"Aw$j<g$*$h$S%A%c%s%M%k$,(B
  77.         $B$3$3$G;XDj$5$l$?$b$N$K%^%C%A$7$?$i!"$=$N%A%c%s%M%k$rH4$1$^$9!#(B
  78. </DD>
  79. </DL>
  80.  
  81.  
  82. <HR><H3>$B@_DjNc(B</H3>
  83.  
  84. <PRE>
  85. + ctcp/part.plm
  86. ctcp.part.mask: *!*@* #$B$^$I$+(B
  87. </PRE>
  88.  
  89. $B!V(B#$B$^$I$+!W$rH4$1$k$h$&$K(BCTCP PART$B$,Aw$i$l$F$-$?>l9g!"(B
  90. $B!V(B#$B$^$I$+!W$+$iH4$1$^$9!#(B
  91.  
  92. <PRE>
  93. + ctcp/part.plm
  94. ctcp.part.mask: *!*@*.jp
  95. </PRE>
  96.  
  97. CTCP PART$B$,Aw$i$l$F$-$?$H$-!"$=$l$rAw$C$??M$,!V(B*!*@*.jp$B!W$K%^%C%A$7$?$i!"(B
  98. $B$=$N%A%c%s%M%k$rH4$1$^$9!#(B
  99.  
  100. </BODY></HTML>
  101.