View Issue Details

IDProjectCategoryView StatusLast Update
0004009mantisbtcustom fieldspublic2004-08-29 01:45
ReporterRJelinek Assigned Tograngeway  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Product Version0.18.2 
Fixed in Version0.19.0rc1 
Summary0004009: New custom field type "multiple select"
Description

Some managers from my hosted projects require a possibility to select more than one item from a list.

Additional Information

I have added a new custom-field-type named
CUSTOM_FIELD_TYPE_MULTIPLE_ENUM = 5.

There are no extensions in the database. My field is saved as string in the form Item1|Item2|Item3, so it follows the Items-definition of enum.

I have also changed the way, custom-fields are passed over gpc. Now it is always called a routine named gpc_get_custom_field which is used for correct handling of parameter passing.

TODO: I have not check the custom_field_validate - function.

Maybe it will be included into 0.19.0, but I think the new filter-functionality must be adopted. As I have seen, it will be quite easy...

TagsNo tags attached.
Attached Files
multiple_select.diff (40,776 bytes)   
diff -Naurb epia_old/bug_report.php epia/bug_report.php
--- epia_old/bug_report.php	2004-02-06 12:05:38.000000000 +0100
+++ epia/bug_report.php	2004-07-05 18:51:11.000000000 +0200
@@ -82,7 +82,7 @@
 	$t_related_custom_field_ids = custom_field_get_linked_ids( $f_project_id );
 	foreach( $t_related_custom_field_ids as $t_id ) {
 		$t_def = custom_field_get_definition( $t_id );
-		if ( !custom_field_validate( $t_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if ( !custom_field_validate( $t_id, gpc_get_custom_field( "custom_field_$t_id", $t_def['type'], $t_def['default_value'] ) ) ) {
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
 	}
@@ -116,7 +116,7 @@
 		}
 
 		$t_def = custom_field_get_definition( $t_id );
-		if( !custom_field_set_value( $t_id, $t_bug_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if( !custom_field_set_value( $t_id, $t_bug_id, gpc_get_custom_field( "custom_field_$t_id", $t_def['type'], $t_def['default_value'] ) ) ) {
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
 	}
diff -Naurb epia_old/bug_update.php epia/bug_update.php
--- epia_old/bug_update.php	2004-03-08 13:40:39.000000000 +0100
+++ epia/bug_update.php	2004-07-05 18:42:06.000000000 +0200
@@ -64,7 +64,8 @@
 
 	$t_related_custom_field_ids = custom_field_get_linked_ids( $t_bug_data->project_id );
 	foreach( $t_related_custom_field_ids as $t_id ) {
-		$t_custom_field_value = gpc_get_string( "custom_field_$t_id", null );
+		$t_def = custom_field_get_definition( $t_id );
+		$t_custom_field_value = gpc_get_custom_field( "custom_field_$t_id", $t_def['type'], null );
 
 		# Only update the field if it is posted
 		if ( $t_custom_field_value === null ) {
@@ -76,7 +77,6 @@
 			continue;
 		}
 
-		$t_def = custom_field_get_definition( $t_id );
 		if ( !custom_field_set_value( $t_id, $f_bug_id, $t_custom_field_value ) ) {
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
diff -Naurb epia_old/bug_view_advanced_page.php epia/bug_view_advanced_page.php
--- epia_old/bug_view_advanced_page.php	2004-02-10 17:01:43.000000000 +0100
+++ epia/bug_view_advanced_page.php	2004-07-05 18:30:19.000000000 +0200
@@ -333,10 +333,16 @@
 		<td colspan="5">
 		<?php
 			$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-			if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+			switch ($t_def['type']) {
+			case CUSTOM_FIELD_TYPE_EMAIL:
 				echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-			} else {
+				break;
+			case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+				echo str_replace( "|", ",", $t_custom_field_value );
+				break;
+			default:
 				echo $t_custom_field_value;
+				break;
 			}
 		?>
 		</td>
@@ -421,10 +427,16 @@
 		<td colspan="5">
 		<?php
 			$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-			if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+			switch ($t_def['type']) {
+			case CUSTOM_FIELD_TYPE_EMAIL:
 				echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-			} else {
+				break;
+			case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+				echo str_replace( "|", ",", $t_custom_field_value );
+				break;
+			default:
 				echo $t_custom_field_value;
+				break;
 			}
 		?>
 		</td>
diff -Naurb epia_old/bug_view_page.php epia/bug_view_page.php
--- epia_old/bug_view_page.php	2004-03-08 13:41:57.000000000 +0100
+++ epia/bug_view_page.php	2004-07-05 18:30:58.000000000 +0200
@@ -256,10 +256,16 @@
 		<td colspan="5">
 			<?php
 				$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-				if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+				switch ($t_def['type']) {
+				case CUSTOM_FIELD_TYPE_EMAIL:
 					echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-				} else {
+					break;
+				case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+					echo str_replace( "|", ",", $t_custom_field_value );
+					break;
+				default:
 					echo $t_custom_field_value;
+					break;
 				}
 			?>
 		</td>
@@ -332,10 +338,16 @@
 		<td colspan="5">
 			<?php
 				$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-				if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+				switch ($t_def['type']) {
+				case CUSTOM_FIELD_TYPE_EMAIL:
 					echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-				} else {
+					break;
+				case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+					echo str_replace( "|", ",", $t_custom_field_value );
+					break;
+				default:
 					echo $t_custom_field_value;
+					break;
 				}
 			?>
 		</td>
diff -Naurb epia_old/config_defaults_inc.php epia/config_defaults_inc.php
--- epia_old/config_defaults_inc.php	2004-06-28 18:32:50.000000000 +0200
+++ epia/config_defaults_inc.php	2004-07-05 18:47:58.000000000 +0200
@@ -874,7 +874,7 @@
 	$g_projection_enum_string			= '10:none,30:tweak,50:minor fix,70:major rework,90:redesign';
 	$g_eta_enum_string					= '10:none,20:< 1 day,30:2-3 days,40:< 1 week,50:< 1 month,60:> 1 month';
 
-	$g_custom_field_type_enum_string    = '0:string,1:numeric,2:float,3:enum,4:email';
+	$g_custom_field_type_enum_string    = '0:string,1:numeric,2:float,3:enum,4:email,5:multipleenum';
 
 	#############################
 	# Mantis Javascript Variables
diff -Naurb epia_old/core/constant_inc.php epia/core/constant_inc.php
--- epia_old/core/constant_inc.php	2004-03-08 13:30:59.000000000 +0100
+++ epia/core/constant_inc.php	2004-07-05 18:10:33.000000000 +0200
@@ -243,4 +243,5 @@
 	define( 'CUSTOM_FIELD_TYPE_FLOAT',    2 );
 	define( 'CUSTOM_FIELD_TYPE_ENUM',     3 );
 	define( 'CUSTOM_FIELD_TYPE_EMAIL',    4 );
+	define( 'CUSTOM_FIELD_TYPE_MULTIPLE_ENUM',	5 );
 ?>
diff -Naurb epia_old/core/custom_field_api.php epia/core/custom_field_api.php
--- epia_old/core/custom_field_api.php	2004-03-08 13:31:33.000000000 +0100
+++ epia/core/custom_field_api.php	2004-07-05 19:08:19.000000000 +0200
@@ -863,6 +863,26 @@
 			}
 			echo '</select>';
 			break;
+		case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+			echo "<select name=\"custom_field_$t_id"."[]\"  multiple=\"multiple\" >";
+			$t_values = explode('|', $p_field_def['possible_values']);
+			$t_custom_field_values = explode('|', $t_custom_field_value);
+			foreach( $t_values as $t_option ) {
+				$t_selected = 0;
+				foreach ( $t_custom_field_values as $t_value) {
+					if ( $t_value == $t_option ) {
+						$t_selected = 1;
+						break;
+					}
+				}
+				if( $t_selected == 1 ) {
+					echo "<option value=\"$t_option\" selected>$t_option</option>";
+				} else {
+					echo "<option value=\"$t_option\">$t_option</option>";
+				}
+			}
+			echo '</select>';
+			break;
 		case CUSTOM_FIELD_TYPE_NUMERIC:
 		case CUSTOM_FIELD_TYPE_FLOAT:
 		case CUSTOM_FIELD_TYPE_EMAIL:
diff -Naurb epia_old/core/email_api.php epia/core/email_api.php
--- epia_old/core/email_api.php	2004-05-17 11:26:52.000000000 +0200
+++ epia/core/email_api.php	2004-07-05 18:37:39.000000000 +0200
@@ -445,11 +445,18 @@
 			$t_message .= str_pad( lang_get_defaulted( $t_def['name'] ) . ': ', $g_email_padding_length, ' ', STR_PAD_RIGHT );
 
 			$t_custom_field_value = custom_field_get_value( $t_id, $p_bug_id );
-			if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+			switch ($t_def['type']) {
+			case CUSTOM_FIELD_TYPE_EMAIL:
 				$t_message .= "mailto:$t_custom_field_value";
-			} else {
+				break;
+			case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+				$t_message .= str_replace( "|", ",", $t_custom_field_value );
+				break;
+			default:
 				$t_message .= $t_custom_field_value;
+				break;
 			}
+
 			$t_message .= "\n";
 		}       // foreach
 
diff -Naurb epia_old/core/gpc_api.php epia/core/gpc_api.php
--- epia_old/core/gpc_api.php	2004-01-11 09:16:10.000000000 +0100
+++ epia/core/gpc_api.php	2004-07-05 19:06:33.000000000 +0200
@@ -41,6 +41,20 @@
 		return $t_result;
 	}
 	# -----------------
+	# Retrieve a custom-field GPC variable. Uses gpc_get().
+	#  If you pass in *no* default, an error will be triggered if
+	#  the variable does not exist
+	function gpc_get_custom_field( $p_var_name, $p_custom_field_type, $p_default = null ) {
+		switch ($p_custom_field_type) {
+		case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+			$t_values = gpc_get_string_array ($p_var_name, $p_default);
+			return implode ("|", $t_values );
+		default:
+			return gpc_get_string ($p_var_name, $p_default);
+		}
+		return null;
+	}
+	# -----------------
 	# Retrieve a string GPC variable. Uses gpc_get().
 	#  If you pass in *no* default, an error will be triggered if
 	#  the variable does not exist
diff -Naurb epia_old/lang/strings_chinese_simplified.txt epia/lang/strings_chinese_simplified.txt
--- epia_old/lang/strings_chinese_simplified.txt	2004-05-10 20:12:28.000000000 +0200
+++ epia/lang/strings_chinese_simplified.txt	2004-07-05 19:55:43.000000000 +0200
@@ -902,7 +902,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_chinese_traditional.txt epia/lang/strings_chinese_traditional.txt
--- epia_old/lang/strings_chinese_traditional.txt	2004-05-10 20:12:25.000000000 +0200
+++ epia/lang/strings_chinese_traditional.txt	2004-07-05 19:55:38.000000000 +0200
@@ -899,7 +899,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_croatian.txt epia/lang/strings_croatian.txt
--- epia_old/lang/strings_croatian.txt	2004-05-10 20:12:22.000000000 +0200
+++ epia/lang/strings_croatian.txt	2004-07-05 19:55:29.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_czech.txt epia/lang/strings_czech.txt
--- epia_old/lang/strings_czech.txt	2004-05-10 20:12:19.000000000 +0200
+++ epia/lang/strings_czech.txt	2004-07-05 19:55:25.000000000 +0200
@@ -903,7 +903,7 @@
 $s_custom_field_length_max = 'Max. d�lka';
 $s_custom_field_advanced = 'Roz��en�';
 $s_custom_field_sequence = 'Po�ad�';
-$s_custom_field_type_enum_string = '0:Text,1:Cel� ��slo,2:Re�ln� ��slo,3:V�raz,4:Email';
+$s_custom_field_type_enum_string = '0:Text,1:Cel� ��slo,2:Re�ln� ��slo,3:V�raz,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Toto pole je moment�ln� propojen alespo� k jednomu projektu. Budete-li pokra�ovat, v�echny hodnoty tohot pole budou trvale zni�eny. Tato akce nem��e b�t vr�cena. Nep�ejete-li si zru�it toto pole, stizkn�te tla��tko "Zp�t" va�eho prohl�e�e.  Pokra�ovat m��ete tla��tkem n�e';
 $s_confirm_custom_field_deletion = 'Opravdu si p�ejete zru�it toto u�ivatelsk� pole a v�echny k n�mu n�le�ej�c� hodnoty?';
diff -Naurb epia_old/lang/strings_danish.txt epia/lang/strings_danish.txt
--- epia_old/lang/strings_danish.txt	2004-05-10 20:12:16.000000000 +0200
+++ epia/lang/strings_danish.txt	2004-07-05 19:55:20.000000000 +0200
@@ -899,7 +899,7 @@
 $s_custom_field_length_max = 'Max. L�ngde';
 $s_custom_field_advanced = 'Avanceret';
 $s_custom_field_sequence = 'Sekvens';
-$s_custom_field_type_enum_string = '0:Streng,1:Nummerisk,2:Kommatal,3:Opt�lling,4:E-mail';
+$s_custom_field_type_enum_string = '0:Streng,1:Nummerisk,2:Kommatal,3:Opt�lling,4:E-mail,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Dette felt er i �jeblikket knyttet til mindst et projekt.  Hvis du forts�tter vil alle v�rdier for dette felt blive slette permanent.  Denne handling kan ikke fortrydes.  Hvis du ikke �nsker at slette dette felt, klik p� Tilbage knappen i din browser.  Klik p� knappen herunder for at forts�tte.';
 $s_confirm_custom_field_deletion = '�nsker du at slette dette brugerdefinerede felt og alle tilknyttede v�rdier?';
diff -Naurb epia_old/lang/strings_dutch.txt epia/lang/strings_dutch.txt
--- epia_old/lang/strings_dutch.txt	2004-05-10 20:12:13.000000000 +0200
+++ epia/lang/strings_dutch.txt	2004-07-05 19:55:16.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = 'Max. lengte';
 $s_custom_field_advanced = 'Uitgebreid';
 $s_custom_field_sequence = 'Rij';
-$s_custom_field_type_enum_string = '0:String,1:Numeriek,2:Float,3:Enumeratie,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeriek,2:Float,3:Enumeratie,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Op dit moment is dit veld verbonden met tenminste ��n project.  Als u doorgaat zullen alle waarden voor dit veld permanent verwijderd worden.  Deze actie kan niet ongedaan worden gemaakt.  Als u dit veld niet wilt verwijderen, druk dan op de Vorige toets in uw browser.  Druk om door te gaan op onderstaande button.';
 $s_confirm_custom_field_deletion = 'Weet u zeker dat u dit veld en alle bijbehorende waarden wilt verwijderen?';
diff -Naurb epia_old/lang/strings_english.txt epia/lang/strings_english.txt
--- epia_old/lang/strings_english.txt	2004-05-18 12:36:31.000000000 +0200
+++ epia/lang/strings_english.txt	2004-07-05 19:55:11.000000000 +0200
@@ -902,7 +902,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_estonian.txt epia/lang/strings_estonian.txt
--- epia_old/lang/strings_estonian.txt	2004-05-10 20:12:08.000000000 +0200
+++ epia/lang/strings_estonian.txt	2004-07-05 19:55:05.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = 'Max. pikkus';
 $s_custom_field_advanced = 'Detailne';
 $s_custom_field_sequence = 'Jada';
-$s_custom_field_type_enum_string = '0:String,1:Numbriline,2:Ujuv,3:Nummerdus,4:E-mail';
+$s_custom_field_type_enum_string = '0:String,1:Numbriline,2:Ujuv,3:Nummerdus,4:E-mail,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Antud v�li on seotud v�hemalt �he projektiga. Kui j�tkad, kustutatakse j��davalt k�ik sellel v�ljal olevad v��rtused. Seda toimingut pole v�imalik tagasi v�tta. Kui Sa ei soovi seda v�lja kustutada, vajuta oma brauseri Back-nuppu. J�tkamiseks vajuta allolevat nuppu';
 $s_confirm_custom_field_deletion = 'Oled kindel, et soovid kustutada selle v�lja ja k�ik sellega seonduvad v��rtused?';
diff -Naurb epia_old/lang/strings_finnish.txt epia/lang/strings_finnish.txt
--- epia_old/lang/strings_finnish.txt	2004-05-10 20:12:05.000000000 +0200
+++ epia/lang/strings_finnish.txt	2004-07-05 19:54:53.000000000 +0200
@@ -902,7 +902,7 @@
 $s_custom_field_length_max = 'Enimm�ispituus';
 $s_custom_field_advanced = 'Yksityiskohdat';
 $s_custom_field_sequence = 'J�rjestys';
-$s_custom_field_type_enum_string = '0:Merkkijono,1:Numerojono,2:Liukuluku,3:Numeroitu,4:S�hk�postiosoite';
+$s_custom_field_type_enum_string = '0:Merkkijono,1:Numerojono,2:Liukuluku,3:Numeroitu,4:S�hk�postiosoite,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'T�m� kentt� on liitetty ainakin yhteen projektiin.  Jos jatkat, kaikki t�h�n kentt��n liitetyt arvot poistetaan. T�t� komentoa ei voida j�lkeenp�in kumota.  Jos et halua poistaa t�t� kentt��, paina selaimesi Takaisin-painiketta.  Jatkaaksesi, paina allaolevaa painiketta';
 $s_confirm_custom_field_deletion = 'Oletko varma, ett� haluat poistaa t�m�n mukautetun kent�n ja kaikki siihe liitetyt arvot?';
diff -Naurb epia_old/lang/strings_french.txt epia/lang/strings_french.txt
--- epia_old/lang/strings_french.txt	2004-05-10 20:12:01.000000000 +0200
+++ epia/lang/strings_french.txt	2004-07-05 19:55:34.000000000 +0200
@@ -906,7 +906,7 @@
 $s_custom_field_length_max = 'Taille max.';
 $s_custom_field_advanced = 'Avanc�';
 $s_custom_field_sequence = 'Suite';
-$s_custom_field_type_enum_string = '0:Cha�ne,1:Entier,2:D�cimal,3:Enum�ration,4:Email';
+$s_custom_field_type_enum_string = '0:Cha�ne,1:Entier,2:D�cimal,3:Enum�ration,4:Email,5:Multiple Select';
 
 $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 = 'Etes vous s�r de vouloir supprimer ce champ personnalis� et toutes les valeurs associ�es ?';
diff -Naurb epia_old/lang/strings_german.txt epia/lang/strings_german.txt
--- epia_old/lang/strings_german.txt	2004-05-18 12:36:15.000000000 +0200
+++ epia/lang/strings_german.txt	2004-07-05 18:48:40.000000000 +0200
@@ -889,7 +889,7 @@
 $s_custom_field_length_max = 'Maximale L�nge';
 $s_custom_field_advanced = 'Erweitert';
 $s_custom_field_sequence = 'Reihenfolge';
-$s_custom_field_type_enum_string = '0:Text,1:Zahlen,2:Gleitkomma Zahlen,3:Aufz�hlung,4:Email';
+$s_custom_field_type_enum_string = '0:Text,1:Zahlen,2:Gleitkomma Zahlen,3:Aufz�hlung,4:Email,5:multiple Aufz�hlung';
 
 $s_confirm_used_custom_field_deletion = 'Dieses Feld wird derzeit von mindestens einem Projekt verwendet. Wenn Sie fortfahren, werden alle Werte f�r dieses Feld dauerhaft   gel�scht. Dieser Vorgang kann nicht r�ckg�ngig gemacht werden. Um das Feld nicht zu l�schen, klicken Sie bitten den "Zur�ck"-Knopf  in Ihrem Web-Browser. Um fortzufahren, klicken Sie bitten den "Feld l�schen"-Knopf.';
 $s_confirm_custom_field_deletion = 'M�chten Sie dieses benutzerdefinierte Feld und alle zugeh�rigen Werte wirklich l�schen?';
diff -Naurb epia_old/lang/strings_hungarian.txt epia/lang/strings_hungarian.txt
--- epia_old/lang/strings_hungarian.txt	2004-05-10 20:11:58.000000000 +0200
+++ epia/lang/strings_hungarian.txt	2004-07-05 19:56:52.000000000 +0200
@@ -900,7 +900,7 @@
 $s_custom_field_length_max = 'Max. Hossz';
 $s_custom_field_advanced = 'Kiterjesztett';
 $s_custom_field_sequence = 'Folyatat�s';
-$s_custom_field_type_enum_string = '0:Sz�veg,1:Sz�m,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:Sz�veg,1:Sz�m,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'A Mez� legal�bb egy projekthez kell hogy tartozzon.  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 = 'Biztos akarja t�r�lni ezt a mez�t �s az �sszes hozz� tartoz� �rt�ket?';
diff -Naurb epia_old/lang/strings_italian.txt epia/lang/strings_italian.txt
--- epia_old/lang/strings_italian.txt	2004-05-10 20:11:54.000000000 +0200
+++ epia/lang/strings_italian.txt	2004-07-05 19:57:02.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = "Lunghezza max.";
 $s_custom_field_advanced = 'Avanzato';
 $s_custom_field_sequence = 'Sequenza';
-$s_custom_field_type_enum_string = '0:Stringa,1:Numerico,2:Virgola mobile,3:Valori prestabiliti,4:Email';
+$s_custom_field_type_enum_string = '0:Stringa,1:Numerico,2:Virgola mobile,3:Valori prestabiliti,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = "Questo campo � attualmente utilizzato da almeno un progetto.  Se continui tutti i valori associati a questo campo verranno cancellati.  Si tratta di una azione non reversibile.  Se non desideri eliminare questo campo, clicca sul pulsante Indietro del tuo browser.  Per procedere, clicca sul pulsante qui sotto";
 $s_confirm_custom_field_deletion = "Sei sicuro di voler eliminare questo Campo Personalizzato e tutti i valori associati?";
diff -Naurb epia_old/lang/strings_japanese_euc.txt epia/lang/strings_japanese_euc.txt
--- epia_old/lang/strings_japanese_euc.txt	2004-05-10 20:11:50.000000000 +0200
+++ epia/lang/strings_japanese_euc.txt	2004-07-05 19:57:07.000000000 +0200
@@ -899,7 +899,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_japanese_sjis.txt epia/lang/strings_japanese_sjis.txt
--- epia_old/lang/strings_japanese_sjis.txt	2004-05-10 20:11:46.000000000 +0200
+++ epia/lang/strings_japanese_sjis.txt	2004-07-05 19:57:13.000000000 +0200
@@ -899,7 +899,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_korean.txt epia/lang/strings_korean.txt
--- epia_old/lang/strings_korean.txt	2004-05-10 20:11:41.000000000 +0200
+++ epia/lang/strings_korean.txt	2004-07-05 19:57:21.000000000 +0200
@@ -900,7 +900,7 @@
 $s_custom_field_length_max = '�ִ� ���';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = '�����';
-$s_custom_field_type_enum_string = '0:����,1:����,2:�ε��,3:�����,4:�̸��';
+$s_custom_field_type_enum_string = '0:����,1:����,2:�ε��,3:�����,4:�̸��,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = '�� �ʵ�� ��� �ϳ��� ����Ʈ�� ��ũ�Ǿ� �ֽ��ϴ�.  �� �ʵ�� ���õ� ��� ���� ���� ��Դϴ�. �� �ʵ带 ����� �������, �������� �ڷ� ��ư�� �����ñ� �ٶ��ϴ�. ���� ��� �����ϱ� ���ؼ��� �Ʒ��� ��ư�� ��������';
 $s_confirm_custom_field_deletion = 'Ŀ���� �ʵ�� ��� ���õ� ���� ���Ͻðڽ��ϱ�?';
diff -Naurb epia_old/lang/strings_latvian.txt epia/lang/strings_latvian.txt
--- epia_old/lang/strings_latvian.txt	2004-05-10 20:11:31.000000000 +0200
+++ epia/lang/strings_latvian.txt	2004-07-05 19:57:25.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = 'Max. garums';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sec�ba(n.p.k)';
-$s_custom_field_type_enum_string = '0:Teksts,1:Skaitlis,2:Float,3:Enumeration,4:E-pasts';
+$s_custom_field_type_enum_string = '0:Teksts,1:Skaitlis,2:Float,3:Enumeration,4:E-pasts,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = '�is lauks ir saist�ts ar vismaz vienu projektu.  Ja turpin�siet, visas v�rt�bas tiks izdz�stas.  �� darb�ba ir neatce�ama.  Lai atliktu, spiediet atgriezieties uz iepriek��jo lapu.';
 $s_confirm_custom_field_deletion = 'Vai esat p�rliecin�ti ka j�d��� Custum lauks un visas ar to saist�t�s v�rt�bas?';
diff -Naurb epia_old/lang/strings_lithuanian.txt epia/lang/strings_lithuanian.txt
--- epia_old/lang/strings_lithuanian.txt	2004-05-10 20:11:26.000000000 +0200
+++ epia/lang/strings_lithuanian.txt	2004-07-05 19:57:30.000000000 +0200
@@ -911,7 +911,7 @@
 $s_custom_field_length_max = 'Maks. ilgis';
 $s_custom_field_advanced = 'Papildomas';
 $s_custom_field_sequence = 'Eil�s tvarka';
-$s_custom_field_type_enum_string = '0:Eilut�,1:Sveikasis skai�ius,2:Realusis skai�ius,3:S�ra�as,4:El.pa�tas';
+$s_custom_field_type_enum_string = '0:Eilut�,1:Sveikasis skai�ius,2:Realusis skai�ius,3:S�ra�as,4:El.pa�tas,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = '�is laukas susietas su bent vienu projektu.  Jei prat�site, visos �io lauko reik�m�s bus i�trintos.  Veiksmo nebus galima at�aukti.  Jeigu nenorite i�trinti �io lauko, paspauskite mygtuk� "Atgal" savo nar�ykl�je.  Jei norite t�sti, spauskite �� mygtuk�';
 $s_confirm_custom_field_deletion = 'Ar tikrai norite i�trinti �� papildom� lauk� ir visas susijusias reik�mes?';
diff -Naurb epia_old/lang/strings_norwegian.txt epia/lang/strings_norwegian.txt
--- epia_old/lang/strings_norwegian.txt	2004-05-10 20:11:20.000000000 +0200
+++ epia/lang/strings_norwegian.txt	2004-07-05 19:56:27.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = 'Maks. lengde';
 $s_custom_field_advanced = 'Avansert';
 $s_custom_field_sequence = 'Sekvens';
-$s_custom_field_type_enum_string = '0:Streng,1:Numerisk,2:Flyttall,3:Oppramsing,4:Email';
+$s_custom_field_type_enum_string = '0:Streng,1:Numerisk,2:Flyttall,3:Oppramsing,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Dette feltet brukes n� av minst ett annet prosjekt.  Hvis du fortsetter vil alle verdier for dette feltet bli sletta.  Det er ikke mulig � g� tilbake p� dette valget.  Hvis du ikke vil slette dette feltet, trykk Tilbake-knappen i vevleseren din.  For � fortsette, trykk knappen under.';
 $s_confirm_custom_field_deletion = 'Er du sikker p� at du vil slette dette feltet og alle dets tilkoblede verdier?';
diff -Naurb epia_old/lang/strings_polish.txt epia/lang/strings_polish.txt
--- epia_old/lang/strings_polish.txt	2004-05-10 20:11:16.000000000 +0200
+++ epia/lang/strings_polish.txt	2004-07-05 19:56:46.000000000 +0200
@@ -900,7 +900,7 @@
 $s_custom_field_length_max = 'Maks. d�ugo��';
 $s_custom_field_advanced = 'Zaawansowane';
 $s_custom_field_sequence = 'Sekwencja';
-$s_custom_field_type_enum_string = '0:�a�cuch znak�w,1:Liczba ca�kowita,2:Liczba zmiennoprzecinkowa,3:Wyliczenie,4:Email';
+$s_custom_field_type_enum_string = '0:�a�cuch znak�w,1:Liczba ca�kowita,2:Liczba zmiennoprzecinkowa,3:Wyliczenie,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'To pole jest aktualnie po��czone z co najmniej jednym projektem.  Je�eli go usunuesz, wszystkie warto�ci zostan� skasowane. Nie b�dzie te� mo�liwo�ci odzyskania danych.  Je�eli nie chcesz usun�� tego pola, kliknij Wstecz w przegl�darce.  By kontynuowa�, kliknij przycik poni�ej';
 $s_confirm_custom_field_deletion = 'Czy jeste� pewien, �e chcesz usun�� to dodatkowe pole i wszystkie powi�zane z nim warto�ci?';
diff -Naurb epia_old/lang/strings_portuguese_brazil.txt epia/lang/strings_portuguese_brazil.txt
--- epia_old/lang/strings_portuguese_brazil.txt	2004-05-10 20:11:12.000000000 +0200
+++ epia/lang/strings_portuguese_brazil.txt	2004-07-05 19:56:23.000000000 +0200
@@ -900,7 +900,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_portuguese_standard.txt epia/lang/strings_portuguese_standard.txt
--- epia_old/lang/strings_portuguese_standard.txt	2004-05-10 20:11:07.000000000 +0200
+++ epia/lang/strings_portuguese_standard.txt	2004-07-05 19:56:20.000000000 +0200
@@ -900,7 +900,7 @@
 $s_custom_field_length_max = 'Comprimento M�ximo';
 $s_custom_field_advanced = 'Avan�ado ?';
 $s_custom_field_sequence = 'Sequ�ncia';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_romanian.txt epia/lang/strings_romanian.txt
--- epia_old/lang/strings_romanian.txt	2004-05-10 20:12:31.000000000 +0200
+++ epia/lang/strings_romanian.txt	2004-07-05 19:56:11.000000000 +0200
@@ -899,7 +899,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_russian.txt epia/lang/strings_russian.txt
--- epia_old/lang/strings_russian.txt	2004-05-10 20:12:35.000000000 +0200
+++ epia/lang/strings_russian.txt	2004-07-05 19:56:15.000000000 +0200
@@ -900,7 +900,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_russian_koi8.txt epia/lang/strings_russian_koi8.txt
--- epia_old/lang/strings_russian_koi8.txt	2004-05-10 20:12:38.000000000 +0200
+++ epia/lang/strings_russian_koi8.txt	2004-07-05 19:56:07.000000000 +0200
@@ -899,7 +899,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_serbian.txt epia/lang/strings_serbian.txt
--- epia_old/lang/strings_serbian.txt	2004-05-10 20:12:41.000000000 +0200
+++ epia/lang/strings_serbian.txt	2004-07-05 19:55:59.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = 'Max. duzina';
 $s_custom_field_advanced = 'napredne opcije';
 $s_custom_field_sequence = 'sekvenca';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Ovo polje je trenutno povezano sa bar jednim projektom.  Ukoliko nastavite, sve vrednosti ovog polja ce permanentno biti izbrisane.  Ovo je nepovratna akcija.  Ako ne .elite da izbri.ete ovo polje kliknite na "Back" polje u va.em internet pretra.ivacu. Da bi ste nastavili kliknite na dugme ispod.';
 $s_confirm_custom_field_deletion = 'Da li ste sigurni da .elite da izbrisete ovo korisnicko polje i sve njemu pridru.ene vrednosti?';
diff -Naurb epia_old/lang/strings_slovak.txt epia/lang/strings_slovak.txt
--- epia_old/lang/strings_slovak.txt	2004-05-10 20:12:44.000000000 +0200
+++ epia/lang/strings_slovak.txt	2004-07-05 19:55:55.000000000 +0200
@@ -901,7 +901,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/lang/strings_spanish.txt epia/lang/strings_spanish.txt
--- epia_old/lang/strings_spanish.txt	2004-05-10 20:12:48.000000000 +0200
+++ epia/lang/strings_spanish.txt	2004-07-05 19:55:51.000000000 +0200
@@ -903,7 +903,7 @@
 $s_custom_field_length_max = 'Long. M�xima';
 $s_custom_field_advanced = 'Avanzado';
 $s_custom_field_sequence = 'Secuencia';
-$s_custom_field_type_enum_string = '0:Cadena,1:Num�rico,2:Flotante,3:Enumeraci�n,4:Email';
+$s_custom_field_type_enum_string = '0:Cadena,1:Num�rico,2:Flotante,3:Enumeraci�n,4:Email,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Este campo est� vinculado a al menos un proyecto.  Si contin�a todos los valores para este campo ser�n borrados permanentemente.  Esta acci�n no puede volverse atr�s.  Si no desea eliminar el campo, haga click sobre el bot�n Atr�s de su navegador.  Para proceder, haga click sobre el bot�n que aparece abajo';
 $s_confirm_custom_field_deletion = '�Seguro que desea eliminar este campo y todos los valores asociados?';
diff -Naurb epia_old/lang/strings_swedish.txt epia/lang/strings_swedish.txt
--- epia_old/lang/strings_swedish.txt	2004-05-10 20:12:54.000000000 +0200
+++ epia/lang/strings_swedish.txt	2004-07-05 19:55:47.000000000 +0200
@@ -899,7 +899,7 @@
 $s_custom_field_length_max = 'Max. l�ngd';
 $s_custom_field_advanced = 'Avancerad';
 $s_custom_field_sequence = 'Serie';
-$s_custom_field_type_enum_string = '0:Str�ng,1:Numerisk,2:Flyttal,3:Uppr�kning,4:Epost';
+$s_custom_field_type_enum_string = '0:Str�ng,1:Numerisk,2:Flyttal,3:Uppr�kning,4:Epost,5:Multiple Select';
 
 $s_confirm_used_custom_field_deletion = 'Detta f�lt �r f�r n�rvarande l�nkat till �tminstone ett projekt.  Om du forts�tter kommer alla v�rden f�r dett f�lt att tas bort permanent.  Denna �tg�rd kan inte �ngras.  Om du inte vill ta bort detta f�lt, tryck Back i din bl�ddrare.  F�r att forts�tta, tryck p� knappen nedan';
 $s_confirm_custom_field_deletion = '�r du s�ker p� att du vill ta bort detta skr�ddarsydda f�lt och alla aAre you sure you want to delete this custom field and all associerade v�rden?';
diff -Naurb epia_old/lang/strings_turkish.txt epia/lang/strings_turkish.txt
--- epia_old/lang/strings_turkish.txt	2004-05-10 20:12:57.000000000 +0200
+++ epia/lang/strings_turkish.txt	2004-07-05 19:56:04.000000000 +0200
@@ -900,7 +900,7 @@
 $s_custom_field_length_max = 'Max. Length';
 $s_custom_field_advanced = 'Advanced';
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Multiple Select';
 
 $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?';
diff -Naurb epia_old/print_all_bug_page_word.php epia/print_all_bug_page_word.php
--- epia_old/print_all_bug_page_word.php	2004-02-05 02:34:38.000000000 +0100
+++ epia/print_all_bug_page_word.php	2004-07-05 18:32:38.000000000 +0200
@@ -287,7 +287,15 @@
 	</td>
 	<td class="print" colspan="5">
 		<?php
-			echo custom_field_get_value( $t_id, $v_id );
+			$t_custom_field_value = custom_field_get_value( $t_id, $v_id );
+			switch ($t_def['type']) {
+			case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+				echo str_replace( "|", ",", $t_custom_field_value );
+				break;
+			default:
+				echo $t_custom_field_value;
+				break;
+			}
 		?>
 	</td>
 </tr>
diff -Naurb epia_old/print_bug_page.php epia/print_bug_page.php
--- epia_old/print_bug_page.php	2004-02-05 14:15:18.000000000 +0100
+++ epia/print_bug_page.php	2004-07-05 18:33:00.000000000 +0200
@@ -233,7 +233,15 @@
 	</td>
 	<td class="print" colspan="4">
 		<?php
-			echo custom_field_get_value( $t_id, $f_bug_id );
+			$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
+			switch ($t_def['type']) {
+			case CUSTOM_FIELD_TYPE_MULTIPLE_ENUM:
+				echo str_replace( "|", ",", $t_custom_field_value );
+				break;
+			default:
+				echo $t_custom_field_value;
+				break;
+			}
 		?>
 	</td>
 </tr>
multiple_select.diff (40,776 bytes)   
multiple_select.jpg (45,887 bytes)   
multiple_select.jpg (45,887 bytes)   
custom_field_enum_0_19_0a1.diff (49,657 bytes)   
diff -Naurb mantis-0.19.0a1/bug_close.php mantis-0.19.0a1-arbeitskopie/bug_close.php
--- mantis-0.19.0a1/bug_close.php	2004-06-26 16:05:40.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_close.php	2004-07-11 17:44:28.000000000 +0200
@@ -31,11 +31,11 @@
 	$t_related_custom_field_ids = custom_field_get_linked_ids( $t_bug_data->project_id );
 	foreach( $t_related_custom_field_ids as $t_id ) {
 		$t_def = custom_field_get_definition( $t_id );
-		if ( $t_def['require_close'] && ( gpc_get_string( "custom_field_$t_id", '' ) == '' ) ) {
+		if ( $t_def['require_close'] && ( gpc_get_custom_field( $t_id, $t_def['type'], '' ) == '' ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_EMPTY_FIELD, ERROR );
 		}
-		if ( !custom_field_validate( $t_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if ( !custom_field_validate( $t_id, gpc_get_custom_field( $t_id, $t_def['type'], $t_def['default_value'] ) ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
@@ -49,7 +49,7 @@
 		}
 
 		$t_def = custom_field_get_definition( $t_id );
-		if( !custom_field_set_value( $t_id, $f_bug_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if( !custom_field_set_value( $t_id, $f_bug_id, gpc_get_custom_field( $t_id, $t_def['type'], $t_def['default_value'] ) ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
diff -Naurb mantis-0.19.0a1/bug_close_page.php mantis-0.19.0a1-arbeitskopie/bug_close_page.php
--- mantis-0.19.0a1/bug_close_page.php	2004-06-26 16:05:42.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_close_page.php	2004-07-11 17:36:04.000000000 +0200
@@ -66,10 +66,17 @@
 		<td>
 			<?php
 				$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-				if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+				switch ( $t_def['type'] ) {
+				case CUSTOM_FIELD_TYPE_EMAIL:
 					echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-				} else {
+					break;
+				case CUSTOM_FIELD_TYPE_LISTBOX:
+					$t_custom_field_value_output = implode(', ', explode ('|', $t_custom_field_value ) );
+					echo $t_custom_field_value_output;
+					break;
+				default:
 					echo $t_custom_field_value;
+					break;
 				}
 			?>
 		</td>
diff -Naurb mantis-0.19.0a1/bug_report.php mantis-0.19.0a1-arbeitskopie/bug_report.php
--- mantis-0.19.0a1/bug_report.php	2004-06-26 16:05:42.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_report.php	2004-07-11 18:07:32.000000000 +0200
@@ -84,11 +84,11 @@
 	$t_related_custom_field_ids = custom_field_get_linked_ids( $f_project_id );
 	foreach( $t_related_custom_field_ids as $t_id ) {
 		$t_def = custom_field_get_definition( $t_id );
-		if ( $t_def['require_report'] && ( gpc_get_string( "custom_field_$t_id", '' ) == '' ) ) {
+		if ( $t_def['require_report'] && ( gpc_get_custom_field( $t_id, $t_def['type'], '' ) == '' ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_EMPTY_FIELD, ERROR );
 		}
-		if ( !custom_field_validate( $t_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if ( !custom_field_validate( $t_id, gpc_get_custom_field( $t_id, $t_def['type'], $t_def['default_value'] ) ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
@@ -123,7 +123,7 @@
 		}
 
 		$t_def = custom_field_get_definition( $t_id );
-		if( !custom_field_set_value( $t_id, $t_bug_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if( !custom_field_set_value( $t_id, $t_bug_id, gpc_get_custom_field ( $t_id, $t_def['type'], $t_def['default_value'] ) ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
diff -Naurb mantis-0.19.0a1/bug_resolve.php mantis-0.19.0a1-arbeitskopie/bug_resolve.php
--- mantis-0.19.0a1/bug_resolve.php	2004-06-26 16:05:42.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_resolve.php	2004-07-11 17:45:25.000000000 +0200
@@ -41,11 +41,11 @@
 	$t_related_custom_field_ids = custom_field_get_linked_ids( $t_bug_data->project_id );
 	foreach( $t_related_custom_field_ids as $t_id ) {
 		$t_def = custom_field_get_definition( $t_id );
-		if ( $t_def['require_resolve'] && ( gpc_get_string( "custom_field_$t_id", '' ) == '' ) ) {
+		if ( $t_def['require_resolve'] && ( gpc_get_custom_field( $t_id, $t_def['type'], '' ) == '' ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_EMPTY_FIELD, ERROR );
 		}
-		if ( !custom_field_validate( $t_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if ( !custom_field_validate( $t_id, gpc_get_custom_field( $t_id, $t_def['type'], $t_def['default_value'] ) ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
@@ -59,7 +59,7 @@
 		}
 
 		$t_def = custom_field_get_definition( $t_id );
-		if( !custom_field_set_value( $t_id, $f_bug_id, gpc_get_string( "custom_field_$t_id", $t_def['default_value'] ) ) ) {
+		if( !custom_field_set_value( $t_id, $f_bug_id, gpc_get_custom_field( $t_id, $t_def['type'], $t_def['default_value'] ) ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR );
 		}
diff -Naurb mantis-0.19.0a1/bug_resolve_page.php mantis-0.19.0a1-arbeitskopie/bug_resolve_page.php
--- mantis-0.19.0a1/bug_resolve_page.php	2004-06-26 16:05:42.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_resolve_page.php	2004-07-11 17:41:45.000000000 +0200
@@ -95,9 +95,15 @@
 		<td>
 			<?php
 				$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-				if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+				switch ($t_def['type']) {
+				case CUSTOM_FIELD_TYPE_EMAIL:
 					echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-				} else {
+					break;
+				case CUSTOM_FIELD_TYPE_LISTBOX:
+					$t_custom_field_value_output = implode( ', ', explode( '|', $t_custom_field_value ) );
+					echo $t_custom_field_value_output;
+					break;
+				default:
 					echo $t_custom_field_value;
 				}
 			?>
diff -Naurb mantis-0.19.0a1/bug_update.php mantis-0.19.0a1-arbeitskopie/bug_update.php
--- mantis-0.19.0a1/bug_update.php	2004-06-26 16:05:42.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_update.php	2004-07-11 17:46:19.000000000 +0200
@@ -65,7 +65,8 @@
 
 	$t_related_custom_field_ids = custom_field_get_linked_ids( $t_bug_data->project_id );
 	foreach( $t_related_custom_field_ids as $t_id ) {
-		$t_custom_field_value = gpc_get_string( "custom_field_$t_id", null );
+		$t_def = custom_field_get_definition( $t_id );
+		$t_custom_field_value = gpc_get_custom_field( $t_id, $t_def['type'], null );
 
 		# Only update the field if it is posted
 		if ( $t_custom_field_value === null ) {
@@ -77,8 +78,7 @@
 			continue;
 		}
 
-		$t_def = custom_field_get_definition( $t_id );
-		if ( $t_def['require_update'] && ( gpc_get_string( "custom_field_$t_id", '' ) == '' ) ) {
+		if ( $t_def['require_update'] && ( gpc_get_custom_field( $t_id, $t_def['type'], '' ) == '' ) ) {
 			error_parameters( lang_get_defaulted( custom_field_get_field( $t_id, 'name' ) ) );
 			trigger_error( ERROR_EMPTY_FIELD, ERROR );
 		}
diff -Naurb mantis-0.19.0a1/bug_view_advanced_page.php mantis-0.19.0a1-arbeitskopie/bug_view_advanced_page.php
--- mantis-0.19.0a1/bug_view_advanced_page.php	2004-05-24 14:23:18.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_view_advanced_page.php	2004-07-11 17:54:43.000000000 +0200
@@ -389,10 +389,17 @@
 		<td colspan="5">
 		<?php
 			$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-			if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+			switch ( $t_def['type'] ) {
+			case CUSTOM_FIELD_TYPE_EMAIL:
 				echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-			} else {
+				break;
+			case CUSTOM_FIELD_TYPE_LISTBOX:
+				$t_custom_field_value_output = implode( ', ', explode ('|', $t_custom_field_value ) );
+				echo $t_custom_field_value_output;
+				break;
+			default:
 				echo $t_custom_field_value;
+				break;
 			}
 		?>
 		</td>
diff -Naurb mantis-0.19.0a1/bug_view_page.php mantis-0.19.0a1-arbeitskopie/bug_view_page.php
--- mantis-0.19.0a1/bug_view_page.php	2004-06-29 10:23:04.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/bug_view_page.php	2004-07-11 18:05:31.000000000 +0200
@@ -295,10 +295,17 @@
 		<td colspan="5">
 			<?php
 				$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
-				if( CUSTOM_FIELD_TYPE_EMAIL == $t_def['type'] ) {
+				switch ( $t_def['type'] ) {
+				case CUSTOM_FIELD_TYPE_EMAIL:
 					echo "<a href=\"mailto:$t_custom_field_value\">$t_custom_field_value</a>";
-				} else {
+					break;
+				case CUSTOM_FIELD_TYPE_LISTBOX:
+					$t_custom_field_value_output = implode( ', ', explode ('|', $t_custom_field_value ) );
+					echo $t_custom_field_value_output;
+					break;
+				default:
 					echo $t_custom_field_value;
+					break;
 				}
 			?>
 		</td>
diff -Naurb mantis-0.19.0a1/config_defaults_inc.php mantis-0.19.0a1-arbeitskopie/config_defaults_inc.php
--- mantis-0.19.0a1/config_defaults_inc.php	2004-07-07 14:50:16.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/config_defaults_inc.php	2004-07-11 18:43:26.000000000 +0200
@@ -967,7 +967,7 @@
 	$g_projection_enum_string			= '10:none,30:tweak,50:minor fix,70:major rework,90:redesign';
 	$g_eta_enum_string					= '10:none,20:< 1 day,30:2-3 days,40:< 1 week,50:< 1 month,60:> 1 month';
 
-	$g_custom_field_type_enum_string    = '0:string,1:numeric,2:float,3:enum,4:email';
+	$g_custom_field_type_enum_string    = '0:string,1:numeric,2:float,3:enum,4:email,5:listbox';
 
 	#############################
 	# Mantis Javascript Variables
diff -Naurb mantis-0.19.0a1/core/constant_inc.php mantis-0.19.0a1-arbeitskopie/core/constant_inc.php
--- mantis-0.19.0a1/core/constant_inc.php	2004-06-08 08:47:12.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/core/constant_inc.php	2004-07-11 16:21:00.000000000 +0200
@@ -251,6 +251,7 @@
 	define( 'CUSTOM_FIELD_TYPE_FLOAT',    2 );
 	define( 'CUSTOM_FIELD_TYPE_ENUM',     3 );
 	define( 'CUSTOM_FIELD_TYPE_EMAIL',    4 );
+	define( 'CUSTOM_FIELD_TYPE_LISTBOX',  5 );
 
 	# Meta filter values
 	define( 'META_FILTER_MYSELF',	-1 );
diff -Naurb mantis-0.19.0a1/core/custom_field_api.php mantis-0.19.0a1-arbeitskopie/core/custom_field_api.php
--- mantis-0.19.0a1/core/custom_field_api.php	2004-06-26 16:06:14.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/core/custom_field_api.php	2004-07-11 19:00:35.000000000 +0200
@@ -854,13 +854,16 @@
 		$row = db_fetch_array( $result );
 
 		# If an enumeration type, we get all possible values, not just used values
-		if ( CUSTOM_FIELD_TYPE_ENUM == $row['type'] ) {
+		switch ( $row['type'] ) {
+		case CUSTOM_FIELD_TYPE_ENUM:
+		case CUSTOM_FIELD_TYPE_LISTBOX:
 			$t_values_arr = explode( '|', $row['possible_values'] );
 
 			foreach( $t_values_arr as $t_option ) {
 				array_push( $t_return_arr, $t_option );
 			}
-		} else {
+			break;
+		default:
 			$t_where = '';
 			$t_from = $t_custom_field_string_table;
 			if ( ALL_PROJECTS != $p_project_id ) {
@@ -883,6 +886,7 @@
 					array_push( $t_return_arr, $row['value'] );
 				}
 			}
+			break;
 		}
 		return $t_return_arr;
 	}
@@ -1030,6 +1034,28 @@
 			}
 			PRINT '</select>';
 			break;
+		case CUSTOM_FIELD_TYPE_LISTBOX:
+			$t_selected_values = explode( '|', $t_custom_field_value );
+			$t_values = explode('|', $p_field_def['possible_values']);
+			$t_size = min( 10, count( $values ) );
+			PRINT "<select name=\"custom_field_$t_id"."[]\" multiple=\"multiple\" size=\"$t_size\">";
+			foreach( $t_values as $t_option ) {
+				$t_isset = 0;
+				foreach ( $t_selected_values as $t_sv ) {
+					if( $t_option == $t_sv ) {
+						$t_isset = 1;
+						break;
+					}
+				}
+				
+				if( $t_isset == 1  ) {
+					PRINT "<option value=\"$t_option\" selected>$t_option</option>";
+				} else {
+					PRINT "<option value=\"$t_option\">$t_option</option>";
+				}
+			}
+			PRINT '</select>';
+			break;
 		case CUSTOM_FIELD_TYPE_NUMERIC:
 		case CUSTOM_FIELD_TYPE_FLOAT:
 		case CUSTOM_FIELD_TYPE_EMAIL:
diff -Naurb mantis-0.19.0a1/core/email_api.php mantis-0.19.0a1-arbeitskopie/core/email_api.php
--- mantis-0.19.0a1/core/email_api.php	2004-05-26 05:54:28.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/core/email_api.php	2004-07-11 18:04:23.000000000 +0200
@@ -741,10 +741,17 @@
 
 			$t_message .= str_pad( lang_get_defaulted( $t_custom_field_name ) . ': ', $t_email_padding_length, ' ', STR_PAD_RIGHT );
 
-			if ( CUSTOM_FIELD_TYPE_EMAIL === $t_custom_field_data['type'] ) {
+			switch ( $t_custom_field_data['type'] ) {
+			case CUSTOM_FIELD_TYPE_EMAIL:
 				$t_message .= 'mailto:'.$t_custom_field_data['value'];
-			} else {
+				break;
+			case CUSTOM_FIELD_TYPE_LISTBOX:
+				$t_custom_field_value_output = implode( ', ', explode ('|', $t_custom_field_data['value'] ) );
+				$t_message .=  $t_custom_field_value_output;
+				break;
+			default:
 				$t_message .= $t_custom_field_data['value'];
+				break;
 			}
 			$t_message .= "\n";
 		} # end foreach custom field
diff -Naurb mantis-0.19.0a1/core/filter_api.php mantis-0.19.0a1-arbeitskopie/core/filter_api.php
--- mantis-0.19.0a1/core/filter_api.php	2004-06-29 08:38:36.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/core/filter_api.php	2004-07-11 19:18:46.000000000 +0200
@@ -342,6 +346,7 @@
 			foreach( $t_custom_fields as $t_cfid ) {
 			$t_first_time = true;
 			$t_custom_where_clause = '';
+				
 				# Ignore all custom filters that are not set, or that are set to '' or "any"
 				$t_any_found = false;
 				foreach( $t_filter['custom_fields'][$t_cfid] as $t_filter_member ) {
@@ -353,6 +358,7 @@
 					$t_any_found = true;
 				}
 				if ( !$t_any_found ) {
+					$t_def = custom_field_get_definition ( $t_cfid );
 					$t_table_name = $t_custom_field_string_table . '_' . $t_cfid;
 					array_push( $t_join_clauses, "LEFT JOIN $t_custom_field_string_table as $t_table_name ON $t_table_name.bug_id = $t_bug_table.id" );
 					foreach( $t_filter['custom_fields'][$t_cfid] as $t_filter_member ) {
@@ -367,8 +373,20 @@
 								$t_custom_where_clause .= ' OR ';
 							}
 
-							$t_custom_where_clause .= "(  $t_table_name.field_id = $t_cfid AND $t_table_name.value = '";
-							$t_custom_where_clause .= db_prepare_string( trim( $t_filter_member ) )  . "' )";
+							$t_custom_where_clause .= "(  $t_table_name.field_id = $t_cfid AND ";
+							$t_custom_where_clause .= "$t_table_name.value ";
+							switch ( $t_def['type'] ) {
+							case CUSTOM_FIELD_TYPE_LISTBOX:
+								$t_custom_where_clause .= "LIKE '%";
+								$t_custom_where_clause_closing = "%' )";
+								break;
+							default:
+								$t_custom_where_clause .= "= '";
+								$t_custom_where_clause_closing = "' )";
+								break;
+							}
+							$t_custom_where_clause .= db_prepare_string( trim( $t_filter_member ) );
+							$t_custom_where_clause .= $t_custom_where_clause_closing;
 						}
 					}
 					if ( !is_blank( $t_custom_where_clause ) ) {
diff -Naurb mantis-0.19.0a1/core/gpc_api.php mantis-0.19.0a1-arbeitskopie/core/gpc_api.php
--- mantis-0.19.0a1/core/gpc_api.php	2004-06-30 00:29:14.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/core/gpc_api.php	2004-07-11 19:00:04.000000000 +0200
@@ -88,6 +88,35 @@
 	}
 
 	#===================================
+	# Custom Field Functions
+	#===================================
+
+	# -----------------
+	# Retrieve a custom field GPC variable. Uses gpc_get_xxx().
+	#  If you pass in *no* default, an error will be triggered if
+	#  the variable does not exist
+	#  Depending on the type of the custom field, the according
+	#  gpc_get_xxx() - Routine is selected
+	function gpc_get_custom_field( $p_custom_field_id, $p_custom_field_type, $p_default = null ) {
+		# Don't pass along a default unless one was given to us
+		#  otherwise we prevent an error being triggered
+		$args = func_get_args();
+		$args[0] = 'custom_field_'.$args[0];
+		unset( $args[1] ); 
+		
+		switch ( $p_custom_field_type )  {
+		case CUSTOM_FIELD_TYPE_LISTBOX:
+			$t_result = implode( '|', call_user_func_array( 'gpc_get_string_array', $args ) );
+			break;
+		default:
+			$t_result = call_user_func_array( 'gpc_get_string', $args );
+			break;
+		}
+		
+		return $t_result;
+	}
+
+	#===================================
 	# Array Functions
 	#===================================
 
diff -Naurb mantis-0.19.0a1/lang/strings_chinese_simplified.txt mantis-0.19.0a1-arbeitskopie/lang/strings_chinese_simplified.txt
--- mantis-0.19.0a1/lang/strings_chinese_simplified.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_chinese_simplified.txt	2004-07-11 18:46:58.000000000 +0200
@@ -938,7 +938,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = '˳��';
-$s_custom_field_type_enum_string = '0:�ַ���,1:�ֵ,2:�����,3:ö�����,4:Email';
+$s_custom_field_type_enum_string = '0:�ַ���,1:�ֵ,2:�����,3:ö�����,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = '��ǰ�����һ����Ŀ���ӵ������ֶΣ�����������ֶε����ֵ���������ɾ����ɾ������޷��ָ������㲻��ɾ�����ֶΣ��������ġ����ˡ���ť��������İ�ť���ɾ����';
 $s_confirm_custom_field_deletion = '��ȷ��Ҫɾ�����Զ����ֶκ����������ֵ��';
diff -Naurb mantis-0.19.0a1/lang/strings_chinese_traditional.txt mantis-0.19.0a1-arbeitskopie/lang/strings_chinese_traditional.txt
--- mantis-0.19.0a1/lang/strings_chinese_traditional.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_chinese_traditional.txt	2004-07-11 18:47:04.000000000 +0200
@@ -934,7 +934,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_croatian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_croatian.txt
--- mantis-0.19.0a1/lang/strings_croatian.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_croatian.txt	2004-07-11 18:47:10.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_czech.txt mantis-0.19.0a1-arbeitskopie/lang/strings_czech.txt
--- mantis-0.19.0a1/lang/strings_czech.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_czech.txt	2004-07-11 18:47:13.000000000 +0200
@@ -941,7 +941,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Po�ad�';
-$s_custom_field_type_enum_string = '0:Text,1:Cel� ��slo,2:Re�ln� ��slo,3:V�raz,4:Email';
+$s_custom_field_type_enum_string = '0:Text,1:Cel� ��slo,2:Re�ln� ��slo,3:V�raz,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Toto pole je moment�ln� propojen alespo� k jednomu projektu. Budete-li pokra�ovat, v�echny hodnoty tohot pole budou trvale zni�eny. Tato akce nem��e b�t vr�cena. Nep�ejete-li si zru�it toto pole, stizkn�te tla��tko "Zp�t" va�eho prohl�e�e.  Pokra�ovat m��ete tla��tkem n�e';
 $s_confirm_custom_field_deletion = 'Opravdu si p�ejete zru�it toto u�ivatelsk� pole a v�echny k n�mu n�le�ej�c� hodnoty?';
diff -Naurb mantis-0.19.0a1/lang/strings_danish.txt mantis-0.19.0a1-arbeitskopie/lang/strings_danish.txt
--- mantis-0.19.0a1/lang/strings_danish.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_danish.txt	2004-07-11 18:47:17.000000000 +0200
@@ -934,7 +934,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sekvens';
-$s_custom_field_type_enum_string = '0:Streng,1:Nummerisk,2:Kommatal,3:Opt�lling,4:E-mail';
+$s_custom_field_type_enum_string = '0:Streng,1:Nummerisk,2:Kommatal,3:Opt�lling,4:E-mail,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Dette felt er i �jeblikket knyttet til mindst et projekt.  Hvis du forts�tter vil alle v�rdier for dette felt blive slette permanent.  Denne handling kan ikke fortrydes.  Hvis du ikke �nsker at slette dette felt, klik p� Tilbage knappen i din browser.  Klik p� knappen herunder for at forts�tte.';
 $s_confirm_custom_field_deletion = '�nsker du at slette dette brugerdefinerede felt og alle tilknyttede v�rdier?';
diff -Naurb mantis-0.19.0a1/lang/strings_dutch.txt mantis-0.19.0a1-arbeitskopie/lang/strings_dutch.txt
--- mantis-0.19.0a1/lang/strings_dutch.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_dutch.txt	2004-07-11 18:47:20.000000000 +0200
@@ -937,7 +937,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Rij';
-$s_custom_field_type_enum_string = '0:String,1:Numeriek,2:Drijvende komma,3:Enumeratie,4:E-mail';
+$s_custom_field_type_enum_string = '0:String,1:Numeriek,2:Drijvende komma,3:Enumeratie,4:E-mail,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Op dit moment is dit veld verbonden met tenminste ��n project.  Als u doorgaat zullen alle waarden voor dit veld permanent verwijderd worden.  Deze actie kan niet ongedaan worden gemaakt.  Als u dit veld niet wilt verwijderen, druk dan op de Vorige toets in uw browser.  Druk om door te gaan op onderstaande button.';
 $s_confirm_custom_field_deletion = 'Weet u zeker dat u dit gebruikersveld en alle bijbehorende waarden wilt verwijderen?';
diff -Naurb mantis-0.19.0a1/lang/strings_english.txt mantis-0.19.0a1-arbeitskopie/lang/strings_english.txt
--- mantis-0.19.0a1/lang/strings_english.txt	2004-06-28 12:13:24.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_english.txt	2004-07-11 18:47:24.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_estonian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_estonian.txt
--- mantis-0.19.0a1/lang/strings_estonian.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_estonian.txt	2004-07-11 18:47:27.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Jada';
-$s_custom_field_type_enum_string = '0:String,1:Numbriline,2:Ujuv,3:Nummerdus,4:E-mail';
+$s_custom_field_type_enum_string = '0:String,1:Numbriline,2:Ujuv,3:Nummerdus,4:E-mail,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Antud v�li on seotud v�hemalt �he projektiga. Kui j�tkad, kustutatakse j��davalt k�ik sellel v�ljal olevad v��rtused. Seda toimingut pole v�imalik tagasi v�tta. Kui Sa ei soovi seda v�lja kustutada, vajuta oma brauseri Back-nuppu. J�tkamiseks vajuta allolevat nuppu';
 $s_confirm_custom_field_deletion = 'Oled kindel, et soovid kustutada selle v�lja ja k�ik sellega seonduvad v��rtused?';
diff -Naurb mantis-0.19.0a1/lang/strings_finnish.txt mantis-0.19.0a1-arbeitskopie/lang/strings_finnish.txt
--- mantis-0.19.0a1/lang/strings_finnish.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_finnish.txt	2004-07-11 18:47:32.000000000 +0200
@@ -937,7 +937,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'J�rjestys';
-$s_custom_field_type_enum_string = '0:Merkkijono,1:Numerojono,2:Liukuluku,3:Numeroitu,4:S�hk�postiosoite';
+$s_custom_field_type_enum_string = '0:Merkkijono,1:Numerojono,2:Liukuluku,3:Numeroitu,4:S�hk�postiosoite,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'T�m� kentt� on liitetty ainakin yhteen projektiin.  Jos jatkat, kaikki t�h�n kentt��n liitetyt arvot poistetaan. T�t� komentoa ei voida j�lkeenp�in kumota.  Jos et halua poistaa t�t� kentt��, paina selaimesi Takaisin-painiketta.  Jatkaaksesi, paina allaolevaa painiketta';
 $s_confirm_custom_field_deletion = 'Oletko varma, ett� haluat poistaa t�m�n mukautetun kent�n ja kaikki siihe liitetyt arvot?';
diff -Naurb mantis-0.19.0a1/lang/strings_french.txt mantis-0.19.0a1-arbeitskopie/lang/strings_french.txt
--- mantis-0.19.0a1/lang/strings_french.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_french.txt	2004-07-11 18:47:37.000000000 +0200
@@ -941,7 +941,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Suite';
-$s_custom_field_type_enum_string = '0:Cha�ne,1:Entier,2:D�cimal,3:Enum�ration,4:Email';
+$s_custom_field_type_enum_string = '0:Cha�ne,1:Entier,2:D�cimal,3:Enum�ration,4:Email,5:Listbox';
 
 $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 = 'Etes vous s�r de vouloir supprimer ce champ personnalis� et toutes les valeurs associ�es ?';
diff -Naurb mantis-0.19.0a1/lang/strings_german.txt mantis-0.19.0a1-arbeitskopie/lang/strings_german.txt
--- mantis-0.19.0a1/lang/strings_german.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_german.txt	2004-07-11 18:47:41.000000000 +0200
@@ -939,7 +939,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Reihenfolge';
-$s_custom_field_type_enum_string = '0:Text,1:Zahlen,2:Gleitkomma Zahlen,3:Aufz�hlung,4:Email';
+$s_custom_field_type_enum_string = '0:Text,1:Zahlen,2:Gleitkomma Zahlen,3:Aufz�hlung,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Dieses Feld wird derzeit von mindestens einem Projekt verwendet. Wenn Sie fortfahren, werden alle Werte f�r dieses Feld dauerhaft   gel�scht. Dieser Vorgang kann nicht r�ckg�ngig gemacht werden. Um das Feld nicht zu l�schen, klicken Sie bitten den "Zur�ck"-Knopf  in Ihrem Web-Browser. Um fortzufahren, klicken Sie bitten den "Feld l�schen"-Knopf.';
 $s_confirm_custom_field_deletion = 'M�chten Sie dieses benutzerdefinierte Feld und alle zugeh�rigen Werte wirklich l�schen?';
diff -Naurb mantis-0.19.0a1/lang/strings_hungarian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_hungarian.txt
--- mantis-0.19.0a1/lang/strings_hungarian.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_hungarian.txt	2004-07-11 18:47:44.000000000 +0200
@@ -935,7 +935,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Folyatat�s';
-$s_custom_field_type_enum_string = '0:Sz�veg,1:Sz�m,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:Sz�veg,1:Sz�m,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'A Mez� legal�bb egy projekthez kell hogy tartozzon.  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 = 'Biztos akarja t�r�lni ezt a mez�t �s az �sszes hozz� tartoz� �rt�ket?';
diff -Naurb mantis-0.19.0a1/lang/strings_italian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_italian.txt
--- mantis-0.19.0a1/lang/strings_italian.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_italian.txt	2004-07-11 18:47:50.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = "Sequenza";
-$s_custom_field_type_enum_string = "0:Stringa,1:Numerico,2:Virgola mobile,3:Valori prestabiliti,4:Email";
+$s_custom_field_type_enum_string = "0:Stringa,1:Numerico,2:Virgola mobile,3:Valori prestabiliti,4:Email,5:Listbox";
 
 $s_confirm_used_custom_field_deletion = "Questo campo � attualmente utilizzato da almeno un progetto.  Se continui tutti i valori associati a questo campo verranno cancellati.  Si tratta di una azione non reversibile.  Se non desideri eliminare questo campo, clicca sul pulsante Indietro del tuo browser.  Per procedere, clicca sul pulsante qui sotto";
 $s_confirm_custom_field_deletion = "Sei sicuro di voler eliminare questo Campo Personalizzato e tutti i valori associati?";
diff -Naurb mantis-0.19.0a1/lang/strings_japanese_euc.txt mantis-0.19.0a1-arbeitskopie/lang/strings_japanese_euc.txt
--- mantis-0.19.0a1/lang/strings_japanese_euc.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_japanese_euc.txt	2004-07-11 18:47:53.000000000 +0200
@@ -935,7 +935,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = "ɽ����";
-$s_custom_field_type_enum_string = "0:String,1:Numeric,2:Float,3:Enumeration,4:Email";
+$s_custom_field_type_enum_string = "0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox";
 
 $s_confirm_used_custom_field_deletion = "���Υ���������ܤϡ�����1�İʾ�Υץ������Ȥǻ��Ѥ���Ƥ��ޤ����⤷³�Ԥ���ʤ�С����ι��ܤΤ��٤Ƥ��ͤϺ�����ޤ������������᤹���ȤϤǤ��ޤ��󡣺��������ʤ��ʤ顢�֥饦�������ܥ�����򤷤Ʋ�������³�Ԥ���ʤ顢���Υܥ���򥯥�å����Ʋ�������";
 $s_confirm_custom_field_deletion = "���Υ���������ܤȤ��٤Ƥ���ꤷ���ͤ�����Ƥ�����Ǥ�����";
diff -Naurb mantis-0.19.0a1/lang/strings_japanese_sjis.txt mantis-0.19.0a1-arbeitskopie/lang/strings_japanese_sjis.txt
--- mantis-0.19.0a1/lang/strings_japanese_sjis.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_japanese_sjis.txt	2004-07-11 18:47:57.000000000 +0200
@@ -935,7 +935,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = "�\����";
-$s_custom_field_type_enum_string = "0:String,1:Numeric,2:Float,3:Enumeration,4:Email";
+$s_custom_field_type_enum_string = "0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox";
 
 $s_confirm_used_custom_field_deletion = "���̃J�X�^�����ڂ́A����1�ˆȏ�̃v���W�F�N�g�Ŏg�p����Ă��܂��B�����s����Ȃ�΁A���̍��ڂ̂��ׂĂ̒l�͍폜����܂��B�폜������߂����Ƃ͂ł��܂���B�폜�������Ȃ��Ȃ�A�u���E�U�̖߂�{�^����I��ĉ������B���s����Ȃ�A���̃{�^����N���b�N���ĉ������B";
 $s_confirm_custom_field_deletion = "���̃J�X�^�����ڂƂ��ׂĂ̐ݒ肵���l��폜���Ă�낵���ł����B";
diff -Naurb mantis-0.19.0a1/lang/strings_korean.txt mantis-0.19.0a1-arbeitskopie/lang/strings_korean.txt
--- mantis-0.19.0a1/lang/strings_korean.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_korean.txt	2004-07-11 18:48:00.000000000 +0200
@@ -935,7 +935,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = '�����';
-$s_custom_field_type_enum_string = '0:����,1:����,2:�ε��,3:�����,4:�̸��';
+$s_custom_field_type_enum_string = '0:����,1:����,2:�ε��,3:�����,4:�̸��,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = '�� �ʵ�� ��� �ϳ��� ����Ʈ�� ��ũ�Ǿ� �ֽ��ϴ�.  �� �ʵ�� ���õ� ��� ���� ���� ��Դϴ�. �� �ʵ带 ����� �������, �������� �ڷ� ��ư�� �����ñ� �ٶ��ϴ�. ���� ��� �����ϱ� ���ؼ��� �Ʒ��� ��ư�� ��������';
 $s_confirm_custom_field_deletion = 'Ŀ���� �ʵ�� ��� ���õ� ���� ���Ͻðڽ��ϱ�?';
diff -Naurb mantis-0.19.0a1/lang/strings_latvian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_latvian.txt
--- mantis-0.19.0a1/lang/strings_latvian.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_latvian.txt	2004-07-11 18:48:03.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sec�ba(n.p.k)';
-$s_custom_field_type_enum_string = '0:Teksts,1:Skaitlis,2:Float,3:Enumeration,4:E-pasts';
+$s_custom_field_type_enum_string = '0:Teksts,1:Skaitlis,2:Float,3:Enumeration,4:E-pasts,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = '�is lauks ir saist�ts ar vismaz vienu projektu.  Ja turpin�siet, visas v�rt�bas tiks izdz�stas.  �� darb�ba ir neatce�ama.  Lai atliktu, spiediet atgriezieties uz iepriek��jo lapu.';
 $s_confirm_custom_field_deletion = 'Vai esat p�rliecin�ti ka j�d��� Custum lauks un visas ar to saist�t�s v�rt�bas?';
diff -Naurb mantis-0.19.0a1/lang/strings_lithuanian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_lithuanian.txt
--- mantis-0.19.0a1/lang/strings_lithuanian.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_lithuanian.txt	2004-07-11 18:48:07.000000000 +0200
@@ -946,7 +946,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Eil�s tvarka';
-$s_custom_field_type_enum_string = '0:Eilut�,1:Sveikasis skai�ius,2:Realusis skai�ius,3:S�ra�as,4:El.pa�tas';
+$s_custom_field_type_enum_string = '0:Eilut�,1:Sveikasis skai�ius,2:Realusis skai�ius,3:S�ra�as,4:El.pa�tas,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = '�is laukas susietas su bent vienu projektu.  Jei prat�site, visos �io lauko reik�m�s bus i�trintos.  Veiksmo nebus galima at�aukti.  Jeigu nenorite i�trinti �io lauko, paspauskite mygtuk� "Atgal" savo nar�ykl�je.  Jei norite t�sti, spauskite �� mygtuk�';
 $s_confirm_custom_field_deletion = 'Ar tikrai norite i�trinti �� papildom� lauk� ir visas susijusias reik�mes?';
diff -Naurb mantis-0.19.0a1/lang/strings_norwegian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_norwegian.txt
--- mantis-0.19.0a1/lang/strings_norwegian.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_norwegian.txt	2004-07-11 18:48:10.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sekvens';
-$s_custom_field_type_enum_string = '0:Streng,1:Numerisk,2:Flyttall,3:Oppramsing,4:Email';
+$s_custom_field_type_enum_string = '0:Streng,1:Numerisk,2:Flyttall,3:Oppramsing,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Dette feltet brukes n� av minst ett annet prosjekt.  Hvis du fortsetter vil alle verdier for dette feltet bli sletta.  Det er ikke mulig � g� tilbake p� dette valget.  Hvis du ikke vil slette dette feltet, trykk Tilbake-knappen i vevleseren din.  For � fortsette, trykk knappen under.';
 $s_confirm_custom_field_deletion = 'Er du sikker p� at du vil slette dette feltet og alle dets tilkoblede verdier?';
diff -Naurb mantis-0.19.0a1/lang/strings_polish.txt mantis-0.19.0a1-arbeitskopie/lang/strings_polish.txt
--- mantis-0.19.0a1/lang/strings_polish.txt	2004-07-07 14:48:56.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_polish.txt	2004-07-11 18:48:14.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sekwencja';
-$s_custom_field_type_enum_string = '0:�a�cuch znak�w,1:Liczba ca�kowita,2:Liczba zmiennoprzecinkowa,3:Wyliczenie,4:Email';
+$s_custom_field_type_enum_string = '0:�a�cuch znak�w,1:Liczba ca�kowita,2:Liczba zmiennoprzecinkowa,3:Wyliczenie,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'To pole jest aktualnie po��czone z co najmniej jednym projektem.  Je�eli je usuniesz, wszystkie warto�ci zostan� skasowane. Nie b�dzie te� mo�liwo�ci odzyskania danych.  Je�eli nie chcesz usun�� tego pola, kliknij Wstecz w przegl�darce.  By kontynuowa�, kliknij przycik poni�ej';
 $s_confirm_custom_field_deletion = 'Czy jeste� pewien, �e chcesz usun�� to dodatkowe pole i wszystkie powi�zane z nim wartoci?';
diff -Naurb mantis-0.19.0a1/lang/strings_portuguese_brazil.txt mantis-0.19.0a1-arbeitskopie/lang/strings_portuguese_brazil.txt
--- mantis-0.19.0a1/lang/strings_portuguese_brazil.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_portuguese_brazil.txt	2004-07-11 18:48:20.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Seq��ncia';
-$s_custom_field_type_enum_string = '0:String,1:Num�rico,2:Ponto-flutuante,3:Enumera��o,4:E-Mail';
+$s_custom_field_type_enum_string = '0:String,1:Num�rico,2:Ponto-flutuante,3:Enumera��o,4:E-Mail,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Este campo atualmente est� ligado a pelo menos um projeto.  Se voc� continuar, todos os valores para este campo ser�o apagados permanentemente.  Esta a��o n�o pode ser desfeita.  Se voc� n�o deseja apagar este campo, clique no bot�o Voltar de seu navegador.  Para continuar, clique no bot�o abaixo.';
 $s_confirm_custom_field_deletion = 'Voc� tem certeza que deseja apagar este campo personalizado e todos os seus valores associados?';
diff -Naurb mantis-0.19.0a1/lang/strings_portuguese_standard.txt mantis-0.19.0a1-arbeitskopie/lang/strings_portuguese_standard.txt
--- mantis-0.19.0a1/lang/strings_portuguese_standard.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_portuguese_standard.txt	2004-07-11 18:48:24.000000000 +0200
@@ -935,7 +935,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequ�ncia';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_romanian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_romanian.txt
--- mantis-0.19.0a1/lang/strings_romanian.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_romanian.txt	2004-07-11 18:48:27.000000000 +0200
@@ -934,7 +934,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_russian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_russian.txt
--- mantis-0.19.0a1/lang/strings_russian.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_russian.txt	2004-07-11 18:48:31.000000000 +0200
@@ -935,7 +935,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_russian_koi8.txt mantis-0.19.0a1-arbeitskopie/lang/strings_russian_koi8.txt
--- mantis-0.19.0a1/lang/strings_russian_koi8.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_russian_koi8.txt	2004-07-11 18:48:34.000000000 +0200
@@ -934,7 +934,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_serbian.txt mantis-0.19.0a1-arbeitskopie/lang/strings_serbian.txt
--- mantis-0.19.0a1/lang/strings_serbian.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_serbian.txt	2004-07-11 18:48:36.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'sekvenca';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Ovo polje je trenutno povezano sa bar jednim projektom.  Ukoliko nastavite, sve vrednosti ovog polja ce permanentno biti izbrisane.  Ovo je nepovratna akcija.  Ako ne �elite da izbri�ete ovo polje kliknite na "Back" polje u va�em internet pretra�ivacu. Da bi ste nastavili kliknite na dugme ispod.';
 $s_confirm_custom_field_deletion = 'Da li ste sigurni da �elite da izbrisete ovo korisnicko polje i sve njemu pridru�ene vrednosti?';
diff -Naurb mantis-0.19.0a1/lang/strings_slovak.txt mantis-0.19.0a1-arbeitskopie/lang/strings_slovak.txt
--- mantis-0.19.0a1/lang/strings_slovak.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_slovak.txt	2004-07-11 18:48:39.000000000 +0200
@@ -936,7 +936,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/lang/strings_spanish.txt mantis-0.19.0a1-arbeitskopie/lang/strings_spanish.txt
--- mantis-0.19.0a1/lang/strings_spanish.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_spanish.txt	2004-07-11 18:48:44.000000000 +0200
@@ -938,7 +938,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Secuencia';
-$s_custom_field_type_enum_string = '0:Cadena,1:Num�rico,2:Flotante,3:Enumeraci�n,4:Email';
+$s_custom_field_type_enum_string = '0:Cadena,1:Num�rico,2:Flotante,3:Enumeraci�n,4:Email,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Este campo est� vinculado a al menos un proyecto.  Si contin�a todos los valores para este campo ser�n borrados permanentemente.  Esta acci�n no puede volverse atr�s.  Si no desea eliminar el campo, haga click sobre el bot�n Atr�s de su navegador.  Para proceder, haga click sobre el bot�n que aparece abajo';
 $s_confirm_custom_field_deletion = '�Seguro que desea eliminar este campo y todos los valores asociados?';
diff -Naurb mantis-0.19.0a1/lang/strings_swedish.txt mantis-0.19.0a1-arbeitskopie/lang/strings_swedish.txt
--- mantis-0.19.0a1/lang/strings_swedish.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_swedish.txt	2004-07-11 18:48:47.000000000 +0200
@@ -934,7 +934,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Serie';
-$s_custom_field_type_enum_string = '0:Str�ng,1:Numerisk,2:Flyttal,3:Uppr�kning,4:Epost';
+$s_custom_field_type_enum_string = '0:Str�ng,1:Numerisk,2:Flyttal,3:Uppr�kning,4:Epost,5:Listbox';
 
 $s_confirm_used_custom_field_deletion = 'Detta f�lt �r f�r n�rvarande l�nkat till �tminstone ett projekt.  Om du forts�tter kommer alla v�rden f�r dett f�lt att tas bort permanent.  Denna �tg�rd kan inte �ngras.  Om du inte vill ta bort detta f�lt, tryck Back i din bl�ddrare.  F�r att forts�tta, tryck p� knappen nedan';
 $s_confirm_custom_field_deletion = '�r du s�ker p� att du vill ta bort detta skr�ddarsydda f�lt och alla aAre you sure you want to delete this custom field and all associerade v�rden?';
diff -Naurb mantis-0.19.0a1/lang/strings_turkish.txt mantis-0.19.0a1-arbeitskopie/lang/strings_turkish.txt
--- mantis-0.19.0a1/lang/strings_turkish.txt	2004-07-07 14:48:58.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/lang/strings_turkish.txt	2004-07-11 18:48:50.000000000 +0200
@@ -935,7 +935,7 @@
 $s_custom_field_require_close = 'Required On Close';
 
 $s_custom_field_sequence = 'Sequence';
-$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email';
+$s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:Email,5:Listbox';
 
 $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?';
diff -Naurb mantis-0.19.0a1/print_all_bug_page_word.php mantis-0.19.0a1-arbeitskopie/print_all_bug_page_word.php
--- mantis-0.19.0a1/print_all_bug_page_word.php	2004-07-07 13:44:02.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/print_all_bug_page_word.php	2004-07-11 18:12:16.000000000 +0200
@@ -284,7 +284,16 @@
 	</td>
 	<td class="print" colspan="5">
 		<?php
-			echo custom_field_get_value( $t_id, $v_id );
+			$t_custom_field_value = custom_field_get_value( $t_id, $v_id );
+			
+			switch ( $t_def['type'] ) {
+			case CUSTOM_FIELD_TYPE_LISTBOX:
+				$t_custom_field_value_output = implode( ', ', explode ('|', $t_custom_field_value ) );
+				echo $t_custom_field_value_output;
+			default:
+				echo $t_custom_field_value;
+				break;
+			}
 		?>
 	</td>
 </tr>
diff -Naurb mantis-0.19.0a1/print_bug_page.php mantis-0.19.0a1-arbeitskopie/print_bug_page.php
--- mantis-0.19.0a1/print_bug_page.php	2004-05-24 14:23:18.000000000 +0200
+++ mantis-0.19.0a1-arbeitskopie/print_bug_page.php	2004-07-11 18:12:07.000000000 +0200
@@ -238,7 +238,16 @@
 	</td>
 	<td class="print" colspan="4">
 		<?php
-			echo custom_field_get_value( $t_id, $f_bug_id );
+			$t_custom_field_value = custom_field_get_value( $t_id, $f_bug_id );
+
+			switch ( $t_def['type'] ) {
+			case CUSTOM_FIELD_TYPE_LISTBOX:
+				$t_custom_field_value_output = implode( ', ', explode ('|', $t_custom_field_value ) );
+				echo $t_custom_field_value_output;
+			default:
+				echo $t_custom_field_value;
+				break;
+			}
 		?>
 	</td>
 </tr>
custom_field_enum_0_19_0a1.diff (49,657 bytes)   
custom_field_checkbox_multilist_filtering.diff (6,929 bytes)   
diff -Naurb mantisbt_before_custom_field_checkbox/admin/upgrades/0_18_inc.php mantisbt/admin/upgrades/0_18_inc.php
--- mantisbt_before_custom_field_checkbox/admin/upgrades/0_18_inc.php	2004-08-14 21:53:20.000000000 +0200
+++ mantisbt/admin/upgrades/0_18_inc.php	2004-08-18 22:57:17.000000000 +0200
@@ -616,5 +616,34 @@
                         "Add bugnote_order to user preference table",
                         "ALTER TABLE $t_user_pref_table ADD bugnote_order VARCHAR( 4 ) NOT NULL DEFAULT '" . config_get( 'default_bugnote_order' ) . "' AFTER redirect_delay" );
 
+	$upgrades[] = new FunctionUpgrade(
+			'cb_ml_upgrade',
+			'Upgrade custom field types (checkbox, list, multilist) to support advanced filtering',
+			'upgrade_0_19_checkbox_list_multilist_upgrade' );
+	function upgrade_0_19_checkbox_list_multilist_upgrade() {
+		global $t_custom_field_string_table, $t_custom_field_table;
+		$t_checkbox = CUSTOM_FIELD_TYPE_CHECKBOX;
+		$t_multilist = CUSTOM_FIELD_TYPE_MULTILIST;
+		$query = "SELECT f.field_id, f.bug_id, f.value FROM $t_custom_field_string_table AS f
+			  LEFT JOIN $t_custom_field_table as s ON f.field_id = s.id 
+			  WHERE (s.type = $t_checkbox) OR (s.type = $t_multilist)";
+		$result = db_query( $query );
+		$t_count = db_num_rows( $result );
+		for ( $i = 0; $i < $t_count; $i++ ) {
+			$t_row = db_fetch_array( $result );
+			$t_value = $t_row['value'];
+			if ( '' != $t_value ) {
+			    $t_field_id = $t_row['field_id'];
+			    $t_bug_id = $t_row['bug_id'];
+			    $query = "UPDATE $t_custom_field_string_table
+				      SET value = '|$t_value|'
+				      WHERE (field_id = $t_field_id) AND (bug_id = $t_bug_id)";
+			    db_query( $query );
+			}
+		}
+		
+		return true;
+	}
+	
 	return $upgrades;
 ?>
diff -Naurb mantisbt_before_custom_field_checkbox/core/custom_field_api.php mantisbt/core/custom_field_api.php
--- mantisbt_before_custom_field_checkbox/core/custom_field_api.php	2004-08-04 19:38:04.000000000 +0200
+++ mantisbt/core/custom_field_api.php	2004-08-18 22:43:52.000000000 +0200
@@ -686,7 +686,7 @@
 		custom_field_ensure_exists( $p_field_id );
 
 		$t_custom_field_table = config_get( 'mantis_custom_field_table' );
-		$query = "SELECT access_level_r, default_value
+		$query = "SELECT access_level_r, default_value, type
 				  FROM $t_custom_field_table
 				  WHERE id='$c_field_id'";
 		$result = db_query( $query );
@@ -704,10 +704,10 @@
 				  FROM $t_custom_field_string_table
 				  WHERE bug_id='$c_bug_id' AND
 				  		field_id='$c_field_id'";
-		$result = db_query( $query );
+		$t_result = db_query( $query );
 
-		if( db_num_rows( $result ) > 0 ) {
-			return db_result( $result );
+		if( db_num_rows( $t_result ) > 0 ) {
+			return custom_field_database_to_value( db_result( $t_result ) , $row['type'] );
 		} else {
 			return $t_default_value;
 		}
@@ -750,7 +750,7 @@
 			$t_custom_field_table         = config_get( 'mantis_custom_field_table' );
 			$t_custom_field_string_table  = config_get( 'mantis_custom_field_string_table' );
 
-			$query = "SELECT f.name, f.type, f.access_level_r, f.default_value, s.value
+			$query = "SELECT f.name, f.type, f.access_level_r, f.default_value, f.type, s.value
 					FROM $t_custom_field_project_table AS p, $t_custom_field_table AS f
 					LEFT JOIN $t_custom_field_string_table AS s
 						ON  p.field_id=s.field_id AND s.bug_id='$c_bug_id'
@@ -769,7 +769,7 @@
 				if( is_null( $row['value'] ) ) {
 					$t_value = $row['default_value'];
 				} else {
-					$t_value = $row['value'];
+					$t_value = custom_field_database_to_value( $row['value'], $row['type'] );
 				}
 
 				$t_custom_fields[$row['name']] = array( 'type'  => $row['type'],
@@ -914,12 +914,45 @@
 	#===================================
 
 	# --------------------
+	# Convert the value to save it into the database, depending of the type
+	# return value for database
+	function custom_field_value_to_database( $p_value, $p_type ) {
+		switch ($p_type) {
+		case CUSTOM_FIELD_TYPE_MULTILIST:
+		case CUSTOM_FIELD_TYPE_CHECKBOX:
+			if ( '' == $p_value ) {
+				$result = '';
+			} else {
+				$result = '|' . $p_value . '|';
+			}
+			break;
+		default:
+			$result = $p_value;
+		}
+		return $result;
+	}
+
+	# --------------------
+	# Convert the database-value to value, depending of the type
+	# return value for further operation
+	function custom_field_database_to_value( $p_value, $p_type ) {
+		switch ($p_type) {
+		case CUSTOM_FIELD_TYPE_MULTILIST:
+		case CUSTOM_FIELD_TYPE_CHECKBOX:
+			$result = str_replace( '||', '', '|' . $p_value . '|' );
+			break;
+		default:
+			$result = $p_value;
+		}
+		return $result;
+	}
+
+	# --------------------
 	# Set the value of a custom field for a given bug
 	#  return true on success, false on failure
 	function custom_field_set_value( $p_field_id, $p_bug_id, $p_value ) {
 		$c_field_id	= db_prepare_int( $p_field_id );
 		$c_bug_id	= db_prepare_int( $p_bug_id );
-		$c_value	= db_prepare_string( $p_value );
 
 		custom_field_ensure_exists( $p_field_id );
 
@@ -940,6 +973,8 @@
 		$t_length_max		= $row['length_max'];
 		$t_default_value	= $row['default_value'];
 
+		$c_value	= db_prepare_string( custom_field_value_to_database( $p_value, $t_type ) );
+
 		# check for valid value
 		if ( !is_blank( $t_valid_regexp ) ) {
 			if ( !ereg( $t_valid_regexp, $p_value ) ) {
diff -Naurb mantisbt_before_custom_field_checkbox/core/filter_api.php mantisbt/core/filter_api.php
--- mantisbt_before_custom_field_checkbox/core/filter_api.php	2004-08-14 21:53:20.000000000 +0200
+++ mantisbt/core/filter_api.php	2004-08-18 23:00:34.000000000 +0200
@@ -418,6 +418,7 @@
 					$t_any_found = true;
 				}
 				if ( !$t_any_found ) {
+					$t_def = custom_field_get_definition( $t_cfid );
 					$t_table_name = $t_custom_field_string_table . '_' . $t_cfid;
 					array_push( $t_join_clauses, "LEFT JOIN $t_custom_field_string_table as $t_table_name ON $t_table_name.bug_id = $t_bug_table.id" );
 					foreach( $t_filter['custom_fields'][$t_cfid] as $t_filter_member ) {
@@ -432,8 +433,19 @@
 								$t_custom_where_clause .= ' OR ';
 							}
 
-							$t_custom_where_clause .= "(  $t_table_name.field_id = $t_cfid AND $t_table_name.value = '";
-							$t_custom_where_clause .= db_prepare_string( trim( $t_filter_member ) )  . "' )";
+							$t_custom_where_clause .= "(  $t_table_name.field_id = $t_cfid AND $t_table_name.value ";
+							switch( $t_def['type'] ) {
+							case CUSTOM_FIELD_TYPE_MULTILIST:
+							case CUSTOM_FIELD_TYPE_CHECKBOX:
+								$t_custom_where_clause .= "LIKE '%";
+								$t_custom_where_clause_closing = "%' )";
+								break;
+							default:
+								$t_custom_where_clause .= "= '";
+								$t_custom_where_clause_closing = "' )";
+							}
+							$t_custom_where_clause .= db_prepare_string( trim( $t_filter_member ) );
+							$t_custom_where_clause .= $t_custom_where_clause_closing;
 						}
 					}
 					if ( !is_blank( $t_custom_where_clause ) ) {
custom_field_checkbox_multilist_email.diff (2,562 bytes)   
diff -Naurb mantisbt_before_custom_field_checkbox_2/core/custom_field_api.php mantisbt/core/custom_field_api.php
--- mantisbt_before_custom_field_checkbox_2/core/custom_field_api.php	2004-08-21 12:10:54.000000000 +0200
+++ mantisbt/core/custom_field_api.php	2004-08-21 12:37:30.000000000 +0200
@@ -1164,5 +1164,27 @@
 		echo string_custom_field_value( $p_def, $p_field_id, $p_bug_id );
 	}
 	
+	# --------------------
+	# Prepare a string containing a custom field value for email
+	# $p_value		value of custom field
+	# $p_type		type of custom field
+	# NOTE: This probably belongs in the string_api.php
+	function string_custom_field_value_for_email( $p_value, $p_type ) {
+		switch( $p_type ) {
+			case CUSTOM_FIELD_TYPE_EMAIL:
+				return 'mailto:'.$p_value;
+				break;
+			case CUSTOM_FIELD_TYPE_ENUM:
+			case CUSTOM_FIELD_TYPE_LIST:
+			case CUSTOM_FIELD_TYPE_MULTILIST:
+			case CUSTOM_FIELD_TYPE_CHECKBOX:
+				return str_replace( '|', ', ', $p_value );
+				break;
+			default:
+				return $p_value;
+		}	
+		return $p_value;
+	}
+	
 	
 ?>
\ Kein Zeilenumbruch am Dateiende.
diff -Naurb mantisbt_before_custom_field_checkbox_2/core/email_api.php mantisbt/core/email_api.php
--- mantisbt_before_custom_field_checkbox_2/core/email_api.php	2004-08-16 22:52:04.000000000 +0200
+++ mantisbt/core/email_api.php	2004-08-21 12:31:55.000000000 +0200
@@ -833,11 +833,7 @@
 
 			$t_message .= str_pad( lang_get_defaulted( $t_custom_field_name, null ) . ': ', $t_email_padding_length, ' ', STR_PAD_RIGHT );
 
-			if ( CUSTOM_FIELD_TYPE_EMAIL === $t_custom_field_data['type'] ) {
-				$t_message .= 'mailto:'.$t_custom_field_data['value'];
-			} else {
-				$t_message .= $t_custom_field_data['value'];
-			}
+			$t_message .= string_custom_field_value_for_email ( $t_custom_field_data['value'], $t_custom_field_data['type'] );
 			$t_message .= "\n";
 		} # end foreach custom field
 
diff -Naurb mantisbt_before_custom_field_checkbox_2/core/filter_api.php mantisbt/core/filter_api.php
--- mantisbt_before_custom_field_checkbox_2/core/filter_api.php	2004-08-21 12:18:02.000000000 +0200
+++ mantisbt/core/filter_api.php	2004-08-21 12:13:50.000000000 +0200
@@ -437,8 +437,8 @@
 							switch( $t_def['type'] ) {
 							case CUSTOM_FIELD_TYPE_MULTILIST:
 							case CUSTOM_FIELD_TYPE_CHECKBOX:
-								$t_custom_where_clause .= "LIKE '%";
-								$t_custom_where_clause_closing = "%' )";
+								$t_custom_where_clause .= "LIKE '%|";
+								$t_custom_where_clause_closing = "|%' )";
 								break;
 							default:
 								$t_custom_where_clause .= "= '";

Relationships

has duplicate 0003954 closedgrangeway New Type of User-Defined-Field (Array of Checkboxes) 
child of 0003987 closedvboctor Mantis 0.19.0 Release 

Activities

RJelinek

RJelinek

2004-07-11 12:27

reporter   ~0005993

I finished my portation to 0.19.0a1 (+ make it work with advanced filtering).

Will be posted as soon as file upload works again.

vboctor

vboctor

2004-07-11 17:59

manager   ~0005996

So how does the filtering work for such custom fields?

RJelinek

RJelinek

2004-07-11 23:48

reporter   ~0006000

Well, as I have written above, a value of this field is safed like item1|item2|item3|... or simply "" or item3 .

For filtering I used the LIKE command (as used for text search). That way seems to be correct for me as long as there is no item which is included in another item (for example "busy | very_busy" or "and | understand"). Maybe I will find a better solution later on.

The handling of the filter equals the handling of enum-types.

RJelinek

RJelinek

2004-07-12 00:42

reporter   ~0006001

So - I have added my patch for 0.19.0a1

I have integrated the validate functionality and support the new filtering strategy.

grangeway

grangeway

2004-07-14 03:20

reporter   ~0006040

There's another patch in here that does similar to this, that i've already started looking at. I'll take a look at this at same time.

RJelinek

RJelinek

2004-07-18 11:50

reporter   ~0006120

@grangeway:

is that the patch I sent to mantis-dev ?

grangeway

grangeway

2004-07-20 18:41

reporter   ~0006193

no, there's two different patches now, both doing somewhat similar things

Paul

RJelinek

RJelinek

2004-07-21 11:41

reporter   ~0006217

So, whats your estimated time you have finished your work? Will it be included into 0.19.0a3 ?

grangeway

grangeway

2004-08-01 17:26

reporter   ~0006539

RJelinek

I've just checked in a bunch of stuff for this issue - which supports lists, multilists, checkboxes. And is a combination of your patch + the other 2 patches i'd received + my own modifications.

If you get a chance, can you give me some feedback on this.

On my TODO list for before final 0.19 is:

  1. Handle the filtering - based on what you've done but seperate multilist/checkbox terms by some seperator e.g. we could have @@@version@@@|@@@version1@@@. This would allow searching for 'version' without picking up 'version1' and extends on your patch.

  2. sync with email_api (there's a string_custom_get_value or whatever function which email_api will need to call)

jlatour

jlatour

2004-08-09 07:54

reporter   ~0006866

Paul, if you can get this done for 0.19.0, good, but I don't think we should hold the release for it.

RJelinek

RJelinek

2004-08-09 08:13

reporter   ~0006868

I would appreciate to include this feature into 0.19.0.
Maybe Paul can finish it, or I send the rest of it soon into the irc

grangeway

grangeway

2004-08-16 12:47

reporter   ~0007017

Last edited: 2004-08-16 16:37

Current Bugs:

  1. Checkboxes + 'default' values are currently broken. -- seems to be fixed
  2. You can't clear all checkboxes. -- seems to be fixed

edited on: 08-16-04 16:37

grangeway

grangeway

2004-08-20 18:20

reporter   ~0007086

This issue should be resolvable by the end of this weekend, so will make it into 0.19 rc1.

The only thing that needs fixing atm (that i'm aware of), is that email api won't change | -> ,

grangeway

grangeway

2004-08-21 08:04

reporter   ~0007092

This issue should now be completely resolved in cvs.