PHP 8.1.33
Preview: class-wp-network.php Size: 12.01 KB
/home/jambtst2015/public_html/cccng.org/wp-includes/class-wp-network.php

<?php
/**
 * Network API: WP_Network class
 *
 * @package WordPress
 * @subpackage Multisite
 * @since 4.4.0
 */

/**
 * Core class used for interacting with a multisite network.
 *
 * This class is used during load to populate the `$current_site` global and
 * setup the current network.
 *
 * This class is most useful in WordPress multi-network installations where the
 * ability to interact with any network of sites is required.
 *
 * @since 4.4.0
 *
 * @property int $id
 * @property int $site_id
 */
#[AllowDynamicProperties]
class WP_Network {

	/**
	 * Network ID.
	 *
	 * @since 4.4.0
	 * @since 4.6.0 Converted from public to private to explicitly enable more intuitive
	 *              access via magic methods. As part of the access change, the type was
	 *              also changed from `string` to `int`.
	 * @var int
	 */
	private $id;

	/**
	 * Domain of the network.
	 *
	 * @since 4.4.0
	 * @var string
	 */
	public $domain = '';

	/**
	 * Path of the network.
	 *
	 * @since 4.4.0
	 * @var string
	 */
	public $path = '';

	/**
	 * The ID of the network's main site.
	 *
	 * Named "blog" vs. "site" for legacy reasons. A main site is mapped to
	 * the network when the network is created.
	 *
	 * A numeric string, for compatibility reasons.
	 *
	 * @since 4.4.0
	 * @var string
	 */
	private $blog_id = '0';

	/**
	 * Domain used to set cookies for this network.
	 *
	 * @since 4.4.0
	 * @var string
	 */
	public $cookie_domain = '';

	/**
	 * Name of this network.
	 *
	 * Named "site" vs. "network" for legacy reasons.
	 *
	 * @since 4.4.0
	 * @var string
	 */
	public $site_name = '';

	/**
	 * Retrieves a network from the database by its ID.
	 *
	 * @since 4.4.0
	 *
	 * @global wpdb $wpdb WordPress database abstraction object.
	 *
	 * @param int $network_id The ID of the network to retrieve.
	 * @return WP_Network|false The network's object if found. False if not.
	 */
	public static function get_instance( $network_id ) {
		global $wpdb;

		$network_id = (int) $network_id;
		if ( ! $network_id ) {
			return false;
		}

		$_network = wp_cache_get( $network_id, 'networks' );

		if ( false === $_network ) {
			$_network = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->site} WHERE id = %d LIMIT 1", $network_id ) );

			if ( empty( $_network ) || is_wp_error( $_network ) ) {
				$_network = -1;
			}

			wp_cache_add( $network_id, $_network, 'networks' );
		}

		if ( is_numeric( $_network ) ) {
			return false;
		}

		return new WP_Network( $_network );
	}

	/**
	 * Creates a new WP_Network object.
	 *
	 * Will populate object properties from the object provided and assign other
	 * default properties based on that information.
	 *
	 * @since 4.4.0
	 *
	 * @param WP_Network|object $network A network object.
	 */
	public function __construct( $network ) {
		foreach ( get_object_vars( $network ) as $key => $value ) {
			$this->__set( $key, $value );
		}

		$this->_set_site_name();
		$this->_set_cookie_domain();
	}

	/**
	 * Getter.
	 *
	 * Allows current multisite naming conventions when getting properties.
	 *
	 * @since 4.6.0
	 *
	 * @param string $key Property to get.
	 * @return mixed Value of the property. Null if not available.
	 */
	public function __get( $key ) {
		switch ( $key ) {
			case 'id':
				return (int) $this->id;
			case 'blog_id':
				return (string) $this->get_main_site_id();
			case 'site_id':
				return $this->get_main_site_id();
		}

		return null;
	}

	/**
	 * Isset-er.
	 *
	 * Allows current multisite naming conventions when checking for properties.
	 *
	 * @since 4.6.0
	 *
	 * @param string $key Property to check if set.
	 * @return bool Whether the property is set.
	 */
	public function __isset( $key ) {
		switch ( $key ) {
			case 'id':
			case 'blog_id':
			case 'site_id':
				return true;
		}

		return false;
	}

	/**
	 * Setter.
	 *
	 * Allows current multisite naming conventions while setting properties.
	 *
	 * @since 4.6.0
	 *
	 * @param string $key   Property to set.
	 * @param mixed  $value Value to assign to the property.
	 */
	public function __set( $key, $value ) {
		switch ( $key ) {
			case 'id':
				$this->id = (int) $value;
				break;
			case 'blog_id':
			case 'site_id':
				$this->blog_id = (string) $value;
				break;
			default:
				$this->$key = $value;
		}
	}

	/**
	 * Returns the main site ID for the network.
	 *
	 * Internal method used by the magic getter for the 'blog_id' and 'site_id'
	 * properties.
	 *
	 * @since 4.9.0
	 *
	 * @return int The ID of the main site.
	 */
	private function get_main_site_id() {
		/**
		 * Filters the main site ID.
		 *
		 * Returning a positive integer will effectively short-circuit the function.
		 *
		 * @since 4.9.0
		 *
		 * @param int|null   $main_site_id If a positive integer is returned, it is interpreted as the main site ID.
		 * @param WP_Network $network      The network object for which the main site was detected.
		 */
		$main_site_id = (int) apply_filters( 'pre_get_main_site_id', null, $this );

		if ( 0 < $main_site_id ) {
			return $main_site_id;
		}

		if ( 0 < (int) $this->blog_id ) {
			return (int) $this->blog_id;
		}

		if ( ( defined( 'DOMAIN_CURRENT_SITE' ) && defined( 'PATH_CURRENT_SITE' )
			&& DOMAIN_CURRENT_SITE === $this->domain && PATH_CURRENT_SITE === $this->path )
			|| ( defined( 'SITE_ID_CURRENT_SITE' ) && (int) SITE_ID_CURRENT_SITE === $this->id )
		) {
			if ( defined( 'BLOG_ID_CURRENT_SITE' ) ) {
				$this->blog_id = (string) BLOG_ID_CURRENT_SITE;

				return (int) $this->blog_id;
			}

			if ( defined( 'BLOGID_CURRENT_SITE' ) ) { // Deprecated.
				$this->blog_id = (string) BLOGID_CURRENT_SITE;

				return (int) $this->blog_id;
			}
		}

		$site = get_site();
		if ( $site->domain === $this->domain && $site->path === $this->path ) {
			$main_site_id = (int) $site->id;
		} else {

			$main_site_id = get_network_option( $this->id, 'main_site' );
			if ( false === $main_site_id ) {
				$_sites       = get_sites(
					array(
						'fields'     => 'ids',
						'number'     => 1,
						'domain'     => $this->domain,
						'path'       => $this->path,
						'network_id' => $this->id,
					)
				);
				$main_site_id = ! empty( $_sites ) ? array_shift( $_sites ) : 0;

				update_network_option( $this->id, 'main_site', $main_site_id );
			}
		}

		$this->blog_id = (string) $main_site_id;

		return (int) $this->blog_id;
	}

	/**
	 * Sets the site name assigned to the network if one has not been populated.
	 *
	 * @since 4.4.0
	 */
	private function _set_site_name() {
		if ( ! empty( $this->site_name ) ) {
			return;
		}

		$default         = ucfirst( $this->domain );
		$this->site_name = get_network_option( $this->id, 'site_name', $default );
	}

	/**
	 * Sets the cookie domain based on the network domain if one has
	 * not been populated.
	 *
	 * @todo What if the domain of the network doesn't match the current site?
	 *
	 * @since 4.4.0
	 */
	private function _set_cookie_domain() {
		if ( ! empty( $this->cookie_domain ) ) {
			return;
		}
		$domain              = parse_url( $this->domain, PHP_URL_HOST );
		$this->cookie_domain = is_string( $domain ) ? $domain : $this->domain;
		if ( str_starts_with( $this->cookie_domain, 'www.' ) ) {
			$this->cookie_domain = substr( $this->cookie_domain, 4 );
		}
	}

	/**
	 * Retrieves the closest matching network for a domain and path.
	 *
	 * This will not necessarily return an exact match for a domain and path. Instead, it
	 * breaks the domain and path into pieces that are then used to match the closest
	 * possibility from a query.
	 *
	 * The intent of this method is to match a network during bootstrap for a
	 * requested site address.
	 *
	 * @since 4.4.0
	 *
	 * @param string   $domain   Domain to check.
	 * @param string   $path     Path to check.
	 * @param int|null $segments Path segments to use. Defaults to null, or the full path.
	 * @return WP_Network|false Network object if successful. False when no network is found.
	 */
	public static function get_by_path( $domain = '', $path = '', $segments = null ) {
		$domains = array( $domain );
		$pieces  = explode( '.', $domain );

		/*
		 * It's possible one domain to search is 'com', but it might as well
		 * be 'localhost' or some other locally mapped domain.
		 */
		while ( array_shift( $pieces ) ) {
			if ( ! empty( $pieces ) ) {
				$domains[] = implode( '.', $pieces );
			}
		}

		/*
		 * If we've gotten to this function during normal execution, there is
		 * more than one network installed. At this point, who knows how many
		 * we have. Attempt to optimize for the situation where networks are
		 * only domains, thus meaning paths never need to be considered.
		 *
		 * This is a very basic optimization; anything further could have
		 * drawbacks depending on the setup, so this is best done per-installation.
		 */
		$using_paths = true;
		if ( wp_using_ext_object_cache() ) {
			$using_paths = get_networks(
				array(
					'number'       => 1,
					'count'        => true,
					'path__not_in' => '/',
				)
			);
		}

		$paths = array();
		if ( $using_paths ) {
			$path_segments = array_filter( explode( '/', trim( $path, '/' ) ) );

			/**
			 * Filters the number of path segments to consider when searching for a site.
			 *
			 * @since 3.9.0
			 *
			 * @param int|null $segments The number of path segments to consider. WordPress by default looks at
			 *                           one path segment. The function default of null only makes sense when you
			 *                           know the requested path should match a network.
			 * @param string   $domain   The requested domain.
			 * @param string   $path     The requested path, in full.
			 */
			$segments = apply_filters( 'network_by_path_segments_count', $segments, $domain, $path );

			if ( ( null !== $segments ) && count( $path_segments ) > $segments ) {
				$path_segments = array_slice( $path_segments, 0, $segments );
			}

			while ( count( $path_segments ) ) {
				$paths[] = '/' . implode( '/', $path_segments ) . '/';
				array_pop( $path_segments );
			}

			$paths[] = '/';
		}

		/**
		 * Determines a network by its domain and path.
		 *
		 * This allows one to short-circuit the default logic, perhaps by
		 * replacing it with a routine that is more optimal for your setup.
		 *
		 * Return null to avoid the short-circuit. Return false if no network
		 * can be found at the requested domain and path. Otherwise, return
		 * an object from wp_get_network().
		 *
		 * @since 3.9.0
		 *
		 * @param null|false|WP_Network $network  Network value to return by path. Default null
		 *                                        to continue retrieving the network.
		 * @param string                $domain   The requested domain.
		 * @param string                $path     The requested path, in full.
		 * @param int|null              $segments The suggested number of paths to consult.
		 *                                        Default null, meaning the entire path was to be consulted.
		 * @param string[]              $paths    Array of paths to search for, based on `$path` and `$segments`.
		 */
		$pre = apply_filters( 'pre_get_network_by_path', null, $domain, $path, $segments, $paths );
		if ( null !== $pre ) {
			return $pre;
		}

		if ( ! $using_paths ) {
			$networks = get_networks(
				array(
					'number'     => 1,
					'orderby'    => array(
						'domain_length' => 'DESC',
					),
					'domain__in' => $domains,
				)
			);

			if ( ! empty( $networks ) ) {
				return array_shift( $networks );
			}

			return false;
		}

		$networks = get_networks(
			array(
				'orderby'    => array(
					'domain_length' => 'DESC',
					'path_length'   => 'DESC',
				),
				'domain__in' => $domains,
				'path__in'   => $paths,
			)
		);

		/*
		 * Domains are sorted by length of domain, then by length of path.
		 * The domain must match for the path to be considered. Otherwise,
		 * a network with the path of / will suffice.
		 */
		$found = false;
		foreach ( $networks as $network ) {
			if ( ( $network->domain === $domain ) || ( "www.{$network->domain}" === $domain ) ) {
				if ( in_array( $network->path, $paths, true ) ) {
					$found = true;
					break;
				}
			}
			if ( '/' === $network->path ) {
				$found = true;
				break;
			}
		}

		if ( true === $found ) {
			return $network;
		}

		return false;
	}
}

Directory Contents

Dirs: 28 × Files: 246

Name Size Perms Modified Actions
assets DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2025-01-08 23:48:29
Edit Download
- drwxr-xr-x 2025-01-02 17:22:28
Edit Download
- drwxr-xr-x 2025-10-09 00:34:40
Edit Download
blocks DIR
- drwxr-xr-x 2025-10-08 17:06:31
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
css DIR
- drwxr-xr-x 2025-10-08 17:06:31
Edit Download
customize DIR
- drwxr-xr-x 2025-10-08 22:19:28
Edit Download
fonts DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
html-api DIR
- drwxr-xr-x 2024-12-30 14:22:59
Edit Download
ID3 DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
images DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2025-01-09 15:17:10
Edit Download
IXR DIR
- drwxr-xr-x 2025-10-11 15:34:53
Edit Download
js DIR
- drwxr-xr-x 2025-10-11 12:38:21
Edit Download
l10n DIR
- drwxr-xr-x 2025-01-04 06:36:15
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
PHPMailer DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
pomo DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
Requests DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
rest-api DIR
- drwxr-xr-x 2025-01-10 13:41:30
Edit Download
SimplePie DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
sitemaps DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
Text DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2025-10-08 16:50:59
Edit Download
widgets DIR
- drwxr-xr-x 2025-10-10 19:12:25
Edit Download
134 B lrw-r--r-- 2025-10-13 16:14:41
Edit Download
36.24 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
11.79 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
18.51 KB lrw-r--r-- 2023-05-15 03:28:24
Edit Download
5.46 KB lrw-r--r-- 2024-06-12 22:14:14
Edit Download
28.12 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
316 B lrw-r--r-- 2021-08-11 18:38:02
Edit Download
12.90 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
60.46 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
15.00 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
110.40 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
12.47 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
15.07 KB lrw-r--r-- 2024-03-23 23:50:12
Edit Download
5.83 KB lrw-r--r-- 2022-10-11 03:52:12
Edit Download
13.16 KB lrw-r--r-- 2022-10-11 03:52:12
Edit Download
33.71 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
41.72 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
55.67 KB lrw-r--r-- 2023-09-26 09:57:12
Edit Download
12.53 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
28.92 KB lrw-r--r-- 2024-04-27 00:32:14
Edit Download
539 B lrw-r--r-- 2024-12-17 21:37:28
Edit Download
367 B lrw-r--r-- 2022-06-17 20:50:14
Edit Download
2.55 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
42.66 KB lrw-r--r-- 2023-02-04 00:05:20
Edit Download
401 B lrw-r--r-- 2022-06-17 20:50:14
Edit Download
6.61 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
664 B lrw-r--r-- 2020-07-21 22:28:02
Edit Download
20.63 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.18 KB lrw-r--r-- 2023-04-05 22:42:26
Edit Download
453 B lrw-r--r-- 2024-12-17 21:37:28
Edit Download
457 B lrw-r--r-- 2021-01-27 00:15:58
Edit Download
36.83 KB lrw-r--r-- 2023-02-04 00:05:20
Edit Download
2.41 KB lrw-r--r-- 2023-09-14 22:16:20
Edit Download
8.28 KB lrw-r--r-- 2023-09-08 19:02:24
Edit Download
13.89 KB lrw-r--r-- 2024-03-19 01:16:14
Edit Download
11.76 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.65 KB lrw-r--r-- 2023-09-14 22:16:20
Edit Download
7.43 KB lrw-r--r-- 2023-09-14 22:16:20
Edit Download
17.46 KB lrw-r--r-- 2024-07-19 02:15:14
Edit Download
5.14 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
16.70 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
8.26 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
2.92 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.32 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
4.65 KB lrw-r--r-- 2023-11-02 09:34:24
Edit Download
11.62 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.50 KB lrw-r--r-- 2023-06-27 10:15:38
Edit Download
1.97 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
11.26 KB lrw-r--r-- 2024-05-03 05:39:16
Edit Download
5.25 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
10.53 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
6.25 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
5.49 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.99 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
7.06 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
4.90 KB lrw-r--r-- 2023-10-12 22:04:34
Edit Download
16.86 KB lrw-r--r-- 2024-05-02 09:31:10
Edit Download
22.50 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
3.99 KB lrw-r--r-- 2023-08-22 03:21:20
Edit Download
47.26 KB lrw-r--r-- 2024-06-22 02:56:14
Edit Download
9.22 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
25.25 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
197.84 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
56.31 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
10.46 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
10.95 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
29.26 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
70.52 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
34.89 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
14.78 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
2.57 KB lrw-r--r-- 2022-11-26 01:42:16
Edit Download
39.83 KB lrw-r--r-- 2024-06-14 21:48:12
Edit Download
70.64 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
15.56 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
7.33 KB lrw-r--r-- 2023-02-22 03:09:20
Edit Download
253 B lrw-r--r-- 2024-12-17 21:37:28
Edit Download
7.96 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
3.10 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
969 B lrw-r--r-- 2024-12-17 21:37:28
Edit Download
15.63 KB lrw-r--r-- 2023-09-18 22:11:18
Edit Download
7.22 KB lrw-r--r-- 2023-06-25 02:47:24
Edit Download
12.25 KB lrw-r--r-- 2023-09-22 03:59:12
Edit Download
6.53 KB lrw-r--r-- 2023-06-23 00:27:24
Edit Download
3.42 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
5.84 KB lrw-r--r-- 2023-06-23 00:06:26
Edit Download
1.97 KB lrw-r--r-- 2022-12-16 08:02:18
Edit Download
4.30 KB lrw-r--r-- 2023-10-11 16:35:26
Edit Download
2.91 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
16.46 KB lrw-r--r-- 2023-09-22 03:59:12
Edit Download
40.60 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
19.69 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
33.92 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
17.12 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
7.27 KB lrw-r--r-- 2024-02-28 09:08:16
Edit Download
6.62 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
16.49 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.79 KB lrw-r--r-- 2024-02-06 11:55:14
Edit Download
29.82 KB lrw-r--r-- 2024-04-23 05:55:08
Edit Download
6.67 KB lrw-r--r-- 2023-05-11 20:45:24
Edit Download
9.00 KB lrw-r--r-- 2023-10-06 23:36:22
Edit Download
19.39 KB lrw-r--r-- 2024-06-22 02:56:14
Edit Download
12.01 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
17.11 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
6.74 KB lrw-r--r-- 2024-03-06 15:35:12
Edit Download
30.87 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
4.99 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
3.71 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
24.72 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
29.96 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
6.34 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
154.32 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
6.72 KB lrw-r--r-- 2022-10-04 13:29:14
Edit Download
10.92 KB lrw-r--r-- 2023-05-03 01:15:22
Edit Download
4.77 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
3.38 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
11.18 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
62.20 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
2.46 KB lrw-r--r-- 2023-09-08 19:02:24
Edit Download
8.38 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
19.01 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
27.68 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
7.15 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
3.33 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.87 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
30.88 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
7.28 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
7.35 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
10.75 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
19.10 KB lrw-r--r-- 2024-02-17 08:17:12
Edit Download
18.12 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
39.91 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
5.17 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
979 B lrw-r--r-- 2024-02-15 05:57:10
Edit Download
18.44 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
10.24 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.77 KB lrw-r--r-- 2024-06-04 21:25:14
Edit Download
34.90 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
7.19 KB lrw-r--r-- 2024-06-06 17:32:16
Edit Download
159.71 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
64.27 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
27.95 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
4.69 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.92 KB lrw-r--r-- 2019-01-09 15:34:50
Edit Download
42.63 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.25 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
22.46 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
13.01 KB lrw-r--r-- 2024-08-08 05:17:10
Edit Download
3.27 KB lrw-r--r-- 2022-09-13 01:17:14
Edit Download
18.00 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
210.39 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
25.70 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
115.51 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
373 B lrw-r--r-- 2022-09-20 23:47:12
Edit Download
343 B lrw-r--r-- 2022-09-20 23:47:12
Edit Download
338 B lrw-r--r-- 2022-09-20 23:47:12
Edit Download
100.69 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
128.46 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
15.99 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
41.66 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
400 B lrw-r--r-- 2022-06-17 20:50:14
Edit Download
11.10 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
35.84 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.24 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
187.07 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
338 B lrw-r--r-- 2022-06-17 20:50:14
Edit Download
37.28 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
4.02 KB lrw-r--r-- 2023-05-03 01:15:22
Edit Download
10.64 KB lrw-r--r-- 2025-10-12 18:26:19
Edit Download
5.38 KB lrw-r--r-- 2024-03-04 23:11:10
Edit Download
3.05 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.61 KB lrw-r--r-- 2020-01-29 11:15:18
Edit Download
1.16 KB lrw-r--r-- 2020-01-29 11:15:18
Edit Download
4.04 KB lrw-r--r-- 2024-03-04 23:11:10
Edit Download
3.71 KB lrw-r--r-- 2020-01-29 11:15:18
Edit Download
22.86 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
9.52 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
334.88 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
280.81 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
14.22 KB lrw-r--r-- 2024-05-27 06:21:14
Edit Download
8.38 KB lrw-r--r-- 2024-05-27 06:21:14
Edit Download
168.46 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
20.76 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
24.72 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
5.72 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
4.63 KB lrw-r--r-- 2023-07-11 08:08:26
Edit Download
72.73 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
66.92 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
154.10 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
55.12 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
162 B lrw-r--r-- 2019-10-09 02:49:04
Edit Download
61.58 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
215.33 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
63.71 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
25.24 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
4.81 KB lrw-r--r-- 2024-06-14 06:20:14
Edit Download
6.48 KB lrw-r--r-- 2023-02-24 11:53:20
Edit Download
21.25 KB lrw-r--r-- 2024-04-13 03:17:14
Edit Download
2.68 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
89.44 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
19.42 KB lrw-r--r-- 2024-03-26 02:49:18
Edit Download
3.69 KB lrw-r--r-- 2023-05-02 20:56:24
Edit Download
4.10 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
40.35 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
25.38 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
43.33 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
100.65 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
6.18 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
119.82 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
34.63 KB lrw-r--r-- 2023-06-08 17:24:22
Edit Download
6.94 KB lrw-r--r-- 2024-05-28 01:59:16
Edit Download
67.04 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
10.62 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
284.88 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
36.17 KB lrw-r--r-- 2023-08-24 18:31:16
Edit Download
200 B lrw-r--r-- 2020-11-12 21:47:08
Edit Download
200 B lrw-r--r-- 2020-11-12 21:47:08
Edit Download
97.91 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
30.02 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
19.08 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
5.06 KB lrw-r--r-- 2022-04-07 01:03:04
Edit Download
255 B lrw-r--r-- 2020-11-17 09:22:06
Edit Download
22.57 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
130.14 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
7.53 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
258 B lrw-r--r-- 2020-02-06 17:03:12
Edit Download
23.49 KB lrw-r--r-- 2024-05-25 12:34:12
Edit Download
3.16 KB lrw-r--r-- 2021-05-16 03:08:06
Edit Download
8.36 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
441 B lrw-r--r-- 2020-11-12 21:47:08
Edit Download
7.39 KB lrw-r--r-- 2024-05-03 14:17:12
Edit Download
172.10 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
544 B lrw-r--r-- 2023-10-01 09:52:28
Edit Download
2.94 KB lrw-r--r-- 2020-05-26 19:07:10
Edit Download
23.59 KB lrw-r--r-- 2024-02-22 05:56:08
Edit Download
1.49 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.77 KB lrw-r--r-- 2023-12-08 17:02:24
Edit Download
6.09 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
8.50 KB lrw-r--r-- 2024-06-12 15:41:14
Edit Download
131.16 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
36.62 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
171.70 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
6.41 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.06 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
69.06 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
445 B lrw-r--r-- 2022-07-22 08:15:12
Edit Download
799 B lrw-r--r-- 2025-10-08 17:06:31
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).