fix folder timestamps and change them when a child DAV file is written to

This commit is contained in:
friendica 2014-01-15 04:02:15 -08:00
parent 403b01da23
commit e4217dc141

View File

@ -143,13 +143,21 @@ class RedDirectory extends DAV\Node implements DAV\ICollection {
file_put_contents($f, $data);
$size = filesize($f);
$edited = datetime_convert();
$r = q("update attach set filesize = '%s' where hash = '%s' and uid = %d limit 1",
$d = q("update attach set filesize = '%s', edited = '%s' where hash = '%s' and uid = %d limit 1",
dbesc($size),
dbesc($edited),
dbesc($hash),
intval($c[0]['channel_id'])
);
$e = q("update attach set edited = '%s' where folder = '%s' and uid = %d limit 1",
dbesc($edited),
dbesc($this->folder_hash),
intval($c[0]['channel_id'])
);
$maxfilesize = get_config('system','maxfilesize');
if(($maxfilesize) && ($size > $maxfilesize)) {
@ -278,6 +286,15 @@ class RedDirectory extends DAV\Node implements DAV\ICollection {
}
function getLastModified() {
$r = q("select edited from attach where folder = '%s' and uid = %d order by edited desc limit 1",
dbesc($this->folder_hash),
intval($this->auth->owner_id)
);
if($r)
return datetime_convert('UTC','UTC', $r[0]['edited'],'U');
return '';
}
@ -332,7 +349,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
intval($this->auth->owner_id)
);
$r = q("select flags, data from attach where hash = '%s' and uid = %d limit 1",
$r = q("select flags, folder, data from attach where hash = '%s' and uid = %d limit 1",
dbesc($this->data['hash']),
intval($c[0]['channel_id'])
);
@ -356,14 +373,23 @@ class RedFile extends DAV\Node implements DAV\IFile {
if($r)
$size = $r[0]['fsize'];
}
}
$r = q("update attach set filesize = '%s' where hash = '%s' and uid = %d limit 1",
$edited = datetime_convert();
$d = q("update attach set filesize = '%s', edited = '%s' where hash = '%s' and uid = %d limit 1",
dbesc($size),
dbesc($edited),
dbesc($this->data['hash']),
intval($c[0]['channel_id'])
);
$e = q("update attach set edited = '%s' where folder = '%s' and uid = %d limit 1",
dbesc($edited),
dbesc($r[0]['folder']),
intval($c[0]['channel_id'])
);
$maxfilesize = get_config('system','maxfilesize');
@ -419,7 +445,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
function getLastModified() {
return $this->data['edited'];
return datetime_convert('UTC','UTC',$this->data['edited'],'U');
}