PHP 8.1.33
Preview: class-wp-session-tokens.php Size: 7.26 KB
/home/jambtst2015/www/wp-includes/class-wp-session-tokens.php

<?php
/**
 * Session API: WP_Session_Tokens class
 *
 * @package WordPress
 * @subpackage Session
 * @since 4.7.0
 */

/**
 * Abstract class for managing user session tokens.
 *
 * @since 4.0.0
 */
abstract class WP_Session_Tokens {

	/**
	 * User ID.
	 *
	 * @since 4.0.0
	 * @var int User ID.
	 */
	protected $user_id;

	/**
	 * Protected constructor. Use the `get_instance()` method to get the instance.
	 *
	 * @since 4.0.0
	 *
	 * @param int $user_id User whose session to manage.
	 */
	protected function __construct( $user_id ) {
		$this->user_id = $user_id;
	}

	/**
	 * Retrieves a session manager instance for a user.
	 *
	 * This method contains a {@see 'session_token_manager'} filter, allowing a plugin to swap out
	 * the session manager for a subclass of `WP_Session_Tokens`.
	 *
	 * @since 4.0.0
	 *
	 * @param int $user_id User whose session to manage.
	 * @return WP_Session_Tokens The session object, which is by default an instance of
	 *                           the `WP_User_Meta_Session_Tokens` class.
	 */
	final public static function get_instance( $user_id ) {
		/**
		 * Filters the class name for the session token manager.
		 *
		 * @since 4.0.0
		 *
		 * @param string $session Name of class to use as the manager.
		 *                        Default 'WP_User_Meta_Session_Tokens'.
		 */
		$manager = apply_filters( 'session_token_manager', 'WP_User_Meta_Session_Tokens' );
		return new $manager( $user_id );
	}

	/**
	 * Hashes the given session token for storage.
	 *
	 * @since 4.0.0
	 *
	 * @param string $token Session token to hash.
	 * @return string A hash of the session token (a verifier).
	 */
	final private function hash_token( $token ) {
		// If ext/hash is not present, use sha1() instead.
		if ( function_exists( 'hash' ) ) {
			return hash( 'sha256', $token );
		} else {
			return sha1( $token );
		}
	}

	/**
	 * Retrieves a user's session for the given token.
	 *
	 * @since 4.0.0
	 *
	 * @param string $token Session token.
	 * @return array|null The session, or null if it does not exist.
	 */
	final public function get( $token ) {
		$verifier = $this->hash_token( $token );
		return $this->get_session( $verifier );
	}

	/**
	 * Validates the given session token for authenticity and validity.
	 *
	 * Checks that the given token is present and hasn't expired.
	 *
	 * @since 4.0.0
	 *
	 * @param string $token Token to verify.
	 * @return bool Whether the token is valid for the user.
	 */
	final public function verify( $token ) {
		$verifier = $this->hash_token( $token );
		return (bool) $this->get_session( $verifier );
	}

	/**
	 * Generates a session token and attaches session information to it.
	 *
	 * A session token is a long, random string. It is used in a cookie
	 * to link that cookie to an expiration time and to ensure the cookie
	 * becomes invalidated when the user logs out.
	 *
	 * This function generates a token and stores it with the associated
	 * expiration time (and potentially other session information via the
	 * {@see 'attach_session_information'} filter).
	 *
	 * @since 4.0.0
	 *
	 * @param int $expiration Session expiration timestamp.
	 * @return string Session token.
	 */
	final public function create( $expiration ) {
		/**
		 * Filters the information attached to the newly created session.
		 *
		 * Can be used to attach further information to a session.
		 *
		 * @since 4.0.0
		 *
		 * @param array $session Array of extra data.
		 * @param int   $user_id User ID.
		 */
		$session               = apply_filters( 'attach_session_information', array(), $this->user_id );
		$session['expiration'] = $expiration;

		// IP address.
		if ( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
			$session['ip'] = $_SERVER['REMOTE_ADDR'];
		}

		// User-agent.
		if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
			$session['ua'] = wp_unslash( $_SERVER['HTTP_USER_AGENT'] );
		}

		// Timestamp.
		$session['login'] = time();

		$token = wp_generate_password( 43, false, false );

		$this->update( $token, $session );

		return $token;
	}

	/**
	 * Updates the data for the session with the given token.
	 *
	 * @since 4.0.0
	 *
	 * @param string $token Session token to update.
	 * @param array  $session Session information.
	 */
	final public function update( $token, $session ) {
		$verifier = $this->hash_token( $token );
		$this->update_session( $verifier, $session );
	}

	/**
	 * Destroys the session with the given token.
	 *
	 * @since 4.0.0
	 *
	 * @param string $token Session token to destroy.
	 */
	final public function destroy( $token ) {
		$verifier = $this->hash_token( $token );
		$this->update_session( $verifier, null );
	}

	/**
	 * Destroys all sessions for this user except the one with the given token (presumably the one in use).
	 *
	 * @since 4.0.0
	 *
	 * @param string $token_to_keep Session token to keep.
	 */
	final public function destroy_others( $token_to_keep ) {
		$verifier = $this->hash_token( $token_to_keep );
		$session  = $this->get_session( $verifier );
		if ( $session ) {
			$this->destroy_other_sessions( $verifier );
		} else {
			$this->destroy_all_sessions();
		}
	}

	/**
	 * Determines whether a session is still valid, based on its expiration timestamp.
	 *
	 * @since 4.0.0
	 *
	 * @param array $session Session to check.
	 * @return bool Whether session is valid.
	 */
	final protected function is_still_valid( $session ) {
		return $session['expiration'] >= time();
	}

	/**
	 * Destroys all sessions for a user.
	 *
	 * @since 4.0.0
	 */
	final public function destroy_all() {
		$this->destroy_all_sessions();
	}

	/**
	 * Destroys all sessions for all users.
	 *
	 * @since 4.0.0
	 */
	final public static function destroy_all_for_all_users() {
		/** This filter is documented in wp-includes/class-wp-session-tokens.php */
		$manager = apply_filters( 'session_token_manager', 'WP_User_Meta_Session_Tokens' );
		call_user_func( array( $manager, 'drop_sessions' ) );
	}

	/**
	 * Retrieves all sessions for a user.
	 *
	 * @since 4.0.0
	 *
	 * @return array Sessions for a user.
	 */
	final public function get_all() {
		return array_values( $this->get_sessions() );
	}

	/**
	 * Retrieves all sessions of the user.
	 *
	 * @since 4.0.0
	 *
	 * @return array Sessions of the user.
	 */
	abstract protected function get_sessions();

	/**
	 * Retrieves a session based on its verifier (token hash).
	 *
	 * @since 4.0.0
	 *
	 * @param string $verifier Verifier for the session to retrieve.
	 * @return array|null The session, or null if it does not exist.
	 */
	abstract protected function get_session( $verifier );

	/**
	 * Updates a session based on its verifier (token hash).
	 *
	 * Omitting the second argument destroys the session.
	 *
	 * @since 4.0.0
	 *
	 * @param string $verifier Verifier for the session to update.
	 * @param array  $session  Optional. Session. Omitting this argument destroys the session.
	 */
	abstract protected function update_session( $verifier, $session = null );

	/**
	 * Destroys all sessions for this user, except the single session with the given verifier.
	 *
	 * @since 4.0.0
	 *
	 * @param string $verifier Verifier of the session to keep.
	 */
	abstract protected function destroy_other_sessions( $verifier );

	/**
	 * Destroys all sessions for the user.
	 *
	 * @since 4.0.0
	 */
	abstract protected function destroy_all_sessions();

	/**
	 * Destroys all sessions for all users.
	 *
	 * @since 4.0.0
	 */
	public static function drop_sessions() {}
}

Directory Contents

Dirs: 22 × Files: 197

Name Size Perms Modified Actions
assets DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
- drwxr-xr-x 2025-10-09 18:37:32
Edit Download
blocks DIR
- drwxr-xr-x 2025-10-09 01:47:10
Edit Download
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
css DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
customize DIR
- drwxr-xr-x 2025-10-08 16:54:08
Edit Download
fonts DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
ID3 DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
images DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
IXR DIR
- drwxr-xr-x 2025-10-10 23:14:10
Edit Download
js DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
PHPMailer DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
pomo DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
Requests DIR
- drwxr-xr-x 2025-10-10 18:53:53
Edit Download
rest-api DIR
- drwxr-xr-x 2025-10-09 05:42:33
Edit Download
SimplePie DIR
- drwxr-xr-x 2025-10-15 06:02:39
Edit Download
sitemaps DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
Text DIR
- drwxr-xr-x 2024-11-22 17:53:11
Edit Download
- drwxr-xr-x 2025-10-08 19:14:33
Edit Download
widgets DIR
- drwxr-xr-x 2025-10-08 17:22:39
Edit Download
30.96 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
11.59 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
16.62 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.42 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
25.76 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.22 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
14.79 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.02 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
9.28 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
30.65 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
33.98 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
53.63 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.41 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
529 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
38.79 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.48 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
42.43 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
407 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.15 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
664 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
20.35 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
29.14 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
94.01 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
452 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
36.83 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.08 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.69 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.37 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
8.45 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.25 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.88 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
16.46 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.12 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.37 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
14.86 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.08 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.74 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.62 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.88 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.97 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
43.58 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
8.83 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
24.91 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
196.37 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
55.71 KB lrw-r--r-- 2025-10-08 16:39:40
Edit Download
10.16 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
10.72 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
29.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
65.46 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
34.51 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.45 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
68.93 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
15.42 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.84 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.37 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.50 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
749 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.72 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.02 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.06 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.40 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.39 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.73 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.92 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.24 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.88 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
15.73 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.81 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
23.32 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.77 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.46 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.90 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.59 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.76 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
27.22 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.26 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
17.94 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.09 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.22 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.63 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
28.31 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.81 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
19.08 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.29 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
131.80 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.31 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
9.89 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.17 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.29 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
11.11 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
59.42 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.44 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
8.23 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.26 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.27 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.73 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
27.88 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.19 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
18.98 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.28 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
35.32 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.14 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
716 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
16.48 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
50.35 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.92 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
30.62 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.14 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
21.63 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.42 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.56 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
17.49 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
205.52 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
24.45 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.57 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
18.04 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
10.62 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
91.85 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
122.66 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.65 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
32.06 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
406 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
10.02 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
26.14 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.07 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
118.65 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
341 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
46.48 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.30 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
560.72 KB lrw-r--r-- 2025-11-04 10:19:24
Edit Download
5.32 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.61 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.16 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.97 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.71 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
22.12 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
304.25 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
228.27 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.07 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
8.11 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
153.99 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
21.86 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
61.88 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
55.27 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
141.46 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
43.82 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
162 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
57.29 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
159.30 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
58.17 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
24.58 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.60 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.34 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
20.63 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.58 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
88.26 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
19.36 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.57 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
42.51 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
22.75 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
40.78 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
72.65 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.12 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
99.86 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
31.66 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.91 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
62.05 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
9.00 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
245.87 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
34.69 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
202 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
202 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
65.83 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
21.46 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
17.65 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
211 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
22.44 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
89.87 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
258 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
21.85 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.16 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
443 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download
158.32 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.94 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
21.02 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
120.92 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
25.57 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
129.65 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.68 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
767 B lrw-r--r-- 2025-10-08 16:39:40
Edit Download
57.75 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.02 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
103.12 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
647 B lrw-r--r-- 2024-11-22 17:53:11
Edit Download

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