[ Index ]
 

Code source de XOOPS 2.0.17.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/htdocs/class/xoopsform/ -> formradio.php (source)

   1  <?php
   2  // $Id: formradio.php 966 2007-08-10 12:27:43Z phppp $

   3  //  ------------------------------------------------------------------------ //

   4  //                XOOPS - PHP Content Management System                      //

   5  //                    Copyright (c) 2000 XOOPS.org                           //

   6  //                       <http://www.xoops.org/>                             //

   7  //  ------------------------------------------------------------------------ //

   8  //  This program is free software; you can redistribute it and/or modify     //

   9  //  it under the terms of the GNU General Public License as published by     //

  10  //  the Free Software Foundation; either version 2 of the License, or        //

  11  //  (at your option) any later version.                                      //

  12  //                                                                           //

  13  //  You may not change or alter any portion of this comment or credits       //

  14  //  of supporting developers from this source code or any supporting         //

  15  //  source code which is considered copyrighted (c) material of the          //

  16  //  original comment or credit authors.                                      //

  17  //                                                                           //

  18  //  This program is distributed in the hope that it will be useful,          //

  19  //  but WITHOUT ANY WARRANTY; without even the implied warranty of           //

  20  //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //

  21  //  GNU General Public License for more details.                             //

  22  //                                                                           //

  23  //  You should have received a copy of the GNU General Public License        //

  24  //  along with this program; if not, write to the Free Software              //

  25  //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //

  26  //  ------------------------------------------------------------------------ //

  27  // Author: Kazumi Ono (AKA onokazu)                                          //

  28  // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //

  29  // Project: The XOOPS Project                                                //

  30  // ------------------------------------------------------------------------- //

  31  if (!defined('XOOPS_ROOT_PATH')) {
  32      die("XOOPS root path not defined");
  33  }
  34  /**

  35   * 

  36   * 

  37   * @package     kernel

  38   * @subpackage  form

  39   * 

  40   * @author        Kazumi Ono    <onokazu@xoops.org>

  41   * @copyright    copyright (c) 2000-2003 XOOPS.org

  42   */
  43  /**

  44   * A Group of radiobuttons

  45   * 

  46   * @author    Kazumi Ono    <onokazu@xoops.org>

  47   * @copyright    copyright (c) 2000-2003 XOOPS.org

  48   * 

  49   * @package        kernel

  50   * @subpackage    form

  51   */
  52  class XoopsFormRadio extends XoopsFormElement {
  53  
  54      /**

  55       * Array of Options

  56       * @var    array    

  57       * @access    private

  58       */
  59      var $_options = array();
  60  
  61      /**

  62       * Pre-selected value

  63       * @var    string    

  64       * @access    private

  65       */
  66      var $_value;
  67  
  68      /**

  69       * Constructor

  70       * 

  71       * @param    string    $caption    Caption

  72       * @param    string    $name        "name" attribute

  73       * @param    string    $value        Pre-selected value

  74       */
  75  	function XoopsFormRadio($caption, $name, $value = null, $delimeter = ""){
  76          $this->setCaption($caption);
  77          $this->setName($name);
  78          if (isset($value)) {
  79              $this->setValue($value);
  80          }
  81          $this->delimeter = $delimeter;
  82      }
  83  
  84      /**

  85       * Get the pre-selected value

  86       * 

  87       * @return    string

  88       */
  89  	function getValue(){
  90          return $this->_value;
  91      }
  92  
  93      /**

  94       * Set the pre-selected value

  95       * 

  96       * @param    $value    string

  97       */
  98  	function setValue($value){
  99          $this->_value = $value;
 100      }
 101  
 102      /**

 103       * Add an option

 104       * 

 105       * @param    string    $value    "value" attribute - This gets submitted as form-data.

 106       * @param    string    $name    "name" attribute - This is displayed. If empty, we use the "value" instead.

 107       */
 108  	function addOption($value, $name=""){
 109          if ( $name != "" ) {
 110              $this->_options[$value] = $name;
 111          } else {
 112              $this->_options[$value] = $value;
 113          }
 114      }
 115  
 116      /**

 117       * Adds multiple options

 118       * 

 119       * @param    array    $options    Associative array of value->name pairs.

 120       */
 121  	function addOptionArray($options){
 122          if ( is_array($options) ) {
 123              foreach ( $options as $k=>$v ) {
 124                  $this->addOption($k, $v);
 125              }
 126          }
 127      }
 128  
 129      /**

 130       * Gets the options

 131       * 

 132       * @return    array    Associative array of value->name pairs.

 133       */
 134  	function getOptions(){
 135          return $this->_options;
 136      }
 137  
 138      /**

 139       * Prepare HTML for output

 140       * 

 141       * @return    string    HTML

 142       */
 143  	function render(){
 144          $ret = "";
 145          foreach ( $this->getOptions() as $value => $name ) {
 146              $ret .= "<input type='radio' name='".$this->getName()."' value='".$value."'";
 147              $selected = $this->getValue();
 148              if ( isset($selected) && ($value == $selected) ) {
 149                  $ret .= " checked='checked'";
 150              }
 151              $ret .= $this->getExtra()." />".$name.$this->delimeter."\n";
 152          }
 153          return $ret;
 154      }
 155  }
 156  ?>


Généré le : Sun Nov 25 11:44:32 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics