From 82365dbdb93e0364bfa2454f05b9f5cc54e0ed94 Mon Sep 17 00:00:00 2001 From: whatever22 Date: Thu, 24 May 2018 03:12:18 +0000 Subject: [PATCH 1/2] Extended services to handle folders as files. --- Cumulus.php | 9 ++++++++- CumulusService.php | 6 ++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Cumulus.php b/Cumulus.php index 926d5da..6174b0c 100644 --- a/Cumulus.php +++ b/Cumulus.php @@ -16,6 +16,7 @@ class Cumulus implements CumulusInterface { protected $config = array(); public static $CHEMIN_CONFIG = "config/config.json"; + /** Implémentation de la lib de stockage par un adapteur */ protected $storageAdapter; @@ -64,6 +65,12 @@ public function setAuthAdapter($adapter) { $this->storageAdapter->setAuthAdapter($adapter); } + + public function createNewFolder($folderName, $path) { + return $this->storageAdapter->createNewFolder($folderName, $path); + } + + /** * Retourne le chemin racine du stockage de fichiers */ @@ -242,4 +249,4 @@ public function deleteByKey($key, $keepFile=false) { public function getAttributesByKey($key) { return $this->storageAdapter->getAttributesByKey($key); } -} \ No newline at end of file +} diff --git a/CumulusService.php b/CumulusService.php index abce785..00d580b 100644 --- a/CumulusService.php +++ b/CumulusService.php @@ -743,6 +743,7 @@ protected function explode($delimiter, $string) { * n'est spécifié, modifie les métadonnées de la clef ciblée */ protected function post() { + $nameOrKey = array_pop($this->resources); $path = '/' . implode('/', $this->resources); @@ -768,6 +769,7 @@ protected function post() { if (! empty($_SERVER["CONTENT_TYPE"])) { $serverContentType = $_SERVER["CONTENT_TYPE"]; } + // détection de la méthode d'envoi $isMPFD = strtolower(substr($serverContentType, 0, 19)) == 'multipart/form-data'; if ($isMPFD) { // envoi de formulaire classique avec multipart/form-data @@ -822,8 +824,9 @@ protected function post() { $info = false; if ($file == null) { + // mise à jour métadonnées seulement - $info = $this->lib->updateByKey($key, $newname, $newpath, $keywords, $groups, $permissions, $license, $meta); + $info = $this->lib->createNewFolder($nameOrKey, $path); } else { // ajout / mise à jour de fichier $info = $this->lib->addOrUpdateFile($file, $path, $nameOrKey, $keywords, $groups, $permissions, $license, $meta); @@ -855,4 +858,3 @@ protected function delete() { } - From 4cd44b5c1a5bdac81f4015caa4aacf57e849c9bf Mon Sep 17 00:00:00 2001 From: whatever22 Date: Fri, 25 May 2018 05:02:22 +0000 Subject: [PATCH 2/2] Edited a code comment --- CumulusService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CumulusService.php b/CumulusService.php index 00d580b..c156475 100644 --- a/CumulusService.php +++ b/CumulusService.php @@ -825,7 +825,7 @@ protected function post() { $info = false; if ($file == null) { - // mise à jour métadonnées seulement + // création d'un répertoire $info = $this->lib->createNewFolder($nameOrKey, $path); } else { // ajout / mise à jour de fichier