summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-08-19 09:13:38 +0300
committerAndrew Dolgov <[email protected]>2020-08-19 09:13:38 +0300
commitf4253918a8233ab1920bbccad138553f3392754e (patch)
tree1cd5f5f21104377edcbe34286e129aa54686b0e4
parentd99de94153404bc1939d28aa9a526cce688b134c (diff)
linkify resized images unless already inside a link
-rw-r--r--init.php21
1 files changed, 17 insertions, 4 deletions
diff --git a/init.php b/init.php
index b2b5da1..211e7dd 100644
--- a/init.php
+++ b/init.php
@@ -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;
}
}