Adding extra info in the stats when deleting a student (user_object is an array)

skala
Julio Montoya 14 years ago
parent f598ca7e2a
commit 867f6f036d
  1. 13
      main/admin/statistics.php
  2. 18
      main/admin/statistics/statistics.lib.php
  3. 17
      main/inc/lib/main_api.lib.php
  4. 15
      main/inc/lib/text.lib.php
  5. 28
      main/inc/lib/usermanager.lib.php

@ -19,15 +19,4 @@ require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php';
$interbreadcrumb[]=array('url' => 'index.php',"name" => get_lang('PlatformAdmin'));
$tool_name = get_lang('Statistics');
Display::display_header($tool_name);
//api_display_tool_title($tool_name);
/*
MAIN CODE
*/
/*
FOOTER
*/
Display::display_footer();
?>
Display::display_footer();

@ -114,10 +114,10 @@ class Statistics {
*/
function get_activities_data($from, $number_of_items, $column, $direction) {
global $dateTimeFormatLong, $_configuration;
$track_e_default = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_DEFAULT);
$track_e_default = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_DEFAULT);
$table_user = Database::get_main_table(TABLE_MAIN_USER);
$table_course = Database::get_main_table(TABLE_MAIN_COURSE);
$access_url_rel_user_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_rel_user_table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$current_url_id = api_get_current_access_url_id();
$column = intval($column);
@ -161,7 +161,17 @@ class Statistics {
$res = Database::query($sql);
$activities = array ();
while ($row = Database::fetch_row($res)) {
while ($row = Database::fetch_row($res)) {
if (strpos($row[1], '_object') === false) {
$row[2] = $row[2];
} else {
if (!empty($row[2])) {
$row[2] = unserialize($row[2]);
if (is_array($row[2]) && !empty($row[2])) {
$row[2] = implode_with_key(', ', $row[2]);
}
}
}
if (!empty($row[4]) && $row[4] != '0000-00-00 00:00:00') {
$row[4] = api_get_local_time($row[4]);
} else {
@ -541,7 +551,7 @@ class Statistics {
}
$parameters['action'] = 'courselastvisit';
$parameters['date_diff'] = $date_diff;
$parameters['action'] = 'courselastvisit';
$parameters['action'] = 'courselastvisit';
$table_header[] = array (get_lang("CourseCode"), true);
$table_header[] = array (get_lang("LastAccess"), true);
Display :: display_sortable_table($table_header, $courses, array ('column'=>$column,'direction'=>$direction), array (), $parameters);

@ -141,14 +141,15 @@ define('LOG_CAREER_CREATE', 'career_created');
define('LOG_CAREER_DELETE', 'career_deleted');
// event logs data types
define('LOG_COURSE_CODE', 'course_code');
define('LOG_USER_ID', 'user_id');
define('LOG_SESSION_ID', 'session_id');
define('LOG_SESSION_CATEGORY_ID', 'session_category_id');
define('LOG_CONFIGURATION_SETTINGS_CATEGORY', 'settings_category');
define('LOG_CONFIGURATION_SETTINGS_VARIABLE', 'settings_variable');
define('LOG_CAREER_ID', 'career_id');
define('LOG_PROMOTION_ID', 'promotion_id');
define('LOG_COURSE_CODE', 'course_code');
define('LOG_USER_ID', 'user_id');
define('LOG_USER_OBJECT', 'user_object');
define('LOG_SESSION_ID', 'session_id');
define('LOG_SESSION_CATEGORY_ID', 'session_category_id');
define('LOG_CONFIGURATION_SETTINGS_CATEGORY', 'settings_category');
define('LOG_CONFIGURATION_SETTINGS_VARIABLE', 'settings_variable');
define('LOG_CAREER_ID', 'career_id');
define('LOG_PROMOTION_ID', 'promotion_id');
// Specification for usernames:
// 1. ASCII-letters, digits, "." (dot), "_" (underscore) are acceptable, 40 characters maximum length.

@ -709,3 +709,18 @@ function substrwords($text,$maxchar,$end='...')
}
return $output.$end;
}
function implode_with_key($glue, $array) {
if (!empty($array)) {
$string = '';
foreach($array as $key => $value) {
if (empty($value)) {
$value = 'null';
}
$string .= $key." : ".$value." $glue ";
}
return $string;
}
return '';
}

@ -13,11 +13,11 @@
define('USER_FIELD_TYPE_TEXT', 1);
define('USER_FIELD_TYPE_TEXTAREA', 2);
define('USER_FIELD_TYPE_RADIO', 3);
define('USER_FIELD_TYPE_SELECT', 4);
define('USER_FIELD_TYPE_SELECT', 4);
define('USER_FIELD_TYPE_SELECT_MULTIPLE', 5);
define('USER_FIELD_TYPE_DATE', 6);
define('USER_FIELD_TYPE_DATETIME', 7);
define('USER_FIELD_TYPE_DOUBLE_SELECT', 8);
define('USER_FIELD_TYPE_DOUBLE_SELECT', 8);
define('USER_FIELD_TYPE_DIVIDER', 9);
define('USER_FIELD_TYPE_TAG', 10);
define('USER_FIELD_TYPE_TIMEZONE', 11);
@ -214,13 +214,14 @@ class UserManager {
$table_admin = Database :: get_main_table(TABLE_MAIN_ADMIN);
$table_session_user = Database :: get_main_table(TABLE_MAIN_SESSION_USER);
$table_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$table_group = Database :: get_course_table(TABLE_GROUP_USER);
// Unsubscribe the user from all groups in all his courses
$sql = "SELECT * FROM $table_course c, $table_course_user cu WHERE cu.user_id = '".$user_id."' AND relation_type<>".COURSE_RELATION_TYPE_RRHH." AND c.code = cu.course_code";
$sql = "SELECT c.id FROM $table_course c, $table_course_user cu
WHERE cu.user_id = '".$user_id."' AND relation_type<>".COURSE_RELATION_TYPE_RRHH." AND c.code = cu.course_code";
$res = Database::query($sql);
while ($course = Database::fetch_object($res)) {
$table_group = Database :: get_course_table(TABLE_GROUP_USER, $course->db_name);
$sql = "DELETE FROM $table_group WHERE user_id = '".$user_id."'";
while ($course = Database::fetch_object($res)) {
$sql = "DELETE FROM $table_group WHERE c_id = {$course->id} AND user_id = $user_id";
Database::query($sql);
}
@ -292,7 +293,7 @@ class UserManager {
$group_list = GroupPortalManager::get_groups_by_user($user_id);
if (!empty($group_list)) {
foreach($group_list as $group_id => $data) {
GroupPortalManager::delete_user_rel_group($user_id, $group_id);
GroupPortalManager::delete_user_rel_group($user_id, $group_id);
}
}
@ -301,7 +302,16 @@ class UserManager {
}
// Add event to system log
$user_id_manager = api_get_user_id();
event_system(LOG_USER_DELETE, LOG_USER_ID, $user_id, api_get_utc_datetime(), $user_id_manager,null,$user_info);
event_system(LOG_USER_DELETE, LOG_USER_ID, $user_id, api_get_utc_datetime(), $user_id_manager, null, $user_info);
unset($user_info['password']);
unset($user_info['complete_name']);
unset($user_info['firstName']);
unset($user_info['lastName']);
unset($user_info['lastLogin']);
unset($user_info['avatar']);
unset($user_info['avatar_small']);
event_system(LOG_USER_DELETE, LOG_USER_OBJECT, serialize($user_info), api_get_utc_datetime(), $user_id_manager, null, $user_info);
return true;
}

Loading…
Cancel
Save