Esempio n. 1
0
 public function updateProjet()
 {
     $this->allowTo(['user', 'Admin']);
     $login = new AuthentificationModel();
     $projetsModel = new usermodel();
     $infosUser = $this->getUser();
     $mimeTypeAllowed = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif');
     $errors = [];
     $validForm = false;
     //fichier image projet
     if (isset($_FILES['photo']) && $_FILES['photo']['size'] != 0) {
         $maxSize = 3 * 100 * 1024;
         //3Mo
         $finfo = new \finfo();
         // On vérifie la taille du fichier
         if ($_FILES['photo']['size'] > $maxSize) {
             $errors[] = 'Ficher trop volumineux';
         }
         if (count($errors) == 0) {
             // chemin matériel du dossier pr upload fichier
             $uploads_dir_projet = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REDIRECT_W_BASE'] . '/assets/projet';
             $tmp_name = $_FILES['photo']['tmp_name'];
             $nameProjet = $infosUser['id'] . $_FILES['photo']['name'];
             //Pour que le nom soit unique et eviter les probleme de nom de fichier on l'incrémente de l'id appartenant à projets
             //chose à faire supprimer ou remplacer le ficher
             // On upload le fichier
             //$uploadProjet = move_uploaded_file(filename, destination)
             $uploadProjet = move_uploaded_file($tmp_name, $uploads_dir_projet . '/' . $nameProjet);
             //chemin virtuel du dossier pour insertion BD
             $data = ["photo" => 'projet/' . $nameProjet];
             $params['picUrl'] = $_SERVER['REDIRECT_W_BASE'] . '/assets/' . $data['photo'];
             //on met à jour la bdd
             $projetsModel->update($data, $infosUser['id']);
             $login->refreshUser();
             $validForm = true;
         }
     }
     $params['errors'] = implode(', ', $errors);
     $params['valide'] = $validForm;
     $this->showJson($params);
 }