Index: openacs-4/packages/acs-subsite/www/user/portrait/erase.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/erase.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-subsite/www/user/portrait/erase.tcl 10 Jan 2007 21:22:11 -0000 1.5 +++ openacs-4/packages/acs-subsite/www/user/portrait/erase.tcl 27 Nov 2007 20:18:43 -0000 1.6 @@ -23,10 +23,50 @@ ad_require_permission $user_id "write" if {$admin_p} { - set context [list [list "./?user_id=$user_id" "User's Portrait"] "Erase"] + set context [list [list "./?[export_vars user_id]" [_ acs-subsite.User_Portrait]] [_ acs-subsite.Erase]] } else { - set context [list [list "./" "Your Portrait"] "Erase"] + set context [list [list "./" [_ acs-subsite.Your_Portrait]] [_ acs-subsite.Erase]] } -set export_vars [export_form_vars user_id return_url] +if { $return_url eq "" } { + set return_url [ad_pvt_home] +} +ad_form -name "portrait_erase" -export {user_id return_url} -form {} -on_submit { + + set item_id [db_string get_item_id {} -default ""] + + if {$item_id eq ""} { + ad_returnredirect $return_url + ad_script_abort + } + + set resized_item_id [image::get_resized_item_id -item_id $item_id] + + # Delete the resized version + if {$resized_item_id ne ""} { + content::item::delete -item_id $resized_item_id + } + + # Delete all previous images + db_foreach get_images {} { + package_exec_plsql -var_list [list [list delete__object_id $object_id]] acs_object delete + } + + db_foreach old_item_id {} { + content::item::delete -item_id $object_id + } + + # Delete the relationship + db_dml delete_rel {} + + # Delete the item + content::item::delete -item_id $item_id + + # Flush the portrait cache + util_memoize_flush [list acs_user::get_portrait_id_not_cached -user_id $user_id] + + ad_returnredirect $return_url +} + +ad_return_template