Diff for /loncom/interface/lonmanagekeys.pm between versions 1.13 and 1.25

version 1.13, 2003/09/23 00:26:10 version 1.25, 2009/10/29 14:23:23
Line 31 Line 31
 package Apache::lonmanagekeys;  package Apache::lonmanagekeys;
   
 use strict;  use strict;
 use Apache::lonnet();  use Apache::lonnet;
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::Constants qw(:common :http REDIRECT);  use Apache::Constants qw(:common :http REDIRECT);
Line 41  use Apache::lonlocal; Line 41  use Apache::lonlocal;
 ###############################################################  ###############################################################
 ###############################################################  ###############################################################
 sub header {  sub header {
     my $bodytag=&Apache::loncommon::bodytag('Access Key Management');      # Breadcrumbs
       my $brcrum = [{'href' => '/adm/managekeys',
                      'text' => 'Access Key Management'}];
   
       my $start_page=&Apache::loncommon::start_page('Access Key Management',
                                                     undef,
                                                     {'bread_crumbs' => $brcrum,});
     return(<<ENDHEAD);      return(<<ENDHEAD);
 <html>  $start_page
 <head>  
 <title>LON-CAPA Access Key Management</title>  
 </head>  
 $bodytag  
 <form method="post" enctype="multipart/form-data"    <form method="post" enctype="multipart/form-data"  
       action="/adm/managekeys" name="keyform">        action="/adm/managekeys" name="keyform">
 ENDHEAD  ENDHEAD
Line 157  sub addcom { Line 159  sub addcom {
     my %cenv=@_;      my %cenv=@_;
     my %newcomment=();      my %newcomment=();
     undef %newcomment;      undef %newcomment;
     foreach (keys %ENV) {      foreach (keys %env) {
  if ($_=~/^form\.com\_(.+)$/) {   if ($_=~/^form\.com\_(.+)$/) {
             my $key=$1;              my $key=$1;
     my $comment=$ENV{$_};      my $comment=$env{$_};
             $comment=~s/^\s+//gs;              $comment=~s/^\s+//gs;
             if ($comment) {              if ($comment) {
                &Apache::lonnet::comment_access_key                 &Apache::lonnet::comment_access_key
Line 181  sub handler { Line 183  sub handler {
     }      }
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
     ['state','cid']);      ['state','cid']);
     if (($ENV{'form.domain'}) && ($ENV{'form.course'})) {      if (($env{'form.domain'}) && ($env{'form.course'})) {
  $ENV{'form.cid'}=$ENV{'form.domain'}.'_'.$ENV{'form.course'};   $env{'form.cid'}=$env{'form.domain'}.'_'.$env{'form.course'};
     }      }
   
     unless (&Apache::lonnet::allowed('mky',$ENV{'request.role.domain'})) {      unless (&Apache::lonnet::allowed('mky',$env{'request.role.domain'})) {
         $ENV{'user.error.msg'}=          $env{'user.error.msg'}=
             "/adm/managekeys:mky:0:0:Cannot manage access keys";              "/adm/managekeys:mky:0:0:Cannot manage access keys";
         return HTTP_NOT_ACCEPTABLE;           return HTTP_NOT_ACCEPTABLE; 
     }      }
     if ($ENV{'form.cid'}) {      if ($env{'form.cid'}) {
         my %cenv=&Apache::lonnet::coursedescription($ENV{'form.cid'});   my %cenv=&Apache::lonnet::coursedescription($env{'form.cid'});
  if ($ENV{'form.listkeyscsv'}) {   my $keytype='';
    if ($cenv{'url'} eq '/res/') {
       ($cenv{'domain'},$cenv{'num'})=split(/\_/,$env{'form.cid'});
       $keytype='auth';
    } elsif ($cenv{'keyauth'}) {
       ($cenv{'num'},$cenv{'domain'})=split(/:/,$cenv{'keyauth'});
       $keytype='auth';
    } else {
       $keytype='course';
    }
     if ($env{'form.listkeyscsv'}) {
 #  #
 # CSV Output  # CSV Output
 #  #
Line 201  sub handler { Line 213  sub handler {
 #  #
 # Do CSV  # Do CSV
 #  #
     &show_key_list($r,1,$ENV{'form.listcom'},      &show_key_list($r,1,$env{'form.listcom'},
                           $ENV{'form.newonly'},$ENV{'form.checkonly'},%cenv);                            $env{'form.newonly'},$env{'form.checkonly'},%cenv);
   
  } else {   } else {
 #  #
Line 213  sub handler { Line 225  sub handler {
     $r->print(&header());      $r->print(&header());
   
     $r->print(      $r->print(
     '<input type="hidden" name="cid" value="'.$ENV{'form.cid'}.'" />');      '<input type="hidden" name="cid" value="'.$env{'form.cid'}.'" />');
 # --- Actions  # --- Actions
     if ($ENV{'form.toggle'}) {      if ($env{'form.toggle'}) {
  $r->print(&togglekeyaccess(%cenv).'<br />');   $r->print(&togglekeyaccess(%cenv).'<br />');
  %cenv=&Apache::lonnet::coursedescription($ENV{'form.cid'});   %cenv=&Apache::lonnet::coursedescription($env{'form.cid'},
    {'freshen_cache'=> 1});
     }      }
             my $batchnumber='';              my $batchnumber='';
     if ($ENV{'form.genkeys'}) {      if ($env{'form.genkeys'}) {
  (my $msg,$batchnumber)=   (my $msg,$batchnumber)=
     &genkeys($ENV{'form.num'},$ENV{'form.comments'},%cenv);      &genkeys($env{'form.num'},$env{'form.comments'},%cenv);
                 $r->print($msg.'<br />');                  $r->print($msg.'<br />');
     }      }
             if ($ENV{'form.listkeys'}) {              if ($env{'form.listkeys'}) {
  &show_key_list($r,0,$ENV{'form.listcom'},   &show_key_list($r,0,$env{'form.listcom'},
                           $ENV{'form.newonly'},$ENV{'form.checkonly'},%cenv);                            $env{'form.newonly'},$env{'form.checkonly'},%cenv);
             }              }
             if ($ENV{'form.addcom'}) {              if ($env{'form.addcom'}) {
  &addcom(%cenv);   &addcom(%cenv);
             }              }
 # --- Menu  # --- Menu
     $r->print('<h3>'.&mt('Key Access').'</h3>');      if ($keytype eq 'course') {
     if ($cenv{'keyaccess'} eq 'yes') {   $r->print('<h3>'.&mt('Key Access').'</h3>');
  $r->print(&mt('Access to this course is key controlled.').   if ($cenv{'keyaccess'} eq 'yes') {
       $r->print(&mt('Access to this course is key controlled.').
 '<br /><input type="submit" name="toggle" value="'.&mt('Open Access').'" />')  '<br /><input type="submit" name="toggle" value="'.&mt('Open Access').'" />')
  } else {   } else {
     $r->print(&mt('Access to this course is open, no access keys').'<br /><input type="submit" name="toggle" value="'.&mt('Control Access').'" />');      $r->print(&mt('Access to this course is open, no access keys').'<br /><input type="submit" name="toggle" value="'.&mt('Control Access').'" />');
    }
       } else {
    $r->print('<h3>'.&mt('Key Authority').
     ' <tt>'.$cenv{'num'}.'@'.$cenv{'domain'}.'</tt></h3>');
     }      }
     $r->print(<<ENDKEYMENU);      $r->print(<<ENDKEYMENU);
 <hr /><h3>Generate New Keys</h3>  <hr /><h3>Generate New Keys</h3>
Line 248  Comments/Remarks/Notes: <input type="tex Line 266  Comments/Remarks/Notes: <input type="tex
 <hr /><h3>List Keys</h3>  <hr /><h3>List Keys</h3>
 Comments/Remarks/Notes/User/Batch Number Filter:  Comments/Remarks/Notes/User/Batch Number Filter:
 <input type="text" name="listcom" size="30" value="$batchnumber" /><br />  <input type="text" name="listcom" size="30" value="$batchnumber" /><br />
 <input type="checkbox" name="newonly" /> Unused keys only<br />  <label><input type="checkbox" name="newonly" /> Unused keys only</label><br />
 <input type="checkbox" name="checkonly" /> Used keys only<br />  <label><input type="checkbox" name="checkonly" /> Used keys only</label><br />
 <input type="submit" name="listkeys" value="List Keys/Add Comments" />  <input type="submit" name="listkeys" value="List Keys/Add Comments" />
 <input type="submit" name="listkeyscsv" value="CSV List of Keys" />  <input type="submit" name="listkeyscsv" value="CSV List of Keys" />
 ENDKEYMENU  ENDKEYMENU
     $r->print('</form></body></html>');      $r->print('</form>'.&Apache::loncommon::end_page());
  }   }
     } else {      } else {
  # Start page no course id   # Start page no course id
  &Apache::loncommon::content_type($r,'text/html');   &Apache::loncommon::content_type($r,'text/html');
  $r->send_http_header;   $r->send_http_header;
  $r->print(&header().&Apache::loncommon::coursebrowser_javascript());   $r->print(&header().&Apache::loncommon::coursebrowser_javascript());
         $r->print(          $r->print('<br />');
    &mt('Course ID').': <input input type="text" size="25" name="course" value="" />');          $r->print(&Apache::lonhtmlcommon::start_pick_box()
         $r->print(&mt('Domain').': '.&Apache::loncommon::select_dom_form(                   .&Apache::lonhtmlcommon::row_title(&mt('Course ID of Key Authority'))
                $ENV{'request.role.domain'},'domain'));                   .'<input input type="text" size="25" name="course" value="" />'
         $r->print(&Apache::loncommon::selectcourse_link(                   .' '.&Apache::loncommon::selectcourse_link(
         'keyform','course','domain'));                            'keyform','course','domain',
         $r->print('<br /><input type="submit" value="'.&mt('Manage Access Keys').'" />');                            undef,undef,undef,'Course')
  $r->print('</form></body></html>');                   .&Apache::lonhtmlcommon::row_closure()
                    .&Apache::lonhtmlcommon::row_title(&mt('Domain'))
                    .&Apache::loncommon::select_dom_form($env{'request.role.domain'},'domain')
                    .&Apache::lonhtmlcommon::row_closure(1)
                    .&Apache::lonhtmlcommon::end_pick_box()
           );
           $r->print('<input type="submit" value="'.&mt('Next').'" />'
                   .'</form>'
                   .&Apache::loncommon::end_page()
           );
     }      }
     return OK;      return OK;
 }  }

Removed from v.1.13  
changed lines
  Added in v.1.25


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.