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
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", " · ") 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