Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F391619
function.html_checkboxes.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
function.html_checkboxes.php
View Options
<?php
/**
* Smarty plugin
* @package Smarty
* @subpackage PluginsFunction
*/
/**
* 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>
* 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 http://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 $params parameters
* 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
* - output (optional) - the output next to each checkbox
* - assign (optional) - assign the output as an array to this variable
* @param object $smarty Smarty object
* @param object $template template object
* @return string
* @uses smarty_function_escape_special_chars()
*/
function
smarty_function_html_checkboxes
(
$params
,
$smarty
,
$template
)
{
require_once
(
SMARTY_PLUGINS_DIR
.
'shared.escape_special_chars.php'
);
//$smarty->loadPlugin('Smarty_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'
:
throw
new
Exception
(
'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
{
throw
new
Exception
(
"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'
]))
{
$template
->
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
;
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 20:24 (1 d, 12 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25442
Default Alt Text
function.html_checkboxes.php (4 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment