PHP 7.4.33
Preview: async-upload.php Size: 4.56 KB
/var/www/thinksupport.bitkit.dk/httpdocs/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: 95
Name Size Perms Modified Actions
css DIR
- drwxrwxr-x 2020-09-01 18:54:16
Edit Download
images DIR
- drwxrwxr-x 2023-09-27 05:25:41
Edit Download
includes DIR
- drwxrwxr-x 2023-09-27 05:25:41
Edit Download
js DIR
- drwxrwxr-x 2023-09-27 05:25:41
Edit Download
maint DIR
- drwxrwxr-x 2020-09-01 18:54:17
Edit Download
network DIR
- drwxrwxr-x 2023-09-27 05:25:41
Edit Download
user DIR
- drwxrwxr-x 2020-09-01 18:54:17
Edit Download
73 B lrwxrwxr-x 2020-11-26 14:56:06
Edit Download
23.77 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
4.83 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.76 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
406 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
8.82 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.00 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
12.26 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
4.56 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
10.02 KB lrw-rw-r-- 2023-09-27 05:25:41
Edit Download
11.25 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
5.51 KB lrw-rw-r-- 2023-09-27 05:25:41
Edit Download
3.85 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
416 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
426 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
10.61 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
14.25 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
28.36 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
10.82 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
8.34 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
6.15 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
10.41 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
21.87 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
19.03 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
7.36 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
280 B lrwxrwxr-x 2023-07-17 02:56:57
Edit Download
7.76 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
10.99 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
4.50 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
7.40 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
7.67 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
6.80 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
17.09 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
742 B lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
4.16 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.63 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.70 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
1.66 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.56 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
3.18 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
3.49 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
763 B lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
9.84 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
16.86 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
307 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
196 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
4.19 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
216 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
223 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
215 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
217 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
219 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
215 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
4.68 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
46.67 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
5.35 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
15.58 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
16.69 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
492 B lrwxrwxr-x 2019-08-16 00:39:55
Edit Download
6.35 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
21.12 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
9.92 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
9.92 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
9.06 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
12.67 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
13.11 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
6.78 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
28.60 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.64 KB lrwxrwxr-x 2020-05-16 18:42:12
Edit Download
9.85 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.33 KB lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
3.61 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.50 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
283 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
5.45 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
17.33 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
5.90 KB lrw-rw-r-- 2023-09-27 05:25:41
Edit Download
3.93 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
10.02 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.20 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
14.90 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
23.23 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
45.64 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
3.43 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
45.27 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
12.43 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
341 B lrwxrwxr-x 2020-02-06 06:33:11
Edit Download
5.54 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
14.64 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
38.81 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
23.68 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
21.95 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
2.48 KB lrw-rw-r-- 2023-09-27 05:25:41
Edit Download
19.05 KB lrw-rw-r-- 2023-09-27 05:25:41
Edit Download
1.09 KB lrwxrwxr-x 2023-09-27 05:25:41
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).