Diff for /loncom/interface/londocs.pm between versions 1.278 and 1.282

version 1.278, 2007/06/16 17:42:24 version 1.282, 2007/07/02 23:43:36
Line 379  sub exportcourse { Line 379  sub exportcourse {
                 }                  }
                 $display .= ' />'."\n";                  $display .= ' />'."\n";
                 for (my $i=0; $i<$depth; $i++) {                  for (my $i=0; $i<$depth; $i++) {
                     $display .= '<img src="/adm/lonIcons/whitespace1.gif" width="25" height="1" alt="" border="0" /><img src="/adm/lonIcons/whitespace1.gif" width="25" height="1" alt="" border="0" />'."\n";                      $display .= '<img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" /><img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" />'."\n";
                 }                  }
                 if ($curRes->is_sequence()) {                  if ($curRes->is_sequence()) {
                     $display .= '<img src="/adm/lonIcons/navmap.folder.open.gif">&nbsp;'."\n";                      $display .= '<img src="/adm/lonIcons/navmap.folder.open.gif">&nbsp;'."\n";
Line 958  sub breadcrumbs { Line 958  sub breadcrumbs {
     my $folderpath;      my $folderpath;
     my $cpinfo='';      my $cpinfo='';
     my $plain='';      my $plain='';
     if ($env{'form.markedcopy_url'}) {  
        $cpinfo='&markedcopy_url='.  
                &escape($env{'form.markedcopy_url'}).  
                '&markedcopy_title='.  
                &escape($env{'form.markedcopy_title'});  
     }  
     my $randompick=-1;      my $randompick=-1;
     my $isencrypted=0;      my $isencrypted=0;
     my $ishidden=0;      my $ishidden=0;
Line 1155  sub docs_change_log { Line 1149  sub docs_change_log {
  for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) {   for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) {
     my $oldname=(split(/\:/,$docslog{$id}{'logentry'}{'before_resources_'.$idx}))[0];      my $oldname=(split(/\:/,$docslog{$id}{'logentry'}{'before_resources_'.$idx}))[0];
     my $newname=(split(/\:/,$docslog{$id}{'logentry'}{'after_resources_'.$idx}))[0];      my $newname=(split(/\:/,$docslog{$id}{'logentry'}{'after_resources_'.$idx}))[0];
     if ($oldname ne $newname) {      if ($oldname ne '' && $oldname ne $newname) {
  $r->print(&LONCAPA::map::qtescape($newname));   $r->print(&LONCAPA::map::qtescape($newname));
     }      }
  }           }        
Line 1185  sub docs_change_log { Line 1179  sub docs_change_log {
               || $shown<=$env{'form.show'})) { last; }                || $shown<=$env{'form.show'})) { last; }
     }      }
     $r->print(&Apache::loncommon::end_data_table());      $r->print(&Apache::loncommon::end_data_table());
     $r->print(&Apache::loncommon::end_page());  }
   
   sub update_paste_buffer {
       my ($coursenum,$coursedom) = @_;
   
       return if (!defined($env{'form.markcopy'}));
       return if (!defined($env{'form.copyfolder'}));
       return if ($env{'form.markcopy'} < 0);
   
       my ($errtext,$fatal) = &mapread($coursenum,$coursedom,
       $env{'form.copyfolder'});
       
       return if ($fatal);
   
   # Mark for copying
       my ($title,$url)=split(':',$LONCAPA::map::resources[$LONCAPA::map::order[$env{'form.markcopy'}]]);
       if (&is_supplemental_title($title)) {
    ($title) = &parse_supplemental_title($title);
       }
       &Apache::lonnet::appenv('docs.markedcopy_title' => $title,
       'docs.markedcopy_url'   => $url);
       delete($env{'form.markcopy'});
   }
   
   sub print_paste_buffer {
       my ($r,$container) = @_;
       return if (!defined($env{'docs.markedcopy_url'}));
   
       $r->print(<<ENDPASTE);
   <p><form name="pasteform" action="/adm/coursedocs" method="post">
   ENDPASTE
       $r->print('<input type="submit" name="pastemarked" value="'.&mt('Paste').'" /> ');
   
       my $type;
       if ($env{'docs.markedcopy_url'} =~ m{^/adm/wrapper/ext}) {
    $type = &mt('External Resource');
    $r->print($type.': '.&Apache::map::qtescape($env{'docs.markedcopy_title'}));
       }  else {
    my $extension = (split(/\./,$env{'docs.markedcopy_url'}))[-1];
    my $type = &Apache::loncommon::filedescription($extension);
    my $icon = '<img src="'.&Apache::loncommon::icon($extension).
       '" class="LC_icon" />';
    $r->print($icon.$type.': '.  &parse_supplemental_title($env{'docs.markedcopy_title'}));
       }
       if ($container eq 'page') {
    $r->print(<<PAGEINFO);
    <input type="hidden" name="pagepath" value="$env{'form.pagepath'}" />
    <input type="hidden" name="pagesymb" value="$env{'form.pagesymb'}" />
   PAGEINFO
       } else {
    $r->print(<<FOLDERINFO);
           <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />
   FOLDERINFO
       }
       $r->print('</form></p>');
 }  }
   
 sub editor {  sub editor {
     my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output)=@_;      my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$which)=@_;
     my $errtext='';      my $errtext='';
     my $fatal=0;      my $fatal=0;
     my $container='sequence';      my $container='sequence';
     if ($env{'form.pagepath'}) {      if ($env{'form.pagepath'}) {
         $container='page';          $container='page';
     }      }
     ($errtext,$fatal)=      ($errtext,$fatal) = &mapread($coursenum,$coursedom,$folder.'.'.$container);
               &mapread($coursenum,$coursedom,$folder.'.'.$container);  
     if ($#LONCAPA::map::order<1) {      if ($#LONCAPA::map::order<1) {
  my $idx=&LONCAPA::map::getresidx();   my $idx=&LONCAPA::map::getresidx();
  if ($idx<=0) { $idx=1; }   if ($idx<=0) { $idx=1; }
         $LONCAPA::map::order[0]=$idx;          $LONCAPA::map::order[0]=$idx;
         $LONCAPA::map::resources[$idx]='';          $LONCAPA::map::resources[$idx]='';
     }      }
     if (defined($env{'form.markcopy'})) {      
 # Mark for copying  
  my ($title,$url)=split(':',$LONCAPA::map::resources[$LONCAPA::map::order[$env{'form.markcopy'}]]);  
  $env{'form.markedcopy_title'}=$title;  
  $env{'form.markedcopy_url'}=$url;  
     }  
     my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain)=&breadcrumbs($folder);      my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain)=&breadcrumbs($folder);
     $r->print($breadcrumbtrail);      $r->print($breadcrumbtrail);
     if ($fatal) {      if ($fatal) {
Line 1298  sub editor { Line 1340  sub editor {
     return;      return;
  }   }
     }      }
       
     if ($env{'form.pastemarked'}) {      if ($env{'form.pastemarked'}) {
 # paste resource to end of list  # paste resource to end of list
                 my $url=$env{'form.markedcopy_url'};                  my $url=$env{'docs.markedcopy_url'};
  my $title=$env{'form.markedcopy_title'};   my $title=$env{'docs.markedcopy_title'};
 # Maps need to be copied first  # Maps need to be copied first
  if (($url=~/\.(page|sequence)$/) || ($url=~/^\/uploaded\//)) {   if (($url=~/\.(page|sequence)$/) || ($url=~/^\/uploaded\//)) {
     $title=&mt('Copy of').' '.$title;      $title=&mt('Copy of').' '.$title;
Line 1430  sub editor { Line 1472  sub editor {
                }                 }
            }             }
            &log_differences($plain);             &log_differences($plain);
        }   }
 # ---------------------------------------------------------------- End commands  # ---------------------------------------------------------------- End commands
 # ---------------------------------------------------------------- Print screen  # ---------------------------------------------------------------- Print screen
         my $idx=0;          my $idx=0;
Line 1461  sub editor { Line 1503  sub editor {
     $r->print('<tr><td>'.&mt('Currently no documents.').'</td></tr>');      $r->print('<tr><td>'.&mt('Currently no documents.').'</td></tr>');
  }   }
         $r->print("\n</table>\n");          $r->print("\n</table>\n");
  if ($env{'form.markedcopy_url'}) {  
     $r->print(<<ENDPASTE);  
 <p><form name="pasteform" action="/adm/coursedocs" method="post">  
 <input type="hidden" name="markedcopy_url" value="$env{'form.markedcopy_url'}" />  
 <input type="hidden" name="markedcopy_title" value="$env{'form.markedcopy_title'}" />  
 ENDPASTE  
             $r->print('<input type="submit" name="pastemarked" value="'.&mt('Paste').'" /> ');  
   
     my $type;   &print_paste_buffer($r,$container);
     if ($env{'form.markedcopy_url'} =~ m{^/adm/wrapper/ext}) {  
  $type = &mt('External Resource');  
  $r->print($type.': '. $env{'form.markedcopy_title'});  
     }  else {  
  my $extension = (split(/\./,$env{'form.markedcopy_url'}))[-1];  
  my $type = &Apache::loncommon::filedescription($extension);  
  my $icon = '<img src="'.&Apache::loncommon::icon($extension).  
     '" class="LC_icon" />';  
  $r->print($icon.$type.': '. $env{'form.markedcopy_title'});  
     }  
             if ($container eq 'page') {  
  $r->print(<<PAGEINFO);  
 <input type="hidden" name="pagepath" value="$env{'form.pagepath'}" />  
 <input type="hidden" name="pagesymb" value="$env{'form.pagesymb'}" />  
 PAGEINFO  
             } else {  
  $r->print(<<FOLDERINFO);  
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  
 FOLDERINFO  
     }  
     $r->print('</form></p>');  
  }  
     }      }
 }  }
   
Line 1563  sub process_file_upload { Line 1577  sub process_file_upload {
                 if ($total_embedded > 0) {                  if ($total_embedded > 0) {
                     my $num = 0;                      my $num = 0;
     my $state = '      my $state = '
    <input type="hidden" name="folderpath" value="'.$env{'form.folderpath'}.'" />     <input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />
    <input type="hidden" name="cmd" value="upload_embedded" />     <input type="hidden" name="cmd" value="upload_embedded" />
    <input type="hidden" name="newidx" value="'.$newidx.'" />     <input type="hidden" name="newidx" value="'.$newidx.'" />
    <input type="hidden" name="primaryurl" value="'.&escape($url).'" />     <input type="hidden" name="primaryurl" value="'.&escape($url).'" />
Line 1651  sub process_secondary_uploads { Line 1665  sub process_secondary_uploads {
     return $filename;      return $filename;
 }  }
   
   sub is_supplemental_title {
       my ($title) = @_;
       return scalar($title =~ m/^(\d+)___&&&___($match_username)___&&&___($match_domain)___&&&___(.*)$/);
   }
   
   sub parse_supplemental_title {
       my ($title) = @_;
   
       my ($foldertitle,$renametitle);
       if ($title =~ /&amp;&amp;&amp;/) {
    $title = &HTML::Entites::decode($title);
       }
    if ($title =~ m/^(\d+)___&&&___($match_username)___&&&___($match_domain)___&&&___(.*)$/) {
    $renametitle=$4;
    my ($time,$uname,$udom) = ($1,$2,$3);
    $foldertitle=&Apache::lontexconvert::msgtexconverted($4);
    my $name =  &Apache::loncommon::plainname($uname,$udom);
    $name = &HTML::Entities::encode($name,'"<>&\'');
    $title='<i>'.&Apache::lonlocal::locallocaltime($time).'</i> '.
       $name.': <br />'.$foldertitle;
       }
       if (wantarray) {
    return ($title,$foldertitle,$renametitle);
       } 
       return $title;
   }
   
 # --------------------------------------------------------------- An entry line  # --------------------------------------------------------------- An entry line
   
 sub entryline {  sub entryline {
     my ($index,$title,$url,$folder,$allowed,$residx,$coursenum)=@_;      my ($index,$title,$url,$folder,$allowed,$residx,$coursenum)=@_;
     $title=&HTML::Entities::encode($title,'"<>&\'');  
     my $renametitle=$title;      my ($foldertitle,$pagetitle,$renametitle);
     my $foldertitle=$title;      if (&is_supplemental_title($title)) {
     my $pagetitle=$title;   ($title,$foldertitle,$renametitle) = &parse_supplemental_title($title);
     my $orderidx=$LONCAPA::map::order[$index];   $pagetitle = $foldertitle;
     if ($title=~ /^(\d+)___&amp;&amp;&amp;___($match_username)___&amp;&amp;&amp;___($match_domain)___&amp;&amp;&amp;___(.*)$/ ) {       } else {
  $foldertitle=&Apache::lontexconvert::msgtexconverted($4);   $title=&HTML::Entities::encode($title,'"<>&\'');
  $renametitle=$4;   $renametitle=$title;
  $title='<i>'.&Apache::lonlocal::locallocaltime($1).'</i> '.   $foldertitle=$title;
     &Apache::loncommon::plainname($2,$3).': <br />'.   $pagetitle=$title;
     $foldertitle;  
     }      }
   
       my $orderidx=$LONCAPA::map::order[$index];
       
   
     $renametitle=~s/\\/\\\\/g;      $renametitle=~s/\\/\\\\/g;
     $renametitle=~s/\&quot\;/\\\"/g;      $renametitle=~s/\&quot\;/\\\"/g;
     my $line='<tr>';      my $line='<tr>';
 # Edit commands  # Edit commands
     my $container;      my $container;
     my $folderpath;      my ($container, $type, $esc_path, $path, $symb);
     if ($env{'form.folderpath'}) {      if ($env{'form.folderpath'}) {
    $type = 'folder';
         $container = 'sequence';          $container = 'sequence';
  $folderpath=&escape($env{'form.folderpath'});   $esc_path=&escape($env{'form.folderpath'});
    $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
  # $htmlfoldername=&HTML::Entities::encode($env{'form.foldername'},'<>&"');   # $htmlfoldername=&HTML::Entities::encode($env{'form.foldername'},'<>&"');
     }      }
     my ($pagepath,$pagesymb);  
     if ($env{'form.pagepath'}) {      if ($env{'form.pagepath'}) {
         $container = 'page';          $type = $container = 'page';
         $pagepath=&escape($env{'form.pagepath'});          $esc_path=&escape($path = $env{'form.pagepath'});
         $pagesymb=&escape($env{'form.pagesymb'});   $path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"');
           $symb=&escape($env{'form.pagesymb'});
     }      }
     my $cpinfo='';      my $cpinfo='';
     if ($env{'form.markedcopy_url'}) {  
        $cpinfo='&markedcopy_url='.  
                &escape($env{'form.markedcopy_url'}).  
                '&markedcopy_title='.  
                &escape($env{'form.markedcopy_title'});  
     }  
     if ($allowed) {      if ($allowed) {
  my $incindex=$index+1;   my $incindex=$index+1;
  my $selectbox='';   my $selectbox='';
Line 1738  sub entryline { Line 1778  sub entryline {
         }          }
         my $copylink='&nbsp;';          my $copylink='&nbsp;';
         my $cutlink='&nbsp;';          my $cutlink='&nbsp;';
         if ($env{'form.pagepath'}) {  
            if (!$nocopy) {   if (!$nocopy) {
                $copylink=(<<ENDCOPY);      $copylink=(<<ENDCOPY);
 <a href='javascript:markcopy("$pagepath","$index","$renametitle","page","$pagesymb");'>  <a href='javascript:markcopy("$esc_path","$index","$renametitle","$container","$symb","$folder");'>
 <font size="-2" color="#000099">$lt{'cp'}</font></a></td>  <font size="-2" color="#000099">$lt{'cp'}</font></a>
 ENDCOPY  
            }  
            if (!$nocut) {  
                $cutlink=(<<ENDCUT);  
 <a href='javascript:cutres("$pagepath","$index","$renametitle","page","$pagesymb");'>  
 <font size="-2" color="#550044">$lt{'ct'}</font></a>  
 ENDCUT  
             }  
             $line.=(<<END);  
 <form name="entry_$index" action="/adm/coursedocs" method="post">  
 <input type="hidden" name="pagepath" value="$env{'form.pagepath'}" />  
 <input type="hidden" name="pagesymb" value="$env{'form.pagesymb'}" />  
 <input type="hidden" name="markedcopy_url" value="$env{'form.markedcopy_url'}" />  
 <input type="hidden" name="markedcopy_title" value="$env{'form.markedcopy_title'}" />  
 <input type="hidden" name="setparms" value="$orderidx" />  
 <input type="hidden" name="changeparms" value="0" />  
 <td><table border='0' cellspacing='2' cellpadding='0'>  
 <tr><td bgcolor="#DDDDDD">  
 <a href='/adm/coursedocs?cmd=up_$index&pagepath=$pagepath&pagesymb=$pagesymb$cpinfo'>  
 <img src="${iconpath}move_up.gif" alt='$lt{'up'}' border='0' /></a></td></tr>  
 <tr><td bgcolor="#DDDDDD">  
 <a href='/adm/coursedocs?cmd=down_$index&pagepath=$pagepath&pagesymb=$pagesymb$cpinfo'>  
 <img src="${iconpath}move_down.gif" alt='$lt{'dw'}' border='0' /></a></td></tr>  
 </table></td>  
 <td>$selectbox  
 </td><td bgcolor="#DDDDDD">  
 <a href='javascript:removeres("$pagepath","$index","$renametitle","page","$pagesymb");'>  
 <font size="-2" color="#990000">$lt{'rm'}</font></a>  
 $cutlink  
 <a href='javascript:changename("$pagepath","$index","$renametitle","page","$pagesymb");'>  
 <font size="-2" color="#009900">$lt{'rn'}</font></a>  
 $copylink  
 END  
         } else {  
            if (!$nocopy) {  
                $copylink=(<<ENDCOPY);  
 <a href='javascript:markcopy("$folderpath","$index","$renametitle","sequence");'>  
 <font size="-2" color="#000099">$lt{'cp'}</font></a></td>  
 ENDCOPY  ENDCOPY
             }          }
             if (!$nocut) {   if (!$nocut) {
                $cutlink=(<<ENDCUT);      $cutlink=(<<ENDCUT);
 <a href='javascript:cutres("$folderpath","$index","$renametitle","sequence");'>  <a href='javascript:cutres("$esc_path","$index","$renametitle","$container","$symb","$folder");'>
 <font size="-2" color="#550044">$lt{'ct'}</font></a>  <font size="-2" color="#550044">$lt{'ct'}</font></a>
 ENDCUT  ENDCUT
             }          }
             $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="folderpath" value="$env{'form.folderpath'}" />     <input type="hidden" name="${type}path" value="$path" />
 <input type="hidden" name="markedcopy_url" value="$env{'form.markedcopy_url'}" />     <input type="hidden" name="${type}symb" value="$symb" />
 <input type="hidden" name="markedcopy_title" value="$env{'form.markedcopy_title'}" />     <input type="hidden" name="setparms" value="$orderidx" />
 <input type="hidden" name="setparms" value="$orderidx" />     <input type="hidden" name="changeparms" value="0" />
 <input type="hidden" name="changeparms" value="0" />  <td>
 <td><table border='0' cellspacing='2' cellpadding='0'>     <table border='0' cellspacing='2' cellpadding='0'>
 <tr><td bgcolor="#DDDDDD">        <tr>
 <a href='/adm/coursedocs?cmd=up_$index&folderpath=$folderpath$cpinfo'>           <td bgcolor="#DDDDDD">
 <img src="${iconpath}move_up.gif" alt='$lt{'up'}' border='0' /></a></td></tr>              <a href='/adm/coursedocs?cmd=up_$index&amp;${type}path=$esc_path&amp;${type}symb=$symb$cpinfo'><img src="${iconpath}move_up.gif" alt='$lt{'up'}' class="LC_icon" /></a>
 <tr><td bgcolor="#DDDDDD">           </td>
 <a href='/adm/coursedocs?cmd=down_$index&folderpath=$folderpath$cpinfo'>        </tr>
 <img src="${iconpath}move_down.gif" alt='$lt{'dw'}' border='0' /></a></td></tr>        <tr>
 </table></td>          <td bgcolor="#DDDDDD">
 <td>$selectbox             <a href='/adm/coursedocs?cmd=down_$index&amp;${type}path=$esc_path&amp;${type}symb=$symb$cpinfo'><img src="${iconpath}move_down.gif" alt='$lt{'dw'}' class="LC_icon" /></a>
 </td><td bgcolor="#DDDDDD">          </td>
 <a href='javascript:removeres("$folderpath","$index","$renametitle","sequence");'>        </tr>
 <font size="-2" color="#990000">$lt{'rm'}</font></a>      </table>
   </td>
   <td>
      $selectbox
   </td>
   <td bgcolor="#DDDDDD">
      <a href='javascript:removeres("$esc_path","$index","$renametitle","$container","$symb");'><font size="-2" color="#990000">$lt{'rm'}</font></a>
 $cutlink  $cutlink
 <a href='javascript:changename("$folderpath","$index","$renametitle","sequence");'>     <a href='javascript:changename("$esc_path","$index","$renametitle","$container","$symb");'><font size="-2" color="#009900">$lt{'rn'}</font></a>
 <font size="-2" color="#009900">$lt{'rn'}</font></a>  
 $copylink  $copylink
   </td>
 END  END
         }  
     }      }
 # Figure out what kind of a resource this is  # Figure out what kind of a resource this is
     my ($extension)=($url=~/\.(\w+)$/);      my ($extension)=($url=~/\.(\w+)$/);
Line 1915  END Line 1923  END
        $path.$pagearg.'.page');         $path.$pagearg.'.page');
  }   }
  $url.='pagepath='.&escape($pagepath).   $url.='pagepath='.&escape($pagepath).
     '&pagesymb='.&escape($symb).$cpinfo;      '&amp;pagesymb='.&escape($symb).$cpinfo;
     }      }
     $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'"><img src="'.$icon.      $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'"><img src="'.$icon.
  '" border="0"></a></td>'.   '" class="LC_icon" /></a></td>'.
         "<td bgcolor='#FFFFBB'>".($url?"<a href=\"$url\">":'').$title.          "<td bgcolor='#FFFFBB'>".($url?"<a href=\"$url\">":'').$title.
         ($url?'</a>':' <font size="-2">'.&mt('(re-initialize course to access)').'</font>')."</td>";          ($url?'</a>':' <font size="-2">'.&mt('(re-initialize course to access)').'</font>')."</td>";
     if (($allowed) && ($folder!~/^supplemental/)) {      if (($allowed) && ($folder!~/^supplemental/)) {
Line 2474  sub handler { Line 2482  sub handler {
     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','markedcopy_url',       'pagesymb']);
      'markedcopy_title']);  
     if ($env{'form.folderpath'}) {      if ($env{'form.folderpath'}) {
  my (@folderpath)=split('&',$env{'form.folderpath'});   my (@folderpath)=split('&',$env{'form.folderpath'});
  $env{'form.foldername'}=&unescape(pop(@folderpath));   $env{'form.foldername'}=&unescape(pop(@folderpath));
Line 2487  sub handler { Line 2494  sub handler {
         $env{'form.folder'}=pop(@pagepath);          $env{'form.folder'}=pop(@pagepath);
         $containertag = '<input type="hidden" name="pagepath" value="" />'.          $containertag = '<input type="hidden" name="pagepath" value="" />'.
     '<input type="hidden" name="pagesymb" value="" />';      '<input type="hidden" name="pagesymb" value="" />';
         $uploadtag = '<input type="hidden" name="pagepath" value="'.$env{'form.pagepath'}.'" />'.          $uploadtag = '<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'.
     '<input type="hidden" name="pagesymb" value="'.$env{'form.pagesymb'}.'" />';      '<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />';
     }      }
     if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {      if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {
        $showdoc='/'.$1;         $showdoc='/'.$1;
Line 2650  sub handler { Line 2657  sub handler {
   );    );
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
     if ($allowed) {      if ($allowed) {
    &update_paste_buffer($coursenum,$coursedom);
        my $dumpbut=&dumpbutton();         my $dumpbut=&dumpbutton();
        my $exportbut=&exportbutton();         my $exportbut=&exportbutton();
        my %lt=&Apache::lonlocal::texthash(         my %lt=&Apache::lonlocal::texthash(
Line 2669  sub handler { Line 2677  sub handler {
        }         }
        unless ($env{'form.pagepath'}) {         unless ($env{'form.pagepath'}) {
            $containertag = '<input type="hidden" name="folderpath" value="" />';             $containertag = '<input type="hidden" name="folderpath" value="" />';
            $uploadtag = '<input type="hidden" name="folderpath" value="'.$folderpath.'" />';             $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />';
        }         }
   
        $r->print(<<ENDCOURSEVERIFY);         $r->print(<<ENDCOURSEVERIFY);
Line 2677  sub handler { Line 2685  sub handler {
 <input type="hidden" name="title" />  <input type="hidden" name="title" />
 <input type="hidden" name="cmd" />  <input type="hidden" name="cmd" />
 <input type="hidden" name="markcopy" />  <input type="hidden" name="markcopy" />
   <input type="hidden" name="copyfolder" />
 $containertag  $containertag
 </form>  </form>
 <form name="simpleedit" method="post" action="/adm/coursedocs">  <form name="simpleedit" method="post" action="/adm/coursedocs">
Line 2778  $help{'Importing_LON-CAPA_Resource'} Line 2787  $help{'Importing_LON-CAPA_Resource'}
 <p>  <p>
 <hr />  <hr />
 $lt{'copm'}<br />  $lt{'copm'}<br />
 <input type="text" size="40" name="importmap"><br />  <input type="text" size="40" name="importmap" /><br />
 <nobr><input type=button   <nobr><input type=button 
 onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"  onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"
 value="$lt{'selm'}"> <input type="submit" name="loadmap" value="$lt{'load'}">  value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" />
 $help{'Load_Map'}</nobr>  $help{'Load_Map'}</nobr>
 </p>  </p>
 </form>  </form>
Line 2804  value="$lt{'extr'}" /> $help{'Adding_Ext Line 2813  value="$lt{'extr'}" /> $help{'Adding_Ext
 <br /><form action="/adm/imsimportdocs" method="post" name="ims">  <br /><form action="/adm/imsimportdocs" method="post" name="ims">
 <input type="hidden" name="folder" value="$folder" />  <input type="hidden" name="folder" value="$folder" />
 <input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" />  <input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" />
 </nobr>  
 </form>  </form>
 ENDFORM  ENDFORM
        }         }
        $r->print('</td><td bgcolor="#DDDDDD">');         $r->print('</td><td bgcolor="#DDDDDD">');
        unless ($env{'form.pagepath'}) {         unless ($env{'form.pagepath'}) {
      my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
            $r->print(<<ENDFORM);             $r->print(<<ENDFORM);
 <br /><form action="/adm/coursedocs" method="post" name="newfolder">  <br /><form action="/adm/coursedocs" method="post" name="newfolder">
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <nobr>  <nobr>
 <input name="newfolder" type="button"  <input name="newfolder" type="button"
Line 2821  value="$lt{'newf'}" />$help{'Adding_Fold Line 2830  value="$lt{'newf'}" />$help{'Adding_Fold
 </nobr>  </nobr>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="newpage">  <br /><form action="/adm/coursedocs" method="post" name="newpage">
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <nobr>  <nobr>
 <input name="newpage" type="button"  <input name="newpage" type="button"
Line 2958  ENDBLOCK Line 2967  ENDBLOCK
        }         }
        &editor($r,$coursenum,$coursedom,$folder,$allowed);         &editor($r,$coursenum,$coursedom,$folder,$allowed);
        if ($allowed) {         if ($allowed) {
        my $folderseq=     my $folderseq=
                   '/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_'.time.         '/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_'.time.
                      '.sequence';         '.sequence';
   
           $r->print(<<ENDSUPFORM);     my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
      $r->print(<<ENDSUPFORM);
 <table cellspacing=4 cellpadding=4><tr>  <table cellspacing=4 cellpadding=4><tr>
 <th bgcolor="#DDDDDD">$lt{'upls'}</th>  <th bgcolor="#DDDDDD">$lt{'upls'}</th>
 <th bgcolor="#DDDDDD">$lt{'spec'}</th>  <th bgcolor="#DDDDDD">$lt{'spec'}</th>
Line 2982  $lt{'comment'}:<br /> Line 2992  $lt{'comment'}:<br />
 <textarea cols=50 rows=4 name='comment'>  <textarea cols=50 rows=4 name='comment'>
 </textarea>  </textarea>
 <br />  <br />
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="cmd" value="upload_supplemental">  <input type="hidden" name="cmd" value="upload_supplemental">
 <nobr>  <nobr>
 <input type="submit" value="$lt{'upld'}">  <input type="submit" value="$lt{'upld'}">
Line 2992  $lt{'comment'}:<br /> Line 3002  $lt{'comment'}:<br />
 </td>  </td>
 <td bgcolor="#DDDDDD">  <td bgcolor="#DDDDDD">
 <form action="/adm/coursedocs" method="post" name="supnewfolder">  <form action="/adm/coursedocs" method="post" name="supnewfolder">
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <nobr>  <nobr>
 <input name="newfolder" type="button"  <input name="newfolder" type="button"
Line 3001  value="$lt{'newf'}" /> $help{'Adding_Fol Line 3011  value="$lt{'newf'}" /> $help{'Adding_Fol
 </nobr>  </nobr>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="supnewext">  <br /><form action="/adm/coursedocs" method="post" name="supnewext">
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <nobr>  <nobr>
 <input name="newext" type="button"   <input name="newext" type="button" 
Line 3010  value="$lt{'extr'}" /> $help{'Adding_Ext Line 3020  value="$lt{'extr'}" /> $help{'Adding_Ext
 </nobr>  </nobr>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="supnewsyl">  <br /><form action="/adm/coursedocs" method="post" name="supnewsyl">
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="importdetail"   <input type="hidden" name="importdetail" 
 value="Syllabus=/public/$coursedom/$coursenum/syllabus" />  value="Syllabus=/public/$coursedom/$coursenum/syllabus" />
 <nobr>  <nobr>
Line 3019  $help{'Syllabus'} Line 3029  $help{'Syllabus'}
 </nobr>  </nobr>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="subnewaboutme">  <br /><form action="/adm/coursedocs" method="post" name="subnewaboutme">
 <input type="hidden" name="folderpath" value="$env{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="importdetail"   <input type="hidden" name="importdetail" 
 value="$plainname=/adm/$udom/$uname/aboutme" />  value="$plainname=/adm/$udom/$uname/aboutme" />
 <nobr>  <nobr>
Line 3161  function finishpick() { Line 3171  function finishpick() {
 function changename(folderpath,index,oldtitle,container,pagesymb) {  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.markcopy.value=-1;
  this.document.forms.renameform.title.value=title;   this.document.forms.renameform.title.value=title;
  this.document.forms.renameform.cmd.value='rename_'+index;   this.document.forms.renameform.cmd.value='rename_'+index;
         if (container == 'sequence') {          if (container == 'sequence') {
Line 3176  function changename(folderpath,index,old Line 3187  function changename(folderpath,index,old
   
 function removeres(folderpath,index,oldtitle,container,pagesymb) {  function removeres(folderpath,index,oldtitle,container,pagesymb) {
     if (confirm('WARNING: Removing a resource makes associated grades and scores inaccessible!\\nRemove "'+oldtitle+'"?')) {      if (confirm('WARNING: Removing a resource makes associated grades and scores inaccessible!\\nRemove "'+oldtitle+'"?')) {
    this.document.forms.renameform.markcopy.value=-1;
  this.document.forms.renameform.cmd.value='del_'+index;   this.document.forms.renameform.cmd.value='del_'+index;
         if (container == 'sequence') {          if (container == 'sequence') {
             this.document.forms.renameform.folderpath.value=folderpath;              this.document.forms.renameform.folderpath.value=folderpath;
Line 3188  function removeres(folderpath,index,oldt Line 3200  function removeres(folderpath,index,oldt
     }      }
 }  }
   
 function cutres(folderpath,index,oldtitle,container,pagesymb) {  function cutres(folderpath,index,oldtitle,container,pagesymb,folder) {
     if (confirm('WARNING: Cutting a resource makes associated grades and scores inaccessible!\\nGrades remain inaccessible if resource is pasted into another folder.\\nCut "'+oldtitle+'"?')) {      if (confirm('WARNING: Cutting a resource makes associated grades and scores inaccessible!\\nGrades remain inaccessible if resource is pasted into another folder.\\nCut "'+oldtitle+'"?')) {
  this.document.forms.renameform.cmd.value='cut_'+index;   this.document.forms.renameform.cmd.value='cut_'+index;
  this.document.forms.renameform.markcopy.value=index;   this.document.forms.renameform.markcopy.value=index;
    this.document.forms.renameform.copyfolder.value=folder+'.'+container;
         if (container == 'sequence') {          if (container == 'sequence') {
             this.document.forms.renameform.folderpath.value=folderpath;              this.document.forms.renameform.folderpath.value=folderpath;
         }          }
Line 3203  function cutres(folderpath,index,oldtitl Line 3216  function cutres(folderpath,index,oldtitl
     }      }
 }  }
   
 function markcopy(folderpath,index,oldtitle,container,pagesymb) {  function markcopy(folderpath,index,oldtitle,container,pagesymb,folder) {
     this.document.forms.renameform.markcopy.value=index;      this.document.forms.renameform.markcopy.value=index;
       this.document.forms.renameform.copyfolder.value=folder+'.'+container;
     if (container == 'sequence') {      if (container == 'sequence') {
  this.document.forms.renameform.folderpath.value=folderpath;   this.document.forms.renameform.folderpath.value=folderpath;
     }      }

Removed from v.1.278  
changed lines
  Added in v.1.282


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