From 96aad8c0bd80689557d847ad1d06372c740f1d82 Mon Sep 17 00:00:00 2001 From: markleeds Date: Tue, 10 Mar 2009 11:39:05 +0000 Subject: [PATCH] Fixed field population and date popup in the generated view.php file. --- contrib/forms/formmaker/formscript.pl | 77 ++++++++++++++--------------------- 1 file changed, 31 insertions(+), 46 deletions(-) diff --git a/contrib/forms/formmaker/formscript.pl b/contrib/forms/formmaker/formscript.pl index ea28b6825..dcbf7f0fb 100644 --- a/contrib/forms/formmaker/formscript.pl +++ b/contrib/forms/formmaker/formscript.pl @@ -304,51 +304,30 @@ my $view_php =<<'START'; include_once("../../globals.php"); include_once("$srcdir/api.inc"); formHeader("Form: FORM_NAME"); -$obj = formFetch("form_FORM_NAME", $_GET["id"]); #Use the formFetch function from api.inc to get values for existing form. - -function chkdata_Txt(&$obj, $var) - { - $result = stripslashes($obj{"$var"}); - return $result; - } - function chkdata_CB(&$obj, $nam, $var) - { - $objarr = explode(',',$obj{$nam}); - foreach ($objarr as $a) - { - if ($a == "$var") - { - $result = "\"checked\""; - } - } - return $result; - } - function chkdata_Radio(&$obj, $nam, $var) - { - if ($obj{$nam}== "$var") - { - $result = "\"checked\""; - } - return $result; - } - function chkdata_PopOrScroll(&$obj, $nam, $var) - { - $objarr = explode(',',$obj{$nam}); - foreach ($objarr as $a) - { - if ($a == "$var") - { - $result = "\"selected\""; - } - } - return $result; - } +$obj = formFetch("form_FORM_NAME", $_GET["id"]); //#Use the formFetch function from api.inc to get values for existing form. + +function chkdata_Txt(&$obj, $var) { + return stripslashes($obj{"$var"}); +} +function chkdata_Date(&$obj, $var) { + return stripslashes($obj{"$var"}); +} +function chkdata_CB(&$obj, $nam, $var) { + if (preg_match("/Negative.*$var/",$obj{$nam})) {return;} else {return "checked";} +} +function chkdata_Radio(&$obj, $nam, $var) { + if (strpos($obj{$nam},$var) !== false) {return "checked";} +} + function chkdata_PopOrScroll(&$obj, $nam, $var) { + if (preg_match("/Negative.*$var/",$obj{$nam})) {return;} else {return "selected";} +} ?> topmargin=0 rightmargin=0 leftmargin=2 bottommargin=0 marginwidth=2 marginheight=0> +DATE_HEADER
" name="my_form" onsubmit="return top.restoreSession()">

FORM_NAME


@@ -497,8 +476,9 @@ to_file("$form_name/info.txt",$out); $out = replace($new_php, 'FORM_NAME', $form_name); $out = replace($out, 'DATABASEFIELDS', $make_form_results); $out = xl_fix($out); -$date_header = '' if not $date_field_exists; -$out = replace($out,'DATE_HEADER',$date_header); +if ($date_field_exists) { + $out = replace($out,'DATE_HEADER',$date_header); +} to_file("$form_name/new.php",$out); #print.php @@ -523,8 +503,13 @@ to_file("$form_name/save.php",$out); #view.php $out = replace($view_php, 'FORM_NAME', $form_name); $out = replace($out, 'DATABASEFIELDS', $make_form_results); +#$out = replace($out, 'FIELDARRAY', "'".join("'=>1,'",map {shift @$_;shift @$_;shift @$_;join("'=>1,'",@$_)} grep{$_->[3]} @field_data)."'=>1"); +#$out = replace($out, 'FIELDARRAY', "'".join("','",map {shift @$_;shift @$_;shift @$_;join("','",@$_)} grep{$_->[3]} @field_data)."'"); $out = replace_view_php($out); $out = xl_fix($out); +if ($date_field_exists) { + $out = replace($out,'DATE_HEADER',$date_header); +} to_file("$form_name/view.php",$out); #table.sql @@ -541,7 +526,7 @@ to_file("$form_name/preview.html",$out); #****************************************************************** -#************************* SUB-ROUTINES *************************** +#************************* SUBROUTINES *************************** #****************************************************************** sub replace @@ -623,7 +608,7 @@ sub replace_view_php #a special case (They're all special cases aren' goto go if $_ =~ s/()/$1$2$3/; #TEXTAREA - goto go if $_ =~ s/(]*)/$1$2$3$4 value=/; #TEXT + goto go if $_ =~ s/(]*)/$1$2$3$4 value=''/; #TEXT goto go if $_ =~ s/(]*)/$1$2$3$4$5$6 /; #CHECKBOX-GROUP @@ -632,6 +617,7 @@ sub replace_view_php #a special case (They're all special cases aren' goto go if $_ =~ s/(]*)/$1$2$3$4$5 /; #RADIO-GROUP goto go if $_ =~ s/(