<?php

add_action('admin_menu', 'register_my_custom_submenu_page');

function register_my_custom_submenu_page() {
	add_menu_page( 'Sideload test', 'Sideload test', 'manage_options', 'sideload-test', 'sideload_test' ); 
}

function sideload_test() {
	$urls = array(
		'http://adamharley.co.uk/sideload-test/unencoded space.jpg',
		'http://adamharley.co.uk/sideload-test/unencoded%20space.jpg',
		'http://adamharley.co.uk/sideload-test/encoded%20space.jpg',
		'http://adamharley.co.uk/sideload-test/encoded%2520space.jpg',
		'http://adamharley.co.uk/sideload-test/plus+space.jpg',
		'http://adamharley.co.uk/sideload-test/and&space.jpg',
		'http://adamharley.co.uk/sideload-test/and%26space.jpg',
		'http://adamharley.co.uk/sideload-test/question?mark.jpg',
		'http://adamharley.co.uk/sideload-test/question%3Fmark.jpg',
		'http://adamharley.co.uk/sideload-test/question%3Fmark.jpg?',
		'http://adamharley.co.uk/sideload-test/am&persand.jpg',
		'http://adamharley.co.uk/sideload-test/am%26persand.jpg',
		'http://adamharley.co.uk/sideload-test/per%cent.jpg',
		'http://adamharley.co.uk/sideload-test/per%25cent.jpg',
	);

	echo '<div class="wrap">';

	foreach ( $urls as $url ) {
		echo '<p><strong>' . basename($url) . ':</strong> ';
	
		$r = media_sideload_image( $url, 0 );

		if ( is_wp_error( $r ) ) {
			echo 'Encountered an error: ' . $r->get_error_message();
		} else {
			echo 'Downloaded successfully';
		}

		echo '</p>';
	}

	echo '<p>&nbsp;</p><p><a href="' . admin_url('upload.php') . '" target="_blank">See results</a></p></div>';
}