Merge pull request #2541 from annando/1605-photo-upload

Sometimes uploaded pictures weren't posted correctly to other networks
This commit is contained in:
Tobias Diekershoff 2016-05-29 12:20:39 +02:00
commit a3a425f10a
2 changed files with 13 additions and 4 deletions

View file

@ -823,9 +823,12 @@ function get_photo_info($url) {
$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"))
@ -846,8 +849,7 @@ function get_photo_info($url) {
$data["size"] = $filesize;
Cache::set($url, serialize($data));
} else
$data = unserialize($data);
}
return $data;
}

View file

@ -189,6 +189,13 @@ function get_attached_data($body) {
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])) {