liquid_feedback_frontend

diff app/main/member/_action/update_images.lua @ 4:80c215dbf076

Version alpha5

Many optical changes and improved usability

Support for different wiki-formatting-engines

Help system
author bsw/jbe
date Thu Dec 10 12:00:00 2009 +0100 (2009-12-10)
parents
children 88ac7798b562
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/app/main/member/_action/update_images.lua	Thu Dec 10 12:00:00 2009 +0100
     1.3 @@ -0,0 +1,73 @@
     1.4 +local member_id = app.session.member_id
     1.5 +
     1.6 +local deleted = 0
     1.7 +local updated = 0
     1.8 +
     1.9 +for i, image_type in ipairs{"avatar", "photo"} do
    1.10 +
    1.11 +  local member_image = MemberImage:by_pk(member_id, image_type, false)
    1.12 +  local member_image_scaled = MemberImage:by_pk(member_id, image_type, true)
    1.13 +
    1.14 +  if param.get(image_type .. "_delete", atom.boolean) then
    1.15 +    if member_image then
    1.16 +      member_image:destroy()
    1.17 +    end
    1.18 +    if member_image_scaled then
    1.19 +      member_image_scaled:destroy()
    1.20 +    end
    1.21 +    deleted = deleted + 1
    1.22 +  else
    1.23 +
    1.24 +    local data = param.get(image_type)
    1.25 +    if data and #data > 0 and #data < 1024*1024 then
    1.26 +      local convert_func = config.member_image_convert_func[image_type]
    1.27 +      local data_scaled, err, status = convert_func(data)
    1.28 +      if status ~= 0 or data_scaled == nil then
    1.29 +      error("error while converting image")
    1.30 +      end
    1.31 +
    1.32 +      if not member_image then
    1.33 +        member_image = MemberImage:new()
    1.34 +        member_image.member_id = member_id
    1.35 +        member_image.image_type = image_type
    1.36 +        member_image.scaled = false
    1.37 +        member_image.data = ""
    1.38 +        member_image:save()
    1.39 +      end
    1.40 +
    1.41 +      if not member_image_scaled then
    1.42 +        member_image_scaled = MemberImage:new()
    1.43 +        member_image_scaled.member_id = member_id
    1.44 +        member_image_scaled.image_type = image_type
    1.45 +        member_image_scaled.scaled = true
    1.46 +        member_image_scaled.content_type = true
    1.47 +        member_image_scaled.data = ""
    1.48 +        member_image_scaled:save()
    1.49 +      end
    1.50 +
    1.51 +      if data and #data > 0 then
    1.52 +        db:query{ "UPDATE member_image SET data = $ WHERE member_id = ? AND image_type='" .. image_type .. "' AND scaled=FALSE", { db:quote_binary(data) }, app.session.member.id }
    1.53 +      end
    1.54 +
    1.55 +      if data_scaled and #data_scaled > 0 then
    1.56 +        db:query{ "UPDATE member_image SET data = $ WHERE member_id = ? AND image_type='" .. image_type .. "' AND scaled=TRUE", { db:quote_binary(data_scaled) }, app.session.member.id }
    1.57 +      end
    1.58 +
    1.59 +      updated = updated + 1
    1.60 +    end
    1.61 +  end
    1.62 +end
    1.63 +
    1.64 +if updated > 0 then
    1.65 +  slot.put_into("notice", _("#{number} Image(s) has been updated", { number = updated }))
    1.66 +end
    1.67 +if updated > 0 and deleted > 0 then
    1.68 +  slot.put_into("notice", " &middot; ")
    1.69 +end
    1.70 +if deleted > 0 then
    1.71 +  slot.put_into("notice", _("#{number} Image(s) has been deleted", { number = deleted }))
    1.72 +end
    1.73 +
    1.74 +if updated == 0 and deleted == 0 then
    1.75 +  slot.put_into("warning", _("No changes to your images were made"))
    1.76 +end
    1.77 \ No newline at end of file

Impressum / About Us