Skip to content

Commit

Permalink
Register when a user was subscribed to session - refs BT#9881 #TMI
Browse files Browse the repository at this point in the history
  • Loading branch information
AngelFQC committed Jul 22, 2015
1 parent 428ffbb commit 66e1e9f
Show file tree
Hide file tree
Showing 9 changed files with 68 additions and 24 deletions.
18 changes: 11 additions & 7 deletions main/admin/ldap_import_students_to_session.php
Expand Up @@ -162,13 +162,17 @@ function checkAll() {
$tbl_session_user = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
foreach ($UserList as $user_id) {
$sql = 'INSERT INTO '.$tbl_session_user.' SET
user_id ="'.intval($user_id).'",
session_id = "'.intval($id_session).'"';
$res_user = Database::query($sql);
if ($res_user) {
$num++;
}
$res_user = Database::insert(
$tbl_session_user,
[
'session_id' => intval($id_session),
'user_id' => intval($user_id),
'registered_at' => api_get_utc_datetime()
]
);
if ($res_user !== false) {
$num++;
}
}

if($num>0) {
Expand Down
4 changes: 2 additions & 2 deletions main/admin/ldap_synchro.php
Expand Up @@ -149,8 +149,8 @@
}
// On ajoute la relation entre l'utilisateur et la session
foreach($UserList as $enreg_user){
$sql = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id) " .
"VALUES('$id_session','$enreg_user')";
$sql = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id, registered_at) " .
"VALUES('$id_session','$enreg_user', '" . api_get_utc_datetime() . "')";
Database::query($sql);
}
$sql = "SELECT COUNT(user_id) as nbUsers " .
Expand Down
4 changes: 2 additions & 2 deletions main/auth/ldap/authldap.php
Expand Up @@ -581,8 +581,8 @@ function ldap_add_user_to_session($UserList, $id_session) {
foreach ($UserList as $enreg_user) {
$enreg_user = (int) $enreg_user;
Database::query("INSERT IGNORE INTO $tbl_session_rel_user ".
" (session_id, user_id) " .
" VALUES('$id_session','$enreg_user')");
" (session_id, user_id, registered_at) " .
" VALUES('$id_session','$enreg_user', '" . api_get_utc_datetime() . "')");
}
// We update the number of users in the session
$sql = "SELECT COUNT(user_id) as nbUsers FROM $tbl_session_rel_user ".
Expand Down
4 changes: 2 additions & 2 deletions main/inc/lib/myspace.lib.php
Expand Up @@ -2569,8 +2569,8 @@ public function save_data($users, $course_list, $id_session)
$new_users = array();
foreach ($users as $index => $user) {
$userid = $user['id'];
$sql_insert = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id)
VALUES ('$id_session','$userid')";
$sql_insert = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id, registered_at)
VALUES ('$id_session','$userid', '" . api_get_utc_datetime() . "')";
Database::query($sql_insert);
$user['added_at_session'] = 1;
$new_users[] = $user;
Expand Down
20 changes: 13 additions & 7 deletions main/inc/lib/sessionmanager.lib.php
Expand Up @@ -1688,8 +1688,8 @@ public static function suscribe_users_to_session(
foreach ($user_list as $enreg_user) {
$enreg_user = Database::escape_string($enreg_user);
$nbr_users++;
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (relation_type, session_id, user_id)
VALUES (0, $id_session, $enreg_user)";
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (relation_type, session_id, user_id, registered_at)
VALUES (0, $id_session, $enreg_user, '" . api_get_utc_datetime() . "')";
Database::query($sql);
}

Expand Down Expand Up @@ -1913,8 +1913,8 @@ public static function subscribe_users_to_session_course(

if (empty($count)) {
// If user is not registered to a session then add it.
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (session_id, user_id)
VALUES ($session_id, $enreg_user)";
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (session_id, user_id, registered_at)
VALUES ($session_id, $enreg_user, '" . api_get_utc_datetime() . "')";
Database::query($sql);

$sql = "UPDATE $tbl_session SET nbr_users = nbr_users + 1
Expand Down Expand Up @@ -2817,8 +2817,13 @@ public static function suscribe_sessions_to_hr_manager(

foreach ($sessions_list as $session_id) {
$session_id = intval($session_id);
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (session_id, user_id, relation_type)
VALUES ($session_id, $userId, '" . SESSION_RELATION_TYPE_RRHH . "')";
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (session_id, user_id, relation_type, registered_at)
VALUES (
$session_id,
$userId,
'" . SESSION_RELATION_TYPE_RRHH . "',
'" . api_get_utc_datetime() . "'
)";
Database::query($sql);
$affected_rows++;
}
Expand Down Expand Up @@ -4241,7 +4246,8 @@ static function importCSV(
// Insert new users.
$sql = "INSERT IGNORE INTO $tbl_session_user SET
user_id = '$user_id',
session_id = '$session_id'";
session_id = '$session_id',
registered_at = '" . api_get_utc_datetime() . "'";
Database::query($sql);
if ($debug) {
$logger->addInfo("Sessions - Adding User #$user_id ($user) to session #$session_id");
Expand Down
1 change: 1 addition & 0 deletions main/install/database.sql
Expand Up @@ -513,6 +513,7 @@ CREATE TABLE IF NOT EXISTS session_rel_user (
id_user mediumint unsigned NOT NULL default '0',
relation_type int default 0,
duration int,
registered_at DATETIME not null,
PRIMARY KEY (id_session, id_user, relation_type)
);

Expand Down
6 changes: 4 additions & 2 deletions main/session/session_import.php
Expand Up @@ -317,7 +317,8 @@
if ($user_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_user SET
user_id ='$user_id',
session_id = '$session_id'";
session_id = '$session_id',
registered_at = '" . api_get_utc_datetime() . "'";
$rs_user = Database::query($sql);
$user_counter++;
}
Expand Down Expand Up @@ -369,7 +370,8 @@
// Adding to session_rel_user table.
$sql = "INSERT IGNORE INTO $tbl_session_user SET
user_id ='$user_id',
session_id = '$session_id'";
session_id = '$session_id',
registered_at = '" . api_get_utc_datetime() . "'";
$rs_user = Database::query($sql);
$user_counter++;
// Adding to session_rel_user_rel_course table.
Expand Down
4 changes: 2 additions & 2 deletions main/webservices/registration.soap.php
Expand Up @@ -4823,8 +4823,8 @@ function WSSuscribeUsersToSession($params)
foreach ($usersList as $enreg_user) {
$enreg_user = Database::escape_string($enreg_user);
$nbr_users++;
$sql = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id)
VALUES ('$sessionId','$enreg_user')";
$sql = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id, registered_at)
VALUES ('$sessionId','$enreg_user', '" . api_get_utc_datetime() . "')";
Database::query($sql);
}

Expand Down
@@ -0,0 +1,31 @@
<?php
/* For licensing terms, see /license.txt */

namespace Chamilo\CoreBundle\Migrations\Schema\V110;

use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
use Doctrine\DBAL\Schema\Schema;

/**
* Username changes
*/
class Version201505191532 extends AbstractMigrationChamilo
{
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->addSql('ALTER TABLE session_rel_user ADD COLUMN registered_at DATETIME NOT NULL');
$this->addSql("UPDATE settings_current SET selected_value = '1.10.0.40' WHERE variable = 'chamilo_database_version'");
}

/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('ALTER TABLE session_rel_user DROP COLUMN registered_at');
$this->addSql("UPDATE settings_current SET selected_value = '1.10.0.39' WHERE variable = 'chamilo_database_version'");
}
}

0 comments on commit 66e1e9f

Please sign in to comment.