findAll(); $arrProjectToDisplay = array(); foreach($arrProject as $arrDetProject){ $objProject = new Project; $objProject->hydrate($arrDetProject); $arrProjectToDisplay[] = $objProject; } $this->_arrData['arrProjectToDisplay'] = $arrProjectToDisplay; $this->_display("home"); } /** * Fonction d'affichage de la barre de recherche */ public function search(){ //Récupérer les informations du formulaire $strKeywords = $_POST['keywords']??''; $intAuthor = $_POST['author']??0; $intPeriod = $_POST['period']??0; $strDate = $_POST['date']??''; $strStartDate = $_POST['startdate']??''; $strEndDate = $_POST['enddate']??''; $intCategory = $_POST['category']??0; // Récupération des projetc $objProjectModel = new ProjectModel; $arrProject = $objProjectModel->findAll(intAuthor:$intAuthor, intPeriod:$intPeriod, strDate:$strDate, strKeywords:$strKeywords, strStartDate:$strStartDate, strEndDate:$strEndDate, intCategory:$intCategory); // Initialisation d'un tableau => objets $arrProjectToDisplay = array(); // Boucle de transformation du tableau de tableau en tableau d'objets foreach($arrProject as $arrDetProject){ $objProject = new Project; $objProject->hydrate($arrDetProject); $arrProjectToDisplay[] = $objProject; } $objUserModel = new UserModel; $arrUser = $objUserModel->findAllUsers(); $objCategoryModel = new CategoryModel; $arrCategory = $objCategoryModel->findAllCategory(); $this->_arrData['arrProjectToDisplay'] = $arrProjectToDisplay; $this->_arrData['arrCategory'] = $arrCategory; $this->_arrData['arrUser'] = $arrUser; $this->_display("search"); } /** * Fonction d'affichage de la page projet */ public function project (){ $objProjectModel = new ProjectModel; $arrProject = $objProjectModel->findAll(4); $arrProjectToDiplay = array(); foreach($arrProject as $arrDetProject){ $objProject = new Project; $objProject->hydrate($arrDetProject); $arrProjectToDiplay[] = $objProject; } $objImageModel = new ImageModel; $arrImage = $objImageModel->findAllImage(4); $arrImageToDiplay = array(); foreach($arrImage as $arrDetImage){ $objImage = new Image; $objImage->hydrate($arrDetImage); $arrImageToDiplay[] = $objImage; } //Variable data $_SESSION['title'] = $_POST['titleProject']??""; $_SESSION['description'] = $_POST['descProject']??""; $_SESSION['content'] = $_POST['textProject']??""; $_SESSION['thumbnail'] = $_FILES['imageProject']['name']??""; $_SESSION['status'] = 'en_attente'; $objProject = new Project(); /** /* Créer par Besnik le GOAT et l'autre GOAT de Guillaume /* /* @return bool pour savoir si le fichier existe, /* puis déplace vers le fichier uploads avec les images projet des utilisateurs /* Communication avec la BDD */ if (($_SESSION['thumbnail'] != null)){ $strDest = ""; if ((count($_FILES) > 0) && ($_FILES['imageProject']['error'] != 4)){ $strDest = '../public/uploads/projects/'.$_FILES['imageProject']['name']; var_dump($strDest); move_uploaded_file($_FILES['imageProject']['tmp_name'], $strDest); } } /** En cas d'appuis sur le bouton d'envoie ou celui de remettre a plus tard /* 1. Changement de status /* 2. Hydratation avec les informations récupéré de l'utilisateur /* 3. Envoie des données à la BDD */ if (isset($_POST['sendMessage'])) { $_SESSION['status'] = 'publié'; $objProject->hydrate($_SESSION); $objProject->setThumbnail($strDest); $objProjectModel->insert($objProject); } else if (isset($_POST['toContinue'])) { $objProject->hydrate($_SESSION); $objProject->setThumbnail($strDest); $objProjectModel->insert($objProject); } //Débuggage var_dump($_SESSION); var_dump($objProject); $this->_arrData['arrProjectToDiplay'] = $arrProjectToDiplay; $this->_arrData['arrImageToDiplay'] = $arrImageToDiplay; $this->_display("project"); } public function admin(){ $this->_display("admin"); } }