$cert, 1 => $x509['subject']['CN'], 2 => date( 'Y-m-d H:i:s T', $x509['validTo_time_t'] ), 3 => (int) round( ( $x509['validTo_time_t'] - time() ) / 86400 ), 4 => '', ]; if ( ! $dir_includes_expired && $cert_data[3] <= 0 ) { $dir_includes_expired = true; } if ( isset( $x509['extensions']['subjectAltName'] ) ) { $sans = explode( ',', $x509['extensions']['subjectAltName'] ); foreach ( $sans as $i => $san ) { $san = explode( ':', $san ); $sans[ $i ] = array_pop( $san ); } $cert_data[4] = implode( ' ', $sans ); } $data[] = $cert_data; } $table = new \cli\Table( array_shift( $data ), $data ); $table->setRenderer( new \cli\table\Ascii() ); $table->sort( 2 ); $table->display(); if ( $exit ) { exit( $dir_includes_expired ? 1 : 0 ); } } report();