Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CSU
tweeki
Commits
d9db25ef
Commit
d9db25ef
authored
Apr 30, 2019
by
Tobias Haider
Browse files
Fix for .mw-headlines, problems with divs in the same line
parent
ccde5866
Changes
1
Hide whitespace changes
Inline
Side-by-side
includes/Hooks.php
View file @
d9db25ef
...
...
@@ -53,32 +53,28 @@ class TweekiHooks {
* that we need for correct positioning for anchors and this would render links above headlines inaccessible
*/
public
static
function
onOutputPageBeforeHTML
(
&
$out
,
&
$text
)
{
$text
=
preg_replace_callback
(
'/^.*<span class="mw-headline".*$/m'
,
function
(
$matches
)
{
$doc
=
new
DOMDocument
();
$html
=
mb_convert_encoding
(
$matches
[
0
],
'HTML-ENTITIES'
,
'UTF-8'
);
$doc
->
loadHTML
(
$html
);
$spans
=
$doc
->
getElementsByTagName
(
'span'
);
$mw_headline
=
''
;
foreach
(
$spans
as
$span
)
{
if
(
$span
->
getAttribute
(
'class'
)
==
'mw-headline'
)
{
$mw_headline
=
$span
;
}
}
$doc
=
new
DOMDocument
();
$html
=
mb_convert_encoding
(
$text
,
'HTML-ENTITIES'
,
'UTF-8'
);
$doc
->
loadHTML
(
$html
);
$spans
=
$doc
->
getElementsByTagName
(
'span'
);
foreach
(
$spans
as
$span
)
{
$mw_headline
=
''
;
if
(
$span
->
getAttribute
(
'class'
)
==
'mw-headline'
)
{
$mw_headline
=
$span
;
/* move the contents of .mw-headline to a newly created .mw-headline-content */
$mw_headline_content
=
$doc
->
createElement
(
"span"
);
$mw_headline_content
->
setAttribute
(
'class'
,
'mw-headline-content'
);
while
(
$mw_headline
->
firstChild
)
{
$mw_headline_content
->
appendChild
(
$mw_headline
->
removeChild
(
$mw_headline
->
firstChild
)
);
}
/* put .mw-headline before .mw-headline-content */
$mw_headline
->
parentNode
->
insertBefore
(
$mw_headline_content
,
$mw_headline
);
$mw_headline
->
parentNode
->
insertBefore
(
$mw_headline
,
$mw_headline_content
);
return
(
$doc
->
saveHTML
(
$mw_headline
->
parentNode
)
);
},
$text
);
}
}
$text
=
$doc
->
saveHTML
(
$doc
->
documentElement
->
firstChild
->
firstChild
);
}
/**
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment