2 /******************************* PHP-P10 v2 *****************************
3 * Copyright (C) 2011-2012 Philipp Kreil (pk910) *
5 * This program is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 3 of the License, or *
8 * (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 ************************************************************************
20 * ModCMD/Binding.class.php
31 public function __construct($bot, $method, $filter) {
33 $this->method = $method;
34 $this->filter = $filter;
37 public function trigger($params) {
38 call_user_func_array(array($this->bot, $this->method), $params);
41 public function match($bot, $method, $filter) {
42 return ($bot === $this->bot && (!$method || strtolower($this->method) == strtolower($method)) && (!$filter || $this->match_filter($filter, false)));
45 public function match_filter($filter, $preg = true) {
46 if(!$this->filter) return true;
47 if(is_object($filter) || is_object($this->filter)) {
48 return $filter === $this->filter;
49 } else if($preg && is_string($filter && is_string($this->filter))) {
50 return preg_match($this->filter, $filter);
52 return $filter == $this->filter;