PHP 8.0.30
Preview: async-upload.php Size: 4.56 KB
/home/certprox/public_html/wpinst/wordpress/wp-admin/async-upload.php

<?php
/**
 * Server-side file upload handler from wp-plupload or other asynchronous upload methods.
 *
 * @package WordPress
 * @subpackage Administration
 */

if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) {
	define( 'DOING_AJAX', true );
}

if ( ! defined( 'WP_ADMIN' ) ) {
	define( 'WP_ADMIN', true );
}

if ( defined( 'ABSPATH' ) ) {
	require_once ABSPATH . 'wp-load.php';
} else {
	require_once dirname( __DIR__ ) . '/wp-load.php';
}

require_once ABSPATH . 'wp-admin/admin.php';

header( 'Content-Type: text/plain; charset=' . get_option( 'blog_charset' ) );

if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) {
	require ABSPATH . 'wp-admin/includes/ajax-actions.php';

	send_nosniff_header();
	nocache_headers();

	wp_ajax_upload_attachment();
	die( '0' );
}

if ( ! current_user_can( 'upload_files' ) ) {
	wp_die( __( 'Sorry, you are not allowed to upload files.' ) );
}

// Just fetch the detail form for that attachment.
if ( isset( $_REQUEST['attachment_id'] ) && (int) $_REQUEST['attachment_id'] && $_REQUEST['fetch'] ) {
	$id   = (int) $_REQUEST['attachment_id'];
	$post = get_post( $id );
	if ( 'attachment' !== $post->post_type ) {
		wp_die( __( 'Invalid post type.' ) );
	}

	switch ( $_REQUEST['fetch'] ) {
		case 3:
			?>
			<div class="media-item-wrapper">
				<div class="attachment-details">
					<?php
					$thumb_url = wp_get_attachment_image_src( $id, 'thumbnail', true );
					if ( $thumb_url ) {
						echo '<img class="pinkynail" src="' . esc_url( $thumb_url[0] ) . '" alt="" />';
					}

					// Title shouldn't ever be empty, but use filename just in case.
					$file     = get_attached_file( $post->ID );
					$file_url = wp_get_attachment_url( $post->ID );
					$title    = $post->post_title ? $post->post_title : wp_basename( $file );
					?>
					<div class="filename new">
						<span class="media-list-title"><strong><?php echo esc_html( wp_html_excerpt( $title, 60, '&hellip;' ) ); ?></strong></span>
						<span class="media-list-subtitle"><?php echo wp_basename( $file ); ?></span>
					</div>
				</div>
				<div class="attachment-tools">
					<span class="media-item-copy-container copy-to-clipboard-container edit-attachment">
						<button type="button" class="button button-small copy-attachment-url" data-clipboard-text="<?php echo $file_url; ?>"><?php _e( 'Copy URL to clipboard' ); ?></button>
						<span class="success hidden" aria-hidden="true"><?php _e( 'Copied!' ); ?></span>
					</span>
					<?php
					if ( current_user_can( 'edit_post', $id ) ) {
						echo '<a class="edit-attachment" href="' . esc_url( get_edit_post_link( $id ) ) . '">' . _x( 'Edit', 'media item' ) . '</a>';
					} else {
						echo '<span class="edit-attachment">' . _x( 'Success', 'media item' ) . '</span>';
					}
					?>
				</div>
			</div>
			<?php
			break;
		case 2:
			add_filter( 'attachment_fields_to_edit', 'media_single_attachment_fields_to_edit', 10, 2 );
			echo get_media_item(
				$id,
				array(
					'send'   => false,
					'delete' => true,
				)
			);
			break;
		default:
			add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 );
			echo get_media_item( $id );
			break;
	}
	exit;
}

check_admin_referer( 'media-form' );

$post_id = 0;
if ( isset( $_REQUEST['post_id'] ) ) {
	$post_id = absint( $_REQUEST['post_id'] );
	if ( ! get_post( $post_id ) || ! current_user_can( 'edit_post', $post_id ) ) {
		$post_id = 0;
	}
}

$id = media_handle_upload( 'async-upload', $post_id );
if ( is_wp_error( $id ) ) {
	printf(
		'<div class="error-div error">%s <strong>%s</strong><br />%s</div>',
		sprintf(
			'<button type="button" class="dismiss button-link" onclick="jQuery(this).parents(\'div.media-item\').slideUp(200, function(){jQuery(this).remove();});">%s</button>',
			__( 'Dismiss' )
		),
		sprintf(
			/* translators: %s: Name of the file that failed to upload. */
			__( '&#8220;%s&#8221; has failed to upload.' ),
			esc_html( $_FILES['async-upload']['name'] )
		),
		esc_html( $id->get_error_message() )
	);
	exit;
}

if ( $_REQUEST['short'] ) {
	// Short form response - attachment ID only.
	echo $id;
} else {
	// Long form response - big chunk of HTML.
	$type = $_REQUEST['type'];

	/**
	 * Filters the returned ID of an uploaded attachment.
	 *
	 * The dynamic portion of the hook name, `$type`, refers to the attachment type.
	 *
	 * Possible hook names include:
	 *
	 *  - `async_upload_audio`
	 *  - `async_upload_file`
	 *  - `async_upload_image`
	 *  - `async_upload_video`
	 *
	 * @since 2.5.0
	 *
	 * @param int $id Uploaded attachment ID.
	 */
	echo apply_filters( "async_upload_{$type}", $id );
}

Directory Contents

Dirs: 7 × Files: 92

Name Size Perms Modified Actions
css 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
includes 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
maint DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
network DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
user DIR
- drwxr-xr-x 2022-11-15 19:03:29
Edit Download
33.71 KB lrw-r--r-- 2022-11-15 18:50:12
Edit Download
4.83 KB lrw-r--r-- 2022-05-07 16:21:18
Edit Download
2.76 KB lrw-r--r-- 2021-06-01 11:30:57
Edit Download
406 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
8.80 KB lrw-r--r-- 2022-04-04 18:39:01
Edit Download
2.00 KB lrw-r--r-- 2022-03-02 15:00:11
Edit Download
12.26 KB lrw-r--r-- 2022-04-04 18:43:02
Edit Download
4.56 KB lrw-r--r-- 2022-01-27 22:17:00
Edit Download
10.02 KB lrw-r--r-- 2022-08-04 14:52:11
Edit Download
11.23 KB lrw-r--r-- 2022-03-22 16:25:03
Edit Download
3.70 KB lrw-r--r-- 2022-10-18 15:10:12
Edit Download
416 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
426 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
10.46 KB lrw-r--r-- 2022-03-29 19:10:14
Edit Download
13.88 KB lrw-r--r-- 2022-09-02 06:51:13
Edit Download
28.28 KB lrw-r--r-- 2022-04-11 11:42:04
Edit Download
10.85 KB lrw-r--r-- 2022-09-06 16:18:11
Edit Download
8.10 KB lrw-r--r-- 2022-05-29 15:35:11
Edit Download
6.14 KB lrw-r--r-- 2022-03-22 16:25:03
Edit Download
10.41 KB lrw-r--r-- 2022-09-20 02:51:09
Edit Download
21.84 KB lrw-r--r-- 2022-09-20 02:51:09
Edit Download
18.97 KB lrw-r--r-- 2022-05-29 15:35:11
Edit Download
7.27 KB lrw-r--r-- 2022-04-14 14:46:07
Edit Download
7.67 KB lrw-r--r-- 2022-04-14 14:46:07
Edit Download
10.74 KB lrw-r--r-- 2022-04-11 11:42:04
Edit Download
4.43 KB lrw-r--r-- 2022-10-25 19:48:14
Edit Download
7.38 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
7.63 KB lrw-r--r-- 2021-11-03 03:16:57
Edit Download
5.93 KB lrw-r--r-- 2022-04-20 11:19:12
Edit Download
16.65 KB lrw-r--r-- 2022-09-27 10:37:13
Edit Download
742 B lrw-r--r-- 2021-07-22 13:53:00
Edit Download
4.15 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
2.59 KB lrw-r--r-- 2020-07-05 15:22:01
Edit Download
2.70 KB lrw-r--r-- 2021-07-27 19:01:59
Edit Download
1.66 KB lrw-r--r-- 2021-12-12 14:52:02
Edit Download
2.47 KB lrw-r--r-- 2021-12-12 14:52:02
Edit Download
3.17 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
3.49 KB lrw-r--r-- 2021-03-07 12:32:09
Edit Download
5.48 KB lrw-r--r-- 2022-03-22 16:25:03
Edit Download
9.82 KB lrw-r--r-- 2022-04-07 12:54:03
Edit Download
16.91 KB lrw-r--r-- 2022-09-15 12:20:09
Edit Download
307 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
196 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
4.18 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
216 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
223 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
215 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
217 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
219 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
215 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
4.56 KB lrw-r--r-- 2022-09-20 08:19:10
Edit Download
45.80 KB lrw-r--r-- 2022-09-26 21:44:09
Edit Download
5.32 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
15.10 KB lrw-r--r-- 2022-03-28 10:56:04
Edit Download
14.97 KB lrw-r--r-- 2022-09-20 01:39:10
Edit Download
492 B lrw-r--r-- 2019-08-16 00:39:55
Edit Download
6.18 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
20.80 KB lrw-r--r-- 2022-09-09 08:16:18
Edit Download
9.86 KB lrw-r--r-- 2022-04-12 13:43:16
Edit Download
9.67 KB lrw-r--r-- 2022-09-02 06:58:09
Edit Download
8.49 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
12.67 KB lrw-r--r-- 2022-09-09 08:16:18
Edit Download
13.11 KB lrw-r--r-- 2022-07-22 11:33:10
Edit Download
6.76 KB lrw-r--r-- 2022-03-22 16:25:03
Edit Download
28.59 KB lrw-r--r-- 2022-08-30 15:18:17
Edit Download
2.64 KB lrw-r--r-- 2020-05-16 18:42:12
Edit Download
9.86 KB lrw-r--r-- 2022-03-22 16:25:03
Edit Download
2.33 KB lrw-r--r-- 2020-02-06 06:33:11
Edit Download
3.54 KB lrw-r--r-- 2022-04-11 11:42:04
Edit Download
2.42 KB lrw-r--r-- 2022-10-25 19:48:14
Edit Download
283 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
5.43 KB lrw-r--r-- 2022-01-07 16:47:00
Edit Download
16.73 KB lrw-r--r-- 2022-09-19 23:55:09
Edit Download
5.39 KB lrw-r--r-- 2022-11-11 16:31:14
Edit Download
3.93 KB lrw-r--r-- 2021-11-01 22:36:59
Edit Download
9.95 KB lrw-r--r-- 2022-08-28 19:17:11
Edit Download
2.20 KB lrw-r--r-- 2022-06-01 18:14:10
Edit Download
14.87 KB lrw-r--r-- 2022-07-22 11:33:10
Edit Download
22.89 KB lrw-r--r-- 2022-09-20 21:14:09
Edit Download
45.41 KB lrw-r--r-- 2022-07-06 19:46:10
Edit Download
3.41 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
43.77 KB lrw-r--r-- 2022-08-05 06:12:10
Edit Download
12.43 KB lrw-r--r-- 2021-07-22 13:53:00
Edit Download
341 B lrw-r--r-- 2020-02-06 06:33:11
Edit Download
5.54 KB lrw-r--r-- 2022-06-01 18:14:10
Edit Download
14.14 KB lrw-r--r-- 2022-06-29 13:39:14
Edit Download
37.81 KB lrw-r--r-- 2022-07-21 19:32:12
Edit Download
23.63 KB lrw-r--r-- 2022-04-08 17:40:07
Edit Download
21.19 KB lrw-r--r-- 2022-07-05 00:25:13
Edit Download
2.48 KB lrw-r--r-- 2022-04-07 13:40:04
Edit Download
18.94 KB lrw-r--r-- 2021-09-09 21:40:57
Edit Download
1.09 KB lrw-r--r-- 2022-03-22 19:59:04
Edit Download

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