netid = $netid; $this->nicksallowed = $nicksallowed; $this->nicks = $nicks; } public function update($conn) { $tok = $conn->cmd('updateNetID', $this->netid, strval($this->nicksallowed), implode(',', $this->nicks)); return $conn->reply($tok); } } class IRCUser { public $username; public $netid; public $password; public function __construct($nick, $netid, $password) { $this->nick = $nick; $this->netid = $netid; $this->password = $password; } public function update($conn) { $tok = $conn->cmd('updateIRCUser', $this->nick, $this->netid, $this->password); return $conn->reply($tok) == "OK"; } public function delete($conn) { $tok = $conn->cmd('deleteIRCUser', $this->nick); return $conn->reply($tok) == "OK"; } } class IRCResource extends Resource { protected $conn; public function __construct($conn) { $this->conn = $conn; } protected function getNetID($netid) { $response = $this->conn->reply($this->conn->cmd('getNetID', $netid)); list($netid, $nicksallowed, $nicks) = explode(' ', $response, 3); $nicksallowed = intval($nicksallowed); if($nicks) $nicks = explode(',', $nicks); else $nicks = array(); return new NetID($netid, $nicksallowed, $nicks); } protected function getIRCUser($name) { $response = $this->conn->reply($this->conn->cmd('getIRCUser', $name)); if($response == "ERR") { return false; } else { list($username, $netid, $password) = explode(' ', $response); return new IRCUser($username, $netid, $password); } } } ?>