fix bug with get_registered_object

This commit is contained in:
mohrt
2003-02-24 17:47:05 +00:00
parent ebb54d1e73
commit 566c5b71d5
3 changed files with 66 additions and 4 deletions

1
NEWS
View File

@@ -1,3 +1,4 @@
- added html_image to distribution (Monte)
- added cat modifier (Monte) - added cat modifier (Monte)
- added << >> <> support to if statments (SMK, Monte) - added << >> <> support to if statments (SMK, Monte)
- fix _assign_smarty_interface to not overwrite keys - fix _assign_smarty_interface to not overwrite keys

View File

@@ -1367,11 +1367,11 @@ class Smarty
* @param string $name * @param string $name
*/ */
function &get_registered_object($name) { function &get_registered_object($name) {
if (!isset($this->_reg_objects[$object])) if (!isset($this->_reg_objects[$name]))
$this->_trigger_fatal_error("'$object' is not a registered object"); $this->_trigger_fatal_error("'$name' is not a registered object");
if (!is_object($this->_reg_objects[$object][0])) if (!is_object($this->_reg_objects[$name][0]))
$this->_trigger_fatal_error("registered '$object' is not an object"); $this->_trigger_fatal_error("registered '$name' is not an object");
return $this->_reg_objects[$name][0]; return $this->_reg_objects[$name][0];
} }

View File

@@ -0,0 +1,61 @@
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* Type: function
* Name: html_image
* Version: 1.0
* Date: Feb 24, 2003
* Author: Monte Ohrt <monte@ispi.net>
* Purpose: format HTML tags for the image
* Input: name = name of image (required)
* border = border width (optional, default 0)
* height = image height (optional, default actual height)
* image =image width (optional, default actual width)
* basedir= base directory for absolute paths, default
* is environment variable DOCUMENT_ROOT
*
* Examples: {image name="images/masthead.gif"}
* Output: <img src="images/masthead.gif" border=0 width=400 height=23>
* -------------------------------------------------------------
*/
function smarty_function_html_image($params, &$smarty)
{
$name = '';
$border = 0;
$height = null;
$width = null;
$basedir = isset($GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT'])
? $GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT'] : null;
extract($params);
if (empty($name)) {
$smarty->trigger_error("html_image: missing 'name' parameter", E_USER_ERROR);
}
if(substr($name,0,1) == DIR_SEP) {
$_image_path = $basedir . DIR_SEP . $name;
} else {
$_image_path = $name;
}
if(!file_exists($_image_path)) {
$smarty->trigger_error("html_image: unable to find '$_image_path'", E_USER_ERROR);
}
if(!is_readable($_image_path)) {
$smarty->trigger_error("html_image: unable to read '$_image_path'", E_USER_ERROR);
}
if(!$_image_data = getimagesize($_image_path)) {
$smarty->trigger_error("html_image: '$_image_path' is not a valid image file", E_USER_ERROR);
}
return "<img src=\"$name\" border=\"$border\" ".$_image_data[3].'>';
}
/* vim: set expandtab: */
?>