X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=Uplink%2FP10_ModeSets.class.php;fp=Uplink%2FP10_ModeSets.class.php;h=d5088a29fe53aad2fd7dc08853d17e1ba90aa4d4;hb=b692377ffd5176e4be4394997c149773eb9405f7;hp=e03521d24ab83fb25a426ed87a22ec36d2e6ce88;hpb=61ea565f8e0161c0f0f75aac75682941fc2a3611;p=PHP-P10.git diff --git a/Uplink/P10_ModeSets.class.php b/Uplink/P10_ModeSets.class.php index e03521d..d5088a2 100644 --- a/Uplink/P10_ModeSets.class.php +++ b/Uplink/P10_ModeSets.class.php @@ -224,7 +224,10 @@ class P10_ChannelModeSet { continue; } $flag = self::$modevalues[$mode]; - return ($this->modeflags & $flag); + if(self::$modevalues[$mode] == self::MODE_TYPE_B || self::$modevalues[$mode] == self::MODE_TYPE_C) { + return (($this->modeflags & $flag) ? $this->modeparams[$mode] : false); + } else + return ($this->modeflags & $flag); } } @@ -354,6 +357,18 @@ class P10_UserModeSet { return $modestr.$paramstr; } + public function hasMode($mode) { + if(!array_key_exists($mode, self::$modevalues)) { + trigger_error("unknown mode (".$mode.") on setModes (".$modes.").", E_USER_WARNING); + continue; + } + $flag = self::$modevalues[$mode]; + if(self::$modevalues[$mode] == self::MODE_WITH_PARAMETER) { + return (($this->modeflags & $flag) ? $this->modeparams[$mode] : false); + } else + return ($this->modeflags & $flag); + } + } ?> \ No newline at end of file