Fix Minor bug that payouts doesn't save correctly

1.10.x
José Loguercio 10 years ago
parent bfa3819447
commit 757c2dbf0d
  1. 39
      plugin/buycourses/src/buy_course_plugin.class.php

@ -1391,47 +1391,12 @@ class BuyCoursesPlugin extends Plugin
{
$userTable = Database::get_main_table(TABLE_MAIN_USER);
$extraFieldTable = Database::get_main_table(TABLE_EXTRA_FIELD);
$extraFieldValues = Database::get_main_table(TABLE_EXTRA_FIELD_VALUES);
$itemTable = Database::get_main_table(self::TABLE_ITEM);
$itemBeneficiariesTable = Database::get_main_table(self::TABLE_ITEM_BENEFICIARY);
$paypalExtraField = Database::select(
"*",
$extraFieldTable,
[
'where' => ['variable = ?' => 'paypal']
],
'first'
);
if (!$paypalExtraField) {
return false;
}
$beneficiaries = [];
$sale = $this->getSale($saleId);
$item = $this->getItemByProduct($sale['product_id'], $sale['product_type']);
$itemBeneficiaries = $this->getItemBeneficiaries($item['id']);
$innerJoins = "
INNER JOIN $userTable u ON e.item_id = u.id
INNER JOIN $itemBeneficiariesTable ib ON e.item_id = ib.user_id
INNER JOIN $itemTable i ON ib.item_id = " . $item['id'] . "
";
foreach($itemBeneficiaries as $itemBeneficiarie) {
$beneficiaries[] = Database::select(
"ib.item_id, e.item_id as user_id, u.firstname, u.lastname, e.value as paypal_account, ib.comissions as comission",
"$extraFieldValues e $innerJoins",
[
'where' => ['e.field_id = ? AND e.item_id = ? AND ib.item_id = ?' => [intval($paypalExtraField['id']), $itemBeneficiarie['user_id'], intval($item['id'])]]
],
'first'
);
}
return $beneficiaries;
return $itemBeneficiaries;
}
@ -1508,7 +1473,7 @@ class BuyCoursesPlugin extends Plugin
'payout_date' => getdate(),
'sale_id' => intval($saleId),
'user_id' => $beneficiarie['user_id'],
'comission' => number_format((floatval($teachersComission) * intval($beneficiarie['comission']))/100, 2),
'comission' => number_format((floatval($teachersComission) * intval($beneficiarie['comissions']))/100, 2),
'status' => self::PAYOUT_STATUS_PENDING
]
);

Loading…
Cancel
Save