home *** CD-ROM | disk | FTP | other *** search
- <?php
- // $Id: themeform.php 1237 2008-01-08 23:02:27Z phppp $
- // ------------------------------------------------------------------------ //
- // XOOPS - PHP Content Management System //
- // Copyright (c) 2000 XOOPS.org //
- // <http://www.xoops.org/> //
- // ------------------------------------------------------------------------ //
- // 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. //
- // //
- // You may not change or alter any portion of this comment or credits //
- // of supporting developers from this source code or any supporting //
- // source code which is considered copyrighted (c) material of the //
- // original comment or credit authors. //
- // //
- // 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
- // ------------------------------------------------------------------------ //
- // Author: Kazumi Ono (AKA onokazu) //
- // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //
- // Project: The XOOPS Project //
- // ------------------------------------------------------------------------- //
- if (!defined('XOOPS_ROOT_PATH')) {
- die("XOOPS root path not defined");
- }
- /**
- *
- *
- * @package kernel
- * @subpackage form
- *
- * @author Kazumi Ono <onokazu@xoops.org>
- * @copyright copyright (c) 2000-2003 XOOPS.org
- */
- /**
- * base class
- */
- include_once XOOPS_ROOT_PATH."/class/xoopsform/form.php";
-
- /**
- * Form that will output as a theme-enabled HTML table
- *
- * Also adds JavaScript to validate required fields
- *
- * @author Kazumi Ono <onokazu@xoops.org>
- * @copyright copyright (c) 2000-2003 XOOPS.org
- *
- * @package kernel
- * @subpackage form
- */
- class XoopsThemeForm extends XoopsForm
- {
- /**
- * Insert an empty row in the table to serve as a seperator.
- *
- * @param string $extra HTML to be displayed in the empty row.
- * @param string $class CSS class name for <td> tag
- */
- function insertBreak($extra = '', $class= '')
- {
- $class = ($class != '') ? " class='".htmlspecialchars($class, ENT_QUOTES)."'" : '';
- //Fix for $extra tag not showing
- if ($extra) {
- $extra = "<tr><td colspan='2' $class>$extra</td></tr>";
- $this->addElement($extra);
- } else {
- $extra = "<tr><td colspan='2' $class> </td></tr>";
- $this->addElement($extra);
- }
- }
-
- /**
- * create HTML to output the form as a theme-enabled table with validation.
- *
- * @return string
- */
- function render()
- {
- $ele_name = $this->getName();
- $ret = "
- <form name='".$ele_name."' id='".$ele_name."' action='".$this->getAction()."' method='".$this->getMethod()."' onsubmit='return xoopsFormValidate_".$ele_name."();'".$this->getExtra().">
- <table width='100%' class='outer' cellspacing='1'>
- <tr><th colspan='2'>".$this->getTitle()."</th></tr>
- ";
- $hidden = '';
- $class ='even';
- foreach ( $this->getElements() as $ele ) {
- if (!is_object($ele)) {
- $ret .= $ele;
- } elseif ( !$ele->isHidden() ) {
- $ret .= "<tr valign='top' align='left'><td class='head'>";
- if ( ($caption = $ele->getCaption()) != '' ) {
- $ret .=
- "<div class='xoops-form-element-caption" . ($ele->isRequired() ? "-required" : "" ) . "'>".
- "<span class='caption-text'>{$caption}</span>".
- "<span class='caption-marker'>*</span>".
- "</div>";
- }
- if ( ($desc = $ele->getDescription()) != '' ) {
- $ret .= "<div class='xoops-form-element-help'>{$desc}</div>";
- }
- $ret .= "</td><td class='$class'>".$ele->render()."</td></tr>\n";
- } else {
- $hidden .= $ele->render();
- }
- }
- $ret .= "</table>\n$hidden\n</form>\n";
- $ret .= $this->renderValidationJS( true );
- return $ret;
- }
- }
- ?>