Merge pull request #145 from ThomasRubini/recipe_img
This commit is contained in:
		
						commit
						916cb5fcb5
					
				| @ -72,6 +72,11 @@ final class RecipeController | ||||
|             $i++; | ||||
|         } | ||||
|         $O_recipe->S_RECIPE = substr($S_recipe, 2); | ||||
| 
 | ||||
|         $fp = Utils::tryProcessImg("recipeImage"); | ||||
|         if($fp !== null) { | ||||
|             $O_recipe->updateImg($fp); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public function createAction(Array $A_urlParams = null, Array $A_postParams = null) | ||||
|  | ||||
| @ -130,20 +130,11 @@ final class UserController | ||||
| 
 | ||||
|         $O_user = UserModel::getByID($_SESSION["ID"]); | ||||
| 
 | ||||
|         if (isset($_FILES["profilPicture"]) && !empty($_FILES["profilPicture"]["name"])) { | ||||
|             if ($_FILES['profilPicture']['error'] === UPLOAD_ERR_OK) { | ||||
|                 $info = getimagesize($_FILES['profilPicture']['tmp_name']); | ||||
|                 if ($info !== false && ($info[2] === IMAGETYPE_JPEG || $info[2] === IMAGETYPE_PNG)) { | ||||
|                     $fp = fopen($_FILES['profilPicture']['tmp_name'], 'rb'); | ||||
|                     $O_user->updateProfilePic($fp); | ||||
|                 } else { | ||||
|                     throw new HTTPSpecialCaseException(400, "Profile picture submitted is not jpeg/png"); | ||||
|                 } | ||||
|             } else { | ||||
|                 throw new HTTPSpecialCaseException(400, "Profile picture upload error"); | ||||
|             } | ||||
|              | ||||
|         $fp = Utils::tryProcessImg("profilPicture"); | ||||
|         if($fp !== null) { | ||||
|             $O_user->updateProfilePic($fp); | ||||
|         } | ||||
| 
 | ||||
|         if (isset($_POST["email"]) && !empty($S_email)) { | ||||
|             $S_email = $_POST["email"]; | ||||
|             if (filter_var($S_email, FILTER_VALIDATE_EMAIL)) { | ||||
|  | ||||
| @ -17,5 +17,24 @@ final class Utils | ||||
|         if (is_numeric($data)) return (int) $data; | ||||
|         else throw new HTTPSpecialCaseException(400, "Not an int"); | ||||
|     } | ||||
| 
 | ||||
|      | ||||
|     public static function tryProcessImg($filename) { | ||||
|         if (isset($_FILES[$filename])) { | ||||
|             $file = $_FILES[$filename]; | ||||
|             if(!empty($file["name"])) { | ||||
|                 if ($file['error'] === UPLOAD_ERR_OK) { | ||||
|                     $info = getimagesize($file['tmp_name']); | ||||
|                     if ($info !== false && ($info[2] === IMAGETYPE_JPEG || $info[2] === IMAGETYPE_PNG)) { | ||||
|                         $fp = fopen($file['tmp_name'], 'rb'); | ||||
|                         return $fp; | ||||
|                     } else { | ||||
|                         throw new HTTPSpecialCaseException(400, "Image submitted is not jpeg/png"); | ||||
|                     } | ||||
|                 } else { | ||||
|                     throw new HTTPSpecialCaseException(400, "Image upload error"); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -47,6 +47,7 @@ final class RecipeModel | ||||
|         $stmt->execute(); | ||||
|         $this->I_ID = Model::get()->lastInsertId(); | ||||
|     } | ||||
| 
 | ||||
|     public function update() | ||||
|     { | ||||
|         $O_model = Model::get(); | ||||
| @ -60,6 +61,15 @@ final class RecipeModel | ||||
|         $stmt->bindParam("author_id", $this->I_AUTHOR_ID); | ||||
|         $stmt->execute(); | ||||
|     } | ||||
| 
 | ||||
|     public function updateImg($img_fp){ | ||||
|         $O_model = Model::get(); | ||||
|         $stmt = $O_model->prepare("UPDATE RECIPE SET IMG=:img WHERE ID=:id"); | ||||
|         $stmt->bindParam("id", $this->I_ID); | ||||
|         $stmt->bindParam("img", $img_fp, PDO::PARAM_LOB); | ||||
|         $stmt->execute(); | ||||
|     } | ||||
| 
 | ||||
|     public function delete(){ | ||||
|         $O_model = Model::get(); | ||||
|         $stmt = $O_model->prepare("DELETE FROM RECIPE WHERE ID=:id"); | ||||
|  | ||||
| @ -27,7 +27,7 @@ if ($O_recipe === null) { | ||||
|     <?php } ?>
 | ||||
| 
 | ||||
| 
 | ||||
|     <form action="<?= $A_view["POST_URI"] ?>" method="post"> | ||||
|     <form action="<?= $A_view["POST_URI"] ?>" method="post" enctype="multipart/form-data"> | ||||
| 
 | ||||
|         <label for="recipeImage">Ajoutez l'image de haut de page :</label> | ||||
|         <input type="file" name="recipeImage" id="recipeImage"> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user