set UMode +r on AC (ACCOUNT) RAW
authorpk910 <philipp@zoelle1.de>
Fri, 9 Dec 2011 16:45:59 +0000 (17:45 +0100)
committerpk910 <philipp@zoelle1.de>
Fri, 9 Dec 2011 16:45:59 +0000 (17:45 +0100)
Uplink/Uplink.class.php

index 345ceb8312c25131cc1c0d1f0fd3919ac733767c..d90324bf3e6e30bfb08ce5c1e4102c59232e7df5 100644 (file)
@@ -253,6 +253,9 @@ class Uplink {
                        case "OM":
                                $this->recv_mode($from, $arguments);
                                break;
                        case "OM":
                                $this->recv_mode($from, $arguments);
                                break;
+            case "AC":
+                               $this->recv_account($from, $arguments);
+                               break;
                //default
                        default:
                                //unknown cmd
                //default
                        default:
                                //unknown cmd
@@ -715,6 +718,18 @@ class Uplink {
                                $this->eventHandler->event_usermode($targetUser, $modes);
                }
        }
                                $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);
+       }
        
        /********************************************************************************************
         *                                     SERVER FUNCTIONS                                     *
        
        /********************************************************************************************
         *                                     SERVER FUNCTIONS                                     *