liquid_feedback_frontend
view app/main/member/_action/update_images.lua @ 25:4b2af207cefa
Use timings of issue instead of policy
| author | bsw | 
|---|---|
| date | Sun Feb 21 14:23:56 2010 +0100 (2010-02-21) | 
| parents | 80c215dbf076 | 
| children | 88ac7798b562 | 
 line source
     1 local member_id = app.session.member_id
     3 local deleted = 0
     4 local updated = 0
     6 for i, image_type in ipairs{"avatar", "photo"} do
     8   local member_image = MemberImage:by_pk(member_id, image_type, false)
     9   local member_image_scaled = MemberImage:by_pk(member_id, image_type, true)
    11   if param.get(image_type .. "_delete", atom.boolean) then
    12     if member_image then
    13       member_image:destroy()
    14     end
    15     if member_image_scaled then
    16       member_image_scaled:destroy()
    17     end
    18     deleted = deleted + 1
    19   else
    21     local data = param.get(image_type)
    22     if data and #data > 0 and #data < 1024*1024 then
    23       local convert_func = config.member_image_convert_func[image_type]
    24       local data_scaled, err, status = convert_func(data)
    25       if status ~= 0 or data_scaled == nil then
    26       error("error while converting image")
    27       end
    29       if not member_image then
    30         member_image = MemberImage:new()
    31         member_image.member_id = member_id
    32         member_image.image_type = image_type
    33         member_image.scaled = false
    34         member_image.data = ""
    35         member_image:save()
    36       end
    38       if not member_image_scaled then
    39         member_image_scaled = MemberImage:new()
    40         member_image_scaled.member_id = member_id
    41         member_image_scaled.image_type = image_type
    42         member_image_scaled.scaled = true
    43         member_image_scaled.content_type = true
    44         member_image_scaled.data = ""
    45         member_image_scaled:save()
    46       end
    48       if data and #data > 0 then
    49         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 }
    50       end
    52       if data_scaled and #data_scaled > 0 then
    53         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 }
    54       end
    56       updated = updated + 1
    57     end
    58   end
    59 end
    61 if updated > 0 then
    62   slot.put_into("notice", _("#{number} Image(s) has been updated", { number = updated }))
    63 end
    64 if updated > 0 and deleted > 0 then
    65   slot.put_into("notice", " · ")
    66 end
    67 if deleted > 0 then
    68   slot.put_into("notice", _("#{number} Image(s) has been deleted", { number = deleted }))
    69 end
    71 if updated == 0 and deleted == 0 then
    72   slot.put_into("warning", _("No changes to your images were made"))
    73 end
