All pastes #489689 Raw Edit

Stuff

public text v1 · immutable
#489689 ·published 2007-05-15 17:39 UTC
rendered paste body
<?php
{
	function upload($user_name, $user_rank, $imgupload)
	{
		$get_settings = mysql_query("SELECT * FROM imgup_config");
		$settings = mysql_fetch_array($get_settings);
		$exitp = new functions();
		
		unset($used_space);
		echo "You have used up: <b>";
		
		$opn_dir = opendir($user_name);
		$used_space = 0;
		
		while($read_dir = readdir($opn_dir))
		{
			// Add up all the files so we can see how much they have used, and how much they have left =) 
			if(($read_dir != "..") && ($read_dir != "."))
			{
				$filesize = filesize($user_name . "/" . $read_dir);
				$used_space = $used_space + $filesize;
			}
		}
		
		// convert the result to megabytes or kilobytes
		$count_size = new functions();
		$count_size->size_check($used_space);
		$split_dirall = explode(':', $settings['directory_limit']);
		
		echo "</b> of the allocated: <b>" . $split_dirall[0] . $split_dirall[1] . "</b>.<br /><br />";
		
		unset($used_space);
		unset($opn_dir);
		unset($read_dir);
		unset($filesize);
		
		if(isset ($_POST['upload_image']))
		{
			if(!empty ($imgupload))
			{
				$error_occured = False;
				switch($imgupload['error'])
				{
					case 1:
						$error_occured = True;
						echo "Bildet du prøvde å laste opp overskrider grensen for max størrelse.<br />";
					break;
					case 2:
						$error_occured = True;
						echo "Bildet du prøvde å laste opp overskrider grensen for max størrese.<br />";
					break;
				}
				
				if(($settings['useext'] == "no") OR ($settings['useext'] == Null))
				{
					$seperate_img = explode(',', $settings['allowed_img']);
					$count_img = count($seperate_img);
					
					$get_type = exif_imagetype($imgupload['tmp_name']);
					$allowed_image = Null;
					
					for($i_img = 0;$i_img<$count_img;$i_img++)
					{
						$img_array = explode(':', $seperate_img[$i_img]);
						
						if(($img_array[0] == "IMAGETYPE_GIF") && ($img_array[1] == "allow")) 
						{
							$allowed_image = IMAGETYPE_GIF;
						} elseif(($img_array[0] == "IMAGETYPE_JPEG") && ($img_array[1] == "allow"))
						{
							$allowed_image = IMAGETYPE_JPEG;
						} elseif(($img_array[0] == "IMAGETYPE_PNG") && ($img_array[1] == "allow"))
						{
							$allowed_image = IMAGETYPE_PNG;
						} elseif(($img_array[0] == "IMAGETYPE_PSD") && ($img_array[1] == "allow"))
						{
							$allowed_image = IMAGETYPE_PSD;
						} elseif(($img_array[0] == "IMAGETYPE_BMP") && ($img_array[1] == "allow"))
						{
							$allowed_image = IMAGETYPE_BMP;
						} elseif(($img_array[0] == "IMAGETYPE_SWF") && ($img_array[1] == "allow"))
						{
							$allowed_image = IMAGETYPE_SWF;
						}
						
						if($get_type == $allowed_image)
						{
							// w00t, it's teh valid, so set the valid variable to true and exit the loop
							$valid_image = True;
							$i_img = $i_img + 1000;
						} elseif($get_type != $allowed_image)
						{
							// keep the variable false and continue teh loop
							$valid_image = False;
						} elseif($get_type == Null)
						{
							$valid_image = False;
						}
					}
					
					if($allowed_image == Null)
					{
						// Holy crap! The admin is using exif_imagetype, but didn't check any valid images...well, now we have to break the news to the user =(
						echo "Administratoren har ikke satt noen filtyper som lov.<br />";
						$exitp->exitp($user_rank);
					}
				} elseif($settings['useext'] == "yes")
				{
					$valid_image = False;
					
					$exten_array = explode(',', $settings['allowed_ext']);
					$count_exten = count($exten_array);
					$file_exten = explode('.', $_FILES['imgupload']['name']);
					
					for($i = 0;$i<$count_exten;$i++)
					{
						if($file_exten[1] == $exten_array[$i])
						{
							$valid_image = True;
							$i = $count_exten + 1000;
						} else {
							$valid_image = False;
						}
					}
				}
				
				if($error_occured == True)
				{
				
				}elseif($valid_image == True)
				{	
					if(is_dir($user_name))
					{
						// alrighty...we've gotten this far...now we check if they have enough space left...
						$open_dir = opendir($user_name);
						$used_space = 0;
						while($read_dir = readdir($open_dir))
						{
							// Add up all the files so we can see how much they have used, and how much they have left =) 
							$filesize = filesize($user_name . "/" . $read_dir);
							$used_space = $used_space + $filesize;
						}
						
						$split_dirsize = explode(':', $settings['directory_limit']);
						if($split_dirsize[1] == "MB")
						{
							$in_mb = $split_dirsize[0];
							$dirsize_set = new functions();
							$dirsize = $dirsize_set->mb_bytes($in_mb);
						} elseif ($split_dirsize[1] == "KB")
						{
							$in_kb = $split_dirsize[0];
							$dirsize_set = new functions();
							$dirsize = $dirsize_set->kb_bytes($in_kb);
						}
						
						if($used_space >= $dirsize)
						{
							echo "Du har brukt opp all diskplassen.";
						} elseif($used_space < $dirsize)
						{
							if(file_exists($user_name . "/" . $imgupload['name']))
							{
								if($_POST['overwrite_file'] == True)
								{
									// Kill the old, and move in teh new
									unlink($user_name . "/" . $imgupload['name']);
									if(move_uploaded_file ($imgupload['tmp_name'], $user_name . "/" . $imgupload['name']))
									{
										chmod($user_name . "/" . $imgupload['name'], 0644);
										echo "Bildet ditt ble lastet opp!";
										echo "Klikk". "<a href=\"" . $user_name . "/" . $imgupload['name'] . " target=\"_blank\">her</a>" . "for å se bildet ditt.";
									}
								} else {                                    
									    echo "Bildet du ville laste opp eksisterer allerede! <br /> Vennligst velg ~overskriv~ bildet eller skift navn.";
								}
							} else {
								if(move_uploaded_file ($imgupload['tmp_name'], $user_name . "/" . $imgupload['name']))
								{
									chmod($user_name . "/" . $imgupload['name'], 0644);
									echo "Klikk <a href=\"".$user_name."/".$imgupload['name']."\" target=\"_blank\">her</a> for å se bildet ditt.";
								{
							{
						}
					
						echo "Området ditt eksisterer ikke. Vennligst kontakt en admin.<br />";
					}
				} else {
					echo "Bildet du prøver å laste opp er feilaktig, eller er av en filtype som ikke er tillatt.<br />";
				}
			
				echo "Du må velge en bildefil.<br />";
			}
		}
		
		// Unleash the MB/KB crapxx0rz!!!
		$split_maxup = explode(':', $settings['max_upload']);
		
		if($split_maxup[1] == "MB")
		{
			$in_mb = $split_maxup[0];
			$uploadmax_set = new functions();
			$uploadmax = $uploadmax_set->mb_bytes($in_mb);
		} elseif ($split_maxup[1] == "KB")
		{
			$in_kb = $split_maxup[0];
			$uploadmax_set = new functions();
			$uploadmax = $uploadmax_set->kb_bytes($in_kb);
		}
		
		echo '<p><form action="' . $_SERVER['PHP_SELF'] . '?action=upload" enctype="multipart/form-data" method="post">
		          <input type="hidden" name="MAX_FILE_SIZE" value="' . $uploadmax . '" />
		          "Overwrite existing image? Yes"; <input type="checkbox" name="overwrite_file" value="true" /><br />;
				  <input type="file" name="imgupload" /><br />
				  <input type="submit" name="upload_image" value="Upload Image" /><br />
				  </form></p>';
	}
	
	function rename($user_name, $user_rank)
	{
		if(rename($user_name . "/" . $_GET['rename'], $user_name . "/" . $_GET['imgname']))
		{
			echo "" . $_GET['rename'] . ", har skiftet navn til, " . $_GET['imgname'] . "<br />";
			echo 'Klikkk <a href="' . $_SERVER['PHP_SELF'] . '?action=imgdir">her</a> for å gå tilbake.';
		} else {
			echo "Kunne ikke endre bildenavnet på grunn av en ukjent feil..";
			echo 'Klikk <a href="' . $_SERVER['PHP_SELF'] . '?action=imgdir">her</a> for å gå tilbake.';
		}
	}
	
	function delete($user_name, $user_rank)
	{
		if(unlink($user_name . "/" . $_GET['delete']))
		{
			echo $_GET['delete'] . " har blitt slettet.<br />";
			echo 'Klikk <a href=\"' . $_SERVER['PHP_SELF'] . '?action=imgdir">her</a> for å gå tilbake.';
		} else {
			echo "Kunne ikke slette bildet på grunn av ukjent feil.";
			echo 'Klikk <a href=\"' . $_SERVER['PHP_SELF'] . '?action=imgdir">her</a> for å gå tilbake.';
		}
	}
	
	function display($user_name, $user_rank)
	{
		$get_settings = mysql_query("SELECT * FROM imgup_config");
		$settings = mysql_fetch_array($get_settings);
		
		unset($used_space);
		echo "Du har brukt opp: <b>";
		
		$opn_dir = opendir($user_name);
		$used_space = 0;
		
		while($read_dir = readdir($opn_dir))
		{
			// Add up all the files so we can see how much they have used, and how much they have left =) 
			if(($read_dir != "..") && ($read_dir != "."))
			{
				$filesize = filesize($user_name . "/" . $read_dir);
				$used_space = $used_space + $filesize;
			}
		}
		
		// convert the result to megabytes or kilobytes
		$count_size = new functions();
		$count_size->size_check($used_space);
		$split_dirall = explode(':', $settings['directory_limit']);
		
		echo "</b> av allocated: <b>" . $split_dirall[0] . $split_dirall[1] . "</b>.<br /><br />";
		
		unset($used_space);
		unset($opn_dir);
		unset($read_dir);
		unset($filesize);
		
		$open_dir = opendir($user_name);
		while($file_name = readdir($open_dir))
		{
			if(($file_name != ".") && ($file_name != ".."))
			{
				$rem_array = array("-", ".");
				$js_functions = str_replace($rem_array, "", $file_name);
				$split_img_ext = explode('.', $file_name);
				
				echo '<script>
				function ren' . $js_functions . '() 
				{
					var rename_prompt = prompt("Velg nytt bilde i tekstområdet nedenfor. Ikke skriv filtype(*.jpg, *.gif, etc), filtypen vil bli lagt til under prosessen.", "' . $split_img_ext[0] . '")
					if(rename_prompt == null)
					{
					
					} else if(rename_prompt == "")
					{
						alert("Du må skrive et navn for bildet.")
					} else if(rename_prompt != "")
					{
						var rename = rename_prompt + "." + "' . $split_img_ext[1] . '"
						var url = "' . $_SERVER['PHP_SELF'] . '?action=rename&rename=' . $file_name . '&imgname=" + rename
						window.location = url
					}
				}
				
				function del' . $js_functions. '()
				{
					var delimgfinal = confirm("Er du sikker på at du vil slette bildet, ' . $file_name . '?")
					if(delimgfinal == true)
					{
						window.location = "' . $_SERVER['PHP_SELF'] . '?action=delete&delete=' . $file_name . '"
					} else {
					
					}
				}
		        </script>';
				$filesize = filesize($user_name . "/" . $file_name);
				$kb_mb = new functions();
				
				echo '<p><a href="' . $user_name . '/' . $file_name . '" target="_blank">' . $file_name . '</a><br />';
				$kb_mb->size_check($filesize);
				echo '(bytes: ' . $filesize . ')<br />
					  <input type="button" value="Endre bilde" onclick="ren' . $js_functions . '()" /> <input type="button" value="Delete image" onclick="del' . $js_functions . '()"/>
        		</p>';
			} else {
				// Do absolutely nothing...
			}
		}
	}
}
?>