diff --git a/main/auth/profile.php b/main/auth/profile.php index f88a624857..4e95082ca8 100644 --- a/main/auth/profile.php +++ b/main/auth/profile.php @@ -629,9 +629,23 @@ elseif (isset($_POST['remove_production'])) { // build SQL query $sql = "UPDATE $table_user SET"; unset($user_data['api_key_generate']); - foreach ($user_data as $key => $value) { - if (substr($key, 0, 6) == 'extra_') { //an extra field - $extras[substr($key, 6)] = $value; + foreach ($user_data as $key => $value) { + if (substr($key, 0, 6) == 'extra_') { //an extra field + $new_key = substr($key, 6); + // format array date to 'Y-m-d' or date time to 'Y-m-d H:i:s' + if (is_array($value) && isset($value['Y']) && isset($value['F']) && isset($value['d'])) { + if (isset($value['H']) && isset($value['i'])) { + // extra field date time + $time = mktime($value['H'],$value['i'],0,$value['F'],$value['d'],$value['Y']); + $extras[$new_key] = date('Y-m-d H:i:s',$time); + } else { + // extra field date + $time = mktime(0,0,0,$value['F'],$value['d'],$value['Y']); + $extras[$new_key] = date('Y-m-d',$time); + } + } else { + $extras[$new_key] = $value; + } } else { $sql .= " $key = '".Database::escape_string($value)."',"; } diff --git a/main/tracking/courseLog.php b/main/tracking/courseLog.php index 678dc3fe3e..db322d5304 100644 --- a/main/tracking/courseLog.php +++ b/main/tracking/courseLog.php @@ -932,8 +932,8 @@ function get_addtional_profile_information_of_field_by_user($field_id, $users){ WHERE field.field_id=".intval($field_id)." AND user.user_id IN ($users)"; $result = api_sql_query($sql,__FILE__,__LINE__); - while($row = Database::fetch_array($result)) { - + while($row = Database::fetch_array($result)) { + // get option value for field type double select by id if (!empty($row['field_value'])) { if ($result_extra_field['field_type'] == USER_FIELD_TYPE_DOUBLE_SELECT) { $id_double_select = explode(';',$row['field_value']); @@ -942,20 +942,9 @@ function get_addtional_profile_information_of_field_by_user($field_id, $users){ $value2 = $result_extra_field['options'][$id_double_select[1]]['option_value']; $row['field_value'] = ($value1.';'.$value2); } - } else if ($result_extra_field['field_type'] == USER_FIELD_TYPE_DATE) { - $datetime = explode(';',$row['field_value']); - if (is_array($datetime)) { - $time = mktime(0,0,0,$datetime[1],$datetime[0],$datetime[2]); - $row['field_value'] = date('Y-m-d',$time); - } - } else if ($result_extra_field['field_type'] == USER_FIELD_TYPE_DATETIME) { - $datetime = explode(';',$row['field_value']); - if (is_array($datetime)) { - $time = mktime($datetime[3],$datetime[4],0,$datetime[1],$datetime[0],$datetime[2]); - $row['field_value'] = date('Y-m-d H:i:s',$time); - } } - } + } + // get other value from extra field $return[$row['user_id']][] = $row['field_value']; } }