PHP 7.4.33
Preview: class-wp-navigation-fallback.php Size: 9.00 KB
/var/www/antons.wpress.dk/httpdocs/wp-includes/class-wp-navigation-fallback.php
<?php
/**
 * WP_Navigation_Fallback class
 *
 * Manages fallback behavior for Navigation menus.
 *
 * @package WordPress
 * @subpackage Navigation
 * @since 6.3.0
 */

/**
 * Manages fallback behavior for Navigation menus.
 *
 * @access public
 * @since 6.3.0
 */
class WP_Navigation_Fallback {

	/**
	 * Updates the wp_navigation custom post type schema, in order to expose
	 * additional fields in the embeddable links of WP_REST_Navigation_Fallback_Controller.
	 *
	 * The Navigation Fallback endpoint may embed the full Navigation Menu object
	 * into the response as the `self` link. By default, the Posts Controller
	 * will only expose a limited subset of fields but the editor requires
	 * additional fields to be available in order to utilize the menu.
	 *
	 * Used with the `rest_wp_navigation_item_schema` hook.
	 *
	 * @since 6.4.0
	 *
	 * @param array $schema The schema for the `wp_navigation` post.
	 * @return array The modified schema.
	 */
	public static function update_wp_navigation_post_schema( $schema ) {
		// Expose top level fields.
		$schema['properties']['status']['context']  = array_merge( $schema['properties']['status']['context'], array( 'embed' ) );
		$schema['properties']['content']['context'] = array_merge( $schema['properties']['content']['context'], array( 'embed' ) );

		/*
		 * Exposes sub properties of content field.
		 * These sub properties aren't exposed by the posts controller by default,
		 * for requests where context is `embed`.
		 *
		 * @see WP_REST_Posts_Controller::get_item_schema()
		 */
		$schema['properties']['content']['properties']['raw']['context']           = array_merge( $schema['properties']['content']['properties']['raw']['context'], array( 'embed' ) );
		$schema['properties']['content']['properties']['rendered']['context']      = array_merge( $schema['properties']['content']['properties']['rendered']['context'], array( 'embed' ) );
		$schema['properties']['content']['properties']['block_version']['context'] = array_merge( $schema['properties']['content']['properties']['block_version']['context'], array( 'embed' ) );

		/*
		 * Exposes sub properties of title field.
		 * These sub properties aren't exposed by the posts controller by default,
		 * for requests where context is `embed`.
		 *
		 * @see WP_REST_Posts_Controller::get_item_schema()
		 */
		$schema['properties']['title']['properties']['raw']['context'] = array_merge( $schema['properties']['title']['properties']['raw']['context'], array( 'embed' ) );

		return $schema;
	}

	/**
	 * Gets (and/or creates) an appropriate fallback Navigation Menu.
	 *
	 * @since 6.3.0
	 *
	 * @return WP_Post|null the fallback Navigation Post or null.
	 */
	public static function get_fallback() {
		/**
		 * Filters whether or not a fallback should be created.
		 *
		 * @since 6.3.0
		 *
		 * @param bool $create Whether to create a fallback navigation menu. Default true.
		 */
		$should_create_fallback = apply_filters( 'wp_navigation_should_create_fallback', true );

		$fallback = static::get_most_recently_published_navigation();

		if ( $fallback || ! $should_create_fallback ) {
			return $fallback;
		}

		$fallback = static::create_classic_menu_fallback();

		if ( $fallback && ! is_wp_error( $fallback ) ) {
			// Return the newly created fallback post object which will now be the most recently created navigation menu.
			return $fallback instanceof WP_Post ? $fallback : static::get_most_recently_published_navigation();
		}

		$fallback = static::create_default_fallback();

		if ( $fallback && ! is_wp_error( $fallback ) ) {
			// Return the newly created fallback post object which will now be the most recently created navigation menu.
			return $fallback instanceof WP_Post ? $fallback : static::get_most_recently_published_navigation();
		}

		return null;
	}

	/**
	 * Finds the most recently published `wp_navigation` post type.
	 *
	 * @since 6.3.0
	 *
	 * @return WP_Post|null the first non-empty Navigation or null.
	 */
	private static function get_most_recently_published_navigation() {

		$parsed_args = array(
			'post_type'              => 'wp_navigation',
			'no_found_rows'          => true,
			'update_post_meta_cache' => false,
			'update_post_term_cache' => false,
			'order'                  => 'DESC',
			'orderby'                => 'date',
			'post_status'            => 'publish',
			'posts_per_page'         => 1,
		);

		$navigation_post = new WP_Query( $parsed_args );

		if ( count( $navigation_post->posts ) > 0 ) {
			return $navigation_post->posts[0];
		}

		return null;
	}

	/**
	 * Creates a Navigation Menu post from a Classic Menu.
	 *
	 * @since 6.3.0
	 *
	 * @return int|WP_Error The post ID of the default fallback menu or a WP_Error object.
	 */
	private static function create_classic_menu_fallback() {
		// See if we have a classic menu.
		$classic_nav_menu = static::get_fallback_classic_menu();

		if ( ! $classic_nav_menu ) {
			return new WP_Error( 'no_classic_menus', __( 'No Classic Menus found.' ) );
		}

		// If there is a classic menu then convert it to blocks.
		$classic_nav_menu_blocks = WP_Classic_To_Block_Menu_Converter::convert( $classic_nav_menu );

		if ( is_wp_error( $classic_nav_menu_blocks ) ) {
			return $classic_nav_menu_blocks;
		}

		if ( empty( $classic_nav_menu_blocks ) ) {
			return new WP_Error( 'cannot_convert_classic_menu', __( 'Unable to convert Classic Menu to blocks.' ) );
		}

		// Create a new navigation menu from the classic menu.
		$classic_menu_fallback = wp_insert_post(
			array(
				'post_content' => $classic_nav_menu_blocks,
				'post_title'   => $classic_nav_menu->name,
				'post_name'    => $classic_nav_menu->slug,
				'post_status'  => 'publish',
				'post_type'    => 'wp_navigation',
			),
			true // So that we can check whether the result is an error.
		);

		return $classic_menu_fallback;
	}

	/**
	 * Determines the most appropriate classic navigation menu to use as a fallback.
	 *
	 * @since 6.3.0
	 *
	 * @return WP_Term|null The most appropriate classic navigation menu to use as a fallback.
	 */
	private static function get_fallback_classic_menu() {
		$classic_nav_menus = wp_get_nav_menus();

		if ( ! $classic_nav_menus || is_wp_error( $classic_nav_menus ) ) {
			return null;
		}

		$nav_menu = static::get_nav_menu_at_primary_location();

		if ( $nav_menu ) {
			return $nav_menu;
		}

		$nav_menu = static::get_nav_menu_with_primary_slug( $classic_nav_menus );

		if ( $nav_menu ) {
			return $nav_menu;
		}

		return static::get_most_recently_created_nav_menu( $classic_nav_menus );
	}


	/**
	 * Sorts the classic menus and returns the most recently created one.
	 *
	 * @since 6.3.0
	 *
	 * @param WP_Term[] $classic_nav_menus Array of classic nav menu term objects.
	 * @return WP_Term The most recently created classic nav menu.
	 */
	private static function get_most_recently_created_nav_menu( $classic_nav_menus ) {
		usort(
			$classic_nav_menus,
			static function ( $a, $b ) {
				return $b->term_id - $a->term_id;
			}
		);

		return $classic_nav_menus[0];
	}

	/**
	 * Returns the classic menu with the slug `primary` if it exists.
	 *
	 * @since 6.3.0
	 *
	 * @param WP_Term[] $classic_nav_menus Array of classic nav menu term objects.
	 * @return WP_Term|null The classic nav menu with the slug `primary` or null.
	 */
	private static function get_nav_menu_with_primary_slug( $classic_nav_menus ) {
		foreach ( $classic_nav_menus as $classic_nav_menu ) {
			if ( 'primary' === $classic_nav_menu->slug ) {
				return $classic_nav_menu;
			}
		}

		return null;
	}


	/**
	 * Gets the classic menu assigned to the `primary` navigation menu location
	 * if it exists.
	 *
	 * @since 6.3.0
	 *
	 * @return WP_Term|null The classic nav menu assigned to the `primary` location or null.
	 */
	private static function get_nav_menu_at_primary_location() {
		$locations = get_nav_menu_locations();

		if ( isset( $locations['primary'] ) ) {
			$primary_menu = wp_get_nav_menu_object( $locations['primary'] );

			if ( $primary_menu ) {
				return $primary_menu;
			}
		}

		return null;
	}

	/**
	 * Creates a default Navigation Block Menu fallback.
	 *
	 * @since 6.3.0
	 *
	 * @return int|WP_Error The post ID of the default fallback menu or a WP_Error object.
	 */
	private static function create_default_fallback() {

		$default_blocks = static::get_default_fallback_blocks();

		// Create a new navigation menu from the fallback blocks.
		$default_fallback = wp_insert_post(
			array(
				'post_content' => $default_blocks,
				'post_title'   => _x( 'Navigation', 'Title of a Navigation menu' ),
				'post_name'    => 'navigation',
				'post_status'  => 'publish',
				'post_type'    => 'wp_navigation',
			),
			true // So that we can check whether the result is an error.
		);

		return $default_fallback;
	}

	/**
	 * Gets the rendered markup for the default fallback blocks.
	 *
	 * @since 6.3.0
	 *
	 * @return string default blocks markup to use a the fallback.
	 */
	private static function get_default_fallback_blocks() {
		$registry = WP_Block_Type_Registry::get_instance();

		// If `core/page-list` is not registered then use empty blocks.
		return $registry->is_registered( 'core/page-list' ) ? '<!-- wp:page-list /-->' : '';
	}
}

Directory Contents

Dirs: 25 × Files: 229
Name Size Perms Modified Actions
assets DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
- drwxrwxr-x 2023-10-03 12:02:16
Edit Download
- drwxrwxr-x 2024-01-25 08:19:44
Edit Download
blocks DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
- drwxrwxr-x 2016-09-07 13:01:12
Edit Download
css DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
customize DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
fonts DIR
- drwxrwxr-x 2024-01-25 08:19:44
Edit Download
html-api DIR
- drwxrwxr-x 2024-01-25 08:19:44
Edit Download
ID3 DIR
- drwxrwxr-x 2016-09-07 13:01:12
Edit Download
images DIR
- drwxrwxr-x 2023-10-03 12:02:16
Edit Download
IXR DIR
- drwxrwxr-x 2017-02-22 09:22:29
Edit Download
js DIR
- drwxrwxr-x 2023-10-03 12:02:16
Edit Download
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
PHPMailer DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
pomo DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
Requests DIR
- drwxrwxr-x 2023-10-03 12:02:16
Edit Download
rest-api DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
SimplePie DIR
- drwxrwxr-x 2016-09-07 13:01:12
Edit Download
sitemaps DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
Text DIR
- drwxrwxr-x 2016-09-07 13:01:12
Edit Download
- drwxrwxr-x 2016-09-07 13:01:12
Edit Download
widgets DIR
- drwxrwxr-x 2023-10-03 12:02:15
Edit Download
35.15 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
11.67 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
18.51 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
27.27 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
316 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
12.64 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
47.35 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
12.00 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
71.18 KB lrw-rw-r-- 2024-06-25 04:36:32
Edit Download
12.61 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
15.02 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
5.83 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
13.16 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
33.27 KB lrw-rw-r-- 2024-01-31 13:16:20
Edit Download
39.09 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
55.67 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
12.41 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
529 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
367 B lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
2.48 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
42.66 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
401 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
6.55 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
664 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
20.48 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.18 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
95.82 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
457 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
36.83 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.41 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
8.28 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
13.88 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
11.05 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.65 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
7.43 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
16.96 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
5.14 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
12.55 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
1.32 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
4.66 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
2.50 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
1.87 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
11.26 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
5.25 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
9.84 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
5.75 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
5.39 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
1.91 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
4.90 KB lrw-rw-r-- 2024-01-24 05:08:07
Edit Download
14.40 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
8.20 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
3.99 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
46.71 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
9.15 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
25.24 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
197.52 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
56.22 KB lrw-rw-r-- 2025-09-30 22:08:41
Edit Download
10.42 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
10.98 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
29.19 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
69.93 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
34.88 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
13.73 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
2.57 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
38.52 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
70.39 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
15.62 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
7.33 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
7.69 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.53 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
969 B lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
15.63 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
7.22 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
12.25 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
6.53 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
3.42 KB lrw-rw-r-- 2026-03-11 09:44:57
Edit Download
5.84 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
1.97 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
4.30 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
2.91 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
16.46 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
39.63 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
17.11 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
30.47 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
17.17 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
7.27 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
6.41 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
15.74 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
1.78 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
29.82 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
6.67 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
9.00 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
18.84 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
11.90 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
17.18 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
6.72 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
30.66 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
4.94 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
29.28 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
6.33 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
148.03 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
6.72 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
10.92 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
4.40 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
3.38 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
11.17 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
61.94 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
2.46 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
8.38 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
27.99 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
7.28 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
3.30 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
1.73 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
30.29 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
7.28 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
10.64 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
19.09 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
18.13 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
40.05 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
5.17 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
829 B lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
18.37 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
5.84 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
1.52 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
24.06 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
4.12 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
126.52 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
62.76 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
2.92 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
42.37 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
2.17 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
22.23 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
12.86 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
3.27 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
17.96 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
209.12 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
25.51 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
116.66 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
373 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
343 B lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
338 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
99.05 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
126.09 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
14.86 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
40.50 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
400 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
10.91 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
33.70 KB lrw-rw-r-- 2024-01-31 13:16:20
Edit Download
2.17 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
179.50 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
338 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
36.78 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
4.02 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
5.32 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
2.98 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.61 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
1.16 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
3.98 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
3.71 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
22.52 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.28 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
327.14 KB lrw-rw-r-- 2024-06-25 04:36:32
Edit Download
269.81 KB lrw-rw-r-- 2024-06-25 04:36:32
Edit Download
14.41 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
8.38 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
163.79 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
19.73 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
23.29 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
5.53 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
4.63 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
70.22 KB lrw-rw-r-- 2026-03-11 09:44:57
Edit Download
61.31 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
152.42 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
52.86 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
162 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
60.37 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
202.56 KB lrw-rw-r-- 2026-03-11 09:44:57
Edit Download
62.58 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
25.03 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
4.79 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
6.48 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
21.25 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.65 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
89.12 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
19.40 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
3.69 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
4.03 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
39.55 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
25.18 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
43.02 KB lrw-rw-r-- 2026-03-11 09:44:57
Edit Download
89.20 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
6.12 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
110.37 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
34.63 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
6.93 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
65.23 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
10.07 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
271.80 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
36.17 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
200 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
200 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
94.87 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
30.18 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
19.06 KB lrw-rw-r-- 2023-10-03 12:02:16
Edit Download
5.06 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
255 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
22.48 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
127.03 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
258 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
23.30 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
3.16 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
441 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
7.03 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
169.46 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
544 B lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
3.27 KB lrw-rw-r-- 2026-03-11 09:44:57
Edit Download
22.97 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
1.12 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
2.76 KB lrw-rw-r-- 2024-01-24 05:08:07
Edit Download
6.08 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
7.13 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
128.13 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
35.96 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
167.14 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
6.06 KB lrw-rw-r-- 2024-01-25 08:19:44
Edit Download
928 B lrw-rw-r-- 2026-03-11 09:44:57
Edit Download
68.24 KB lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
445 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
647 B lrw-rw-r-- 2023-10-03 12:02:15
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).