From: Grischa Brockhaus Date: Sun, 4 Dec 2022 23:54:04 +0000 (+0100) Subject: Version 1.03 X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4e7da2799c1b9f97267bd2cb9de0d2dae52afcfe;p=friendica-addons.git Version 1.03 * imgages in body-attach with title / alt attribute get them removed while adding fancy attributes * Added fancybox to image inlined in posts. Un-hooked the old lightbox from frio and vier and excahnged that with fancybox hooks. * Excluded images in "type-link" divs from being "fancied" as they have no images but pages linked to. --- diff --git a/fancybox/CHANGELOG.md b/fancybox/CHANGELOG.md index 60edc635..3d676c0c 100644 --- a/fancybox/CHANGELOG.md +++ b/fancybox/CHANGELOG.md @@ -1,3 +1,13 @@ +### Version 1.03 + +* imgages in body-attach with title / alt attribute get them removed while adding fancy attributes +* Added fancybox to image inlined in posts. Un-hooked the old lightbox from frio and vier and excahnged that with fancybox hooks. +* Excluded images in "type-link" divs from being "fancied" as they have no images but pages linked to. + +### Version 1.02 + +* [MrPetovan](https://github.com/MrPetovan) optimized my noob regular expression code. + ### Version 1.01 * One gallery for each post diff --git a/fancybox/asset/fancybox/fancybox.config.js b/fancybox/asset/fancybox/fancybox.config.js index 904390d5..6ac5d9c5 100644 --- a/fancybox/asset/fancybox/fancybox.config.js +++ b/fancybox/asset/fancybox/fancybox.config.js @@ -1,3 +1,4 @@ $(document).ready(function() { $.fancybox.defaults.loop = "true"; + $("body").off("click", ".wall-item-body a img"); }); \ No newline at end of file diff --git a/fancybox/createrelease b/fancybox/createrelease index 6760c242..238828d6 100755 --- a/fancybox/createrelease +++ b/fancybox/createrelease @@ -11,7 +11,7 @@ rm $MODULE/dist/* # create release for actual version zip -r9 $MODULE/dist/release.zip $MODULE/* -x $MODULE/dist/\* -x $MODULE/test/\* $MODULE/createrelease -echo release/release.zip created. +echo dist/release.zip created. cd $MODULE diff --git a/fancybox/fancybox.php b/fancybox/fancybox.php index f3a566a5..1400a75c 100644 --- a/fancybox/fancybox.php +++ b/fancybox/fancybox.php @@ -2,7 +2,7 @@ /** * Name: Fancybox * Description: Open media attachments of posts into a fancybox overlay. - * Version: 1.01 + * Version: 1.03 * Author: Grischa Brockhaus */ @@ -28,27 +28,43 @@ function fancybox_footer(App $a, string &$str) DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/fancybox.config.js'); } -function fancybox_render(App $a, array &$b) -{ - $matches = []; - $pattern = '#
.*?
#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(' to be replaced + $b['html'] = preg_replace_callback( + '##s', + function ($matches) use ($gallery) { + return str_replace('getCurrentTheme(),['vier','frio'])) + { + // normal post inline linked images + $b['html'] = preg_replace_callback( + '#]*href="([^"]*)"[^>]*>(]*src="[^"]*"[^>]*>)#', + function ($matches) use ($gallery) { + // don't touch URLS marked as not "fancyable".. ;-) + if (preg_match('#data-nofancybox#', $matches[0])) + { + return $matches[0]; + } + return '' . $matches[2] .''; + }, + $b['html'] + ); } - $html = str_replace('class="body-attach done"', 'class="body-attach"', $html); - $b['html'] = $html; + + // Local content images attached: + $b['html'] = preg_replace_callback( + '#
.*?
#s', + function ($matches) use ($gallery) { + return str_replace('