Add SessionManager::get_user_status_in_session - refs BT#12875

pull/2487/head
Angel Fernando Quiroz Campos 9 years ago
parent 246a2732a2
commit 2b358e2fec
  1. 2
      main/admin/user_information.php
  2. 2
      main/course_info/legal.php
  3. 38
      main/inc/lib/sessionmanager.lib.php

@ -318,7 +318,7 @@ if (count($sessions) > 0) {
$csvContent[] = $headerList;
foreach ($session_item['courses'] as $my_course) {
$courseInfo = api_get_course_info_by_id($my_course['real_id']);
$sessionStatus = SessionManager::get_user_status_in_session(
$sessionStatus = SessionManager::get_user_status_in_course_session(
$userId,
$courseInfo['real_id'],
$id_session

@ -120,7 +120,7 @@ if (empty($session_id)) {
header('Location: '.$url);
}
$userStatus = SessionManager::get_user_status_in_session($user_id, $course_info['real_id'], $session_id);
$userStatus = SessionManager::get_user_status_in_course_session($user_id, $course_info['real_id'], $session_id);
if (isset($userStatus) || api_check_user_access_to_legal($course_info['visibility'])) {
$user_accepted_legal = CourseManager::is_user_accepted_legal(

@ -6,6 +6,7 @@ use \ExtraField as ExtraFieldModel;
use Chamilo\CoreBundle\Entity\ExtraField;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Entity\SequenceResource;
use Chamilo\CoreBundle\Entity\SessionRelUser;
/**
* Class SessionManager
@ -3947,32 +3948,23 @@ class SessionManager
/**
* Gets user status within a session
*
* @param int $user_id
* @param int $courseId
* @param $session_id
* @return int
* @assert (null,null,null) === false
* @param int $session_id
*
* @return \Chamilo\CoreBundle\Entity\SessionRelUser
*/
public static function get_user_status_in_session($user_id, $courseId, $session_id)
public static function get_user_status_in_session($user_id, $session_id)
{
if (empty($user_id) or empty($courseId) or empty($session_id)) {
return false;
}
$tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$sql = "SELECT session_rcru.status
FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user
WHERE session_rcru.user_id = user.user_id AND
session_rcru.session_id = '".intval($session_id)."' AND
session_rcru.c_id ='" . intval($courseId)."' AND
user.user_id = " . intval($user_id);
$result = Database::query($sql);
$status = false;
if (Database::num_rows($result)) {
$status = Database::fetch_row($result);
$status = $status['0'];
}
return $status;
$em = Database::getManager();
$subscriptions = $em
->getRepository('ChamiloCoreBundle:SessionRelUser')
->findBy(['session' => $session_id, 'user' => $user_id]);
/** @var SessionRelUser $subscription */
$subscription = current($subscriptions);
return $subscription;
}
/**

Loading…
Cancel
Save