23 if (!defined(
'NOREQUIRESOC')) {
24 define(
'NOREQUIRESOC',
'1');
26 if (!defined(
'NOCSRFCHECK')) {
27 define(
'NOCSRFCHECK',
'1');
29 if (!defined(
'NOTOKENRENEWAL')) {
30 define(
'NOTOKENRENEWAL',
'1');
32 if (!defined(
'NOREQUIREMENU')) {
33 define(
'NOREQUIREMENU',
'1');
35 if (!defined(
'NOREQUIREHTML')) {
36 define(
'NOREQUIREHTML',
'1');
39 require
'../main.inc.php';
41 $langs->load(
'compta');
49 $invoice_type =
GETPOST(
'invoice_type',
'int');
50 $amountPayment =
GETPOST(
'amountPayment');
53 $currentInvId =
GETPOST(
'imgClicked');
56 $amountPayment = $amountPayment !=
'' ? (is_numeric(
price2num($amountPayment)) ?
price2num($amountPayment) :
'') :
'';
59 if (is_array($amounts)) {
60 foreach ($amounts as $key => $value) {
62 $amounts[$key] = $value;
64 unset($amounts[$key]);
69 if (is_array($remains)) {
70 foreach ($remains as $key => $value) {
72 $remains[$key] = (($invoice_type) == 2 ?-1 : 1) * $value;
74 unset($remains[$key]);
80 $result = ($amountPayment !=
'') ? ($amountPayment - array_sum($amounts)) : array_sum($amounts);
81 $toJsonArray = array();
82 $totalRemaining =
price2num(array_sum($remains));
83 $toJsonArray[
'label'] = $amountPayment ==
'' ?
'' : $langs->transnoentities(
'RemainingAmountPayment');
86 $currentAmount = $amounts[
'amount_'.$currentInvId];
87 $currentRemain = $remains[
'remain_'.$currentInvId];
90 if ($amountPayment ==
'') {
92 $amountExists = array_key_exists(
'amount_'.$currentInvId, $amounts);
94 $remainAmount = $currentRemain - $currentAmount;
95 $result += $remainAmount;
96 $currentAmount += $remainAmount;
98 $currentAmount = $currentRemain;
99 $result += $currentRemain;
107 $amountToBreakdown = ($result - $currentRemain >= 0 ?
109 $currentRemain + ($result - $currentRemain));
110 $currentAmount = $amountToBreakdown;
111 $result -= $amountToBreakdown;
114 $toJsonArray[
'amount_'.$currentInvId] =
price2num($currentAmount).
"";
117 $toJsonArray[
'makeRed'] = ($totalRemaining <
price2num($result) ||
price2num($result) < 0) ?
true :
false;
118 $toJsonArray[
'result'] =
price($result);
119 $toJsonArray[
'resultnum'] =
price2num($result);
122 echo json_encode($toJsonArray);