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 @@ - -