liquid_feedback_frontend
changeset 1148:8874448bbb7a
Avoid caching of member avatar and photo on member page
author | bsw |
---|---|
date | Sun Mar 22 18:50:36 2015 +0100 (2015-03-22) |
parents | 24787d0d9317 |
children | 911253ad0898 |
files | app/main/member/_profile.lua app/main/member/show.lua app/main/member_image/_show.lua app/main/member_image/show.lua |
line diff
1.1 --- a/app/main/member/_profile.lua Sun Mar 22 17:32:38 2015 +0100 1.2 +++ b/app/main/member/_profile.lua Sun Mar 22 18:50:36 2015 +0100 1.3 @@ -22,7 +22,8 @@ 1.4 view = "_show", 1.5 params = { 1.6 member = member, 1.7 - image_type = "photo" 1.8 + image_type = "photo", 1.9 + force_update = true 1.10 } 1.11 } 1.12 end }
2.1 --- a/app/main/member/show.lua Sun Mar 22 17:32:38 2015 +0100 2.2 +++ b/app/main/member/show.lua Sun Mar 22 18:50:36 2015 +0100 2.3 @@ -83,7 +83,8 @@ 2.4 member = member, 2.5 image_type = "avatar", 2.6 show_dummy = true, 2.7 - class = "left" 2.8 + class = "left", 2.9 + force_update = true 2.10 } 2.11 } 2.12 ui.heading{ level = 1, content = member.name } 2.13 @@ -182,3 +183,20 @@ 2.14 end ) 2.15 2.16 end ) 2.17 + 2.18 + 2.19 +if app.session.member.id == member.id then 2.20 + ui.script{ script = [[ 2.21 + var url = $(".microAvatar")[0].src; 2.22 + var onload = function() { 2.23 + this.contentWindow.location.reload(true); 2.24 + this.removeEventListener("load", onload, false); 2.25 + this.parentElement.removeChild(this); 2.26 + } 2.27 + var iframeEl = document.createElement("iframe"); 2.28 + iframeEl.style.display = "none"; 2.29 + iframeEl.src = url; 2.30 + iframeEl.addEventListener("load", onload, false); 2.31 + document.body.appendChild(iframeEl); 2.32 + ]] } 2.33 +end
3.1 --- a/app/main/member_image/_show.lua Sun Mar 22 17:32:38 2015 +0100 3.2 +++ b/app/main/member_image/_show.lua Sun Mar 22 18:50:36 2015 +0100 3.3 @@ -5,6 +5,8 @@ 3.4 local class = param.get("class") 3.5 local popup_text = param.get("popup_text") 3.6 3.7 +local force_update = param.get("force_update", atom.boolean) 3.8 + 3.9 if class then 3.10 class = " " .. class 3.11 else 3.12 @@ -25,7 +27,8 @@ 3.13 extension = "jpg", 3.14 id = member_id, 3.15 params = { 3.16 - image_type = image_type 3.17 + image_type = image_type, 3.18 + dynamic = force_update and os.time() or nil 3.19 } 3.20 } 3.21 end
4.1 --- a/app/main/member_image/show.lua Sun Mar 22 17:32:38 2015 +0100 4.2 +++ b/app/main/member_image/show.lua Sun Mar 22 18:50:36 2015 +0100 4.3 @@ -1,6 +1,8 @@ 4.4 local image_type = param.get("image_type") 4.5 local record = MemberImage:by_pk(param.get_id(), image_type, true) 4.6 4.7 +local dynamic = param.get("dynamic") 4.8 + 4.9 local data, content_type 4.10 4.11 if record then 4.12 @@ -24,7 +26,9 @@ 4.13 4.14 end 4.15 4.16 -request.allow_caching() 4.17 +if not dynamic then 4.18 + request.allow_caching() 4.19 +end 4.20 4.21 slot.set_layout(nil, content_type) 4.22 slot.put_into("data", data)