Fix: img extension was not correctly managed

This commit is contained in:
Laurent Destailleur 2011-07-18 03:49:10 +00:00
parent 0bb42ce4a7
commit bb13f52880

View File

@ -29,7 +29,7 @@
* \file htdocs/lib/functions.lib.php * \file htdocs/lib/functions.lib.php
* \brief A set of functions for Dolibarr * \brief A set of functions for Dolibarr
* This file contains all frequently used functions. * This file contains all frequently used functions.
* \version $Id: functions.lib.php,v 1.547 2011/07/18 00:48:33 eldy Exp $ * \version $Id: functions.lib.php,v 1.548 2011/07/18 03:49:10 eldy Exp $
*/ */
// For compatibility during upgrade // For compatibility during upgrade
@ -1559,34 +1559,40 @@ function dol_trunc($string,$size=40,$trunc='right',$stringencoding='UTF-8')
/** /**
* Show a picto according to module or object (generic function) * Show a picto called object_picto (generic function)
* @param alt Text of alt on image * @param alt Text of alt on image
* @param object Objet pour lequel il faut afficher le logo (example: user, group, action, bill, contract, propal, product, ...) * @param picto Name of image to show object_picto (example: user, group, action, bill, contract, propal, product, ...)
* Pour les modules externe utiliser nomimage@mymodule pour rechercher dans le repertoire "img" du module * For external modules use imagename@mymodule to search into directory "img" of module.
* @param options Add more attribute on img tag * @param options Add more attribute on img tag
* @return string Return img tag * @param pictoisfullpath If 1, image path is a full path
* @return string Return img tag
* @see img_picto, img_picto_common * @see img_picto, img_picto_common
*/ */
function img_object($alt, $object, $options='') function img_object($alt, $picto, $options='', $pictoisfullpath=0)
{ {
global $conf,$langs; global $conf,$langs;
$path = 'theme/'.$conf->theme; $path = 'theme/'.$conf->theme;
$url = DOL_URL_ROOT; $url = DOL_URL_ROOT;
if (preg_match('/^([^@]+)@([^@]+)$/i',$object,$regs)) if (preg_match('/^([^@]+)@([^@]+)$/i',$picto,$regs))
{ {
$object = $regs[1]; $picto = $regs[1];
$path = $regs[2]; $path = $regs[2];
if (! preg_match('/(\.png|\.gif)$/i',$picto)) $picto.='.png';
// If img file not into standard path, we use alternate path // If img file not into standard path, we use alternate path
if (defined('DOL_URL_ROOT_ALT') && DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/object_'.$object.'.png')) $url = DOL_URL_ROOT_ALT; if (defined('DOL_URL_ROOT_ALT') && DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/object_'.$picto)) $url = DOL_URL_ROOT_ALT;
} }
else
return '<img src="'.$url.'/'.$path.'/img/object_'.$object.'.png" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'"'.($options?' '.$options:'').'>'; {
if (! preg_match('/(\.png|\.gif)$/i',$picto)) $picto.='.png';
}
if ($pictoisfullpath) return '<img src="'.$picto.'" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'"'.($options?' '.$options:'').'>';
return '<img src="'.$url.'/'.$path.'/img/object_'.$picto.'" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'"'.($options?' '.$options:'').'>';
} }
/** /**
* Show picto (generic function) * Show picto whatever it's its name (generic function)
* @param alt Text on alt and title of image * @param alt Text on alt and title of image
* @param picto Name of image file to show (If no extension provided, we use '.png'). Image must be stored into img directory. * @param picto Name of image file to show (If no extension provided, we use '.png'). Image must be stored into img directory.
* Example: picto.png if picto.png is stored into htdocs/theme/mytheme/img * Example: picto.png if picto.png is stored into htdocs/theme/mytheme/img
@ -1612,8 +1618,10 @@ function img_picto($alt, $picto, $options='', $pictoisfullpath=0)
// If img file not into standard path, we use alternate path // If img file not into standard path, we use alternate path
if (defined('DOL_URL_ROOT_ALT') && DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/'.$picto)) $url = DOL_URL_ROOT_ALT; if (defined('DOL_URL_ROOT_ALT') && DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/'.$picto)) $url = DOL_URL_ROOT_ALT;
} }
else
if (! preg_match('/(\.png|\.gif)$/i',$picto)) $picto.='.png'; {
if (! preg_match('/(\.png|\.gif)$/i',$picto)) $picto.='.png';
}
if ($pictoisfullpath) return '<img src="'.$picto.'" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'"'.($options?' '.$options:'').'>'; if ($pictoisfullpath) return '<img src="'.$picto.'" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'"'.($options?' '.$options:'').'>';
return '<img src="'.$url.'/'.$path.'/img/'.$picto.'" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'"'.($options?' '.$options:'').'>'; return '<img src="'.$url.'/'.$path.'/img/'.$picto.'" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'"'.($options?' '.$options:'').'>';
} }