Files
Archiv
adLDAP
ajaxtabs
classes
config
dyncalendar
fancybox
language
lib
smarty
smarty2
demo
libs
internals
plugins
block.textformat.php
compiler.assign.php
function.assign_debug_info.php
function.config_load.php
function.counter.php
function.cycle.php
function.debug.php
function.eval.php
function.fetch.php
function.html_checkboxes.php
function.html_image.php
function.html_options.php
function.html_radios.php
function.html_select_date.php
function.html_select_time.php
function.html_table.php
function.mailto.php
function.math.php
function.popup.php
function.popup_init.php
modifier.capitalize.php
modifier.cat.php
modifier.count_characters.php
modifier.count_paragraphs.php
modifier.count_sentences.php
modifier.count_words.php
modifier.date_format.php
modifier.debug_print_var.php
modifier.default.php
modifier.escape.php
modifier.indent.php
modifier.lower.php
modifier.nl2br.php
modifier.regex_replace.php
modifier.replace.php
modifier.spacify.php
modifier.string_format.php
modifier.strip.php
modifier.strip_tags.php
modifier.truncate.php
modifier.upper.php
modifier.wordwrap.php
outputfilter.trimwhitespace.php
shared.escape_special_chars.php
shared.make_timestamp.php
Config_File.class.php
Smarty.class.php
Smarty_Compiler.class.php
debug.tpl
BUGS
COPYING.lib
ChangeLog
FAQ
INSTALL
NEWS
QUICK_START
README
RELEASE_NOTES
TODO
smarty_3
Smarty-2.6.28.zip
smarty-3.1.29.zip
livesearch
prints
templates
templates_c
test
tinymce
tinymce_neu
validation
abschluss.php
admin_frame.php
ajaxtabs.js
ansicht_entschieden.php
ansicht_gutachten.php
ansicht_stellungnahme.php
ausschuss_ansicht_entschieden.php
ausschuss_bearbeiten.php
ausschuss_bearbeitung.php
ausschuss_bearbeitung_ansicht.php
ausschuss_beteiligte_uberblick.php
ausschuss_edit.php
ausschuss_frame.php
ausschuss_gutachter.php
ausschuss_gutachter_uberblick.php
ausschuss_sitzung.php
ausschuss_status.php
ausschuss_uberblick.php
bearbeiten.php
beteiligte_bearbeiten.php
beteiligte_edit.php
beteiligte_erledigt.php
beteiligte_frame.php
beteiligte_offen.php
beteiligtenbenennung.php
bewertungsvorschlag.php
class_idee.php
config.inc.php
edit.php
edit_administratoren.php
edit_ausschussmitglieder.php
eingabe_frame.php
erfassen_eingabe.php
erfassen_status.php
fill_erfassen.php
func_beteiligter_angehoert.php
func_beteiligter_status.php
func_genUser.php
func_gutachter_angehoert.php
func_gutachter_beteiligter_del.php
func_gutachter_entscheid.php
func_gutachter_status.php
func_htmlclean.php
func_mail_einstell.php
func_mail_versand.php
func_rechte_vergabe.php
func_sitzung_terminieren.php
func_verlauf.php
gruppenmitglieder.php
gutachten_bearbeiten.php
gutachten_edit.php
gutachten_erledigt.php
gutachten_offen.php
gutachter_frame.php
gutachterbenennung.php
hauptframe.php
hauptframe_admin.php
hauptframe_ausschuss.php
hauptframe_beteiligte.php
hauptframe_eingabe.php
hauptframe_gutachter.php
index.php
index_ad.php
index_db.php
index_ldap.php
indexframe.php
info_entscheid.php
ldap_search.php
ldap_search2.php
ldap_search3.php
link.php
livesearch.php
livesearch_admin.php
livesearch_beteiligte.php
livesearch_gutachter.php
logout.php
menu_admin.php
menu_ausschuss.php
menu_beteiligte.php
menu_eingabe.php
menu_gutachter.php
passwort.php
passwort_vergessen.php
praemienkatalog.php
register.php
sitzung_terminieren.php
sitzung_vertretung.php
sitzung_verwalten.php
status.php
status_termin.php
test.html
tinymce.zip
titel.php
verlauf.php
ideenmanagement/lib/smarty2/libs/plugins/function.html_checkboxes.php
2023-04-25 13:05:19 +02:00

144 lines
4.4 KiB
PHP
Executable File

<?php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Smarty {html_checkboxes} function plugin
*
* File: function.html_checkboxes.php<br>
* Type: function<br>
* Name: html_checkboxes<br>
* Date: 24.Feb.2003<br>
* Purpose: Prints out a list of checkbox input types<br>
* Input:<br>
* - name (optional) - string default "checkbox"
* - values (required) - array
* - options (optional) - associative array
* - checked (optional) - array default not set
* - separator (optional) - ie <br> or &nbsp;
* - output (optional) - the output next to each checkbox
* - assign (optional) - assign the output as an array to this variable
* Examples:
* <pre>
* {html_checkboxes values=$ids output=$names}
* {html_checkboxes values=$ids name='box' separator='<br>' output=$names}
* {html_checkboxes values=$ids checked=$checked separator='<br>' output=$names}
* </pre>
* @link https://smarty.php.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
* (Smarty online manual)
* @author Christopher Kvarme <christopher.kvarme@flashjab.com>
* @author credits to Monte Ohrt <monte at ohrt dot com>
* @version 1.0
* @param array
* @param Smarty
* @return string
* @uses smarty_function_escape_special_chars()
*/
function smarty_function_html_checkboxes($params, &$smarty)
{
require_once $smarty->_get_plugin_filepath('shared','escape_special_chars');
$name = 'checkbox';
$values = null;
$options = null;
$selected = null;
$separator = '';
$labels = true;
$output = null;
$extra = '';
foreach($params as $_key => $_val) {
switch($_key) {
case 'name':
case 'separator':
$$_key = $_val;
break;
case 'labels':
$$_key = (bool)$_val;
break;
case 'options':
$$_key = (array)$_val;
break;
case 'values':
case 'output':
$$_key = array_values((array)$_val);
break;
case 'checked':
case 'selected':
$selected = array_map('strval', array_values((array)$_val));
break;
case 'checkboxes':
$smarty->trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING);
$options = (array)$_val;
break;
case 'assign':
break;
default:
if(!is_array($_val)) {
$extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"';
} else {
$smarty->trigger_error("html_checkboxes: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
}
break;
}
}
if (!isset($options) && !isset($values))
return ''; /* raise error here? */
settype($selected, 'array');
$_html_result = array();
if (isset($options)) {
foreach ($options as $_key=>$_val)
$_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels);
} else {
foreach ($values as $_i=>$_key) {
$_val = isset($output[$_i]) ? $output[$_i] : '';
$_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels);
}
}
if(!empty($params['assign'])) {
$smarty->assign($params['assign'], $_html_result);
} else {
return implode("\n",$_html_result);
}
}
function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels) {
$_output = '';
if ($labels) $_output .= '<label>';
$_output .= '<input type="checkbox" name="'
. smarty_function_escape_special_chars($name) . '[]" value="'
. smarty_function_escape_special_chars($value) . '"';
if (in_array((string)$value, $selected)) {
$_output .= ' checked="checked"';
}
$_output .= $extra . ' />' . $output;
if ($labels) $_output .= '</label>';
$_output .= $separator;
return $_output;
}
?>