Index: openacs-4/packages/acs-subsite/www/user/portrait/upload-2-oracle.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/Attic/upload-2-oracle.xql,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-subsite/www/user/portrait/upload-2-oracle.xql 4 May 2004 12:02:54 -0000 1.3
+++ openacs-4/packages/acs-subsite/www/user/portrait/upload-2-oracle.xql 2 Jul 2004 11:49:05 -0000 1.4
@@ -38,7 +38,8 @@
mime_type => :guessed_file_type,
item_id => :item_id,
creation_user => :user_id,
- creation_ip => :creation_ip
+ creation_ip => :creation_ip,
+ content_length => :n_bytes
);
update cr_items
Index: openacs-4/packages/acs-subsite/www/user/portrait/upload-2-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/Attic/upload-2-postgresql.xql,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-subsite/www/user/portrait/upload-2-postgresql.xql 4 May 2004 12:02:54 -0000 1.4
+++ openacs-4/packages/acs-subsite/www/user/portrait/upload-2-postgresql.xql 2 Jul 2004 11:49:05 -0000 1.5
@@ -63,8 +63,8 @@
null,
now(),
:user_id,
- :creation_ip
- );
+ :creation_ip,
+ :n_bytes);
update cr_items
set live_revision = v_revision_id
@@ -94,7 +94,7 @@
set description = :portrait_comment,
publish_date = now(),
mime_type = :guessed_file_type,
- content_length = :n_bytes,
+ content_length = :n_bytes,
title = :title
where revision_id = :revision_id
Index: openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/Attic/upload-2.tcl,v
diff -u -r1.8 -r1.9
--- openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl 12 Mar 2004 18:48:55 -0000 1.8
+++ openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl 2 Jul 2004 11:49:05 -0000 1.9
@@ -12,19 +12,21 @@
{title ""}
}
-set current_user_id [ad_verify_and_get_user_id]
+set current_user_id [auth::require_login]
if [empty_string_p $user_id] {
set user_id $current_user_id
-}
+}
ad_require_permission $user_id "write"
set exception_text ""
set exception_count 0
-if { ![info exists upload_file] || [empty_string_p $upload_file] } {
- append exception_text "
Please specify a file to upload\n"
+if {![info exists upload_file]
+ || [empty_string_p $upload_file]
+} {
+ append exception_text "Please specify a file to upload\n"
incr exception_count
} else {
# this stuff only makes sense to do if we know the file exists
@@ -41,27 +43,29 @@
# check to see if this is one of the favored MIME types,
# e.g., image/gif or image/jpeg
- if { ![empty_string_p [ad_parameter AcceptablePortraitMIMETypes "user-info"]] && [lsearch [ad_parameter AcceptablePortraitMIMETypes "user-info"] $guessed_file_type] == -1 } {
+ if { ![empty_string_p [ad_parameter AcceptablePortraitMIMETypes "user-info"]]
+ && [lsearch [ad_parameter AcceptablePortraitMIMETypes "user-info"] $guessed_file_type] == -1 } {
incr exception_count
- append exception_text "Your image wasn't one of the acceptable MIME types: [ad_parameter AcceptablePortraitMIMETypes "user-info"]"
+ append exception_text "Your image wasn't one of the acceptable MIME types: [ad_parameter AcceptablePortraitMIMETypes "user-info"]"
}
# strip off the C:\directories... crud and just get the file name
- if ![regexp {([^/\\]+)$} $upload_file match client_filename] {
+ if {![regexp {([^/\\]+)$} $upload_file match client_filename]} {
# couldn't find a match
set client_filename $upload_file
}
-
- if { ![empty_string_p [ad_parameter MaxPortraitBytes "user-info"]] && $n_bytes > [ad_parameter MaxPortraitBytes "user-info"] } {
- append exception_text "Your file is too large. The publisher of [ad_system_name] has chosen to limit portraits to [util_commify_number [ad_parameter MaxPortraitBytes "user-info"]] bytes. You can use PhotoShop or the GIMP (free) to shrink your image.\n"
+
+ if { ![empty_string_p [ad_parameter MaxPortraitBytes "user-info"]]
+ && $n_bytes > [ad_parameter MaxPortraitBytes "user-info"] } {
+ append exception_text "Your file is too large. The publisher of [ad_system_name] has chosen to limit portraits to [util_commify_number [ad_parameter MaxPortraitBytes "user-info"]] bytes. You can use PhotoShop or the GIMP (free) to shrink your image.\n"
incr exception_count
}
}
if { $exception_count > 0 } {
ad_return_complaint $exception_count $exception_text
- return
+ ad_script_abort
}
set what_aolserver_told_us ""
@@ -73,7 +77,9 @@
# the AOLserver jpegsize command has some bugs where the height comes
# through as 1 or 2
-if { ![empty_string_p $what_aolserver_told_us] && [lindex $what_aolserver_told_us 0] > 10 && [lindex $what_aolserver_told_us 1] > 10 } {
+if { ![empty_string_p $what_aolserver_told_us]
+ && [lindex $what_aolserver_told_us 0] > 10
+ && [lindex $what_aolserver_told_us 1] > 10 } {
set original_width [lindex $what_aolserver_told_us 0]
set original_height [lindex $what_aolserver_told_us 1]
} else {
@@ -86,102 +92,37 @@
set creation_ip [ad_conn peeraddr]
set name "portrait-of-user-$user_id"
-set create_item "
-begin
- :1 := content_item.new(
- name => :name,
- creation_ip => :creation_ip);
-end;"
-
-set create_rel "
-begin
- :1 := acs_rel.new (
- rel_type => 'user_portrait_rel',
- object_id_one => :user_id,
- object_id_two => :item_id);
-end;
-"
-
-set create_revision "
-begin
- :1 := content_revision.new(
- title => :title,
- description => :portrait_comment,
- text => 'not_important',
- mime_type => :guessed_file_type,
- item_id => :item_id,
- creation_user => :user_id,
- creation_ip => :creation_ip
- );
-
- update cr_items
- set live_revision = :1
- where item_id = :item_id;
-end;"
-
-set update_photo "
-update cr_revisions
-set content = empty_blob()
-where revision_id = :revision_id
-returning content into :1
-"
-
-set upload_image_info "
-insert into images
-(image_id, width, height)
-values
-(:revision_id, :original_width, :original_height)
-"
-
# let's figure out if this person has a portrait yet
-if { ![db_0or1row get_item_id "select object_id_two as item_id
-from acs_rels
-where object_id_one = :user_id
-and rel_type = 'user_portrait_rel'"] } {
+if { ![db_0or1row get_item_id {}]} {
# The user doesn't have a portrait relation yet
db_transaction {
- set item_id [db_exec_plsql create_item $create_item]
- set rel_id [db_exec_plsql create_rel $create_rel]
- set revision_id [db_exec_plsql create_revision $create_revision]
- db_dml update_photo $update_photo -blob_files [list $tmp_filename]
- db_dml upload_image_info $upload_image_info
+ set item_id [db_exec_plsql create_item {}]
+ set revision_id [db_exec_plsql create_revision {}]
+ set rel_id [db_exec_plsql create_rel {}]
+ db_dml update_photo {} -blob_files [list $tmp_filename]
+ db_dml upload_image_info {}
}
-
} else {
#already has a portrait, so all we have to do is to make a new revision for it
- #Let's check if a current revision exists:
- if {![db_0or1row get_revision_id "select live_revision as revision_id
- from cr_items
- where item_id = :item_id"] || [empty_string_p $revision_id]} {
+ # Let's check if a current revision exists:
+ if {![db_0or1row get_revision_id {}]
+ || [empty_string_p $revision_id]
+ } {
# It's an insert rather than an update
db_transaction {
- set revision_id [db_exec_plsql create_revision $create_revision]
- db_dml update_photo $update_photo -blob_files [list $tmp_filename]
- db_dml upload_image_info $upload_image_info
+ set revision_id [db_exec_plsql create_revision {}]
+ db_dml update_photo {} -blob_files [list $tmp_filename]
+ db_dml upload_image_info {}
}
} else {
# it's merely an update
db_transaction {
- db_dml update_photo $update_photo -blob_files [list $tmp_filename]
- db_dml update_image_info "
- update images
- set width = :original_width, height = :original_height
- where image_id = :revision_id"
-
- db_dml update_photo_info "
- update cr_revisions
- set description = :portrait_comment,
- publish_date = sysdate,
- mime_type = :guessed_file_type,
- title = :title
- where revision_id = :revision_id"
-
- db_dml update_object_title "
- update acs_objects
- set title = :title
- where object_id = :revision_id"
+ db_dml update_photo {} -blob_files [list $tmp_filename]
+ db_dml update_image_info {}
+ db_dml update_photo_info {}
+ db_dml update_object_title {}
}
}
}