Advertisement
jared314

Untitled

Aug 7th, 2015
367
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.90 KB | None | 0 0
  1. <?php
  2.    
  3. function dbEsc($theString) {
  4.     $theString = mysql_real_escape_string($theString);
  5.     return $theString;
  6. }
  7.  
  8. function dbError(&$xmlDoc, &$xmlNode, $theMessage) {
  9.     $errorNode = $xmlDoc->createElement('mysqlError', $theMessage);
  10.     $xmlNode->appendChild($errorNode);
  11. }
  12.  
  13. function createToken($user_id) {
  14.    
  15. }
  16.  
  17. function PHPMailer($xmlDoc, $name, $email, $subject, $message) {
  18.      require("class.phpmailer.php");
  19.      $parentNode = $xmlDoc->createElement('status');
  20.  
  21.     $mail = new PHPMailer();
  22.  
  23.     $mail->IsSMTP();  // telling the class to use SMTP
  24.     $mail->SMTPAuth   = true; // SMTP authentication
  25.     $mail->SMTPSecure = "tls";
  26.     $mail->Host       = "smtp.gmail.com"; // SMTP server
  27.     $mail->Port       = 587; // SMTP Port
  28.     $mail->Username   = "jared314@gmail.com"; // SMTP account username
  29.     $mail->Password   = "lnvfcqnotxajucwy";        // SMTP account password
  30.  
  31.     $mail->SetFrom('jared314@gmail.com'); // FROM
  32.  
  33.  
  34.     $mail->AddAddress('jared314@gmail.com', 'Jared'); // recipient email
  35.  
  36.     $mail->Subject    = 'Contact Form Submission'; // email subject
  37.     $mail->Body       = 'FROM: ' . $name . " " . $email . " Subject: " . $subject . " Message: " .$message;
  38.  
  39.     if(!$mail->Send()) {
  40.       $statusNode = $xmlDoc->createElement('mail_status', 0);
  41.       echo 'Mailer error: ' . $mail->ErrorInfo;
  42.     } else {
  43.       echo 'Message has been sent.';
  44.       $statusNode = $xmlDoc->createElement('mail_status', 1);
  45.     }
  46.    
  47.     $parentNode->appendChild($statusNode);
  48.    
  49.     return $parent;
  50. }
  51.  
  52. function doesUserExist($dbconn, $xmlDoc, $id, $type) {
  53.     $recordDataNode = $xmlDoc->createElement('recorddata');
  54.    
  55.     if($type == 'google') {
  56.         $query = "select * from google_users where google_id = " . $id;
  57.     } else if ($type == 'main') {
  58.         $query = "select * from users where username = '" . dbEsc($id) . "';";
  59.     }
  60.    
  61.    
  62.     $result = mysql_query($query);
  63.    
  64.     if (!($result)) {
  65.         $statusNode = $xmlDoc->createElement('status', $query);
  66.        
  67.         dbError($xmlDoc, $recordDataNode, mysql_error());
  68.     } else {
  69.         $statusNode = $xmlDoc->createElement('status', 'success');
  70.     }
  71.    
  72.     $counter = 0;
  73.     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {       
  74.         $counter = $counter + 1;
  75.     }    
  76.     $statusNode = $xmlDoc->createElement('records', $counter);
  77.    
  78.    
  79.     $recordDataNode->appendChild($statusNode);
  80.    
  81.     return $recordDataNode;
  82. }
  83.  
  84. function addGoogleUser($dbconn, $xmlDoc, $google_id, $name, $email, $image_url) {
  85.     $recordDataNode = $xmlDoc->createElement('recorddata');
  86.    
  87.     $query = "INSERT INTO google_users (google_id, username, name, email, img_url) " .
  88.                 "VALUES ('".$google_id."', '" . $name ."', '" . $name . "', '" . $email . "', '" . $image_url . "')";
  89.    
  90.     $result = mysql_query($query);
  91.    
  92.     if (!($result)) {
  93.         $statusNode = $xmlDoc->createElement('status', $query);
  94.        
  95.         dbError($xmlDoc, $recordDataNode, mysql_error());
  96.     } else {
  97.         $statusNode = $xmlDoc->createElement('status', $google_id);
  98.     }
  99.    
  100.     $recordDataNode->appendChild($statusNode);
  101.    
  102.     return $recordDataNode;
  103. }
  104.  
  105. function signIn($dbconn, $xmlDoc, $username, $password) {
  106.     $recordDataNode = $xmlDoc->createElement('recorddata');
  107.  
  108.     $username = htmlspecialchars($username);
  109.     $password = htmlspecialchars($password);
  110.  
  111.     $salt = '';
  112.     $query = "select salt from users where username = '".dbEsc($username). "';";   
  113.     $result = mysql_query($query);
  114.     $row = mysql_fetch_array($result, MYSQL_ASSOC);
  115.     $salt = $row['salt'];
  116.  
  117.     $hash = sha1($salt.$password);
  118.    
  119.     $query2 = "select user_id from users where username = '" . dbEsc($username) . "' AND password = '" . $hash . "';";
  120.    
  121.     $result2 = mysql_query($query2);
  122.    
  123.     if (!($result2)) {
  124.         $statusNode = $xmlDoc->createElement('status', $query2);
  125.        
  126.         dbError($xmlDoc, $recordDataNode, mysql_error());
  127.     } else {
  128.         $statusNode = $xmlDoc->createElement('status', '');
  129.     }
  130.  
  131.     $row2 = mysql_fetch_array($result2, MYSQL_ASSOC);
  132.     $statusNode = $xmlDoc->createElement('token', $row2['user_id']);   
  133.    
  134.     $recordDataNode->appendChild($statusNode);
  135.    
  136.     return $recordDataNode;
  137. }
  138.  
  139. function addNewUser($dbconn, $xmlDoc, $username, $password) {
  140.     $recordDataNode = $xmlDoc->createElement('userdata');
  141.    
  142.     $username = htmlspecialchars($username);
  143.     $password = htmlspecialchars($password);
  144.    
  145.     $salt = rand().rand().rand().rand();
  146.     $hash = sha1($salt.$password);
  147.    
  148.     $user_id = rand().rand().rand().rand();
  149.    
  150.     $query = "INSERT INTO users (user_id, username, password, salt) " .
  151.                 "VALUES ('".$user_id."', '" . $username ."', '" . $hash . "', '" . $salt . "')";
  152.    
  153.     $result = mysql_query($query);
  154.    
  155.     if (!($result)) {
  156.         $statusNode = $xmlDoc->createElement('status', $query);
  157.        
  158.         dbError($xmlDoc, $recordDataNode, mysql_error());
  159.     } else {
  160.         $statusNode = $xmlDoc->createElement('token', $user_id);
  161.     }
  162.    
  163.     $recordDataNode->appendChild($statusNode);
  164.    
  165.     return $recordDataNode;
  166. }
  167.  
  168. function getConnections($dbconn, $xmlDoc, $user_id, $type) {
  169.     $recordDataNode = $xmlDoc->createElement('recorddata');
  170.    
  171.   $query = "SELECT * FROM tokens WHERE user_id = '".dbEsc($user_id)."' AND module_type = '".dbEsc($type)."'";
  172.    
  173.     $result = mysql_query($query);
  174.    
  175.     if (!($result)) {
  176.         $statusNode = $xmlDoc->createElement('status', $query);
  177.        
  178.         dbError($xmlDoc, $recordDataNode, mysql_error());
  179.     } else {
  180.         $statusNode = $xmlDoc->createElement('status', 'success');
  181.     }
  182.  
  183.  
  184.   while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  185.     $theChildNode = $xmlDoc->createElement('connection');
  186.     $theChildNode->setAttribute('name', $row['computer_name']);
  187.    
  188.     $datetime1 = strtotime($row['last_seen']);
  189.     $datetime2 = time();
  190.     $diff = $datetime2-$datetime1;
  191.     if ($diff > 200) {
  192.         $theChildNode->setAttribute('active', false);
  193.     } else {
  194.         $theChildNode->setAttribute('active', true);
  195.     }
  196.    
  197.     $recordDataNode->appendChild($theChildNode);
  198.   }
  199.     $recordDataNode->appendChild($statusNode);
  200.     return $recordDataNode;
  201. }
  202.  
  203. function getLogs($dbconn, $xmlDoc, $user_id) {
  204.     //main XML element to return
  205.     $recordDataNode = $xmlDoc->createElement('recorddata');
  206.    
  207.     //get users tokens and scanner names
  208.     $query = "SELECT * from tokens where user_id = '".dbEsc($user_id)."'";
  209.     $result = mysql_query($query);
  210.     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  211.         $theScannerNode = $xmlDoc->createElement('scanner');
  212.             $nameNode = $xmlDoc->createElement('name');
  213.             $nameNode->setAttribute('name', $row['computer_name']);
  214.             $datetime1 = strtotime($row['last_seen']);
  215.             $datetime2 = time();
  216.             $diff = $datetime2-$datetime1;
  217.             if ($diff > 200) {
  218.                 $nameNode->setAttribute('active', false);
  219.             } else {
  220.                 $nameNode->setAttribute('active', true);
  221.             }
  222.         $theScannerNode->appendChild($nameNode);
  223.         //for each scanncer, get last 10 visitors
  224.         $query2 = "SELECT DISTINCT(ign) AS ign from logs where token = '".dbEsc($row['token'])."' ORDER BY timestamp DESC LIMIT 10";
  225.         $result2 = mysql_query($query2);
  226.         while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) {
  227.             $VistorNode = $xmlDoc->createElement('visitor');
  228.             $VistorNode->setAttribute('ign', $row2['ign']);
  229.             $VistorNode->setAttribute('token', $row['token']);
  230.             $theScannerNode->appendChild($VistorNode);
  231.            
  232.         }
  233.         $recordDataNode->appendChild($theScannerNode);
  234.     }
  235.    
  236.     return $recordDataNode;
  237. }
  238.  
  239. function getPlayerData($dbconn, $xmlDoc, $ign, $token) {
  240.     $recordDataNode = $xmlDoc->createElement('recorddata');
  241.  
  242.     $query = "SELECT * from logs where token = '".dbEsc($token)."' AND ign = '".dbEsc($ign)."' ORDER BY timestamp DESC LIMIT 50";
  243.     $result = mysql_query($query);
  244.     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  245.         $VistorNode = $xmlDoc->createElement('record');
  246.         $VistorNode->setAttribute('ign', $row['ign']);
  247.         $VistorNode->setAttribute('event', $row['event']);
  248.         $VistorNode->setAttribute('time', $row['timestamp']);
  249.         $VistorNode->setAttribute('discription', $row['discription']);
  250.         $recordDataNode->appendChild($VistorNode);
  251.     }  
  252.     return $recordDataNode;
  253. }
  254.  
  255. function getUser($dbconn, $xmlDoc, $user_id) {
  256.     $recordDataNode = $xmlDoc->createElement('recorddata');
  257.    
  258.     $query2 = "SELECT username from users where user_id = '".dbEsc($user_id)."'";
  259.     $result2 = mysql_query($query2);
  260.     $row2 = mysql_fetch_array($result2, MYSQL_ASSOC);
  261.     $userNode = $xmlDoc->createElement('user');
  262.     $userNode->setAttribute('username', $row2['username']);
  263.    
  264.     $recordDataNode->appendChild($userNode);
  265.    
  266.     $query3 = "UPDATE users SET last_seen = NOW() WHERE user_id = '".dbEsc($user_id)."'";
  267.     $result3 = mysql_query($query3);
  268.    
  269.     return $recordDataNode;
  270. }
  271.  
  272. function loadRedstoneControls($dbconn, $xmlDoc, $user_id) {
  273.     $recordDataNode = $xmlDoc->createElement('recorddata');
  274.    
  275.     $query = "SELECT * from tokens where user_id = '".dbEsc($user_id)."' AND module_type = '4'";
  276.     $result = mysql_query($query);
  277.  
  278.     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  279.         $controlNode = $xmlDoc->createElement('controls');
  280.         $controlNode->setAttribute('name', $row['computer_name']);
  281.        
  282.         $datetime1 = strtotime($row['last_seen']);
  283.         $datetime2 = time();
  284.         $diff = $datetime2-$datetime1;
  285.         if ($diff > 200) {
  286.             $controlNode->setAttribute('active', false);
  287.         } else {
  288.             $controlNode->setAttribute('active', true);
  289.         }
  290.        
  291.         $query2 = "SELECT * from redstone_controls where token = '".$row['token']."'";
  292.         $result2 = mysql_query($query2);
  293.        
  294.         if (!($result2)) {
  295.             $statusNode = $xmlDoc->createElement('status', $query);
  296.            
  297.             dbError($xmlDoc, $recordDataNode, mysql_error());
  298.         } else {
  299.             $statusNode = $xmlDoc->createElement('status', 'success');
  300.         }
  301.            
  302.         $row2 = mysql_fetch_array($result2, MYSQL_ASSOC);
  303.            
  304.         $controlNode->setAttribute('top', $row2['top']);
  305.         $controlNode->setAttribute('bottom', $row2['bottom']);
  306.         $controlNode->setAttribute('front', $row2['front']);
  307.         $controlNode->setAttribute('back', $row2['back']);
  308.         $controlNode->setAttribute('left', $row2['left']);
  309.         $controlNode->setAttribute('right', $row2['right']);
  310.    
  311.         $recordDataNode->appendChild($controlNode);
  312.        
  313.     }
  314.     $recordDataNode->appendChild($statusNode);
  315.     return $recordDataNode;
  316. }
  317.  
  318. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement