Index: openacs-4/packages/acs-authentication/acs-authentication.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/acs-authentication.info,v diff -u -N -r1.14.2.6 -r1.14.2.7 --- openacs-4/packages/acs-authentication/acs-authentication.info 5 Jul 2004 19:47:29 -0000 1.14.2.6 +++ openacs-4/packages/acs-authentication/acs-authentication.info 19 Jul 2004 18:39:40 -0000 1.14.2.7 @@ -32,6 +32,7 @@ + Index: openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl,v diff -u -N -r1.63.2.3 -r1.63.2.4 --- openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl 9 Jul 2004 22:00:09 -0000 1.63.2.3 +++ openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl 19 Jul 2004 18:39:40 -0000 1.63.2.4 @@ -73,6 +73,17 @@ ad_script_abort } +ad_proc -public auth::self_registration {} { + #Check AllowSelfRegister parameter + + if { ![parameter::get_from_package_key \ + -package_key acs-authentication \ + -parameter AllowSelfRegister] } { + ad_maybe_redirect_for_registration + } +} + + ad_proc -public auth::get_user_id { {-level ok} {-account_status ok} Index: openacs-4/packages/acs-subsite/lib/login.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/lib/login.adp,v diff -u -N -r1.4.4.1 -r1.4.4.2 --- openacs-4/packages/acs-subsite/lib/login.adp 24 Apr 2004 08:26:25 -0000 1.4.4.1 +++ openacs-4/packages/acs-subsite/lib/login.adp 19 Jul 2004 18:39:40 -0000 1.4.4.2 @@ -6,8 +6,10 @@ #acs-subsite.Forgot_your_password#
+ + #acs-subsite.Register# - + Index: openacs-4/packages/acs-subsite/lib/login.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/lib/login.tcl,v diff -u -N -r1.21 -r1.21.2.1 --- openacs-4/packages/acs-subsite/lib/login.tcl 8 Feb 2004 17:20:48 -0000 1.21 +++ openacs-4/packages/acs-subsite/lib/login.tcl 19 Jul 2004 18:39:40 -0000 1.21.2.1 @@ -14,6 +14,10 @@ security::require_secure_conn } +set self_registration [parameter::get_from_package_key \ + -package_key acs-authentication \ + -parameter AllowSelfRegister] + if { ![exists_and_not_null package_id] } { set subsite_id [subsite::get_element -element object_id] } Index: openacs-4/packages/acs-subsite/lib/user-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/lib/user-new.tcl,v diff -u -N -r1.5.4.1 -r1.5.4.2 --- openacs-4/packages/acs-subsite/lib/user-new.tcl 26 Mar 2004 13:46:12 -0000 1.5.4.1 +++ openacs-4/packages/acs-subsite/lib/user-new.tcl 19 Jul 2004 18:39:40 -0000 1.5.4.2 @@ -11,6 +11,9 @@ # rel-types for the group. +# Check if user can self register +auth::self_registration + # Set default parameter values array set parameter_defaults { self_register_p 1 Index: openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl,v diff -u -N -r1.22.2.2 -r1.22.2.3 --- openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 21 May 2004 23:15:14 -0000 1.22.2.2 +++ openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 19 Jul 2004 18:39:41 -0000 1.22.2.3 @@ -289,7 +289,26 @@ return $result } +ad_proc -public subsite::upload_allowed {} { + Verifies SolicitPortraitP parameter to ensure upload portrait + security. + @author Hector Amado (hr_amado@galileo.edu) + @creation-date 2004-06-16 +} { + + if { ![parameter::get_from_package_key -package_key acs-subsite -parameter SolicitPortraitP] } { + if { ![acs_user::site_wide_admin_p] } { + ns_log notice "user is tried to see user/portrait/upload without permission" + ad_return_forbidden \ + "Permission Denied" \ + "
+ You don't have permission to see this page. +
" + } + } +} + ad_proc subsite::util::sub_type_exists_p { object_type } { 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 -N -r1.7.2.1 -r1.7.2.2 --- openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl 2 Jul 2004 11:40:55 -0000 1.7.2.1 +++ openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl 19 Jul 2004 18:39:41 -0000 1.7.2.2 @@ -12,6 +12,7 @@ {title ""} } +subsite::upload_allowed set current_user_id [auth::require_login] if [empty_string_p $user_id] { Index: openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl,v diff -u -N -r1.3 -r1.3.4.1 --- openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl 15 Aug 2003 21:18:13 -0000 1.3 +++ openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl 19 Jul 2004 18:39:41 -0000 1.3.4.1 @@ -16,6 +16,7 @@ set current_user_id [ad_verify_and_get_user_id] if [empty_string_p $user_id] { + subsite::upload_allowed set user_id $current_user_id set admin_p 0 } else { Index: openacs-4/packages/dotlrn/dotlrn.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/dotlrn.info,v diff -u -N -r1.118.2.3 -r1.118.2.3.4.1 --- openacs-4/packages/dotlrn/dotlrn.info 3 Apr 2004 04:04:03 -0000 1.118.2.3 +++ openacs-4/packages/dotlrn/dotlrn.info 19 Jul 2004 18:39:38 -0000 1.118.2.3.4.1 @@ -21,6 +21,10 @@ + + + + Index: openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml,v diff -u -N -r1.33.2.6.4.3 -r1.33.2.6.4.4 --- openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml 22 Jun 2004 20:02:40 -0000 1.33.2.6.4.3 +++ openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml 19 Jul 2004 18:39:38 -0000 1.33.2.6.4.4 @@ -162,6 +162,7 @@ Edit Edit a User Edit Pre-approved Email Servers + Edit community parameters Edit the message below and hit "Send Email" to notify this user. Edit parameters Index: openacs-4/packages/dotlrn/tcl/apm-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/apm-callback-procs.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/tcl/apm-callback-procs.tcl 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,134 @@ +# /packages/dotlrn/tcl/apm-callback-procs.tcl + +ad_library { + + dotlrn Package APM callbacks library + + Procedures that deal with installing. + + @creation-date July 2004 + @author Hector Amado (hr_amado@galileo.edu) + @cvs-id $Id: apm-callback-procs.tcl,v 1.1.2.1 2004/07/19 18:39:39 rocaelh Exp $ + +} + +namespace eval dotlrn {} +namespace eval dotlrn::apm {} + +ad_proc -private dotlrn::apm::after_install { +} { + Create the new group, dotlrn-admin +} { + + # Create a new group, dotlrn-admin + db_transaction { + set group_id [group::new -group_name "dotlrn-admin" ] + } + # Admin privs + # permission::grant \ + # -party_id $group_id \ + # -object_id [dotlrn::get_package_id] \ + # -privilege "admin" +} + + +ad_proc -private dotlrn::apm::after_instantiate { + -package_id:required +} { + grant permission, dotlrn-admin +} { + + set group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + if {![empty_string_p $group_id] } { + + #Admin privs + permission::grant \ + -party_id $group_id \ + -object_id $package_id \ + -privilege "admin" + + } +} + + + +ad_proc -private dotlrn::apm::before_uninstall { +} { + Drop the group, dotlrn-admin +} { + + set group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + if {![empty_string_p $group_id] } { + + permission::revoke \ + -party_id $group_id \ + -object_id [dotlrn::get_package_id] \ + -privilege "admin" + + # Drop the group, dotlrn-admin + db_transaction { + set object_id [group::delete $group_id] + } + } + +} + + +ad_proc -public dotlrn::apm::after_upgrade { + {-from_version_name:required} + {-to_version_name:required} +} { + apm_upgrade_logic \ + -from_version_name $from_version_name \ + -to_version_name $to_version_name \ + -spec { + 2.0.3 2.1.0 { + db_transaction { + + ns_log notice "dotlrn upgrade: starting..." + #create dotlrn-admin group + set dotlrn_admins_group [group::new -group_name "dotlrn-admin" ] + ns_log notice "dotlrn upgrade: dotlrn-admin group created..." + + #grant dotlrn admin permission + permission::grant \ + -party_id $dotlrn_admins_group \ + -object_id [dotlrn::get_package_id] \ + -privilege "admin" + + ns_log notice "dotlrn upgrade: dotlrn permission granted..." + + + #grant dotlrn-portlet admin permission + permission::grant \ + -party_id $dotlrn_admins_group \ + -object_id [apm_package_id_from_key dotlrn-portlet] \ + -privilege "admin" + + ns_log notice "dotlrn upgrade: dotlrn-portlet permission granted..." + + } + + db_transaction { + + #grant admin permission on old communities + db_foreach community_group "select community_id from dotlrn_communities" { + + permission::grant \ + -party_id $dotlrn_admins_group \ + -object_id $community_id \ + -privilege "admin" + + ns_log notice "dotlrn upgrade: community $community_id permission granted to dotlrn-admin ..." + + + } + } + } + } +} + + + Index: openacs-4/packages/dotlrn/tcl/community-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/community-procs.tcl,v diff -u -N -r1.183.2.3.4.7 -r1.183.2.3.4.8 --- openacs-4/packages/dotlrn/tcl/community-procs.tcl 9 Jul 2004 21:19:31 -0000 1.183.2.3.4.7 +++ openacs-4/packages/dotlrn/tcl/community-procs.tcl 19 Jul 2004 18:39:39 -0000 1.183.2.3.4.8 @@ -312,6 +312,21 @@ # it's children) permission::set_not_inherit -object_id $community_id + + # Grant permission to dotlrn-admin group + + set dotlrn_admin_group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + if {![empty_string_p $dotlrn_admin_group_id] } { + + permission::grant \ + -party_id $dotlrn_admin_group_id \ + -object_id $community_id \ + -privilege "admin" + + } + + # Grant read_private_data permission to "non guest" users. dotlrn_privacy::grant_read_private_data_to_non_guests -object_id $community_id Index: openacs-4/packages/dotlrn/www/applet-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/applet-add.tcl,v diff -u -N -r1.7 -r1.7.6.1 --- openacs-4/packages/dotlrn/www/applet-add.tcl 23 Oct 2002 12:38:39 -0000 1.7 +++ openacs-4/packages/dotlrn/www/applet-add.tcl 19 Jul 2004 18:39:39 -0000 1.7.6.1 @@ -26,6 +26,10 @@ {referer "applets"} } +#prevent this page from being called when it is not allowed +# i.e. AllowManageApplets 0 +dotlrn_portlet::is_allowed -parameter manageapplets + set community_id [dotlrn_community::get_community_id] # Check access Index: openacs-4/packages/dotlrn/www/applets.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/applets.tcl,v diff -u -N -r1.14 -r1.14.6.1 --- openacs-4/packages/dotlrn/www/applets.tcl 21 Oct 2003 21:53:23 -0000 1.14 +++ openacs-4/packages/dotlrn/www/applets.tcl 19 Jul 2004 18:39:39 -0000 1.14.6.1 @@ -23,6 +23,10 @@ } -query { } +#prevent this page from being called when it is not allowed +# i.e. AllowManageApplets 0 +dotlrn_portlet::is_allowed -parameter manageapplets + set community_id [dotlrn_community::get_community_id] set user_id [ad_get_user_id] set portal_id [dotlrn_community::get_portal_id -community_id $community_id] Index: openacs-4/packages/dotlrn/www/dotlrn-main-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/dotlrn-main-portlet.adp,v diff -u -N -r1.37.6.1 -r1.37.6.2 --- openacs-4/packages/dotlrn/www/dotlrn-main-portlet.adp 5 Jun 2004 07:23:48 -0000 1.37.6.1 +++ openacs-4/packages/dotlrn/www/dotlrn-main-portlet.adp 19 Jul 2004 18:39:39 -0000 1.37.6.2 @@ -70,9 +70,11 @@ @communities.pretty_name@ Archived +   #dotlrn.drop_membership_link# +   #dotlrn.administer_link# Index: openacs-4/packages/dotlrn/www/dotlrn-main-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/dotlrn-main-portlet.tcl,v diff -u -N -r1.11.6.1 -r1.11.6.2 --- openacs-4/packages/dotlrn/www/dotlrn-main-portlet.tcl 17 Jun 2004 15:06:03 -0000 1.11.6.1 +++ openacs-4/packages/dotlrn/www/dotlrn-main-portlet.tcl 19 Jul 2004 18:39:39 -0000 1.11.6.2 @@ -35,6 +35,10 @@ set user_id [ad_conn user_id] set user_can_browse_p [dotlrn::user_can_browse_p -user_id $user_id] +set show_drop_button_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowMembersDropGroups] + if { $show_archived_p } { set archived_clause "" } else { Index: openacs-4/packages/dotlrn/www/join-policy-toggle.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/join-policy-toggle.tcl,v diff -u -N -r1.7 -r1.7.6.1 --- openacs-4/packages/dotlrn/www/join-policy-toggle.tcl 4 Dec 2002 09:51:04 -0000 1.7 +++ openacs-4/packages/dotlrn/www/join-policy-toggle.tcl 19 Jul 2004 18:39:39 -0000 1.7.6.1 @@ -36,6 +36,10 @@ } } +#prevent this page from being called when is not allowed +# i.e. AllowChangeEnrollmentPolicy +dotlrn_portlet::is_allowed -parameter cenrollment + if {[empty_string_p $community_id]} { set community_id [dotlrn_community::get_community_id] } Index: openacs-4/packages/dotlrn/www/manage-memberships.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/manage-memberships.adp,v diff -u -N -r1.23.6.2 -r1.23.6.3 --- openacs-4/packages/dotlrn/www/manage-memberships.adp 17 May 2004 14:56:37 -0000 1.23.6.2 +++ openacs-4/packages/dotlrn/www/manage-memberships.adp 19 Jul 2004 18:39:39 -0000 1.23.6.3 @@ -79,7 +79,10 @@ [ #dotlrn.Pending_Approval# ] - + + + + @@ -113,7 +116,10 @@ [ #dotlrn.Pending_Approval# ] - + + + + Index: openacs-4/packages/dotlrn/www/manage-memberships.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/manage-memberships.tcl,v diff -u -N -r1.9 -r1.9.6.1 --- openacs-4/packages/dotlrn/www/manage-memberships.tcl 30 Oct 2003 17:23:27 -0000 1.9 +++ openacs-4/packages/dotlrn/www/manage-memberships.tcl 19 Jul 2004 18:39:39 -0000 1.9.6.1 @@ -46,6 +46,10 @@ set user_id [ad_conn user_id] +set show_drop_button_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowMembersDropGroups] + if {![dotlrn::user_can_browse_p]} { ad_returnredirect "not-allowed" ad_script_abort Index: openacs-4/packages/dotlrn/www/member-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/member-add-2.tcl,v diff -u -N -r1.11 -r1.11.6.1 --- openacs-4/packages/dotlrn/www/member-add-2.tcl 4 Dec 2002 09:51:04 -0000 1.11 +++ openacs-4/packages/dotlrn/www/member-add-2.tcl 19 Jul 2004 18:39:39 -0000 1.11.6.1 @@ -28,6 +28,10 @@ roles:multirow } +#prevent this page from being called when it is not allowed +# i.e. AllowManageMembership 0 +dotlrn_portlet::is_allowed -parameter managemembership + set community_id [dotlrn_community::get_community_id] dotlrn::require_user_admin_community -community_id $community_id Index: openacs-4/packages/dotlrn/www/member-add-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/member-add-3.tcl,v diff -u -N -r1.7 -r1.7.6.1 --- openacs-4/packages/dotlrn/www/member-add-3.tcl 4 Dec 2002 09:51:04 -0000 1.7 +++ openacs-4/packages/dotlrn/www/member-add-3.tcl 19 Jul 2004 18:39:39 -0000 1.7.6.1 @@ -27,6 +27,10 @@ {referer "one-community-admin"} } +#prevent this page from being called when it is not allowed +# i.e. AllowManageMembership 0 +dotlrn_portlet::is_allowed -parameter managemembership + set community_id [dotlrn_community::get_community_id] # See if the user is already in the group set member_p [dotlrn_community::member_p $community_id $user_id] Index: openacs-4/packages/dotlrn/www/member-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/member-add.tcl,v diff -u -N -r1.9 -r1.9.6.1 --- openacs-4/packages/dotlrn/www/member-add.tcl 4 Dec 2002 09:51:04 -0000 1.9 +++ openacs-4/packages/dotlrn/www/member-add.tcl 19 Jul 2004 18:39:39 -0000 1.9.6.1 @@ -26,6 +26,10 @@ {referer "one-community-admin"} } +#prevent this page from being called when it is not allowed +# i.e. AllowManageMembership 0 +dotlrn_portlet::is_allowed -parameter managemembership + set search_text [string trim $search_text] set community_id [dotlrn_community::get_community_id] Index: openacs-4/packages/dotlrn/www/members.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/members.tcl,v diff -u -N -r1.19.6.1 -r1.19.6.2 --- openacs-4/packages/dotlrn/www/members.tcl 1 Jul 2004 13:45:32 -0000 1.19.6.1 +++ openacs-4/packages/dotlrn/www/members.tcl 19 Jul 2004 18:39:39 -0000 1.19.6.2 @@ -30,6 +30,10 @@ ad_returnredirect "[dotlrn::get_url]" } +#prevent this page from being called when it is not allowed +# i.e. AllowManageMembership 0 +dotlrn_portlet::is_allowed -parameter managemembership + set context [list [list "one-community-admin" [_ dotlrn.Admin]] [_ dotlrn.Manage_Members]] set community_id [dotlrn_community::get_community_id] set portal_id [dotlrn_community::get_portal_id -community_id $community_id] Index: openacs-4/packages/dotlrn/www/one-community-portal-configure.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/one-community-portal-configure.tcl,v diff -u -N -r1.6.6.3 -r1.6.6.4 --- openacs-4/packages/dotlrn/www/one-community-portal-configure.tcl 14 Jul 2004 19:26:31 -0000 1.6.6.3 +++ openacs-4/packages/dotlrn/www/one-community-portal-configure.tcl 19 Jul 2004 18:39:39 -0000 1.6.6.4 @@ -27,6 +27,10 @@ {referer "one-community-admin"} } +#prevent this page from being called when it is not allowed +# i.e. AllowCustomizePortalLayout 0 +dotlrn_portlet::is_allowed -parameter cplayout + set community_id [dotlrn_community::get_community_id] dotlrn::require_user_admin_community \ @@ -38,7 +42,30 @@ # we are in a community set community_name [dotlrn_community::get_community_name $community_id] +set default_portal_p [db_string default_portal_p { + select count(*) from dotlrn_portal_types_map where portal_id = :portal_id +}] + +if {$default_portal_p == 1} { + # Create comm's portal page + set portal_id [portal::create \ + -template_id $portal_id \ + -name "$community_name Portal" \ + -context_id $community_id \ + [ad_conn user_id] \ + ] + + db_exec_plsql update_commuity_portal_id { + update dotlrn_communities_all + set portal_id = :portal_id + where community_id = :community_id + } + + util_memoize_flush "dotlrn_community::get_portal_id_not_cached -community_id $community_id" +} + + set rendered_page [portal::configure \ -allow_theme_change_p 1 \ [dotlrn_community::get_portal_id] \ Index: openacs-4/packages/dotlrn/www/user-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/user-add-2.tcl,v diff -u -N -r1.8.2.2.4.1 -r1.8.2.2.4.2 --- openacs-4/packages/dotlrn/www/user-add-2.tcl 9 Jun 2004 23:44:03 -0000 1.8.2.2.4.1 +++ openacs-4/packages/dotlrn/www/user-add-2.tcl 19 Jul 2004 18:39:39 -0000 1.8.2.2.4.2 @@ -42,6 +42,11 @@ administration_name:onevalue } +#prevent this page from being called when it is not allowed +# i.e. AllowCreateGuestUsersInCommunity 0 +dotlrn_portlet::is_allowed -parameter guestuser +dotlrn_portlet::is_allowed -parameter limiteduser + # Get user info acs_user::get -user_id $user_id -array user # easier to work with scalar vars than array Index: openacs-4/packages/dotlrn/www/user-add-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/user-add-3.tcl,v diff -u -N -r1.6 -r1.6.6.1 --- openacs-4/packages/dotlrn/www/user-add-3.tcl 12 Nov 2002 08:44:05 -0000 1.6 +++ openacs-4/packages/dotlrn/www/user-add-3.tcl 19 Jul 2004 18:39:39 -0000 1.6.6.1 @@ -26,6 +26,11 @@ {referer "/acs-admin/users"} } +#prevent this page from being called when it is not allowed +# i.e. AllowCreateGuestUsersInCommunity 0 +dotlrn_portlet::is_allowed -parameter guestuser +dotlrn_portlet::is_allowed -parameter limiteduser + set admin_user_id [ad_verify_and_get_user_id] set admin_email [db_string select_admin_email { select email Index: openacs-4/packages/dotlrn/www/user-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/user-add.tcl,v diff -u -N -r1.29.2.1 -r1.29.2.1.4.1 --- openacs-4/packages/dotlrn/www/user-add.tcl 31 Mar 2004 23:06:17 -0000 1.29.2.1 +++ openacs-4/packages/dotlrn/www/user-add.tcl 19 Jul 2004 18:39:39 -0000 1.29.2.1.4.1 @@ -32,6 +32,12 @@ } -properties { context_bar:onevalue } + +#prevent this page from being called when it is not allowed +# i.e. AllowCreateGuestUsersInCommunity 0 +dotlrn_portlet::is_allowed -parameter guestuser +dotlrn_portlet::is_allowed -parameter limiteduser + # Set read_private_data_p and can_browse_p to me the most restrictive defaults. set current_user_id [ad_maybe_redirect_for_registration] Index: openacs-4/packages/dotlrn/www/admin/admin-add-2.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-add-2.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/admin-add-2.adp 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,24 @@ +<% + + # + # Copyright (C) 2001, 2002 MIT + # + # This file is part of dotLRN. + # + # dotLRN is free software; you can redistribute it and/or modify it under the + # terms of the GNU General Public License as published by the Free Software + # Foundation; either version 2 of the License, or (at your option) any later + # version. + # + # dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY + # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + # details. + # + +%> + + +#dotlrn.Add_A_Member# +#dotlrn.Add_A_Member# + Index: openacs-4/packages/dotlrn/www/admin/admin-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-add-2.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/admin-add-2.tcl 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,55 @@ +# +# Copyright (C) 2001, 2002 MIT +# +# This file is part of dotLRN. +# +# dotLRN is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# + +ad_page_contract { + Search for a new user for dotLRN + + @author Ben Adida (ben@openforce.net) + @author yon (yon@openforce.net) + @author Hector Amado (hr_amado@galileo.edu) + @creation-date 2004-07-02 + @cvs-id $Id: admin-add-2.tcl,v 1.1.2.1 2004/07/19 18:39:39 rocaelh Exp $ +} -query { + user_id + {referer "dotlrn-admins"} +} -properties { + +} + + +# Get user information +db_1row select_user_info { + select first_names, + last_name, + email + from dotlrn_users + where user_id = :user_id +} + +# See if the user is already in the dotlrn-admin +set member_p [group::member_p -group_name "dotlrn-admin" -user_id $user_id ] + +set group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + +if {!$member_p} { + if {![empty_string_p $group_id] } { + group::add_member -group_id $group_id -user_id $user_id + } +} + +template::forward dotlrn-admins + Index: openacs-4/packages/dotlrn/www/admin/admin-add-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-add-oracle.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/admin-add-oracle.xql 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,20 @@ + + + + + + + select user_id, + first_names, + last_name, + email + from dotlrn_users + where lower(last_name) like lower('%' || :search_text || '%') + or lower(email) like lower('%' || :search_text || '%') + and user_id not in (select user_id + from dotlrn_member_rels_full + where community_id = :community_id) + + + + Index: openacs-4/packages/dotlrn/www/admin/admin-add-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-add-postgresql.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/admin-add-postgresql.xql 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,21 @@ + + + + + + + select user_id, + first_names, + last_name, + email + from dotlrn_users + where lower(last_name) like lower('%' || :search_text || '%') + or lower(first_names) like lower('%' || :search_text || '%') + or lower(email) like lower('%' || :search_text || '%') + and user_id not in (select user_id + from dotlrn_member_rels_full + where community_id = :community_id) + + + + Index: openacs-4/packages/dotlrn/www/admin/admin-add.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-add.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/admin-add.adp 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,41 @@ +<% + + # + # Copyright (C) 2001, 2002 MIT + # + # This file is part of dotLRN. + # + # dotLRN is free software; you can redistribute it and/or modify it under the + # terms of the GNU General Public License as published by the Free Software + # Foundation; either version 2 of the License, or (at your option) any later + # version. + # + # dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY + # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + # details. + # + +%> + + +#dotlrn.Add_A_Member# +@context_bar@ + + + #dotlrn.there_are_no_users_matching# + + + +#dotlrn.lt_The_results_of_your_s# + + + + + Index: openacs-4/packages/dotlrn/www/admin/admin-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-add.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/admin-add.tcl 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,39 @@ +# +# Copyright (C) 2001, 2002 MIT +# +# This file is part of dotLRN. +# +# dotLRN is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# + +ad_page_contract { + Search for a new user for dotLRN + + @author Ben Adida (ben@openforce.net) + @author yon (yon@openforce.net) + @author Hector Amado (hr_amado@galileo.edu) + @creation-date 2004-07-02 + @cvs-id $Id: admin-add.tcl,v 1.1.2.1 2004/07/19 18:39:39 rocaelh Exp $ +} -query { + search_text + {referer "dotlrn-admins"} +} + +set search_text [string trim $search_text] +set community_id [dotlrn_community::get_community_id] + +# Just search +db_multirow users select_users {} + +set context_bar [list [list "dotlrn-admins" [_ dotlrn.Admin]] [_ dotlrn.New_User]] + +ad_return_template + Index: openacs-4/packages/dotlrn/www/admin/admin-remove.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-remove.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/admin-remove.tcl 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,34 @@ +# +# Copyright (C) 2001, 2002 MIT +# +# This file is part of dotLRN. +# +# dotLRN is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +ad_maybe_redirect_for_registration +ad_page_contract { + Remove dotLRN Administrators + + @author Hector Amado (hr_amado@galileo.edu) + @creation-date 2004-07-02 + @cvs-id $Id: admin-remove.tcl,v 1.1.2.1 2004/07/19 18:39:39 rocaelh Exp $ +} { + user_id +} + +set group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + if {![empty_string_p $group_id] } { + group::remove_member -group_id $group_id -user_id $user_id + } + +template::forward dotlrn-admins + Index: openacs-4/packages/dotlrn/www/admin/dotlrn-admins.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/dotlrn-admins.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/dotlrn-admins.adp 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,45 @@ +<% + + # + # Copyright (C) 2001, 2002 MIT + # + # This file is part of dotLRN. + # + # dotLRN is free software; you can redistribute it and/or modify it under the + # terms of the GNU General Public License as published by the Free Software + # Foundation; either version 2 of the License, or (at your option) any later + # version. + # + # dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY + # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + # details. + # + +%> + + + + +#dotlrn.Administrators# +@context_bar@ + + +
+ #dotlrn.Add_A_Member# + +
+ + +
+
+ +
+
+ + + + Index: openacs-4/packages/dotlrn/www/admin/dotlrn-admins.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/dotlrn-admins.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/dotlrn-admins.tcl 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,66 @@ +# +# Copyright (C) 2001, 2002 MIT +# +# This file is part of dotLRN. +# +# dotLRN is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# + +ad_page_contract { + Displays Administrators dotLRN admin page + + @author Hector Amado (hr_amado@galileo.edu) + @creation-date 2004-06-28 + @cvs-id $Id: dotlrn-admins.tcl,v 1.1.2.1 2004/07/19 18:39:39 rocaelh Exp $ +} + +set context_bar "[_ dotlrn.Administrators]" +set referer [ns_conn url] + +set dotlrn_admins_group [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + +set admin_id [ad_verify_and_get_user_id] + +set elements [list user \ + [list label "User" \ + link_url_col user_url ] \ + remove \ + [list label "Remove" \ + link_url_col remove_url \ + display_template {
} \ + sub_class narrow ] \ + ] + +set multirow_name dotlrn_admins +set actions "" + +template::list::create \ + -name dotlrn_admins \ + -multirow $multirow_name \ + -actions $actions \ + -no_data "No dotlrn-admins." \ + -elements $elements + +db_multirow \ + -extend { + remove_url + user_url + no_auto_remove + } dotlrn_admins dotlrn_admins_select {} { + set remove_url [export_vars -base "admin-remove" {user_id}] + set user_url [export_vars -base "user" {user_id}] + if { $user_id == $admin_id } { + set no_auto_remove 0 + } else { + set no_auto_remove 1 + } + } Index: openacs-4/packages/dotlrn/www/admin/dotlrn-admins.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/dotlrn-admins.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/dotlrn-admins.xql 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,21 @@ + + + + + + + select + registered_users.user_id, + registered_users.last_name ||', '|| registered_users.first_names || ' (' || registered_users.email || ') ' as user + from + registered_users, + group_member_map + where + registered_users.user_id = group_member_map.member_id + AND + group_member_map.group_id = :dotlrn_admins_group + + + + + \ No newline at end of file Index: openacs-4/packages/dotlrn/www/admin/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/index.adp,v diff -u -N -r1.24 -r1.24.6.1 --- openacs-4/packages/dotlrn/www/admin/index.adp 29 Oct 2003 14:23:52 -0000 1.24 +++ openacs-4/packages/dotlrn/www/admin/index.adp 19 Jul 2004 18:39:39 -0000 1.24.6.1 @@ -29,6 +29,7 @@ @context_bar@ Index: openacs-4/packages/dotlrn/www/admin/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/index.tcl,v diff -u -N -r1.15 -r1.15.6.1 --- openacs-4/packages/dotlrn/www/admin/index.tcl 29 Oct 2003 14:23:52 -0000 1.15 +++ openacs-4/packages/dotlrn/www/admin/index.tcl 19 Jul 2004 18:39:39 -0000 1.15.6.1 @@ -21,6 +21,8 @@ @creation-date 2001-11-04 } +set oacs_site_wide_admin_p [acs_user::site_wide_admin_p] + set admin_pretty_name [parameter::get -localize -parameter dotlrn_admin_pretty_name] set context_bar {} @@ -30,4 +32,6 @@ set parameters_url [export_vars -base /shared/parameters { { package_id {[dotlrn::get_package_id]} } { return_url [ad_return_url] } }] +set parameters_d_url [export_vars -base /shared/parameters { { package_id {[apm_package_id_from_key dotlrn-portlet]} } { return_url [ad_return_url] } }] + ad_return_template Index: openacs-4/packages/dotlrn/www/admin/site-wide-admin-toggle.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/site-wide-admin-toggle.tcl,v diff -u -N -r1.8 -r1.8.6.1 --- openacs-4/packages/dotlrn/www/admin/site-wide-admin-toggle.tcl 29 May 2003 18:05:01 -0000 1.8 +++ openacs-4/packages/dotlrn/www/admin/site-wide-admin-toggle.tcl 19 Jul 2004 18:39:39 -0000 1.8.6.1 @@ -26,6 +26,15 @@ {referer "users"} } +if { ![acs_user::site_wide_admin_p] } { + ns_log notice "user has tried to site-wide-admin-toggle without permission" + ad_return_forbidden \ + "Permission Denied" \ + "
+ You don't have permission to see this page. +
" +} + if {[string equal $value "grant"] == 1} { ad_permission_grant $user_id [acs_magic_object "security_context_root"] "admin" } elseif {[string equal $value "revoke"] == 1} { Index: openacs-4/packages/dotlrn/www/admin/user.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/user.adp,v diff -u -N -r1.25.2.2.4.1 -r1.25.2.2.4.2 --- openacs-4/packages/dotlrn/www/admin/user.adp 17 Jun 2004 16:34:09 -0000 1.25.2.2.4.1 +++ openacs-4/packages/dotlrn/www/admin/user.adp 19 Jul 2004 18:39:39 -0000 1.25.2.2.4.2 @@ -29,19 +29,25 @@
  • #dotlrn.Person_name# @first_names@ @last_name@ + [ #dotlrn.Edit# ] +
  • #dotlrn.Email# @email@ + [ #dotlrn.Edit# ] +
  • #dotlrn.Screen_name# @screen_name@ + [ #dotlrn.Edit# ] +
  • @@ -70,7 +76,9 @@
  • #dotlrn.Member_state# @member_state@ + @change_state_links;noquote@ +
  • @@ -181,16 +189,8 @@
  • #dotlrn.lt_Manage_this_users_por#
  • -
  • - - - #dotlrn.lt_This_user_is_a_site-w# - (#dotlrn.revoke#) - - - - #dotlrn.lt_Make_this_user_a_site# - - + +
  • #dotlrn.Become_this_user#
  • + Index: openacs-4/packages/dotlrn/www/admin/user.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/user.tcl,v diff -u -N -r1.16.6.1 -r1.16.6.2 --- openacs-4/packages/dotlrn/www/admin/user.tcl 17 Jun 2004 16:33:21 -0000 1.16.6.1 +++ openacs-4/packages/dotlrn/www/admin/user.tcl 19 Jul 2004 18:39:39 -0000 1.16.6.2 @@ -41,6 +41,8 @@ member_clubs:multirow } +set oacs_site_wide_admin_p [acs_user::site_wide_admin_p] + set return_url "[ad_parameter -package_id [ad_acs_kernel_id] CommunityMemberAdminURL]?user_id=$user_id" set export_edit_vars "user_id=$user_id&return_url=$return_url" Index: openacs-4/packages/dotlrn/www/admin/users-chunk.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-chunk.adp,v diff -u -N -r1.22.2.1 -r1.22.2.1.4.1 --- openacs-4/packages/dotlrn/www/admin/users-chunk.adp 21 Feb 2004 02:36:51 -0000 1.22.2.1 +++ openacs-4/packages/dotlrn/www/admin/users-chunk.adp 19 Jul 2004 18:39:39 -0000 1.22.2.1.4.1 @@ -44,7 +44,9 @@ #dotlrn.Access# #dotlrn.Guest# + #dotlrn.Site-wide_Admin# + @@ -72,8 +74,11 @@ + + <% # We had to escape to Tcl to get the desired behavior. AG %> - #dotlrn.lt_approve_and_add_to_do# | #acs-kernel.common_delete# + #dotlrn.lt_approve_and_add_to_do# | + #acs-kernel.common_delete# @@ -86,7 +91,9 @@ #dotlrn.Yes##dotlrn.No# - + + + #dotlrn.Yes# | #dotlrn.No# @@ -97,6 +104,7 @@ #dotlrn.Yes# + Index: openacs-4/packages/dotlrn/www/admin/users-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-chunk.tcl,v diff -u -N -r1.8 -r1.8.6.1 --- openacs-4/packages/dotlrn/www/admin/users-chunk.tcl 23 Oct 2002 12:38:40 -0000 1.8 +++ openacs-4/packages/dotlrn/www/admin/users-chunk.tcl 19 Jul 2004 18:39:39 -0000 1.8.6.1 @@ -24,6 +24,7 @@ user_id:onevalue } +set oacs_site_wide_admin_p [acs_user::site_wide_admin_p] set user_id [ad_conn user_id] if {![exists_and_not_null referer]} { Index: openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info,v diff -u -N -r1.11.2.3 -r1.11.2.3.4.1 --- openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info 3 Apr 2004 04:04:05 -0000 1.11.2.3 +++ openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info 19 Jul 2004 18:39:40 -0000 1.11.2.3.4.1 @@ -6,17 +6,20 @@ dotLRN Applets f t - + OpenACS + Helper routines for dotLRN applets 2004-03-10 OpenACS - Helper routines for dotLRN applets + + + Index: openacs-4/packages/dotlrn-dotlrn/tcl/apm-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-dotlrn/tcl/apm-callback-procs.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn-dotlrn/tcl/apm-callback-procs.tcl 19 Jul 2004 18:39:40 -0000 1.1.2.1 @@ -0,0 +1,42 @@ +# /packages/dotlrn-dotlrn/tcl/apm-callback-procs.tcl + +ad_library { + + dotlrn-dotlrn APM callbacks library + + Procedures that deal with installing. + + @creation-date July 2004 + @author Hector Amado (hr_amado@galileo.edu) + @cvs-id $Id: apm-callback-procs.tcl,v 1.1.2.1 2004/07/19 18:39:40 rocaelh Exp $ + +} + +namespace eval dotlrn_dotlrn {} +namespace eval dotlrn_dotlrn::apm {} + +ad_proc -private dotlrn_dotlrn::apm::after_install { +} { + Gran permission to dotlrn-admin group +} { + + set group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + if {![empty_string_p $group_id] } { + + #Admin privs + #permission::grant \ + # -party_id $group_id \ + # -object_id [dotlrn::get_package_id] \ + # -privilege "admin" + + #Admin privs + permission::grant \ + -party_id $group_id \ + -object_id [apm_package_id_from_key dotlrn-portlet] \ + -privilege "admin" + + } +} + + Index: openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info,v diff -u -N -r1.15.2.2 -r1.15.2.2.4.1 --- openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info 3 Apr 2004 04:04:06 -0000 1.15.2.2 +++ openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info 19 Jul 2004 18:39:39 -0000 1.15.2.2.4.1 @@ -16,7 +16,17 @@ + + + + + + + + + + Index: openacs-4/packages/dotlrn-portlet/tcl/apm-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-portlet/tcl/apm-callback-procs.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn-portlet/tcl/apm-callback-procs.tcl 19 Jul 2004 18:39:39 -0000 1.1.2.1 @@ -0,0 +1,52 @@ +# /packages/dotlrn-portlet/tcl/apm-callback-procs.tcl + +ad_library { + + dotlrn-portlet APM callbacks library + + Procedures that deal with installing. + + @creation-date July 2004 + @author Hector Amado (hr_amado@galileo.edu) + @cvs-id $Id: apm-callback-procs.tcl,v 1.1.2.1 2004/07/19 18:39:39 rocaelh Exp $ + +} + +namespace eval dotlrn_portlet {} +namespace eval dotlrn_portlet::apm {} + +ad_proc -private dotlrn_portlet::apm::after_install { +} { + Gran permission to dotlrn-admin +} { + + + set group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + if {![empty_string_p $group_id] } { + + #Admin privs + permission::grant \ + -party_id $group_id \ + -object_id [apm_package_id_from_key dotlrn-portlet] \ + -privilege "admin" + } + +} + +ad_proc -private dotlrn_portlet::apm::before_uninstall { +} { + Revoke the group permissions, dotlrn-admin +} { + + set group_id [db_string group_id_from_name " + select group_id from groups where group_name='dotlrn-admin'" -default ""] + if {![empty_string_p $group_id] } { + + permission::revoke \ + -party_id $group_id \ + -object_id [apm_package_id_from_key dotlrn-portlet] \ + -privilege "admin" + } +} + Index: openacs-4/packages/dotlrn-portlet/tcl/dotlrn-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-portlet/tcl/dotlrn-portlet-procs.tcl,v diff -u -N -r1.34 -r1.34.10.1 --- openacs-4/packages/dotlrn-portlet/tcl/dotlrn-portlet-procs.tcl 9 Aug 2002 18:39:29 -0000 1.34 +++ openacs-4/packages/dotlrn-portlet/tcl/dotlrn-portlet-procs.tcl 19 Jul 2004 18:39:39 -0000 1.34.10.1 @@ -98,4 +98,92 @@ -config_list $cf } + ad_proc -public is_allowed { + {-parameter:required} + } { + This is the TCL proc that is called by some Group Administration pages + that need to verify a dotlrn-portlet parameter. + This prevents bad users to access protected pages. + + + @author Hector Amado (hr_amado@galileo.edu) + @creation-date 2004-06-22 + + } { + + switch $parameter { + "cenrollment" { + if { ![parameter::get_from_package_key -package_key dotlrn-portlet -parameter AllowChangeEnrollmentPolicy] } { + if { ![dotlrn::admin_p] } { + ns_log notice "user has tried to see without permission" + ad_return_forbidden \ + "Permission Denied"\ + "
    + You don't have permission to see this page. +
    " + } + } + } + "managemembership" { + if { ![parameter::get_from_package_key -package_key dotlrn-portlet -parameter AllowManageMembership] } { + if { ![dotlrn::admin_p] } { + ns_log notice "user has tried to see /dotlrn/www/members without permission" + ad_return_forbidden \ + "Permission Denied"\ + "
    + You don't have permission to see this page. +
    " + } + } + } + "cplayout" { + if { ![parameter::get_from_package_key -package_key dotlrn-portlet -parameter AllowCustomizePortalLayout] } { + if { ![dotlrn::admin_p] } { + ns_log notice "user has tried to see /dotlrn/www/one-community-portal-configure without permission" + ad_return_forbidden \ + "Permission Denied"\ + "
    + You don't have permission to see this page. +
    " + } + } + } + "guestuser" { + if { ![parameter::get_from_package_key -package_key dotlrn-portlet -parameter AllowCreateGuestUsersInCommunity] } { + if { ![dotlrn::admin_p] } { + ns_log notice "user has tried to see /dotlrn/www/user-add without permission" + ad_return_forbidden \ + "Permission Denied"\ + "
    + You don't have permission to see this page. +
    " + } + } + } + "limiteduser" { + if { ![parameter::get_from_package_key -package_key dotlrn-portlet -parameter AllowCreateLimitedUsersInCommunity] } { + if { ![dotlrn::admin_p] } { + ns_log notice "user has tried to see /dotlrn/www/user-add without permission" + ad_return_forbidden \ + "Permission Denied"\ + "
    + You don't have permission to see this page. +
    " + } + } + } + "manageapplets" { + if { ![parameter::get_from_package_key -package_key dotlrn-portlet -parameter AllowManageApplets] } { + if { ![dotlrn::admin_p] } { + ns_log notice "user has tried to see /dotlrn/www/applets without permission" + ad_return_forbidden \ + "Permission Denied"\ + "
    + You don't have permission to see this page. +
    " + } + } + } + } + } } Index: openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.adp,v diff -u -N -r1.29.2.1.4.2 -r1.29.2.1.4.3 --- openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.adp 14 Jul 2004 19:29:27 -0000 1.29.2.1.4.2 +++ openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.adp 19 Jul 2004 18:39:40 -0000 1.29.2.1.4.3 @@ -18,12 +18,14 @@ %> + - + +
  • @sub_pretty_plural@ @@ -83,7 +102,9 @@

  • - + +
  • #dotlrn-portlet.Manage_Applets#
  • +
    Index: openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.tcl,v diff -u -N -r1.14.2.1 -r1.14.2.1.4.1 --- openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.tcl 21 Feb 2004 02:36:51 -0000 1.14.2.1 +++ openacs-4/packages/dotlrn-portlet/www/dotlrn-admin-portlet.tcl 19 Jul 2004 18:39:40 -0000 1.14.2.1.4.1 @@ -39,6 +39,31 @@ #The community_type is dotlrn_club for "communties" and the subject name for classes. set comm_type [dotlrn_community::get_community_type_from_community_id $community_id] +#Checking group admin parameters +set manage_membership_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowManageMembership] + +set enrollment_policy_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowChangeEnrollmentPolicy] + +set customize_portal_layout_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowCustomizePortalLayout] + +set create_limited_user_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowCreateLimitedUsersInCommunity] + +set create_guest_user_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowCreateGuestUsersInCommunity] + +set manage_applets_p [parameter::get_from_package_key \ + -package_key dotlrn-portlet \ + -parameter AllowManageApplets] + if {$comm_type == "dotlrn_club"} { set club_p 1 } else {