: default false
-# ------------------------------------------------------------------ Build page
+If true, the resource will not be linked. By default, all non-folder
+resources are linked.
- my $currenturl=$ENV{'form.postdata'};
- $currenturl=~s/^http\:\/\///;
- $currenturl=~s/^[^\/]+//;
-
-# ---------------------------------------------------------------- Send headers
-
- my $date=localtime;
- my $now=time;
-# ----------------------------------------- Get email status and discussiontime
-
- my %emailstatus=&Apache::lonnet::dump('email_status');
- my $logouttime=$emailstatus{'logout'};
- my $courseleave=$emailstatus{'logout_'.$ENV{'request.course.id'}};
- my $lastcheck=($courseleave>$logouttime?$courseleave:$logouttime);
-
- my %discussiontimes=&Apache::lonnet::dump('discussiontimes',
- $cdom,$cnum);
-
- my %feedback=();
- my %error=();
- foreach my $msgid (split(/\&/,&Apache::lonnet::reply('keys:'.
- $ENV{'user.domain'}.':'.
- $ENV{'user.name'}.':nohist_email',
- $ENV{'user.home'}))) {
- $msgid=&Apache::lonnet::unescape($msgid);
- my $plain=&Apache::lonnet::unescape(&Apache::lonnet::unescape($msgid));
- if ($plain=~/(Error|Feedback) \[([^\]]+)\]/) {
- my ($what,$url)=($1,$2);
- my %status=
- &Apache::lonnet::get('email_status',[$msgid]);
- if ($status{$msgid}=~/^error\:/) {
- $status{$msgid}='';
- }
-
- if (($status{$msgid} eq 'new') ||
- (!$status{$msgid})) {
- if ($what eq 'Error') {
- $error{$url}.=','.$msgid;
- } else {
- $feedback{$url}.=','.$msgid;
- }
- }
- }
- }
-# ----------------------------------------------------------- Start Page Output
- my $bodytagadd='';
- $r->print(
- 'Navigate Course Map');
- if (($currenturl=~/^\/res/) &&
- ($currenturl!~/^\/res\/adm/)) {
- $bodytagadd='onLoad="window.location.hash='."'curloc'".'"';
- }
- $r->print(&Apache::loncommon::bodytag('Navigate Course Map','',
- $bodytagadd));
- $r->print('');
- my $desc=$ENV{'course.'.$ENV{'request.course.id'}.'.description'};
- if (defined($desc)) { $r->print("$desc
\n"); }
- $r->print("$date
\n");
- $r->rflush();
- $r->print(' New discussion since '.
- localtime($lastcheck).
- '
New message (click to open)');
- if (($currenturl=~/^\/res/) &&
- ($currenturl!~/^\/res\/adm/)) {
- $r->print('Current Location
');
- }
+=item * B: default true
- # Handle a network error
+If true, the resource will show a part count B the full
+part list is not displayed. (See "condense_parts" later.) If false,
+the resource will never show a part count.
- if ($networkFailedFlag)
- {
- $r->print('LON-CAPA network failure.
'."\n");
- $r->print("LON-CAPA's network is having difficulties, some problem" .
- " information, such as due dates, will not be available.");
- }
-# ----------------------------------------------------- The little content list
- for ($i=0;$i<=$#rows;$i++) {
- if ($rows[$i]) {
- my @colcont=split(/\&/,$rows[$i]);
- my $avespan=$lcm/($#colcont+1);
- for ($j=0;$j<=$#colcont;$j++) {
- my $rid=$colcont[$j];
- if ($rid=~/^h(.+)/) {
- $rid=$1;
- $r->print(' '.$hash{'title_'.$rid}.
- '
');
- }
- }
- }
- }
-# ----------------------------------------------------------------- Start table
- $r->print('
');
- for ($i=0;$i<=$#rows;$i++) {
- if ($rows[$i]) {
- $r->print("\n");
- my @colcont=split(/\&/,$rows[$i]);
- my $avespan=$lcm/($#colcont+1);
-
- # for each item I wish to print on this row...
- for ($j=0;$j<=$#colcont;$j++) {
- my $indent;my $indentstr;
- my $linkid;
- my $rid=$colcont[$j];
- $rid=~/(\d+)\.(\d+)$/;
- my $src=
- &Apache::lonnet::declutter($hash{'src_'.$1.'.'.$2});
- my $symb=
- &Apache::lonnet::declutter($hash{'map_id_'.$1}).'___'.$2.'___'.$src;
- my $add='';
- my $adde=' | ';
- my $hwk='';
- my $hwke='';
- if ($rid=~/^l(\d+\.\d+),(.+)/) { $linkid=$1; $rid=$2; }
- if ($rid=~/^i(\d+),(.+)/) { $indent=$1; $rid=$2; }
- if ($rid=~/^h(.+)/) {
- $rid=$1;
- $add='';
- $adde=' | ';
- if (($ENV{'user.adv'}) &&
- ($parmhash{$symb.'.0.parameter_randompick'})) {
- $adde=' (randomly select '.
- $parmhash{$symb.'.0.parameter_randompick'}.
- ')';
- }
- }
- if ($rid=~/^j(.+)/) { $rid=$1; }
- if ($rid=~/^p(\d)(\d)\"([\w\: \(\)\/\,]*)\"(.+)/) {
- # sub astatus describes what code/tcode mean
- my $code=$1;
- my $tcode=$2;
- my $ctext=$3;
- $rid=$4;
-
- # will open later
- if ($tcode eq '1') {
- $add='';
- }
-
- # solved/correct
- if ($code eq '3') {
- $add=' | ';
- } elsif ($code eq '4') { # partially correct
- $add=' | ';
- } else {
- # not attempted
-
- # we end up here on network failure, so pick a neutral
- # color if the network failed instead of bright red.
- if ( $networkFailedFlag )
- {
- $add = ' | ';
- }
- else
- {
- $add=' | ';
- }
-
- if ($tcode eq '2') { # open, not past due
- $add=' | ';
- }
-
- if ($tcode eq '4') { # due in next 24 hours
- $add=' | ';
- $adde=' | ';
- }
- }
- $hwk='';
- $hwke='';
- if ($code eq '1') {
- $hwke=' ('.$ctext.')';
- }
- if ($code eq '2' || $code eq '4') {
- $hwk='';
- $hwke=' ('.$ctext.')';
- }
- if ($code eq '3') {
- $hwk='';
- $hwke=' ('.$ctext.')';
- }
- if ($networkFailedFlag)
- {
- $hwke=' (status unavailable)';
- }
- }
- if ($rid && $hash{'src_'.$rid} eq $currenturl) {
- $add=$add.''.
- '> ';
- $adde=
- ' <'.$adde;
- }
- if ($discussiontimes{$symb}>$lastcheck) {
- $adde=
- ''.
- $adde;
- }
- if ($error{$src}) {
- foreach (split(/\,/,$error{$src})) {
- if ($_) {
- $adde=
- ' '
- .$adde;
- }
- }
- }
- if ($feedback{$src}) {
- foreach (split(/\,/,$feedback{$src})) {
- if ($_) {
- $adde=
- ' '
- .$adde;
- }
- }
- }
- if ($indent) {
- my $is=" ";
- for(my $i=-1;$i<$indent;$i++) { $indentstr.=$is; }
- }
- if (!$linkid) { $linkid=$rid; }
- if ($hash{'randomout_'.$rid}) {
- $adde=' (hidden)'.$adde;
- }
- $r->print($add.$indentstr);
- if ($rid) {
- $r->print(''.
- $hwk.$hash{'title_'.$rid}.$hwke.'');
- }
- $r->print($adde);
- }
- $r->print('
');
- }
- }
- $r->print("\n
");
- $r->print('