added recv_fakehost (FA) and recv_newfakehost (NFH) to Uplink.class.php
authorpk910 <philipp@zoelle1.de>
Sun, 11 Dec 2011 14:17:45 +0000 (15:17 +0100)
committerpk910 <philipp@zoelle1.de>
Sun, 11 Dec 2011 14:17:45 +0000 (15:17 +0100)
Uplink/Uplink.class.php

index d90324bf3e6e30bfb08ce5c1e4102c59232e7df5..c88c2ea211c5870caa3e9e5441794b3be837650e 100644 (file)
@@ -256,6 +256,12 @@ class Uplink {
             case "AC":
                                $this->recv_account($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
                //default
                        default:
                                //unknown cmd
@@ -730,6 +736,32 @@ class Uplink {
         if($this->eventHandler)
             $this->eventHandler->event_usermode($user, "+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                                     *
        
        /********************************************************************************************
         *                                     SERVER FUNCTIONS                                     *