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

version 1.12, 2003/09/21 21:40:06 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
  $r->content_type('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 />');
    'Course ID: <input input type="text" size="25" name="course" value="" />');          $r->print(&Apache::lonhtmlcommon::start_pick_box()
         $r->print('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="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.12  
changed lines
  Added in v.1.25


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