Diff for /loncom/interface/groupsort.pm between versions 1.18 and 1.31

version 1.18, 2003/01/14 18:47:50 version 1.31, 2005/04/07 06:56:22
Line 27 Line 27
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # YEAR=2001  # YEAR=2001
 # 8/7,8/8,10/14,10/15,12/10 Scott Harrison  
 # YEAR=2002  # YEAR=2002
 # 1/17 Scott Harrison  
 #  #
 ###  ###
   
Line 40  use strict; Line 38  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use GDBM_File;  use GDBM_File;
 use Apache::loncommon;  use Apache::loncommon;
   use Apache::lonlocal;
   use Apache::lonnet;
   
 my %hash; # variable to tie to user specific database  my %hash; # variable to tie to user specific database
 my $iconpath; # variable to be accessible to multiple subroutines  my $iconpath; # variable to be accessible to multiple subroutines
Line 63  sub handler { Line 63  sub handler {
     my $fileclr = '#ffffe6';      my $fileclr = '#ffffe6';
     my $titleclr = '#ddffff';      my $titleclr = '#ddffff';
   
     $r->content_type('text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
   
 # finish_import looks different for graphical or "simple" RAT  # finish_import looks different for graphical or "simple" RAT
     my $finishimport='';      my $finishimport='';
     if ($ENV{'form.mode'} eq 'simple') {      if ($env{'form.mode'} eq 'simple' || $env{'form.mode'} eq '') {
         $finishimport=(<<ENDSMP);          $finishimport=(<<ENDSMP);
 function finish_import() {  function finish_import() {
     opener.document.forms.simpleedit.importdetail.value='';      opener.document.forms.simpleedit.importdetail.value='';
Line 105  ENDADV Line 105  ENDADV
     }      }
   
 # output start of web page  # output start of web page
       my $html=&Apache::lonxml::xmlbegin();
     $r->print(<<END);      $r->print(<<END);
 <html>  $html
 <head>  <head>
 <title>The LearningOnline Network With CAPA Group Sorter</title>  <title>The LearningOnline Network With CAPA Group Sorter</title>
 <script language='javascript'>  <script language='javascript'>
Line 141  function orderchange(val,newval) { Line 141  function orderchange(val,newval) {
 </script>  </script>
 </head>  </head>
 END  END
     $r->print(&Apache::loncommon::bodytag('Sort Imported Resources'));  
     # read pertinent machine configuration      # read pertinent machine configuration
     my $domain  = $r->dir_config('lonDefDomain');      my $domain  = $r->dir_config('lonDefDomain');
     $iconpath = $r->dir_config('lonIconsURL') . "/";      $iconpath = $r->dir_config('lonIconsURL') . "/";
Line 151  END Line 150  END
   
     my $diropendb;      my $diropendb;
 # ------------------------------ which file do we open? Easy if explictly given  # ------------------------------ which file do we open? Easy if explictly given
     if ($ENV{'form.catalogmode'} eq 'groupsearch') {      if ($env{'form.catalogmode'} eq 'groupsearch') {
  $diropendb =    $diropendb = 
     "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_searchcat.db";      "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_searchcat.db";
     }      }
     elsif ($ENV{'form.catalogmode'} eq 'groupimport') {      elsif ($env{'form.catalogmode'} eq 'groupimport') {
  $diropendb =    $diropendb = 
     "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_indexer.db";      "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_indexer.db";
     }      }
     elsif ($ENV{'form.catalogmode'} eq 'groupsec') {      elsif ($env{'form.catalogmode'} eq 'groupsec') {
  $diropendb =    $diropendb = 
     "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_groupsec.db";      "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_groupsec.db";
     }      }
 # --------------------- not explicitly given, choose the one most recently used  # --------------------- not explicitly given, choose the one most recently used
     else { # choose last accessed      else { # choose last accessed
Line 169  END Line 168  END
         my @dbst;          my @dbst;
   
  $dbfn[0] =   $dbfn[0] =
     "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_searchcat.db";      "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_searchcat.db";
         $dbst[0]=-1;          $dbst[0]=-1;
  if (-e $dbfn[0]) {   if (-e $dbfn[0]) {
     $dbst[0]=(stat($dbfn[0]))[9];      $dbst[0]=(stat($dbfn[0]))[9];
  }   }
  $dbfn[1] =   $dbfn[1] =
             "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_indexer.db";              "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_indexer.db";
         $dbst[1]=-1;          $dbst[1]=-1;
  if (-e $dbfn[1]) {   if (-e $dbfn[1]) {
             $dbst[1]=(stat($dbfn[1]))[9];              $dbst[1]=(stat($dbfn[1]))[9];
         }          }
  $dbfn[2] =   $dbfn[2] =
             "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_groupsec.db";              "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_groupsec.db";
         $dbst[2]=-1;          $dbst[2]=-1;
  if (-e $dbfn[2]) {   if (-e $dbfn[2]) {
             $dbst[2]=(stat($dbfn[2]))[9];              $dbst[2]=(stat($dbfn[2]))[9];
Line 203  END Line 202  END
     }      }
 # ----------------------------- diropendb is now the filename of the db to open  # ----------------------------- diropendb is now the filename of the db to open
     if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) {      if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) {
  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 236  END Line 235  END
  my $key = $_;   my $key = $_;
  $key =~ s/^store_//;   $key =~ s/^store_//;
  $shash{$key} = $hash{'storectr_'.$key};   $shash{$key} = $hash{'storectr_'.$key};
  $thash{$key} = $hash{'store_'.$key};   if (&Apache::lonnet::gettitle($key) eq '') {
       $thash{$key} = $hash{'store_'.$key};
    } else {
       $thash{$key} = &Apache::lonnet::gettitle($key);
    }
     }      }
  }   }
  if ($ENV{'form.oldval'}) {   if ($env{'form.oldval'}) {
     my $newctr = 0;      my $newctr = 0;
     my %chash;      my %chash;
     foreach (sort {$shash{$a} <=> $shash{$b}} (keys %shash)) {      foreach (sort {$shash{$a} <=> $shash{$b}} (keys %shash)) {
Line 249  END Line 252  END
  $hash{'storectr_'.$key} = $newctr;   $hash{'storectr_'.$key} = $newctr;
  $chash{$newctr} = $key;   $chash{$newctr} = $key;
     }      }
     my $oldval = $ENV{'form.oldval'};      my $oldval = $env{'form.oldval'};
     my $newval = $ENV{'form.newval'};      my $newval = $env{'form.newval'};
     if ($oldval != $newval) {      if ($oldval != $newval) {
  # when newval==0, then push down and delete   # when newval==0, then push down and delete
  if ($newval!=0) {   if ($newval!=0) {
Line 292  END Line 295  END
     untie %hash;      untie %hash;
     my $ctr = 0;      my $ctr = 0;
     my $clen = scalar(keys %shash);      my $clen = scalar(keys %shash);
    $r->print(<<END);      if ($clen > 1) {
 <b><font color="#888888">Finalize order of resources</font></b>   my %lt=&Apache::lonlocal::texthash(
    'fin'=> 'Finalize order of resources',
    'gb' => 'Go Back',
    'ns' => 'New Search',
    'fi' => 'Finish Import',
    'ca' => 'Cancel',
    'co' => 'Change Order',
    'ti' => 'Title',
    'pa' => 'Path'
    );
    $r->print(&Apache::loncommon::bodytag('Sort Imported Resources'));
    $r->print(<<END);
   <b><font color="#888888">$lt{'fin'}</font></b>
 <form method='post' action='/adm/groupsort' name='groupsort'  <form method='post' action='/adm/groupsort' name='groupsort'
       enctype='application/x-www-form-urlencoded'>        enctype='application/x-www-form-urlencoded'>
 <input type="hidden" name="fnum" value="$clen" />  <input type="hidden" name="fnum" value="$clen" />
 <input type="hidden" name="oldval" value="" />  <input type="hidden" name="oldval" value="" />
 <input type="hidden" name="newval" value="" />  <input type="hidden" name="newval" value="" />
 <input type="hidden" name="mode" value="$ENV{'form.mode'}" />  <input type="hidden" name="mode" value="$env{'form.mode'}" />
 END  END
   
 # --- Expand here if "GO BACK" button desired          # --- Expand here if "GO BACK" button desired
     if ($ENV{'form.catalogmode'} eq 'groupimport') {          if ($env{'form.catalogmode'} eq 'groupimport') {
  $r->print(<<END);              my $resurl = &Apache::loncommon::lastresurl();
 <input type="button" name="alter" value="GO BACK"      $r->print(<<END);
  onClick="window.location='/res/?catalogmode=groupimport'" />&nbsp;  <input type="button" name="alter" value="$lt{'gb'}"
    onClick="window.location='$resurl?catalogmode=groupimport'" />&nbsp;
 END  END
     }          }
     if ($ENV{'form.catalogmode'} eq 'groupsearch') {   if ($env{'form.catalogmode'} eq 'groupsearch') {
  $r->print(<<END);      $r->print(<<END);
 <input type="button" name="alter" value="New Search"  <input type="button" name="alter" value="$lt{'ns'}"
  onClick="window.location='/adm/searchcat?catalogmode=groupsearch&cleargroupsort=1'" />&nbsp;   onClick="window.location='/adm/searchcat?catalogmode=groupsearch&cleargroupsort=1'" />&nbsp;
 END  END
     }          }
 # ---          # ---
   
     $r->print(<<END);   $r->print(<<END);
 <input type="button" name="alter" value="FINISH IMPORT"  <input type="button" name="alter" value="$lt{'fi'}"
  onClick="finish_import()" />&nbsp;   onClick="finish_import()" />&nbsp;
 <input type="button" name="alter" value="CANCEL" onClick="self.close()" />  <input type="button" name="alter" value="$lt{'ca'}" onClick="self.close()" />
   END
           $r->print("<table border='0'><tr><td bgcolor='#eeeeee'>");
    $r->print("<table border=0><tr>\n");
    $r->print("<td colspan='2' bgcolor='$titleclr'><b>$lt{'co'}</b></td>\n");
    $r->print("<td colspan='2' bgcolor='$titleclr'><b>$lt{'ti'}</b></td>\n");
    $r->print("<td bgcolor='$titleclr'><b>$lt{'pa'}</b></td></tr>\n");
       } else {
    $r->print(<<END);
   <body>
   <form method='post' action='/adm/groupsort' name='groupsort'
         enctype='application/x-www-form-urlencoded'>
   <input type="hidden" name="fnum" value="$clen" />
   <input type="hidden" name="oldval" value="" />
   <input type="hidden" name="newval" value="" />
   <input type="hidden" name="mode" value="$env{'form.mode'}" />
 END  END
     $r->print("<table border='0'><tr><td bgcolor='#eeeeee'>");      }
     $r->print("<table border=0><tr>\n");  
     $r->print("<td colspan='2' bgcolor='$titleclr'><b>Change order</b></td>".  
       "\n");  
     $r->print("<td colspan='2' bgcolor='$titleclr'><b>Title</b></td>\n");  
     $r->print("<td bgcolor='$titleclr'><b>Path</b></td></tr>\n");  
     foreach (sort {$shash{$a}<=>$shash{$b}} (keys %shash)) {      foreach (sort {$shash{$a}<=>$shash{$b}} (keys %shash)) {
  my $key=$_;   my $key=$_;
  $ctr++;   $ctr++;
  my @file_ext = split(/\./,$key);   my $iconname=&Apache::loncommon::icon($key);
  my $curfext = $file_ext[scalar(@file_ext)-1];   if ($clen > 1) {
  $r->print("<tr><td bgcolor='$fileclr'>");      $r->print("<tr><td bgcolor='$fileclr'>");
  $r->print(&movers($clen,$ctr));      $r->print(&movers($clen,$ctr));
    }
  $r->print(&hidden($ctr-1,$thash{$key},$key));   $r->print(&hidden($ctr-1,$thash{$key},$key));
  $r->print("</td><td bgcolor='$fileclr'>");   if ($clen > 1) {
  $r->print(&select_box($clen,$ctr));      $r->print("</td><td bgcolor='$fileclr'>");
  $r->print("</td><td bgcolor='$fileclr'>");      $r->print(&select_box($clen,$ctr));
  $r->print("<img src='$iconpath$curfext.gif'>");      $r->print("</td><td bgcolor='$fileclr'>");
  $r->print("</td><td bgcolor='$fileclr'>");      $r->print("<img src='$iconname' />");
  $r->print("$thash{$key}</td><td bgcolor='$fileclr'>\n");      $r->print("</td><td bgcolor='$fileclr'>");
  $r->print("$key</td></tr>\n");      $r->print("$thash{$key}</td><td bgcolor='$fileclr'>\n");
     }       $r->print("$key</td></tr>\n");
     $r->print("</table></td></tr></table></form>");   } 
       }
       if ($clen > 1) {
    $r->print("</table></td></tr></table></form>");
       } else {
    $r->print(<<END);
   <script type="text/javascript">
       finish_import();
   </script>
   END
       }
     $r->print(<<END);      $r->print(<<END);
 </body>  </body>
 </html>  </html>
 END  END
   
     return OK;      return OK;
 }  }
   

Removed from v.1.18  
changed lines
  Added in v.1.31


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.