diff --git a/protected/src/inputs/app/home/val_tests_in.php b/protected/src/inputs/app/home/val_tests_in.php index 148a260..3b3edea 100644 --- a/protected/src/inputs/app/home/val_tests_in.php +++ b/protected/src/inputs/app/home/val_tests_in.php @@ -47,6 +47,11 @@ class val_tests_in { return [ 'method' => $app->request->get_method(), 'html' => $html, + 'classes' => [ + 'div-class' => 'mb-3', + 'form-control-class' => 'form-control', + 'label-class' => '', + ], ]; } } \ No newline at end of file diff --git a/protected/src/outputs/app/home/alt_val_tests_out.php b/protected/src/outputs/app/home/alt_val_tests_out.php index 2668cb8..7d1c159 100644 --- a/protected/src/outputs/app/home/alt_val_tests_out.php +++ b/protected/src/outputs/app/home/alt_val_tests_out.php @@ -22,7 +22,7 @@ class alt_val_tests_out { $o = ['class'=> 'form-control']; $f->open_div(['class'=>'mb-3']); $label = $headers[$i] ?? "Out of Bounds!"; - $f->label($label, array_merge($o, ['for'=>$name])); + $f->label($label, ['for'=>$name]); $f->close_div(); $f->open_div(['class'=>'mb-3']); if ($name === "age") { diff --git a/protected/src/outputs/app/home/val_tests_out.php b/protected/src/outputs/app/home/val_tests_out.php index 942535e..913d9e3 100644 --- a/protected/src/outputs/app/home/val_tests_out.php +++ b/protected/src/outputs/app/home/val_tests_out.php @@ -16,34 +16,14 @@ use \CodeHydrater\form_builder\html_form as Form; use \CodeHydrater\enums\form_input_types as FORM_TYPE; class val_tests_out { - - private static function build_group(array $a, Form & $f): void { - foreach($a['html'] as $name => $v) { - // Fix Values, so they are always a String! - $value = ($v === false || $v === null) ? "" : $v; - $type_of_form_input = $a['form_type'][$name]->value ?? FORM_TYPE::text->value; - if ($type_of_form_input === "none") { - continue; // Skip none controls - } - $is_required = $a['required'][$name] ?? false; - $r_a = ($is_required) ? ['required' => ""] : []; - $fc = ['class'=> 'form-control']; - $f->open_div(['class'=>'mb-3']); - $label = $a['headers'][$name] ?? "Header not set."; - $f->label($label, array_merge($fc, ['for'=>$name])); - $f->$type_of_form_input($name, array_merge($fc, ['id'=>$name, 'value'=>$value], $r_a)); - $f->close_div(); - } - } - private static function build_form(array $a): ?string { $form_builder = new Form(); $form_builder->set_escape(false); $form_builder->open(options: ['autocomplete'=>'off']); $form_builder->fieldset_open(['style'=>'width: 200px;']); $form_builder->legend("News Letter"); - self::build_group($a, $form_builder); - $form_builder->open_div(['class'=>'mb-3']); + $form_builder->build_group($a); + $form_builder->open_div(['class'=>$a['div-class']]); $form_builder->submit("go", ['class'=>'btn btn-primary']); $form_builder->close_div(); $form_builder->fieldset_close(); @@ -52,39 +32,22 @@ class val_tests_out { } public static function entry(object $app, array $input): array { - $html_output = []; - $errors = []; - $headers = []; - $form_type = []; - $required = []; - foreach(SafeIO::esv($input['html']) as $html) { - $key = $html['name'] ?? ""; - $html_output[$key] = $html['html']; - $headers[$key] = $html['meta']['field_desc'][$key] ?? "Unknown"; - $form_type[$key] = $html['meta']['form_type'][$key] ?? FORM_TYPE::text->value; - $required[$key] = $html['meta']['required'][$key] ?? false; - if (\CodeHydrater\common::get_count($html['errors'])) { - $errors[$key] = $html['errors'][$key]; - } -// dump($html); - } - - $a = ['html'=>$html_output, 'headers'=>$headers, 'form_type'=>$form_type, 'required'=>$required]; + $a = SafeIO::build_html($input); $did_submit = ($input['method'] === "POST"); - $name = $html_output['name'] ?? "Anonymous"; +// $name = $app->request->get_post_data()->get("name") ?? "Annon."; - $data = [ + $twig_data = [ 'form_builder' => self::build_form($a), 'table_options' => ['helper' => 'single-row','escape' => false], - 'safe_html' => $html_output, + 'safe_html' => $a['html'], 'did_submit' => $did_submit, - 'table_headers' => $headers, - 'safe_name' => \CodeHydrater\bootstrap\safer_io::h($name), - 'a_errors' => $errors, + 'table_headers' => $a['headers'], +// 'safe_name' => \CodeHydrater\bootstrap\safer_io::h($name), + 'a_errors' => $a['errors'], ]; unset($html_output, $errors, $headers, $form_type, $required); - $app->view->set('twig_data', $data); + $app->view->set('twig_data', $twig_data); $app->view->set('twig_functions', [ 'show_table' => '\CodeHydrater\html::show_table_from', 'show_errors' => '\CodeHydrater\html::show_errors', diff --git a/protected/src/views/twig/app/val_tests.html.twig b/protected/src/views/twig/app/val_tests.html.twig index e88eed8..937c28a 100644 --- a/protected/src/views/twig/app/val_tests.html.twig +++ b/protected/src/views/twig/app/val_tests.html.twig @@ -4,7 +4,7 @@ {% if did_submit and a_errors is empty %} -

{{ safe_name|raw }}, you Rock!

+

{{ safe_html.name|raw }}, you Rock!

{{ show_table(table_headers, safe_html, table_options) }}