version 1.235, 2004/11/30 19:08:18
|
version 1.244, 2004/12/20 20:53:40
|
Line 691 sub help_open_menu {
|
Line 691 sub help_open_menu {
|
$template .= <<"ENDTEMPLATE"; |
$template .= <<"ENDTEMPLATE"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
//<!-- BEGIN LON-CAPA Internal |
//<!-- BEGIN LON-CAPA Internal |
function helpMenu(caller) { |
function helpMenu(target) { |
if (caller == 'open') { |
var caller = this; |
newWindow = window.open("","helpmenu","HEIGHT=$height,WIDTH=$width,resize=yes,scrollbars=yes" ) |
if (target == 'open') { |
caller = newWindow.document |
var newWindow = null; |
} else { |
try { |
caller = this.document |
newWindow = window.open("","helpmenu","HEIGHT=$height,WIDTH=$width,resizable=yes,scrollbars=yes" ) |
} |
} |
caller.write("<html><head><title>LON-CAPA Help Menu</title><meta http-equiv='pragma' content='no-cache'></head>") |
catch(error) { |
caller.write("<frameset rows='105,*' border='0'><frame name='bannerframe' src='$banner_link'><frame name='bodyframe' src='$details_link'></frameset>") |
writeHelp(caller); |
caller.write("</html>") |
return; |
caller.close() |
} |
if (caller == newWindow.document) { |
if (newWindow) { |
caller.focus() |
caller = newWindow; |
|
} |
} |
} |
|
writeHelp(caller); |
|
return; |
|
} |
|
function writeHelp(caller) { |
|
caller.document.write("<html><head><title>LON-CAPA Help Menu</title><meta http-equiv='pragma' content='no-cache'></head>") |
|
caller.document.write("<frameset rows='105,*' border='0'><frame name='bannerframe' src='$banner_link'><frame name='bodyframe' src='$details_link'></frameset>") |
|
caller.document.write("</html>") |
|
caller.document.close() |
|
caller.focus() |
} |
} |
// END LON-CAPA Internal --> |
// END LON-CAPA Internal --> |
</script> |
</script> |
Line 2285 sub get_student_view {
|
Line 2295 sub get_student_view {
|
if (defined($moreenv)) { |
if (defined($moreenv)) { |
%form=(%form,%{$moreenv}); |
%form=(%form,%{$moreenv}); |
} |
} |
if ($target eq 'tex') {$form{'grade_target'} = 'tex';} |
if (defined($target)) { $form{'grade_target'} = $target; } |
$feedurl=&Apache::lonnet::clutter($feedurl); |
$feedurl=&Apache::lonnet::clutter($feedurl); |
my $userview=&Apache::lonnet::ssi_body($feedurl,%form); |
my $userview=&Apache::lonnet::ssi_body($feedurl,%form); |
$userview=~s/\<body[^\>]*\>//gi; |
$userview=~s/\<body[^\>]*\>//gi; |
Line 2325 sub get_student_answers {
|
Line 2335 sub get_student_answers {
|
|
|
=item * &submlink() |
=item * &submlink() |
|
|
Inputs: $text $uname $udom $symb |
Inputs: $text $uname $udom $symb $target |
|
|
Returns: A link to grades.pm such as to see the SUBM view of a student |
Returns: A link to grades.pm such as to see the SUBM view of a student |
|
|
Line 2333 Returns: A link to grades.pm such as to
|
Line 2343 Returns: A link to grades.pm such as to
|
|
|
############################################### |
############################################### |
sub submlink { |
sub submlink { |
my ($text,$uname,$udom,$symb)=@_; |
my ($text,$uname,$udom,$symb,$target)=@_; |
if (!($uname && $udom)) { |
if (!($uname && $udom)) { |
(my $cursymb, my $courseid,$udom,$uname)= |
(my $cursymb, my $courseid,$udom,$uname)= |
&Apache::lonxml::whichuser($symb); |
&Apache::lonxml::whichuser($symb); |
if (!$symb) { $symb=$cursymb; } |
if (!$symb) { $symb=$cursymb; } |
} |
} |
if (!$symb) { $symb=&symbread(); } |
if (!$symb) { $symb=&symbread(); } |
return '<a href="/adm/grades?symb='.$symb.'&student='.$uname. |
$symb=&Apache::lonnet::escape($symb); |
'&userdom='.$udom.'&command=submission">'.$text.'</a>'; |
if ($target) { $target="target=\"$target\""; } |
|
return '<a href="/adm/grades?&command=submission&'. |
|
'symb='.$symb.'&student='.$uname. |
|
'&userdom='.$udom.'" '.$target.'>'.$text.'</a>'; |
|
} |
|
############################################## |
|
|
|
=pod |
|
|
|
=item * &pgrdlink() |
|
|
|
Inputs: $text $uname $udom $symb $target |
|
|
|
Returns: A link to grades.pm such as to see the PGRD view of a student |
|
|
|
=cut |
|
|
|
############################################### |
|
sub pgrdlink { |
|
my $link=&submlink(@_); |
|
$link=~s/(&command=submission)/$1&showgrading=yes/; |
|
return $link; |
|
} |
|
############################################## |
|
|
|
=pod |
|
|
|
=item * &pprmlink() |
|
|
|
Inputs: $text $uname $udom $symb $target |
|
|
|
Returns: A link to parmset.pm such as to see the PPRM view of a |
|
student andn resource |
|
|
|
=cut |
|
|
|
############################################### |
|
sub pprmlink { |
|
my ($text,$uname,$udom,$symb,$target)=@_; |
|
if (!($uname && $udom)) { |
|
(my $cursymb, my $courseid,$udom,$uname)= |
|
&Apache::lonxml::whichuser($symb); |
|
if (!$symb) { $symb=$cursymb; } |
|
} |
|
if (!$symb) { $symb=&symbread(); } |
|
$symb=&Apache::lonnet::escape($symb); |
|
if ($target) { $target="target=\"$target\""; } |
|
return '<a href="/adm/parmset?&command=set&'. |
|
'symb='.$symb.'&uname='.$uname. |
|
'&udom='.$udom.'" '.$target.'>'.$text.'</a>'; |
} |
} |
############################################## |
############################################## |
|
|
Line 2606 ENDROLE
|
Line 2665 ENDROLE
|
($ENV{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|); |
($ENV{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|); |
my $formaction='/priv/'.$uname.'/'.$thisdisfn; |
my $formaction='/priv/'.$uname.'/'.$thisdisfn; |
$formaction=~s/\/+/\//g; |
$formaction=~s/\/+/\//g; |
unless ($customtitle) { |
unless ($customtitle) { #this is for resources; directories have customtitle, and crumbs and select recent are created in lonpubdir.pm |
my $parentpath = $thisdisfn; |
my $parentpath = ''; |
if ($thisdisfn =~ m-(.+/)[^/]*$-) { |
my $lastitem = ''; |
|
if ($thisdisfn =~ m-(.+/)([^/]*)$-) { |
$parentpath = $1; |
$parentpath = $1; |
|
$lastitem = $2; |
|
} else { |
|
$lastitem = $thisdisfn; |
} |
} |
$titleinfo = &Apache::loncommon::help_open_menu('','','','',3,'Authoring'). |
$titleinfo = &Apache::loncommon::help_open_menu('','','','',3,'Authoring'). |
'<font face="Arial, Helvetica, sans-serif"><b>Construction Space</b>:</font> '. |
'<font face="Arial, Helvetica, sans-serif"><b>Construction Space</b>:</font> '. |
'<form name="dirs" method="post" action="'.$formaction |
'<form name="dirs" method="post" action="'.$formaction |
.'" target="_top"><tt><b>' |
.'" target="_top"><tt><b>' |
.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."</b></tt><br />" |
.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<font size=\"+1\">$lastitem</font></b></tt><br />" |
.&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()') |
.&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()') |
.'</form>' |
.'</form>' |
.&Apache::lonmenu::constspaceform(); |
.&Apache::lonmenu::constspaceform(); |
Line 2719 Returns number of sections.
|
Line 2782 Returns number of sections.
|
############################################### |
############################################### |
sub get_sections { |
sub get_sections { |
my ($cdom,$cnum,$sectioncount,$possible_roles) = @_; |
my ($cdom,$cnum,$sectioncount,$possible_roles) = @_; |
|
if (!($cdom && $cnum)) { return 0; } |
my $cid = $cdom.'_'.$cnum; |
my $cid = $cdom.'_'.$cnum; |
my $numsections = 0; |
my $numsections = 0; |
if ($cdom && $cnum) { |
|
if (!defined($possible_roles) || (grep/^st$/,@$possible_roles)) { |
if (!defined($possible_roles) || (grep/^st$/,@$possible_roles)) { |
my ($classlist) = &Apache::loncoursedata::get_classlist($cid,$cdom,$cnum); |
my ($classlist) = &Apache::loncoursedata::get_classlist($cid,$cdom,$cnum); |
my $sec_index = &Apache::loncoursedata::CL_SECTION(); |
my $sec_index = &Apache::loncoursedata::CL_SECTION(); |
my $status_index = &Apache::loncoursedata::CL_STATUS(); |
my $status_index = &Apache::loncoursedata::CL_STATUS(); |
while (my ($student,$data) = each %$classlist) { |
while (my ($student,$data) = each %$classlist) { |
my ($section,$status) = ($data->[$sec_index], |
my ($section,$status) = ($data->[$sec_index], |
$data->[$status_index]); |
$data->[$status_index]); |
unless ($section eq '' || $section =~ /^\s*$/) { |
unless ($section eq '-1' || $section =~ /^\s*$/) { |
if (!defined($$sectioncount{$section})) { |
if (!defined($$sectioncount{$section})) { $numsections++; } |
$$sectioncount{$section} = 1; |
$$sectioncount{$section}++; |
$numsections ++; |
} |
} else { |
} |
$$sectioncount{$section} ++; |
} |
} |
my %courseroles = &Apache::lonnet::dump('nohist_userroles',$cdom,$cnum); |
} |
foreach my $user (sort(keys(%courseroles))) { |
} |
if ($user !~ /^(\w{2})/) { next; } |
} |
my ($role) = ($user =~ /^(\w{2})/); |
my %courseroles = &Apache::lonnet::dump('nohist_userroles',$cdom,$cnum); |
if ($possible_roles && !(grep(/^$role$/,@$possible_roles))) { next; } |
foreach my $user (sort keys %courseroles) { |
my $section; |
if ($user =~ /^(\w{2})/) { |
if ($role eq 'cr' && |
my $role = $1; |
$user =~ m-^$role/[^/]*/[^/]*/[^/]*:[^:]*:[^:]*:(\w+)-) { |
if (!defined($possible_roles) || (grep/^$role$/,@$possible_roles)) { |
$section=$1; |
if ($role eq 'cr') { |
} |
if ($user =~ m-^$role/[^/]*/[^/]*/[^/]*:[^:]*:[^:]*:(\w+)-) { |
if ($user =~ /^$role:[^:]*:[^:]*:(\w+)/) { $section=$1; } |
if (!defined($$sectioncount{$1})) { |
if (!defined($section) || $section eq '-1') { next; } |
$$sectioncount{$1} = 1; |
if (!defined($$sectioncount{$section})) { $numsections++; } |
$numsections ++; |
$$sectioncount{$section}++; |
} else { |
|
$$sectioncount{$1} ++; |
|
} |
|
} |
|
} |
|
if ($user =~ /^$role:[^:]*:[^:]*:(\w+)/) { |
|
if (!defined($$sectioncount{$1})) { |
|
$$sectioncount{$1} = 1; |
|
$numsections ++; |
|
} else { |
|
$$sectioncount{$1} ++; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
} |
return $numsections; |
return $numsections; |
} |
} |
Line 3376 they are plotted. If undefined, default
|
Line 3424 they are plotted. If undefined, default
|
=item @Values: An array of array references. Each array reference holds data |
=item @Values: An array of array references. Each array reference holds data |
to be plotted in a stacked bar chart. |
to be plotted in a stacked bar chart. |
|
|
|
=item If the final element of @Values is a hash reference the key/value |
|
pairs will be added to the graph definition. |
|
|
=back |
=back |
|
|
Returns: |
Returns: |
Line 3887 sub escape_double {
|
Line 3938 sub escape_double {
|
# Escapes the last element of a full URL. |
# Escapes the last element of a full URL. |
sub escape_url { |
sub escape_url { |
my ($url) = @_; |
my ($url) = @_; |
my @urlslices = split(/\//, $url); |
my @urlslices = split(/\//, $url,-1); |
my $lastitem = &Apache::lonnet::escape(pop(@urlslices)); |
my $lastitem = &Apache::lonnet::escape(pop(@urlslices)); |
return join('/',@urlslices).'/'.$lastitem; |
return join('/',@urlslices).'/'.$lastitem; |
} |
} |