--- loncom/interface/lonhtmlcommon.pm 2009/08/23 12:59:18 1.182.4.8
+++ loncom/interface/lonhtmlcommon.pm 2010/01/23 22:23:53 1.182.4.11
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.182.4.8 2009/08/23 12:59:18 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.182.4.11 2010/01/23 22:23:53 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -62,6 +62,21 @@ use Apache::lonlocal;
use Apache::lonnet;
use LONCAPA;
+sub coursepreflink {
+ my ($text,$category)=@_;
+ if (&Apache::lonnet::allowed('opa',$env{'request.course.id'})) {
+ return ''.$text.'';
+ } else {
+ return '';
+ }
+}
+
+sub raw_href_to_link {
+ my ($message)=@_;
+ $message=~s/(https?\:\/\/[^\s\'\"]+)(\s|$)/$1<\/tt><\/a>$2/gi;
+ return $message;
+}
+
##############################################
##############################################
@@ -222,6 +237,9 @@ sub select_recent {
unless ($value =~/^error\:/) {
my $escaped = &Apache::loncommon::escape_url($value);
&Apache::loncommon::inhibit_menu_check(\$escaped);
+ if ($area eq 'residx') {
+ next if ((!&Apache::lonnet::allowed('bre',$value)) && (!&Apache::lonnet::allowed('bro',$value)));
+ }
$return.="\n';
@@ -418,8 +436,8 @@ sub date_setter {
($tzname,$sec,$min,$hour,$mday,$month,$year) = &get_timedates($currentvalue);
}
unless ($wasdefined) {
- ($tzname,$sec,$min,$hour,$mday,$month,$year) = &get_timedates($now);
if (($defhour) || ($defmin) || ($defsec)) {
+ ($tzname,$sec,$min,$hour,$mday,$month,$year) = &get_timedates($now);
$sec=($defsec?$defsec:0);
$min=($defmin?$defmin:0);
$hour=($defhour?$defhour:0);
@@ -1136,7 +1154,7 @@ sub crumbs {
my $output='';
unless ($noformat) { $output.='
'; }
$output.=''.$prefix.'/';
- if ($env{'user.adv'}) {
+ if (($env{'user.adv'}) || ($env{'user.author'})) {
my $path=$prefix.'/';
foreach my $dir (split('/',$uri)) {
if (! $dir) { next; }
@@ -1594,6 +1612,10 @@ ENDTWO
sub role_select_row {
my ($roles,$title,$css_class,$show_separate_custom,$cdom,$cnum) = @_;
+ my $crstype = 'Course';
+ if ($cdom ne '' && $cnum ne '') {
+ $crstype = &Apache::loncommon::course_type($cdom.'_'.$cnum);
+ }
my $output;
if (defined($title)) {
$output = &row_title($title,$css_class);
@@ -1618,7 +1640,7 @@ sub role_select_row {
$plrole = &mt('Custom Role');
}
} else {
- $plrole=&Apache::lonnet::plaintext($role);
+ $plrole=&Apache::lonnet::plaintext($role,$crstype);
}
if (($role ne 'cr') || (!$show_separate_custom)) {
$output .= ' ';
@@ -1633,15 +1655,15 @@ sub role_select_row {
sub course_select_row {
my ($title,$formname,$totcodes,$codetitles,$idlist,$idlist_titles,
- $css_class) = @_;
+ $css_class,$crstype) = @_;
my $output = &row_title($title,$css_class);
- $output .= &course_selection($formname,$totcodes,$codetitles,$idlist,$idlist_titles);
+ $output .= &course_selection($formname,$totcodes,$codetitles,$idlist,$idlist_titles,$crstype);
$output .= &row_closure();
return $output;
}
sub course_selection {
- my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles) = @_;
+ my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles,$crstype) = @_;
my $output = qq|
|;
+
+ my ($allcrs,$pickspec);
+ if ($crstype eq 'Community') {
+ $allcrs = &mt('All communities');
+ $pickspec = &mt('Pick specific communities:');
+ } else {
+ $allcrs = &mt('All courses');
+ $pickspec = &mt('Pick specific course(s):');
+ }
+
my $courseform=''.&Apache::loncommon::selectcourse_link
- ($formname,'pickcourse','pickdomain','coursedesc','',1).'';
- $output .= ''.&mt('All courses').'
';
+ ($formname,'pickcourse','pickdomain','coursedesc','',1,$crstype).'';
+ $output .= ''.$allcrs.'
';
if ($totcodes > 0) {
my $numtitles = @$codetitles;
if ($numtitles > 0) {
@@ -1717,7 +1749,7 @@ sub course_selection {
$output .= '
';
}
}
- $output .= ''.&mt('Pick specific course(s):').' '.$courseform.' selected.
'."\n";
+ $output .= ''.$pickspec.' '.$courseform.' selected.
'."\n";
return $output;
}
@@ -2028,6 +2060,7 @@ sub set_form_elements {
}
}
$output .= "
+ return;
}\n";
return $output;
}