Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Thomas Willingham
2014-01-15 23:01:02 +00:00
10 changed files with 81 additions and 31 deletions
+4 -2
View File
@@ -2259,7 +2259,7 @@ function tag_deliver($uid,$item_id) {
if($terms) {
foreach($terms as $term) {
if(($term['term'] == $u[0]['channel_name']) && link_compare($term['url'],$link)) {
if((strcasecmp($term['term'],$u[0]['channel_name']) == 0) && link_compare($term['url'],$link)) {
$mention = true;
break;
}
@@ -2322,8 +2322,10 @@ function tag_deliver($uid,$item_id) {
}
if((! $mention) && (! $union))
if((! $mention) && (! $union)) {
logger('tag_deliver: no mention and no union.');
return;
}
// tgroup delivery - setup a second delivery chain
+49 -17
View File
@@ -100,11 +100,11 @@ class RedDirectory extends DAV\Node implements DAV\ICollection {
$mimetype = z_mime_content_type($name);
$c = q("select * from channel where channel_id = %d limit 1",
$c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
intval(PAGE_REMOVED),
intval($this->auth->owner_id)
);
if(! $c) {
logger('createFile: no channel');
throw new DAV\Exception\Forbidden('Permission denied.');
@@ -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)) {
@@ -180,8 +188,9 @@ class RedDirectory extends DAV\Node implements DAV\ICollection {
return;
}
$r = q("select * from channel where channel_id = %d limit 1",
dbesc($this->auth->owner_id)
$r = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
intval(PAGE_REMOVED),
intval($this->auth->owner_id)
);
if($r) {
@@ -233,13 +242,17 @@ class RedDirectory extends DAV\Node implements DAV\ICollection {
$channel_name = $path_arr[0];
$r = q("select channel_id from channel where channel_address = '%s' limit 1",
dbesc($channel_name)
$r = q("select channel_id from channel where channel_address = '%s' and not ( channel_pageflags & %d ) limit 1",
dbesc($channel_name),
intval(PAGE_REMOVED)
);
if(! $r)
return;
if(! $r) {
throw new DAV\Exception\NotFound('The file with name: ' . $channel_name . ' could not be found');
return;
}
$channel_id = $r[0]['channel_id'];
$this->auth->owner_id = $channel_id;
$this->auth->owner_nick = $channel_name;
@@ -273,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 '';
}
@@ -322,12 +344,12 @@ class RedFile extends DAV\Node implements DAV\IFile {
function put($data) {
logger('RedFile::put: ' . basename($this->name), LOGGER_DEBUG);
$c = q("select * from channel where channel_id = %d limit 1",
$c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
intval(PAGE_REMOVED),
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'])
);
@@ -351,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');
@@ -414,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');
}
@@ -440,8 +471,9 @@ function RedChannelList(&$auth) {
$ret = array();
$r = q("select channel_id, channel_address from channel where not (channel_pageflags & %d)",
intval(PAGE_REMOVED)
$r = q("select channel_id, channel_address from channel where not (channel_pageflags & %d) and not (channel_pageflags & %d) ",
intval(PAGE_REMOVED),
intval(PAGE_HIDDEN)
);
if($r) {