public function action_validePhoto()
 {
     $extensions = array("png", "jpg", "jpeg", "bmp", "PNG", "JPG", "JPEG", "BMP");
     $taille_max = 100000;
     $dossier = "images/";
     $fichier = uniqid();
     $extension = explode('.', $_FILES['photo']['name']);
     $extension = strtolower($extension[count($extension) - 1]);
     if (!in_array($extension, $extensions)) {
         $error[] = "mauvaise extension";
     }
     /*$taille = getimagesize($_FILES['photo']['tmp_name']);
     			$larg=300;
     			$reduc=($larg*100)/$taille[0];
     			$haut=($taille[1]*$reduc)/100;
     
     			if($extension!="jpg")
     			$function=imagecreatefrom.$extension;
     			else $function=imagecreatefrom.jpeg;
     			$image=imagecreatetruecolor($larg,$haut);
     			imagecopyresampled($image, $function($_FILES['photo']['tmp_name']), 0, 0, 0, 0, $larg, $haut, $taille[0],$taille[1]);
     			
     			imagepng($image,$dossier.$fichier.".png",9);*/
     move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier . ".jpg");
     if (isset($error[0])) {
         $f = $this->session->formPh;
         $f->populate();
         $this->tpl->assign("f_addph", $f);
         foreach ($error as $err) {
             $this->site->ajouter_message("-" . $err);
         }
     } else {
         $img['idImage'] = $fichier;
         $img['idModele'] = $this->req->id;
         $image = new Image($img);
         $imgM = new ImageManager(DB::get_instance());
         $imgM->add($image);
         $this->site->ajouter_message("upload réussi");
         //il faudra penser à redimensionner la photo
         Site::redirect("admMarque");
     }
 }
$typeMessage = "";
$idProjet = htmlentities($_POST['idProjet']);
//Component Class Manager
$imageManager = new ImageManager($pdo);
//Action Add Processing Begin
if ($action == "add") {
    if (!empty($_POST['name'])) {
        $name = htmlentities($_POST['name']);
        $url = htmlentities($_POST['url']);
        $description = htmlentities($_POST['description']);
        $createdBy = $_SESSION['userAnnahdaSite']->login();
        $created = date('Y-m-d h:i:s');
        //create object
        $image = new Image(array('name' => $name, 'url' => $url, 'description' => $description, 'idProjet' => $idProjet, 'created' => $created, 'createdBy' => $createdBy));
        //add it to db
        $imageManager->add($image);
        $actionMessage = "<strong>Opération Valide</strong> : Image Ajouté(e) avec succès.";
        $typeMessage = "success";
    } else {
        $actionMessage = "<strong>Erreur Ajout Image</strong> : Vous devez remplir le champ 'name'.";
        $typeMessage = "danger";
    }
} else {
    if ($action == "update") {
        $idImage = htmlentities($_POST['idImage']);
        if (!empty($_POST['name'])) {
            $name = htmlentities($_POST['name']);
            $url = htmlentities($_POST['url']);
            $description = htmlentities($_POST['description']);
            $idProjet = htmlentities($_POST['idProjet']);
            $updatedBy = $_SESSION['userAnnahdaSite']->login();
Beispiel #3
0
 public function receiveImage()
 {
     //$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
     $result = array('success' => false, 'message' => 'Upload error', 'status' => 'error', 'total' => 0, 'records' => array());
     // Get filename and img base64 string from request
     $fileName = $this->f3->get('PARAMS.fileName');
     $img = $this->f3->get('POST.img');
     // Return error message if file size is too big. Hint: base64 increase file size ~33%
     if (strlen($img) > 512 * 1024 * 1.4) {
         $result[message] = 'File size too big. <b>Size:' . round(strlen($img) / 1024) . 'KB</b>';
     } else {
         $url = $this->f3->get('UPLOAD') . $fileName;
         // Make sure file not already exists
         if (file_exists($url) == false) {
             // Get file data to perform check if file is image
             list($type, $data) = explode(';', $img);
             if (in_array($type, array('data:image/png', 'data:image/jpg', 'data:image/gif', 'data:image/jpeg'))) {
                 list(, $data) = explode(',', $data);
                 $data = base64_decode($data);
                 file_put_contents($url, $data);
                 // clear POST and copy variable to insert
                 $this->f3->clear('POST');
                 $this->f3->set('POST.imageName', $fileName);
                 $this->f3->set('POST.imageLink', $url);
                 $this->f3->set('POST.size', strlen($data));
                 // Add reference to db
                 $image = new ImageManager($this->db);
                 $image->add();
                 $result[success] = true;
                 $result[status] = 'success';
                 $result[message] = 'Successfully uploaded. File size: ' . round(strlen($data) / 1024) . 'KB';
             }
         } else {
             $result[message] = 'File already exists';
         }
     }
     header('Content-Type: application/json');
     echo json_encode($result, JSON_NUMERIC_CHECK);
     exit;
 }