C:\xampp\htdocs\landing\wp-content\plugins\wordpress-seo\inc\class-wpseo-shortlinker.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
134
135
136
137
138
139
140
141
142
143
144
145
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO
 */

/**
 * Helps with creating shortlinks in the plugin.
 */
class WPSEO_Shortlinker {

    
/**
     * Collects the additional data necessary for the shortlink.
     *
     * @return array The shortlink data.
     */
    
protected function collect_additional_shortlink_data() {
        return [
            
'php_version'      => $this->get_php_version(),
            
'platform'         => 'wordpress',
            
'platform_version' => $this->get_platform_version(),
            
'software'         => $this->get_software(),
            
'software_version' => WPSEO_VERSION,
            
'days_active'      => $this->get_days_active(),
            
'user_language'    => $this->get_user_language(),
        ];
    }

    
/**
     * Builds a URL to use in the plugin as shortlink.
     *
     * @param string $url The URL to build upon.
     *
     * @return string The final URL.
     */
    
public function build_shortlink$url ) {
        return 
add_query_arg$this->collect_additional_shortlink_data(), $url );
    }

    
/**
     * Returns a version of the URL with a utm_content with the current version.
     *
     * @param string $url The URL to build upon.
     *
     * @return string The final URL.
     */
    
public static function get$url ) {
        
$shortlinker = new self();

        return 
$shortlinker->build_shortlink$url );
    }

    
/**
     * Echoes a version of the URL with a utm_content with the current version.
     *
     * @param string $url The URL to build upon.
     */
    
public static function show$url ) {
        echo 
esc_urlself::get$url ) );
    }

    
/**
     * Gets the shortlink's query params.
     *
     * @return array The shortlink's query params.
     */
    
public static function get_query_params() {
        
$shortlinker = new self();

        return 
$shortlinker->collect_additional_shortlink_data();
    }

    
/**
     * Gets the current site's PHP version, without the extra info.
     *
     * @return string The PHP version.
     */
    
private function get_php_version() {
        
$version explode'.'PHP_VERSION );

        return (int) 
$version[0] . '.' . (int) $version[1];
    }

    
/**
     * Gets the current site's platform version.
     *
     * @return string The wp_version.
     */
    
protected function get_platform_version() {
        return 
$GLOBALS['wp_version'];
    }

    
/**
     * Get our software and whether it's active or not.
     *
     * @return string The software name + activation state.
     */
    
private function get_software() {
        if ( 
WPSEO_Utils::is_yoast_seo_premium() ) {
            return 
'premium';
        }

        return 
'free';
    }

    
/**
     * Gets the number of days the plugin has been active.
     *
     * @return int The number of days the plugin is active.
     */
    
private function get_days_active() {
        
$date_activated WPSEO_Options::get'first_activated_on' );
        
$datediff       = ( time() - $date_activated );
        
$days           = (int) round$datediff DAY_IN_SECONDS );
        switch ( 
$days ) {
            case 
0:
            case 
1:
                
$cohort '0-1';
                break;
            case ( 
$days ):
                
$cohort '2-5';
                break;
            case ( 
$days 30 ):
                
$cohort '6-30';
                break;
            default:
                
$cohort '30plus';
        }
        return 
$cohort;
    }

    
/**
     * Gets the user's language.
     *
     * @return string The user's language.
     */
    
private function get_user_language() {
        if ( 
function_exists'get_user_locale' ) ) {
            return 
get_user_locale();
        }

        return 
false;
    }
}
x

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