📄 listreqs
字号:
## OpenCA - RA Server Command## (c) 1998-2001 by Massimiliano Pala and OpenCA Group#### File Name: listReqs## Brief: Build Requests' Listing## Description: Build Requests' Listing given correct dataType## Parameters: viewFrom, dataType, raif ( $cmd !~ /listReqs/i ) { configError( "Wrong Command Usage ($cmd/listReqs)!" ); exit 1;}my $from = $query->param( 'viewFrom' );my $dataType = $query->param( 'dataType' );my ( $dateColTitle, $rows, @cols, @list );## Differentiate the list parametersif( $dataType eq "PENDING_REQUEST" ) { $doc = 'pendingrequestsheet'; @cols = ( "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "RENEW_REQUEST" ) { $doc = 'renewrequestsheet'; @cols = ( "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "REVOKE_REQUEST" ) { $doc = 'revokerequestsheet'; @cols = ( "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "APPROVED_REQUEST" ) { $doc = 'approvedrequestsheet'; @cols = ( "Op.", "Serial", "Submit Name", "Approved On" );} elsif ( $dataType eq "DELETED_REQUEST" ) { $doc = 'deletedrequestsheet'; @cols = ( "Op.", "Serial", "Submit Name", "Deleted On" );} elsif ( $dataType eq "ARCHIVIED_REQUEST" ) { $doc = 'archiviedrequestsheet'; @cols = ( "Op.", "Serial", "Submit Name", "Archivied On" );} elsif ( $dataType eq "PENDING_CRR" ) { $doc = 'pendingcrrrequestsheet'; @cols = ( "Serial", "Submit Name", "Submitted On" );} elsif ( $dataType eq "APPROVED_CRR" ) { $doc = 'approvedcrrrequestsheet'; @cols = ( "Op.", "Serial", "Submit Name", "Approved On" );} elsif ( $dataType eq "ARCHIVIED_CRR" ) { $doc = 'archiviedcrrrequestsheet'; @cols = ( "Op.", "Serial", "Submit Name", "Archivied On" );} elsif ( $dataType eq "DELETED_CRR" ) { $doc = 'deletedcrrrequestsheet'; @cols = ( "Op.", "Serial", "Submit Name", "Deleted On" );} else { configError("Requested List NOT available");}## Get required parameters ( return only the value string )my $sheet = getRequired( $doc );my $maxItems = getRequired( "maxReturnedItems");my $elements = $db->elements( DATATYPE=>$dataType );## Get the base Page ( got in $page variable )my $page = $query->getFile( "$sheet" );my $uptime = $tools->getDate();my $ra = ( $query->param('ra') or "All" ); configError ( "Error loading Page $sheet" ) if ( not $page);## Set the column titlesif( (not $ra) or ($ra =~ /All/i) ) { $rows = $elements; @list = $db->searchItems( DATATYPE=>$dataType, ITEMS=>$maxItems, FROM=>$from );} else { $rows = $db->rows(DATATYPE=>$dataType, RA=>$query->param('ra')); @list = $db->searchItems( DATATYPE=>$dataType, ITEMS=>$maxItems, FROM=>$from, RA=>$query->param('ra'));}$table = $query->buildRefs( ELEMENTS=>$rows, MAXITEMS=>$maxItems );$table .= $query->startTable( COLS=>[ @cols ], WIDTH=>"100%", TITLE_BGCOLOR=>"#DDCCFF" );## Process all Filesforeach $req ( @list ) { my ( $head, $parsed, $format, $key, $ser_col, $serial, $date ); my @vals; ## We have no problem either if it is a PEM or SPKAC ## request as the REQ mod will try to recognize it. ## my $req = new OpenCA::REQ( SHELL=>$openssl, ## DATA=>$reqData); next if (not $req); if ( $dataType =~ /REQUEST/ ) { $parsed = $req->getParsed(); $head = $parsed->{HEADER}; $key = $parsed->{DBKEY}; $serial = ( $parsed->{SERIAL} or $head->{SERIAL} ); $date = ( $parsed->{NOTBEFORE} or $head->{NOTBEFORE} or "---" ); if( not $serial ) { $serial = "<CENTER>---</CENTER>"; }; $ser_col = "<a href=\"$self?cmd=viewReq&dataType=$dataType" . "&key=$key\">". $serial ."</a>"; if( $dataType =~ /APPROVED|DELETED|ARCHIVIED/ ) { push( @vals,( $parsed->{OPERATOR} or $head->{OPERATOR} or "n/a")); } push( @vals, $ser_col ); push( @vals, ( $parsed->{CN} or "<CENTER>---</CENTER>" ) ); if( $dataType =~ /DELETED|APPROVED|ARCHIVIED/i ) { push( @vals, ( $head->{DELETED} or $head->{APPROVED} or "n/a")); } else { push( @vals, ( $date or "<CENTER>---</CENTER>") ); } } else { ## CRR print "juche\n"; $parsed = $req->getParsed (); $head = $parsed->{HEADER}; $key = $parsed->{DBKEY}; $serial = $parsed->{CERTIFICATE_SERIAL}; $date = ( $head->{SUBMIT_DATE} or "---" ); if( not $serial ) { $serial = "<CENTER>---</CENTER>"; }; if ( $dataType =~ /PENDING/ ) { $ser_col = "<a href=\"$self?cmd=show_ask4rev&dataType=$dataType" . "&key=$key\">". $serial ."</a>"; } else { $ser_col = "<a href=\"$self?cmd=viewReq&dataType=$dataType" . "&key=$key\">". $serial ."</a>"; } if( $dataType =~ /APPROVED|DELETED|ARCHIVIED/ ) { push( @vals,($head->{OPERATOR} or "n/a")); } push( @vals, $ser_col ); push( @vals, ( $parsed->{CERTIFICATE_DN} or "<CENTER>---</CENTER>" ) ); if( $dataType =~ /DELETED|APPROVED|ARCHIVIED/i ) { push( @vals, ( $head->{DELETED} or $head->{APPROVED} or "n/a")); } else { push( @vals, ( $date or "<CENTER>---</CENTER>") ); } } $table .= $query->addTableLine( DATA =>[ @vals ]);}## Close the Table$table .= $query->endTable();$table .= getCopyRight();## Substitute the Variables in the $page$page = $query->subVar( $page, '$uptime', $uptime );$page = $query->subVar( $page, '$table', $table );print "$page";1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -