liquid_feedback_frontend
view app/main/member/_action/update_images.lua @ 482:3bc96debbd05
Add more missing group by clauses for search selectors
| author | bsw | 
|---|---|
| date | Thu Mar 15 13:23:42 2012 +0100 (2012-03-15) | 
| parents | 733f65c0c0a0 | 
| children | 5ae3b8d819c5 | 
 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         member_image = MemberImage:new()
    32         member_image.member_id = member_id
    33         member_image.image_type = image_type
    34         member_image.scaled = false
    35         member_image.content_type = cgi.post_types[image_type] or nil
    36         member_image.data = ""
    37         member_image:save()
    38       end
    40       if not member_image_scaled then
    41         member_image_scaled = MemberImage:new()
    42         member_image_scaled.member_id = member_id
    43         member_image_scaled.image_type = image_type
    44         member_image_scaled.scaled = true
    45         member_image_scaled.content_type = config.member_image_content_type
    46         member_image_scaled.data = ""
    47         member_image_scaled:save()
    48       end
    50       if data and #data > 0 then
    51         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 }
    52       end
    54       if data_scaled and #data_scaled > 0 then
    55         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 }
    56       end
    58       updated = updated + 1
    59     end
    60   end
    61 end
    63 if updated > 0 then
    64   slot.put_into("notice", _("#{number} Image(s) has been updated", { number = updated }))
    65 end
    66 if updated > 0 and deleted > 0 then
    67   slot.put_into("notice", " · ")
    68 end
    69 if deleted > 0 then
    70   slot.put_into("notice", _("#{number} Image(s) has been deleted", { number = deleted }))
    71 end
    73 if updated == 0 and deleted == 0 then
    74   slot.put_into("warning", _("No changes to your images were made"))
    75 end
