C:\xampp\htdocs\landing\wp-content\plugins\wp-optimize\optimizations\pingbacks.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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php

if (!defined('WPO_VERSION')) die('No direct access allowed');

class 
WP_Optimization_pingbacks extends WP_Optimization {

    public 
$ui_sort_order 6000;

    public 
$available_for_saving true;

    
/**
     * Prepare data for preview widget.
     *
     * @param array $params
     *
     * @return array
     */
    
public function preview($params) {

        
// get data requested for preview.
        
$sql $this->wpdb->prepare(
            
"SELECT comment_ID, comment_author, SUBSTR(comment_content, 1, 128) AS comment_content FROM `" $this->wpdb->comments "`".
            
" WHERE comment_type = 'pingback'".
            
" ORDER BY `comment_ID` LIMIT %d, %d;",
            array(
                
$params['offset'],
                
$params['limit'],
            )
        );

        
$posts $this->wpdb->get_results($sqlARRAY_A);

        
// fix empty revision titles.
        
if (!empty($posts)) {
            foreach (
$posts as $key => $post) {
                
$posts[$key]['post_title'] = array(
                    
'text' => '' == $post['post_title'] ? '('.__('no title''wp-optimize').')' $post['post_title'],
                    
'url' => get_edit_post_link($post['ID']),
                );
            }
        }

        
// get total count comments for optimization.
        
$sql "SELECT COUNT(*) FROM `" $this->wpdb->comments "` WHERE comment_type = 'pingback';";

        
$total $this->wpdb->get_var($sql);

        return array(
            
'id_key' => 'comment_ID',
            
'columns' => array(
                
'comment_ID' => __('ID''wp-optimize'),
                
'comment_author' => __('Author''wp-optimize'),
                
'comment_content' => __('Comment''wp-optimize'),
            ),
            
'offset' => $params['offset'],
            
'limit' => $params['limit'],
            
'total' => $total,
            
'data' => $this->htmlentities_array($posts, array('comment_ID')),
            
'message' => $total '' __('No pingbacks found''wp-optimize'),
        );
    }

    
/**
     * Do actions after optimize() function.
     */
    
public function after_optimize() {
        
$message sprintf(_n('%s pingback deleted''%s pingbacks deleted'$this->processed_count'wp-optimize'), number_format_i18n($this->processed_count));

        if (
$this->is_multisite_mode()) {
            
$message .= ' '.sprintf(_n('across %s site''across %s sites'count($this->blogs_ids), 'wp-optimize'), count($this->blogs_ids));
        }

        
$this->logger->info($message);
        
$this->register_output($message);
    }

    
/**
     * Do optimization.
     */
    
public function optimize() {
        
$clean "DELETE FROM `" $this->wpdb->comments "` WHERE comment_type = 'pingback'";

        
// if posted ids in params, then remove only selected items. used by preview widget.
        
if (isset($this->data['ids'])) {
            
$clean .= ' AND comment_ID in ('.join(','$this->data['ids']).')';
        }

        
$clean .= ";";

        
$comments $this->query($clean);
        
$this->processed_count += $comments;

        
// clean orphaned comment meta
        
$clean "DELETE cm FROM `" $this->wpdb->commentmeta "` cm LEFT JOIN `" $this->wpdb->comments "` c ON cm.comment_id = c.comment_ID WHERE c.comment_ID IS NULL";
        
$this->query($clean);
    }

    
/**
     * Do actions after get_info() function.
     */
    
public function after_get_info() {
        if (
$this->found_count 0) {
            
$message sprintf(_n('%s pingback found''%s pingbacks found'$this->found_count'wp-optimize'), number_format_i18n($this->found_count));
        } else {
            
$message __('No pingbacks found''wp-optimize');
        }

        if (
$this->is_multisite_mode()) {
            
$message .= ' '.sprintf(_n('across %s site''across %s sites'count($this->blogs_ids), 'wp-optimize'), count($this->blogs_ids));
        }

        
// add preview link to message.
        
if ($this->found_count 0) {
            
$message $this->get_preview_link($message);
        }

        
$this->register_output($message);
    }

    
/**
     * Get count of unoptimized items.
     */
    
public function get_info() {
        
$sql "SELECT COUNT(*) FROM `" $this->wpdb->comments "` WHERE comment_type='pingback';";

        
$comments $this->wpdb->get_var($sql);
        
$this->found_count += $comments;
    }
    
    public function 
settings_label() {
        return 
__('Remove pingbacks''wp-optimize');
    }
}
x

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