在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布XOOPS 2.09中文版 XOOPS 2.09x 版主要是PHP5升级、bug修正和安全补正: 1 全面兼容PHP 5.

源代码在线查看: function.html_table.php

软件大小: 3473 K
上传用户: susanxuwenjun
关键词: XOOPS 2.09 2.091 2.092
下载地址: 免注册下载 普通下载 VIP

相关代码

								/**
				 * Smarty plugin
				 * @package Smarty
				 * @subpackage plugins
				 */
				
				
				/**
				 * Smarty {html_table} function plugin
				 *
				 * Type:     function
				 * Name:     html_table
				 * Date:     Feb 17, 2003
				 * Purpose:  make an html table from an array of data
				 * Input:
				 *         - loop = array to loop through
				 *         - cols = number of columns
				 *         - rows = number of rows
				 *         - table_attr = table attributes
				 *         - tr_attr = table row attributes (arrays are cycled)
				 *         - td_attr = table cell attributes (arrays are cycled)
				 *         - trailpad = value to pad trailing cells with
				 *         - vdir = vertical direction (default: "down", means top-to-bottom)
				 *         - hdir = horizontal direction (default: "right", means left-to-right)
				 *         - inner = inner loop (default "cols": print $loop line by line,
				 *                   $loop will be printed column by column otherwise)
				 *
				 *
				 * Examples:
				 * 
				 * {table loop=$data}
				 * {table loop=$data cols=4 tr_attr='"bgcolor=red"'}
				 * {table loop=$data cols=4 tr_attr=$colors}
				 * 
				 * @author   Monte Ohrt 
				 * @version  1.0
				 * @link http://smarty.php.net/manual/en/language.function.html.table.php {html_table}
				 *          (Smarty online manual)
				 * @param array
				 * @param Smarty
				 * @return string
				 */
				function smarty_function_html_table($params, &$smarty)
				{
				    $table_attr = 'border="1"';
				    $tr_attr = '';
				    $td_attr = '';
				    $cols = 3;
				    $rows = 3;
				    $trailpad = ' ';
				    $vdir = 'down';
				    $hdir = 'right';
				    $inner = 'cols';
				
				    if (!isset($params['loop'])) {
				        $smarty->trigger_error("html_table: missing 'loop' parameter");
				        return;
				    }
				
				    foreach ($params as $_key=>$_value) {
				        switch ($_key) {
				            case 'loop':
				                $$_key = (array)$_value;
				                break;
				
				            case 'cols':
				            case 'rows':
				                $$_key = (int)$_value;
				                break;
				
				            case 'table_attr':
				            case 'trailpad':
				            case 'hdir':
				            case 'vdir':
				                $$_key = (string)$_value;
				                break;
				
				            case 'tr_attr':
				            case 'td_attr':
				                $$_key = $_value;
				                break;
				        }
				    }
				
				    $loop_count = count($loop);
				    if (empty($params['rows'])) {
				        /* no rows specified */
				        $rows = ceil($loop_count/$cols);
				    } elseif (empty($params['cols'])) {
				        if (!empty($params['rows'])) {
				            /* no cols specified, but rows */
				            $cols = ceil($loop_count/$rows);
				        }
				    }
				
				    $output = "\n";
				
				    for ($r=0; $r				        $output .= "\n";
				        $rx =  ($vdir == 'down') ? $r*$cols : ($rows-1-$r)*$cols;
				
				        for ($c=0; $c				            $x =  ($hdir == 'right') ? $rx+$c : $rx+$cols-1-$c;
				            if ($inner!='cols') {
				                /* shuffle x to loop over rows*/
				                $x = floor($x/$cols) + ($x%$cols)*$rows;
				            }
				
				            if ($x				                $output .= "" . $loop[$x] . "\n";
				            } else {
				                $output .= "$trailpad\n";
				            }
				        }
				        $output .= "\n";
				    }
				    $output .= "\n";
				    
				    return $output;
				}
				
				function smarty_function_html_table_cycle($name, $var, $no) {
				    if(!is_array($var)) {
				        $ret = $var;
				    } else {
				        $ret = $var[$no % count($var)];
				    }
				    
				    return ($ret) ? ' '.$ret : '';
				}
				
				
				/* vim: set expandtab: */
				
				?>
							

相关资源