PageRenderTime 23ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/espn3/build_all_database.php

https://github.com/phikai/boxee-espn3
PHP | 247 lines | 176 code | 38 blank | 33 comment | 0 complexity | c6693bc4e20524328d16aa9e1fb93f6c MD5 | raw file
  1. <?php
  2. //MySQL Connection Information
  3. include('/home/phikai/boxee.thinkonezero.com/mysql_connect.inc.php');
  4. //MySQL Connection
  5. mysql_connect($server,$username,$password);
  6. @mysql_select_db($database) or die("Unable to select database");
  7. mysql_query("SET time_zone = '-5:00';");
  8. //Set XML Errors Off
  9. //libxml_use_internal_errors(true);
  10. libxml_use_internal_errors(false);
  11. //Set endDate for Greater Feed Accuracy
  12. $endDate = date('Ymd');
  13. /*===============BEGIN LIVE DATABASE CREATION==================*/
  14. //Set URL for Live Feed
  15. $livefeed = 'http://sports-ak.espn.go.com/espn3/feeds/live?endDate='.$endDate;
  16. //Get the XML Source of ESPN3 Live Feed
  17. $xml = file_get_contents($livefeed);
  18. $enc = mb_detect_encoding($xml);
  19. $xml = mb_convert_encoding($xml, 'UTF-8', $enc);
  20. $e3_live_xml = new SimpleXMLElement($xml);
  21. unset($xml);
  22. unset($enc);
  23. //Live Event Handling
  24. foreach($e3_live_xml->event as $event) {
  25. foreach($event as $event_id) {
  26. $event_id_num = $event['id'];
  27. $raw['idnum'] = trim($event_id_num);
  28. }
  29. unset($event_id);
  30. foreach($event->name as $event_name) {
  31. $raw['event'] = trim($event_name);
  32. }
  33. unset($event_name);
  34. foreach($event->league as $event_league) {
  35. $raw['league'] = trim($event_league);
  36. }
  37. unset($event_league);
  38. foreach($event->sport as $event_sport) {
  39. $raw['sport'] = trim($event_sport);
  40. }
  41. unset($event_sport);
  42. foreach($event->startTime as $event_time) {
  43. $time = trim($event_time);
  44. $raw['date'] = date('Y-m-d', strtotime($time));
  45. $raw['time'] = date('H:i:s', strtotime($time));
  46. }
  47. unset($event_time);
  48. foreach($event->thumbnail->large as $event_thumb) {
  49. $raw['thumb'] = trim($event_thumb);
  50. }
  51. unset($event_thumb);
  52. //Sanitize the Variables before MySQL Query
  53. foreach($raw as $key => $val){
  54. $safe[$key] = mysql_real_escape_string($val);
  55. }
  56. //MySQL Query for Each Item
  57. $query = "INSERT INTO e3_live(fulldate, date, event_id, event, league, sport, time, thumb) VALUES(NOW(), DATE('{$safe['date']}'), '{$safe['idnum']}', '{$safe['event']}', '{$safe['league']}', '{$safe['sport']}', '{$safe['time']}', '{$safe['thumb']}')";
  58. mysql_query($query);
  59. }
  60. //Unset XML to Free Memory
  61. unset($e3_live_xml);
  62. //Unset $livefeed to redo with no EndDate (related to a bug in getting items)
  63. unset($livefeed);
  64. /*===============BEGIN LIVE DATABASE 2nd CREATION==================*/
  65. //Set URL for Live Feed
  66. $livefeed = 'http://sports-ak.espn.go.com/espn3/feeds/live';
  67. //Get the XML Source of ESPN3 Live Feed
  68. $xml = file_get_contents($livefeed);
  69. $enc = mb_detect_encoding($xml);
  70. $xml = mb_convert_encoding($xml, 'UTF-8', $enc);
  71. $e3_live_xml = new SimpleXMLElement($xml);
  72. unset($xml);
  73. unset($enc);
  74. //Live Event Handling
  75. foreach($e3_live_xml->event as $event) {
  76. foreach($event as $event_id) {
  77. $event_id_num = $event['id'];
  78. $raw['idnum'] = trim($event_id_num);
  79. }
  80. unset($event_id);
  81. foreach($event->name as $event_name) {
  82. $raw['event'] = trim($event_name);
  83. }
  84. unset($event_name);
  85. foreach($event->league as $event_league) {
  86. $raw['league'] = trim($event_league);
  87. }
  88. unset($event_league);
  89. foreach($event->sport as $event_sport) {
  90. $raw['sport'] = trim($event_sport);
  91. }
  92. unset($event_sport);
  93. foreach($event->startTime as $event_time) {
  94. $time = trim($event_time);
  95. $raw['date'] = date('Y-m-d', strtotime($time));
  96. $raw['time'] = date('H:i:s', strtotime($time));
  97. }
  98. unset($event_time);
  99. foreach($event->thumbnail->large as $event_thumb) {
  100. $raw['thumb'] = trim($event_thumb);
  101. }
  102. unset($event_thumb);
  103. //Sanitize the Variables before MySQL Query
  104. foreach($raw as $key => $val){
  105. $safe[$key] = mysql_real_escape_string($val);
  106. }
  107. //MySQL Query for Each Item
  108. $query = "INSERT INTO e3_live(fulldate, date, event_id, event, league, sport, time, thumb) VALUES(NOW(), DATE('{$safe['date']}'), '{$safe['idnum']}', '{$safe['event']}', '{$safe['league']}', '{$safe['sport']}', '{$safe['time']}', '{$safe['thumb']}')";
  109. mysql_query($query);
  110. }
  111. //Unset XML to Free Memory
  112. unset($e3_live_xml);
  113. /*===============BEGIN REPLAY DATABASE CREATION==================*/
  114. //Get the XML Source of ESPN3 Replay Feed
  115. $xml = file_get_contents('http://sports-ak.espn.go.com/espn3/feeds/replay');
  116. $enc = mb_detect_encoding($xml);
  117. $xml = mb_convert_encoding($xml, 'UTF-8', $enc);
  118. $e3_replay_xml = new SimpleXMLElement($xml);
  119. unset($xml);
  120. unset($enc);
  121. //Replay Event Handling
  122. foreach($e3_replay_xml->event as $event) {
  123. foreach($event as $event_id) {
  124. $event_id_num = $event['id'];
  125. $raw['idnum'] = trim($event_id_num);
  126. }
  127. unset($event_id);
  128. foreach($event->name as $event_name) {
  129. $raw['event'] = trim($event_name);
  130. }
  131. unset($event_name);
  132. foreach($event->league as $event_league) {
  133. $raw['league'] = trim($event_league);
  134. }
  135. unset($event_league);
  136. foreach($event->sport as $event_sport) {
  137. $raw['sport'] = trim($event_sport);
  138. }
  139. unset($event_sport);
  140. foreach($event->startTime as $event_time) {
  141. $time = trim($event_time);
  142. $raw['date'] = date('Y-m-d', strtotime($time));
  143. $raw['time'] = date('H:i:s', strtotime($time));
  144. }
  145. unset($event_time);
  146. foreach($event->thumbnail->large as $event_thumb) {
  147. $raw['thumb'] = trim($event_thumb);
  148. }
  149. unset($event_thumb);
  150. //Sanitize the Variables before MySQL Query
  151. foreach($raw as $key => $val){
  152. $safe[$key] = mysql_real_escape_string($val);
  153. }
  154. //MySQL Query for Each Item
  155. $query = "INSERT INTO e3_replay(fulldate, date, event_id, event, league, sport, time, thumb) VALUES(NOW(), DATE('{$safe['date']}'), '{$safe['idnum']}', '{$safe['event']}', '{$safe['league']}', '{$safe['sport']}', '{$safe['time']}', '{$safe['thumb']}') ON DUPLICATE KEY UPDATE event='{$safe['event']}', league='{$safe['league']}', sport='{$safe['sport']}', time='{$safe['time']}', thumb='{$safe['thumb']}'";
  156. mysql_query($query);
  157. }
  158. //Unset XML to Free Memory
  159. unset($e3_replay_xml);
  160. /*===============BEGIN UPCOMING DATABASE CREATION==================*/
  161. //Get the XML Source of ESPN3 Upcoming Feed
  162. $xml = file_get_contents('http://sports-ak.espn.go.com/espn3/feeds/upcoming');
  163. $enc = mb_detect_encoding($xml);
  164. $xml = mb_convert_encoding($xml, 'UTF-8', $enc);
  165. $e3_upcoming_xml = new SimpleXMLElement($xml);
  166. unset($xml);
  167. unset($enc);
  168. //Upcoming Event Handling
  169. foreach($e3_upcoming_xml->event as $event) {
  170. foreach($event as $event_id) {
  171. $event_id_num = $event['id'];
  172. $raw['idnum'] = trim($event_id_num);
  173. }
  174. unset($event_id);
  175. foreach($event->name as $event_name) {
  176. $raw['event'] = trim($event_name);
  177. }
  178. unset($event_name);
  179. foreach($event->league as $event_league) {
  180. $raw['league'] = trim($event_league);
  181. }
  182. unset($event_league);
  183. foreach($event->sport as $event_sport) {
  184. $raw['sport'] = trim($event_sport);
  185. }
  186. unset($event_sport);
  187. foreach($event->startTime as $event_time) {
  188. $time = trim($event_time);
  189. $raw['date'] = date('Y-m-d', strtotime($time));
  190. $raw['time'] = date('H:i:s', strtotime($time));
  191. }
  192. unset($event_time);
  193. foreach($event->thumbnail->large as $event_thumb) {
  194. $raw['thumb'] = trim($event_thumb);
  195. }
  196. unset($event_thumb);
  197. //Sanitize the Variables before MySQL Query
  198. foreach($raw as $key => $val){
  199. $safe[$key] = mysql_real_escape_string($val);
  200. }
  201. //MySQL Query for Each Item
  202. $query = "INSERT INTO e3_upcoming(fulldate, date, event_id, event, league, sport, time, thumb) VALUES(NOW(), DATE('{$safe['date']}'), '{$safe['idnum']}', '{$safe['event']}', '{$safe['league']}', '{$safe['sport']}', '{$safe['time']}', '{$safe['thumb']}') ON DUPLICATE KEY UPDATE event='{$safe['event']}', league='{$safe['league']}', sport='{$safe['sport']}', time='{$safe['time']}', thumb='{$safe['thumb']}'";
  203. mysql_query($query);
  204. }
  205. //Unset XML to Free Memory
  206. unset($e3_upcoming_xml);
  207. //MySQL Connection Close
  208. mysql_close();
  209. ?>