--- class.tx_flexformgetfield_pi1.php.orig	2007-01-27 12:29:12.814705954 +0000
+++ class.tx_flexformgetfield_pi1.php	2007-02-02 18:18:54.859964786 +0000
@@ -47,7 +47,6 @@
 	 
 	function main($content,$conf)
 	{
-
 		# create local pointer::
 		$this->conf = $conf;
 
@@ -58,7 +57,7 @@
 		 $currFieldValue = '';
 		 $currParentID = '';
 		 $loopEnd = 0;
-		
+
 
 		# check for conf settings
 		# check for uid param, default = recent uid
@@ -68,8 +67,10 @@
 		# check for default return value
 		if(isset($this->conf["defReturn"])) $defReturnValue= $this->conf["defReturn"]; else $defReturnValue ="tx_flexform_get_null";
 		# check if field was handed over
+		if(isset($this->conf["trueReturn"])) $trueReturnValue= $this->conf["trueReturn"]; else $trueReturnValue = '';
 		if(isset($this->conf["field"])) $lookup_fieldName = $this->conf["field"]; else {$err_flag = 1; $defReturnValue="tx_flexformgetfields_no_field_specified";}
 
+
 		if(!$err_flag)
 		{
 			# loop over queries
@@ -82,15 +83,20 @@
 					// output the database info
 #					echo "db_flex_".mysql_result($flexXML,0,0)."<br />";
 #					echo "db_pid_".mysql_result($flexXML,0,1)."<br />";
-					
+
+
 					$currFlexXML = mysql_result($flexXML,0,0);
 					$currParentID = mysql_result($flexXML,0,1);
 					$XML = t3lib_div::xml2array($currFlexXML);
+					if (!is_array($XML))
+					{
+						return $defReturnValue;
+					}
 					$currFieldValue = $XML['data']['sDEF']['lDEF'][$lookup_fieldName]['vDEF'];
 					if($currFieldValue!="")
 					{
 						$loopEnd=1;
-						return $currFieldValue;
+						return ($trueReturnValue != '') ? $trueReturnValue : $currFieldValue;
 					}
 					else 
 					{
@@ -139,4 +145,4 @@
 	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/flexform_getfield/pi1/class.tx_flexformgetfield_pi1.php']);
 }
 
-?>
\ No newline at end of file
+?>
