Bug #3919 PropertiesIconic not honored fixed

This commit is contained in:
Spun Nakandala 2013-05-10 12:09:51 +05:30
parent 7337e45f11
commit 01c57f71ca
2 changed files with 12 additions and 8 deletions

View File

@ -95,11 +95,13 @@ class PMA_Util
* @param string $icon name of icon file
* @param string $alternate alternate text
* @param boolean $force_text whether to force alternate text to be displayed
* @param boolean $menu_icon whether this icon is for the menu bar or not
*
* @return string an html snippet
*/
public static function getIcon($icon, $alternate = '', $force_text = false)
{
public static function getIcon($icon, $alternate = '', $force_text = false,
$menu_icon = false
) {
// $cfg['PropertiesIconic'] is true or both
$include_icon = ($GLOBALS['cfg']['PropertiesIconic'] !== false);
// $cfg['PropertiesIconic'] is false or both
@ -107,8 +109,9 @@ class PMA_Util
$include_text = ($force_text
|| ($GLOBALS['cfg']['PropertiesIconic'] !== true));
// Always use a span (we rely on this in js/sql.js)
$button = '<span class="nowrap">';
// Sometimes use a span (we rely on this in js/sql.js). But for menu bar
// we don't need a span
$button = $menu_icon ? '' : '<span class="nowrap">';
if ($include_icon) {
$button .= self::getImage($icon, $alternate);
}
@ -118,7 +121,7 @@ class PMA_Util
if ($include_text) {
$button .= $alternate;
}
$button .= '</span>';
$button .= $menu_icon ? '' : '</span>';
return $button;
}
@ -1803,8 +1806,7 @@ class PMA_Util
// avoid generating an alt tag, because it only illustrates
// the text that follows and if browser does not display
// images, the text is duplicated
$tab['text'] = self::getImage(htmlentities($tab['icon']))
. $tab['text'];
$tab['text'] = self::getIcon($tab['icon'], $tab['text'], false, true);
} elseif (empty($tab['text'])) {
// check to not display an empty link-text

View File

@ -57,10 +57,12 @@ class PMA_getIcon_test extends PHPUnit_Framework_TestCase
$GLOBALS['cfg']['PropertiesIconic'] = true;
$alternate_text = 'alt_str';
// Here we are checking for an icon embeded inside a span (i.e not a menu
// bar icon
$this->assertEquals(
'<span class="nowrap"><img src="themes/dot.gif" title="' . $alternate_text . '" alt="' . $alternate_text
. '" class="icon ic_b_comment" /> ' . $alternate_text . '</span>',
PMA_Util::getIcon('b_comment.png', $alternate_text, true)
PMA_Util::getIcon('b_comment.png', $alternate_text, true, false)
);
}