Diff for /rat/lonratedt.pm between versions 1.105.2.2 and 1.112

version 1.105.2.2, 2012/12/16 15:55:25 version 1.112, 2016/01/15 19:13:04
Line 43  use HTML::Entities(); Line 43  use HTML::Entities();
 # --------------------------------------------------------- Build up RAT screen  # --------------------------------------------------------- Build up RAT screen
 sub ratedt {  sub ratedt {
   my ($r,$url)=@_;    my ($r,$url)=@_;
   my %layout = ('border' => "0");  
   if ($env{'environment.remote'} eq 'off') {  
       $layout{'rows'} = "1,250,*";  
   } else {  
       $layout{'rows'} = "1,70,*";  
   }  
   my $js ='  
 <script type="text/javascript">  
     var flag=0;  
 </script>';  
   
   my $start_page =   
       &Apache::loncommon::start_page('Edit Sequence',$js,  
      {'frameset'    => 1,  
       'add_entries' => \%layout});  
   
   my $end_page =   
       &Apache::loncommon::end_page({'frameset' => 1});  
   
   $r->print(<<ENDDOCUMENT);    $r->print(<<ENDDOCUMENT);
 $start_page  <!DOCTYPE html>
 <frame name="server" src="$url/loadonly/ratserver" noresize="noresize"  <html>
        noscroll="noscroll" />    <head>
 <frame name="code" src="$url/loadonly/adveditmenu" />      <title>Edit Sequence</title>
 <frame name="mapout" src="/adm/rat/map.html" />      
 $end_page      <style>
   html, body {
     margin: 0;
     padding: 0;
   }
   #server {
     display: none;
   }
   #top {
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 20%;
     border: 0;
   }
   #bottom {
     position: absolute;
     left: 0;
     bottom: 0;
     width: 100%;
     height: 80%;
     border: 0;
   }
   #code, #mapout {
     position: absolute;
     width: 100%;
     height: 100%;
     border: 0;
   }
   #infout {
     position: absolute;
     z-index: 1;
     right: 16px;
     bottom: 0;
     width: 420px;
     min-width: 200px;
     height: 300px;
     border: 1px solid black;
     overflow: auto;
   }
       </style>
     </head>
     
     <body>
       <iframe id="server" name="server" src="$url/loadonly/ratserver"></iframe>
       <div id="top"><iframe id="code" name="code" src="$url/loadonly/adveditmenu"></iframe></div>
       <div id="bottom"><iframe id="mapout" name="mapout" src="/adm/rat/map.html"></iframe></div>
       <iframe id="infout"></iframe>
       <script>
   var flag=0;
   
   var resize = function(e) {
       // auto-resize top iframe
       var code = document.getElementById('code');
       var codedoc = (code.contentDocument) ? code.contentDocument : code.contentWindow.document;
       var top = document.getElementById('top');
       top.style.height = ''; // reset height in case it needs to be reduced
       codedoc.body.style.overflow = 'hidden'; // to hide scrollbar
       var topHeight = codedoc.body.scrollHeight;
       top.style.height = topHeight + 'px';
       // set remainder to the other iframe
       var bottom = document.getElementById('bottom');
       bottom.style.height = window.innerHeight - topHeight + 'px';
       // fix right position of infout depending on scrollbar width
       var mapout = document.getElementById('mapout');
       var mapoutdoc = (mapout.contentDocument) ? mapout.contentDocument : mapout.contentWindow.document;
       var infout = document.getElementById('infout');
       infout.style.right = (mapout.offsetWidth - mapoutdoc.body.clientWidth) + 'px';
   }
   var iframe = document.getElementById('code');
   iframe.onload = resize;
   window.addEventListener('resize', resize, false);
       </script>
       
     </body>
   </html>
 ENDDOCUMENT  ENDDOCUMENT
 }  }
   
Line 155  function idxopen(mode) { Line 212  function idxopen(mode) {
 }  }
   
 // ------------------------------------------------------ Open groupsort window  // ------------------------------------------------------ Open groupsort window
 function groupopen(url,recover,bookmarks) {  function groupopen(url,recover) {
    var options="scrollbars=1,resizable=1,menubar=0";     var options="scrollbars=1,resizable=1,menubar=0";
    idxflag=1;     idxflag=1;
 idx=open("/adm/groupsort?inhibitmenu=yes&mode=$mode&recover="+recover+"&readfile="+url+"&bookmarks="+bookmarks,"idxout",options);     idx=open("/adm/groupsort?inhibitmenu=yes&mode=$mode&recover="+recover+"&readfile="+url,"idxout",options);
    idx.focus();     idx.focus();
 }  }
   
Line 233  sub smpedt { Line 290  sub smpedt {
        my ($errtext,$fatal)=         my ($errtext,$fatal)=
    &LONCAPA::map::mapread(&Apache::lonnet::filelocation('',$url),'');     &LONCAPA::map::mapread(&Apache::lonnet::filelocation('',$url),'');
        unless ($fatal) {         unless ($fatal) {
    $targetmsg='<b>'.&mt('Saved.').'</b><br />';     $targetmsg=&Apache::lonhtmlcommon::confirm_success(&mt('Saved'));
        } else {         } else {
    $targetmsg='<b>'.&mt('An error occurred while saving.').'</b><br />';     $targetmsg=&Apache::lonhtmlcommon::confirm_success(
                             &mt('An error occurred while saving.'),1);
        }         }
    }     }
    if ($env{'form.revert'}) {     if ($env{'form.revert'}) {
        $targetmsg='<b>'.&mt('Reverted.').'</b><br />';         $targetmsg=&Apache::lonhtmlcommon::confirm_success(&mt('Reverted'));
        unlink($tmpfn);         unlink($tmpfn);
        my ($errtext,$fatal)=         my ($errtext,$fatal)=
    &LONCAPA::map::mapread(&Apache::lonnet::filelocation('',$url),'');     &LONCAPA::map::mapread(&Apache::lonnet::filelocation('',$url),'');
    }     }
      $targetmsg = &Apache::loncommon::confirmwrapper($targetmsg) if ($targetmsg);
    if (-e $tmpfn) {     if (-e $tmpfn) {
       $targetmsg=        $targetmsg=
         '<span class="LC_warning">'.&mt('You are working with an unsaved version of your map.').'</span><br />';          '<p class="LC_warning">'
          .&mt('You are working with an unsaved version of your map.')
          .'</p>';
       my ($errtext,$fatal)=&LONCAPA::map::mapread($tmpfn,'');        my ($errtext,$fatal)=&LONCAPA::map::mapread($tmpfn,'');
    }     }
      $errtext = '<p class="LC_error">'.$errtext.'</p>' if ($errtext);
 # ---------------------------------------------------------- Process form input  # ---------------------------------------------------------- Process form input
   
    my @importselect=&Apache::loncommon::get_env_multiple('form.importsel');     my @importselect=&Apache::loncommon::get_env_multiple('form.importsel');
Line 491  sub smpedt { Line 553  sub smpedt {
    my $editscript=&editscript('simple');     my $editscript=&editscript('simple');
   
    my %lt=&Apache::lonlocal::texthash(     my %lt=&Apache::lonlocal::texthash(
         'sm' => 'Select Map',
       'sa' => 'Save',        'sa' => 'Save',
       'nt' => 'New Title',        'nt' => 'New Title',
       'se' => 'Search',        'se' => 'Search',
Line 512  sub smpedt { Line 575  sub smpedt {
                                       'pas' => 'Paste after selected',                                        'pas' => 'Paste after selected',
                                       'reco' => 'Recover Deleted'                                        'reco' => 'Recover Deleted'
       );        );
    my $js=<<ENDJS;     my $js=&Apache::lonhtmlcommon::scripttag("
 <script type="text/javascript">  
   
    $editscript     $editscript
   
    function openview(entry) {     function openview(entry) {
Line 546  sub smpedt { Line 607  sub smpedt {
    document.forms.simpleedit.submit();     document.forms.simpleedit.submit();
        }         }
    }     }
   ");
 </script>  
 ENDJS  
   
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb({      &Apache::lonhtmlcommon::add_breadcrumb({
         text  => 'Construction Space',          text  => 'Authoring Space',
         href  => &Apache::loncommon::authorspace($url),          href  => &Apache::loncommon::authorspace($url),
         faq   => 6,          faq   => 6,
         bug   => 'RAT',          bug   => 'RAT',
Line 567  ENDJS Line 626  ENDJS
         href  => '',});          href  => '',});
   
     # Breadcrumbs are included by &start_page      # Breadcrumbs are included by &start_page
     my $start_page = &Apache::loncommon::start_page('Construction Space',$js)      my $start_page = &Apache::loncommon::start_page('Authoring Space',$js)
                     .&Apache::loncommon::head_subbox(                      .&Apache::loncommon::head_subbox(
                          &Apache::loncommon::CSTR_pageheader()                           &Apache::loncommon::CSTR_pageheader()
                         .&buttons(2));                          .&buttons(2));
     my $end_page = &Apache::loncommon::end_page();      my $end_page = &Apache::loncommon::end_page();
   
       my $filetext = &mt('File: [_1]','<span class="LC_filename">'.$url.'</span>');
     $r->print(<<ENDSMPHEAD);      $r->print(<<ENDSMPHEAD);
 $start_page  $start_page
 <span class="LC_error">$errtext</span>  $targetmsg
 <form name="simpleedit" method="post" action"">  $errtext
   <form name="simpleedit" method="post" action="">
 <input type="hidden" name="forcesmp" value="1" />  <input type="hidden" name="forcesmp" value="1" />
 <input type="hidden" name="renameres" value="0" />  <input type="hidden" name="renameres" value="0" />
 <input type="hidden" name="renametitle" value="" />  <input type="hidden" name="renametitle" value="" />
Line 584  $start_page Line 645  $start_page
 <table>  <table>
     <tr><th width="40%">$lt{'ta'}</th>      <tr><th width="40%">$lt{'ta'}</th>
 <th>&nbsp;</th>  <th>&nbsp;</th>
 <th width="40%">File: $url</th></tr>  <th width="40%">$filetext</th></tr>
 <tr><td bgcolor="#FFFFCC">  <tr><td bgcolor="#FFFFCC">
 <input type="button" onclick="javascript:groupsearch()" value="$lt{'se'}" />  <input type="button" onclick="javascript:groupsearch()" value="$lt{'se'}" />
 <input type="button" onclick="javascript:groupimport();" value="$lt{'im'}" />  <input type="button" onclick="javascript:groupimport();" value="$lt{'im'}" />
Line 593  $lt{'as'} Line 654  $lt{'as'}
 <input type="text" size="20" name="importmap" />  <input type="text" size="20" name="importmap" />
 <input type="button"   <input type="button" 
 onclick="javascript:openbrowser('simpleedit','importmap','sequence,page','')"  onclick="javascript:openbrowser('simpleedit','importmap','sequence,page','')"
 value="Select Map" /><input type="submit" name="loadmap" value="$lt{'lm'}" /><hr />  value="$lt{'sm'}" /><input type="submit" name="loadmap" value="$lt{'lm'}" /><hr />
 <input type="submit" name="discard" value="$lt{'ds'}" />  <input type="submit" name="discard" value="$lt{'ds'}" />
 <input type="submit" name="clear" value="$lt{'ca'}" />  <input type="submit" name="clear" value="$lt{'ca'}" />
 <input type="button" onclick="javascript:viewimport()" value="$lt{'vi'}" />  <input type="button" onclick="javascript:viewimport()" value="$lt{'vi'}" />
Line 613  $lt{'as'} Line 674  $lt{'as'}
 <input type="submit" name="moveup" value="$lt{'mu'}" />  <input type="submit" name="moveup" value="$lt{'mu'}" />
 <input type="submit" name="movedown" value="$lt{'md'}" />  <input type="submit" name="movedown" value="$lt{'md'}" />
 <input type="button" onclick="javascript:renametarget()" value="$lt{'re'}" />  <input type="button" onclick="javascript:renametarget()" value="$lt{'re'}" />
 <hr />$targetmsg  <hr />
 <input type="submit" name="revert" value="$lt{'rv'}" />  <input type="submit" name="revert" value="$lt{'rv'}" />
 <input type="submit" name="save" value="$lt{'sa'}" />  <input type="submit" name="save" value="$lt{'sa'}" />
 <input type="button" onclick="javascript:viewtarget()" value="$lt{'vi'}" />  <input type="button" onclick="javascript:viewtarget()" value="$lt{'vi'}" />
Line 625  $importwindow Line 686  $importwindow
 </td>  </td>
 <td bgcolor="#FFFFAA" align="center">  <td bgcolor="#FFFFAA" align="center">
 $lt{'cs'}<br />  $lt{'cs'}<br />
 <input type="submit" name="cut" value="<<<" /><p>  <input type="submit" name="cut" value="&lt;&lt;&lt;" />
 <hr />  <hr />
 $lt{'ps'}<br />  $lt{'ps'}<br />
 <input type="submit" name="copy" value="<--" /><p>  <input type="submit" name="copy" value="&lt;--" />
 <h /r>  <hr />
 $lt{'pas'}<br />  $lt{'pas'}<br />
 <input type="submit" name="paste" value="-->" />  <input type="submit" name="paste" value="--&gt;" />
 </td>  </td>
 <td bgcolor="#FFFFCC"><select name="target" size="10" multiple="multiple">  <td bgcolor="#FFFFCC"><select name="target" size="10" multiple="multiple">
 $targetwindow  $targetwindow
 </select>  </select>
   </td></tr>
 </table>  </table>
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <input type="hidden" name="curimpdetail" value="$importdetail" />  <input type="hidden" name="curimpdetail" value="$importdetail" />
Line 653  sub nodir { Line 715  sub nodir {
    my ($path) = ($dir =~ m{^\Q$londocroot\E?(/priv/[^/]+/[^/]+/)});     my ($path) = ($dir =~ m{^\Q$londocroot\E?(/priv/[^/]+/[^/]+/)});
    $dir=~s{^\Q$londocroot/priv/\E[^/]+/[^/]+}{};     $dir=~s{^\Q$londocroot/priv/\E[^/]+/[^/]+}{};
    my $brcrum = [{'href' => &Apache::loncommon::authorspace($path),     my $brcrum = [{'href' => &Apache::loncommon::authorspace($path),
                   'text' => 'Construction Space'}];                    'text' => 'Authoring Space'}];
 #                 {'href' => '',  #                 {'href' => '',
 #                  'text' => 'No such directory'}];  #                  'text' => 'No such directory'}];
    $r->print(&Apache::loncommon::start_page('Construction Space',     $r->print(&Apache::loncommon::start_page('Authoring Space',
                                             undef,                                              undef,
                                             {'bread_crumbs' => $brcrum,})                                              {'bread_crumbs' => $brcrum,})
             .&Apache::loncommon::head_subbox(              .&Apache::loncommon::head_subbox(
Line 675  sub viewmap { Line 737  sub viewmap {
   
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb({      &Apache::lonhtmlcommon::add_breadcrumb({
         text  => 'Construction Space',          text  => 'Authoring Space',
         href  => &Apache::loncommon::authorspace($url),          href  => &Apache::loncommon::authorspace($url),
         faq   => 6,          faq   => 6,
         bug   => 'RAT',          bug   => 'RAT',
Line 712  sub viewmap { Line 774  sub viewmap {
              .'<th>'.&mt('Title in map').'</th>'               .'<th>'.&mt('Title in map').'</th>'
              .'<th>'.&mt('Filename of resource').'</th>'               .'<th>'.&mt('Filename of resource').'</th>'
              .'<th>'.&mt('Link to published resource').'</th>'               .'<th>'.&mt('Link to published resource').'</th>'
              .'<th>'.&mt('Link to resource in Construction Space').'</th>'               .'<th>'.&mt('Link to resource in Authoring Space').'</th>'
              .&Apache::loncommon::end_data_table_header_row()               .&Apache::loncommon::end_data_table_header_row()
     );      );
     foreach (&LONCAPA::map::attemptread(&Apache::lonnet::filelocation('',$url))) {      foreach (&LONCAPA::map::attemptread(&Apache::lonnet::filelocation('',$url))) {
Line 750  sub viewmap { Line 812  sub viewmap {
             $r->print('</td><td>');              $r->print('</td><td>');
             if ($url) {              if ($url) {
                $r->print('<a href="'.$cstrurl.'">'.                 $r->print('<a href="'.$cstrurl.'">'.
                          &mt('Construction space').'</a>');                           &mt('Authoring Space').'</a>');
             } else {              } else {
                 $r->print('&nbsp;');                  $r->print('&nbsp;');
             }              }

Removed from v.1.105.2.2  
changed lines
  Added in v.1.112


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