<html><head>
<?php
require( dirname(__FILE__) . '/../../../wp-config.php' );
if (!(is_user_logged_in() && current_user_can('edit_posts')))
	die("Athentication failed!");


$imagesExts = array('gif','jpg','png');
$audiosExts = array('wav','mp3');

$acceptedExtsString = "";

function DownloadFile(){
	global $acceptedExtsString, $imagesExts, $audiosExts;

	$url = $_POST['upload_url'];

	// Prepare accpeted extensions
	$acceptedExts = array();

	if ('1' == $_POST['type'])
		$acceptedExts = $imagesExts;
	elseif ('2' == $_POST['type']) 	
		$acceptedExts = $audiosExts;


	//Retrieve file
	if ($fp_source = @fopen($url, 'rb')) {
		//Get target filename
		$exploded_url = explode( '.', $url );

		$ext = array_pop( $exploded_url );

		// Check extension
		if (false != $acceptedExts)
			if (false === array_search(strtolower($ext), $acceptedExts)){
				foreach($acceptedExts as $acceptedExt)
					if ($acceptedExtsString == "")
						$acceptedExtsString = $acceptedExt;
					else
						$acceptedExtsString = $acceptedExtsString." - ".$acceptedExt;
				return false;
			}
		

		$filename = time() . '_' . str_replace( 'rc_cwp_meta_', '', $_POST["input_name"]) . '.' . $ext;
		
		$directory = dirname(__FILE__) . '/files/';

		$fp_dest = @fopen($directory . $filename,"wb");
		if ($fp_dest == false) return false;

		while(!feof($fp_source)) {
			set_time_limit(30);

			//if (connection_status()!=0) return false;

			$readData = fread($fp_source, 1024*2);
			//if ($readData == false) return false;
			
			fwrite($fp_dest,$readData);
			
		}
		fclose($fp_source) ;
		fclose($fp_dest) ;
		//chmod($directory . $filename, 0644);

		return $filename;
	}
	return false;

}


if (isset($_POST['fileframe'])) 
{
	$operationSuccess = "false";
	// A file is uploaded
	if (isset($_FILES['file']) && (!empty($_FILES['file']['tmp_name'])))  // file was send from browser
	{
		
		if ($_FILES['file']['error'] == UPLOAD_ERR_OK)  // no error
		{
			$filename = time() . $_FILES['file']['name'];
			@move_uploaded_file( $_FILES['file']['tmp_name'], dirname(__FILE__) . '/files/' . $filename );
			@chmod(dirname(__FILE__) . '/files/' . $filename, 0644);

			$result_msg = '<p>The file '.$_FILES['file']['name'].' was uploaded successfuly. Please remember to click the submit button to save the post</p>';
			$operationSuccess = "true";
		}
		elseif ($_FILES['file']['error'] == UPLOAD_ERR_INI_SIZE)
			$result_msg = '<p>The uploaded file exceeds the maximum upload limit</p>';
		else 
			$result_msg = '<p>The upload failed</p>';
	
	}
	elseif (isset($_POST['upload_url']) && (!empty($_POST['upload_url'])))  // file was send from browser
	{
		if ( (substr($_POST['upload_url'],0,4) != "http") && (substr($_POST['upload_url'],0,3) != "ftp"))
			$_POST['upload_url'] = "http://".$_POST['upload_url'];

		$filename = DownloadFile();
		

		if (false == $filename) {
			if ($acceptedExtsString != "") $infoStr = ". Make sure the file ends with: $acceptedExtsString";
			$result_msg = "Error downloading file: ".$_POST['upload_url'].$infoStr;
		}
		else{
			$result_msg = '<p>The URL '.$_POST['upload_url'].' was downloaded successfuly. Please remember to click the submit button to save the post</p>';
			$operationSuccess = "true";
		}
		
	}	

	// If operation is success, make sure the file was created properly
	if ($operationSuccess == "true"){
		if ($fp_check_file = @fopen(dirname(__FILE__) . '/files/' . $filename, 'rb')) {
			fclose($fp_check_file);
		}
		else{
			$operationSuccess = "false";
			$result_msg = "Failed to upload the file!";
		}
		
	}
	

?>

	<script language="javascript">

    		var par = window.parent.document;
		var iframe = par.getElementById('upload_internal_iframe_<?=$_POST["input_name"]?>');
		par.getElementById('upload_progress_<?=$_POST["input_name"]?>').innerHTML = '<?=$result_msg?>';

		if (<?=$operationSuccess?>){
			
			iframe.style.visibility = "visible";
			iframe.style.height = "75px";
			
			par.getElementById('<?=$_POST["input_name"]?>').value = '<?=$filename?>';
			par.getElementById('<?=$_POST["input_name"]?>').onchange();
		}
		else{
			iframe.style.visibility = "visible";
			iframe.style.height = "75px";
		}
		
	</script>


<?php
	//exit();
}
?>

<script language="javascript">
function upload(){
	// hide old iframe
    	var par = window.parent.document;

	var iframe = par.getElementById('upload_internal_iframe_<?=$_GET["input_name"]?>');
	iframe.style.height = '0px';
		
	// update progress
	par.getElementById('upload_progress_<?=$_GET["input_name"]?>').style.visibility = "visible";
	par.getElementById('upload_progress_<?=$_GET["input_name"]?>').style.height = "auto";
	par.getElementById('upload_progress_<?=$_GET["input_name"]?>').innerHTML = "Transferring ";

	setTimeout("transferring(0)",1000) ;
	
	// send
	document.iform.submit();
	//iframe.style.visibility = 'hidden';
	//par.getElementById('upload_progress').style.visibility = "hidden";
}

function transferring(dots){
	
	newString = "Transferring ";
	for (var x=1; x<=dots; x++) {
        	newString = newString + ".";
    	} 
	
	var par = window.parent.document;

	// update progress
	if (par.getElementById('upload_progress_<?=$_GET["input_name"]?>').innerHTML.substring(0,5) != "Trans") return;
	par.getElementById('upload_progress_<?=$_GET["input_name"]?>').innerHTML = newString;
	if (dots == 4) dots = 0; else dots = dots + 1;
	setTimeout("transferring("+dots+")",1000) ;
	
}

</script>
<style>
body {vertical-align:top;}
</style>
<link type="text/css" href="http://localhost/wp/wp-admin/wp-admin.css?version=2.3.3" rel="stylesheet">
</head>
<body>
<form name="iform" action="" method="post" enctype="multipart/form-data">
<input id="file" type="file" name="file"  />
<input type="hidden" name="fileframe" value="true" /></br>
<input id="upload_url"
			name="upload_url"
			type="text"
			size="40"
			/> :or URL 
<input type="button" onclick="upload()" value="Upload" />
<input type="hidden" name="fileframe" value="true" />
<input type="hidden" name="imgnum" />
<input type="hidden" name="input_name" value="<?=$_GET["input_name"]?>" />
<input type="hidden" name="type" value="<?=$_GET["type"]?>" />
</form></body>
</html>