C:\xampp\htdocs\landing\wp-content\plugins\wp-smushit\core\modules\helpers\class-dscanner.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
/**
 * Smush directory smush scanner: DScanner class
 *
 * @package Smush\Core\Modules\Helpers
 * @since 2.8.1
 *
 * @author Anton Vanyukov <anton@incsub.com>
 *
 * @copyright (c) 2018, Incsub (http://incsub.com)
 */

namespace Smush\Core\Modules\Helpers;

use 
WP_Smush;

if ( ! 
defined'ABSPATH' ) ) {
    exit;
}

/**
 * Class DScanner
 *
 * @since 2.8.1
 */
class DScanner {

    
/**
     * Indicates if a scan is in process
     *
     * @var bool
     */
    
private $is_scanning false;

    
/**
     * Indicates the current step being scanned
     *
     * @var int
     */
    
private $current_step 0;

    
/**
     * Options names
     */
    
const IS_SCANNING_SLUG 'wp-smush-files-scanning';
    const 
CURRENT_STEP     'wp-smush-scan-step';

    
/**
     * Refresh status variables.
     */
    
private function refresh_status() {
        
$this->is_scanning  get_transientself::IS_SCANNING_SLUG );
        
$this->current_step = (int) get_optionself::CURRENT_STEP );
    }

    
/**
     * Initializes the scan.
     */
    
public function init_scan() {
        
set_transientself::IS_SCANNING_SLUGtrue60 ); // 5 minutes max
        
update_optionself::CURRENT_STEP);
        
$this->refresh_status();
    }

    
/**
     * Reset the scan as if it weren't being executed (on finish and cancel).
     */
    
public function reset_scan() {
        
delete_transientself::IS_SCANNING_SLUG );
        
delete_optionself::CURRENT_STEP );
        
$this->refresh_status();
    }

    
/**
     * Update the current step being scanned.
     *
     * @param int $step  Current scan step.
     */
    
public function update_current_step$step ) {
        
update_optionself::CURRENT_STEPabsint$step ) );
        
$this->refresh_status();
    }

    
/**
     * Get the current scan step being scanned.
     *
     * @return mixed
     */
    
public function get_current_scan_step() {
        
$this->refresh_status();
        return 
$this->current_step;
    }

    
/**
     * Return the number of total steps to finish the scan.
     *
     * @return int
     */
    
public function get_scan_steps() {
        return 
countWP_Smush::get_instance()->core()->mod->dir->get_scanned_images() );
    }

    
/**
     * Check if a scanning is in process
     *
     * @return bool
     */
    
public function is_scanning() {
        
$this->refresh_status();
        return 
$this->is_scanning;
    }

}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586