Session: Use Session::Student when filtering session users not DRH

pull/3995/head
Angel Fernando Quiroz Campos 4 years ago
parent 6cb359032f
commit f8dddae2ef
  1. 3
      public/main/inc/ajax/statistics.ajax.php
  2. 18
      public/main/inc/lib/sessionmanager.lib.php
  3. 2
      public/main/inc/lib/tracking.lib.php
  4. 2
      public/main/inc/lib/usermanager.lib.php
  5. 16
      public/main/session/add_edit_users_to_session.php
  6. 16
      public/main/session/add_users_to_session_course.php
  7. 4
      public/main/session/session_export.php
  8. 16
      public/main/user/add_users_to_session.php
  9. 8
      public/main/user/resume_session.php
  10. 2
      public/main/user/user.php
  11. 5
      public/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php
  12. 2
      src/CoreBundle/Entity/SessionRelUser.php
  13. 4
      src/CoreBundle/Entity/User.php

@ -3,6 +3,7 @@
use Chamilo\CoreBundle\Component\Utils\ChamiloApi;
use Chamilo\CoreBundle\Framework\Container;
use Chamilo\CoreBundle\Entity\Session;
/**
* Responses to AJAX calls.
@ -87,7 +88,7 @@ switch ($action) {
ON (su.user_id = au.user_id)
WHERE
access_url_id = $urlId AND
su.relation_type = 0 AND
su.relation_type = ".Session::STUDENT." AND
su.registered_at >= '$start' AND
su.registered_at <= '$end' AND
su.session_id = '$sessionId' ";

@ -2063,7 +2063,7 @@ class SessionManager
$sql = "DELETE FROM $tbl_session_rel_user
WHERE
session_id = $sessionId AND
relation_type <> ".Session::DRH;
relation_type = ".Session::STUDENT;
// Don't reset session_rel_user.registered_at of users that will be registered later anyways.
if (!empty($userList)) {
$avoidDeleteThisUsers = " AND user_id NOT IN ('".implode("','", $userList)."')";
@ -2087,7 +2087,7 @@ class SessionManager
if (false === $isUserSubscribed) {
$enreg_user = (int) $enreg_user;
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (relation_type, session_id, user_id, registered_at)
VALUES (0, $sessionId, $enreg_user, '".api_get_utc_datetime()."')";
VALUES (".Session::STUDENT.", $sessionId, $enreg_user, '".api_get_utc_datetime()."')";
Database::query($sql);
Event::addEvent(
LOG_SESSION_ADD_USER,
@ -2382,7 +2382,7 @@ class SessionManager
WHERE
session_id = $session_id AND
user_id = $user_id AND
relation_type <> ".Session::DRH;
relation_type = ".Session::STUDENT;
$result = Database::query($sql);
$return = Database::affected_rows($result);
@ -2508,7 +2508,7 @@ class SessionManager
FROM $tbl_session_rel_user
WHERE
session_id = $sessionId AND
relation_type<>".Session::DRH;
relation_type = ".Session::STUDENT;
$result = Database::query($sql);
$user_list = Database::store_result($result);
@ -5129,7 +5129,7 @@ class SessionManager
// Delete session-user relation only for students
$sql = "DELETE FROM $tbl_session_user
WHERE session_id = '$session_id' AND relation_type <> ".Session::DRH;
WHERE session_id = '$session_id' AND relation_type = ".Session::STUDENT;
Database::query($sql);
$sql = "DELETE FROM $tbl_session_course WHERE session_id = '$session_id'";
@ -5250,7 +5250,7 @@ class SessionManager
// Delete session-user relation only for students
$sql = "DELETE FROM $tbl_session_user
WHERE session_id = '$session_id' AND relation_type <> ".Session::DRH;
WHERE session_id = '$session_id' AND relation_type = ".Session::STUDENT;
Database::query($sql);
$sql = "DELETE FROM $tbl_session_course WHERE session_id = '$session_id'";
@ -6897,7 +6897,7 @@ class SessionManager
WHERE
session_id = $sessionId AND
user_id = $userId AND
relation_type = 0";
relation_type = ".Session::STUDENT;
$result = Database::fetch_assoc(Database::query($sql));
@ -7626,7 +7626,7 @@ class SessionManager
ON s.id = sru.id_session
WHERE
(sru.id_user IN (".implode(', ', $userIdList).")
AND sru.relation_type = 0
AND sru.relation_type = ".Session::STUDENT."
)";
if (api_is_multiple_url_enabled()) {
@ -7642,7 +7642,7 @@ class SessionManager
srau.access_url_id = $accessUrlId
AND (
sru.id_user IN (".implode(', ', $userIdList).")
AND sru.relation_type = 0
AND sru.relation_type = ".Session::STUDENT."
)";
}
}

@ -3561,7 +3561,7 @@ class Tracking
INNER JOIN $tbl_session_user sru
ON (srcru.user_id = sru.user_id AND srcru.session_id = sru.session_id)
WHERE
sru.relation_type <> ".SessionEntity::DRH." AND
sru.relation_type = ".SessionEntity::STUDENT." AND
srcru.c_id = '$courseId' AND
srcru.session_id = '$sessionId'";

@ -2856,7 +2856,7 @@ class UserManager
ON (s.id = su.session_id)
WHERE (
su.user_id = $user_id AND
su.relation_type <> ".SessionEntity::DRH."
su.relation_type = ".SessionEntity::STUDENT."
)
$coachCourseConditions
ORDER BY access_start_date, access_end_date, name

@ -115,7 +115,7 @@ function search_users($needle, $type)
// check id_user from session_rel_user table
$sql = "
SELECT user_id FROM $tbl_session_rel_user
WHERE session_id = $id_session AND relation_type <> ".Session::DRH;
WHERE session_id = $id_session AND relation_type = ".Session::STUDENT;
$res = Database::query($sql);
$user_ids = [];
if (Database::num_rows($res) > 0) {
@ -371,7 +371,7 @@ if ($ajax_search) {
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
AND su.session_id = ".intval($id_session)."
WHERE u.status<>".DRH."
AND u.status <> 6
@ -387,7 +387,7 @@ if ($ajax_search) {
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
AND su.session_id = ".intval($id_session)."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id = u.id)
WHERE access_url_id = $access_url_id
@ -489,7 +489,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
$where_filter
AND u.status <> ".DRH."
AND u.status <> 6
@ -502,7 +502,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
WHERE u.status <> ".DRH." AND u.status <> 6
$order_clause
";
@ -517,7 +517,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_user_rel_access_url url_user
ON (url_user.user_id = u.id)
WHERE access_url_id = $access_url_id $where_filter
@ -550,7 +550,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.user_id = u.id
AND $tbl_session_rel_user.session_id = $id_session
AND $tbl_session_rel_user.relation_type <> ".Session::DRH."
AND $tbl_session_rel_user.relation_type = ".Session::STUDENT."
WHERE u.status <> ".DRH." AND u.status <> 6 $order_clause
";
@ -564,7 +564,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.user_id = u.id
AND $tbl_session_rel_user.session_id = $id_session
AND $tbl_session_rel_user.relation_type <> ".Session::DRH."
AND $tbl_session_rel_user.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id = u.id)
WHERE access_url_id = $access_url_id
AND u.status <> ".DRH."

@ -127,7 +127,7 @@ function search_users($needle, $type)
WHERE
sc.c_id = $courseId AND
su.session_id = $id_session AND
relation_type <> ".Session::DRH;
su.relation_type = ".Session::STUDENT;
$res = Database::query($sql);
$user_ids = [];
if (Database::num_rows($res) > 0) {
@ -395,7 +395,7 @@ if ($ajax_search) {
ON su.user_id = u.id
WHERE
su.session_id = ".intval($id_session)." AND
su.relation_type <> ".Session::DRH." AND
su.relation_type = ".Session::STUDENT." AND
sc.c_id = $courseId AND
u.status<>".DRH." AND
u.status <> 6
@ -412,7 +412,7 @@ if ($ajax_search) {
INNER JOIN $tbl_session_rel_user su
ON
su.user_id = u.id AND
su.relation_type <> ".Session::DRH." AND
su.relation_type = ".Session::STUDENT." AND
su.session_id = ".intval($id_session)."
INNER JOIN $tbl_user_rel_access_url url_user
ON (url_user.user_id = u.id)
@ -518,7 +518,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
INNER JOIN $tableRelSessionCourseUser sc
ON (sc.session_id = su.session_id AND su.user_id = sc.user_id)
$where_filter
@ -534,7 +534,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
WHERE
u.status <> ".DRH." AND
u.status <> 6
@ -551,7 +551,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_user_rel_access_url url_user
ON (url_user.user_id = u.id)
@ -587,7 +587,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
INNER JOIN $tableRelSessionCourseUser sc
ON (sc.session_id = su.session_id AND su.user_id = sc.user_id)
WHERE
@ -606,7 +606,7 @@ if ($ajax_search) {
LEFT JOIN $tbl_session_rel_user su
ON su.user_id = u.id
AND su.session_id = $id_session
AND su.relation_type <> ".Session::DRH."
AND su.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_user_rel_access_url url_user
ON (url_user.user_id = u.id)
INNER JOIN $tableRelSessionCourseUser sc

@ -125,7 +125,7 @@ if (isset($_POST['formSent'])) {
INNER JOIN $tbl_session_user
ON
$tbl_user.user_id = $tbl_session_user.user_id AND
$tbl_session_user.relation_type<>".Session::DRH." AND
$tbl_session_user.relation_type = ".Session::STUDENT." AND
$tbl_session_user.session_id = '".$row['id']."'";
$rsUsers = Database::query($sql);
@ -186,7 +186,7 @@ if (isset($_POST['formSent'])) {
ON
scu.user_id = su.user_id AND
scu.session_id = su.session_id AND
su.relation_type<>".Session::DRH."
su.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_user u
ON
scu.user_id = u.id AND

@ -98,7 +98,7 @@ if ('true' === $allowTutors) {
$id_session = intval($id_session);
// check id_user from session_rel_user table
$sql = 'SELECT user_id FROM '.$tbl_session_rel_user.'
WHERE session_id ="'.$id_session.'" AND relation_type<>'.Session::DRH.' ';
WHERE session_id ="'.$id_session.'" AND relation_type = '.Session::STUDENT.' ';
$res = Database::query($sql);
$user_ids = [];
if (Database::num_rows($res) > 0) {
@ -294,7 +294,7 @@ if ('true' === $allowTutors) {
INNER JOIN $tbl_session_rel_user
ON
$tbl_session_rel_user.user_id = u.id AND
$tbl_session_rel_user.relation_type<>".Session::DRH." AND
$tbl_session_rel_user.relation_type = ".Session::STUDENT." AND
$tbl_session_rel_user.session_id = ".intval($id_session)."
WHERE u.status <> ".DRH." AND u.status<>6 $order_clause";
@ -307,7 +307,7 @@ if ('true' === $allowTutors) {
INNER JOIN $tbl_session_rel_user
ON
$tbl_session_rel_user.user_id = u.id AND
$tbl_session_rel_user.relation_type<>".Session::DRH." AND
$tbl_session_rel_user.relation_type = ".Session::STUDENT." AND
$tbl_session_rel_user.session_id = ".intval($id_session)."
INNER JOIN $tbl_user_rel_access_url url_user
ON (url_user.user_id=u.user_id)
@ -381,7 +381,7 @@ if ('true' === $allowTutors) {
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.user_id = u.id AND
$tbl_session_rel_user.session_id = '$id_session' AND
$tbl_session_rel_user.relation_type<>".Session::DRH."
$tbl_session_rel_user.relation_type = ".Session::STUDENT."
$where_filter AND u.status<>".DRH." AND u.status<>6
$order_clause";
} else {
@ -390,7 +390,7 @@ if ('true' === $allowTutors) {
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.user_id = u.id AND
$tbl_session_rel_user.session_id = '$id_session' AND
$tbl_session_rel_user.relation_type<>".Session::DRH."
$tbl_session_rel_user.relation_type = ".Session::STUDENT."
WHERE u.status <> ".DRH." AND u.status<>6
$order_clause";
}
@ -405,7 +405,7 @@ if ('true' === $allowTutors) {
ON
$tbl_session_rel_user.user_id = u.id AND
$tbl_session_rel_user.session_id = '$id_session' AND
$tbl_session_rel_user.relation_type<>".Session::DRH."
$tbl_session_rel_user.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id $where_filter AND u.status<>".DRH." AND u.status<>6
$order_clause";
@ -434,7 +434,7 @@ if ('true' === $allowTutors) {
ON
$tbl_session_rel_user.user_id = u.id AND
$tbl_session_rel_user.session_id = '$id_session' AND
$tbl_session_rel_user.relation_type<>".Session::DRH."
$tbl_session_rel_user.relation_type = ".Session::STUDENT."
WHERE u.status <> ".DRH." AND u.status<>6 $order_clause";
if (api_is_multiple_url_enabled()) {
@ -447,7 +447,7 @@ if ('true' === $allowTutors) {
ON
$tbl_session_rel_user.user_id = u.id AND
$tbl_session_rel_user.session_id = '$id_session' AND
$tbl_session_rel_user.relation_type<>".Session::DRH."
$tbl_session_rel_user.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id AND u.status<>".DRH." AND u.status<>6
$order_clause";

@ -113,7 +113,7 @@ if ('true' === $allowTutors) {
}
if (!empty($_GET['user'])) {
$result = Database::query("DELETE FROM $tbl_session_rel_user WHERE relation_type<>".Session::DRH." AND session_id ='$id_session' AND user_id=".intval($_GET['user']));
$result = Database::query("DELETE FROM $tbl_session_rel_user WHERE relation_type = ".Session::STUDENT." AND session_id ='$id_session' AND user_id=".intval($_GET['user']));
$nbr_affected_rows = Database::affected_rows($result);
Database::query("UPDATE $tbl_session SET nbr_users=nbr_users-$nbr_affected_rows WHERE id='$id_session'");
@ -246,7 +246,7 @@ if ('true' === $allowTutors) {
srcru.user_id = sru.user_id AND
srcru.session_id = sru.session_id AND
srcru.c_id = '".Database::escape_string($course['id'])."'AND
sru.relation_type<>".Session::DRH." AND
sru.relation_type = ".Session::STUDENT." AND
srcru.session_id = '".intval($id_session)."'";
$rs = Database::query($sql);
@ -320,7 +320,7 @@ if ('true' === $allowTutors) {
$sql = "SELECT u.id as user_id, lastname, firstname, username, access_url_id
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user su
ON u.id = su.user_id AND su.relation_type<>".Session::DRH."
ON u.id = su.user_id AND su.relation_type = ".Session::STUDENT."
LEFT OUTER JOIN $table_access_url_user uu ON (uu.user_id = u.id)
WHERE su.session_id = $id_session AND (access_url_id = $url_id OR access_url_id is null )
$order_clause";
@ -328,7 +328,7 @@ if ('true' === $allowTutors) {
$sql = "SELECT u.id as user_id, lastname, firstname, username
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user su
ON u.id = su.user_id AND su.relation_type<>".Session::DRH."
ON u.id = su.user_id AND su.relation_type = ".Session::STUDENT."
AND su.session_id = ".$id_session.$order_clause;
}

@ -441,7 +441,7 @@ if (api_is_allowed_to_edit(null, true)) {
$sql = "SELECT user.id as user_id
FROM $tbl_user user
INNER JOIN $tbl_session_rel_user reluser
ON user.id = reluser.user_id AND reluser.relation_type <> ".Session::DRH."
ON user.id = reluser.user_id AND reluser.relation_type = ".Session::STUDENT."
INNER JOIN $tbl_session_rel_course rel_course
ON rel_course.session_id = reluser.session_id
WHERE

@ -2,6 +2,7 @@
/* For licensing terms, see /license.txt */
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Framework\Container;
use Chamilo\CoreBundle\Hook\HookAdminBlock;
use Chamilo\CoreBundle\Hook\HookNotificationContent;
@ -222,7 +223,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
Database::get_main_table(TABLE_MAIN_SESSION).' s ON s.id = su.session_id';
$whereSessionParams = 'su.relation_type = ? AND s.access_start_date >= ? AND su.user_id = ?';
$whereSessionParamsValues = [
0,
Session::STUDENT,
$newYearDate->format('Y-m-d'),
$userId,
];
@ -1515,7 +1516,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
WHERE
sf.extra_field_type = $extraFieldType AND
sf.variable = 'is_induction_session' AND
su.relation_type = 0 AND
su.relation_type = ".Session::STUDENT." AND
su.user_id = ".(int) $userId;
$result = Database::query($sql);

@ -135,7 +135,7 @@ class SessionRelUser
public function __construct()
{
$this->relationType = 0;
$this->relationType = Session::STUDENT;
$this->duration = 0;
$this->movedTo = null;
$this->movedStatus = null;

@ -2256,7 +2256,7 @@ class User implements UserInterface, EquatableInterface, ResourceInterface, Reso
*/
public function getStudentSessions(): array
{
return $this->getSessions(0);
return $this->getSessions(Session::STUDENT);
}
/**
@ -2315,7 +2315,7 @@ class User implements UserInterface, EquatableInterface, ResourceInterface, Reso
*
* @return Session[]
*/
public function getCurrentlyAccessibleSessions(int $relationType = 0): array
public function getCurrentlyAccessibleSessions(int $relationType = Session::STUDENT): array
{
$sessions = [];
foreach ($this->getSessions($relationType) as $session) {

Loading…
Cancel
Save