added HALFOP (+h, %) support and Binding filters
[PHP-P10.git] / ModCMD / Binding.class.php
index 5bf9a75fd1026e8d0b6e5ac1433a561c7b1766a0..ed980c0219e8997b1388e80e1b1eca17a174ad16 100644 (file)
 class Binding {
        private $bot;
        private $method;
+    private $filter;
        
-       public function __construct($bot, $method) {
+       public function __construct($bot, $method, $filter) {
                $this->bot = $bot;
                $this->method = $method;
+        $this->filter = $filter;
        }
        
        public function trigger($params) {
                call_user_func_array(array($this->bot, $this->method), $params);
        }
        
-       public function match($bot, $method) {
-               return ($bot === $this->bot && (!$method || strtolower($this->method) == strtolower($method)));
+       public function match($bot, $method, $filter) {
+               return ($bot === $this->bot && (!$method || strtolower($this->method) == strtolower($method)) && (!$filter || $this->match_filter($filter, false)));
        }
        
+    public function match_filter($filter, $preg = true) {
+        if(!$this->filter) return true;
+        if(is_object($filter) || is_object($this->filter)) {
+            return $filter === $this->filter;
+        } else if($preg && is_string($filter && is_string($this->filter))) {
+            return preg_match($this->filter, $filter);
+        } else
+            return $filter == $this->filter;
+    }
 }
 
 ?>
\ No newline at end of file