X-Git-Url: http://git.pk910.de/?p=PHP-P10.git;a=blobdiff_plain;f=Bots%2FPHPGod.class.php;h=355eb39f22f0204495c5042b172468cfa20b2dec;hp=5fc4b873a81436721892bd1afb32a90b7f9d3f15;hb=811bc0c7a1f583fb624a0f8c3601146e063c5a25;hpb=5cb4a51d7eee716c108e7071e0de392b4c512a57 diff --git a/Bots/PHPGod.class.php b/Bots/PHPGod.class.php index 5fc4b87..355eb39 100644 --- a/Bots/PHPGod.class.php +++ b/Bots/PHPGod.class.php @@ -1,22 +1,19 @@ . * * * ************************************************************************ * @@ -28,7 +25,7 @@ class {$_NAME} extends Bot { private $uplink; - private $php, $phpcache; + private $php, $phpcache = array(); public function load($uplink, $old = false) { $this->uplink = $uplink; @@ -43,6 +40,7 @@ class {$_NAME} extends Bot { if(is_a($this->php, "P10_User")) { $this->uplink->join($this->php, "#php", (P10_Channel::USERPRIV_OPED | P10_Channel::USERPRIV_VOICE)); $this->uplink->join($this->php, "#dev", P10_Channel::USERPRIV_VOICE); + $this->uplink->join($this->php, "#CoderCom", P10_Channel::USERPRIV_VOICE); } } else { $this->php = $old; @@ -53,7 +51,7 @@ class {$_NAME} extends Bot { } public function unload($rehash = false) { - foreach($this->phpcache as $id => &$php) { + foreach($this->phpcache as $id => $php) { fclose($php['pipes'][1]); fclose($php['pipes'][2]); proc_terminate($php['proc'],9); @@ -67,8 +65,8 @@ class {$_NAME} extends Bot { } public function loop() { - foreach($this->phpcache as $id => &$php) { - if(!$this->checkstate(&$php)) { + foreach($this->phpcache as $id => $php) { + if(!$this->checkstate($php)) { unset($this->phpcache[$id]); } } @@ -82,7 +80,7 @@ class {$_NAME} extends Bot { $opOnPHPChannel = ($privs & P10_Channel::USERPRIV_OPED); } if(!$user->getModes()->hasMode('o') && !$opOnPHPChannel) return 0; - $exp=explode(" ",$message); + $exp=explode(" ", $message, 2); switch (strtolower($exp[0])) { case "~php": if(count($this->phpcache) > 5) { @@ -98,7 +96,19 @@ class {$_NAME} extends Bot { return; } $entry['time'] = time(); - fwrite($entry['pipes'][0], "<"."?php ".$exp[1]." ?".">"); + if(preg_match("#pastebin\.com/([a-zA-Z0-9]*)$#i", $exp[1])) { + $pasteid = explode("/", $exp[1]); + $pasteid = $pasteid[count($pasteid)-1]; + $codecontent = file_get_contents("http://pastebin.com/download.php?i=".$pasteid); + if(preg_match("#Unknown Paste ID!#i", $codecontent)) { + $this->uplink->notice($this->bot, $user, "Unknown Paste ID!"); + return; + } + $code = $codecontent; + } else { + $code = "<"."?php " . $exp[1] . " ?".">"; + }; + fwrite($entry['pipes'][0], $code); fclose($entry['pipes'][0]); $this->phpcache[] = $entry; break; @@ -106,7 +116,7 @@ class {$_NAME} extends Bot { } function recive_quit($user, $reason) { - if($user === $this->modman) { + if($user === $this->php) { $this->load($this->uplink); } }