From a026e3851fe22c74f47c4efb7bcc07b6ad1edee5 Mon Sep 17 00:00:00 2001 From: Roy de Jong Date: Wed, 24 Aug 2022 15:02:37 +0200 Subject: [PATCH] feat: newArticleGroup API call --- Mplusqapiclient.php | 57 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/Mplusqapiclient.php b/Mplusqapiclient.php index 4f2650f..7da1c99 100755 --- a/Mplusqapiclient.php +++ b/Mplusqapiclient.php @@ -1719,6 +1719,23 @@ public function getArticleGroupChanges($groupNumbers=null, $syncMarker=null, $sy //---------------------------------------------------------------------------- + public function newArticleGroup($articleGroup = array()) + { + try { + $result = $this->client->newArticleGroup($this->parser->convertNewArticleGroupRequest($articleGroup)); + if ($this->returnRawResult) { + return $result; + } + return $this->parser->parseNewArticleGroupResult($result); + } catch (SoapFault $e) { + throw new MplusQAPIException('SoapFault occurred: ' . $e->getMessage(), 0, $e); + } catch (Exception $e) { + throw new MplusQAPIException('Exception occurred: ' . $e->getMessage(), 0, $e); + } + } // END newArticleGroup() + + //---------------------------------------------------------------------------- + public function saveArticleGroups($articleGroupList = array()) { try { @@ -5183,6 +5200,23 @@ public function parseChangedArticleGroups($soapChangedArticleGroups) { //---------------------------------------------------------------------------- + public function parseNewArticleGroupResult($soapNewArticleGroupResponse) + { + $result = false; + if (isset($soapNewArticleGroupResponse->result) and $soapNewArticleGroupResponse->result == 'NEW-ARTICLE-GROUP-RESULT-OK') { + $result = true; + if (isset($soapNewArticleGroupResponse->groupNumber)) { + $result = array(); + } + if (isset($soapNewArticleGroupResponse->groupNumber)) { + $result['groupNumber'] = $soapNewArticleGroupResponse->groupNumber; + } + } + return $result; + } // END parseNewArticleGroupResult() + + //---------------------------------------------------------------------------- + public function parseArticleSubGroups($articleSubGroups) { if (isset($articleSubGroups['articleGroups']['groupNumber'])) { $articleSubGroups = array($articleSubGroups['articleGroups']); @@ -8407,6 +8441,29 @@ public function convertGetArticleGroupChangesRequest($groupNumbers, $syncMarker, //---------------------------------------------------------------------------- + public function convertNewArticleGroupRequest($articleGroup) + { + $request = array(); + + if (isset($articleGroup['parentGroupNumber'])) + $request['parentGroupNumber'] = $articleGroup['parentGroupNumber']; + else + $request['parentGroupNumber'] = 0; + + if (isset($articleGroup['name'])) + $request['name'] = $articleGroup['name']; + if (isset($articleGroup['text'])) + $request['text'] = $articleGroup['text']; + if (isset($articleGroup['sortOrder'])) + $request['sortOrder'] = $articleGroup['sortOrder']; + if (isset($articleGroup['imageId'])) + $request['imageId'] = $articleGroup['imageId']; + + return arrayToObject(array('request' => $request)); + } // END convertNewArticleGroupRequest() + + //---------------------------------------------------------------------------- + public function convertSaveArticleGroupsRequest($articleGroupList, $depth=0) { foreach ($articleGroupList as $idx => $articleGroup) {