Code style

pull/1320/head
Grischa Brockhaus 2022-11-25 02:05:38 +01:00
parent 1a5b19ff69
commit 537ee2e656
1 changed files with 28 additions and 37 deletions

View File

@ -12,50 +12,41 @@ use Friendica\DI;
function fancybox_install()
{
Hook::register('head', __FILE__, 'fancybox_head');
Hook::register('footer', __FILE__, 'fancybox_footer');
Hook::register('prepare_body_final', __FILE__, 'fancybox_render');
Hook::register('head', __FILE__, 'fancybox_head');
Hook::register('footer', __FILE__, 'fancybox_footer');
Hook::register('prepare_body_final', __FILE__, 'fancybox_render');
}
function fancybox_head(App $a, string &$b)
{
DI::page()->registerStylesheet(__DIR__ . '/asset/fancybox/jquery.fancybox.min.css');
DI::page()->registerStylesheet(__DIR__ . '/asset/fancybox/jquery.fancybox.min.css');
}
function fancybox_footer(App $a, string &$str)
{
DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/jquery.fancybox.min.js');
DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/fancybox.config.js');
DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/jquery.fancybox.min.js');
DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/fancybox.config.js');
}
/*
prepare_body_final
Called at the end of prepare_body(). Hook data:
item: item array (input)
html: converted item body (input/output)
*/
function fancybox_render(App $a, array &$b) {
$matches = [];
$pattern='#<div class="body-attach">.*?</div>#s';
$gallery = 'gallery';
if (array_key_exists('item', $b)) {
$item = $b['item'];
if (array_key_exists('uri-id', $item)) {
$gallery = $gallery . '-' . $item['uri-id'];
}
}
$html = $b['html'];
while (preg_match($pattern, $html, $matches, PREG_OFFSET_CAPTURE)) {
if (is_array($matches)) $matches=$matches[0];
$part = $matches[0];
$replaced = str_replace('<a href', '<a data-fancybox="' . $gallery . '" href', $part);
$replaced = str_replace('<div class="body-attach"', '<div class="body-attach done"', $replaced);
$html =str_replace($part, $replaced, $html);
}
$html = str_replace('class="body-attach done"', 'class="body-attach"', $html);
$b['html'] = $html;
function fancybox_render(App $a, array &$b)
{
$matches = [];
$pattern = '#<div class="body-attach">.*?</div>#s';
$gallery = 'gallery';
if (array_key_exists('item', $b)) {
$item = $b['item'];
if (array_key_exists('uri-id', $item)) {
$gallery = $gallery . '-' . $item['uri-id'];
}
}
$html = $b['html'];
while (preg_match($pattern, $html, $matches, PREG_OFFSET_CAPTURE)) {
if (is_array($matches)) $matches = $matches[0];
$part = $matches[0];
$replaced = str_replace('<a href', '<a data-fancybox="' . $gallery . '" href', $part);
$replaced = str_replace('<div class="body-attach"', '<div class="body-attach done"', $replaced);
$html = str_replace($part, $replaced, $html);
}
$html = str_replace('class="body-attach done"', 'class="body-attach"', $html);
$b['html'] = $html;
}