# HG changeset patch # User bsw # Date 1427046636 -3600 # Node ID 8874448bbb7ad9f754ed958a0136ae82dde4c1aa # Parent 24787d0d931756d261d3d38ca2c8e10c7041c200 Avoid caching of member avatar and photo on member page diff -r 24787d0d9317 -r 8874448bbb7a app/main/member/_profile.lua --- a/app/main/member/_profile.lua Sun Mar 22 17:32:38 2015 +0100 +++ b/app/main/member/_profile.lua Sun Mar 22 18:50:36 2015 +0100 @@ -22,7 +22,8 @@ view = "_show", params = { member = member, - image_type = "photo" + image_type = "photo", + force_update = true } } end } diff -r 24787d0d9317 -r 8874448bbb7a app/main/member/show.lua --- a/app/main/member/show.lua Sun Mar 22 17:32:38 2015 +0100 +++ b/app/main/member/show.lua Sun Mar 22 18:50:36 2015 +0100 @@ -83,7 +83,8 @@ member = member, image_type = "avatar", show_dummy = true, - class = "left" + class = "left", + force_update = true } } ui.heading{ level = 1, content = member.name } @@ -182,3 +183,20 @@ end ) end ) + + +if app.session.member.id == member.id then + ui.script{ script = [[ + var url = $(".microAvatar")[0].src; + var onload = function() { + this.contentWindow.location.reload(true); + this.removeEventListener("load", onload, false); + this.parentElement.removeChild(this); + } + var iframeEl = document.createElement("iframe"); + iframeEl.style.display = "none"; + iframeEl.src = url; + iframeEl.addEventListener("load", onload, false); + document.body.appendChild(iframeEl); + ]] } +end diff -r 24787d0d9317 -r 8874448bbb7a app/main/member_image/_show.lua --- a/app/main/member_image/_show.lua Sun Mar 22 17:32:38 2015 +0100 +++ b/app/main/member_image/_show.lua Sun Mar 22 18:50:36 2015 +0100 @@ -5,6 +5,8 @@ local class = param.get("class") local popup_text = param.get("popup_text") +local force_update = param.get("force_update", atom.boolean) + if class then class = " " .. class else @@ -25,7 +27,8 @@ extension = "jpg", id = member_id, params = { - image_type = image_type + image_type = image_type, + dynamic = force_update and os.time() or nil } } end diff -r 24787d0d9317 -r 8874448bbb7a app/main/member_image/show.lua --- a/app/main/member_image/show.lua Sun Mar 22 17:32:38 2015 +0100 +++ b/app/main/member_image/show.lua Sun Mar 22 18:50:36 2015 +0100 @@ -1,6 +1,8 @@ local image_type = param.get("image_type") local record = MemberImage:by_pk(param.get_id(), image_type, true) +local dynamic = param.get("dynamic") + local data, content_type if record then @@ -24,7 +26,9 @@ end -request.allow_caching() +if not dynamic then + request.allow_caching() +end slot.set_layout(nil, content_type) slot.put_into("data", data)