Advertisement
Guest User

Untitled

a guest
Jul 25th, 2018
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. <?php
  2. //Post input from the website
  3. function isValidJSON($str) {
  4. json_decode($str);
  5. return json_last_error() == JSON_ERROR_NONE;
  6. }
  7. mail("doradus.webber@gmail.com","Input","debug1");
  8. $json_params = file_get_contents("php://input");
  9. mail("doradus.webber@gmail.com","Input","debug2");
  10. if (strlen($json_params) > 0 && isValidJSON($json_params)) {
  11. $decoded_params = json_decode($json_params, JSON_UNESCAPED_SLASHES);
  12. $data = $decoded_params;
  13. } else {
  14. $data = "Not valid JSON";
  15. }
  16. mail("doradus.webber@gmail.com","Input","debug3");
  17. function fixLineBreak($var) {
  18. $n = preg_replace("/\n/m", '\n', $var);
  19. $r = preg_replace("/\r/m", '', $n);
  20. return $r;
  21. }
  22. mail("doradus.webber@gmail.com","Input","debug4");
  23. //Timestamp
  24. date_default_timezone_set('UTC');
  25. $time1 = date("Y-m-d");
  26. $time2 = date("H:i:s");
  27. $time3 = date(v);
  28. $timestamp = $time1 ."T".$time2.".".$time3."Z";
  29. mail("doradus.webber@gmail.com","Input","debug5");
  30. //Find WoW avatar on Warcraft Logs
  31. include 'simple_html_dom.php';
  32.  
  33. $html = file_get_html($data["wlogs"]);
  34. $img = "//www.warcraftlogs.com/img/common/warcraft-logo.png";
  35. foreach($html->find('img[id="character-portrait-image"]') as $a) {
  36. $img = $a->src;
  37. }
  38. mail("doradus.webber@gmail.com","Input","debug6");
  39. //Default embed color
  40. $color = "42751";
  41.  
  42. //Arrays
  43. $class = array("Rogue"=>"16774505","Priest"=>"16777215","Warrior"=>"13081710","Death Knight"=>"12853051","Demon Hunter"=>"10694857","Hunter"=>"11261043","Druid"=>"16743690","Warlock"=>"9732809","Monk"=>"65430","Mage"=>"6933744","Paladin"=>"16092346","Shaman"=>"28894");
  44. $team = array("Team 1"=>"<@&209255044405657600>","Team 2"=>"<@&297461885475880962>","Social"=>"<@&297458147197714432>");
  45.  
  46. $color = $class[$data["class"]];
  47. $ping = $team[$data["team"]];
  48. mail("doradus.webber@gmail.com","Input","debug7");
  49. //Build JSON
  50. $discord_json = '{"content":"**'. $data["team"] .'** has received a new application. '. $ping .'","embeds":[{"color":'. $color .',"author":{"name":"'. $data["character"] .', a '. $data["race"] .' '. $data["spec"] .' '. $data["class"] .'","url":"'. $data["wlogs"] .'","icon_url":"https://i.imgur.com/FK8T1nQ.png"},"thumbnail":{"url":"http:'. $img .'"},"timestamp":"'. $timestamp .'","footer":{"icon_url":"https://cdn.discordapp.com/embed/avatars/0.png","text":"Powered by Salty"},"fields":[{"name":"Age:","value":"'. $data["age"] .'","inline":"true"},{"name":"Nationality:","value":"'. $data["nationality"] .'","inline":"true"},{"name":"Artifact level:","value":"'. $data["artifact"] .'"},{"name":"Previous guilds:","value":'. fixLineBreak(json_encode($data["previousguild"], JSON_HEX_QUOT)) .'},{"name":"Experience:","value":'. fixLineBreak(json_encode($data["experience"], JSON_HEX_QUOT)) .'},{"name":"Who am I?","value":'. fixLineBreak(json_encode($data["yourself"], JSON_HEX_QUOT)) .'},{"name":"Extra info:","value":'. fixLineBreak(json_encode($data["extra"], JSON_HEX_QUOT)) .'},{"name":"Contact","value":"'. $data["bnet"] .'"}]}]}';
  51.  
  52. //Debug
  53. mail("doradus.webber@gmail.com","Input",$json_params);
  54. mail("doradus.webber@gmail.com","Discord",$discord_json);
  55.  
  56. //Communicate with Discord
  57. $url = "https://discordapp.com/api/webhooks/471739278427160576/wCy9EgFUJGFWWKhONZgcQnisegzLiaxT0xWy9cd4dZRmKFBTh5eeYNU77GQB2quqI4r2";
  58. $content = $discord_json;
  59.  
  60. $curl = curl_init($url);
  61. curl_setopt($curl, CURLOPT_HEADER, false);
  62. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  63. curl_setopt($curl, CURLOPT_HTTPHEADER,
  64. array("Content-type: application/json"));
  65. curl_setopt($curl, CURLOPT_POST, true);
  66. curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
  67.  
  68. $json_response = curl_exec($curl);
  69.  
  70. $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
  71.  
  72. if ( $status != 201 && $status != 204) {
  73. mail("foundationeu.applications@gmail.com","Curl Status","Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl) . " \n " . $discord_json);
  74. die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
  75. } else {
  76. echo "Embed sent successfully";
  77. }
  78.  
  79. curl_close($curl);
  80.  
  81. $response = json_decode($json_response, true);
  82. mail("doradus.webber@gmail.com","Input","debug8");
  83. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement