--- loncom/auth/lonroles.pm 2004/01/27 23:07:13 1.80.2.1 +++ loncom/auth/lonroles.pm 2003/12/30 22:45:59 1.81 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.80.2.1 2004/01/27 23:07:13 albertel Exp $ +# $Id: lonroles.pm,v 1.81 2003/12/30 22:45:59 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -77,6 +77,17 @@ ENDREDIR return; } +sub authorbombs { + my ($uname,$udom)=@_; + my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); + foreach (keys %bombs) { + if ($_=~/^$udom\/$uname\//) { + return ''; + } + } + return ''; +} + sub handler { my $r = shift; @@ -402,10 +413,7 @@ ENDHEADER # First, Co-Authorship roles if ($role eq 'ca') { my $home = &Apache::lonnet::homeserver($trest,$tdom); - my $allowed=0; - my @ids=&Apache::lonnet::current_machine_ids(); - foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } } - if (!$allowed) { + if ($home ne $r->dir_config('lonHostID')) { $button=0; $switchserver=&Apache::lonnet::escape('http://'. $Apache::lonnet::hostname{$home}. @@ -420,15 +428,13 @@ ENDHEADER ': '.$tdom.'
'. ' '.&mt('Server').': '.$home; $ENV{'course.'.$tdom.'_'.$trest.'.description'}='ca'; + $tremark.=&authorbombs($trest,$tdom); $sortkey=$role."$trest:$tdom"; } elsif ($role eq 'au') { # Authors my $home = &Apache::lonnet::homeserver ($ENV{'user.name'},$ENV{'user.domain'}); - my $allowed=0; - my @ids=&Apache::lonnet::current_machine_ids(); - foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } } - if (!$allowed) { + if ($home ne $r->dir_config('lonHostID')) { $button=0; $switchserver=&Apache::lonnet::escape('http://'. $Apache::lonnet::hostname{$home}. @@ -442,6 +448,7 @@ ENDHEADER $twhere=&mt('Domain').': '.$tdom.'
'.&mt('Server'). ': '.$home; $ENV{'course.'.$tdom.'_'.$trest.'.description'}='ca'; + $tremark.=&authorbombs($ENV{'user.name'},$tdom); $sortkey=$role; } elsif ($trest) { $ttype='Course';