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

version 1.521, 2012/12/05 13:50:32 version 1.524, 2012/12/07 17:15:56
Line 2443  $form_common.' Line 2443  $form_common.'
                                                             $forceedit,                                                              $forceedit,
                                                             undef,$symb,                                                              undef,$symb,
                                                             &escape($env{'form.folderpath'}),                                                              &escape($env{'form.folderpath'}),
                                                             $renametitle);                                                              $renametitle,'','',1);
                 if ($jscall) {                  if ($jscall) {
                     $editlink = '<a class="LC_docs_ext_edit" href="javascript:'.                      $editlink = '<a class="LC_docs_ext_edit" href="javascript:'.
                                 $jscall.'" >'.&mt('Edit').'</a>&nbsp;'."\n";                                  $jscall.'" >'.&mt('Edit').'</a>&nbsp;'."\n";
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'};
        }         }
Line 3299  sub handler { Line 3238  sub handler {
     if ((!$env{'form.folderpath'}) && $allowed) {      if ((!$env{'form.folderpath'}) && $allowed) {
         &Apache::loncommon::restore_course_settings($stored_folderpath,          &Apache::loncommon::restore_course_settings($stored_folderpath,
                                           {'folderpath' => 'scalar'});                                            {'folderpath' => 'scalar'});
           unless (&unescape($env{'form.folderpath'}) =~ m{^(default|supplemental)&}) {
               undef($env{'form.folderpath'});
           }
     }      }
         
 # If we are not allowed to make changes, all we can see are supplemental docs  # If we are not allowed to make changes, all we can see are supplemental docs

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


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