/**
  * Method to parse the source's data into a standard format
  */
 protected function parse_data()
 {
     // Create a normalized feed array (to be served later)
     $parsed_data = array();
     // Let's loop through each "tweet"
     foreach ($this->data as $tweet) {
         // Set reusable timestamp variable
         $timestamp = strtotime($tweet['created_at']);
         $parsed_data[] = array('source' => 'Twitter', 'title' => $tweet['user']['name'], 'userid' => $tweet['user']['id'], 'rawtime' => $tweet['created_at'], 'timestamp' => $timestamp, 'datetime' => \PSU::html5_datetime($timestamp), 'time_ago' => \PSU::date_diff($timestamp, time(), 'simple'), 'url' => 'https://twitter.com/' . $tweet['user']['screen_name'] . '/status/' . $tweet['id_str'], 'text' => $tweet['text']);
     }
     return $parsed_data;
 }
Beispiel #2
0
 /**
  * Method to parse the source's data into a standard format
  */
 protected function parse_data()
 {
     // Create a normalized feed array (to be served later)
     $parsed_data = array();
     // Reference just the feed
     $feed = $this->data->feed;
     // If the feed doesn't have a title, give it a generic name
     $feed_title = $feed->title();
     if (strlen($feed_title) <= 0) {
         $feed_title = 'Plymouth State News';
     }
     // Let's loop through each article
     $item_count = 0;
     foreach ($feed as $item) {
         // If we've gone over the post limit setting, then break out of this loop
         if ($item_count > $this->post_limit) {
             // Stop adding posts from this feed
             break;
         }
         // Cut posts if they're too old
         $post_timestamp = strtotime($item->pubDate());
         if (time() - $post_timestamp > $this->old_post_days * 86400) {
             // Skip adding this one... its too old
             continue;
         }
         // Quick function to clean the posts text
         $clean_the_post = function ($post) {
             // Run some cleaners on the string
             $post = htmlspecialchars_decode($post);
             $post = html_entity_decode($post);
             $post = strip_tags($post);
             $post = \PSU::html_all_entities($post);
             $post = str_replace('&#12287;', '\'', $post);
             return $post;
         };
         $post_text = $clean_the_post($item->title());
         // Add the posts data to the normalized array
         $parsed_data[] = array('source' => 'RSS', 'title' => $feed_title, 'userid' => '', 'rawtime' => $item->pubDate(), 'timestamp' => $post_timestamp, 'datetime' => \PSU::html5_datetime($post_timestamp), 'time_ago' => \PSU::date_diff($post_timestamp, time(), 'simple'), 'url' => $item->link(), 'text' => $post_text, 'description' => $item->description(), 'content' => $item->content());
         $item_count++;
     }
     return $parsed_data;
 }
 /**
  * Method to parse the source's data into a standard format
  */
 protected function parse_data()
 {
     // Create a normalized feed array (to be served later)
     $parsed_data = array();
     // Let's loop through each post
     foreach ($this->data['data'] as $post) {
         // Set reusable timestamp variable
         $timestamp = strtotime($post['created_time']);
         // If the message data is empty, but the name/title isn't, just set the message to have the value of the name
         if (empty($post['message']) && !empty($post['name'])) {
             $post['message'] = $post['name'];
         }
         // If the post's message is empty $this->remove_empty_message_posts is set to true
         if (empty($post['message']) && $this->remove_empty_message_posts) {
             // Just skip adding the post
             continue;
         }
         $parsed_data[] = array('source' => 'Facebook', 'title' => $post['from']['name'], 'userid' => $post['from']['id'], 'rawtime' => $post['created_time'], 'timestamp' => $timestamp, 'datetime' => \PSU::html5_datetime($timestamp), 'time_ago' => \PSU::date_diff($timestamp, time(), 'simple'), 'url' => $post['actions'][0]['link'], 'text' => $post['message']);
     }
     return $parsed_data;
 }