diff --git a/core/src/plugins/access.dropbox/class.dropboxAccessDriver.php b/core/src/plugins/access.dropbox/class.dropboxAccessDriver.php
index 38801bd401..c1e5b508f2 100644
--- a/core/src/plugins/access.dropbox/class.dropboxAccessDriver.php
+++ b/core/src/plugins/access.dropbox/class.dropboxAccessDriver.php
@@ -57,7 +57,7 @@ public function initRepository()
if(!empty($_SESSION["OAUTH_DROPBOX_TOKENS"])) return;
// TOKENS IN FILE ?
- $tokens = $this->getTokens($this->repository->getId());
+ $tokens = $this->getTokens();
if (!empty($tokens)) {
$_SESSION["OAUTH_DROPBOX_TOKENS"] = $tokens;
return;
@@ -87,7 +87,7 @@ public function initRepository()
$tokens = $oauth->getAccessToken();
$_SESSION['DROPBOX_NEGOCIATION_STATE'] = 3;
$_SESSION['OAUTH_DROPBOX_TOKENS'] = $tokens;
- $this->setTokens($this->repository->getId(), $tokens);
+ $this->setTokens($tokens);
return;
}
@@ -107,13 +107,19 @@ public function isWriteable($dir, $type = "dir")
return true;
}
- public function getTokens($repositoryId)
+ public function getTokens()
{
- return AJXP_Utils::loadSerialFile(AJXP_DATA_PATH."/plugins/access.dropbox/".$repositoryId."_tokens");
+ $repositoryId = $this->repository->getId();
+ if(AuthService::usersEnabled()) $userId = AuthService::getLoggedUser()->getId();
+ else $userId = "shared";
+ return AJXP_Utils::loadSerialFile(AJXP_DATA_PATH."/plugins/access.dropbox/".$repositoryId."_".$userId."_tokens");
}
- public function setTokens($repositoryId, $oauth_tokens)
+ public function setTokens($oauth_tokens)
{
- return AJXP_Utils::saveSerialFile(AJXP_DATA_PATH."/plugins/access.dropbox/".$repositoryId."_tokens", $oauth_tokens, true);
+ $repositoryId = $this->repository->getId();
+ if(AuthService::usersEnabled()) $userId = AuthService::getLoggedUser()->getId();
+ else $userId = "shared";
+ return AJXP_Utils::saveSerialFile(AJXP_DATA_PATH."/plugins/access.dropbox/".$repositoryId."_".$userId."_tokens", $oauth_tokens, true);
}
}
diff --git a/core/src/plugins/access.dropbox/class.dropboxWrapper.php b/core/src/plugins/access.dropbox/class.dropboxWrapper.php
index 37a7cc44b7..67a25e8745 100644
--- a/core/src/plugins/access.dropbox/class.dropboxWrapper.php
+++ b/core/src/plugins/access.dropbox/class.dropboxWrapper.php
@@ -63,7 +63,8 @@ public function initPath($ajxpPath)
self::$oauth->setToken($_SESSION["OAUTH_DROPBOX_TOKENS"]);
self::$dropbox = new Dropbox_API(self::$oauth);
}
- $path = parse_url($ajxpPath, PHP_URL_PATH);
+ $parts = AJXP_Utils::safeParseUrl($ajxpPath);
+ $path = $parts["path"];
if($path == "") return "/";
return $path;
}
@@ -205,7 +206,7 @@ public function dir_opendir($path, $options)
public function dir_readdir()
{
//return false;
- if(self::$crtDirIndex == count(self::$crtDirContent)-1) return false;
+ if(self::$crtDirIndex == count(self::$crtDirContent)) return false;
$meta = self::$crtDirContent[self::$crtDirIndex];
self::$crtDirIndex ++;
return basename($meta["path"]);
diff --git a/core/src/plugins/access.dropbox/manifest.xml b/core/src/plugins/access.dropbox/manifest.xml
index 94fb661528..64484fe28e 100644
--- a/core/src/plugins/access.dropbox/manifest.xml
+++ b/core/src/plugins/access.dropbox/manifest.xml
@@ -8,8 +8,6 @@
-
-