XOOPS Docs - kernel
[ class tree: kernel ] [ index: kernel ] [ all elements ]

Source for file formradio.php

Documentation is available at formradio.php

  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. ?>

XOOPS Docs generated by phpDocumentor