PHP 8.0.30
Preview: block-editor.php Size: 22.84 KB
/home/certprox/public_html/wpinst/wordpress/wp-includes/block-editor.php

<?php
/**
 * Block Editor API.
 *
 * @package WordPress
 * @subpackage Editor
 * @since 5.8.0
 */

/**
 * Returns the list of default categories for block types.
 *
 * @since 5.8.0
 *
 * @return array[] Array of categories for block types.
 */
function get_default_block_categories() {
	return array(
		array(
			'slug'  => 'text',
			'title' => _x( 'Text', 'block category' ),
			'icon'  => null,
		),
		array(
			'slug'  => 'media',
			'title' => _x( 'Media', 'block category' ),
			'icon'  => null,
		),
		array(
			'slug'  => 'design',
			'title' => _x( 'Design', 'block category' ),
			'icon'  => null,
		),
		array(
			'slug'  => 'widgets',
			'title' => _x( 'Widgets', 'block category' ),
			'icon'  => null,
		),
		array(
			'slug'  => 'theme',
			'title' => _x( 'Theme', 'block category' ),
			'icon'  => null,
		),
		array(
			'slug'  => 'embed',
			'title' => _x( 'Embeds', 'block category' ),
			'icon'  => null,
		),
		array(
			'slug'  => 'reusable',
			'title' => _x( 'Reusable Blocks', 'block category' ),
			'icon'  => null,
		),
	);
}

/**
 * Returns all the categories for block types that will be shown in the block editor.
 *
 * @since 5.0.0
 * @since 5.8.0 It is possible to pass the block editor context as param.
 *
 * @param WP_Post|WP_Block_Editor_Context $post_or_block_editor_context The current post object or
 *                                                                      the block editor context.
 *
 * @return array[] Array of categories for block types.
 */
function get_block_categories( $post_or_block_editor_context ) {
	$block_categories     = get_default_block_categories();
	$block_editor_context = $post_or_block_editor_context instanceof WP_Post ?
		new WP_Block_Editor_Context(
			array(
				'post' => $post_or_block_editor_context,
			)
		) : $post_or_block_editor_context;

	/**
	 * Filters the default array of categories for block types.
	 *
	 * @since 5.8.0
	 *
	 * @param array[]                 $block_categories     Array of categories for block types.
	 * @param WP_Block_Editor_Context $block_editor_context The current block editor context.
	 */
	$block_categories = apply_filters( 'block_categories_all', $block_categories, $block_editor_context );

	if ( ! empty( $block_editor_context->post ) ) {
		$post = $block_editor_context->post;

		/**
		 * Filters the default array of categories for block types.
		 *
		 * @since 5.0.0
		 * @deprecated 5.8.0 Use the {@see 'block_categories_all'} filter instead.
		 *
		 * @param array[] $block_categories Array of categories for block types.
		 * @param WP_Post $post             Post being loaded.
		 */
		$block_categories = apply_filters_deprecated( 'block_categories', array( $block_categories, $post ), '5.8.0', 'block_categories_all' );
	}

	return $block_categories;
}

/**
 * Gets the list of allowed block types to use in the block editor.
 *
 * @since 5.8.0
 *
 * @param WP_Block_Editor_Context $block_editor_context The current block editor context.
 *
 * @return bool|string[] Array of block type slugs, or boolean to enable/disable all.
 */
function get_allowed_block_types( $block_editor_context ) {
	$allowed_block_types = true;

	/**
	 * Filters the allowed block types for all editor types.
	 *
	 * @since 5.8.0
	 *
	 * @param bool|string[]           $allowed_block_types  Array of block type slugs, or boolean to enable/disable all.
	 *                                                      Default true (all registered block types supported).
	 * @param WP_Block_Editor_Context $block_editor_context The current block editor context.
	 */
	$allowed_block_types = apply_filters( 'allowed_block_types_all', $allowed_block_types, $block_editor_context );

	if ( ! empty( $block_editor_context->post ) ) {
		$post = $block_editor_context->post;

		/**
		 * Filters the allowed block types for the editor.
		 *
		 * @since 5.0.0
		 * @deprecated 5.8.0 Use the {@see 'allowed_block_types_all'} filter instead.
		 *
		 * @param bool|string[] $allowed_block_types Array of block type slugs, or boolean to enable/disable all.
		 *                                           Default true (all registered block types supported)
		 * @param WP_Post       $post                The post resource data.
		 */
		$allowed_block_types = apply_filters_deprecated( 'allowed_block_types', array( $allowed_block_types, $post ), '5.8.0', 'allowed_block_types_all' );
	}

	return $allowed_block_types;
}

/**
 * Returns the default block editor settings.
 *
 * @since 5.8.0
 *
 * @return array The default block editor settings.
 */
function get_default_block_editor_settings() {
	// Media settings.

	// wp_max_upload_size() can be expensive, so only call it when relevant for the current user.
	$max_upload_size = 0;
	if ( current_user_can( 'upload_files' ) ) {
		$max_upload_size = wp_max_upload_size();
		if ( ! $max_upload_size ) {
			$max_upload_size = 0;
		}
	}

	/** This filter is documented in wp-admin/includes/media.php */
	$image_size_names = apply_filters(
		'image_size_names_choose',
		array(
			'thumbnail' => __( 'Thumbnail' ),
			'medium'    => __( 'Medium' ),
			'large'     => __( 'Large' ),
			'full'      => __( 'Full Size' ),
		)
	);

	$available_image_sizes = array();
	foreach ( $image_size_names as $image_size_slug => $image_size_name ) {
		$available_image_sizes[] = array(
			'slug' => $image_size_slug,
			'name' => $image_size_name,
		);
	}

	$default_size       = get_option( 'image_default_size', 'large' );
	$image_default_size = in_array( $default_size, array_keys( $image_size_names ), true ) ? $default_size : 'large';

	$image_dimensions = array();
	$all_sizes        = wp_get_registered_image_subsizes();
	foreach ( $available_image_sizes as $size ) {
		$key = $size['slug'];
		if ( isset( $all_sizes[ $key ] ) ) {
			$image_dimensions[ $key ] = $all_sizes[ $key ];
		}
	}

	// These styles are used if the "no theme styles" options is triggered or on
	// themes without their own editor styles.
	$default_editor_styles_file = ABSPATH . WPINC . '/css/dist/block-editor/default-editor-styles.css';

	static $default_editor_styles_file_contents = false;
	if ( ! $default_editor_styles_file_contents && file_exists( $default_editor_styles_file ) ) {
		$default_editor_styles_file_contents = file_get_contents( $default_editor_styles_file );
	}

	$default_editor_styles = array();
	if ( $default_editor_styles_file_contents ) {
		$default_editor_styles = array(
			array( 'css' => $default_editor_styles_file_contents ),
		);
	}

	$editor_settings = array(
		'alignWide'                        => get_theme_support( 'align-wide' ),
		'allowedBlockTypes'                => true,
		'allowedMimeTypes'                 => get_allowed_mime_types(),
		'defaultEditorStyles'              => $default_editor_styles,
		'blockCategories'                  => get_default_block_categories(),
		'disableCustomColors'              => get_theme_support( 'disable-custom-colors' ),
		'disableCustomFontSizes'           => get_theme_support( 'disable-custom-font-sizes' ),
		'disableCustomGradients'           => get_theme_support( 'disable-custom-gradients' ),
		'disableLayoutStyles'              => get_theme_support( 'disable-layout-styles' ),
		'enableCustomLineHeight'           => get_theme_support( 'custom-line-height' ),
		'enableCustomSpacing'              => get_theme_support( 'custom-spacing' ),
		'enableCustomUnits'                => get_theme_support( 'custom-units' ),
		'isRTL'                            => is_rtl(),
		'imageDefaultSize'                 => $image_default_size,
		'imageDimensions'                  => $image_dimensions,
		'imageEditing'                     => true,
		'imageSizes'                       => $available_image_sizes,
		'maxUploadFileSize'                => $max_upload_size,
		// The following flag is required to enable the new Gallery block format on the mobile apps in 5.9.
		'__unstableGalleryWithImageBlocks' => true,
	);

	// Theme settings.
	$color_palette = current( (array) get_theme_support( 'editor-color-palette' ) );
	if ( false !== $color_palette ) {
		$editor_settings['colors'] = $color_palette;
	}

	$font_sizes = current( (array) get_theme_support( 'editor-font-sizes' ) );
	if ( false !== $font_sizes ) {
		$editor_settings['fontSizes'] = $font_sizes;
	}

	$gradient_presets = current( (array) get_theme_support( 'editor-gradient-presets' ) );
	if ( false !== $gradient_presets ) {
		$editor_settings['gradients'] = $gradient_presets;
	}

	return $editor_settings;
}

/**
 * Returns the block editor settings needed to use the Legacy Widget block which
 * is not registered by default.
 *
 * @since 5.8.0
 *
 * @return array Settings to be used with get_block_editor_settings().
 */
function get_legacy_widget_block_editor_settings() {
	$editor_settings = array();

	/**
	 * Filters the list of widget-type IDs that should **not** be offered by the
	 * Legacy Widget block.
	 *
	 * Returning an empty array will make all widgets available.
	 *
	 * @since 5.8.0
	 *
	 * @param string[] $widgets An array of excluded widget-type IDs.
	 */
	$editor_settings['widgetTypesToHideFromLegacyWidgetBlock'] = apply_filters(
		'widget_types_to_hide_from_legacy_widget_block',
		array(
			'pages',
			'calendar',
			'archives',
			'media_audio',
			'media_image',
			'media_gallery',
			'media_video',
			'search',
			'text',
			'categories',
			'recent-posts',
			'recent-comments',
			'rss',
			'tag_cloud',
			'custom_html',
			'block',
		)
	);

	return $editor_settings;
}

/**
 * Collect the block editor assets that need to be loaded into the editor's iframe.
 *
 * @since 6.0.0
 * @access private
 *
 * @global string $pagenow The filename of the current screen.
 *
 * @return array {
 *     The block editor assets.
 *
 *     @type string|false $styles  String containing the HTML for styles.
 *     @type string|false $scripts String containing the HTML for scripts.
 * }
 */
function _wp_get_iframed_editor_assets() {
	global $pagenow;

	$script_handles = array();
	$style_handles  = array(
		'wp-block-editor',
		'wp-block-library',
		'wp-edit-blocks',
	);

	if ( current_theme_supports( 'wp-block-styles' ) ) {
		$style_handles[] = 'wp-block-library-theme';
	}

	if ( 'widgets.php' === $pagenow || 'customize.php' === $pagenow ) {
		$style_handles[] = 'wp-widgets';
		$style_handles[] = 'wp-edit-widgets';
	}

	$block_registry = WP_Block_Type_Registry::get_instance();

	foreach ( $block_registry->get_all_registered() as $block_type ) {
		$style_handles = array_merge(
			$style_handles,
			$block_type->style_handles,
			$block_type->editor_style_handles
		);

		$script_handles = array_merge(
			$script_handles,
			$block_type->script_handles
		);
	}

	$style_handles = array_unique( $style_handles );
	$done          = wp_styles()->done;

	ob_start();

	// We do not need reset styles for the iframed editor.
	wp_styles()->done = array( 'wp-reset-editor-styles' );
	wp_styles()->do_items( $style_handles );
	wp_styles()->done = $done;

	$styles = ob_get_clean();

	$script_handles = array_unique( $script_handles );
	$done           = wp_scripts()->done;

	ob_start();

	wp_scripts()->done = array();
	wp_scripts()->do_items( $script_handles );
	wp_scripts()->done = $done;

	$scripts = ob_get_clean();

	return array(
		'styles'  => $styles,
		'scripts' => $scripts,
	);
}

/**
 * Returns the contextualized block editor settings for a selected editor context.
 *
 * @since 5.8.0
 *
 * @param array                   $custom_settings      Custom settings to use with the given editor type.
 * @param WP_Block_Editor_Context $block_editor_context The current block editor context.
 *
 * @return array The contextualized block editor settings.
 */
function get_block_editor_settings( array $custom_settings, $block_editor_context ) {
	$editor_settings = array_merge(
		get_default_block_editor_settings(),
		array(
			'allowedBlockTypes' => get_allowed_block_types( $block_editor_context ),
			'blockCategories'   => get_block_categories( $block_editor_context ),
		),
		$custom_settings
	);

	$global_styles = array();
	$presets       = array(
		array(
			'css'            => 'variables',
			'__unstableType' => 'presets',
			'isGlobalStyles' => true,
		),
		array(
			'css'            => 'presets',
			'__unstableType' => 'presets',
			'isGlobalStyles' => true,
		),
	);
	foreach ( $presets as $preset_style ) {
		$actual_css = wp_get_global_stylesheet( array( $preset_style['css'] ) );
		if ( '' !== $actual_css ) {
			$preset_style['css'] = $actual_css;
			$global_styles[]     = $preset_style;
		}
	}

	if ( WP_Theme_JSON_Resolver::theme_has_support() ) {
		$block_classes = array(
			'css'            => 'styles',
			'__unstableType' => 'theme',
			'isGlobalStyles' => true,
		);
		$actual_css    = wp_get_global_stylesheet( array( $block_classes['css'] ) );
		if ( '' !== $actual_css ) {
			$block_classes['css'] = $actual_css;
			$global_styles[]      = $block_classes;
		}
	} else {
		// If there is no `theme.json` file, ensure base layout styles are still available.
		$block_classes = array(
			'css'            => 'base-layout-styles',
			'__unstableType' => 'base-layout',
			'isGlobalStyles' => true,
		);
		$actual_css    = wp_get_global_stylesheet( array( $block_classes['css'] ) );
		if ( '' !== $actual_css ) {
			$block_classes['css'] = $actual_css;
			$global_styles[]      = $block_classes;
		}
	}

	$editor_settings['styles'] = array_merge( $global_styles, get_block_editor_theme_styles() );

	$editor_settings['__experimentalFeatures'] = wp_get_global_settings();
	// These settings may need to be updated based on data coming from theme.json sources.
	if ( isset( $editor_settings['__experimentalFeatures']['color']['palette'] ) ) {
		$colors_by_origin          = $editor_settings['__experimentalFeatures']['color']['palette'];
		$editor_settings['colors'] = isset( $colors_by_origin['custom'] ) ?
			$colors_by_origin['custom'] : (
				isset( $colors_by_origin['theme'] ) ?
					$colors_by_origin['theme'] :
					$colors_by_origin['default']
			);
	}
	if ( isset( $editor_settings['__experimentalFeatures']['color']['gradients'] ) ) {
		$gradients_by_origin          = $editor_settings['__experimentalFeatures']['color']['gradients'];
		$editor_settings['gradients'] = isset( $gradients_by_origin['custom'] ) ?
			$gradients_by_origin['custom'] : (
				isset( $gradients_by_origin['theme'] ) ?
					$gradients_by_origin['theme'] :
					$gradients_by_origin['default']
			);
	}
	if ( isset( $editor_settings['__experimentalFeatures']['typography']['fontSizes'] ) ) {
		$font_sizes_by_origin         = $editor_settings['__experimentalFeatures']['typography']['fontSizes'];
		$editor_settings['fontSizes'] = isset( $font_sizes_by_origin['custom'] ) ?
			$font_sizes_by_origin['custom'] : (
				isset( $font_sizes_by_origin['theme'] ) ?
					$font_sizes_by_origin['theme'] :
					$font_sizes_by_origin['default']
			);
	}
	if ( isset( $editor_settings['__experimentalFeatures']['color']['custom'] ) ) {
		$editor_settings['disableCustomColors'] = ! $editor_settings['__experimentalFeatures']['color']['custom'];
		unset( $editor_settings['__experimentalFeatures']['color']['custom'] );
	}
	if ( isset( $editor_settings['__experimentalFeatures']['color']['customGradient'] ) ) {
		$editor_settings['disableCustomGradients'] = ! $editor_settings['__experimentalFeatures']['color']['customGradient'];
		unset( $editor_settings['__experimentalFeatures']['color']['customGradient'] );
	}
	if ( isset( $editor_settings['__experimentalFeatures']['typography']['customFontSize'] ) ) {
		$editor_settings['disableCustomFontSizes'] = ! $editor_settings['__experimentalFeatures']['typography']['customFontSize'];
		unset( $editor_settings['__experimentalFeatures']['typography']['customFontSize'] );
	}
	if ( isset( $editor_settings['__experimentalFeatures']['typography']['lineHeight'] ) ) {
		$editor_settings['enableCustomLineHeight'] = $editor_settings['__experimentalFeatures']['typography']['lineHeight'];
		unset( $editor_settings['__experimentalFeatures']['typography']['lineHeight'] );
	}
	if ( isset( $editor_settings['__experimentalFeatures']['spacing']['units'] ) ) {
		$editor_settings['enableCustomUnits'] = $editor_settings['__experimentalFeatures']['spacing']['units'];
		unset( $editor_settings['__experimentalFeatures']['spacing']['units'] );
	}
	if ( isset( $editor_settings['__experimentalFeatures']['spacing']['padding'] ) ) {
		$editor_settings['enableCustomSpacing'] = $editor_settings['__experimentalFeatures']['spacing']['padding'];
		unset( $editor_settings['__experimentalFeatures']['spacing']['padding'] );
	}
	if ( isset( $editor_settings['__experimentalFeatures']['spacing']['customSpacingSize'] ) ) {
		$editor_settings['disableCustomSpacingSizes'] = ! $editor_settings['__experimentalFeatures']['spacing']['customSpacingSize'];
		unset( $editor_settings['__experimentalFeatures']['spacing']['customSpacingSize'] );
	}

	if ( isset( $editor_settings['__experimentalFeatures']['spacing']['spacingSizes'] ) ) {
		$spacing_sizes_by_origin         = $editor_settings['__experimentalFeatures']['spacing']['spacingSizes'];
		$editor_settings['spacingSizes'] = isset( $spacing_sizes_by_origin['custom'] ) ?
			$spacing_sizes_by_origin['custom'] : (
				isset( $spacing_sizes_by_origin['theme'] ) ?
					$spacing_sizes_by_origin['theme'] :
					$spacing_sizes_by_origin['default']
			);
	}

	$editor_settings['__unstableResolvedAssets']         = _wp_get_iframed_editor_assets();
	$editor_settings['localAutosaveInterval']            = 15;
	$editor_settings['disableLayoutStyles']              = current_theme_supports( 'disable-layout-styles' );
	$editor_settings['__experimentalDiscussionSettings'] = array(
		'commentOrder'         => get_option( 'comment_order' ),
		'commentsPerPage'      => get_option( 'comments_per_page' ),
		'defaultCommentsPage'  => get_option( 'default_comments_page' ),
		'pageComments'         => get_option( 'page_comments' ),
		'threadComments'       => get_option( 'thread_comments' ),
		'threadCommentsDepth'  => get_option( 'thread_comments_depth' ),
		'defaultCommentStatus' => get_option( 'default_comment_status' ),
		'avatarURL'            => get_avatar_url(
			'',
			array(
				'size'          => 96,
				'force_default' => true,
				'default'       => get_option( 'avatar_default' ),
			)
		),
	);

	/**
	 * Filters the settings to pass to the block editor for all editor type.
	 *
	 * @since 5.8.0
	 *
	 * @param array                   $editor_settings      Default editor settings.
	 * @param WP_Block_Editor_Context $block_editor_context The current block editor context.
	 */
	$editor_settings = apply_filters( 'block_editor_settings_all', $editor_settings, $block_editor_context );

	if ( ! empty( $block_editor_context->post ) ) {
		$post = $block_editor_context->post;

		/**
		 * Filters the settings to pass to the block editor.
		 *
		 * @since 5.0.0
		 * @deprecated 5.8.0 Use the {@see 'block_editor_settings_all'} filter instead.
		 *
		 * @param array   $editor_settings Default editor settings.
		 * @param WP_Post $post            Post being edited.
		 */
		$editor_settings = apply_filters_deprecated( 'block_editor_settings', array( $editor_settings, $post ), '5.8.0', 'block_editor_settings_all' );
	}

	return $editor_settings;
}

/**
 * Preloads common data used with the block editor by specifying an array of
 * REST API paths that will be preloaded for a given block editor context.
 *
 * @since 5.8.0
 *
 * @global WP_Post    $post       Global post object.
 * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
 * @global WP_Styles  $wp_styles  The WP_Styles object for printing styles.
 *
 * @param string[]                $preload_paths        List of paths to preload.
 * @param WP_Block_Editor_Context $block_editor_context The current block editor context.
 */
function block_editor_rest_api_preload( array $preload_paths, $block_editor_context ) {
	global $post, $wp_scripts, $wp_styles;

	/**
	 * Filters the array of REST API paths that will be used to preloaded common data for the block editor.
	 *
	 * @since 5.8.0
	 *
	 * @param string[]                $preload_paths        Array of paths to preload.
	 * @param WP_Block_Editor_Context $block_editor_context The current block editor context.
	 */
	$preload_paths = apply_filters( 'block_editor_rest_api_preload_paths', $preload_paths, $block_editor_context );

	if ( ! empty( $block_editor_context->post ) ) {
		$selected_post = $block_editor_context->post;

		/**
		 * Filters the array of paths that will be preloaded.
		 *
		 * Preload common data by specifying an array of REST API paths that will be preloaded.
		 *
		 * @since 5.0.0
		 * @deprecated 5.8.0 Use the {@see 'block_editor_rest_api_preload_paths'} filter instead.
		 *
		 * @param string[] $preload_paths Array of paths to preload.
		 * @param WP_Post  $selected_post Post being edited.
		 */
		$preload_paths = apply_filters_deprecated( 'block_editor_preload_paths', array( $preload_paths, $selected_post ), '5.8.0', 'block_editor_rest_api_preload_paths' );
	}

	if ( empty( $preload_paths ) ) {
		return;
	}

	/*
	 * Ensure the global $post, $wp_scripts, and $wp_styles remain the same after
	 * API data is preloaded.
	 * Because API preloading can call the_content and other filters, plugins
	 * can unexpectedly modify the global $post or enqueue assets which are not
	 * intended for the block editor.
	 */
	$backup_global_post = ! empty( $post ) ? clone $post : $post;
	$backup_wp_scripts  = ! empty( $wp_scripts ) ? clone $wp_scripts : $wp_scripts;
	$backup_wp_styles   = ! empty( $wp_styles ) ? clone $wp_styles : $wp_styles;

	foreach ( $preload_paths as &$path ) {
		if ( is_string( $path ) && ! str_starts_with( $path, '/' ) ) {
			$path = '/' . $path;
			continue;
		}

		if ( is_array( $path ) && is_string( $path[0] ) && ! str_starts_with( $path[0], '/' ) ) {
			$path[0] = '/' . $path[0];
		}
	}

	unset( $path );

	$preload_data = array_reduce(
		$preload_paths,
		'rest_preload_api_request',
		array()
	);

	// Restore the global $post, $wp_scripts, and $wp_styles as they were before API preloading.
	$post       = $backup_global_post;
	$wp_scripts = $backup_wp_scripts;
	$wp_styles  = $backup_wp_styles;

	wp_add_inline_script(
		'wp-api-fetch',
		sprintf(
			'wp.apiFetch.use( wp.apiFetch.createPreloadingMiddleware( %s ) );',
			wp_json_encode( $preload_data )
		),
		'after'
	);
}

/**
 * Creates an array of theme styles to load into the block editor.
 *
 * @since 5.8.0
 *
 * @global array $editor_styles
 *
 * @return array An array of theme styles for the block editor.
 */
function get_block_editor_theme_styles() {
	global $editor_styles;

	$styles = array();

	if ( $editor_styles && current_theme_supports( 'editor-styles' ) ) {
		foreach ( $editor_styles as $style ) {
			if ( preg_match( '~^(https?:)?//~', $style ) ) {
				$response = wp_remote_get( $style );
				if ( ! is_wp_error( $response ) ) {
					$styles[] = array(
						'css'            => wp_remote_retrieve_body( $response ),
						'__unstableType' => 'theme',
						'isGlobalStyles' => false,
					);
				}
			} else {
				$file = get_theme_file_path( $style );
				if ( is_file( $file ) ) {
					$styles[] = array(
						'css'            => file_get_contents( $file ),
						'baseURL'        => get_theme_file_uri( $style ),
						'__unstableType' => 'theme',
						'isGlobalStyles' => false,
					);
				}
			}
		}
	}

	return $styles;
}

Directory Contents

Dirs: 25 × Files: 223

Name Size Perms Modified Actions
assets DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
blocks DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
css DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
customize DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
fonts DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
ID3 DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
images DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
IXR DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
js DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
PHPMailer DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
pomo DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
Requests DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
rest-api DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
SimplePie DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
sitemaps DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
Text DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
widgets DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
33.32 KB lrw-r--r-- 2022-08-13 22:44:09
Edit Download
11.67 KB lrw-r--r-- 2022-04-21 11:24:17
Edit Download
18.31 KB lrw-r--r-- 2022-09-20 16:26:10
Edit Download
22.84 KB lrw-r--r-- 2022-11-09 01:08:14
Edit Download
316 B lrw-r--r-- 2021-08-11 09:08:01
Edit Download
10.89 KB lrw-r--r-- 2022-09-20 16:29:12
Edit Download
42.54 KB lrw-r--r-- 2022-11-11 16:31:14
Edit Download
11.24 KB lrw-r--r-- 2022-11-11 16:31:14
Edit Download
49.55 KB lrw-r--r-- 2022-10-16 15:46:15
Edit Download
12.60 KB lrw-r--r-- 2022-06-23 22:57:12
Edit Download
14.99 KB lrw-r--r-- 2022-08-30 15:17:08
Edit Download
5.83 KB lrw-r--r-- 2022-10-10 18:22:11
Edit Download
13.16 KB lrw-r--r-- 2022-10-10 18:22:11
Edit Download
32.55 KB lrw-r--r-- 2022-11-10 16:25:14
Edit Download
39.06 KB lrw-r--r-- 2022-10-24 19:25:13
Edit Download
55.59 KB lrw-r--r-- 2022-08-19 23:06:09
Edit Download
12.40 KB lrw-r--r-- 2022-08-04 14:52:11
Edit Download
529 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
367 B lrw-r--r-- 2022-06-17 11:20:13
Edit Download
2.48 KB lrw-r--r-- 2020-02-06 06:33:11
Edit Download
42.66 KB lrw-r--r-- 2022-08-31 13:41:08
Edit Download
401 B lrw-r--r-- 2022-06-17 11:20:13
Edit Download
6.54 KB lrw-r--r-- 2021-05-25 18:47:59
Edit Download
664 B lrw-r--r-- 2020-07-21 12:58:02
Edit Download
20.35 KB lrw-r--r-- 2020-05-01 20:12:06
Edit Download
29.72 KB lrw-r--r-- 2021-12-06 21:30:03
Edit Download
95.78 KB lrw-r--r-- 2021-12-24 18:06:06
Edit Download
457 B lrw-r--r-- 2021-01-26 13:45:57
Edit Download
36.83 KB lrw-r--r-- 2020-05-01 19:07:09
Edit Download
2.42 KB lrw-r--r-- 2022-01-30 19:25:03
Edit Download
8.27 KB lrw-r--r-- 2022-01-30 19:25:03
Edit Download
13.88 KB lrw-r--r-- 2022-01-30 19:25:03
Edit Download
9.16 KB lrw-r--r-- 2022-09-15 12:32:08
Edit Download
2.64 KB lrw-r--r-- 2022-05-01 22:01:10
Edit Download
7.42 KB lrw-r--r-- 2022-01-30 19:25:03
Edit Download
17.08 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
5.14 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
11.97 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
1.32 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
4.64 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
14.85 KB lrw-r--r-- 2022-09-20 15:43:29
Edit Download
5.25 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
7.30 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
5.75 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
5.36 KB lrw-r--r-- 2022-10-11 18:46:13
Edit Download
1.80 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
4.56 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
13.66 KB lrw-r--r-- 2022-10-24 14:32:18
Edit Download
8.16 KB lrw-r--r-- 2022-10-03 14:41:14
Edit Download
46.55 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
9.13 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
25.14 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
197.08 KB lrw-r--r-- 2022-09-12 21:50:14
Edit Download
55.56 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
10.21 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
10.74 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
29.19 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
69.66 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
34.65 KB lrw-r--r-- 2022-10-17 11:49:11
Edit Download
13.73 KB lrw-r--r-- 2022-10-11 09:02:14
Edit Download
2.48 KB lrw-r--r-- 2022-09-28 22:19:10
Edit Download
70.01 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
15.61 KB lrw-r--r-- 2022-09-26 22:43:10
Edit Download
7.16 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
7.68 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
2.53 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
996 B lrw-r--r-- 2022-09-12 15:47:14
Edit Download
15.35 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
7.24 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
12.12 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
6.53 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
3.42 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
5.85 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
1.96 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
4.24 KB lrw-r--r-- 2021-12-06 21:30:03
Edit Download
2.91 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
16.23 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
38.99 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
16.18 KB lrw-r--r-- 2022-09-19 22:53:10
Edit Download
27.22 KB lrw-r--r-- 2022-09-19 22:53:10
Edit Download
16.66 KB lrw-r--r-- 2022-10-07 19:17:12
Edit Download
6.85 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
5.04 KB lrw-r--r-- 2022-09-26 22:10:16
Edit Download
14.19 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
1.78 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
29.69 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
5.25 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
18.83 KB lrw-r--r-- 2022-10-18 18:16:16
Edit Download
11.89 KB lrw-r--r-- 2022-09-20 14:26:10
Edit Download
17.18 KB lrw-r--r-- 2022-09-26 22:10:16
Edit Download
6.69 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
30.16 KB lrw-r--r-- 2022-11-05 22:01:14
Edit Download
4.94 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
25.18 KB lrw-r--r-- 2022-09-26 22:10:16
Edit Download
6.33 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
145.05 KB lrw-r--r-- 2022-11-10 02:23:11
Edit Download
6.72 KB lrw-r--r-- 2022-10-04 03:59:13
Edit Download
11.13 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
4.20 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
3.38 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
11.16 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
61.60 KB lrw-r--r-- 2022-10-04 23:01:13
Edit Download
2.46 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
8.38 KB lrw-r--r-- 2022-10-24 19:25:13
Edit Download
18.86 KB lrw-r--r-- 2022-09-28 22:19:10
Edit Download
7.28 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
3.32 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
1.76 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
30.22 KB lrw-r--r-- 2022-10-18 18:16:16
Edit Download
7.28 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
10.64 KB lrw-r--r-- 2022-09-28 14:59:10
Edit Download
19.13 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
18.10 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
39.00 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
5.17 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
742 B lrw-r--r-- 2022-09-12 15:47:14
Edit Download
16.43 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
4.75 KB lrw-r--r-- 2022-10-24 18:37:15
Edit Download
1.52 KB lrw-r--r-- 2022-10-11 15:00:12
Edit Download
21.90 KB lrw-r--r-- 2022-11-11 17:58:12
Edit Download
4.22 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
105.00 KB lrw-r--r-- 2022-11-11 17:25:12
Edit Download
53.27 KB lrw-r--r-- 2022-09-20 01:36:09
Edit Download
2.92 KB lrw-r--r-- 2019-01-09 05:04:50
Edit Download
38.89 KB lrw-r--r-- 2022-11-09 02:01:14
Edit Download
2.17 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
22.23 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
12.86 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
3.27 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
17.97 KB lrw-r--r-- 2022-09-12 15:47:14
Edit Download
208.28 KB lrw-r--r-- 2022-10-11 01:46:14
Edit Download
25.39 KB lrw-r--r-- 2022-10-18 16:11:16
Edit Download
107.83 KB lrw-r--r-- 2022-10-31 20:45:10
Edit Download
373 B lrw-r--r-- 2022-09-20 14:17:12
Edit Download
343 B lrw-r--r-- 2022-09-20 14:17:12
Edit Download
338 B lrw-r--r-- 2022-09-20 14:17:12
Edit Download
94.03 KB lrw-r--r-- 2022-10-11 15:45:11
Edit Download
124.33 KB lrw-r--r-- 2022-10-17 11:31:12
Edit Download
14.65 KB lrw-r--r-- 2022-05-08 00:29:14
Edit Download
39.48 KB lrw-r--r-- 2022-10-12 11:53:15
Edit Download
400 B lrw-r--r-- 2022-06-17 11:20:13
Edit Download
10.29 KB lrw-r--r-- 2022-09-20 01:36:09
Edit Download
30.63 KB lrw-r--r-- 2022-10-25 13:45:16
Edit Download
2.17 KB lrw-r--r-- 2021-05-25 08:27:57
Edit Download
131.18 KB lrw-r--r-- 2022-10-17 11:19:11
Edit Download
338 B lrw-r--r-- 2022-06-17 11:20:13
Edit Download
36.58 KB lrw-r--r-- 2022-08-19 22:06:09
Edit Download
4.02 KB lrw-r--r-- 2022-04-29 19:17:11
Edit Download
5.32 KB lrw-r--r-- 2020-02-09 16:55:09
Edit Download
2.98 KB lrw-r--r-- 2021-11-29 09:52:00
Edit Download
2.61 KB lrw-r--r-- 2020-01-29 00:45:18
Edit Download
1.16 KB lrw-r--r-- 2020-01-29 00:45:18
Edit Download
3.97 KB lrw-r--r-- 2020-07-23 19:06:03
Edit Download
3.71 KB lrw-r--r-- 2020-01-29 00:45:18
Edit Download
22.46 KB lrw-r--r-- 2022-06-20 21:46:16
Edit Download
323.54 KB lrw-r--r-- 2022-11-11 15:31:14
Edit Download
253.61 KB lrw-r--r-- 2022-11-10 19:44:13
Edit Download
13.16 KB lrw-r--r-- 2022-10-11 09:02:14
Edit Download
8.37 KB lrw-r--r-- 2022-10-11 09:02:14
Edit Download
163.50 KB lrw-r--r-- 2022-10-11 09:02:14
Edit Download
8.34 KB lrw-r--r-- 2022-10-27 15:58:13
Edit Download
22.60 KB lrw-r--r-- 2022-09-14 13:08:14
Edit Download
6.70 KB lrw-r--r-- 2022-08-11 14:11:08
Edit Download
4.62 KB lrw-r--r-- 2021-02-02 00:10:01
Edit Download
68.10 KB lrw-r--r-- 2022-10-27 13:47:15
Edit Download
58.89 KB lrw-r--r-- 2022-10-24 18:37:15
Edit Download
146.62 KB lrw-r--r-- 2022-09-13 18:05:09
Edit Download
49.78 KB lrw-r--r-- 2022-11-11 02:26:13
Edit Download
162 B lrw-r--r-- 2019-10-08 17:19:04
Edit Download
59.09 KB lrw-r--r-- 2022-10-17 11:26:11
Edit Download
187.05 KB lrw-r--r-- 2022-11-11 02:28:13
Edit Download
61.54 KB lrw-r--r-- 2022-10-13 17:24:15
Edit Download
24.81 KB lrw-r--r-- 2022-10-18 18:16:16
Edit Download
4.78 KB lrw-r--r-- 2022-07-14 13:35:13
Edit Download
6.47 KB lrw-r--r-- 2022-09-20 02:51:09
Edit Download
21.13 KB lrw-r--r-- 2022-09-21 19:48:13
Edit Download
2.59 KB lrw-r--r-- 2021-07-06 20:21:57
Edit Download
88.83 KB lrw-r--r-- 2022-10-18 18:16:16
Edit Download
19.37 KB lrw-r--r-- 2022-05-13 12:21:13
Edit Download
3.71 KB lrw-r--r-- 2022-10-18 18:16:16
Edit Download
4.03 KB lrw-r--r-- 2020-05-16 18:42:12
Edit Download
38.94 KB lrw-r--r-- 2022-08-26 01:03:14
Edit Download
23.35 KB lrw-r--r-- 2022-11-11 02:43:12
Edit Download
41.32 KB lrw-r--r-- 2022-06-15 13:37:10
Edit Download
76.96 KB lrw-r--r-- 2022-10-18 18:16:16
Edit Download
6.12 KB lrw-r--r-- 2020-01-11 18:32:05
Edit Download
106.86 KB lrw-r--r-- 2022-10-17 11:42:11
Edit Download
35.15 KB lrw-r--r-- 2022-08-01 11:15:14
Edit Download
6.91 KB lrw-r--r-- 2020-11-24 21:27:05
Edit Download
64.32 KB lrw-r--r-- 2022-09-21 20:24:12
Edit Download
10.65 KB lrw-r--r-- 2022-03-15 15:22:05
Edit Download
269.08 KB lrw-r--r-- 2022-11-10 02:23:11
Edit Download
36.03 KB lrw-r--r-- 2022-06-21 13:34:13
Edit Download
200 B lrw-r--r-- 2020-11-12 11:17:07
Edit Download
200 B lrw-r--r-- 2020-11-12 11:17:07
Edit Download
93.92 KB lrw-r--r-- 2022-10-14 15:55:11
Edit Download
24.38 KB lrw-r--r-- 2022-09-28 14:47:12
Edit Download
19.04 KB lrw-r--r-- 2022-10-01 03:25:10
Edit Download
5.06 KB lrw-r--r-- 2022-04-06 15:33:03
Edit Download
255 B lrw-r--r-- 2020-11-16 22:52:05
Edit Download
22.44 KB lrw-r--r-- 2022-03-22 16:25:03
Edit Download
133.25 KB lrw-r--r-- 2022-11-10 16:23:14
Edit Download
258 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
20.93 KB lrw-r--r-- 2022-09-26 22:43:10
Edit Download
3.16 KB lrw-r--r-- 2021-05-15 17:38:05
Edit Download
441 B lrw-r--r-- 2020-11-12 11:17:07
Edit Download
6.25 KB lrw-r--r-- 2022-09-14 12:48:16
Edit Download
168.11 KB lrw-r--r-- 2022-10-10 12:30:16
Edit Download
592 B lrw-r--r-- 2021-12-10 20:30:05
Edit Download
2.94 KB lrw-r--r-- 2020-05-26 09:37:10
Edit Download
22.79 KB lrw-r--r-- 2022-09-21 01:09:10
Edit Download
1.12 KB lrw-r--r-- 2022-09-21 11:43:13
Edit Download
5.35 KB lrw-r--r-- 2022-11-11 16:31:14
Edit Download
9.19 KB lrw-r--r-- 2022-09-14 18:44:09
Edit Download
126.58 KB lrw-r--r-- 2022-10-07 20:48:12
Edit Download
33.85 KB lrw-r--r-- 2022-09-22 11:13:14
Edit Download
165.26 KB lrw-r--r-- 2022-10-11 13:45:13
Edit Download
5.73 KB lrw-r--r-- 2022-04-27 13:47:11
Edit Download
929 B lrw-r--r-- 2022-11-15 18:59:12
Edit Download
67.60 KB lrw-r--r-- 2022-10-17 12:41:11
Edit Download
1.02 KB lrw-r--r-- 2013-12-11 19:49:11
Edit Download
445 B lrw-r--r-- 2022-07-21 22:45:11
Edit Download
647 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download

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