Skip to content

Commit 9451eac

Browse files
committed
Plugin: BuyCourses: Update configure_course.php code from 1.11.x branch #2615
1 parent b351159 commit 9451eac

File tree

2 files changed

+80
-33
lines changed

2 files changed

+80
-33
lines changed

public/plugin/BuyCourses/src/configure_course.php

Lines changed: 79 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
/**
55
* Configuration script for the Buy Courses plugin.
6+
*
7+
* @package chamilo.plugin.buycourses
68
*/
79

810
use Chamilo\CoreBundle\Entity\Course;
@@ -42,6 +44,7 @@
4244
Display::addFlash(
4345
Display::return_message($plugin->get_lang('CurrencyIsNotConfigured'), 'error')
4446
);
47+
$currency = null;
4548
}
4649

4750
$currencyIso = null;
@@ -71,30 +74,54 @@
7174
$defaultBeneficiaries[] = $teacher->getId();
7275
}
7376

74-
$currentBeneficiaries = $plugin->getItemBeneficiaries($courseItem['item_id']);
75-
if (!empty($currentBeneficiaries)) {
76-
$defaultBeneficiaries = array_column($currentBeneficiaries, 'user_id');
77-
if ('true' === $commissionsEnable) {
78-
$defaultCommissions = array_column($currentBeneficiaries, 'commissions');
79-
foreach ($defaultCommissions as $defaultCommission) {
80-
$commissions .= $defaultCommission.',';
77+
if (!empty($courseItem['item_id'])) {
78+
$currentBeneficiaries = $plugin->getItemBeneficiaries($courseItem['course_id']);
79+
80+
if (!empty($currentBeneficiaries)) {
81+
$defaultBeneficiaries = array_column($currentBeneficiaries, 'user_id');
82+
83+
if ('true' === $commissionsEnable) {
84+
$defaultCommissions = array_column($currentBeneficiaries, 'commissions');
85+
86+
foreach ($defaultCommissions as $defaultCommission) {
87+
$commissions .= $defaultCommission.',';
88+
}
89+
90+
$commissions = substr($commissions, 0, -1);
8191
}
82-
$commissions = substr($commissions, 0, -1);
8392
}
84-
}
8593

86-
$currencyIso = $courseItem['currency'];
87-
$formDefaults = [
88-
'product_type' => get_lang('Course'),
89-
'id' => $courseItem['course_id'],
90-
'type' => BuyCoursesPlugin::PRODUCT_TYPE_COURSE,
91-
'name' => $courseItem['course_title'],
92-
'visible' => $courseItem['visible'],
93-
'price' => $courseItem['price'],
94-
'tax_perc' => $courseItem['tax_perc'],
95-
'beneficiaries' => $defaultBeneficiaries,
96-
'true' == $commissionsEnable ? 'commissions' : '' => 'true' == $commissionsEnable ? $commissions : '',
97-
];
94+
$currencyIso = $courseItem['currency'];
95+
$formDefaults = [
96+
'product_type' => get_lang('Course'),
97+
'id' => $courseItem['course_id'],
98+
'type' => BuyCoursesPlugin::PRODUCT_TYPE_COURSE,
99+
'name' => $courseItem['course_title'],
100+
'visible' => $courseItem['visible'],
101+
'price' => $courseItem['price'],
102+
'tax_perc' => $courseItem['tax_perc'],
103+
'beneficiaries' => $defaultBeneficiaries,
104+
];
105+
106+
if ('true' == $commissionsEnable) {
107+
$formDefaults['commissions'] = $commissions;
108+
}
109+
} else {
110+
$formDefaults = [
111+
'product_type' => get_lang('Course'),
112+
'id' => $courseItem['course_id'],
113+
'type' => BuyCoursesPlugin::PRODUCT_TYPE_COURSE,
114+
'name' => $courseItem['course_title'],
115+
'visible' => false,
116+
'price' => 0,
117+
'tax_perc' => 0,
118+
'beneficiaries' => [],
119+
];
120+
121+
if ('true' == $commissionsEnable) {
122+
$formDefaults['commissions'] = $commissions;
123+
}
124+
}
98125
} elseif ($editingSession) {
99126
if (!$includeSession) {
100127
api_not_allowed(true);
@@ -137,7 +164,9 @@
137164
}
138165
}
139166

140-
$currentBeneficiaries = $plugin->getItemBeneficiaries($sessionItem['item_id']);
167+
if ($sessionItem['item_id']) {
168+
$currentBeneficiaries = $plugin->getItemBeneficiaries($sessionItem['item_id']);
169+
}
141170

142171
if (!empty($currentBeneficiaries)) {
143172
$defaultBeneficiaries = array_column($currentBeneficiaries, 'user_id');
@@ -163,8 +192,11 @@
163192
'price' => $sessionItem['price'],
164193
'tax_perc' => $sessionItem['tax_perc'],
165194
'beneficiaries' => $defaultBeneficiaries,
166-
'true' == $commissionsEnable ? 'commissions' : '' => 'true' == $commissionsEnable ? $commissions : '',
167195
];
196+
197+
if ('true' == $commissionsEnable) {
198+
$formDefaults['commissions'] = $commissions;
199+
}
168200
} else {
169201
api_not_allowed(true);
170202
}
@@ -296,7 +328,7 @@
296328
$plugin->deleteItemBeneficiaries($productItem['id']);
297329

298330
if (isset($formValues['beneficiaries'])) {
299-
if ('true' === $commissionsEnable) {
331+
if ($commissionsEnable === 'true') {
300332
$usersId = $formValues['beneficiaries'];
301333
$commissions = explode(',', $formValues['commissions']);
302334
$commissions = (count($usersId) != count($commissions))
@@ -310,26 +342,41 @@
310342
}
311343
$plugin->registerItemBeneficiaries($productItem['id'], $beneficiaries);
312344
}
313-
} else {
345+
} elseif (!empty($productItem['id'])) {
314346
$plugin->deleteItem($productItem['id']);
315347
}
316348

317-
header('Location: '.api_get_path(WEB_PLUGIN_PATH).'BuyCourses/src/list.php');
349+
$url = 'list.php';
350+
351+
if ($type == 2) {
352+
$url = 'list_session.php';
353+
}
354+
header('Location: '.api_get_path(WEB_PLUGIN_PATH).'BuyCourses/src/'.$url);
318355
exit;
319356
}
320357

321358
$form->setDefaults($formDefaults);
322359

323-
$templateName = $plugin->get_lang('AvailableCourse');
324-
360+
$templateName = '';
325361
$interbreadcrumb[] = [
326362
'url' => 'paymentsetup.php',
327363
'name' => get_lang('Configuration'),
328364
];
329-
$interbreadcrumb[] = [
330-
'url' => 'list.php',
331-
'name' => $plugin->get_lang('AvailableCourses'),
332-
];
365+
switch ($type) {
366+
case 2:
367+
$interbreadcrumb[] = [
368+
'url' => 'list_session.php',
369+
'name' => $plugin->get_lang('Sessions'),
370+
];
371+
$templateName = $plugin->get_lang('Sessions');
372+
break;
373+
default:
374+
$interbreadcrumb[] = [
375+
'url' => 'list.php',
376+
'name' => $plugin->get_lang('Available Courses'),
377+
];
378+
$templateName = $plugin->get_lang('Available course');
379+
}
333380

334381
$template = new Template($templateName);
335382
$template->assign('header', $templateName);

public/plugin/BuyCourses/src/course_catalog.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
];
7777
}
7878

79-
$htmlHeadXtra[] = api_get_css(api_get_path(WEB_PLUGIN_PATH).'buycourses/resources/css/style.css');
79+
$htmlHeadXtra[] = api_get_css(api_get_path(WEB_PLUGIN_PATH).'BuyCourses/resources/css/style.css');
8080

8181
$templateName = $plugin->get_lang('CourseListOnSale');
8282
$tpl = new Template($templateName);

0 commit comments

Comments
 (0)