RainbowSixSiegeBridge.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. class RainbowSixSiegeBridge extends BridgeAbstract {
  3. const MAINTAINER = 'corenting';
  4. const NAME = 'Rainbow Six Siege Blog';
  5. const URI = 'https://rainbow6.ubisoft.com/siege/en-us/news/';
  6. const CACHE_TIMEOUT = 7200; // 2h
  7. const DESCRIPTION = 'Latest articles from the Rainbow Six Siege blog';
  8. public function collectData(){
  9. $dlUrl = 'https://prod-tridionservice.ubisoft.com/live/v1/News/Latest?templateId=tcm%3A152-7677';
  10. $dlUrl .= '8-32&pageIndex=0&pageSize=10&language=en-US&detailPageId=tcm%3A152-194572-64';
  11. $dlUrl .= '&keywordList=175426&siteId=undefined&useSeoFriendlyUrl=true';
  12. $jsonString = getContents($dlUrl) or returnServerError('Error while downloading the website content');
  13. $json = json_decode($jsonString, true);
  14. $json = $json['items'];
  15. // Start at index 2 to remove highlighted articles
  16. for($i = 0; $i < count($json); $i++) {
  17. $jsonItem = $json[$i]['Content'];
  18. $article = str_get_html($jsonItem);
  19. $item = array();
  20. $uri = $article->find('h3 a', 0)->href;
  21. $uri = 'https://rainbow6.ubisoft.com' . $uri;
  22. $item['uri'] = $uri;
  23. $item['title'] = $article->find('h3', 0)->plaintext;
  24. $item['content'] = $article->find('img', 0)->outertext . '<br />' . $article->find('strong', 0)->plaintext;
  25. $item['timestamp'] = strtotime($article->find('p.news_date', 0)->plaintext);
  26. $this->items[] = $item;
  27. }
  28. }
  29. }