Revision 935
Added by aldus almost 16 years ago
view.php | ||
---|---|---|
110 | 110 |
return $submission_id; |
111 | 111 |
} |
112 | 112 |
} |
113 |
|
|
113 | 114 |
// Work-out if the form has been submitted or not |
114 | 115 |
if($_POST == array()) { |
115 | 116 |
|
... | ... | |
117 | 118 |
$_SESSION['form_submission_id'] = new_submission_id(); |
118 | 119 |
|
119 | 120 |
// Get settings |
120 |
$query_settings = $database->query("SELECT header,field_loop,footer,use_captcha FROM ".TABLE_PREFIX."mod_form_settings WHERE section_id = '$section_id'"); |
|
121 |
$query_settings = $database->query("SELECT header,field_loop,footer,use_captcha,name,use_xhtml_strict FROM ".TABLE_PREFIX."mod_form_settings WHERE section_id = '$section_id'");
|
|
121 | 122 |
if($query_settings->numRows() > 0) { |
122 | 123 |
$fetch_settings = $query_settings->fetchRow(); |
123 | 124 |
$header = str_replace('{WB_URL}',WB_URL,$fetch_settings['header']); |
124 | 125 |
$field_loop = $fetch_settings['field_loop']; |
125 | 126 |
$footer = str_replace('{WB_URL}',WB_URL,$fetch_settings['footer']); |
126 | 127 |
$use_captcha = $fetch_settings['use_captcha']; |
128 |
$form_name = $fetch_settings['name']; |
|
129 |
$use_xhtml_strict = ($fetch_settings['use_xhtml_strict'] == 1); |
|
127 | 130 |
} else { |
128 | 131 |
$header = ''; |
129 | 132 |
$field_loop = ''; |
130 | 133 |
$footer = ''; |
134 |
$form_name = 'form'; |
|
135 |
$use_xhtml_strict = false; |
|
131 | 136 |
} |
132 | 137 |
|
133 | 138 |
?> |
134 |
<form name="form" action="<?php echo htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])); ?>" method="post">
|
|
135 |
<input type="hidden" name="submission_id" value="<?php echo $_SESSION['form_submission_id']; ?>" />
|
|
139 |
<form <?php echo ( ( (strlen($form_name) > 0) AND (false == $use_xhtml_strict) ) ? "name=\"".$form_name."\"" : ""); ?> action="<?php echo htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])); ?>" method="post">
|
|
140 |
<div><input type="hidden" name="submission_id" value="<?php echo $_SESSION['form_submission_id']; ?>" /></div>
|
|
136 | 141 |
<?php |
137 | 142 |
if(ENABLED_ASP) { // first add some honeypot-fields |
138 | 143 |
?> |
139 |
<input type="hidden" name="submitted_when" value="<?php $t=time(); echo $t; $_SESSION['submitted_when']=$t; ?>" />
|
|
144 |
<div><input type="hidden" name="submitted_when" value="<?php $t=time(); echo $t; $_SESSION['submitted_when']=$t; ?>" /></div>
|
|
140 | 145 |
<p class="nixhier"> |
141 | 146 |
email address: |
142 | 147 |
<label for="email">Leave this field email-address blank:</label> |
... | ... | |
192 | 197 |
$values[] = '<select name="field'.$field_id.'[]" id="field'.$field_id.'" size="'.$field['extra'][0].'" '.$field['extra'][1].' class="select">'.implode($options).'</select>'; |
193 | 198 |
} elseif($field['type'] == 'heading') { |
194 | 199 |
$vars[] = '{FIELD}'; |
195 |
$values[] = '<input type="hidden" name="field'.$field_id.'" id="field'.$field_id.'" value="===['.$field['title'].']===" />'; |
|
200 |
$str = '<input type="hidden" name="field'.$field_id.'" id="field'.$field_id.'" value="===['.$field['title'].']===" />'; |
|
201 |
$values[] = ( true == $use_xhtml_strict) ? "<div>".$str."</div>" : $str; |
|
196 | 202 |
$tmp_field_loop = $field_loop; // temporarily modify the field loop template |
197 | 203 |
$field_loop = $field['extra']; |
198 | 204 |
} elseif($field['type'] == 'checkbox') { |
... | ... | |
461 | 467 |
} |
462 | 468 |
} |
463 | 469 |
// clearing session on success |
464 |
$query_fields = $database->query("SELECT field_id FROM ".TABLE_PREFIX."mod_form_fields WHERE section_id = '$section_id' AND required = 1");
|
|
470 |
$query_fields = $database->query("SELECT field_id FROM ".TABLE_PREFIX."mod_form_fields WHERE section_id = '$section_id'"); |
|
465 | 471 |
while($field = $query_fields->fetchRow()) { |
466 | 472 |
$field_id = $field[0]; |
467 | 473 |
if(isset($_SESSION['field'.$field_id])) unset($_SESSION['field'.$field_id]); |
... | ... | |
470 | 476 |
if(isset($success) AND $success == false) { |
471 | 477 |
echo $TEXT['ERROR']; |
472 | 478 |
} |
473 |
}
|
|
479 |
} |
|
474 | 480 |
} |
475 | 481 |
|
476 | 482 |
?> |
Also available in: Unified diff
Bugfix for #688 - remove "AND required = 1" inside the query in line 470 so all fields are cleaned