liquid_feedback_frontend
view app/main/member/_action/update_images.lua @ 1839:7d000a357704
Added missing dependency
| author | bsw | 
|---|---|
| date | Thu Feb 03 15:54:57 2022 +0100 (2022-02-03) | 
| parents | 5ae3b8d819c5 | 
| children | 
 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         slot.put_into("error", _"Error while converting image. Please note, that only JPG files are supported!")
    27         return false
    28       end
    30       if not member_image then
    31         local meta = request.get_param{ name = image_type, meta = true }
    32         member_image = MemberImage:new()
    33         member_image.member_id = member_id
    34         member_image.image_type = image_type
    35         member_image.scaled = false
    36         member_image.content_type = meta.content_type
    37         member_image.data = ""
    38         member_image:save()
    39       end
    41       if not member_image_scaled then
    42         member_image_scaled = MemberImage:new()
    43         member_image_scaled.member_id = member_id
    44         member_image_scaled.image_type = image_type
    45         member_image_scaled.scaled = true
    46         member_image_scaled.content_type = config.member_image_content_type
    47         member_image_scaled.data = ""
    48         member_image_scaled:save()
    49       end
    51       if data and #data > 0 then
    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 }
    53       end
    55       if data_scaled and #data_scaled > 0 then
    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 }
    57       end
    59       updated = updated + 1
    60     end
    61   end
    62 end
    64 if updated > 0 then
    65   slot.put_into("notice", _("#{number} Image(s) has been updated", { number = updated }))
    66 end
    67 if updated > 0 and deleted > 0 then
    68   slot.put_into("notice", " · ")
    69 end
    70 if deleted > 0 then
    71   slot.put_into("notice", _("#{number} Image(s) has been deleted", { number = deleted }))
    72 end
    74 if updated == 0 and deleted == 0 then
    75   slot.put_into("warning", _("No changes to your images were made"))
    76 end
