Diff for /loncom/interface/londocs.pm between versions 1.145 and 1.157

version 1.145, 2004/09/18 17:04:03 version 1.157, 2004/12/15 15:21:43
Line 283  sub exportcourse { Line 283  sub exportcourse {
             $outcome = '<br />As you did not select any content items or discussions for export, an IMS package has not been created.  Please <a href="javascript:history.go(-1)">go back</a> to select either content items or discussions for export';              $outcome = '<br />As you did not select any content items or discussions for export, an IMS package has not been created.  Please <a href="javascript:history.go(-1)">go back</a> to select either content items or discussions for export';
         } else {          } else {
             my $now = time;              my $now = time;
             my $count = 0;  
             my %symbs;              my %symbs;
             my $manifestok = 0;              my $manifestok = 0;
             my $imsresources;              my $imsresources;
Line 291  sub exportcourse { Line 290  sub exportcourse {
             my $copyresult;              my $copyresult;
             my $ims_manifest = &create_ims_store($now,\$manifestok,\$outcome,\$tempexport);              my $ims_manifest = &create_ims_store($now,\$manifestok,\$outcome,\$tempexport);
             if ($manifestok) {              if ($manifestok) {
                 &build_package($now,$navmap,\@exportitems,\@discussions,\$outcome,\$tempexport,\$copyresult,$ims_manifest);                  &build_package($now,$navmap,\@exportitems,\@discussions,\$outcome,$tempexport,\$copyresult,$ims_manifest);
                 close($ims_manifest);                  close($ims_manifest);
   
 #Create zip file in prtspool  #Create zip file in prtspool
Line 504  sub build_package { Line 503  sub build_package {
     my $lastcontainer = 0;      my $lastcontainer = 0;
     my %parent = ();      my %parent = ();
     my @dependencies = ();      my @dependencies = ();
     my $cnum = $ENV{'request.'.$ENV{'request.course.id'}.'.num'};      my $cnum = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
     my $cdom = $ENV{'request.'.$ENV{'request.course.id'}.'.domain'};      my $cdom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
     while ($curRes = $it->next()) {      while ($curRes = $it->next()) {
         if (ref($curRes)) {          if (ref($curRes)) {
             $count ++;              $count ++;
Line 534  sub build_package { Line 533  sub build_package {
     $count = 0;      $count = 0;
     my $imsresources;      my $imsresources;
     my $pkgdepth;      my $pkgdepth;
     if ($curRes == $it->BEGIN_MAP()) {      my $included = 0;
         $prevdepth = $depth;      while ($curRes = $it->next()) {
         $depth++;          if ($curRes == $it->BEGIN_MAP()) {
     }              $prevdepth = $depth;
     if ($curRes == $it->END_MAP()) {              $depth++;
         $prevdepth = $depth;          }
         $depth--;          if ($curRes == $it->END_MAP()) {
     }  
   
     if (ref($curRes)) {  
         if ((grep/^$count$/,@$exportitems) || (grep/^$count$/,@dependencies)) {  
             my $symb = $curRes->symb();  
             my $isvisible = 'true';  
             my $resourceref;  
             if ($curRes->randomout()) {  
                 $isvisible = 'false';  
             }  
             unless ($curRes->is_sequence()) {  
                 $resourceref = 'identifierref="RES-'.$ENV{'request.course.id'}.'-'.$count.'"';  
             }  
             if (($depth <= $prevdepth) && ($count > 1)) {  
                 print $ims_manifest '  </item>'."\n";  
             }  
             $prevdepth = $depth;              $prevdepth = $depth;
               $depth--;
           }
   
             my $itementry =          if (ref($curRes)) {
               $count ++;
               if ((grep/^$count$/,@$exportitems) || (grep/^$count$/,@dependencies)) {
                   my $symb = $curRes->symb();
                   my $isvisible = 'true';
                   my $resourceref;
                   if ($curRes->randomout()) {
                       $isvisible = 'false';
                   }
                   unless ($curRes->is_sequence()) {
                       $resourceref = 'identifierref="RES-'.$ENV{'request.course.id'}.'-'.$count.'"';
                   }
                   if (($depth <= $prevdepth) && ($count > 1) && ($included)) {
                       print $ims_manifest "\n".'  </item>'."\n";
                   }
                   $included = 1;
                   $prevdepth = $depth;
   
                   my $itementry =
               '<item identifier="ITEM-'.$ENV{'request.course.id'}.'-'.$count.                '<item identifier="ITEM-'.$ENV{'request.course.id'}.'-'.$count.
               '" isvisible="'.$isvisible.'" '.$resourceref.'>'.                '" isvisible="'.$isvisible.'" '.$resourceref.'>'.
               '<title>'.$curRes->title().'</title>';                '<title>'.$curRes->title().'</title>';
             print $ims_manifest "\n".$itementry;                  print $ims_manifest "\n".$itementry;
   
             unless ($curRes->is_sequence()) {                  unless ($curRes->is_sequence()) {
                 my $content_file;                      my $content_file;
                 my @hrefs = ();                      my @hrefs = ();
                 &process_content($count,$curRes,$cdom,$cnum,$symb,$content_file,\@hrefs,$copyresult,$tempexport);                      &process_content($count,$curRes,$cdom,$cnum,$symb,\$content_file,\@hrefs,$copyresult,$tempexport);
                 if ($content_file) {                      if ($content_file) {
                     $imsresources .= "\n".                          $imsresources .= "\n".
                      '   <resource identifier="RES-'.$ENV{'request.course.id'}.'-'.$count.                       '   <resource identifier="RES-'.$ENV{'request.course.id'}.'-'.$count.
                      '" type="webcontent" href="'.$content_file.'">'."\n".                       '" type="webcontent" href="'.$content_file.'">'."\n".
                      '       <file href="'.$content_file.'" />'."\n";                       '       <file href="'.$content_file.'" />'."\n";
                     foreach (@hrefs) {                          foreach (@hrefs) {
                         $imsresources .=                              $imsresources .=
                      '        <file href="'.$_.'" />'."\n";                       '        <file href="'.$_.'" />'."\n";
                           }
                           $imsresources .= '    </resource>'."\n";
                     }                      }
                     $imsresources .= '    </resource>'."\n";  
                 }                  }
                   $pkgdepth = $depth;
               } else {
                   $included = 0;
             }              }
             $pkgdepth = $depth;  
         }          }
     }      }
     while ($pkgdepth > -1) {      while ($pkgdepth > 0) {
         print $ims_manifest "    </item>\n";          print $ims_manifest "    </item>\n";
         $pkgdepth --;          $pkgdepth --;
     }      }
Line 602  sub build_package { Line 608  sub build_package {
 sub get_dependencies {  sub get_dependencies {
     my ($exportitems,$parent,$depth,$dependencies) = @_;      my ($exportitems,$parent,$depth,$dependencies) = @_;
     if ($depth > 1) {      if ($depth > 1) {
         unless (grep/^$$parent{$depth}$/,@$exportitems || grep/^$$parent{$depth}$/,@$dependencies) {          if ((!grep/^$$parent{$depth}$/,@$exportitems) && (!grep/^$$parent{$depth}$/,@$dependencies)) {
             push @$dependencies, $$parent{$depth};              push @$dependencies, $$parent{$depth};
             if ($depth > 2) {              if ($depth > 2) {
                 &get_dependencies($exportitems,$parent,$depth-1,$dependencies);                  &get_dependencies($exportitems,$parent,$depth-1,$dependencies);
Line 616  sub process_content { Line 622  sub process_content {
     my $content_type;      my $content_type;
     my $message;      my $message;
 # find where user is author or co-author  # find where user is author or co-author
     my %roleshash = &Appache::lonnet::get_my_roles();      my %roleshash = &Apache::lonnet::get_my_roles();
     if ($curRes->is_page()) {      if ($curRes->is_sequence()) {
         $content_type = 'page';          $content_type = 'sequence';
       } elsif ($curRes->is_page()) {
           $content_type = 'page'; # need to handle individual items in pages.
     } elsif ($symb =~ m-public/$cdom/$cnum/syllabus$-) {      } elsif ($symb =~ m-public/$cdom/$cnum/syllabus$-) {
         $content_type = 'syllabus';          $content_type = 'syllabus';
     } elsif ($symb =~ m-\.sequence____\d+____ext-) {      } elsif ($symb =~ m-\.sequence___\d+___ext-) {
         $content_type = 'external';          $content_type = 'external';
     } elsif ($symb =~ m-adm/navmaps$-) {      } elsif ($symb =~ m-adm/navmaps$-) {
         $content_type =  'navmap';          $content_type =  'navmap';
     } elsif ($symb =~ m-adm/$cdom/$cnum/\d+/smppg$-) {      } elsif ($symb =~ m-adm/$cdom/$cnum/\d+/smppg$-) {
         $content_type = 'simplepage';          $content_type = 'simplepage';
     } elsif ($symb =~ m-$-) {      } elsif ($symb =~ m-/lib/templates/simpleproblem\.problem$-) {
         $content_type = 'simpleproblem';          $content_type = 'simpleproblem';
     } elsif ($symb =~ m-adm/$cdom/$cnum/\d+/bulletinboard$-) {      } elsif ($symb =~ m-adm/$cdom/$cnum/\d+/bulletinboard$-) {
         $content_type = 'bulletinboard';          $content_type = 'bulletinboard';
     } elsif ($symb =~ m-adm/$cdom/$cnum/\d+/aboutme$-) {      } elsif ($symb =~ m-adm/$cdom/$cnum/\d+/aboutme$-) {
         $content_type = 'aboutme';          $content_type = 'aboutme';
     } elsif ($symb =~ m-uploaded/$cdom/$cnum-) {      } elsif ($symb =~ m-uploaded/$cdom/$cnum-) {
         &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,'uploaded');          $$content_file = &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,$href,'uploaded');
     } elsif ($symb =~ m-\.sequence____\d+____([^/])/([^/])-) {      } elsif ($symb =~ m-\.(sequence|page)___\d+___uploaded/$cdom/$cnum/-) {
         my $coauth = $2.':'.$1.':ca';          $$content_file = &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,$href,'uploaded');
       } elsif ($symb =~ m-\.(sequence|page)___\d+___([^/])/([^/])-) {
           my $coauth = $3.':'.$2.':ca';
         my $canedit = 0;          my $canedit = 0;
         if ($1 eq $ENV{'user.domain'} && $2 eq $ENV{'user.name'})  {          if ($2 eq $ENV{'user.domain'} && $3 eq $ENV{'user.name'})  {
             $canedit= 1;              $canedit= 1;
         } elsif (defined($roleshash{$coauth})) {          } elsif (defined($roleshash{$coauth})) {
             if ($roleshash{$coauth} =~ /(\d+):(\d+)/) {              if ($roleshash{$coauth} =~ /(\d+):(\d+)/) {
Line 650  sub process_content { Line 660  sub process_content {
             }              }
         }          }
         if ($canedit) {          if ($canedit) {
             &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,'resource');              $$content_file = &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,$href,'resource');
         } else {          } else {
             &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,'noedit');              $$content_file = &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,$href,'noedit');
         }          }
     }      }
     $$copyresult .= $message."\n";      if ($message) {
           $$copyresult .= $message."\n";
       }
 }  }
   
 sub replicate_content {  sub replicate_content {
     my ($cdom,$cnum,$tempexport,$symb,$count,$message,$caller) = @_;      my ($cdom,$cnum,$tempexport,$symb,$count,$message,$href,$caller) = @_;
     my ($map,$ind,$url)=&Apache::lonnet::decode_symb($symb);      my ($map,$ind,$url)=&Apache::lonnet::decode_symb($symb);
     my $feedurl = &Apache::lonnet::clutter($url);      my $feedurl = &Apache::lonnet::clutter($url);
   
     my $content;      my $content;
     my $filename;      my $filename;
     my $repstatus;      my $repstatus;
     if ($url =~ m-[^/]/(.+)$-) {      my $content_name;
       if ($url =~ m-/([^/]+)$-) {
         $filename = $1;          $filename = $1;
         if (!-e $tempexport.'/resources') {          if (!-e $tempexport.'/resources') {
             mkdir($tempexport.'/resources',0700);              mkdir($tempexport.'/resources',0700);
         }          }
         if (!-e $tempexport.'/resources') {          if (!-e $tempexport.'/resources/'.$count) {
             mkdir($tempexport.'/resources/'.$count,0700);              mkdir($tempexport.'/resources/'.$count,0700);
         }          }
         my $destination = $$tempexport.'/resources/'.$count.'/'.$filename;          my $destination = $tempexport.'/resources/'.$count.'/'.$filename;
         my $copiedfile;          my $copiedfile;
         if ($copiedfile = Apache::File->new('>'.$destination)) {          if ($copiedfile = Apache::File->new('>'.$destination)) {
             my $content;              my $content;
             if ($caller eq 'uploaded' || $caller eq 'resource') {              if ($caller eq 'resource') {
                 $content = &Apache::lonnet::getfile($url);                  $content = &Apache::lonnet::getfile($url);
                 if ($content eq -1) {                  if ($content eq -1) {
                     $$message = 'Could not copy file '.$filename;                      $$message = 'Could not copy file '.$filename;
                 } else {                  } else {
                       &extract_media($content,$count,$tempexport,$href,'resource');
                     $repstatus = 'ok';                      $repstatus = 'ok';
                 }                  }
             } elsif ($caller eq 'noedit') {              } elsif ($caller eq 'noedit' || $caller eq 'uploaded') {
                 my $rtncode;                  my $rtncode;
                 $repstatus = &getuploaded('GET',$url,$cdom,$cnum,$content,$rtncode);                  $repstatus = &Apache::lonnet::getuploaded('GET',$url,$cdom,$cnum,\$content,$rtncode);
                 unless ($repstatus eq 'ok') {                  if ($repstatus eq 'ok') {
                       if ($url =~ /\.html?$/i) {
                           &extract_media(\$content,$count,$tempexport,$href,'uploaded');
                       }
                   } else {
                     $$message = 'Could not render '.$url.' server message - '.$rtncode;                      $$message = 'Could not render '.$url.' server message - '.$rtncode;
                 }                  }
             }              }
Line 700  sub replicate_content { Line 718  sub replicate_content {
             $$message = 'Could not open destination file for '.$filename."\n";              $$message = 'Could not open destination file for '.$filename."\n";
         }          }
     } else {      } else {
         $$message = 'Could not determine name of file for ';          $$message = 'Could not determine name of file for '.$url."\n";
       }
       if ($repstatus eq 'ok') {
           $content_name = $count.'/'.$filename;
     }      }
     return $repstatus;      return $content_name;
   }
   
   sub extract_media {
       my ($content,$count,$tempexport,$href,$caller) = @_;
   # @$href will contain path to any embedded resources in the content.
   # For LON-CAPA problems this would be images. applets etc. 
   # For uploaded HTML files this would be images etc.
   # paths will be in the form $count/res/$file, and urls in the $content will be rewritten with the new paths. 
       return;
 }  }
   
 # Imports the given (name, url) resources into the course  # Imports the given (name, url) resources into the course
Line 989  sub editor { Line 1019  sub editor {
 # ---------------------------------------------------------------- End commands  # ---------------------------------------------------------------- End commands
 # ---------------------------------------------------------------- Print screen  # ---------------------------------------------------------------- Print screen
         my $idx=0;          my $idx=0;
    my $shown=0;
         $r->print('<table>');          $r->print('<table>');
         foreach (@Apache::lonratedt::order) {          foreach (@Apache::lonratedt::order) {
            my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);             my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);
            unless ($name) {  $name=(split(/\//,$url))[-1]; }             unless ($name) {  $name=(split(/\//,$url))[-1]; }
            unless ($name) { next; }             unless ($name) { $idx++; next; }
            $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum));             $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum));
            $idx++;             $idx++;
      $shown++;
         }          }
  unless ($idx) {   unless ($shown) {
     $r->print('<tr><td>'.&mt('Currently no documents.').'</td></tr>');      $r->print('<tr><td>'.&mt('Currently no documents.').'</td></tr>');
  }   }
         $r->print('</table>');          $r->print('</table>');
Line 1032  sub entryline { Line 1064  sub entryline {
  $folderpath=&Apache::lonnet::escape($ENV{'form.folderpath'});   $folderpath=&Apache::lonnet::escape($ENV{'form.folderpath'});
  # $htmlfoldername=&HTML::Entities::encode($ENV{'form.foldername'},'<>&"');   # $htmlfoldername=&HTML::Entities::encode($ENV{'form.foldername'},'<>&"');
     }      }
     my $pagepath;      my ($pagepath,$pagesymb);
     if ($ENV{'form.pagepath'}) {      if ($ENV{'form.pagepath'}) {
         $container = 'page';          $container = 'page';
         $pagepath=&Apache::lonnet::escape($ENV{'form.pagepath'});          $pagepath=&Apache::lonnet::escape($ENV{'form.pagepath'});
           $pagesymb=&Apache::lonnet::escape($ENV{'form.pagesymb'});
     }      }
     if ($allowed) {      if ($allowed) {
  my $incindex=$index+1;   my $incindex=$index+1;
Line 1062  sub entryline { Line 1095  sub entryline {
             $line.=(<<END);              $line.=(<<END);
 <form name="entry_$index" action="/adm/coursedocs" method="post">  <form name="entry_$index" action="/adm/coursedocs" method="post">
 <input type="hidden" name="pagepath" value="$ENV{'form.pagepath'}" />  <input type="hidden" name="pagepath" value="$ENV{'form.pagepath'}" />
   <input type="hidden" name="pagesymb" value="$ENV{'form.pagesymb'}" />
 <input type="hidden" name="setparms" value="$orderidx" />  <input type="hidden" name="setparms" value="$orderidx" />
 <td><table border='0' cellspacing='2' cellpadding='0'>  <td><table border='0' cellspacing='2' cellpadding='0'>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 <a href='/adm/coursedocs?cmd=up_$index&pagepath=$pagepath'>  <a href='/adm/coursedocs?cmd=up_$index&pagepath=$pagepath&pagesymb=$pagesymb'>
 <img src="${iconpath}move_up.gif" alt='$lt{'up'}' border='0' /></a></td></tr>  <img src="${iconpath}move_up.gif" alt='$lt{'up'}' border='0' /></a></td></tr>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 <a href='/adm/coursedocs?cmd=down_$index&pagepath=$pagepath'>  <a href='/adm/coursedocs?cmd=down_$index&pagepath=$pagepath&pagesymb=$pagesymb'>
 <img src="${iconpath}move_down.gif" alt='$lt{'dw'}' border='0' /></a></td></tr>  <img src="${iconpath}move_down.gif" alt='$lt{'dw'}' border='0' /></a></td></tr>
 </table></td>  </table></td>
 <td>$selectbox  <td>$selectbox
 </td><td bgcolor="#DDDDDD">  </td><td bgcolor="#DDDDDD">
 <a href='javascript:removeres("$pagepath","$index","$renametitle","page");'>  <a href='javascript:removeres("$pagepath","$index","$renametitle","page","$pagesymb");'>
 <font size="-2" color="#990000">$lt{'rm'}</font></a>  <font size="-2" color="#990000">$lt{'rm'}</font></a>
 <a href='javascript:changename("$pagepath","$index","$renametitle","page");'>  <a href='javascript:changename("$pagepath","$index","$renametitle","page","$pagesymb");'>
 <font size="-2" color="#009900">$lt{'rn'}</font></a></td>  <font size="-2" color="#009900">$lt{'rn'}</font></a></td>
 END  END
         } else {          } else {
Line 1150  END Line 1184  END
  } elsif ($url=~m|^/ext/|) {    } elsif ($url=~m|^/ext/|) { 
     $url='/adm/wrapper'.$url;      $url='/adm/wrapper'.$url;
  }   }
         unless ($container eq 'page') {   $url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb);
    if ($container eq 'page') {
       my $symb=$ENV{'form.pagesymb'};
           
       $url=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($symb))[2]);
     $url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb);      $url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb);
         }   }
     }      }
     my $parameterset='&nbsp;';      my $parameterset='&nbsp;';
     if ($isfolder) {      if ($isfolder) {
Line 1161  END Line 1199  END
  if ($folderpath) { $folderpath.='&' };   if ($folderpath) { $folderpath.='&' };
  $folderpath.=$folderarg.'&'.$foldername;   $folderpath.=$folderarg.'&'.$foldername;
  $url.='folderpath='.&Apache::lonnet::escape($folderpath);   $url.='folderpath='.&Apache::lonnet::escape($folderpath);
  $parameterset=&mt('Randomly Pick: ').   $parameterset='<label>'.&mt('Randomly Pick: ').
     '<input type="text" size="4" name="randpick_'.$orderidx.'" value="'.      '<input type="text" size="4" name="randpick_'.$orderidx.'" value="'.
     (&Apache::lonratedt::getparameter($orderidx,'parameter_randompick'))[0].'" />';      (&Apache::lonratedt::getparameter($orderidx,
                                                 'parameter_randompick'))[0].
                                                 '" />'.'</label>';
          
     }      }
     if ($ispage) {      if ($ispage) {
         my $pagename=&Apache::lonnet::escape($pagetitle);          my $pagename=&Apache::lonnet::escape($pagetitle);
Line 1171  END Line 1212  END
         my $folderpath=$ENV{'form.folderpath'};          my $folderpath=$ENV{'form.folderpath'};
         if ($folderpath) { $pagepath = $folderpath.'&' };          if ($folderpath) { $pagepath = $folderpath.'&' };
         $pagepath.=$pagearg.'&'.$pagename;          $pagepath.=$pagearg.'&'.$pagename;
         $url.='pagepath='.&Apache::lonnet::escape($pagepath);   my $symb=$ENV{'form.pagesymb'};
    if (!$symb) {
       my $path='uploaded/'.
    $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.'/'.
    $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.'/';
       $symb=&Apache::lonnet::encode_symb($path.$folder.'.sequence',
          $residx,
          $path.$pagearg.'.page');
    }
    $url.='pagepath='.&Apache::lonnet::escape($pagepath).
       '&pagesymb='.&Apache::lonnet::escape($symb);
     }      }
     $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'"><img src="'.$icon.      $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'"><img src="'.$icon.
  '" border="0"></a></td>'.   '" border="0"></a></td>'.
Line 1187  END Line 1238  END
     ((&Apache::lonratedt::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i?' checked="1"':'');      ((&Apache::lonratedt::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i?' checked="1"':'');
  $line.=(<<ENDPARMS);   $line.=(<<ENDPARMS);
 <td bgcolor="#BBBBFF"><font size='-2'>  <td bgcolor="#BBBBFF"><font size='-2'>
 <input type="checkbox" name="hidprs_$orderidx" $hidtext/> $lt{'hd'}</td>  <nobr><label><input type="checkbox" name="hidprs_$orderidx" $hidtext/> $lt{'hd'}</label></nobr></td>
 <!--<td bgcolor="#BBBBFF"><font size='-2'>  <td bgcolor="#BBBBFF"><font size='-2'>
 <input type="checkbox" name="encprs_$orderidx" $enctext/> $lt{'ec'}</td>-->  <nobr><label><input type="checkbox" name="encprs_$orderidx" $enctext/> $lt{'ec'}</label></nobr></td>
 <td bgcolor="#BBBBFF"><font size="-2">$parameterset</font></td>  <td bgcolor="#BBBBFF"><font size="-2">$parameterset</font></td>
 <td bgcolor="#BBBBFF"><font size='-2'>  <td bgcolor="#BBBBFF"><font size='-2'>
 <input type="submit" value="$lt{'sp'}" />  <input type="submit" value="$lt{'sp'}" />
Line 1602  sub is_hash_old { Line 1653  sub is_hash_old {
 sub changewarning {  sub changewarning {
     my ($r,$postexec)=@_;      my ($r,$postexec)=@_;
     if (!&is_hash_old()) { return; }      if (!&is_hash_old()) { return; }
       my $pathvar='folderpath';
       my $path=&Apache::lonnet::escape($ENV{'form.folderpath'});
       if (defined($ENV{'form.pagepath'})) {
    $pathvar='pagepath';
    $path=&Apache::lonnet::escape($ENV{'form.pagepath'});
    $path.='&amp;symb='.&Apache::lonnet::escape($ENV{'form.pagesymb'});
       }
     $r->print(      $r->print(
 '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'.   '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'. 
 '<form method="post" action="/adm/roles" target="loncapaclient">'.  '<form method="post" action="/adm/roles" target="loncapaclient">'.
 '<input type="hidden" name="orgurl" value="/adm/coursedocs?folderpath='.  '<input type="hidden" name="orgurl" value="/adm/coursedocs?'.
 &Apache::lonnet::escape($ENV{'form.folderpath'}).  $pathvar.'='.$path.
 '" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">'.  '" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">'.
 &mt('Changes will become active for your current session after').  &mt('Changes will become active for your current session after').
 ' <input type="hidden" name="'.  ' <input type="hidden" name="'.
Line 1656  sub handler { Line 1714  sub handler {
 # is this a standard course?  # is this a standard course?
   
     my $standard=($ENV{'request.course.uri'}=~/^\/uploaded\//);      my $standard=($ENV{'request.course.uri'}=~/^\/uploaded\//);
     my $forcestandard;      my $forcestandard = 0;
     my $forcesupplement;      my $forcesupplement;
     my $script='';      my $script='';
     my $allowed;      my $allowed;
Line 1665  sub handler { Line 1723  sub handler {
     my $containertag;      my $containertag;
     my $uploadtag;      my $uploadtag;
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
     ['folderpath','pagepath']);      ['folderpath','pagepath','pagesymb']);
     if ($ENV{'form.folderpath'}) {      if ($ENV{'form.folderpath'}) {
  my (@folderpath)=split('&',$ENV{'form.folderpath'});   my (@folderpath)=split('&',$ENV{'form.folderpath'});
  $ENV{'form.foldername'}=&Apache::lonnet::unescape(pop(@folderpath));   $ENV{'form.foldername'}=&Apache::lonnet::unescape(pop(@folderpath));
Line 1675  sub handler { Line 1733  sub handler {
         my (@pagepath)=split('&',$ENV{'form.pagepath'});          my (@pagepath)=split('&',$ENV{'form.pagepath'});
         $ENV{'form.pagename'}=&Apache::lonnet::unescape(pop(@pagepath));          $ENV{'form.pagename'}=&Apache::lonnet::unescape(pop(@pagepath));
         $ENV{'form.folder'}=pop(@pagepath);          $ENV{'form.folder'}=pop(@pagepath);
         $containertag = '<input type="hidden" name="pagepath" value="" />';          $containertag = '<input type="hidden" name="pagepath" value="" />'.
         $uploadtag = '<input type="hidden" name="pagepath" value="'.$ENV{'form.pagepath'}.'" />';      '<input type="hidden" name="pagesymb" value="" />';
           $uploadtag = '<input type="hidden" name="pagepath" value="'.$ENV{'form.pagepath'}.'" />'.
       '<input type="hidden" name="pagesymb" value="'.$ENV{'form.pagesymb'}.'" />';
     }      }
     if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {      if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {
        $showdoc='/'.$1;         $showdoc='/'.$1;
     }      }
     unless ($showdoc) { # got called from remote      unless ($showdoc) { # got called from remote
        $forcestandard=($ENV{'form.folder'}=~/^default_/);         if (($ENV{'form.folder'}=~/^default_/) || 
             ($ENV{'form.folder'} =~ m#^\d+/(pages|sequences)/#)) {
              $forcestandard = 1;
          } 
        $forcesupplement=($ENV{'form.folder'}=~/^supplemental_/);         $forcesupplement=($ENV{'form.folder'}=~/^supplemental_/);
   
 # does this user have privileges to post, etc?  # does this user have privileges to post, etc?
Line 1816  function finishpick() { Line 1879  function finishpick() {
     '";this.document.forms.'+form+'.submit();');      '";this.document.forms.'+form+'.submit();');
 }  }
   
 function changename(folderpath,index,oldtitle,container) {  function changename(folderpath,index,oldtitle,container,pagesymb) {
     var title=prompt('New Title',oldtitle);      var title=prompt('New Title',oldtitle);
     if (title) {      if (title) {
  this.document.forms.renameform.title.value=title;   this.document.forms.renameform.title.value=title;
Line 1826  function changename(folderpath,index,old Line 1889  function changename(folderpath,index,old
         }          }
         if (container == 'page') {          if (container == 'page') {
             this.document.forms.renameform.pagepath.value=folderpath;              this.document.forms.renameform.pagepath.value=folderpath;
               this.document.forms.renameform.pagesymb.value=pagesymb;
         }          }
         this.document.forms.renameform.submit();          this.document.forms.renameform.submit();
     }      }
 }  }
   
 function removeres(folderpath,index,oldtitle,container) {  function removeres(folderpath,index,oldtitle,container,pagesymb) {
     if (confirm('Remove "'+oldtitle+'"?')) {      if (confirm('Remove "'+oldtitle+'"?')) {
  this.document.forms.renameform.cmd.value='del_'+index;   this.document.forms.renameform.cmd.value='del_'+index;
         if (container == 'sequence') {          if (container == 'sequence') {
Line 1839  function removeres(folderpath,index,oldt Line 1903  function removeres(folderpath,index,oldt
         }          }
         if (container == 'page') {          if (container == 'page') {
             this.document.forms.renameform.pagepath.value=folderpath;              this.document.forms.renameform.pagepath.value=folderpath;
               this.document.forms.renameform.pagesymb.value=pagesymb;
         }          }
         this.document.forms.renameform.submit();          this.document.forms.renameform.submit();
     }      }

Removed from v.1.145  
changed lines
  Added in v.1.157


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