[TASK] Some Bugfixes.
This commit is contained in:
parent
bdd9f671ad
commit
3bd7a6e0f9
@ -30,7 +30,7 @@ abstract class Client_AbstractClient {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Injects ProtocolHandler
|
* Injects ProtocolHandler
|
||||||
* @param unknown_type $protocolHandler
|
* @param mixed $protocolHandler instance of Protocol_AbstractProtocolHandler
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function injectProtocolHandler($protocolHandler) {
|
public function injectProtocolHandler($protocolHandler) {
|
||||||
@ -43,7 +43,7 @@ abstract class Client_AbstractClient {
|
|||||||
* @param string $rawData
|
* @param string $rawData
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function putRawData($rawData) {
|
public function processRawData($rawData) {
|
||||||
$contentObject = $this->protocolHandler->parse($rawData);
|
$contentObject = $this->protocolHandler->parse($rawData);
|
||||||
$this->processContentObject($contentObject);
|
$this->processContentObject($contentObject);
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,8 @@ class Client_BotClient extends Client_AbstractClient {
|
|||||||
* @param string $data
|
* @param string $data
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function processData($data) {
|
public function processContentObject($contentObject) {
|
||||||
|
$data = $contentObject->rawData;
|
||||||
if(strpos($data, "-") !== FALSE ) {
|
if(strpos($data, "-") !== FALSE ) {
|
||||||
$data = explode("-", $data);
|
$data = explode("-", $data);
|
||||||
$this->clientManager->sendToID((int) $data[0], $data[1]."\r\n");
|
$this->clientManager->sendToID((int) $data[0], $data[1]."\r\n");
|
||||||
|
@ -94,7 +94,7 @@ class Client_ClientManager {
|
|||||||
if(isset($this->clientPool[$connectionHandler->getID()])) {
|
if(isset($this->clientPool[$connectionHandler->getID()])) {
|
||||||
//let the client process the data, send the results back.
|
//let the client process the data, send the results back.
|
||||||
while($data = $connectionHandler->read()) {
|
while($data = $connectionHandler->read()) {
|
||||||
$result = $this->clientPool[$connectionHandler->getID()]->processData($data);
|
$result = $this->clientPool[$connectionHandler->getID()]->processRawData($data);
|
||||||
if($result !== "") {
|
if($result !== "") {
|
||||||
$connectionHandler->write($result);
|
$connectionHandler->write($result);
|
||||||
}
|
}
|
||||||
@ -178,7 +178,9 @@ class Client_ClientManager {
|
|||||||
$client->loadConfig($this->configPool[$connectionHandler->getID()]);
|
$client->loadConfig($this->configPool[$connectionHandler->getID()]);
|
||||||
}
|
}
|
||||||
$client->injectClientManager($this);
|
$client->injectClientManager($this);
|
||||||
$client->injectProtocolHandler(new Protocol_IrcProtocolHandler());
|
$className = "Protocol_".$protocol."ProtocolHandler";
|
||||||
|
$protocolHandler = new $className();
|
||||||
|
$client->injectProtocolHandler($protocolHandler);
|
||||||
$client->setID($connectionHandler->getID());
|
$client->setID($connectionHandler->getID());
|
||||||
$client->setGroup($connectionHandler->getGroup());
|
$client->setGroup($connectionHandler->getGroup());
|
||||||
$this->clientPool[$connectionHandler->getID()] = $client;
|
$this->clientPool[$connectionHandler->getID()] = $client;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* @author JPT
|
* @author JPT
|
||||||
* @package Protocol
|
* @package Protocol
|
||||||
*/
|
*/
|
||||||
class IrcProtocolHandler extends Protocol_AbstractProtocolHandler {
|
class Protocol_IrcProtocolHandler extends Protocol_AbstractProtocolHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $data
|
* @param string $data
|
||||||
|
10
Classes/Protocol/RawProtocolContentObject.php
Normal file
10
Classes/Protocol/RawProtocolContentObject.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Raw ContentObject
|
||||||
|
* @author JPT
|
||||||
|
* @package Protocol
|
||||||
|
*/
|
||||||
|
class Protocol_RawProtocolContentObject extends Protocol_AbstractProtocolContentObject {
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
17
Classes/Protocol/RawProtocolHandler.php
Normal file
17
Classes/Protocol/RawProtocolHandler.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* A 1:1 passthrough handler
|
||||||
|
* @author JPT
|
||||||
|
* @package Protocol
|
||||||
|
*/
|
||||||
|
class Protocol_RawProtocolHandler extends Protocol_AbstractProtocolHandler {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $data
|
||||||
|
* @return Protocol_RawProtocolContentObject
|
||||||
|
*/
|
||||||
|
public function parse($data) {
|
||||||
|
return new Protocol_RawProtocolContentObject($data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
@ -3,7 +3,7 @@ $clientManager = new Client_ClientManager();
|
|||||||
$clientManager->registerProtocol("irc", "Client_IrcClient");
|
$clientManager->registerProtocol("irc", "Client_IrcClient");
|
||||||
$clientManager->registerProtocol("jpt", "Client_BotClient");
|
$clientManager->registerProtocol("jpt", "Client_BotClient");
|
||||||
|
|
||||||
$freenode = $clientManager->createTcpConnection("freenode", "irc");
|
$freenode = $clientManager->createTcpConnection("freenode", "Irc");
|
||||||
$clientManager->attachConfig(array(
|
$clientManager->attachConfig(array(
|
||||||
"nick" => "Testinstanz",
|
"nick" => "Testinstanz",
|
||||||
"userident" => "uzuguck",
|
"userident" => "uzuguck",
|
||||||
@ -11,7 +11,7 @@ $clientManager->attachConfig(array(
|
|||||||
), $freenode);
|
), $freenode);
|
||||||
$freenode->connect("irc.freenode.net", 6667);
|
$freenode->connect("irc.freenode.net", 6667);
|
||||||
|
|
||||||
$freenode = $clientManager->createTcpConnection("freenode", "irc");
|
$freenode = $clientManager->createTcpConnection("freenode", "Irc");
|
||||||
$clientManager->attachConfig(array(
|
$clientManager->attachConfig(array(
|
||||||
"nick" => "Testinstanz2",
|
"nick" => "Testinstanz2",
|
||||||
"userident" => "uzuguck",
|
"userident" => "uzuguck",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user