ea-Geiercode-base-smarty
[ class tree: ea-Geier ] [ index: ea-Geier ] [ all elements ]

Source for file function.eaCheckBox.php

Documentation is available at function.eaCheckBox.php

  1. <?php
  2. /**
  3.  * smarty function plugin to produce checkbox tags
  4.  *
  5.  * LICENSE:
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; either version 2 of the License, or
  9.  * (at your option) any later version.
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.     See the
  13.  * GNU General Public License for more details.
  14.  * You should have received a copy of the GNU General Public License along
  15.  * with this program; if not, write to the Free Software Foundation, Inc.,
  16.  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  17.  *
  18.  * @package       ea-Geier
  19.  * @subpackage code/base/smarty
  20.  * @author       m2mtech <tech@m2m.at>
  21.  * @copyright  2007 m2m server software gmbh
  22.  * @license       http://www.gnu.org/licenses/gpl.html GNU General Public License Version 2
  23.  * @version       $Id: function.eaCheckBox.php 99 2007-07-29 14:10:07Z m2mtech $
  24.  * @link       http://www.ea-geier.at/
  25.  */
  26.  
  27. /**
  28.  * Smarty {eaCheckBox} plugin
  29.  *
  30.  * creates <input type="checkbox" /> fields from {eaCheckBox} constructs
  31.  * extends html_checkboxes
  32.  *
  33.  * - existing {$data['NAME']} -> used for selection
  34.  * - existing {$error['NAME']} -> <... class="error" />
  35.  * - existing {#helpNAME#} -> <... title="{#helpNAME#}" />
  36.  * - existing {#labelNAME#} -> <label for="NAME">{#labelNAME#}</label>...
  37.  * - values are created from $opt['NAME'] & config files
  38.  *
  39.  * @param    array    function parameters
  40.  *                     - name    function name    mandatory
  41.  * @param    Smarty 
  42.  * @return    string 
  43.  */
  44. function smarty_function_eacheckbox($params&$smarty){
  45.     // load escape function
  46.     require_once $smarty->_get_plugin_filepath('shared''escape_special_chars');
  47.  
  48.     // load checkboxes function
  49.     require_once $smarty->_get_plugin_filepath('function''html_checkboxes');
  50.  
  51.     // ensure name parameter is available
  52.     if (!isset($params['name'])) {
  53.         $smarty->trigger_error("eaCheckBox: 'name' missing"E_USER_NOTICE);
  54.         return '';
  55.     }
  56.     $name smarty_function_escape_special_chars($params['name']);
  57.     $nameL strtolower($name);
  58.  
  59.     $return '';
  60.  
  61.     // label
  62.     if ($label $smarty->get_config_vars('label' $nameL)) 
  63.         $return .= '<label for="' $name '">' $label '</label>';
  64.  
  65.     // generate values
  66.     $opt $smarty->get_template_vars('opt');
  67.     if (isset($opt[$name])) foreach ($opt[$nameas $key => $val{
  68.         $params['values'][$key$key;
  69.         if ($vName $smarty->get_config_vars('opt' $nameL $key))
  70.             $params['output'][$key$vName;
  71.     }
  72.  
  73.     // value
  74.     $data $smarty->get_template_vars('data');
  75.     if (isset($data[$name])) $params['selected'$data[$name];
  76.  
  77.     // title
  78.     if ($title $smarty->get_config_vars('help' $nameL))
  79.         $params['title'$title;
  80.         
  81.     // error 
  82.     $error $smarty->get_template_vars('error');
  83.     if ($error[$name]$params['class''error'
  84.     
  85.     return $return smarty_function_html_checkboxes($params$smarty);
  86. }
  87.  
  88. ?>

Documentation generated on Sun, 09 Sep 2007 17:08:45 +0200 by phpDocumentor 1.3.1