Guest User

Untitled

a guest
Jan 19th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.57 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4.  * @author Patrick Rennings
  5.  * @copyright 2010
  6.  * @company
  7.  
  8.  */
  9.  
  10. class NickHandler {
  11.    
  12.     public function core ($Parent, $RawLine) {
  13.         if ($Parent->Parameter['servercmd'] == 'NICK') {
  14.             $this->RetrieveNickWithNickEvent($Parent, $RawLine);
  15.             return true;
  16.         }
  17.        
  18.         // JOIN event
  19.         elseif ($Parent->Parameter['servercmd'] == 'JOIN') {
  20.             $this->RetrieveNickWithJoinEvent($Parent, $RawLine);
  21.             return true;
  22.         }
  23.        
  24.         // QUIT event
  25.         elseif ($Parent->Parameter['servercmd'] == 'QUIT') {
  26.             $this->NickUpdateQuitEvent($Parent, $RawLine);
  27.             return true;
  28.         }
  29.        
  30.         // /whois command line
  31.         elseif ($Parent->Parameter['servercmd'] == '330') {
  32.             $this->RetrieveNickWithWhoisEvent($Parent, $RawLine);
  33.             return true;
  34.         }
  35.        
  36.         // /who command line
  37.         elseif ($Parent->Parameter['servercmd'] == '354') {
  38.             $this->RetrieveNickWithWhoEvent($Parent, $RawLine);
  39.             return true;
  40.         }
  41.        
  42.         else {
  43.             return;
  44.         }
  45.     }
  46.    
  47.     protected function RetrieveNickWithNickEvent ($Parent, $RawLineFromServer) {
  48.         //:Vii!Vii@Vii.gameoperator.OGameNl NICK :Vii`
  49.        
  50.         $RawLine = substr($RawLineFromServer, 1);
  51.                    
  52.         $NewNickRaw = explode(':', $RawLine);
  53.         $NickLength = strlen($NewNickRaw[1]);
  54.         $NewNick = substr($NewNickRaw[1], 0, -1);
  55.                    
  56.         $OldNickRaw = explode('!', $RawLine);
  57.         $OldNick = $OldNickRaw[0];
  58.        
  59.         $NickCheck = mysql_query('SELECT nick_nickname
  60.                                  FROM nicknames
  61.                                  WHERE nick_nickname = "' . $OldNick . '"');
  62.        
  63.         if (mysql_num_rows($NickCheck) > 0) {
  64.             mysql_query('UPDATE nicknames
  65.                         SET nick_nickname = "' . $NewNick . '",
  66.                             nick_old_nickname = "' . $OldNick . '"
  67.                         WHERE nick_nickname = "' . $OldNick . '"');
  68.                          
  69.             return true;
  70.         }
  71.         else {
  72.             mysql_query('INSERT INTO nicknames (nick_nickname, nick_old_nickname)
  73.                         VALUES
  74.                         ("' . $NewNick . '", "' . $OldNick . '")');
  75.            
  76.             return true;
  77.         }
  78.     }
  79.    
  80.     protected function RetrieveNickWithWhoisEvent ($Parent, $RawLineFromServer) {
  81.         // :OGN1.OnlineGamesNet.net 330 Muts Vii`Loves`Snow Vii :is logged in as
  82.        
  83.         $RawLine = substr($RawLineFromServer, 1);
  84.         $ExplodeRaw = explode(' ',   $RawLine);
  85.                    
  86.         $NickName = trim($ExplodeRaw[3]);
  87.         $AuthName = trim($ExplodeRaw[4]);
  88.        
  89.         $AuthCheck = mysql_query('SELECT account_id, account_name FROM accounts
  90.                                  WHERE account_name = "' . $AuthName . '"');
  91.        
  92.         if (mysql_num_rows($AuthCheck) > 0) {
  93.             $NickCheck = mysql_query('SELECT nick_nickname, nick_auth_id FROM nicknames
  94.                                      WHERE nick_nickname = "' . $NickName . '"');
  95.                                      
  96.             if (mysql_num_rows($NickCheck) > 0) {
  97.                 $NickFetch = mysql_fetch_assoc($NickCheck);
  98.                 $AuthFetch = mysql_fetch_assoc($AuthCheck);
  99.                
  100.                 if ($NickFetch['nick_auth_id'] == $AuthFetch['account_id']) {
  101.                     return true;
  102.                 }
  103.                 else {
  104.                     mysql_query('UPDATE nicknames SET
  105.                                 nick_auth_id = "' . $AuthFetch['account_id'] . '"
  106.                                 WHERE nick_nickname = "' . $NickName . '"');
  107.                    
  108.                     return true;
  109.                 }
  110.             }
  111.             else {
  112.                 $AuthFetch = mysql_fetch_assoc($AuthCheck);
  113.                
  114.                 mysql_query('INSERT INTO nicknames
  115.                             (nick_nickname, nick_auth_id)
  116.                             VALUES
  117.                             ("' . $NickName . '", "' . $AuthFetch['account_id'] . '")');
  118.                              
  119.                 return true;
  120.             }
  121.         }
  122.         else {
  123.             mysql_query('INSERT INTO accounts
  124.                         (account_name)
  125.                         VALUES
  126.                         ("' . $AuthName . '")');
  127.                          
  128.             $AccountId = mysql_insert_id();
  129.                          
  130.             $NickCheck = mysql_query('SELECT nick_nickname, nick_auth_id FROM nicknames
  131.                                      WHERE nick_nickname = "' . $NickName . '"');
  132.                                      
  133.             if (mysql_num_rows($NickCheck) > 0) {
  134.                
  135.                 mysql_query('UPDATE nicknames SET
  136.                             nick_auth_id = "' . $AccountId . '"
  137.                             WHERE nick_nickname = "' . $NickName . '"');
  138.                
  139.                 return true;
  140.             }
  141.             else {
  142.                 mysql_query('INSERT INTO nicknames
  143.                             (nick_nickname, nick_auth_id)
  144.                             VALUES
  145.                             ("' . $NickName . '", "' . $AccountId . '")');
  146.                
  147.                 return true;
  148.             }
  149.         }
  150.     }
  151.    
  152.     protected function RetrieveNickWithWhoEvent ($Parent, $RawLineFromServer) {
  153.         // :OGN1.OnlineGamesNet.net 354 Muts Vii.gameoperator.OGameNl Vii` Vii
  154.        
  155.         $RawLine = substr($RawLineFromServer, 1);
  156.         $ExplodeRaw = explode(' ', $RawLine);
  157.        
  158.         $NickName = $ExplodeRaw[4];
  159.         $AuthName = substr($ExplodeRaw[5], 0, -1);
  160.        
  161.         $AuthCheck = mysql_query('SELECT account_id, account_name FROM accounts
  162.                                  WHERE account_name = "' . $AuthName . '"');
  163.        
  164.         if (mysql_num_rows($AuthCheck) > 0) {
  165.             $NickCheck = mysql_query('SELECT nick_nickname, nick_auth_id FROM nicknames
  166.                                      WHERE nick_nickname = "' . $NickName . '"');
  167.                                      
  168.             if (mysql_num_rows($NickCheck) > 0) {
  169.                 $NickFetch = mysql_fetch_assoc($NickCheck);
  170.                 $AuthFetch = mysql_fetch_assoc($AuthCheck);
  171.                
  172.                 if ($NickFetch['nick_auth_id'] == $AuthFetch['account_id']) {
  173.                     return true;
  174.                 }
  175.                 else {
  176.                     mysql_query('UPDATE nicknames SET
  177.                                 nick_auth_id = "' . $AuthFetch['account_id'] . '"
  178.                                 WHERE nick_nickname = "' . $NickName . '"');
  179.                    
  180.                     return true;
  181.                 }
  182.             }
  183.             else {
  184.                 $AuthFetch = mysql_fetch_assoc($AuthCheck);
  185.                
  186.                 mysql_query('INSERT INTO nicknames
  187.                             (nick_nickname, nick_auth_id)
  188.                             VALUES
  189.                             ("' . $NickName . '", "' . $AuthFetch['account_id'] . '")');
  190.                              
  191.                 return true;
  192.             }
  193.         }
  194.         else {
  195.             mysql_query('INSERT INTO accounts
  196.                         (account_name)
  197.                         VALUES
  198.                         ("' . $AuthName . '")');
  199.                          
  200.             $AccountId = mysql_insert_id();
  201.                          
  202.             $NickCheck = mysql_query('SELECT nick_nickname, nick_auth_id FROM nicknames
  203.                                      WHERE nick_nickname = "' . $NickName . '"');
  204.                                      
  205.             if (mysql_num_rows($NickCheck) > 0) {
  206.                
  207.                 mysql_query('UPDATE nicknames SET
  208.                             nick_auth_id = "' . $AccountId . '"
  209.                             WHERE nick_nickname = "' . $NickName . '"');
  210.                
  211.                 return true;
  212.             }
  213.             else {
  214.                 mysql_query('INSERT INTO nicknames
  215.                             (nick_nickname, nick_auth_id)
  216.                             VALUES
  217.                             ("' . $NickName . '", "' . $AccountId . '")');
  218.                
  219.                 return true;
  220.             }
  221.         }
  222.     }
  223.    
  224.     protected function NickUpdateQuitEvent ($Parent, $RawLineFromServer) {
  225.         // :LieveRena!~Rena@Rena.admin.BiteFightNl QUIT :Quit
  226.        
  227.         $RawLine = substr($RawLineFromServer, 1);
  228.         $ExplodeRaw = explode(' ', $RawLine);
  229.        
  230.         $RetrieveNick = explode('!', $RawLine);
  231.         $NickName = $RetrieveNick[0];
  232.        
  233.         mysql_query('DELETE FROM nicknames
  234.                     WHERE nick_nickname = "' . $NickName . '"');
  235.     }
  236.    
  237.     protected function RetrieveNickWithJoinEvent ($Parent, $RawLineFromServer) {
  238.         // :Vii`!Vii@Vii.gameoperator.OGameNl JOIN #Vii
  239.        
  240.         $RawLine = substr($RawLineFromServer, 1);
  241.         $ExplodeRaw = explode(' ', $RawLine);
  242.        
  243.         if ($NickName = $Parent->BotConfig['nickname']) {
  244.             $Parent->RawWrite('WHO ' . trim($ExplodeRaw[2]) . ' %nha');
  245.         }
  246.        
  247.         $RetrieveNick = explode('!', $RawLine);
  248.         $NickName = $RetrieveNick[0];
  249.        
  250.         if ($Parent->BotConfig['nickname'] == $NickName) {
  251.             $Parent->RawWrite('WHO ' . $ExplodeRaw[2] . ' %nha');
  252.         }
  253.         $Parent->RawWrite('WHO ' . $NickName . ' %nha');
  254.     }
  255. }
  256.  
  257. ?>
Add Comment
Please, Sign In to add comment