PEEL Shopping
Open source ecommerce : PEEL Shopping
fine_uploader.php
Go to the documentation of this file.
1 <?php
2 // This file should be in UTF8 without BOM - Accents examples: éèê
3 // +----------------------------------------------------------------------+
4 // | Copyright (c) 2004-2015 Advisto SAS, service PEEL - contact@peel.fr |
5 // +----------------------------------------------------------------------+
6 // | This file is part of PEEL Shopping 8.0.0, which is subject to an |
7 // | opensource GPL license: you are allowed to customize the code |
8 // | for your own needs, but must keep your changes under GPL |
9 // | More information: https://www.peel.fr/lire/licence-gpl-70.html |
10 // +----------------------------------------------------------------------+
11 // | Author: Advisto SAS, RCS 479 205 452, France, https://www.peel.fr/ |
12 // +----------------------------------------------------------------------+
13 // $Id: fine_uploader.php 46935 2015-09-18 08:49:48Z gboussin $
14 
15 include("configuration.inc.php");
16 
17 if (vb($GLOBALS['site_parameters']['used_uploader']) != 'fineuploader') {
18  die();
19 }
20 
21 // Include the uploader class
22 require($GLOBALS['dirroot'].'/lib/class/FineUploader.php');
23 
25 
26 $file_kind = 'any';
27 if (!empty($GLOBALS['site_parameters']['extensions_valides_'.$file_kind])) {
28  // Specify the list of valid extensions, ex. array("jpeg", "xml", "bmp")
29  $uploader->allowedExtensions = $GLOBALS['site_parameters']['extensions_valides_'.$file_kind];
30 }
31 
32 // Specify max file size in bytes.
33 $uploader->sizeLimit = min($uploader->toBytes(ini_get('upload_max_filesize')), $uploader->toBytes(ini_get('post_max_size')), $GLOBALS['site_parameters']['uploaded_file_max_size']);
34 
35 // Specify the input name set in the javascript.
36 $uploader->inputName = key($_FILES);
37 
38 // If you want to use resume feature for uploader, specify the folder to save parts.
39 $uploader->chunksFolder = $GLOBALS['dirroot'].'/'.$GLOBALS['site_parameters']['cache_folder'];
40 
41 $save_path = '/'.$GLOBALS['site_parameters']['cache_folder'];
42 $save_full_path = $GLOBALS['dirroot'].$save_path;
43 
44 $rename_file = false; // Si false : on ne fait que retraiter le nom de base
45 $extension = String::strtolower(pathinfo($uploader->getName(), PATHINFO_EXTENSION));
46 if (empty($new_file_name_without_extension)) {
47  // Si aucun nom forcé, on en crée un
48  $new_file_name_without_extension = format_filename_base($uploader->getName(), $rename_file);
49 }
50 $the_new_file_name = $new_file_name_without_extension . '.' . $extension;
51 
52 $load = true;
53 if(empty($new_file_name_without_extension)) {
54  $load = false;
55 }
56 if($uploader->inputName == 'name1') {
57 
58 }
59 if($load) {
60  // To save the upload with a specified name, set the second parameter.
61  @ignore_user_abort(true);
62  @set_time_limit(0);
64 
65  // To return a name used for uploaded file you can use the following line.
66  $result['uploadName'] = $uploader->getUploadName();
67 
68  if (!empty($GLOBALS['site_parameters']['extensions_valides_image']) && in_array($extension, $GLOBALS['site_parameters']['extensions_valides_image'])) {
69  // Les fichiers image sont convertis en jpg uniquement si nécessaire - sinon on garde le fichier d'origine
70  $the_new_jpg_name = $new_file_name_without_extension . '.jpg';
71  // On charge l'image, et si sa taille est supérieure à $destinationW ou $destinationH, ou si elle fait plus de $GLOBALS['site_parameters']['filesize_limit_keep_origin_file'] octets, on doit la régénèrer (sinon on la garde telle qu'elle était)
72  // Si on est dans le cas où on la regénère, on la convertit en JPEG à qualité $GLOBALS['site_parameters']['jpeg_quality'] % (par défaut dans PHP c'est 75%, et dans PEEL on utilise 88% par défaut) et on la sauvegarde sous son nouveau nom
73  $image_resize_result = image_resize($save_full_path . '/' . $the_new_file_name, $save_full_path . '/' . $the_new_jpg_name, $GLOBALS['site_parameters']['image_max_width'], $GLOBALS['site_parameters']['image_max_height'], false, true, $GLOBALS['site_parameters']['filesize_limit_keep_origin_file'], $GLOBALS['site_parameters']['jpeg_quality']);
74  if (!empty($image_resize_result)) {
75  // Le redimensionnement de l'image a eu lieu
76  $result['uploadName'] = basename($image_resize_result);
77  }
78  }
79  // On renvoie le HTML qu'on veut afficher à la place du bouton upload
80  $tpl = $GLOBALS['tplEngine']->createTemplate('uploaded_file.tpl');
81  $file_infos = get_uploaded_file_infos($uploader->inputName, $save_path.'/'.$result['uploadName'], 'javascript:reinit_upload_field("'.$uploader->inputName.'");');
82  $tpl->assign('f', $file_infos);
83  $tpl->assign('STR_DELETE', $GLOBALS['STR_DELETE']);
84  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
85  $result['html'] = $tpl->fetch();
86 
87  // On renvoie le résultat au jQuery
88  header("Content-Type: text/plain");
89  echo json_encode($result);
90 }
$result
$save_full_path
$extension
static strtolower($string)
Returns string with all alphabetic characters converted to lowercase.
Definition: String.php:135
$uploader
if(!empty($_GET['id'])) if(isset($_POST['form_name'], $_POST['form_subject'], $_POST['form_text'], $_POST['form_lang'])&&empty($_GET['id'])) if(empty($_GET['id'])) $tpl
if(empty($new_file_name_without_extension)) $the_new_file_name
format_filename_base($original_name, $rename_file=true)
A partir d'un nom de fichier, on génère un nouveau nom unique pour éviter d'utiliser un nom déjà exis...
Definition: fonctions.php:3400
vb(&$var, $default=null)
Variable blanche if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:97
get_uploaded_file_infos($field_name, $file, $delete_url, $logo_width=100, $logo_height=100)
Remplit un tableau d'informations pour le template d'upload HTML.
Definition: fonctions.php:3601
if(!defined('IN_PEEL')) image_resize($origin_filename_with_path, $new_filename_with_path, $destinationW=null, $destinationH=null, $resize_even_if_smaller=false, $allow_keep_origin_file_if_resize_not_needed=true, $filesize_limit_keep_origin_file=102400, $jpeg_quality=85, $gammacorrect=1.0)
On redimensionne l'image pour qu'elle ne dépasse pas la taille de destination Le ratio largeur / haut...
Definition: images.php:33
$rename_file
$GLOBALS['page_columns_count']
$save_path
$load
$file_kind

This documentation for Open ecommerce PEEL Shopping and PEEL.fr has been generated by Doxygen on Thu Oct 15 2015 14:29:53 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.