PluginProbe
SweepPress: Website Cleanup and Optimization / 2.2
SweepPress: Website Cleanup and Optimization v2.2
trunk 1.1 1.2 1.3 1.4 1.4.1 1.5 1.6 1.7 1.8 2.0 2.1 2.1.1 2.2 2.3 2.3.1 2.4 2.4.1 2.4.2 2.5 2.6 3.0 3.1 3.1.1 3.2 All 39 releases
sweeppress / core / basic / Results.php

Results.php in SweepPress: Website Cleanup and Optimization 2.2, at core/basic/Results.php

106 lines 4.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Dev4Press\Plugin\SweepPress\Basic;
4
5 use Dev4Press\v41\Core\Quick\File;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit;
9 }
10
11 class Results {
12 public static function instance() : Results {
13 static $instance = null;
14
15 if ( ! isset( $instance ) ) {
16 $instance = new Results();
17 }
18
19 return $instance;
20 }
21
22 public function as_html( array $results ) : string {
23 $_sweepers = '';
24 $_status = true;
25
26 foreach ( $results['sweepers'] as $code => $data ) {
27 $_sweepers .= '<h6>' . esc_html( sweeppress_core()->get_sweeper_title( $code ) ) . '</h6>';
28
29 if ( $data === false ) {
30 $_sweepers .= '<p>' . esc_html__( "This sweeper was not run.", "sweeppress" ) . '</p>';
31 } else {
32 $_tasks = array();
33 $_errors = array();
34
35 foreach ( $data['tasks'] as $task => $obj ) {
36 if ( is_wp_error( $obj ) ) {
37 $_errors[] = '[' . $task . '] ' . esc_html( $obj->get_error_message() );
38
39 if ( $_status ) {
40 $_status = false;
41 }
42 } else {
43 $_tasks[] = esc_html( $obj );
44 }
45 }
46
47 $_sweepers .= '<dl>';
48 $_sweepers .= '<dt>' . esc_html__( "Total Time", "sweeppress" ) . '</dt><dd>' . number_format( $data['time'], 1 ) . ' ' . __( "seconds", "sweeppress" ) . '</dd>';
49 $_sweepers .= '<dt>' . esc_html__( "Records Removed", "sweeppress" ) . '</dt><dd>' . absint( $data['records'] ) . '</dd>';
50 $_sweepers .= '<dt>' . esc_html__( "Space Recovered", "sweeppress" ) . '</dt><dd>' . File::size_format( $data['size'], 2, ' ', false ) . '</dd>';
51
52 if ( ! empty( $_tasks ) ) {
53 $_sweepers .= '<dt>' . esc_html__( "Tasks", "sweeppress" ) . '</dt><dd>' . join( '<br/>', $_tasks ) . '</dd>';
54 }
55
56 if ( ! empty( $_errors ) ) {
57 $_sweepers .= '<dt class="sweeppress-with-errors">' . esc_html__( "Errors", "sweeppress" ) . '</dt><dd class="sweeppress-with-errors">' . join( '<br/>', $_errors ) . '</dd>';
58 }
59
60 $_sweepers .= '</dl>';
61
62 if ( isset( $data['info'] ) ) {
63 $_sweepers .= '<hr/>';
64 $_sweepers .= '<dl>';
65
66 foreach ( $data['info'] as $task => $info ) {
67 $show = array();
68
69 if ( ! empty( $info['error'] ) ) {
70 $show[] = sprintf( esc_html__( "Error: %s (%s)", "sweeppress" ), '<strong>' . esc_html( $info['status'] ) . '</strong>', $info['error'] );
71 } else {
72 $show[] = sprintf( esc_html__( "Status: %s", "sweeppress" ), '<strong>' . esc_html( $info['status'] ) . '</strong>' );
73 }
74
75 if ( ! empty( $info['note'] ) ) {
76 $show[] = esc_html( $info['note'] );
77 }
78
79 $_sweepers .= '<dt>' . esc_html( $data['tasks'][ $task ] ) . '</dt><dd>' . join( '<br/>', $show ) . '</dd>';
80 }
81
82 $_sweepers .= '</dl>';
83 }
84 }
85 }
86
87 $render = '<div class="sweeppress-cleanup-results">';
88 $render .= '<h5>' . esc_html__( "Sweeping Results", "sweeppress" ) . '</h5>';
89 $render .= '<dl>';
90 $render .= '<dt>' . esc_html__( "Status", "sweeppress" ) . '</dt><dd>' . ( $_status ? '<strong>' . __( "OK", "sweeppress" ) . '</strong>' : '<span class="sweeppress-with-errors"><strong>' . __( "Has Errors", "sweeppress" ) . '</strong></span>' ) . '</dd>';
91 $render .= '<dt>' . esc_html__( "Started", "sweeppress" ) . '</dt><dd>' . date( 'c', floor( $results['timer']['started'] ) ) . '</dd>';
92 $render .= '<dt>' . esc_html__( "Ended", "sweeppress" ) . '</dt><dd>' . date( 'c', floor( $results['timer']['ended'] ) ) . '</dd>';
93 $render .= '<dt>' . esc_html__( "Total Time", "sweeppress" ) . '</dt><dd>' . number_format( $results['stats']['time'], 1 ) . ' ' . __( "seconds", "sweeppress" ) . '</dd>';
94 $render .= '<dt>' . esc_html__( "Records Removed", "sweeppress" ) . '</dt><dd>' . absint( $results['stats']['records'] ) . '</dd>';
95 $render .= '<dt>' . esc_html__( "Space Recovered", "sweeppress" ) . '</dt><dd>' . File::size_format( $results['stats']['size'], 2, ' ', false ) . '</dd>';
96 $render .= '<dt>' . esc_html__( "Sweepers Used", "sweeppress" ) . '</dt><dd>' . absint( $results['stats']['jobs'] ) . '</dd>';
97 $render .= '<dt>' . esc_html__( "Tasks Completed", "sweeppress" ) . '</dt><dd>' . absint( $results['stats']['tasks'] ) . '</dd>';
98 $render .= '</dl>';
99 $render .= '<h5>' . esc_html__( "Sweepers Used", "sweeppress" ) . '</h5>';
100 $render .= $_sweepers;
101 $render .= '</div>';
102
103 return $render;
104 }
105 }
106