예제 #1
0
 public static function command($msg, $user)
 {
     $returnmsg = "";
     $msg = substr($msg, 1);
     $command = explode(' ', $msg);
     commands::logm("command:" . $command[0] . "|rechte [" . $user->rights . "]\n");
     switch ($command[0]) {
         case "invite":
             break;
         case "join":
             break;
         case "leave":
             break;
         case "rights":
             break;
         case "group":
             break;
         case "eval":
             if ($user->rights >= 10000000) {
                 global $sockets, $users, $groups, $server;
                 ob_start();
                 eval($command[1] . ";");
                 $result = ob_get_clean();
                 $returnmsg = $result;
             } else {
                 $returnmsg = "Insufficient permissions!";
             }
             break;
         case "kick":
             break;
         case "ban":
             break;
         case "shout":
             if ($user->rights > 100) {
             } else {
                 $returnmsg = "Insufficient permissions!";
             }
             break;
         case "w":
             if (select::byname($command[1])) {
                 $returnmsg = "You whispert to:" . $command[1] . " " . $msg;
             } else {
                 $returnmsg = "User \"" . $command[1] . "\" not found";
             }
             break;
         default:
             $returnmsg = "Command not found";
             break;
     }
     return $returnmsg;
 }
예제 #2
0
 public static function login($client, $msg)
 {
     global $server, $groups, $users;
     if (DEBUG) {
         echo "login\n";
     }
     $temp = explode(" ", $msg);
     if ($temp[0] == "!login") {
         if ($client->ip == SERVER_IP) {
             $client->name = "Admin";
             $client->status = 3;
             $client->active_group = "Main";
             $client->rights = 10000000;
             $group = select::receivers($client->active_group);
             array_push($group->members, new member($client));
             array_push($client->groups, $client->active_group);
             array_push($users, $client);
             chat::send_msg($server, "Success", $client);
         } else {
             if (select::byname($temp[1]) === false) {
                 if (preg_match("/admin/i", $temp[1]) == 0 && preg_match("/server/i", $temp[1]) == 0) {
                     if (preg_match("/[-_a-z0-9]{4,20}/i", $temp[1])) {
                         $client->name = $temp[1];
                         $client->status = 3;
                         $client->active_group = "Main";
                         $group = select::receivers($client->active_group);
                         array_push($group->members, new member($client));
                         array_push($client->groups, $client->active_group);
                         array_push($users, $client);
                         chat::send_msg($server, "Success", $client);
                     } else {
                         chat::send_msg($server, "Invalid Username", $client);
                     }
                 } else {
                     chat::send_msg($server, "Username is reserved", $client);
                 }
             } else {
                 chat::send_msg($server, "Username already used! Chose a other!", $client);
             }
         }
     } else {
         chat::send_msg($server, "You must first login with !login <username>!", $client);
     }
 }