getTwitter.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. include_once('includes/db_connect.php');
  3. include_once('includes/global_functions.php');
  4. $radioid = $_GET['radioid'];
  5. $radiomac = $_GET['radiomac'];
  6. if($radioid == "" && $radiomac == ""){
  7. print(json_encode([error => "Not a valid radioid"]));
  8. die();
  9. }else{
  10. if($radiomac != ""){
  11. $radiomac = str_replace(':', '', $radiomac);
  12. $radioid = substr($radiomac, 6 , 11);
  13. }
  14. $currentStream = null;
  15. if($stmt = $mysqli -> prepare("SELECT FollowerID FROM Twitter LEFT JOIN users ON Twitter.uid = users.uid WHERE users.radiotoken = ?")){
  16. $stmt -> bind_param("s", $radioid);
  17. $stmt -> execute();
  18. $stmt -> bind_result($FollowerID);
  19. $stmt -> fetch();
  20. $stmt -> close();
  21. //specificeer token, key variable
  22. $oauth_access_token = "254139292-uhnFJBvMdO2ymdTWnzRGuct5aME4dT3Ll9Ag03J6";
  23. $oauth_access_token_secret = "L1D96ulaUSb8ArC7NV0UwoGResYLcpPvnoPRsZwvJTVpz";
  24. $consumer_key = "OKcwZL7ZeCElUU3GevJW2flcb";
  25. $consumer_secret = "6M8Gwco5PP15baRYrSxI3HKCXW3mIKO1nzlr7dQJioZAdr3lTV";
  26. $twitter_timeline = "user_timeline";
  27. $request = array('count' => '2',
  28. 'screen_name' => $FollowerID
  29. );
  30. // authentticatie protocol
  31. $oauth = array(
  32. 'oauth_consumer_key' => $consumer_key,
  33. 'oauth_nonce' => time(),
  34. 'oauth_signature_method' => 'HMAC-SHA1',
  35. 'oauth_token' => $oauth_access_token,
  36. 'oauth_timestamp' => time(),
  37. 'oauth_version' => '1.0'
  38. );
  39. $oauth = array_merge($oauth,$request);
  40. $baseURI="https://api.twitter.com/1.1/statuses/$twitter_timeline.json";
  41. $method="GET";
  42. $params=$oauth;
  43. $r = array();
  44. ksort($params);
  45. foreach($params as $key=>$value){
  46. $r[] = "$key=" . rawurlencode($value);
  47. }
  48. $base_info = $method."&" . rawurlencode($baseURI) . '&' . rawurlencode(implode('&', $r));
  49. $composite_key = rawurlencode($consumer_secret) . '&' . rawurlencode($oauth_access_token_secret);
  50. // get oauth signature
  51. $oauth_signature = base64_encode(hash_hmac('sha1', $base_info, $composite_key, true));
  52. $oauth['oauth_signature'] = $oauth_signature;
  53. // authentication request
  54. $r = 'Authorization: OAuth ';
  55. $values = array();
  56. foreach($oauth as $key=>$value){
  57. $values[] = "$key=\"" . rawurlencode($value) . "\"";
  58. }
  59. $r .= implode(', ', $values);
  60. $header = array($r, 'Expect:');
  61. $options = array(
  62. CURLOPT_HTTPHEADER => $header,
  63. CURLOPT_HEADER => false,
  64. CURLOPT_URL => "https://api.twitter.com/1.1/statuses/$twitter_timeline.json?". http_build_query($request),
  65. CURLOPT_RETURNTRANSFER => true,
  66. CURLOPT_SSL_VERIFYPEER => true
  67. );
  68. // ontvangen van twitter feeds met user informaties
  69. $feed = curl_init();
  70. curl_setopt_array($feed, $options);
  71. $json = curl_exec($feed);
  72. curl_close($feed);
  73. $tweets=json_decode($json, true);
  74. if($tweets[0]["text"] != null)
  75. {
  76. //array('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@','/[^A-Za-z0-9 ]/')
  77. $regex = "@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@";
  78. $regex2 = "/[^a-zA-Z0-9 ]+/";
  79. $message = preg_replace($regex, "", $tweets[0]['text']);
  80. echo preg_replace($regex2, "", $message);
  81. }
  82. }
  83. }
  84. ?>