Diff for /rat/lonratedt.pm between versions 1.26 and 1.30

version 1.26, 2002/05/22 13:31:22 version 1.30, 2002/06/04 13:23:54
Line 36  use strict; Line 36  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::lonratsrv;  use Apache::lonratsrv;
   use Apache::lonsequence;
   
 my @order;  my @order;
 my @resources;  my @resources;
Line 129  sub mapread { Line 130  sub mapread {
 }  }
   
 # ---------------------------------------------- Read a map as well as possible  # ---------------------------------------------- Read a map as well as possible
   # Also used by the sequence handler
   # Call lonsequence::attemptread to read from resource space
   #
 sub attemptread {  sub attemptread {
     my $fn=shift;      my $fn=shift;
   
Line 263  ENDDOCUMENT Line 266  ENDDOCUMENT
 # ---------------------------------------------------------------- Make buttons  # ---------------------------------------------------------------- Make buttons
   
 sub buttons {  sub buttons {
     if ($ENV{'form.forceselect'}) { return ''; }  
     my $adv=shift;      my $adv=shift;
     my $output='<form method=post>';           my $output='<form method=post>';     
     if ($adv==1) {      if ($adv==1) {
Line 354  sub smpedt { Line 356  sub smpedt {
    my @targetselect=();     my @targetselect=();
    undef @importselect;     undef @importselect;
    undef @targetselect;     undef @targetselect;
    if (defined($ENV{'form.import'})) {     if (defined($ENV{'form.importsel'})) {
        if (ref($ENV{'form.import'})) {         if (ref($ENV{'form.importsel'})) {
    @importselect=sort(@{$ENV{'form.import'}});     @importselect=sort(@{$ENV{'form.importsel'}});
        } else {         } else {
            @importselect=($ENV{'form.import'});             @importselect=($ENV{'form.importsel'});
        }         }
    }     }
    if (defined($ENV{'form.target'})) {     if (defined($ENV{'form.target'})) {
Line 442  sub smpedt { Line 444  sub smpedt {
        }         }
   
        foreach (         foreach (
     &attemptread(&Apache::lonnet::filelocation('',$ENV{'form.importmap'}))) {      &Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$ENV{'form.importmap'}))) {
    my ($name,$url)=split(/\:/,$_);     my ($name,$url)=split(/\:/,$_);
            if ($url) {             if ($url) {
               $importdetail.='&'.&Apache::lonnet::escape($name).'='.                $importdetail.='&'.&Apache::lonnet::escape($name).'='.
Line 539  sub smpedt { Line 541  sub smpedt {
 # ------------------------------------------------------------ Assemble windows  # ------------------------------------------------------------ Assemble windows
         
    my $idx=-1;     my $idx=-1;
    my $importwindow=join("\n",map {     my $importwindow=
          '<option value="-1"> ---- Import and Paste Area ---- </option>'.
        join("\n",map {
        $idx++;         $idx++;
        if ($_) {          if ($_) { 
           my ($name,$url)=split(/\=/,$_);            my ($name,$url)=split(/\=/,$_);
Line 551  sub smpedt { Line 555  sub smpedt {
    } split(/\&/,$importdetail));     } split(/\&/,$importdetail));
   
    $idx=0;     $idx=0;
    my $targetwindow=join("\n",map {      my $targetwindow=       
          '<option value="0"> ------- Target Edit Map ------- </option>'.
        join("\n",map { 
        my ($name,$url)=split(/\:/,$resources[$_]);         my ($name,$url)=split(/\:/,$resources[$_]);
        unless ($name) {  $name=(split(/\//,$url))[-1]; }         unless ($name) {  $name=(split(/\//,$url))[-1]; }
        unless ($name) { $name='EMPTY'; }         unless ($name) { $name='EMPTY'; }
Line 684  function idxcheck(mode) { Line 690  function idxcheck(mode) {
   
    function viewimport() {     function viewimport() {
        openview((document.forms.simpleedit.curimpdetail.value.split('&'))         openview((document.forms.simpleedit.curimpdetail.value.split('&'))
                 [document.forms.simpleedit.import.selectedIndex+1]);                  [document.forms.simpleedit.importsel.selectedIndex+1]);
    }     }
   
 </script>  </script>
Line 692  function idxcheck(mode) { Line 698  function idxcheck(mode) {
 <body bgcolor='#FFFFFF'>  <body bgcolor='#FFFFFF'>
 $buttons  $buttons
 <font color=red>$errtext</font>  <font color=red>$errtext</font>
   <h1>$url</h1>
 <form name=simpleedit method=post>  <form name=simpleedit method=post>
 <input type=hidden name=forcesmp value=1>  <input type=hidden name=forcesmp value=1>
 <table>  <table>
Line 721  after selected Line 728  after selected
 <hr><input type=button onClick="javascript:viewtarget()" value="View">  <hr><input type=button onClick="javascript:viewtarget()" value="View">
 </td></tr>  </td></tr>
   
 <tr><td bgcolor="#FFFFCC"><select name="import" multiple>  <tr><td bgcolor="#FFFFCC"><select name="importsel" size=10 multiple>
 $importwindow  $importwindow
 </select>  </select>
 </td>  </td>
Line 735  Copy selected<br> Line 742  Copy selected<br>
 Paste after selected<br>  Paste after selected<br>
 <input type=submit name=paste value='-->'>  <input type=submit name=paste value='-->'>
 </td>  </td>
 <td bgcolor="#FFFFCC"><select name="target" multiple>  <td bgcolor="#FFFFCC"><select name="target" size=10 multiple>
 $targetwindow  $targetwindow
 </select>  </select>
 </table>  </table>
Line 765  ENDNODIR Line 772  ENDNODIR
   
 sub viewmap {  sub viewmap {
     my ($r,$url,$adv,$errtext)=@_;      my ($r,$url,$adv,$errtext)=@_;
     $r->print('<html>');      $r->print('<html><body bgcolor="#FFFFFF">'.&buttons($adv));
     if ($ENV{'form.forceselect'}) { $r->print(<<ENDSCRIPT);  
 <script>  
   
 function select_group() {  
     window.location="/adm/groupsort?catalogmode=groupimport&mode=rat&acts="+document.forms.fileattr.acts.value;  
 }  
   
 function queue(val) {  
     if (eval("document.forms."+val+".filelink.checked")) {  
  var l=val.length;  
  var v=val.substring(4,l);  
  document.forms.fileattr.acts.value+='1a'+v+'b';  
     }  
     else {  
  var l=val.length;  
  var v=val.substring(4,l);  
  document.forms.fileattr.acts.value+='0a'+v+'b';  
     }  
 }  
   
   
   
 </script>  
 ENDSCRIPT  
     }  
     $r->print('<body bgcolor="#FFFFFF">'.&buttons($adv));  
     if ($ENV{'form.forceselect'}) { $r->print(<<ENDSELECT);  
 <form name=fileattr><input type=hidden name=acts value=''>  
 <input type="button" name="close" value='CLOSE' onClick="self.close()">  
 <input type="button" name="groupimport" value='GROUP IMPORT'  
 onClick="javascript:select_group()">  
 </form>     
 ENDSELECT  
     }  
     if ($errtext) {      if ($errtext) {
  $r->print($errtext.'<hr>');   $r->print($errtext.'<hr>');
     }      }
Line 807  ENDSELECT Line 780  ENDSELECT
     foreach (&attemptread(&Apache::lonnet::filelocation('',$url))) {      foreach (&attemptread(&Apache::lonnet::filelocation('',$url))) {
  if (defined($_)) {   if (defined($_)) {
             $idx++;              $idx++;
             if ($ENV{'form.forceselect'}) {   
  $r->print('<form name="form'.$idx.'">');  
             }  
     my ($title,$url)=split(/\:/,$_);      my ($title,$url)=split(/\:/,$_);
             $title=~s/\&colon\;/\:/g;              $title=~s/\&colon\;/\:/g;
             $url=~s/\&colon\;/\:/g;              $url=~s/\&colon\;/\:/g;
             unless ($title) { $title=(split(/\//,$url))[-1] };              unless ($title) { $title=(split(/\//,$url))[-1] };
             unless ($title) { $title='<i>Empty</i>'; }              unless ($title) { $title='<i>Empty</i>'; }
             if ($url) {              if ($url) {
  if ($ENV{'form.forceselect'}) {  
     $r->print(<<ENDCHECKBOX);  
 <input type='checkbox' name='filelink'   
 value='$url' onClick='javascript:queue("form$idx")' >  
 <input type='hidden' name='title' value='$title'>  
 ENDCHECKBOX  
                 }  
  $r->print('<a href="'.&Apache::lonratsrv::qtescape($url).'">');   $r->print('<a href="'.&Apache::lonratsrv::qtescape($url).'">');
             }              }
             $r->print(&Apache::lonratsrv::qtescape($title));              $r->print(&Apache::lonratsrv::qtescape($title));
             if ($url) { $r->print('</a>'); }              if ($url) { $r->print('</a>'); }
             if ($ENV{'form.forceselect'}) {      $r->print('<br>');
  $r->print('</form>');  
             } else {  
  $r->print('<br>');  
             }  
         }          }
     }      }
     $r->print('</body></html>');      $r->print('</body></html>');
Line 845  sub handler { Line 804  sub handler {
   $r->send_http_header;    $r->send_http_header;
   
   return OK if $r->header_only;    return OK if $r->header_only;
    
   &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},  
                                           ['forceselect']);  
   
   my $url=$r->uri;    my $url=$r->uri;
   my $fn=&Apache::lonnet::filelocation('',$url);    my $fn=&Apache::lonnet::filelocation('',$url);

Removed from v.1.26  
changed lines
  Added in v.1.30


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