Add logs when delete/adding users to a session see BT#9943 #7724

1.10.x
Julio Montoya 11 years ago
parent 356cc8b150
commit 527a44f025
  1. 8
      main/inc/lib/api.lib.php
  2. 6
      main/inc/lib/events.lib.php
  3. 85
      main/inc/lib/sessionmanager.lib.php
  4. 75
      main/webservices/registration.soap.php

@ -193,6 +193,14 @@ define('LOG_USER_FIELD_CREATE', 'user_field_created');
define('LOG_USER_FIELD_DELETE', 'user_field_deleted');
define('LOG_SESSION_CREATE', 'session_created');
define('LOG_SESSION_DELETE', 'session_deleted');
define('LOG_SESSION_ADD_USER_COURSE', 'session_add_user_course');
define('LOG_SESSION_DELETE_USER_COURSE', 'session_delete_user_course');
define('LOG_SESSION_DELETE_USER', 'session_delete_user');
define('LOG_SESSION_ADD_COURSE', 'session_add_course');
define('LOG_SESSION_DELETE_COURSE', 'session_delete_course');
define('LOG_SESSION_CATEGORY_CREATE', 'session_cat_created'); //changed in 1.9.8
define('LOG_SESSION_CATEGORY_DELETE', 'session_cat_deleted'); //changed in 1.9.8
define('LOG_CONFIGURATION_SETTINGS_CHANGE', 'settings_changed');

@ -649,7 +649,7 @@ class Event
$course_id = null,
$sessionId = 0
) {
$TABLETRACK_DEFAULT = Database::get_main_table(TABLE_STATISTIC_TRACK_E_DEFAULT);
$table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_DEFAULT);
if (empty($event_type)) {
return false;
@ -706,7 +706,8 @@ class Event
'default_value' => $event_value,
'session_id' => $sessionId
);
Database::insert($TABLETRACK_DEFAULT, $params);
Database::insert($table, $params);
return true;
}
@ -734,6 +735,7 @@ class Event
$et['descLangVar'] = $event_config[$et["event_type_name"]]["desc_lang_var"];
$to_return[] = $et;
}
return $to_return;
}

@ -237,6 +237,7 @@ class SessionManager
$user_id
);
}
return $session_id;
}
}
@ -1610,6 +1611,17 @@ class SessionManager
user_id = $existing_user AND
status = 0 ";
$result = Database::query($sql);
Event::addEvent(
LOG_SESSION_DELETE_USER_COURSE,
LOG_USER_ID,
$existing_user,
api_get_utc_datetime(),
api_get_user_id(),
$courseId,
$id_session
);
if (Database::affected_rows($result)) {
$nbr_users--;
}
@ -1619,13 +1631,26 @@ class SessionManager
// Replace with this new function
// insert new users into session_rel_course_rel_user and ignore if they already exist
foreach ($user_list as $enreg_user) {
if (!in_array($enreg_user, $existingUsers)) {
$enreg_user = Database::escape_string($enreg_user);
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id, visibility, status)
VALUES($id_session, $courseId, $enreg_user, $session_visibility, 0)";
$result = Database::query($sql);
Event::addEvent(
LOG_SESSION_ADD_USER_COURSE,
LOG_USER_ID,
$enreg_user,
api_get_utc_datetime(),
api_get_user_id(),
$courseId,
$id_session
);
if (Database::affected_rows($result)) {
$nbr_users++;
}
}
@ -1938,6 +1963,7 @@ class SessionManager
// Get the list of courses related to this session
$course_list = SessionManager::get_course_list_by_session_id($session_id);
if (!empty($course_list)) {
foreach ($course_list as $course) {
$courseId = $course['id'];
@ -1945,6 +1971,17 @@ class SessionManager
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE session_id = $session_id AND c_id = $courseId AND user_id = $user_id";
$result = Database::query($sql);
Event::addEvent(
LOG_SESSION_DELETE_USER_COURSE,
LOG_USER_ID,
$user_id,
api_get_utc_datetime(),
api_get_user_id(),
$courseId,
$session_id
);
if (Database::affected_rows($result)) {
// Update number of users in this relation
$sql = "UPDATE $tbl_session_rel_course SET nbr_users = nbr_users - 1
@ -2014,6 +2051,16 @@ class SessionManager
WHERE c_id = " . $existingCourse['c_id'] . " AND session_id = $sessionId";
Database::query($sql);
Event::addEvent(
LOG_SESSION_DELETE_COURSE,
LOG_COURSE_ID,
$existingCourse['c_id'],
api_get_utc_datetime(),
api_get_user_id(),
$existingCourse['c_id'],
$sessionId
);
CourseManager::remove_course_ranking(
$existingCourse['c_id'],
$sessionId
@ -2041,6 +2088,16 @@ class SessionManager
VALUES ($sessionId, $courseId)";
Database::query($sql);
Event::addEvent(
LOG_SESSION_ADD_COURSE,
LOG_COURSE_ID,
$courseId,
api_get_utc_datetime(),
api_get_user_id(),
$courseId,
$sessionId
);
// We add the current course in the existing courses array,
// to avoid adding another time the current course
$existingCourses[] = array('c_id' => $courseId);
@ -2053,6 +2110,17 @@ class SessionManager
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id)
VALUES ($sessionId, $courseId, $enreg_user_id)";
$result = Database::query($sql);
Event::addEvent(
LOG_SESSION_ADD_USER_COURSE,
LOG_USER_ID,
$enreg_user_id,
api_get_utc_datetime(),
api_get_user_id(),
$courseId,
$sessionId
);
if (Database::affected_rows($result)) {
$nbr_users++;
}
@ -2104,9 +2172,20 @@ class SessionManager
WHERE c_id = $course_id AND session_id = $session_id";
Database::query($sql);
Event::addEvent(
LOG_SESSION_DELETE_COURSE,
LOG_COURSE_ID,
$course_id,
api_get_utc_datetime(),
api_get_user_id(),
$course_id,
$session_id
);
if ($nb_affected > 0) {
// Update number of courses in the session
$sql = "UPDATE $tbl_session SET nbr_courses= nbr_courses - $nb_affected WHERE id = $session_id";
$sql = "UPDATE $tbl_session SET nbr_courses= nbr_courses - $nb_affected
WHERE id = $session_id";
Database::query($sql);
return true;
} else {
@ -2393,8 +2472,8 @@ class SessionManager
s.id,
s.name,
s.nbr_courses,
s.date_start,
s.date_end,
s.access_start_date,
s.access_end_date,
u.firstname,
u.lastname,
sc.name as category_name,

@ -549,26 +549,6 @@ function WSCreateUser($params) {
return 0;
}
/*$password = ($_configuration['password_encryption'] ? api_get_encrypted_password($password) : $password);
$sql = "INSERT INTO $table_user SET
lastname = '".Database::escape_string(trim($lastName))."',
firstname = '".Database::escape_string(trim($firstName))."',
username = '".Database::escape_string(trim($loginName))."',
status = '".Database::escape_string($status)."',
password = '".Database::escape_string($password)."',
email = '".Database::escape_string($email)."',
official_code = '".Database::escape_string($official_code)."',
picture_uri = '".Database::escape_string($picture_uri)."',
creator_id = '".Database::escape_string($creator_id)."',
auth_source = '".Database::escape_string($auth_source)."',
phone = '".Database::escape_string($phone)."',
language = '".Database::escape_string($language)."',
registration_date = now(),
$expirationDateStatement
hr_dept_id = '".Database::escape_string($hr_dept_id)."',
active = '".Database::escape_string($active)."'";
$result = Database::query($sql);-*/
if (isset($original_user_id_name) && isset($original_user_id_value)) {
$_SESSION['ws_' . $original_user_id_name] = $original_user_id_value;
}
@ -4810,6 +4790,17 @@ function WSSuscribeUsersToSession($params)
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(session_id, c_id, user_id)
VALUES('$sessionId', '$enreg_course', '$enreg_user')";
$result = Database::query($sql);
Event::addEvent(
LOG_SESSION_ADD_USER_COURSE,
LOG_USER_ID,
$enreg_user,
api_get_utc_datetime(),
api_get_user_id(),
$enreg_course,
$sessionId
);
if (Database::affected_rows($result)) {
$nbr_users++;
}
@ -5127,7 +5118,19 @@ function WSUnsuscribeUsersFromSession($params) {
session_id = '$id_session' AND
user_id = '$enreg_user' AND
relation_type<>".SESSION_RELATION_TYPE_RRHH."";
$result = Database::query($delete_sql);
Event::addEvent(
LOG_SESSION_DELETE_USER,
LOG_USER_ID,
$enreg_user,
api_get_utc_datetime(),
api_get_user_id(),
0,
$id_session
);
$return = Database::affected_rows($result);
}
$nbr_users = 0;
@ -5393,6 +5396,16 @@ function WSSuscribeCoursesToSession($params) {
VALUES ('$id_session','$enreg_course')";
Database::query($sql);
Event::addEvent(
LOG_SESSION_ADD_COURSE,
LOG_COURSE_ID,
$enreg_course,
api_get_utc_datetime(),
api_get_user_id(),
$enreg_course,
$id_session
);
// We add the current course in the existing courses array,
// to avoid adding another time the current course
$existingCourses[] = array('c_id' => $enreg_course);
@ -5405,6 +5418,17 @@ function WSSuscribeCoursesToSession($params) {
$enreg_user_id = Database::escape_string($enreg_user['user_id']);
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id)
VALUES ('$id_session','$enreg_course','$enreg_user_id')";
Event::addEvent(
LOG_SESSION_ADD_USER_COURSE,
LOG_USER_ID,
$enreg_user_id,
api_get_utc_datetime(),
api_get_user_id(),
$enreg_course,
$id_session
);
$result = Database::query($sql);
if (Database::affected_rows($result)) {
$nbr_users++;
@ -5586,6 +5610,17 @@ function WSUnsuscribeCoursesFromSession($params)
Database::query("DELETE FROM $tbl_session_rel_course
WHERE c_id ='$courseId' AND session_id='$id_session'");
$result = Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE c_id='$courseId' AND session_id = '$id_session'");
Event::addEvent(
LOG_SESSION_DELETE_COURSE,
LOG_COURSE_ID,
$courseId,
api_get_utc_datetime(),
api_get_user_id(),
$courseId,
$id_session
);
$return = Database::affected_rows($result);
}

Loading…
Cancel
Save