forked from Wavyzz/dolibarr
Fix #3322 Use title for alt if no alt is provided
alt has priority over title, so it should be filled if title is filled. Use the title value to fill alt. Unit test updated accordingly.
This commit is contained in:
@@ -1906,7 +1906,7 @@ function img_picto($titlealt, $picto, $options = '', $pictoisfullpath = false, $
|
||||
$tmparray=array(0=>$titlealt);
|
||||
if (preg_match('/:[^\s]/',$titlealt)) $tmparray=explode(':',$titlealt); // We explode if we have TextA:TextB. Not if we have TextA: TextB
|
||||
$title=$tmparray[0];
|
||||
$alt=empty($tmparray[1])?'':$tmparray[1];
|
||||
$alt=empty($tmparray[1])?$tmparray[0]:$tmparray[1]; // Use title for alt if no alt is provided
|
||||
return '<img src="'.$fullpathpicto.'" border="0" alt="'.dol_escape_htmltag($alt).'"'.($notitle?'':' title="'.dol_escape_htmltag($title).'"').($options?' '.$options:'').'>'; // Alt is used for accessibility, title for popup
|
||||
}
|
||||
}
|
||||
|
||||
@@ -609,11 +609,11 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase
|
||||
|
||||
$s=img_picto('title','/fullpath/img.png','',1);
|
||||
print __METHOD__." s=".$s."\n";
|
||||
$this->assertEquals('<img src="/fullpath/img.png" border="0" alt="" title="title">',$s,'testImgPicto3');
|
||||
$this->assertEquals('<img src="/fullpath/img.png" border="0" alt="title" title="title">',$s,'testImgPicto3');
|
||||
|
||||
$s=img_picto('title','/fullpath/img.png','',true);
|
||||
print __METHOD__." s=".$s."\n";
|
||||
$this->assertEquals('<img src="/fullpath/img.png" border="0" alt="" title="title">',$s,'testImgPicto4');
|
||||
$this->assertEquals('<img src="/fullpath/img.png" border="0" alt="title" title="title">',$s,'testImgPicto4');
|
||||
|
||||
$s=img_picto('title:alt','/fullpath/img.png','',true);
|
||||
print __METHOD__." s=".$s."\n";
|
||||
|
||||
Reference in New Issue
Block a user