diff --git a/plugin/buycourses/src/process_confirm.php b/plugin/buycourses/src/process_confirm.php index c5e000af8f..5cbf195f6a 100644 --- a/plugin/buycourses/src/process_confirm.php +++ b/plugin/buycourses/src/process_confirm.php @@ -64,5 +64,99 @@ switch ($sale['payment_type']) { RedirectToPayPal($expressCheckout["TOKEN"]); break; case BuyCoursesPlugin::PAYMENT_TYPE_TRANSFER: + $buyingCourse = false; + $buyingSession = false; + + switch ($sale['product_type']) { + case BuyCoursesPlugin::PRODUCT_TYPE_COURSE: + $buyingCourse = true; + $course = $plugin->getCourseInfo($sale['product_id']); + break; + case BuyCoursesPlugin::PRODUCT_TYPE_SESSION: + $buyingSession = true; + $session = $plugin->getSessionInfo($sale['product_id']); + break; + } + + $transferAccounts = $plugin->getTransferAccounts(); + $userInfo = api_get_user_info($sale['user_id']); + + $form = new FormValidator('success', 'POST', api_get_self(), null, null, FormValidator::LAYOUT_INLINE); + + if ($form->validate()) { + $formValues = $form->getSubmitValues(); + + if (isset($formValues['cancel'])) { + $plugin->cancelSale($sale['id']); + + unset($_SESSION['bc_sale_id']); + + header('Location: ' . api_get_path(WEB_PLUGIN_PATH) . 'buycourses/index.php'); + exit; + } + + $messageTemplate = new Template(); + $messageTemplate->assign('user', $userInfo); + $messageTemplate->assign( + 'sale', + [ + 'date' => api_format_date($sale['date'], DATE_FORMAT_LONG_NO_DAY), + 'product' => $sale['product_name'], + 'currency' => $currency['iso_code'], + 'price' => $sale['price'], + ] + ); + $messageTemplate->assign('sale_product', $sale['product_name']); + $messageTemplate->assign('sale_currency', $currency['iso_code']); + $messageTemplate->assign('sale_price', $sale['price']); + $messageTemplate->assign('transfer_accounts', $transferAccounts); + + api_mail_html( + $userInfo['complete_name'], + $userInfo['email'], + $plugin->get_lang('bc_subject'), + $messageTemplate->fetch('buycourses/view/message_transfer.tpl') + ); + + Display::addFlash( + Display::return_message( + sprintf( + $plugin->get_lang('PurchaseStatusX'), + $plugin->get_lang('PendingReasonByTransfer') + ), + 'success' + ) + ); + + unset($_SESSION['bc_sale_id']); + header('Location: ' . api_get_path(WEB_PLUGIN_PATH) . 'buycourses/src/list.php'); + exit; + } + + $form->addButton('confirm', $plugin->get_lang('ConfirmOrder'), 'check', 'success'); + $form->addButtonCancel($plugin->get_lang('CancelOrder'), 'cancel'); + + $template = new Template(); + + if ($buyingCourse) { + $template->assign('course', $course); + } elseif ($buyingSession) { + $template->assign('session', $session); + } + + $template->assign('buying_course', $buyingCourse); + $template->assign('buying_session', $buyingSession); + + $template->assign('title', $sale['product_name']); + $template->assign('price', $sale['price']); + $template->assign('currency', $sale['currency_id']); + $template->assign('user', $userInfo); + $template->assign('transfer_accounts', $transferAccounts); + $template->assign('form', $form->returnForm()); + + $content = $template->fetch('buycourses/view/process_confirm.tpl'); + + $template->assign('content', $content); + $template->display_one_col_template(); break; } diff --git a/plugin/buycourses/view/message_transfer.tpl b/plugin/buycourses/view/message_transfer.tpl new file mode 100644 index 0000000000..7017dda05b --- /dev/null +++ b/plugin/buycourses/view/message_transfer.tpl @@ -0,0 +1,33 @@ +
{{ 'DearUser'|get_lang }}
+{{ 'PurchaseDetailsIntro'|get_plugin_lang('BuyCoursesPlugin') }}
+{{ 'BankAccountIntro'|get_plugin_lang('BuyCoursesPlugin')|format(sale.product) }}
+| {{ 'Name'|get_lang }} | +{{ 'BankAccount'|get_plugin_lang('BuyCoursesPlugin') }} | +{{ 'SWIFT'|get_lang }} | +
|---|---|---|
| {{ account.name }} | +{{ account.account }} | +{{ account.swift }} | +
+
+
{{ course.currency }} {{ course.price }}
{{ account.name | e }}
- -
+
+
{{ session.currency }} {{ session.price }}
+{{ session.dates.display }}
+| {{ 'Name'|get_lang }} | +{{ 'BankAccount'|get_plugin_lang('BuyCoursesPlugin') }} | +{{ 'SWIFT'|get_lang }} | +
|---|---|---|
| {{ account.name }} | +{{ account.account }} | +{{ account.swift }} | +