From: <mo...@us...> - 2004-06-27 12:13:53
|
Update of /cvsroot/tikiwiki/_smarty/libs/plugins In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14231/libs/plugins Modified Files: Tag: BRANCH-1-9 block.textformat.php function.assign_debug_info.php function.config_load.php function.cycle.php function.fetch.php function.html_select_date.php function.mailto.php function.popup.php modifier.escape.php Log Message: merged smarty 2.6.3 into 1.9 branch Index: block.textformat.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/block.textformat.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -u -d -r1.3 -r1.3.4.1 --- block.textformat.php 27 Feb 2004 01:26:43 -0000 1.3 +++ block.textformat.php 27 Jun 2004 12:13:43 -0000 1.3.4.1 @@ -71,33 +71,30 @@ } // split into paragraphs - $paragraphs = preg_split('![\r\n][\r\n]!',$content); - $output = ''; + $_paragraphs = preg_split('![\r\n][\r\n]!',$content); + $_output = ''; - foreach ($paragraphs as $paragraph) { - if ($paragraph == '') { + for($_x = 0, $_y = count($_paragraphs); $_x < $_y; $_x++) { + if ($_paragraphs[$_x] == '') { continue; } // convert mult. spaces & special chars to single space - $paragraph = preg_replace(array('!\s+!','!(^\s+)|(\s+$)!'),array(' ',''),$paragraph); + $_paragraphs[$_x] = preg_replace(array('!\s+!','!(^\s+)|(\s+$)!'), array(' ',''), $_paragraphs[$_x]); // indent first line if($indent_first > 0) { - $paragraph = str_repeat($indent_char,$indent_first) . $paragraph; + $_paragraphs[$_x] = str_repeat($indent_char, $indent_first) . $_paragraphs[$_x]; } // wordwrap sentences - $paragraph = wordwrap($paragraph, $wrap - $indent, $wrap_char, $wrap_cut); + $_paragraphs[$_x] = wordwrap($_paragraphs[$_x], $wrap - $indent, $wrap_char, $wrap_cut); // indent lines if($indent > 0) { - $paragraph = preg_replace('!^!m',str_repeat($indent_char,$indent),$paragraph); + $_paragraphs[$_x] = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraphs[$_x]); } - $output .= $paragraph . $wrap_char . $wrap_char; } + $_output = implode($wrap_char . $wrap_char, $_paragraphs); + + return $assign ? $smarty->assign($assign, $_output) : $_output; - if ($assign) { - $smarty->assign($assign,$output); - } else { - return $output; - } } /* vim: set expandtab: */ Index: function.assign_debug_info.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/function.assign_debug_info.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -u -d -r1.3 -r1.3.4.1 --- function.assign_debug_info.php 27 Feb 2004 01:26:43 -0000 1.3 +++ function.assign_debug_info.php 27 Jun 2004 12:13:43 -0000 1.3.4.1 @@ -24,7 +24,7 @@ ksort($config_vars); $smarty->assign("_debug_config_keys", array_keys($config_vars)); $smarty->assign("_debug_config_vals", array_values($config_vars)); - } + } $included_templates = $smarty->_smarty_debug_info; Index: function.config_load.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/function.config_load.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -u -d -r1.3 -r1.3.4.1 --- function.config_load.php 27 Feb 2004 01:26:43 -0000 1.3 +++ function.config_load.php 27 Jun 2004 12:13:43 -0000 1.3.4.1 @@ -53,7 +53,9 @@ } } - $_params = array('resource_name' => $_file, 'resource_base_path' => $smarty->config_dir); + $_params = array('resource_name' => $_file, + 'resource_base_path' => $smarty->config_dir, + 'get_source' => false); $smarty->_parse_resource_name($_params); $_file_path = $_params['resource_type'] . ':' . $_params['resource_name']; if (isset($_section)) @@ -61,10 +63,19 @@ else $_compile_file = $smarty->_get_compile_path($_file_path); - if($smarty->force_compile - || !file_exists($_compile_file) - || ($smarty->compile_check - && !$smarty->_is_compiled($_file_path, $_compile_file))) { + if($smarty->force_compile || !file_exists($_compile_file)) { + $_compile = true; + } elseif ($smarty->compile_check) { + $_params = array('resource_name' => $_file, + 'resource_base_path' => $smarty->config_dir, + 'get_source' => false); + $_compile = $smarty->_fetch_resource_info($_params) && + $_params['resource_timestamp'] > filemtime($_compile_file); + } else { + $_compile = false; + } + + if($_compile) { // compile config file if(!is_object($smarty->_conf_obj)) { require_once SMARTY_DIR . $smarty->config_class . '.class.php'; @@ -74,7 +85,10 @@ $smarty->_conf_obj->read_hidden = $smarty->config_read_hidden; $smarty->_conf_obj->fix_newlines = $smarty->config_fix_newlines; } - $_params = array('resource_name' => $_file, 'resource_base_path' => $smarty->config_dir); + + $_params = array('resource_name' => $_file, + 'resource_base_path' => $smarty->config_dir, + $_params['get_source'] = true); if (!$smarty->_fetch_resource_info($_params)) { return; } Index: function.cycle.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/function.cycle.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -u -d -r1.3 -r1.3.4.1 --- function.cycle.php 27 Feb 2004 01:26:43 -0000 1.3 +++ function.cycle.php 27 Jun 2004 12:13:43 -0000 1.3.4.1 @@ -23,7 +23,7 @@ * - delimiter = the value delimiter, default is "," * - assign = boolean, assigns to template var instead of * printed. - * + * * Examples:<br> * <pre> * {cycle values="#eeeeee,#d0d0d0d"} @@ -66,7 +66,7 @@ $cycle_vars[$name]['delimiter'] = (isset($params['delimiter'])) ? $params['delimiter'] : ','; if(is_array($cycle_vars[$name]['values'])) { - $cycle_array = $cycle_vars[$name]['values']; + $cycle_array = $cycle_vars[$name]['values']; } else { $cycle_array = explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']); } @@ -88,7 +88,7 @@ if($advance) { if ( $cycle_vars[$name]['index'] >= count($cycle_array) -1 ) { - $cycle_vars[$name]['index'] = 0; + $cycle_vars[$name]['index'] = 0; } else { $cycle_vars[$name]['index']++; } Index: function.fetch.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/function.fetch.php,v retrieving revision 1.4 retrieving revision 1.4.4.1 diff -u -d -r1.4 -r1.4.4.1 --- function.fetch.php 27 Feb 2004 02:06:02 -0000 1.4 +++ function.fetch.php 27 Jun 2004 12:13:43 -0000 1.4.4.1 @@ -26,6 +26,7 @@ return; } + $content = ''; if ($smarty->security && !preg_match('!^(http|https|ftp)://!i', $params['file'])) { $_params = array('resource_type' => 'file', 'resource_name' => $params['file']); require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_secure.php'); @@ -171,7 +172,6 @@ fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n"); } - $content = ''; fputs($fp, "\r\n"); while(!feof($fp)) { $content .= fgets($fp,4096); Index: function.html_select_date.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/function.html_select_date.php,v retrieving revision 1.4 retrieving revision 1.4.4.1 diff -u -d -r1.4 -r1.4.4.1 --- function.html_select_date.php 27 Feb 2004 02:06:02 -0000 1.4 +++ function.html_select_date.php 27 Jun 2004 12:13:43 -0000 1.4.4.1 @@ -183,10 +183,9 @@ $month_result .= smarty_function_html_options(array('output' => $month_names, 'values' => $month_values, - 'selected' => $month_values[(int)$time[1]], + 'selected' => $a=$time[1] ? strftime($month_value_format, mktime(0, 0, 0, (int)$time[1], 1, 2000)) : '', 'print_result' => false), $smarty); - $month_result .= '</select>'; } Index: function.mailto.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/function.mailto.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -u -d -r1.3 -r1.3.4.1 --- function.mailto.php 27 Feb 2004 01:26:43 -0000 1.3 +++ function.mailto.php 27 Jun 2004 12:13:43 -0000 1.3.4.1 @@ -48,7 +48,7 @@ */ function smarty_function_mailto($params, &$smarty) { - $extra = ''; + $extra = ''; if (empty($params['address'])) { $smarty->trigger_error("mailto: missing 'address' parameter"); @@ -114,6 +114,7 @@ $smarty->trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript."); return; } + $address_encode = ''; for ($x=0; $x < strlen($address); $x++) { if(preg_match('!\w!',$address[$x])) { $address_encode .= '%' . bin2hex($address[$x]); @@ -121,11 +122,13 @@ $address_encode .= $address[$x]; } } + $text_encode = ''; for ($x=0; $x < strlen($text); $x++) { $text_encode .= '&#x' . bin2hex($text[$x]).';'; } - return '<a href="mailto:'.$address_encode.'" '.$extra.'>'.$text_encode.'</a>'; + $mailto = "mailto:"; + return '<a href="'.$mailto.$address_encode.'" '.$extra.'>'.$text_encode.'</a>'; } else { // no encoding Index: function.popup.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/function.popup.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -u -d -r1.3 -r1.3.4.1 --- function.popup.php 27 Feb 2004 01:26:43 -0000 1.3 +++ function.popup.php 27 Jun 2004 12:13:43 -0000 1.3.4.1 @@ -42,6 +42,17 @@ case 'textfont': case 'captionfont': case 'closefont': + case 'fgbackground': + case 'bgbackground': + case 'inarray': + case 'caparray': + case 'capicon': + case 'background': + case 'frame': + case 'function': + $append .= ',' . strtoupper($_key) . ",'$_value'"; + break; + case 'textsize': case 'captionsize': case 'closesize': @@ -50,23 +61,15 @@ case 'border': case 'offsetx': case 'offsety': - case 'fgbackground': - case 'bgbackground': - case 'inarray': - case 'caparray': - case 'capicon': case 'snapx': case 'snapy': case 'fixx': case 'fixy': - case 'background': case 'padx': case 'pady': - case 'frame': case 'timeout': case 'delay': - case 'function': - $append .= ',' . strtoupper($_key) . ",'$_value'"; + $append .= ',' . strtoupper($_key) . ",$_value"; break; case 'sticky': Index: modifier.escape.php =================================================================== RCS file: /cvsroot/tikiwiki/_smarty/libs/plugins/modifier.escape.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -u -d -r1.3 -r1.3.4.1 --- modifier.escape.php 27 Feb 2004 01:26:43 -0000 1.3 +++ modifier.escape.php 27 Jun 2004 12:13:43 -0000 1.3.4.1 @@ -49,9 +49,35 @@ } return $return; + case 'decentity': + $return = ''; + for ($x=0; $x < strlen($string); $x++) { + $return .= '&#' . ord($string[$x]) . ';'; + } + return $return; + case 'javascript': - // escape quotes and backslashes and newlines - return strtr($string, array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n')); + // escape quotes and backslashes, newlines, etc. + return strtr($string, array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n','</'=>'<\/')); + + case 'mail': + // safe way to display e-mail address on a web page + return str_replace(array('@', '.'),array(' [AT] ', ' [DOT] '), $string); + + case 'nonstd': + // escape non-standard chars, such as ms document quotes + $_res = ''; + for($_i = 0, $_len = strlen($string); $_i < $_len; $_i++) { + $_ord = ord($string{$_i}); + // non-standard char, escape it + if($_ord >= 126){ + $_res .= '&#' . $_ord . ';'; + } + else { + $_res .= $string{$_i}; + } + } + return $_res; default: return $string; |