fixed ExampleBot.class.php
[PHP-P10.git] / Uplink / Uplink.class.php
index 345ceb8312c25131cc1c0d1f0fd3919ac733767c..c88c2ea211c5870caa3e9e5441794b3be837650e 100644 (file)
@@ -253,6 +253,15 @@ class Uplink {
                        case "OM":
                                $this->recv_mode($from, $arguments);
                                break;
+            case "AC":
+                               $this->recv_account($from, $arguments);
+                               break;
+            case "FA":
+                               $this->recv_fakehost($from, $arguments);
+                               break;
+            case "NFH":
+                               $this->recv_newfakehost($from, $arguments);
+                               break;
                //default
                        default:
                                //unknown cmd
@@ -715,6 +724,44 @@ class Uplink {
                                $this->eventHandler->event_usermode($targetUser, $modes);
                }
        }
+    
+    private function recv_account($from, $args) {
+               $user = P10_User::getUserByNum($args[0]);
+               if($user == null) {
+                       trigger_error("Server tries to send an auth announce from an user that does not exist or was not found on recv_account.", E_USER_ERROR);
+                       return;
+               }
+               $auth = $args[1];
+               $user->getModes()->setModes("+r ".$auth);
+        if($this->eventHandler)
+            $this->eventHandler->event_usermode($user, "+r ".$auth);
+       }
+    
+    private function recv_fakehost($from, $args) {
+               $user = P10_User::getUserByNum($args[0]);
+               if($user == null) {
+                       trigger_error("Server tries to send a fakehost change from an user that does not exist or was not found on recv_fakehost.", E_USER_ERROR);
+                       return;
+               }
+               $fakehost = $args[1];
+               $user->getModes()->setModes("+f ".$fakehost);
+        if($this->eventHandler)
+            $this->eventHandler->event_usermode($user, "+f ".$fakehost);
+       }
+    
+    private function recv_newfakehost($from, $args) {
+               $user = P10_User::getUserByNum($args[0]);
+               if($user == null) {
+                       trigger_error("Server tries to send a fakehost change from an user that does not exist or was not found on recv_fakehost.", E_USER_ERROR);
+                       return;
+               }
+        $fakeident = $args[1];
+               $fakehost = $args[2];
+        $user->setIdent($fakeident);
+               $user->getModes()->setModes("+f ".$fakehost);
+        if($this->eventHandler)
+            $this->eventHandler->event_usermode($user, "+f ".$fakehost);
+       }
        
        /********************************************************************************************
         *                                     SERVER FUNCTIONS                                     *