Explorar o código

Gestion des flux https invalides + amélioration mise à jour

Marien Fressinaud %!s(int64=13) %!d(string=hai) anos
pai
achega
b9f883be69
Modificáronse 3 ficheiros con 17 adicións e 16 borrados
  1. 15 15
      app/controllers/feedController.php
  2. 1 1
      app/models/Feed.php
  3. 1 0
      lib/SimplePie/SimplePie/File.php

+ 15 - 15
app/controllers/feedController.php

@@ -98,27 +98,27 @@ class feedController extends ActionController {
 		$date_min = time () - (60 * 60 * 24 * 30 * $nb_month_old);
 
 		$i = 0;
-		try {
-			foreach ($feeds as $feed) {
+		foreach ($feeds as $feed) {
+			try {
 				$feed->load ();
-				$entries = $feed->entries ();
+			} catch (FeedException $e) {
+				Log::record ($e->getMessage (), Log::ERROR);
+			}
+			$entries = $feed->entries ();
 
-				foreach ($entries as $entry) {
-					if ($entry->date (true) >= $date_min) {
-						$values = $entry->toArray ();
-						$entryDAO->addEntry ($values);
-					}
+			foreach ($entries as $entry) {
+				if ($entry->date (true) >= $date_min) {
+					$values = $entry->toArray ();
+					$entryDAO->addEntry ($values);
 				}
+			}
 
-				$feedDAO->updateLastUpdate ($feed->id ());
+			$feedDAO->updateLastUpdate ($feed->id ());
 
-				$i++;
-				if ($i >= 10) {
-					break;
-				}
+			$i++;
+			if ($i >= 10) {
+				break;
 			}
-		} catch (FeedException $e) {
-			Log::record ($e->getMessage (), Log::ERROR);
 		}
 
 		$entryDAO->cleanOldEntries ($nb_month_old);

+ 1 - 1
app/models/Feed.php

@@ -124,7 +124,7 @@ class Feed extends Model {
 				);
 			} else {
 				$feed = new SimplePie ();
-				$feed->set_feed_url ($this->url);
+				$feed->set_feed_url (preg_replace ('/&/', '&', $this->url));
 				$feed->set_cache_location (CACHE_PATH);
 				$feed->init ();
 

+ 1 - 0
lib/SimplePie/SimplePie/File.php

@@ -107,6 +107,7 @@ class SimplePie_File
 				curl_setopt($fp, CURLOPT_REFERER, $url);
 				curl_setopt($fp, CURLOPT_USERAGENT, $useragent);
 				curl_setopt($fp, CURLOPT_HTTPHEADER, $headers2);
+				curl_setopt($fp, CURLOPT_SSL_VERIFYPEER, false);
 				if (!ini_get('open_basedir') && !ini_get('safe_mode') && version_compare(SimplePie_Misc::get_curl_version(), '7.15.2', '>='))
 				{
 					curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 1);