From 3df6022cf5efa11d6e75900e00e0c204e9112d53 Mon Sep 17 00:00:00 2001 From: Daniel Moos Date: Mon, 7 Sep 2015 17:40:32 +0200 Subject: [PATCH 1/5] createLibraryFolder added. --- src/Ctct/Services/LibraryService.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/Ctct/Services/LibraryService.php b/src/Ctct/Services/LibraryService.php index 10bcf79..c2789f7 100644 --- a/src/Ctct/Services/LibraryService.php +++ b/src/Ctct/Services/LibraryService.php @@ -11,6 +11,7 @@ use GuzzleHttp\Exception\ClientException; use GuzzleHttp\Post\PostBody; use GuzzleHttp\Post\PostFile; +use GuzzleHttp\Stream\Stream; class LibraryService extends BaseService { @@ -277,6 +278,31 @@ public function uploadFile($accessToken, $fileName, $fileLocation, $description, return $response->getHeader("Id"); } + /** + * Creates a new Library folder + * @param string $accessToken - Constant Contact OAuth2 token + * @param Folder $folder + * @return \Ctct\Components\Library\Folder - Newly created folder + * @throws CtctException + */ + public function createLibraryFolder($accessToken, Folder $folder){ + $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.library_folders'); + + $request = parent::createBaseRequest($accessToken, "POST", $baseUrl); + + $stream = Stream::factory(json_encode($folder)); + $request->setBody($stream); + + try { + $response = parent::getClient()->send($request); + } catch (ClientException $e) { + throw parent::convertException($e); + } + + $body = $response->json(); + return Folder::create($body); + } + /** * Get the status of a File upload * @param string $accessToken - Constant Contact OAuth2 token From dfacfe9f0192c0d62ba32a91fc357721c5d8bb0e Mon Sep 17 00:00:00 2001 From: Daniel Moos Date: Tue, 8 Sep 2015 09:13:00 +0200 Subject: [PATCH 2/5] Fixed API Endpoint Communication --- src/Ctct/Services/LibraryService.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Ctct/Services/LibraryService.php b/src/Ctct/Services/LibraryService.php index c2789f7..eceb43e 100644 --- a/src/Ctct/Services/LibraryService.php +++ b/src/Ctct/Services/LibraryService.php @@ -189,7 +189,7 @@ public function getLibraryFolders($accessToken, Array $params = array()) */ public function getLibraryFolder($accessToken, $folderId) { - $baseUrl = Config::get('endpoints.base_url') . Config::get(sprintf('endpoints.library_folder', $folderId)); + $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.library_folder'), $folderId); $request = parent::createBaseRequest($accessToken, 'GET', $baseUrl); @@ -212,7 +212,7 @@ public function getLibraryFolder($accessToken, $folderId) */ public function deleteLibraryFolder($accessToken, $folderId) { - $baseUrl = Config::get('endpoints.base_url') . Config::get(sprintf('endpoints.library_folder', $folderId)); + $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.library_folder'), $folderId); $request = parent::createBaseRequest($accessToken, 'DELETE', $baseUrl); From c7a0e96acb12bc7068d8aaabf4aefd6038e337aa Mon Sep 17 00:00:00 2001 From: Daniel Moos Date: Tue, 8 Sep 2015 09:16:36 +0200 Subject: [PATCH 3/5] file upload fixed (folderId -> folder_id) --- src/Ctct/Services/LibraryService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Ctct/Services/LibraryService.php b/src/Ctct/Services/LibraryService.php index eceb43e..658e298 100644 --- a/src/Ctct/Services/LibraryService.php +++ b/src/Ctct/Services/LibraryService.php @@ -261,7 +261,7 @@ public function uploadFile($accessToken, $fileName, $fileLocation, $description, $request->setHeader("Content-Type", "multipart/form-data"); $body = new PostBody(); - $body->setField("folderId", $folderId); + $body->setField("folder_id", $folderId); $body->setField("file_name", $fileName); $body->setField("file_type", $fileType); $body->setField("description", $description); From 6bd3e7dd9b16b135a6c2483e163b42dfc5dde0fb Mon Sep 17 00:00:00 2001 From: Daniel Moos Date: Tue, 8 Sep 2015 15:20:29 +0200 Subject: [PATCH 4/5] mime type comparison fix (= -> ==) --- src/Ctct/Services/LibraryService.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Ctct/Services/LibraryService.php b/src/Ctct/Services/LibraryService.php index 658e298..cc3b092 100644 --- a/src/Ctct/Services/LibraryService.php +++ b/src/Ctct/Services/LibraryService.php @@ -243,7 +243,6 @@ public function uploadFile($accessToken, $fileName, $fileLocation, $description, $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $fileLocation); finfo_close($finfo); - if ($mime == "image/png") { $fileType = "PNG"; } elseif ($mime = "image/jpeg") { From 960f09eeaf46324283043ebe44071a0eed86cc0c Mon Sep 17 00:00:00 2001 From: Daniel Moos Date: Tue, 8 Sep 2015 15:22:17 +0200 Subject: [PATCH 5/5] mime refix --- src/Ctct/Services/LibraryService.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Ctct/Services/LibraryService.php b/src/Ctct/Services/LibraryService.php index cc3b092..719f635 100644 --- a/src/Ctct/Services/LibraryService.php +++ b/src/Ctct/Services/LibraryService.php @@ -245,15 +245,16 @@ public function uploadFile($accessToken, $fileName, $fileLocation, $description, finfo_close($finfo); if ($mime == "image/png") { $fileType = "PNG"; - } elseif ($mime = "image/jpeg") { + } elseif ($mime == "image/jpeg") { $fileType = "JPG"; - } elseif ($mime = "image/gif") { + } elseif ($mime == "image/gif") { $fileType = "GIF"; - } elseif ($mime ="application/pdf") { + } elseif ($mime =="application/pdf") { $fileType = "PDF"; } else { throw new IllegalArgumentException(sprintf(Config::get('errors.file_extension'), "PNG, JPG, JPEG, GIF, PDF was " . $mime)); } + $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.library_files'); $request = parent::createBaseRequest($accessToken, "POST", $baseUrl);