Diff for /loncom/interface/londocs.pm between versions 1.521 and 1.522

version 1.521, 2012/12/05 13:50:32 version 1.522, 2012/12/07 16:48:19
Line 3214  sub handler { Line 3214  sub handler {
    if ($env{'form.command'} eq 'direct') {     if ($env{'form.command'} eq 'direct') {
        my ($mapurl,$id,$resurl);         my ($mapurl,$id,$resurl);
        if ($env{'form.symb'} ne '') {         if ($env{'form.symb'} ne '') {
            ($mapurl,$id,$resurl) = &Apache::lonnet::decode_symb($env{'form.symb'});             $env{'form.folderpath'}=
            if ($resurl=~/\.(sequence|page)$/) {                 &Apache::loncommon::symb_to_docspath($env{'form.symb'});
                $mapurl=$resurl;  
            } elsif ($resurl eq 'adm/navmaps') {  
                $mapurl=$env{'course.'.$env{'request.course.id'}.'.url'};  
            }  
            my $mapresobj;  
            my $navmap = Apache::lonnavmaps::navmap->new();  
            if (ref($navmap)) {  
                $mapresobj = $navmap->getResourceByUrl($mapurl);  
            }  
            $mapurl=~s{^.*/([^/]+)\.(\w+)$}{$1};  
            my $type=$2;  
            my $path;  
            if (ref($mapresobj)) {  
                my $pcslist = $mapresobj->map_hierarchy();  
                if ($pcslist ne '') {  
                    foreach my $pc (split(/,/,$pcslist)) {  
                        next if ($pc <= 1);  
                        my $res = $navmap->getByMapPc($pc);  
                        if (ref($res)) {  
                            my $thisurl = $res->src();  
                            $thisurl=~s{^.*/([^/]+)\.\w+$}{$1};   
                            my $thistitle = $res->title();  
                            $path .= '&'.  
                                     &Apache::lonhtmlcommon::entity_encode($thisurl).'&'.  
                                     &Apache::lonhtmlcommon::entity_encode($thistitle).  
                                     ':'.$res->randompick().  
                                     ':'.$res->randomout().  
                                     ':'.$res->encrypted().  
                                     ':'.$res->randomorder().  
                                     ':'.$res->is_page();  
                        }  
                    }  
                }  
                $path =~ s/^\&//;  
                my $maptitle = $mapresobj->title();  
                if ($mapurl eq 'default') {  
                    $maptitle = 'Main Course Documents';  
                }  
                $path .= (($path ne '')? '&' : '').  
                     &Apache::lonhtmlcommon::entity_encode($mapurl).'&'.  
                     &Apache::lonhtmlcommon::entity_encode($maptitle).  
                     ':'.$mapresobj->randompick().  
                     ':'.$mapresobj->randomout().  
                     ':'.$mapresobj->encrypted().  
                     ':'.$mapresobj->randomorder().  
                     ':'.$mapresobj->is_page();   
            } else {  
                my $maptitle = &Apache::lonnet::gettitle($mapurl);  
                my $ispage = (($type eq 'page')? 1 : '');  
                if ($mapurl eq 'default') {  
                    $maptitle = 'Main Course Documents';  
                }  
                $path = &Apache::lonhtmlcommon::entity_encode($mapurl).'&'.  
                        &Apache::lonhtmlcommon::entity_encode($maptitle).':::::'.$ispage;  
            }  
            unless ($mapurl eq 'default') {  
                $path = 'default&'.  
                        &Apache::lonhtmlcommon::entity_encode('Main Course Documents').  
                        ':::::&'.$path;  
            }  
            $env{'form.folderpath'}=$path;  
        } elsif ($env{'form.supppath'} ne '') {         } elsif ($env{'form.supppath'} ne '') {
            $env{'form.folderpath'}=$env{'form.supppath'};             $env{'form.folderpath'}=$env{'form.supppath'};
        }         }

Removed from v.1.521  
changed lines
  Added in v.1.522


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>