📄 listreqs
字号:
## OpenCA - CA 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, dataTypeif ( $cmd !~ /listReqs/i ) { configError( "Wrong Command Usage ($cmd over listReqs)!" ); exit 1;}my $from = ( $query->param( 'viewFrom' ) or 0 );my $dataType = $query->param( 'dataType' );my ( $dateColTitle, $rows, @cols, @list );## Differentiate the list parametersif( $dataType eq "PENDING_REQUEST" ) { $doc = 'pendingbasesheet'; @cols = ( "Op.", "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "RENEW_REQUEST" ) { $doc = 'renewbasesheet'; @cols = ( "Op.", "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "REVOKE_REQUEST" ) { $doc = 'revokebasesheet'; @cols = ( "Op.", "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "APPROVED_REQUEST" ) { $doc = 'approvedbasesheet'; @cols = ( "Op.", "Serial", "Submit Name", "Approved On" );} elsif ( $dataType eq "DELETED_REQUEST" ) { $doc = 'deletedbasesheet'; @cols = ( "Op.", "Serial", "Submit Name", "Deleted On" );} elsif ( $dataType eq "ARCHIVIED_REQUEST" ) { $doc = 'archiviedbasesheet'; @cols = ( "Op.", "Serial", "Submit Name", "Archivied 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(); configError ( "Error loading Page $sheet" ) if ( not $page);## Set the column titles$rows = $elements;@list = $db->listItems( DATATYPE=>$dataType, ITEMS=>$maxItems, FROM=>$from );$table = $query->buildRefs( ELEMENTS=>$rows, MAXITEMS=>$maxItems );$table .= $query->startTable( COLS=>[ @cols ], WIDTH=>"100%", TITLE_BGCOLOR=>"#DDCCFF" );## Process all Filesforeach $req ( @list ) { my ( $format, $parsed, $key, $serCol, $lnk, $serial, $date, $def ); my ( @vals, $op, $head ); ## 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); $def = "<CENTER>n/a</CENTER>"; $parsed = $req->getParsed(); $head = $parsed->{HEADER}; $key = $parsed->{DBKEY}; $serial = ($parsed->{SERIAL} or $head->{SERIAL} or $def); $date = ($head->{NOTBEFORE} or $def ); $lnk = new CGI({cmd=>"viewReq", dataType=>"$dataType", key=>$key}); $serCol = $lnk->a({-href=>$lnk->self_url()}, "$serial"); $op = ($head->{OPERATOR} or $def); push( @vals, $op, $serCol ); push( @vals, ( $parsed->{CN} or $def ) ); if( $dataType =~ /DELETED|APPROVED|ARCHIVIED/i ) { push( @vals, ( $head->{DELETED} or $head->{APPROVED} or $head->{ARCHIVIED} or $def)); } else { push( @vals, ( $date or $def) ); } $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 + -