diff options
author | Andrew Dolgov <[email protected]> | 2020-08-19 09:13:38 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2020-08-19 09:13:38 +0300 |
commit | f4253918a8233ab1920bbccad138553f3392754e (patch) | |
tree | 1cd5f5f21104377edcbe34286e129aa54686b0e4 | |
parent | d99de94153404bc1939d28aa9a526cce688b134c (diff) |
linkify resized images unless already inside a link
-rw-r--r-- | init.php | 21 |
1 files changed, 17 insertions, 4 deletions
@@ -246,13 +246,26 @@ class Api_Resize_Media extends Plugin { $imgs = $xpath->query("//img[@src]"); foreach ($imgs as $img) { - $new_src = $this->rewrite_url_if_needed($img->getAttribute("src"), $width); + $orig_src = $img->getAttribute("src"); + $new_src = $this->rewrite_url_if_needed($orig_src, $width); + + if ($new_src != $orig_src) { + $need_saving = true; + + $parent = $img->parentNode; + + if ($parent && $parent->tagName != "a") { + $img_link = $doc->createElement("a"); + $img_link->setAttribute("href", $orig_src); + $img_link->setAttribute("target", "_blank"); + + $parent->replaceChild($img_link, $img); + + $img_link->appendChild($img); + } - if ($new_src != $img->getAttribute("src")) { $img->setAttribute("src", $new_src); $img->removeAttribute("srcset"); - - $need_saving = true; } } |