在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布XOOPS 2.09中文版 XOOPS 2.09x 版主要是PHP5升级、bug修正和安全补正: 1 全面兼容PHP 5.
源代码在线查看: function.html_options.php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Smarty {html_options} function plugin
*
* Type: function
* Name: html_options
* Input:
* - name (optional) - string default "select"
* - values (required if no options supplied) - array
* - options (required if no values supplied) - associative array
* - selected (optional) - string default not set
* - output (required if not options supplied) - array
* Purpose: Prints the list of tags generated from
* the passed parameters
* @link http://smarty.php.net/manual/en/language.function.html.options.php {html_image}
* (Smarty online manual)
* @param array
* @param Smarty
* @return string
* @uses smarty_function_escape_special_chars()
*/
function smarty_function_html_options($params, &$smarty)
{
require_once $smarty->_get_plugin_filepath('shared','escape_special_chars');
$name = null;
$values = null;
$options = null;
$selected = array();
$output = null;
$extra = '';
foreach($params as $_key => $_val) {
switch($_key) {
case 'name':
$$_key = (string)$_val;
break;
case 'options':
$$_key = (array)$_val;
break;
case 'values':
case 'output':
$$_key = array_values((array)$_val);
break;
case 'selected':
$$_key = array_map('strval', array_values((array)$_val));
break;
default:
if(!is_array($_val)) {
$extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"';
} else {
$smarty->trigger_error("html_options: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
}
break;
}
}
if (!isset($options) && !isset($values))
return ''; /* raise error here? */
$_html_result = '';
if (is_array($options)) {
foreach ($options as $_key=>$_val)
$_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected);
} else {
foreach ((array)$values as $_i=>$_key) {
$_val = isset($output[$_i]) ? $output[$_i] : '';
$_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected);
}
}
if(!empty($name)) {
$_html_result = '' . "\n" . $_html_result . '' . "\n";
}
return $_html_result;
}
function smarty_function_html_options_optoutput($key, $value, $selected) {
if(!is_array($value)) {
$_html_result = ' smarty_function_escape_special_chars($key) . '"';
if (in_array((string)$key, $selected))
$_html_result .= ' selected="selected"';
$_html_result .= '>' . smarty_function_escape_special_chars($value) . '' . "\n";
} else {
$_html_result = smarty_function_html_options_optgroup($key, $value, $selected);
}
return $_html_result;
}
function smarty_function_html_options_optgroup($key, $values, $selected) {
$optgroup_html = '' . "\n";
foreach ($values as $key => $value) {
$optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected);
}
$optgroup_html .= "\n";
return $optgroup_html;
}
/* vim: set expandtab: */
?>
|
相关资源 |
|
-
在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布XOOPS 2.09中文版 XOOPS 2.09x 版主要是PHP5升级、bug修正和安全补正: 1 全面兼容PHP 5.
-
本文在阐明反相对称调制(PISM)原理的基础上
-
在对复杂网络系统可靠性优化配置方法研究的基础上,编制出系统可靠度优化配置计算机程序.
-
本文在现有耦合映射格点 CML 动力系统模型的基础上 ,提出了能够同时模拟对流项和扩散项的强弱耦合系统的 CML 模型 ,分析了这类模型的特点和结构· 数值试验表明 ,这类 CML 模型能够有效地研究
-
在对船用陀螺漂移数据建立时间序列模型的基础上
-
TinyOS调度机制的研究与改进
在介绍无线传感器网络节点嵌入式操作系统TinyOS内核的基础上, 分析了其调度机制并指出不足。
提出了几套调度改进方案, 重点介绍了基于优先级调度策略, 并实现了
-
雷客图ASP站长安全助手
功能:
1、ASP木马查找(能够查出现在几乎所有的ASP木马)
2、文件篡改检查
3、可疑文件搜索
4、Access数据库保护
5、记录入侵者信息
-
基于VC++的学生信息管理系统的设计与实现:系统实现了以下基本功能:
1)用户管理:管理系统操作人员,设置操作人员口令和权限.在满足不同操作用户的操
作需求的基础上,提高系统的安全性.
2)基础
|