Skip to content

Commit 8003b38

Browse files
author
Mplus Software
committed
- parseOrderCategories now returns an empty array instead of false when no categories are passed
- articlePluNumbers and articleBarcodes are now properly formatted for the getReceipts and getInvoices calls - articleTurnoverGroups, branchNumbers and employeeNumbers are now always passed as array instead of object
1 parent 2a9a728 commit 8003b38

File tree

1 file changed

+32
-7
lines changed

1 file changed

+32
-7
lines changed

Mplusqapiclient.php

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ public function getReceiptsByOrder($orderId)
916916
public function getInvoices($syncMarker, $fromFinancialDate, $throughFinancialDate, $branchNumbers = null, $employeeNumbers = null, $relationNumbers = null, $articleNumbers = null, $articleTurnoverGroups = null, $articlePluNumbers = null, $articleBarcodes = null, $supplierRelationNumbers = null, $finalizeInvoices = null)
917917
{
918918
try {
919-
// i($this->parser->convertGetInvoicesRequest($syncMarker, $fromFinancialDate, $throughFinancialDate, $branchNumbers, $employeeNumbers, $relationNumbers, $articleNumbers, $articleTurnoverGroups, $articlePluNumbers, $articleBarcodes, $supplierRelationNumbers));
919+
// i($this->parser->convertGetInvoicesRequest($syncMarker, $fromFinancialDate, $throughFinancialDate, $branchNumbers, $employeeNumbers, $relationNumbers, $articleNumbers, $articleTurnoverGroups, $articlePluNumbers, $articleBarcodes, $supplierRelationNumbers, $finalizeInvoices));
920920
$result = $this->client->getInvoices($this->parser->convertGetInvoicesRequest($syncMarker, $fromFinancialDate, $throughFinancialDate, $branchNumbers, $employeeNumbers, $relationNumbers, $articleNumbers, $articleTurnoverGroups, $articlePluNumbers, $articleBarcodes, $supplierRelationNumbers, $finalizeInvoices));
921921
// i($this->client->__getLastRequest());
922922
return $this->parser->parseGetInvoicesResult($result);
@@ -1897,8 +1897,9 @@ public function parseOrderCategories($soapOrderCategories)
18971897
$soapOrderCategories = $soapOrderCategories->orderCategory;
18981898
$orderCategories = objectToArray($soapOrderCategories);
18991899
return $orderCategories;
1900+
} else {
1901+
return array();
19001902
}
1901-
return false;
19021903
} // END parseOrderCategories()
19031904

19041905
//----------------------------------------------------------------------------
@@ -2766,8 +2767,8 @@ public function convertGetReceiptsRequest($syncMarker, $fromFinancialDate, $thro
27662767
'relationNumbers'=>empty($relationNumbers)?null:array_values($relationNumbers),
27672768
'articleNumbers'=>empty($articleNumbers)?null:array_values($articleNumbers),
27682769
'articleTurnoverGroups'=>empty($articleTurnoverGroups)?null:array_values($articleTurnoverGroups),
2769-
'articlePluNumbers'=>empty($articlePluNumbers)?null:array_values($articlePluNumbers),
2770-
'articleBarcodes'=>empty($articleBarcodes)?null:array_values($articleBarcodes),
2770+
'articlePluNumbers'=>empty($articlePluNumbers)?null:$this->convertPluNumbers(array_values($articlePluNumbers)),
2771+
'articleBarcodes'=>empty($articleBarcodes)?null:$this->convertBarcodes(array_values($articleBarcodes)),
27712772
);
27722773

27732774
if ( ! is_null($supplierRelationNumbers)) {
@@ -2819,8 +2820,8 @@ public function convertGetInvoicesRequest($syncMarker, $fromFinancialDate, $thro
28192820
'relationNumbers'=>empty($relationNumbers)?null:array_values($relationNumbers),
28202821
'articleNumbers'=>empty($articleNumbers)?null:array_values($articleNumbers),
28212822
'articleTurnoverGroups'=>empty($articleTurnoverGroups)?null:array_values($articleTurnoverGroups),
2822-
'articlePluNumbers'=>empty($articlePluNumbers)?null:array_values($articlePluNumbers),
2823-
'articleBarcodes'=>empty($articleBarcodes)?null:array_values($articleBarcodes),
2823+
'articlePluNumbers'=>empty($articlePluNumbers)?null:$this->convertPluNumbers(array_values($articlePluNumbers)),
2824+
'articleBarcodes'=>empty($articleBarcodes)?null:$this->convertBarcodes(array_values($articleBarcodes)),
28242825
);
28252826

28262827
if ( ! is_null($supplierRelationNumbers)) {
@@ -3039,6 +3040,25 @@ public function convertPluNumbers($pluNumbers)
30393040

30403041
//----------------------------------------------------------------------------
30413042

3043+
public function convertBarcodes($barcodes)
3044+
{
3045+
$text = array();
3046+
foreach (array_values($barcodes) as $barcode) {
3047+
$text[] = array(
3048+
'text' => $barcode,
3049+
);
3050+
}
3051+
if (count($text) > 0) {
3052+
$object = arrayToObject(array('text'=>$text));
3053+
}
3054+
else {
3055+
$object = arrayToObject(array());
3056+
}
3057+
return $object;
3058+
} // END convertBarcodes()
3059+
3060+
//----------------------------------------------------------------------------
3061+
30423062
public function convertGetArticleGroupsRequest($groupNumbers)
30433063
{
30443064
if ( ! is_array($groupNumbers)) {
@@ -3941,7 +3961,12 @@ function arrayToObject($d, $leave_as_array=null, $debug=false) {
39413961
* Using __FUNCTION__ (Magic constant)
39423962
* for recursive call
39433963
*/
3944-
if (isset($d['articleNumbers']) or isset($d['groupNumbers']) or isset($d['imageIds']) or isset($d['journalFilter']) or isset($d['turnoverGroup']) or isset($d['customField']) or isset($d['relationNumbers']) or isset($d['supplierRelationNumbers'])) {
3964+
if (isset($d['articleNumbers']) or isset($d['groupNumbers'])
3965+
or isset($d['imageIds']) or isset($d['journalFilter'])
3966+
or isset($d['turnoverGroup']) or isset($d['customField'])
3967+
or isset($d['relationNumbers']) or isset($d['supplierRelationNumbers'])
3968+
or isset($d['articleTurnoverGroups']) or isset($d['branchNumbers'])
3969+
or isset($d['employeeNumbers']) or isset($d['employeeNumbers'])) {
39453970
if ( ! is_null($leave_as_array)) {
39463971
$global_leave_as_array = null;
39473972
}

0 commit comments

Comments
 (0)