Index: openacs-4/packages/acs-subsite/www/shared/community-member.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/shared/community-member.tcl,v diff -u -N -r1.21 -r1.22 --- openacs-4/packages/acs-subsite/www/shared/community-member.tcl 27 Jun 2015 16:47:27 -0000 1.21 +++ openacs-4/packages/acs-subsite/www/shared/community-member.tcl 7 Aug 2017 23:47:59 -0000 1.22 @@ -12,7 +12,8 @@ last_name:onevalue email:onevalue inline_portrait_state:onevalue - portrait_export_vars:onevalue + portrait_url:onevalue + portrait_image_url:onevalue width:onevalue height:onevalue system_name:onevalue @@ -22,49 +23,56 @@ bio:onevalue verified_user_id:onevalue subsite_url:onevalue +} -validate { + valid_user_id { + set verified_user_id [ad_conn user_id] + set untrusted_user_id [ad_conn untrusted_user_id] + + if {$user_id eq ""} { + if {$verified_user_id != 0} { + set user_id $verified_user_id + } else { + # Don't know what to do! + auth::require_login + return + } + } + if {![db_0or1row get_user_information { + select first_names, last_name, email, priv_email, url, creation_date, member_state + from cc_users + where user_id = :user_id + }]} { + ns_log Notice "Could not find user_id $user_id in community-member.tcl peer [ad_conn peeraddr]" + ad_complain "There is no community member with the user_id of $user_id" + } + } } - -set subsite_url [subsite::get_element -element url] - -#See if this page has been overrided by a parameter in kernel -set community_member_url [parameter::get -package_id [ad_acs_kernel_id] -parameter CommunityMemberURL -default "/shared/community-member"] +# +# See if this page has been overrided by a parameter in kernel +# +set community_member_url [parameter::get \ + -package_id [ad_acs_kernel_id] \ + -parameter CommunityMemberURL \ + -default "/shared/community-member"] if { $community_member_url ne "/shared/community-member" } { ad_returnredirect "$community_member_url?user_id=$user_id" ad_script_abort } +set subsite_url [subsite::get_element -element url] set site_wide_admin_p [acs_user::site_wide_admin_p] set admin_user_url [acs_community_member_admin_url -user_id $user_id] -set verified_user_id [ad_conn user_id] -set untrusted_user_id [ad_conn untrusted_user_id] - -if { $user_id eq "" } { - if { $verified_user_id == 0 } { - # Don't know what to do! - auth::require_login - return - } - set user_id $verified_user_id -} - -set bind_vars [ad_tcl_vars_to_ns_set user_id] - - -if { ![db_0or1row user_information "select first_names, last_name, email, priv_email, url, creation_date, member_state from cc_users where user_id = :user_id" -bind $bind_vars]} { - - ad_return_exception_page 404 "No user found" "There is no community member with the user_id of $user_id" - ns_log Notice "Could not find user_id $user_id in community-member.tcl from [ad_conn peeraddr]" - return -} - # Here the email_image is created according to the priv_email # field in the users table set email_image "

\#acs-subsite.E_mail\#: [email_image::get_user_email -user_id $user_id]

" - +# +# "url" is obtained from the sql query above, together with +# "first_names" etc. +# if { $url ne "" && ![string match -nocase "http://*" $url] } { set url "http://$url" } @@ -73,20 +81,21 @@ # Do we show the portrait? set inline_portrait_state "none" -set portrait_export_vars [export_vars {user_id}] +set portrait_url [export_vars -base portrait {user_id}] +set portrait_image_url [export_vars -base portrait-bits {user_id}] -if {[db_0or1row portrait_info " -select i.width, i.height, cr.title, cr.description, cr.publish_date -from acs_rels a, cr_items c, cr_revisions cr, images i -where a.object_id_two = c.item_id -and c.live_revision = cr.revision_id -and cr.revision_id = i.image_id -and a.object_id_one = :user_id -and a.rel_type = 'user_portrait_rel'"]} { +if {[db_0or1row portrait_info { + select i.width, i.height, cr.title, cr.description, cr.publish_date + from acs_rels a, cr_items c, cr_revisions cr, images i + where a.object_id_two = c.item_id + and c.live_revision = cr.revision_id + and cr.revision_id = i.image_id + and a.object_id_one = :user_id + and a.rel_type = 'user_portrait_rel' +}]} { # We have a portrait. Let's see if we can show it inline - - if { $width ne "" && $width < 300 } { + if { $width ne "" && $width < 400 } { # let's show it inline set inline_portrait_state "inline" } else { @@ -109,6 +118,12 @@ set pretty_creation_date [lc_time_fmt $creation_date "%q"] set login_export_vars "return_url=[ns_urlencode [acs_community_member_url -user_id $user_id]]" -set login_url [export_vars -base "/register/." { { return_url [ad_return_url]} }] +set login_url [export_vars -base /register { { return_url [ad_return_url]} }] ad_return_template + +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: