$data = Cache::get($url);
- if (is_null($data)) {
- $img_str = fetch_url($url, true, $redirects, 4);
+ // Unserialise to be able to check in the next step if the cached data is alright.
+ if (!is_null($data))
+ $data = unserialize($data);
+ if (is_null($data) OR !$data) {
+ $img_str = fetch_url($url, true, $redirects, 4);
$filesize = strlen($img_str);
if (function_exists("getimagesizefromstring"))
$data["size"] = $filesize;
Cache::set($url, serialize($data));
- } else
- $data = unserialize($data);
+ }
return $data;
}
if (count($pictures) == 1) {
// Checking, if the link goes to a picture
$data = parseurl_getsiteinfo_cached($pictures[0][1], true);
+
+ // Workaround:
+ // Sometimes photo posts to the own album are not detected at the start.
+ // So we seem to cannot use the cache for these cases. That's strange.
+ if (($data["type"] != "photo") AND strstr($pictures[0][1], "/photos/"))
+ $data = parseurl_getsiteinfo($pictures[0][1], true);
+
if ($data["type"] == "photo") {
$post["type"] = "photo";
if (isset($data["images"][0])) {