/var/www/hkosl.com/aga/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-cache-data.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
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\XML_Sitemaps
 */

/**
 * Sitemap Cache Data object, manages sitemap data stored in cache.
 */
class WPSEO_Sitemap_Cache_Data implements WPSEO_Sitemap_Cache_Data_InterfaceSerializable {

    
/**
     * Sitemap XML data.
     *
     * @var string
     */
    
private $sitemap '';

    
/**
     * Status of the sitemap, usable or not.
     *
     * @var string
     */
    
private $status self::UNKNOWN;

    
/**
     * Set the sitemap XML data
     *
     * @param string $sitemap XML Content of the sitemap.
     */
    
public function set_sitemap$sitemap ) {

        if ( ! 
is_string$sitemap ) ) {
            
$sitemap '';
        }

        
$this->sitemap $sitemap;

        
/*
         * Empty sitemap is not usable.
         */
        
if ( ! empty( $sitemap ) ) {
            
$this->set_statusself::OK );
        }
        else {
            
$this->set_statusself::ERROR );
        }
    }

    
/**
     * Set the status of the sitemap, is it usable.
     *
     * @param bool|string $valid Is the sitemap valid or not.
     *
     * @return void
     */
    
public function set_status$valid ) {

        if ( 
self::OK === $valid ) {
            
$this->status self::OK;

            return;
        }

        if ( 
self::ERROR === $valid ) {
            
$this->status  self::ERROR;
            
$this->sitemap '';

            return;
        }

        
$this->status self::UNKNOWN;
    }

    
/**
     * Is the sitemap usable.
     *
     * @return bool True if usable, False if bad or unknown.
     */
    
public function is_usable() {

        return 
self::OK === $this->status;
    }

    
/**
     * Get the XML content of the sitemap.
     *
     * @return string The content of the sitemap.
     */
    
public function get_sitemap() {

        return 
$this->sitemap;
    }

    
/**
     * Get the status of the sitemap.
     *
     * @return string Status of the sitemap, 'ok'/'error'/'unknown'.
     */
    
public function get_status() {

        return 
$this->status;
    }

    
/**
     * String representation of object.
     *
     * @link http://php.net/manual/en/serializable.serialize.php
     *
     * @since 5.1.0
     *
     * @return string The string representation of the object or null.
     */
    
public function serialize() {

        
$data = array(
            
'status' => $this->status,
            
'xml'    => $this->sitemap,
        );

        return 
serialize$data );
    }

    
/**
     * Constructs the object.
     *
     * @link http://php.net/manual/en/serializable.unserialize.php
     *
     * @since 5.1.0
     *
     * @param string $serialized The string representation of the object.
     *
     * @return void
     */
    
public function unserialize$serialized ) {

        
$data unserialize$serialized );
        
$this->set_sitemap$data['xml'] );
        
$this->set_status$data['status'] );
    }
}