1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<?php defined("SYSPATH") or die("No direct script access.");
/**
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2008 Bharat Mediratta
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* This is the API for handling modules.
*
* Note: by design, this class does not do any permission checking.
*/
class form_helper_Core {
public static function Draw_Form($inputs, $level=1) {
$error_messages = array();
$prefix = str_repeat(" ", $level);
$output = array();
foreach ($inputs as $input) {
if ($input->type == 'group') {
$output[] = "$prefix<fieldset>\n";
$output[] = "$prefix <legend>$input->name</legend>\n";
$output[] = "$prefix <ul>\n";
$output[] =form_helper::Draw_Form($input->inputs, $level + 2);
$output[] = form_helper::Draw_Form($input->hidden, $level + 2);
$output[] = "$prefix </ul>\n";
$output[] = "$prefix</fieldset>\n";
} else {
if ($input->error_messages()) {
$output[] = "$prefix<li class=\"gError\">\n";
} else if ($input->type) {
$output[] = "$prefix<li>\n";
} else {
// no type means its a "hidden" so don't wrap it in <li>
}
if ($input->label()) {
$output[] = "$prefix {$input->label()}\n";
}
$output[] = "$prefix {$input->render()}\n";
if ($input->message()) {
$output[] = "$prefix <p>{$input->message()}</p>\n";
}
if ($input->error_messages()) {
foreach ($input->error_messages() as $error_message) {
$output[] = "$prefix <p class=\"gError\">\n";
$output[] = "$prefix $error_message\n";
$output[] = "$prefix </p>\n";
}
}
if ($input->type) {
$output[] = "$prefix</li>\n";
}
}
}
return implode("\n", $output);
}
}
|