$args Positional arguments (none). * @param array $assoc_args Flags (none). */ public function verify( array $args = array(), array $assoc_args = array() ): void { unset( $args, $assoc_args ); do { $step = Verifier::run( self::SLICE_SECONDS ); } while ( Verifier::DONE !== $step['status'] ); $last = Verifier::last(); $verdict = (string) ( $last['verdict'] ?? '' ); $line = sprintf( '%d entries checked (%d sealed, %d erased, %d unsealed, %d imported): %s.', (int) ( $last['rows'] ?? 0 ), (int) ( $last['sealed'] ?? 0 ), (int) ( $last['redacted'] ?? 0 ), (int) ( $last['unsealed'] ?? 0 ), (int) ( $last['imported'] ?? 0 ), $verdict ); if ( in_array( $verdict, array( 'tampered', 'key_changed' ), true ) ) { foreach ( (array) ( $last['findings'] ?? array() ) as $finding ) { if ( is_array( $finding ) ) { WP_CLI::line( sprintf( '%s (entry %d)', (string) ( $finding['kind'] ?? '' ), (int) ( $finding['id'] ?? 0 ) ) ); } } WP_CLI::error( $line ); } WP_CLI::success( $line ); } /** * Shows the last verification's verdict. * * ## OPTIONS * * [--format=] * : table or json. * --- * default: table * options: * - table * - json * --- * * @param array $args Positional arguments (none). * @param array $assoc_args Flags. */ public function status( array $args = array(), array $assoc_args = array() ): void { unset( $args ); $last = Verifier::last(); if ( 'json' === ( $assoc_args['format'] ?? 'table' ) ) { WP_CLI::line( (string) wp_json_encode( $last ) ); return; } if ( array() === $last ) { WP_CLI::line( 'Never verified.' ); return; } WP_CLI::line( sprintf( '%s: %d entries, finished %s UTC.', (string) ( $last['verdict'] ?? '' ), (int) ( $last['rows'] ?? 0 ), gmdate( 'Y-m-d H:i', (int) ( $last['finished'] ?? 0 ) ) ) ); } }