private function loadRss($rss) { try { $feed = FeedReader::read($rss->url); $data = array(); foreach ($feed->get_items() as $key => $value) { //Fallback bad url $url = $value->get_id(); $url = filter_var($url, FILTER_VALIDATE_URL) === FALSE ? $value->get_permalink() : $url; $link = Link::where('url', $url)->get()->first(); if (is_null($link)) { $htmlParts = $this->getFinalURL($url); $final_url = $htmlParts['final_url']; $this->info($final_url); if (strpos($final_url, "/") == 0) { $orig = parse_url($url); $final_url = $orig['scheme'] . '://' . $orig['host'] . $final_url; $this->info($final_url); } //'Y-m-d H:i:s' $date = strtotime($value->get_date()); //Fallback bad dates if (strpos($date, '1969') == 0) { $date = new DateTime(); } else { $date = date('Y-m-d H:i:s', $date); } $image = $this->getImage($value, $htmlParts['og_image']); $data[] = array('url' => $url, 'final_url' => $final_url, 'title' => html_entity_decode($value->get_title()), 'image' => $image, 'id_rss' => $rss->id, 'id_tag' => $rss->id_tag, 'id_newspaper' => $rss->id_newspaper, 'date' => $date, 'facebook' => 0, 'twitter' => 0, 'linkedin' => 0, 'googleplus' => 0, 'updated_at' => date('Y-m-d H:i:s'), 'created_at' => date('Y-m-d H:i:s')); } else { $link->touch(); } } } catch (Exception $e) { $this->info($rss->url); $this->info($e->getTraceAsString()); } if (count($data)) { Link::insert($data); } }