remove all hardwired references to 'cloud' in the files interfaces and replace with $a->module. It's OK to leave them in the RedBrowser component because this will remain under /cloud. All the DAV bits need to be abstracted as they will eventually end up under /dav. $a->module will contain the correct string to use.

This commit is contained in:
friendica 2015-01-18 17:52:09 -08:00
parent a71e57cebf
commit 89a2012f7f
2 changed files with 13 additions and 9 deletions

View File

@ -52,7 +52,8 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
//logger('directory ' . $ext_path, LOGGER_DATA);
$this->ext_path = $ext_path;
// remove "/cloud" from the beginning of the path
$this->red_path = ((strpos($ext_path, '/cloud') === 0) ? substr($ext_path, 6) : $ext_path);
$modulename = get_app()->module;
$this->red_path = ((strpos($ext_path, '/' . $modulename') === 0) ? substr($ext_path, strlen($modulename) + 1) : $ext_path);
if (! $this->red_path) {
$this->red_path = '/';
}
@ -112,8 +113,9 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
if ($this->red_path === '/' && $name === 'cloud') {
return new RedDirectory('/cloud', $this->auth);
$modulename = get_app()->module;
if ($this->red_path === '/' && $name === $modulename) {
return new RedDirectory('/' . $modulename, $this->auth);
}
$x = RedFileData($this->ext_path . '/' . $name, $this->auth);
@ -316,8 +318,9 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
public function childExists($name) {
// On /cloud we show a list of available channels.
// @todo what happens if no channels are available?
if ($this->red_path === '/' && $name === 'cloud') {
//logger('We are at /cloud show a channel list', LOGGER_DEBUG);
$modulename = get_app()->module;
if ($this->red_path === '/' && $name === $modulename) {
//logger('We are at ' $modulename . ' show a channel list', LOGGER_DEBUG);
return true;
}
@ -338,14 +341,15 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
function getDir() {
//logger($this->ext_path, LOGGER_DEBUG);
$this->auth->log();
$modulename = get_app->module;
$file = $this->ext_path;
$x = strpos($file, '/cloud');
$x = strpos($file, '/' . $modulename);
if ($x === false)
return;
if ($x === 0) {
$file = substr($file, 6);
$file = substr($file, strlen($modulename) + 1);
}
if ((! $file) || ($file === '/')) {

View File

@ -820,7 +820,7 @@ function attach_delete($channel_id, $resource) {
* path to the file in cloud/
*/
function get_cloudpath($arr) {
$basepath = 'cloud/';
$basepath = get_app()->module . '/';
if($arr['uid']) {
$r = q("select channel_address from channel where channel_id = %d limit 1",
@ -880,7 +880,7 @@ function get_parent_cloudpath($channel_id, $channel_name, $attachHash) {
$parentFullPath = $parentName . '/' . $parentFullPath;
}
} while ($parentHash);
$parentFullPath = z_root() . '/cloud/' . $channel_name . '/' . $parentFullPath;
$parentFullPath = z_root() . '/' . get_app()->module . '/' . $channel_name . '/' . $parentFullPath;
return $parentFullPath;
}