--- loncom/interface/loncommon.pm 2009/05/18 16:08:07 1.820
+++ loncom/interface/loncommon.pm 2009/07/26 20:39:46 1.866
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.820 2009/05/18 16:08:07 raeburn Exp $
+# $Id: loncommon.pm,v 1.866 2009/07/26 20:39:46 kalberla Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -407,6 +407,7 @@ sub studentbrowser_javascript {
) { return ''; }
return (<<'ENDSTDBRW');
ENDSTDBRW
}
@@ -461,6 +463,7 @@ sub selectstudent_link {
sub authorbrowser_javascript {
return <<"ENDAUTHORBRW";
ENDAUTHORBRW
}
sub coursebrowser_javascript {
my ($domainfilter,$sec_element,$formname)=@_;
- my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Group - for which you wish to add/modify a user role');
+ my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Community - for which you wish to add/modify a user role');
my $output = '
';
return $output;
}
@@ -829,6 +835,7 @@ sub linked_select_forms {
# output the javascript to do the changing
my $result = '';
$result.='
END
# output the initial values for the selection lists
@@ -1027,7 +1035,9 @@ sub update_help_link {
my $banner_link = "/adm/helpmenu?page=banner&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp&stayonpage=$stayOnPage";
my $output .= <<"ENDOUTPUT";
ENDOUTPUT
return $output;
@@ -1394,6 +1404,7 @@ sub resize_textarea_js {
my $geometry = &viewport_geometry_js();
return <<"RESIZE";
RESIZE
@@ -2299,7 +2311,7 @@ sub authform_internal{
$result = &mt
('[_1] Internally authenticated (with initial password [_2])',
''.$autharg);
- $result.="';
+ $result.="';
return $result;
}
@@ -3754,7 +3766,7 @@ sub blockcheck {
($env{'request.role'} !~ m{^st\./\Q$cdom\E/\Q$cnum\E}));
next if ($no_userblock);
- # Retrieve blocking times and identity of blocker for course
+ # Retrieve blocking times and identity of locker for course
# of specified user, unless user has 'evb' privilege.
my ($start,$end)=&get_blocks($setters,$activity,$cdom,$cnum);
@@ -3859,8 +3871,41 @@ sub build_block_table {
}
$output .= &end_data_table();
}
-
sub blocking_status {
+ my $blocked = blocking_status_print(@_);
+ my ($activity,$uname,$udom) = @_;
+ if(!wantarray) {
+ return $blocked;
+ }
+ my $output;
+ my $querystring;
+ $querystring = "?activity=$activity";
+ if(defined($uname)) {
+ $querystring .= "&uname=$uname";
+ }if(defined($udom)) {
+ $querystring .= "&udom=$udom";
+ }
+
+ $output .= <<"END_MYBLOCK";
+
+END_MYBLOCK
+ my $popupUrl = "/adm/blockingstatus/$querystring";
+ $output.="\nBlocking Table";
+
+ return ($blocked, $output);
+}
+sub blocking_status_print {
my ($activity,$uname,$udom) = @_;
my %setters;
my ($blocked,$output,$ownitem,$is_course);
@@ -3871,8 +3916,12 @@ sub blocking_status {
my $category;
if ($activity eq 'boards') {
$category = 'Discussion posts in this course';
+ } elsif ($activity eq 'chat') {
+ $category = 'Chat';
+ } elsif ($activity eq 'msgdisplay') {
+ $category = 'This message';
} elsif ($activity eq 'blogs') {
- $category = 'Blogs';
+ $category = 'Blogs';
} elsif ($activity eq 'port') {
if (defined($uname) && defined($udom)) {
if ($uname eq $env{'user.name'} &&
@@ -3902,6 +3951,8 @@ sub blocking_status {
}
} elsif ($activity eq 'groups') {
$category = 'Groups in this course';
+ } else {
+ $category = 'Communication';
}
my $showstart = &Apache::lonlocal::locallocaltime($startblock);
my $showend = &Apache::lonlocal::locallocaltime($endblock);
@@ -4168,6 +4219,96 @@ sub designparm {
return $output;
}
+##############################################
+=pod
+
+=item * &authorspace()
+
+Inputs: ./.
+
+Returns: Path to the Construction Space of the current user's
+ accessed author space
+ The author space will be that of the current user
+ when accessing the own author space
+ and that of the co-author/assistent co-author
+ when accessing the co-author's/assistent co-author's
+ space
+
+=cut
+
+sub authorspace {
+ my $caname = '';
+ if ($env{'request.role'} =~ /^ca|^aa/) {
+ (undef,$caname) =
+ ($env{'request.role'}=~/($match_domain)\/($match_username)$/);
+ } else {
+ $caname = $env{'user.name'};
+ }
+ return '/priv/'.$caname.'/';
+}
+
+##############################################
+=pod
+
+=item * &head_subbox()
+
+Inputs: $content (contains HTML code with page functions, etc.)
+
+Returns: HTML div with $content
+ To be included in page header
+
+=cut
+
+sub head_subbox {
+ my ($content)=@_;
+ my $output =
+ '
'
+ .$content
+ .'
'
+}
+
+##############################################
+=pod
+
+=item * &CSTR_pageheader()
+
+Inputs: ./.
+
+Returns: HTML div with CSTR path and recent box
+ To be included on Construction Space pages
+
+=cut
+
+sub CSTR_pageheader {
+ # this is for resources; directories have customtitle, and crumbs
+ # and select recent are created in lonpubdir.pm
+ my ($uname,$thisdisfn)=
+ ($env{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|);
+ my $formaction='/priv/'.$uname.'/'.$thisdisfn;
+ $formaction=~s/\/+/\//g;
+
+ my $parentpath = '';
+ my $lastitem = '';
+ if ($thisdisfn =~ m-(.+/)([^/]*)$-) {
+ $parentpath = $1;
+ $lastitem = $2;
+ } else {
+ $lastitem = $thisdisfn;
+ }
+ return
+ '
'
+ .&Apache::loncommon::help_open_menu('','',3,'Authoring') #FIXME: Broken? Where is it?
+ .''.&mt('Construction Space:').' '
+ .''
+ .&Apache::lonmenu::constspaceform()
+ .'
';
+}
+
###############################################
###############################################
@@ -4200,10 +4341,6 @@ Inputs:
=item * $forcereg, if page should register as content page (relevant for
text interface only)
-=item * $customtitle, alternate text to use instead of $title
- in the title box that appears, this text
- is not auto translated like the $title is
-
=item * $no_nav_bar, if true, keep the 'what is this' info but remove the
navigational links
@@ -4228,7 +4365,7 @@ other decorations will be returned.
=cut
sub bodytag {
- my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle,
+ my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,
$no_nav_bar,$bgcolor,$no_inline_link,$args)=@_;
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); }
@@ -4283,25 +4420,7 @@ sub bodytag {
$name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'});
}
- my $roleinfo=(<
-
- $name
-
-
-
-$role
-
-
-$realm
-
-
-ENDROLE
-
my $titleinfo = '
'.$title.'
';
- if ($customtitle) {
- $titleinfo = $customtitle;
- }
#
# Extra info if you are the DC
my $dc_info = '';
@@ -4314,54 +4433,33 @@ ENDROLE
$dc_info = '('.$dc_info.')';
}
- if (($env{'environment.remote'} eq 'off') || ($args->{'suppress_header_logos'})) {
+ $role = "($role)" if $role;
+ &get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']);
+
+ if ($env{'environment.remote'} eq 'off') {
# No Remote
if ($env{'request.state'} eq 'construct') {
$forcereg=1;
}
- if (!$customtitle && $env{'request.state'} eq 'construct') {
- # this is for resources; directories have customtitle, and crumbs
- # and select recent are created in lonpubdir.pm
- my ($uname,$thisdisfn)=
- ($env{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|);
- my $formaction='/priv/'.$uname.'/'.$thisdisfn;
- $formaction=~s/\/+/\//g;
-
- my $parentpath = '';
- my $lastitem = '';
- if ($thisdisfn =~ m-(.+/)([^/]*)$-) {
- $parentpath = $1;
- $lastitem = $2;
- } else {
- $lastitem = $thisdisfn;
- }
- $titleinfo =
- &Apache::loncommon::help_open_menu('','',3,'Authoring')
- .''.&mt('Construction Space').': '
- .''
- .&Apache::lonmenu::constspaceform();
- }
+# if ($env{'request.state'} eq 'construct') {
+# $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls
+# }
my $titletable = '