%PDF- %PDF-
Direktori : /home1/lightco1/www/lightingrepublic.com.au/components/com_default/templates/helpers/ |
Current File : //home1/lightco1/www/lightingrepublic.com.au/components/com_default/templates/helpers/select.php |
<?php /** * @version $Id$ * @package Nooku_Components * @subpackage Default * @copyright Copyright (C) 2007 - 2012 Johan Janssens. All rights reserved. * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> * @link http://www.nooku.org */ /** * Template Select Helper * * @author Johan Janssens <johan@nooku.org> * @package Nooku_Components * @subpackage Default */ class ComDefaultTemplateHelperSelect extends KTemplateHelperSelect { /** * Generates an HTML boolean radio list * * @param array An optional array with configuration options * @return string Html */ public function booleanlist($config = array()) { $config = new KConfig($config); $config->append(array( 'name' => '', 'attribs' => array(), 'true' => 'Yes', 'false' => 'No', 'selected' => null, 'translate' => true, 'wrap' => false )); $name = $config->name; $attribs = KHelperArray::toString($config->attribs); $html = array(); if ($config->wrap) { $html[] = '<div class="controls">'; } $extra = $config->selected ? 'checked="checked"' : ''; $text = $config->translate ? $this->translate( $config->true ) : $config->true; $html[] = '<label for="'.$name.'1" class="radio inline">'; $html[] = '<input type="radio" class="radio inline" name="'.$name.'" id="'.$name.'1" value="1" '.$extra.' '.$attribs.' />'; $html[] = $text.'</label>'; $extra = !$config->selected ? 'checked="checked"' : ''; $text = $config->translate ? $this->translate( $config->false ) : $config->false; $html[] = '<label for="'.$name.'0" class="radio inline">'; $html[] = '<input type="radio" class="radio inline" name="'.$name.'" id="'.$name.'0" value="0" '.$extra.' '.$attribs.' />'; $html[] = $text.'</label>'; if ($config->wrap) { $html[] = '</div>'; } return implode(PHP_EOL, $html); } /** * Generates an HTML check list * * @param array An optional array with configuration options * @return string Html */ public function checklist( $config = array()) { $config = new KConfig($config); $config->append(array( 'list' => null, 'name' => 'id', 'attribs' => array(), 'key' => 'id', 'text' => 'title', 'selected' => null, 'translate' => false )); $name = $config->name; $attribs = KHelperArray::toString($config->attribs); $html = array(); foreach ($config->list as $row) { $key = $row->{$config->key}; $text = $config->translate ? $this->translate( $row->{$config->text} ) : $row->{$config->text}; $id = isset($row->id) ? $row->id : null; $extra = ''; if ($config->selected instanceof KConfig) { foreach ($config->selected as $value) { $sel = is_object( $value ) ? $value->{$config->key} : $value; if ($key == $sel) { $extra .= 'checked="checked"'; break; } } } else $extra .= ($key == $config->selected) ? 'checked="checked"' : ''; $html[] = '<label class="checkbox" for="'.$name.$key.'">'; $html[] = '<input type="checkbox" name="'.$name.'[]" id="'.$name.$key.'" value="'.$key.'" '.$extra.' '.$attribs.' />'; $html[] = $text; $html[] = '</label>'; } return implode(PHP_EOL, $html); } }