<?php
/******************************* PHP-P10 v2 *****************************
- * Copyright (C) 2011 Philipp Kreil (pk910) *
+ * Copyright (C) 2011-2012 Philipp Kreil (pk910) *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
- * *
+ * *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
************************************************************************
- *
+ *
* ModCMD/Binding.class.php
*
* a single Binding...
class Binding {
private $bot;
private $method;
- private $filter;
-
+ private $filter;
+
public function __construct($bot, $method, $filter) {
$this->bot = $bot;
$this->method = $method;
- $this->filter = $filter;
+ $this->filter = $filter;
}
-
+
public function trigger($params) {
call_user_func_array(array($this->bot, $this->method), $params);
}
-
+
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;
- }
+
+ 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