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)

Impressum / About Us