Fixing user expiration date see #5846

skala
Julio Montoya 13 years ago
parent a308a976d3
commit b34d576a9c
  1. 11
      main/admin/user_edit.php
  2. 18
      main/inc/lib/attendance.lib.php
  3. 22
      main/inc/lib/text.lib.php
  4. 18
      main/inc/lib/thematic.lib.php

@ -294,16 +294,20 @@ if ($expiration_date == '0000-00-00 00:00:00') {
$user_data['expiration_date']['Y'] = date('Y');
} else {
$user_data['radio_expiration_date'] = 1;
$user_data['expiration_date'] = array();
$user_data['expiration_date']['d'] = substr($expiration_date, 8, 2);
$user_data['expiration_date']['F'] = substr($expiration_date, 5, 2);
$user_data['expiration_date']['Y'] = substr($expiration_date, 0, 4);
$user_data['expiration_date']['H'] = substr($expiration_date, 11, 2);
$user_data['expiration_date']['i'] = substr($expiration_date, 14, 2);
}
$form->setDefaults($user_data);
$error_drh = false;
// Validate form
if ( $form->validate()) {
if ($form->validate()) {
$user = $form->getSubmitValues();
$is_user_subscribed_in_course = CourseManager::is_user_subscribed_in_course($user['user_id']);
@ -337,10 +341,11 @@ if ( $form->validate()) {
$hr_dept_id = intval($user['hr_dept_id']);
$language = $user['language'];
if ($user['radio_expiration_date'] == '1' && !$user_data['platform_admin']) {
$expiration_date=$user['expiration_date'];
$expiration_date = return_datetime_from_array($user['expiration_date']);
} else {
$expiration_date='0000-00-00 00:00:00';
$expiration_date = '0000-00-00 00:00:00';
}
$active = $user_data['platform_admin'] ? 1 : intval($user['active']);
//If the user is set to admin the status will be overwrite by COURSEMANAGER = 1

@ -1269,23 +1269,7 @@ class Attendance
* @return string date and time e.g: '2010-02-10 12:30:00'
*/
public function build_datetime_from_array($array) {
$year = '0000';
$month = $day = $hours = $minutes = $seconds = '00';
if (isset($array['Y']) && (isset($array['F']) || isset($array['M'])) && isset($array['d']) && isset($array['H']) && isset($array['i'])) {
$year = $array['Y'];
$month = isset($array['F'])?$array['F']:$array['M'];
if (intval($month) < 10 ) $month = '0'.$month;
$day = $array['d'];
if (intval($day) < 10 ) $day = '0'.$day;
$hours = $array['H'];
if (intval($hours) < 10 ) $hours = '0'.$hours;
$minutes = $array['i'];
if (intval($minutes) < 10 ) $minutes = '0'.$minutes;
}
if (checkdate($month,$day,$year)) {
$datetime = $year.'-'.$month.'-'.$day.' '.$hours.':'.$minutes.':'.$seconds;
}
return $datetime;
return return_datetime_from_array($array);
}
/** Setters for fields of attendances tables **/

@ -745,3 +745,25 @@ function format_file_size($file_size) {
}
return $file_size;
}
function return_datetime_from_array($array) {
$year = '0000';
$month = $day = $hours = $minutes = $seconds = '00';
var_dump($array);
if (isset($array['Y']) && (isset($array['F']) || isset($array['M'])) && isset($array['d']) && isset($array['H']) && isset($array['i'])) {
$year = $array['Y'];
$month = isset($array['F'])?$array['F']:$array['M'];
if (intval($month) < 10 ) $month = '0'.$month;
$day = $array['d'];
if (intval($day) < 10 ) $day = '0'.$day;
$hours = $array['H'];
if (intval($hours) < 10 ) $hours = '0'.$hours;
$minutes = $array['i'];
if (intval($minutes) < 10 ) $minutes = '0'.$minutes;
}
if (checkdate($month,$day,$year)) {
$datetime = $year.'-'.$month.'-'.$day.' '.$hours.':'.$minutes.':'.$seconds;
}
return $datetime;
}

@ -1228,22 +1228,6 @@ class Thematic
* @return string date and time e.g: '2010-02-10 12:30:00'
*/
public function build_datetime_from_array($array) {
$year = '0000';
$month = $day = $hours = $minutes = $seconds = '00';
if (isset($array['Y']) && isset($array['F']) && isset($array['d']) && isset($array['H']) && isset($array['i'])) {
$year = $array['Y'];
$month = $array['F'];
if (intval($month) < 10 ) $month = '0'.$month;
$day = $array['d'];
if (intval($day) < 10 ) $day = '0'.$day;
$hours = $array['H'];
if (intval($hours) < 10 ) $hours = '0'.$hours;
$minutes = $array['i'];
if (intval($minutes) < 10 ) $minutes = '0'.$minutes;
}
if (checkdate($month,$day,$year)) {
$datetime = $year.'-'.$month.'-'.$day.' '.$hours.':'.$minutes.':'.$seconds;
}
return $datetime;
return return_datetime_from_array($array);
}
}
Loading…
Cancel
Save