diff options
-rw-r--r-- | core/helpers/form_helper.php | 71 | ||||
-rw-r--r-- | themes/default/views/form.html.php | 45 |
2 files changed, 72 insertions, 44 deletions
diff --git a/core/helpers/form_helper.php b/core/helpers/form_helper.php new file mode 100644 index 00000000..1841b5d2 --- /dev/null +++ b/core/helpers/form_helper.php @@ -0,0 +1,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); + } + +} diff --git a/themes/default/views/form.html.php b/themes/default/views/form.html.php index 41bdc0f9..802b1dd6 100644 --- a/themes/default/views/form.html.php +++ b/themes/default/views/form.html.php @@ -10,50 +10,7 @@ if ($title) { print "<!-- unused title in form.html.php: $title -->"; } -if (!function_exists("DrawForm")) { - function DrawForm($inputs, $level=1) { - $error_messages = array(); - $prefix = str_repeat(" ", $level); - - foreach ($inputs as $input) { - if ($input->type == 'group') { - print "$prefix<fieldset>\n"; - print "$prefix <legend>$input->name</legend>\n"; - print "$prefix <ul>\n"; - DrawForm($input->inputs, $level + 2); - DrawForm($input->hidden, $level + 2); - print "$prefix </ul>\n"; - print "$prefix</fieldset>\n"; - } else { - if ($input->error_messages()) { - print "$prefix<li class=\"gError\">\n"; - } else if ($input->type) { - print "$prefix<li>\n"; - } else { - // no type means its a "hidden" so don't wrap it in <li> - } - if ($input->label()) { - print "$prefix {$input->label()}\n"; - } - print "$prefix {$input->render()}\n"; - if ($input->message()) { - print "$prefix <p>{$input->message()}</p>\n"; - } - if ($input->error_messages()) { - foreach ($input->error_messages() as $error_message) { - print "$prefix <p class=\"gError\">\n"; - print "$prefix $error_message\n"; - print "$prefix </p>\n"; - } - } - if ($input->type) { - print "$prefix</li>\n"; - } - } - } - } -} -DrawForm($inputs); +print form_helper::Draw_Form($inputs); print($close); ?> |