Index: lang/strings_english.txt
===================================================================
--- lang/strings_english.txt (revision 315)
+++ lang/strings_english.txt (revision 317)
@@ -1300,7 +1300,7 @@
$s_linked_projects = 'Linked Projects';
$s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:E-mail,5:Checkbox,6:List,7:Multiselection list,8:Date,9:Radio';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:E-mail,5:Checkbox,6:List,7:Multiselection list,8:Date,9:Radio,10:User,11:Users multiselection list';
$s_confirm_used_custom_field_deletion = 'This field is currently linked to at least one project. If you continue all values for this field will be permanently deleted. This action cannot be undone. If you do not want to delete this field, hit the Back button in your browser. To proceed, click the button below';
$s_confirm_custom_field_deletion = 'Are you sure you want to delete this custom field and all associated values?';
Index: lang/strings_french.txt
===================================================================
--- lang/strings_french.txt (revision 315)
+++ lang/strings_french.txt (revision 317)
@@ -1088,7 +1088,7 @@
$s_link_custom_field_to_project_button = 'Lier champ personnalisé';
$s_linked_projects = 'Projets liés';
$s_custom_field_sequence = 'Suite';
-$s_custom_field_type_enum_string = '0:Chaîne de caractères,1:Nombre entier,2:Nombre réel,3:Énumération,4:Courriel,5:Case à cocher,6:Liste,7:Liste à sélection multiple,8:Date,9:Bouton radio';
+$s_custom_field_type_enum_string = '0:Chaîne de caractères,1:Nombre entier,2:Nombre réel,3:Énumération,4:Courriel,5:Case à cocher,6:Liste,7:Liste à sélection multiple,8:Date,9:Bouton radio,10:Utilisateur,11:Liste d'utilisateurs';
$s_confirm_used_custom_field_deletion = 'Ce champ est actuellement lié à au moins un projet. Si vous continuez, toutes les valeurs de ce champ seront supprimées. Cette action ne peut être annulée. Si vous ne voulez pas supprimer ce champ, cliquer sur le bouton Retour de votre navigateur. Sinon pour supprimer ce champ, cliquer sur le bouton ci dessous';
$s_confirm_custom_field_deletion = 'Êtes vous sûr de vouloir supprimer ce champ personnalisé et toutes les valeurs associées ?';
$s_field_delete_button = 'Supprimer le champ';
Index: config_defaults_inc.php
===================================================================
--- config_defaults_inc.php (revision 315)
+++ config_defaults_inc.php (revision 317)
@@ -3008,7 +3008,7 @@
*
* @global string $g_custom_field_type_enum_string
*/
- $g_custom_field_type_enum_string = '0:string,1:numeric,2:float,3:enum,4:email,5:checkbox,6:list,7:multiselection list,8:date,9:radio';
+ $g_custom_field_type_enum_string = '0:string,1:numeric,2:float,3:enum,4:email,5:checkbox,6:list,7:multiselection list,8:date,9:radio,10:userlist,11:usermultilist';
/*********************************
* MantisBT Javascript Variables *
Index: core/filter_api.php
===================================================================
--- core/filter_api.php (revision 315)
+++ core/filter_api.php (revision 317)
@@ -2988,7 +2988,22 @@
$t_values .= $t_start;
break;
}
- } else {
+ } elseif( $t_accessible_custom_fields_types[$i] == CUSTOM_FIELD_TYPE_USER_LIST || $t_accessible_custom_fields_types[$i] == CUSTOM_FIELD_TYPE_USER_MULTILIST) {
+ $t_current = $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][0];
+
+ $t_values .= '';
+
+ if( filter_field_is_any( $t_current ) ) {
+ $t_any_found = true;
+ } else if( filter_field_is_none( $t_current ) ) {
+ $t_this_string = lang_get( 'none' );
+ } else {
+ $t_this_string = user_get_name( $t_current);
+ }
+
+ $t_output .= $t_this_string;
+
+ }else{
$t_first_flag = true;
foreach( $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]] as $t_current ) {
$t_current = stripslashes( $t_current );
@@ -4002,6 +4017,8 @@
} else if( isset( $t_accessible_custom_fields_names[$j] ) ) {
if( $t_accessible_custom_fields_types[$j] == CUSTOM_FIELD_TYPE_DATE ) {
print_filter_custom_field_date( $j, $p_field_id );
+ } elseif( $t_accessible_custom_fields_types[$j] == CUSTOM_FIELD_TYPE_USER_LIST || $t_accessible_custom_fields_types[$j] == CUSTOM_FIELD_TYPE_USER_MULTILIST ) {
+ print_filter_custom_field_user( $j, $p_field_id );
} else {
echo '';
}
+function cfdef_input_userlist($p_field_def, $t_custom_field_value) {
+
+ if ( $p_field_def['type'] == CUSTOM_FIELD_TYPE_USER_MULTILIST ) {
+ $t_selected_values = explode( '|', $t_custom_field_value );
+
+ echo '