Diff for /rat/lonsequence.pm between versions 1.21 and 1.26

version 1.21, 2004/10/16 01:14:28 version 1.26, 2006/04/04 15:32:12
Line 28 Line 28
 #  #
 # (Handler to resolve ambiguous file locations  # (Handler to resolve ambiguous file locations
 #  #
 # (TeX Content Handler  
 #  
 # 05/29/00,05/30,10/11 Gerd Kortemeyer)  
 #  
 # 10/11,10/12 Gerd Kortemeyer)  
 #  
 # 10/16 Gerd Kortemeyer  
   
 package Apache::lonsequence;  package Apache::lonsequence;
   
Line 77  sub mapread { Line 70  sub mapread {
   
 sub viewmap {  sub viewmap {
     my ($r,$url)=@_;      my ($r,$url)=@_;
     $r->print('<html>');  
     if ($ENV{'form.forceselect'}) { $r->print(<<ENDSCRIPT);      my $js;
 <script>      if ($env{'form.forceselect'}) {
    $js = (<<ENDSCRIPT);
   <script type="text/javascript">
   
 function select_group() {  function select_group() {
     window.location="/adm/groupsort?catalogmode=groupsec&mode=rat&acts="+document.forms.fileattr.acts.value;      window.location="/adm/groupsort?catalogmode=groupsec&mode=rat&acts="+document.forms.fileattr.acts.value;
Line 101  function queue(val) { Line 96  function queue(val) {
 </script>  </script>
 ENDSCRIPT  ENDSCRIPT
     }      }
     $r->print(&Apache::loncommon::bodytag('Map Contents').'<h1>'.$url.'</h1>');  
       $r->print(&Apache::loncommon::start_page('Map Contents',$js).
         '<h1>'.$url.'</h1>');
 # ------------------ This is trying to select. Provide buttons and tie %selhash  # ------------------ This is trying to select. Provide buttons and tie %selhash
     if ($ENV{'form.forceselect'}) { $r->print(<<ENDSELECT);      if ($env{'form.forceselect'}) { $r->print(<<ENDSELECT);
 <form name=fileattr><input type=hidden name=acts value=''>  <form name=fileattr><input type=hidden name=acts value=''>
 <input type="button" name="close" value='CLOSE' onClick="self.close()">  <input type="button" name="close" value='CLOSE' onClick="self.close()">
 <input type="button" name="groupimport" value='GROUP IMPORT'  <input type="button" name="groupimport" value='GROUP IMPORT'
Line 111  onClick="javascript:select_group()"> Line 108  onClick="javascript:select_group()">
 </form>     </form>   
 ENDSELECT  ENDSELECT
     my $diropendb =       my $diropendb = 
     "/home/httpd/perl/tmp/$ENV{'user.domain'}\_$ENV{'user.name'}_groupsec.db";      "/home/httpd/perl/tmp/$env{'user.domain'}\_$env{'user.name'}_groupsec.db";
         if (tie(%selhash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) {          if (tie(%selhash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) {
     if ($ENV{'form.launch'} eq '1') {      if ($env{'form.launch'} eq '1') {
        &start_fresh_session();         &start_fresh_session();
     }      }
             $successtied=1;              $successtied=1;
   
 # - Evaluate actions from previous page (both cumulatively and chronologically)  # - Evaluate actions from previous page (both cumulatively and chronologically)
         if ($ENV{'form.catalogmode'} eq 'groupimport') {          if ($env{'form.catalogmode'} eq 'groupimport') {
     my $acts=$ENV{'form.acts'};      my $acts=$env{'form.acts'};
     my @Acts=split(/b/,$acts);      my @Acts=split(/b/,$acts);
     my %ahash;      my %ahash;
     my %achash;      my %achash;
Line 205  ENDCHECKBOX Line 202  ENDCHECKBOX
             }              }
         }          }
     }      }
     $r->print('</body></html>');      $r->print(&Apache::loncommon::end_page());
     if ($successtied) {      if ($successtied) {
  untie %selhash;   untie %selhash;
     }      }
Line 249  sub handler { Line 246  sub handler {
   my $exitdisid = '';    my $exitdisid = '';
   my $arrow_dir = '';    my $arrow_dir = '';
   
   if (($ENV{'request.course.fn'}) && (!$ENV{'form.forceselect'})) {    if (($env{'request.course.fn'}) && (!$env{'form.forceselect'})) {
        my $last;         my $last;
        if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db',         if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',
                     &GDBM_READER(),0640)) {                      &GDBM_READER(),0640)) {
    $last=$hash{'last_direction'};     $last=$hash{'last_direction'};
            untie(%hash);             untie(%hash);
Line 259  sub handler { Line 256  sub handler {
        my $direction='';         my $direction='';
        my $prevmap='';         my $prevmap='';
        if ($last) {         if ($last) {
   ($prevmap,$direction)=(split(/\_\_\_/,$last));     ($prevmap,undef,$direction)=&Apache::lonnet::decode_symb($last);
        }         }
 # ------------------------------------------------------------- Tie big db file  # ------------------------------------------------------------- Tie big db file
        if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',         if (tie(%bighash,'GDBM_File',$env{'request.course.fn'}.'.db',
                     &GDBM_READER(),0640)) {                      &GDBM_READER(),0640)) {
    my $disid='';     my $disid='';
            my $randomout ='';             my $randomout ='';
Line 275  sub handler { Line 272  sub handler {
            if ($disid) {             if ($disid) {
        $disurl=$bighash{'src_'.$disid};         $disurl=$bighash{'src_'.$disid};
                $dismapid=(split(/\./,$disid))[1];                 $dismapid=(split(/\./,$disid))[1];
                $randomout = $bighash{'randomout_'.$disid};         if (!$env{'request.role.adv'}) {
            } elsif (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db',     $randomout = $bighash{'randomout_'.$disid};
          }
              } elsif (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',
                     &GDBM_READER(),0640)) {                      &GDBM_READER(),0640)) {
                $last=$hash{'last_known'};                 $last=$hash{'last_known'};
                untie(%hash);                 untie(%hash);
Line 292  sub handler { Line 291  sub handler {
                if ($disid) {                 if ($disid) {
            $disurl=$bighash{'src_'.$disid};             $disurl=$bighash{'src_'.$disid};
                    $dismapid=(split(/\./,$disid))[1];                     $dismapid=(split(/\./,$disid))[1];
                    $randomout = $bighash{'randomout_'.$disid};     if (!$env{'request.role.adv'}) {
          $randomout = $bighash{'randomout_'.$disid};
      }
                }                 }
     }      }
            $exitdisid = $disid;             $exitdisid = $disid;
Line 306  sub handler { Line 307  sub handler {
 # now either disurl is set (going to first page), or we need another display  # now either disurl is set (going to first page), or we need another display
    if ($disurl) {     if ($disurl) {
 # -------------------------------------------------- Has first or last resource  # -------------------------------------------------- Has first or last resource
       &Apache::lonnet::symblist($requrl,$disurl => $dismapid,        &Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid],
                    'last_known' => &Apache::lonnet::declutter($disurl));    'last_known' => [$disurl,$dismapid]); 
       &Apache::loncommon::content_type($r,'text/html');        &Apache::loncommon::content_type($r,'text/html');
       $r->header_out(Location => 'http://'.$ENV{'HTTP_HOST'}.$disurl);        $r->header_out(Location => 'http://'.$ENV{'HTTP_HOST'}.$disurl);
       return REDIRECT;        return REDIRECT;
Line 318  sub handler { Line 319  sub handler {
            my %lt =&Apache::lonlocal::texthash(             my %lt =&Apache::lonlocal::texthash(
                    'back' => 'beginning',                     'back' => 'beginning',
                    'forward' => 'end',                     'forward' => 'end',
                    'emfo' => 'Empty Folder/Sequence',  
                    'nere' => 'Next resource could not be displayed',                     'nere' => 'Next resource could not be displayed',
                    'goba' => 'Go Back',                     'goba' => 'Go Back',
                    'nacc' => 'Navigate Course Content',                     'nacc' => 'Navigate Course Content',
                           );                            );
            my $warnmsg = 'As all folders and sequences ';             my $warnmsg = &mt('As all folders and sequences ');
            if ($arrow_dir eq 'forward') {             if ($arrow_dir eq 'forward') {
                $warnmsg .= &mt('following the current resource were empty').',';                 $warnmsg .= &mt('following the current resource were empty').',';
            } elsif ($arrow_dir eq 'back') {             } elsif ($arrow_dir eq 'back') {
                $warnmsg .= &mt('preceding the current resource were empty').',';                 $warnmsg .= &mt('preceding the current resource were empty').',';
            }             }
            $warnmsg .= &mt('you have now reached the').' '.$lt{$arrow_dir}.' '.&mt('of the course.');             $warnmsg .= &mt('you have now reached the').' '.$lt{$arrow_dir}.' '.&mt('of the course.');
            my $bodytag=&Apache::loncommon::bodytag('Empty Folder/Sequence');             my $start_page=
          &Apache::loncommon::start_page('Empty Folder/Sequence');
              my $end_page=
          &Apache::loncommon::end_page();
            $r->print(<<ENDNONE);             $r->print(<<ENDNONE);
 <head><title>$lt{'emfo'}</title></head>  $start_page
 $bodytag  
 <h3>$lt{'nere'}</h3>  <h3>$lt{'nere'}</h3>
 <p>$warnmsg</p>  <p>$warnmsg</p>
 <ul>  <ul>
   <li><a href="javascript:history.go(-1)">$lt{'goba'}</a></li>    <li><a href="javascript:history.go(-1)">$lt{'goba'}</a></li>
   <li><a href="/adm/navmaps">$lt{'nacc'}</a></li>    <li><a href="/adm/navmaps">$lt{'nacc'}</a></li>
 </ul>  </ul>
 </body>  $end_page
  </html>  
 ENDNONE  ENDNONE
        } else {         } else {
            &viewmap($r,$requrl);             &viewmap($r,$requrl);

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


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