Unsubscribe buttons on page "My courses" - refs BT#17176

pull/3230/head
Sébastien Ducoulombier 5 years ago
parent 8ccdda0ae5
commit 3174a8c55d
  1. 11
      main/inc/lib/course.lib.php
  2. 6
      main/inc/lib/usermanager.lib.php
  3. 10
      main/inc/lib/userportal.lib.php
  4. 3
      main/template/default/user_portal/classic_courses_without_category.tpl
  5. 3
      main/template/default/user_portal/classic_session.tpl
  6. 25
      user_portal.php

@ -3933,7 +3933,7 @@ class CourseManager
'not_category' => [],
];
$collapsable = api_get_configuration_value('allow_user_course_category_collapsable');
$stok = Security::get_token();
$stok = Security::get_existing_token();
while ($row = Database::fetch_array($result)) {
// We simply display the title of the category.
$courseInCategory = self::returnCoursesCategories(
@ -4183,6 +4183,15 @@ class CourseManager
$params['extrafields'] = CourseManager::getExtraFieldsToBePresented($course_info['real_id']);
$params['real_id'] = $course_info['real_id'];
if ('1' === $course_info['unsubscribe']) {
$params['unregister_button'] = CoursesAndSessionsCatalog::return_unregister_button(
$course_info,
Security::get_existing_token(),
'',
''
);
}
if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) {
$params['notifications'] = $showNotification;
}

@ -3826,7 +3826,8 @@ class UserManager
c.visibility,
c.id as real_id,
c.code as course_code,
sc.position
sc.position,
c.unsubscribe
FROM $tbl_session_course_user as scu
INNER JOIN $tbl_session_course sc
ON (scu.session_id = sc.session_id AND scu.c_id = sc.c_id)
@ -3862,7 +3863,8 @@ class UserManager
c.visibility,
c.id as real_id,
c.code as course_code,
sc.position
sc.position,
c.unsubscribe
FROM $tbl_session_course_user as scu
INNER JOIN $tbl_session as s
ON (scu.session_id = s.id)

@ -1920,6 +1920,16 @@ class IndexManager
$course_session['extrafields'] = CourseManager::getExtraFieldsToBePresented($course['real_id']);
if ('1' === $course['unsubscribe']) {
$course_session['unregister_button'] =
CoursesAndSessionsCatalog::return_unregister_button(
['code' => $course['course_code']],
Security::get_existing_token(),
'',
''
);
}
$html_courses_session[] = $course_session;
}
}

@ -26,8 +26,9 @@
{% endif %}
</div>
<div class="col-md-10">
{% if item.edit_actions != '' %}
{% if item.edit_actions != '' or item.unregister_button %}
<div class="pull-right">
{{ item.unregister_button }}
{% if item.document == '' %}
<a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
<i class="fa fa-pencil" aria-hidden="true"></i>

@ -97,6 +97,9 @@
</a>
</div>
<div class="col-md-10">
<div class="pull-right">
{{ item.unregister_button }}
</div>
{% if item.requirements %}
<h4>{{ item.name }}</h4>
{% else %}

@ -45,16 +45,15 @@ Event::registerLog($logInfo);
$userId = api_get_user_id();
$collapsable = api_get_configuration_value('allow_user_session_collapsable');
if ($collapsable) {
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
$sessionId = isset($_REQUEST['session_id']) ? $_REQUEST['session_id'] : '';
$value = isset($_REQUEST['value']) ? (int) $_REQUEST['value'] : '';
switch ($action) {
if (array_key_exists('action', $_REQUEST)) {
switch ($_REQUEST['action']) {
case 'collapse_session':
if (!empty($sessionId)) {
$userRelSession = SessionManager::getUserSession($userId, $sessionId);
if (api_get_configuration_value('allow_user_session_collapsable')
&& array_key_exists('session_id', $_REQUEST)
) {
$userRelSession = SessionManager::getUserSession($userId, $_REQUEST['session_id']);
if ($userRelSession) {
$value = isset($_REQUEST['value']) ? (int)$_REQUEST['value'] : '';
$table = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$sql = "UPDATE $table SET collapsed = $value WHERE id = ".$userRelSession['id'];
Database::query($sql);
@ -64,6 +63,16 @@ if ($collapsable) {
exit;
}
break;
case 'unsubscribe':
if (\Security::check_token('get')) {
$auth = new Auth();
if ($auth->remove_user_from_course($_GET['course_code'])) {
Display::addFlash(Display::return_message(get_lang('YouAreNowUnsubscribed')));
}
header('Location: user_portal.php');
exit;
}
break;
}
}

Loading…
Cancel
Save