diff --git a/inc/Menu/Item/AbstractItem.php b/inc/Menu/Item/AbstractItem.php index 82b351b816d55e8234190d9a1085d43e9cb7e6cb..45ead5562e564e91eb84f34dfa229969e74e92e7 100644 --- a/inc/Menu/Item/AbstractItem.php +++ b/inc/Menu/Item/AbstractItem.php @@ -171,7 +171,6 @@ abstract class AbstractItem { * * Uses html_btn() * - * @todo this does currently not support the SVG icon * @return string */ public function asHtmlButton() { @@ -182,7 +181,8 @@ abstract class AbstractItem { $this->getParams(), $this->method, $this->getTitle(), - $this->getLabel() + $this->getLabel(), + $this->getSvg() ); } diff --git a/inc/html.php b/inc/html.php index b8465a641938dd8ddc4c876237699327e0adeeb7..99b0c99865bc5a4830937d4e93a12f464666ef8f 100644 --- a/inc/html.php +++ b/inc/html.php @@ -188,9 +188,10 @@ function html_topbtn(){ * @param string $method * @param string $tooltip * @param bool|string $label label text, false: lookup btn_$name in localization + * @param string $svg (optional) svg code, inserted into the button * @return string */ -function html_btn($name, $id, $akey, $params, $method='get', $tooltip='', $label=false){ +function html_btn($name, $id, $akey, $params, $method='get', $tooltip='', $label=false, $svg=null){ global $conf; global $lang; @@ -233,7 +234,12 @@ function html_btn($name, $id, $akey, $params, $method='get', $tooltip='', $label $ret .= 'accesskey="'.$akey.'" '; } $ret .= 'title="'.$tip.'">'; - $ret .= hsc($label); + if ($svg) { + $ret .= '<span>' . hsc($label) . '</span>'; + $ret .= inlineSVG($svg); + } else { + $ret .= hsc($label); + } $ret .= '</button>'; $ret .= '</div></form>'; @@ -2314,4 +2320,4 @@ function html_sizechange($sizechange, Doku_Form $form) { $form->addElement($value); $form->addElement(form_makeCloseTag('span')); } -} \ No newline at end of file +}