Adding user inactive date in resume session see BT#4871

skala
Julio Montoya 13 years ago
parent a6f879d57a
commit 7aa1975646
  1. 10
      main/admin/resume_session.php
  2. 31
      main/inc/ajax/user_manager.ajax.php
  3. 29
      main/inc/lib/events.lib.inc.php
  4. 4
      main/inc/lib/main_api.lib.php
  5. 23
      main/inc/lib/usermanager.lib.php

@ -263,10 +263,16 @@ if ($session['nbr_users'] == 0) {
//$link_class = 'class="item_disabled"';
$link_class = null;
$user_status_in_platform = Display::return_icon('error.png', get_lang('Inactive'));
if ($user_info['active'] == 1 ) {
$user_status_in_platform = Display::return_icon('accept.png', get_lang('Active'));
//$link_class = null;
} else {
$status_info = get_latest_event_by_user_and_type($user['user_id'], LOG_USER_DEACTIVATED);
//var_dump($status_info);
if (!empty($status_info)) {
$user_status_in_platform .= '<br />'.get_lang('UserInactived').' '.api_convert_and_format_date($status_info['default_date'], DATE_TIME_FORMAT_LONG);
}
$user_info['complete_name_with_username'] = Display::tag('del', $user_info['complete_name_with_username']);
}
@ -351,8 +357,6 @@ if ($session['nbr_users'] == 0) {
<td>'.$information.'</td>
<td>'.$origin.' '.$destination.'</td>
<td>'.$moved_date.'</td>
<td>
<a href="../mySpace/myStudents.php?student='.$user['user_id'].''.$orig_param.'">'.Display::return_icon('statistics.gif', get_lang('Reporting')).'</a>&nbsp;
'.$course_link.'
@ -371,4 +375,4 @@ if ($session['nbr_users'] == 0) {
?>
</table>
<?php
Display :: display_footer();
Display :: display_footer();

@ -71,34 +71,13 @@ switch ($action) {
}
break;
case 'active_user':
if (api_is_platform_admin() && api_global_admin_can_edit_admin($_GET['user_id'])) {
if (api_is_platform_admin() && api_global_admin_can_edit_admin($_GET['user_id'])) {
$user_id = intval($_GET['user_id']);
$status = intval($_GET['status']);
if (!empty($user_id)) {
$user_table = Database :: get_main_table(TABLE_MAIN_USER);
$sql = "UPDATE $user_table SET active='".$status."' WHERE user_id='".$user_id."'";
$result = Database::query($sql);
//Send and email if account is active
if ($status == 1) {
$user_info = api_get_user_info($user_id);
$recipient_name = api_get_person_name($user_info['firstname'], $user_info['lastname'], null, PERSON_NAME_EMAIL_ADDRESS);
$emailsubject = '['.api_get_setting('siteName').'] '.get_lang('YourReg').' '.api_get_setting('siteName');
$email_admin = api_get_setting('emailAdministrator');
$sender_name = api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'), null, PERSON_NAME_EMAIL_ADDRESS);
$emailbody=get_lang('Dear')." ".stripslashes($recipient_name).",\n\n";
$emailbody.=sprintf(get_lang('YourAccountOnXHasJustBeenApprovedByOneOfOurAdministrators'), api_get_setting('siteName'))."\n";
$emailbody.=sprintf(get_lang('YouCanNowLoginAtXUsingTheLoginAndThePasswordYouHaveProvided'), api_get_path(WEB_PATH)).",\n\n";
$emailbody.=get_lang('HaveFun')."\n\n";
//$emailbody.=get_lang('Problem'). "\n\n". get_lang('Formula');
$emailbody.= api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'))."\n". get_lang('Manager'). " ".api_get_setting('siteName')."\nT. ".api_get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".api_get_setting('emailAdministrator');
$result = api_mail_html($recipient_name, $user_info['mail'], $emailsubject, $emailbody, $sender_name, $email_admin);
}
$status = intval($_GET['status']);
if (!empty($user_id)) {
UserManager::change_active_state($user_id, $status, true);
echo $status;
}
}
} else {
echo '-1';
}

@ -680,10 +680,33 @@ function get_event_users($event_name) {
//For tests
//$sql = 'SELECT user.user_id, user.firstname, user.lastname FROM '.Database::get_main_table(TABLE_MAIN_USER);
$user_list = Database::store_result(Database::query($sql), 'ASSOC');
$user_list = Database::store_result(Database::query($sql), 'ASSOC');
return json_encode($user_list);
}
function get_events_by_user_and_type($user_id, $event_type) {
global $TABLETRACK_DEFAULT;
$user_id = intval($user_id);
$event_type = Database::escape_string($event_type);
$sql = "SELECT * FROM $TABLETRACK_DEFAULT
WHERE default_value_type = 'user_id' AND
default_value = $user_id AND
default_event_type = '$event_type'
ORDER BY default_date ";
$result = Database::query($sql);
if ($result) {
return Database::store_result($result, 'ASSOC');
}
return false;
}
function get_latest_event_by_user_and_type($user_id, $event_type) {
$result = get_events_by_user_and_type($user_id, $event_type);
if ($result && !empty($result)) {
return $result[0];
}
}
/**
* Save the new message for one event and for one language
*
@ -1414,6 +1437,8 @@ function event_send_mail($event_name, $params) {
EventsMail::send_mail($event_name, $params);
}
/**
* Internal function checking if the mail was already sent from that user to that user
* @param string $event_name
@ -1468,6 +1493,8 @@ function portal_homepage_edited_event_send_mail_filter_func(&$values) {
return $res;
}
/**
*
*/

@ -134,7 +134,7 @@ define('LDAP_AUTH_SOURCE', 'extldap');
// CONSTANT defining the default HotPotatoes files directory
define('DIR_HOTPOTATOES','/HotPotatoes_files');
// event logs types
// Event logs types
define('LOG_COURSE_DELETE', 'course_deleted');
define('LOG_COURSE_CREATE', 'course_created');
define('LOG_USER_CREATE', 'user_created');
@ -157,7 +157,7 @@ define('LOG_PROMOTION_DELETE', 'promotion_deleted');
define('LOG_CAREER_CREATE', 'career_created');
define('LOG_CAREER_DELETE', 'career_deleted');
// event logs data types
// Event logs data types
define('LOG_COURSE_CODE', 'course_code');
define('LOG_USER_ID', 'user_id');
define('LOG_USER_OBJECT', 'user_object');

@ -569,7 +569,7 @@ class UserManager {
* @param int user_id
* @param int Enable or disable
*/
private static function change_active_state($user_id, $active) {
public static function change_active_state($user_id, $active, $send_email_if_activated = false) {
$user_id = intval($user_id);
$active = intval($active);
$table_user = Database :: get_main_table(TABLE_MAIN_USER);
@ -579,11 +579,28 @@ class UserManager {
$log_event = LOG_USER_DEACTIVATED;
if ($active == 1) {
$log_event = LOG_USER_ACTIVATED;
$log_event = LOG_USER_ACTIVATED;
if ($send_email_if_activated) {
$user_info = api_get_user_info($user_id);
$recipient_name = api_get_person_name($user_info['firstname'], $user_info['lastname'], null, PERSON_NAME_EMAIL_ADDRESS);
$emailsubject = '['.api_get_setting('siteName').'] '.get_lang('YourReg').' '.api_get_setting('siteName');
//$sender_name = api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'), null, PERSON_NAME_EMAIL_ADDRESS);
$emailbody=get_lang('Dear')." ".stripslashes($recipient_name).",\n\n";
$emailbody.=sprintf(get_lang('YourAccountOnXHasJustBeenApprovedByOneOfOurAdministrators'), api_get_setting('siteName'))."\n";
$emailbody.=sprintf(get_lang('YouCanNowLoginAtXUsingTheLoginAndThePasswordYouHaveProvided'), api_get_path(WEB_PATH)).",\n\n";
$emailbody.=get_lang('HaveFun')."\n\n";
$emailbody.=get_lang('Problem'). "\n\n". get_lang('Formula');
$emailbody.= api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'))."\n". get_lang('Manager'). " ".api_get_setting('siteName')."\nT. ".api_get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".api_get_setting('emailAdministrator');
MessageManager::send_message_simple($user_id, $emailsubject, $emailbody);
//$result = api_mail_html($recipient_name, $user_info['mail'], $emailsubject, $emailbody, $sender_name, $email_admin);
}
}
$user_info = api_get_user_info($user_id);
event_system($log_event, LOG_USER_ID, $user_id, api_get_utc_datetime(), api_get_user_id());
event_system($log_event, LOG_USER_OBJECT, $user_info, api_get_utc_datetime(), api_get_user_id());
event_system($log_event, LOG_USER_OBJECT, $user_info, api_get_utc_datetime(), api_get_user_id());
}
/**

Loading…
Cancel
Save