mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Create save_post_image function.
This commit is contained in:
		@@ -154,21 +154,13 @@ class postsController {
 | 
			
		||||
			if(!check_post_file("image"))
 | 
			
		||||
				Rest_fatal_error(400, "An error occured while receiving image !");
 | 
			
		||||
 | 
			
		||||
			//Generate target file name
 | 
			
		||||
			$target_userdata_folder = prepareFileCreation(userID, "imgpost");
 | 
			
		||||
			$target_file_path = $target_userdata_folder.generateNewFileName(path_user_data($target_userdata_folder, true), "png");
 | 
			
		||||
			$target_file_sys_path = path_user_data($target_file_path, true);
 | 
			
		||||
 | 
			
		||||
			//Try to resize, convert image and put it in its new location
 | 
			
		||||
			if(!reduce_image($_FILES['image']["tmp_name"], $target_file_sys_path, 2000, 2000, "image/png")){
 | 
			
		||||
				//Returns error
 | 
			
		||||
				Rest_fatal_error(500, "Couldn't resize sent image !");
 | 
			
		||||
			}
 | 
			
		||||
			//Save post image
 | 
			
		||||
			$file_path = save_post_image("image", userID, "imgpost", 2000, 2000);
 | 
			
		||||
 | 
			
		||||
			//Save image information
 | 
			
		||||
			$file_type = "image/png";
 | 
			
		||||
			$file_size = filesize($target_file_sys_path);
 | 
			
		||||
			$file_path = $target_file_path;
 | 
			
		||||
			$file_sys_path = path_user_data($file_path, true);
 | 
			
		||||
			$file_type = mime_content_type($file_sys_path);
 | 
			
		||||
			$file_size = filesize($file_sys_path);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//For YouTube posts
 | 
			
		||||
 
 | 
			
		||||
@@ -417,4 +417,31 @@ function getPostContent($name){
 | 
			
		||||
	//Return new content
 | 
			
		||||
	return $content;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Save an image in user data directory from a POST request
 | 
			
		||||
 * 
 | 
			
		||||
 * @param string $fieldName The name of the POST field
 | 
			
		||||
 * @param int $userID The ID of the user making the request
 | 
			
		||||
 * @param string $folder The target folder in the user data directory
 | 
			
		||||
 * @param int $maxw The maximum width of the image
 | 
			
		||||
 * @param int $maxh The maximum height of the image
 | 
			
		||||
 * @return string The path of the image (quit the script in case of failure)
 | 
			
		||||
 */
 | 
			
		||||
function save_post_image(string $fieldName, int $userID, string $folder, int $maxw, int $maxh) : string {
 | 
			
		||||
 | 
			
		||||
	$target_userdata_folder = prepareFileCreation($userID, $folder);
 | 
			
		||||
	$target_file_path = $target_userdata_folder.generateNewFileName(path_user_data($target_userdata_folder, true), "png");
 | 
			
		||||
	$target_file_sys_path = path_user_data($target_file_path, true);
 | 
			
		||||
 | 
			
		||||
	//Try to resize, convert image and put it in its new location
 | 
			
		||||
	if(!reduce_image($_FILES[$fieldName]["tmp_name"], $target_file_sys_path, $maxw, $maxh, "image/png")){
 | 
			
		||||
		//Returns error
 | 
			
		||||
		Rest_fatal_error(500, "Couldn't resize sent image !");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	//Return image path
 | 
			
		||||
	return $target_file_path;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user