aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2018-11-10 11:47:20 +0100
committerMario <mario@mariovavti.com>2018-11-10 11:47:20 +0100
commit4999547f87a1e151108402cbcffc37dc6706f88b (patch)
treef7e6a6465d0d93e2c2a30e83fe8a2d61874f9b98
parent4bf3fdd898446649928c27a25a18ea73d9cd8091 (diff)
parentd20759c1419ae905e70c7bc6b8acaf3e3918d210 (diff)
downloadvolse-hubzilla-4999547f87a1e151108402cbcffc37dc6706f88b.tar.gz
volse-hubzilla-4999547f87a1e151108402cbcffc37dc6706f88b.tar.bz2
volse-hubzilla-4999547f87a1e151108402cbcffc37dc6706f88b.zip
Merge branch 'dev' into 'dev'
Preserve received image modification date on caching See merge request hubzilla/core!1386
-rw-r--r--Zotlabs/Module/Photo.php6
-rw-r--r--include/network.php1
-rw-r--r--include/photo/photo_driver.php27
3 files changed, 19 insertions, 15 deletions
diff --git a/Zotlabs/Module/Photo.php b/Zotlabs/Module/Photo.php
index e218d1c53..95e3404fb 100644
--- a/Zotlabs/Module/Photo.php
+++ b/Zotlabs/Module/Photo.php
@@ -80,7 +80,7 @@ class Photo extends \Zotlabs\Web\Controller {
intval(PHOTO_PROFILE)
);
if($r) {
- $modified = strtotime($r[0]['edited']);
+ $modified = strtotime($r[0]['edited'] . "Z");
$data = dbunescbin($r[0]['content']);
$mimetype = $r[0]['mimetype'];
}
@@ -167,7 +167,7 @@ class Photo extends \Zotlabs\Web\Controller {
$data = dbunescbin($e[0]['content']);
$filesize = $e[0]['filesize'];
$mimetype = $e[0]['mimetype'];
- $modified = strtotime($e[0]['edited']);
+ $modified = strtotime($e[0]['edited'] . 'Z');
if(intval($e[0]['os_storage']))
$streaming = $data;
if($e[0]['allow_cid'] != '' || $e[0]['allow_gid'] != '' || $e[0]['deny_gid'] != '' || $e[0]['deny_gid'] != '')
@@ -193,7 +193,7 @@ class Photo extends \Zotlabs\Web\Controller {
header_remove('Expires');
header_remove('Cache-Control');
header_remove('Set-Cookie');
- http_status_exit(304,'not modified');
+ http_status_exit(304,'not modified');
}
if(! isset($data)) {
diff --git a/include/network.php b/include/network.php
index baa8ec40d..d37da05f7 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1963,7 +1963,6 @@ function scrape_vcard($url) {
}
}
- $ret['photo'] = (filter_var($ret['photo'], FILTER_VALIDATE_URL) ? $ret['photo'] : substr($ret['url'], 0, -1) . $ret['photo']);
return $ret;
}
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 12465c794..a4866bb60 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -350,8 +350,7 @@ abstract class photo_driver {
$p['allow_gid'] = (($arr['allow_gid']) ? $arr['allow_gid'] : '');
$p['deny_cid'] = (($arr['deny_cid']) ? $arr['deny_cid'] : '');
$p['deny_gid'] = (($arr['deny_gid']) ? $arr['deny_gid'] : '');
- $p['created'] = (($arr['created']) ? $arr['created'] : datetime_convert());
- $p['edited'] = (($arr['edited']) ? $arr['edited'] : $p['created']);
+ $p['edited'] = (($arr['edited']) ? $arr['edited'] : datetime_convert());
$p['title'] = (($arr['title']) ? $arr['title'] : '');
$p['description'] = (($arr['description']) ? $arr['description'] : '');
$p['photo_usage'] = intval($arr['photo_usage']);
@@ -365,13 +364,15 @@ abstract class photo_driver {
if(! intval($p['imgscale']))
logger('save: ' . print_r($arr,true), LOGGER_DATA);
- $x = q("select id from photo where resource_id = '%s' and uid = %d and xchan = '%s' and imgscale = %d limit 1",
+ $x = q("select id, created from photo where resource_id = '%s' and uid = %d and xchan = '%s' and imgscale = %d limit 1",
dbesc($p['resource_id']),
intval($p['uid']),
dbesc($p['xchan']),
intval($p['imgscale'])
);
+
if($x) {
+ $p['created'] = (($x['created']) ? $x['created'] : $p['edited']);
$r = q("UPDATE photo set
aid = %d,
uid = %d,
@@ -427,6 +428,7 @@ abstract class photo_driver {
);
}
else {
+ $p['created'] = (($arr['created']) ? $arr['created'] : $p['edited']);
$r = q("INSERT INTO photo
( aid, uid, xchan, resource_id, created, edited, filename, mimetype, album, height, width, content, os_storage, filesize, imgscale, photo_usage, title, description, os_path, display_path, allow_cid, allow_gid, deny_cid, deny_gid )
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
@@ -464,11 +466,6 @@ abstract class photo_driver {
-
-
-
-
-
/**
* Guess image mimetype from filename or from Content-Type header
*
@@ -650,9 +647,8 @@ function import_xchan_photo($photo,$xchan,$thing = false,$force = false) {
}
}
- else {
+ else
$photo_failure = true;
- }
if(! $photo_failure && $result['return_code'] != 304) {
$img = photo_factory($img_str, $type);
@@ -680,7 +676,15 @@ function import_xchan_photo($photo,$xchan,$thing = false,$force = false) {
else
$photo_failure = true;
- $p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => basename($photo), 'album' => $album, 'photo_usage' => $flags, 'imgscale' => 4);
+ $p = array(
+ 'xchan' => $xchan,
+ 'resource_id' => $hash,
+ 'filename' => basename($photo),
+ 'album' => $album,
+ 'photo_usage' => $flags,
+ 'imgscale' => 4,
+ 'edited' => $modified
+ );
$r = $img->save($p);
@@ -721,6 +725,7 @@ function import_xchan_photo($photo,$xchan,$thing = false,$force = false) {
$modified = gmdate('Y-m-d H:i:s', filemtime($default));
}
+ logger('HTTP code: ' . $result['return_code'] . '; modified: ' . $modified . '; failure: ' . ($photo_failure ? 'yes' : 'no') . '; URL: ' . $photo, LOGGER_DEBUG);
return(array($photo,$thumb,$micro,$type,$photo_failure,$modified));
}