... | ... |
@@ -13,47 +13,46 @@ namespace EsalesMedia\ContentHelperBundle\EventListener; |
13 | 13 |
|
14 | 14 |
class InsertTagsListener |
15 | 15 |
{ |
16 |
- |
|
17 |
- public function onReplaceInsertTags($tag) |
|
18 |
- { |
|
19 |
- $strId = ''; |
|
20 |
- $strPrefix = 'ico'; |
|
21 |
- $template = '<svg class="%s"><use xlink:href="#%s"></use></svg>'; |
|
22 |
- $elements = explode('::', $tag); |
|
23 |
- |
|
24 |
- if ($elements[0] == 'svg') |
|
25 |
- { |
|
26 |
- if ($elements[2]) |
|
27 |
- { |
|
28 |
- $strPrefix = $elements[2]; |
|
29 |
- if (isset($elements[3])) { |
|
16 |
+ public function onReplaceInsertTags($tag) |
|
17 |
+ { |
|
18 |
+ $strId = ''; |
|
19 |
+ $strPrefix = 'ico'; |
|
20 |
+ $template = '<svg class="%s"><use xlink:href="#%s"></use></svg>'; |
|
21 |
+ $elements = explode('::', $tag); |
|
22 |
+ |
|
23 |
+ if ($elements[0] == 'svg') |
|
24 |
+ { |
|
25 |
+ if ($elements[2]) |
|
26 |
+ { |
|
27 |
+ $strPrefix = $elements[2]; |
|
28 |
+ if (isset($elements[3])) { |
|
30 | 29 |
$strId = $elements[3]; |
31 |
- } |
|
32 |
- } |
|
33 |
- if ($elements[1]) |
|
34 |
- { |
|
35 |
- $strClasses = ''; |
|
36 |
- if ($elements[1] && stripos(':', $elements[1]) !== 0) |
|
37 |
- { |
|
38 |
- list($strClass, $strClasses) = explode(':', $elements[1], 1); |
|
39 |
- } else { |
|
40 |
- $strClass = $elements[1]; |
|
41 |
- } |
|
42 |
- |
|
43 |
- $strSvgId = $strPrefix.'-'.$strClass; |
|
44 |
- $strClasses = $strSvgId; |
|
45 |
- foreach (explode(' ', $strClasses) as $class) |
|
46 |
- { |
|
47 |
- $strClasses .= ' '.$class; |
|
48 |
- } |
|
49 |
- if ($strId) |
|
50 |
- { |
|
51 |
- $template = '<svg id="'.$strId.'" class="%s"><use xlink:href="#%s"></use></svg>'; |
|
52 |
- } |
|
53 |
- return sprintf($template,$strClasses,$strSvgId); |
|
54 |
- } |
|
55 |
- } |
|
30 |
+ } |
|
31 |
+ } |
|
32 |
+ if ($elements[1]) |
|
33 |
+ { |
|
34 |
+ $strClasses = ''; |
|
35 |
+ if ($elements[1] && stripos(':', $elements[1]) !== 0) |
|
36 |
+ { |
|
37 |
+ list($strClass, $strClasses) = explode(':', $elements[1], 1); |
|
38 |
+ } else { |
|
39 |
+ $strClass = $elements[1]; |
|
40 |
+ } |
|
41 |
+ |
|
42 |
+ $strSvgId = $strPrefix.'-'.$strClass; |
|
43 |
+ $strClasses = $strSvgId; |
|
44 |
+ foreach (explode(' ', $strClasses) as $class) |
|
45 |
+ { |
|
46 |
+ $strClasses .= ' '.$class; |
|
47 |
+ } |
|
48 |
+ if ($strId) |
|
49 |
+ { |
|
50 |
+ $template = '<svg id="'.$strId.'" class="%s"><use xlink:href="#%s"></use></svg>'; |
|
51 |
+ } |
|
52 |
+ return sprintf($template,$strClasses,$strSvgId); |
|
53 |
+ } |
|
54 |
+ } |
|
56 | 55 |
|
57 | 56 |
return false; |
58 |
- } |
|
57 |
+ } |
|
59 | 58 |
} |
... | ... |
@@ -25,3 +25,4 @@ $GLOBALS['FE_MOD']['miscellaneous']['articlelist'] = 'EsalesMedia\\ContentHelper |
25 | 25 |
*/ |
26 | 26 |
$GLOBALS['TL_HOOKS']['parseTemplate'][] = array('esalesmedia_content_helper.listener.template','onParseTemplate'); |
27 | 27 |
$GLOBALS['TL_HOOKS']['generatePage'][] = array('esalesmedia_content_helper.listener.page','onGeneratePage'); |
28 |
+$GLOBALS['TL_HOOKS']['replaceInsertTags'][] = array('esalesmedia_content_helper.listener.insert_tags','onReplaceInsertTags'); |