Esempio n. 1
0
                    $newfile=$dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']);
                    $result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1);

                    if (! $result > 0)
                    {
                        $errors[] = "ErrorFailedToSaveFile";
                    }
                    else
                    {
                        // Create small thumbs for company (Ratio is near 16/9)
                        // Used on logon for example
                        $imgThumbSmall = vignette($newfile, $maxwidthsmall, $maxheightsmall, '_small', $quality);

                        // Create mini thumbs for company (Ratio is near 16/9)
                        // Used on menu or for setup page for example
                        $imgThumbMini = vignette($newfile, $maxwidthmini, $maxheightmini, '_mini', $quality);
                    }
                }
            }
        }

        // We set country_id, country_code and country for the selected country
        $object->country_id=$_POST["country_id"]?$_POST["country_id"]:$mysoc->country_id;
        if ($object->country_id)
        {
            $tmparray=getCountry($object->country_id,'all');
            $object->country_code=$tmparray['code'];
            $object->country=$tmparray['label'];
        }
        $object->forme_juridique_code=$_POST['forme_juridique_code'];
        /* Show create form */
Esempio n. 2
0
 * Actions
 */
// Envoi fichier
if ($_POST["sendit"] && !empty($conf->global->MAIN_UPLOAD_DOC)) {
    if ($object->fetch($id)) {
        $upload_dir = $conf->bank->dir_output . "/" . $object->ref;
        if (dol_mkdir($upload_dir) >= 0) {
            $resupload = dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . dol_unescapefile($_FILES['userfile']['name']), 0, 0, $_FILES['userfile']['error']);
            if (is_numeric($resupload) && $resupload > 0) {
                if (image_format_supported($upload_dir . "/" . $_FILES['userfile']['name']) == 1) {
                    // Create small thumbs for image (Ratio is near 16/9)
                    // Used on logon for example
                    $imgThumbSmall = vignette($upload_dir . "/" . $_FILES['userfile']['name'], $maxwidthsmall, $maxheightsmall, '_small', $quality, "thumbs");
                    // Create mini thumbs for image (Ratio is near 16/9)
                    // Used on menu or for setup page for example
                    $imgThumbMini = vignette($upload_dir . "/" . $_FILES['userfile']['name'], $maxwidthmini, $maxheightmini, '_mini', $quality, "thumbs");
                }
                $mesg = '<div class="ok">' . $langs->trans("FileTransferComplete") . '</div>';
            } else {
                $langs->load("errors");
                if ($resupload < 0) {
                    // Unknown error
                    $mesg = '<div class="error">' . $langs->trans("ErrorFileNotUploaded") . '</div>';
                } else {
                    if (preg_match('/ErrorFileIsInfectedWithAVirus/', $resupload)) {
                        // Files infected by a virus
                        $mesg = '<div class="error">' . $langs->trans("ErrorFileIsInfectedWithAVirus") . '</div>';
                    } else {
                        // Known error
                        $mesg = '<div class="error">' . $langs->trans($resupload) . '</div>';
                    }
Esempio n. 3
0
	/**
	 *  Build thumb
	 *
	 *  @param  string	$file           Chemin du fichier d'origine
	 *  @param  int		$maxWidth       Largeur maximum que dois faire la miniature (160 par defaut)
	 *  @param  int		$maxHeight      Hauteur maximum que dois faire la miniature (120 par defaut)
	 *  @return	void
	 */
	function add_thumb($file, $maxWidth = 160, $maxHeight = 120)
	{
		require_once(DOL_DOCUMENT_ROOT ."/core/lib/images.lib.php");

		$file_osencoded=dol_osencode($file);
		if (file_exists($file_osencoded))
		{
			vignette($file,$maxWidth,$maxHeight);
		}
	}
 /**
  *  Return path of a catergory image 
  *  
  *  @param 		int		$idCat		Id of Category
  *  @return      string				Image path
  */
 public static function getImageProduct($idProd, $thumb = false)
 {
     global $conf, $db;
     $extName = "_small";
     $extImgTarget = ".jpg";
     $outDir = "pos";
     $maxWidth = 90;
     $maxHeight = 90;
     $quality = 50;
     if ($idProd > 0) {
         $objProd = new Product($db);
         $objProd->fetch($idProd);
         $pdir = get_exdir($idProd, 2) . $idProd . "/photos/";
         $dir = $conf->product->multidir_output[$objProd->entity] . '/' . $pdir;
         foreach ($objProd->liste_photos($dir, 1) as $key => $obj) {
             $filename = $dir . $obj['photo'];
             $filethumbs = $dir . $outDir . '/' . $obj['photo'];
             $fileName = preg_replace('/(\\.gif|\\.jpeg|\\.jpg|\\.png|\\.bmp)$/i', '', $filethumbs);
             $fileName = basename($fileName);
             $imgThumbName = $dir . $outDir . '/' . $fileName . $extName . $extImgTarget;
             $file_osencoded = $imgThumbName;
             if (!file_exists($file_osencoded)) {
                 $file_osencoded = dol_osencode($filename);
                 if (file_exists($file_osencoded)) {
                     require_once DOL_DOCUMENT_ROOT . "/core/lib/images.lib.php";
                     vignette($filename, $maxWidth, $maxHeight, $extName, $quality, $outDir, 2);
                 }
             }
             if (!$thumb) {
                 $filename = $obj['photo'];
             } else {
                 $filename = $outDir . '/' . $fileName . $extName . $extImgTarget;
             }
             $realpath = DOL_URL_ROOT . '/viewimage.php?modulepart=product&entity=' . $objProd->entity . '&file=' . urlencode($pdir . $filename);
         }
         if (!$realpath) {
             $realpath = DOL_URL_ROOT . '/viewimage.php?modulepart=product&file=' . urlencode('noimage.jpg');
         }
         return $realpath;
     }
 }
 /**
  *  Create thumbs
  *
  *  @param	string	$file_name		Filename
  *  @param	string	$options 		is array('max_width', 'max_height')
  *  @return	void
  */
 protected function createScaledImage($file_name, $options)
 {
     global $maxwidthmini, $maxheightmini;
     $file_path = $this->options['upload_dir'] . $file_name;
     $new_file_path = $options['upload_dir'] . $file_name;
     if (dol_mkdir($options['upload_dir']) >= 0) {
         list($img_width, $img_height) = @getimagesize($file_path);
         if (!$img_width || !$img_height) {
             return false;
         }
         $res = vignette($file_path, $maxwidthmini, $maxheightmini, '_mini');
         //return $success;
         if (preg_match('/error/i', $res)) {
             return false;
         }
         return true;
     } else {
         return false;
     }
 }
Esempio n. 6
0
 /**
  *  Build thumb
  *
  *  @param  string	$file           Chemin du fichier d'origine
  *  @return	void
  */
 function add_thumb($file)
 {
     global $maxwidthsmall, $maxheightsmall, $maxwidthmini, $maxheightmini, $quality;
     require_once DOL_DOCUMENT_ROOT . '/core/lib/images.lib.php';
     // This define also $maxwidthsmall, $quality, ...
     $file_osencoded = dol_osencode($file);
     if (file_exists($file_osencoded)) {
         // Create small thumbs for company (Ratio is near 16/9)
         // Used on logon for example
         $imgThumbSmall = vignette($file, $maxwidthsmall, $maxheightsmall, '_small', $quality);
         // Create mini thumbs for company (Ratio is near 16/9)
         // Used on menu or for setup page for example
         $imgThumbMini = vignette($file, $maxwidthmini, $maxheightmini, '_mini', $quality);
     }
 }
Esempio n. 7
0
 /**
  *    \brief      Build thumb
  *    \param      sdir           Repertoire destination finale
  *    \param      file           Chemin du fichier d'origine
  *    \param      maxWidth       Largeur maximum que dois faire la miniature (160 par defaut)
  *    \param      maxHeight      Hauteur maximum que dois faire la miniature (120 par defaut)
  */
 function add_thumb($file, $maxWidth = 160, $maxHeight = 120)
 {
     require_once DOL_DOCUMENT_ROOT . "/lib/images.lib.php";
     if (file_exists($file)) {
         vignette($file, $maxWidth, $maxHeight);
     }
 }
Esempio n. 8
0
/**
 * Get and save an upload file (for example after submitting a new file a mail form).
 * All information used are in db, conf, langs, user and _FILES.
 * Note: This function can be used only into a HTML page context.
 *
 * @param	string	$upload_dir				Directory where to store uploaded file (note: also find in first part of dest_file)
 * @param	int		$allowoverwrite			1=Allow overwrite existing file
 * @param	int		$donotupdatesession		1=Do no edit _SESSION variable
 * @param	string	$varfiles				_FILES var name
 * @param	string	$savingdocmask			Mask to use to define output filename. For example 'XXXXX-__YYYYMMDD__-__file__'
 * @param	string	$link					Link to add
 * @return	void
 */
function dol_add_file_process($upload_dir, $allowoverwrite = 0, $donotupdatesession = 0, $varfiles = 'addedfile', $savingdocmask = '', $link = null)
{
    global $db, $user, $conf, $langs;
    if (!empty($_FILES[$varfiles])) {
        dol_syslog('dol_add_file_process upload_dir=' . $upload_dir . ' allowoverwrite=' . $allowoverwrite . ' donotupdatesession=' . $donotupdatesession . ' savingdocmask=' . $savingdocmask, LOG_DEBUG);
        if (dol_mkdir($upload_dir) >= 0) {
            $TFile = $_FILES[$varfiles];
            if (!is_array($TFile['name'])) {
                foreach ($TFile as $key => &$val) {
                    $val = array($val);
                }
            }
            $nbfile = count($TFile['name']);
            for ($i = 0; $i < $nbfile; $i++) {
                // Define $destpath (path to file including filename) and $destfile (only filename)
                $destpath = $upload_dir . "/" . $TFile['name'][$i];
                $destfile = $TFile['name'][$i];
                $savingdocmask = dol_sanitizeFileName($savingdocmask);
                if ($savingdocmask) {
                    $destpath = $upload_dir . "/" . preg_replace('/__file__/', $TFile['name'][$i], $savingdocmask);
                    $destfile = preg_replace('/__file__/', $TFile['name'][$i], $savingdocmask);
                }
                $resupload = dol_move_uploaded_file($TFile['tmp_name'][$i], $destpath, $allowoverwrite, 0, $TFile['error'][$i], 0, $varfiles);
                if (is_numeric($resupload) && $resupload > 0) {
                    global $maxwidthsmall, $maxheightsmall, $maxwidthmini, $maxheightmini;
                    include_once DOL_DOCUMENT_ROOT . '/core/lib/images.lib.php';
                    if (empty($donotupdatesession)) {
                        include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
                        $formmail = new FormMail($db);
                        $formmail->add_attached_files($destpath, $destfile, $TFile['type'][$i]);
                    }
                    if (image_format_supported($destpath) == 1) {
                        // Create small thumbs for image (Ratio is near 16/9)
                        // Used on logon for example
                        $imgThumbSmall = vignette($destpath, $maxwidthsmall, $maxheigthsmall, '_small', 50, "thumbs");
                        // Create mini thumbs for image (Ratio is near 16/9)
                        // Used on menu or for setup page for example
                        $imgThumbMini = vignette($destpath, $maxwidthmini, $maxheightmini, '_mini', 50, "thumbs");
                    }
                    setEventMessages($langs->trans("FileTransferComplete"), null, 'mesgs');
                } else {
                    $langs->load("errors");
                    if ($resupload < 0) {
                        setEventMessages($langs->trans("ErrorFileNotUploaded"), null, 'errors');
                    } else {
                        if (preg_match('/ErrorFileIsInfectedWithAVirus/', $resupload)) {
                            setEventMessages($langs->trans("ErrorFileIsInfectedWithAVirus"), null, 'errors');
                        } else {
                            setEventMessages($langs->trans($resupload), null, 'errors');
                        }
                    }
                }
            }
        }
    } elseif ($link) {
        if (dol_mkdir($upload_dir) >= 0) {
            require_once DOL_DOCUMENT_ROOT . '/core/class/link.class.php';
            $linkObject = new Link($db);
            $linkObject->entity = $conf->entity;
            $linkObject->url = $link;
            $linkObject->objecttype = GETPOST('objecttype', 'alpha');
            $linkObject->objectid = GETPOST('objectid', 'int');
            $linkObject->label = GETPOST('label', 'alpha');
            $res = $linkObject->create($user);
            $langs->load('link');
            if ($res > 0) {
                setEventMessages($langs->trans("LinkComplete"), null, 'mesgs');
            } else {
                setEventMessages($langs->trans("ErrorFileNotLinked"), null, 'errors');
            }
        }
    } else {
        $langs->load("errors");
        setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("File")), null, 'errors');
    }
}
Esempio n. 9
0
 if (file_exists($conf->mycompany->dir_output . '/logos/' . $_GET["file"])) {
     $isimage = image_format_supported($_GET["file"]);
     // Create thumbs of logo
     if ($isimage > 0) {
         // Create small thumbs for company (Ratio is near 16/9)
         // Used on logon for example
         $imgThumbSmall = vignette($conf->mycompany->dir_output . '/logos/' . $_GET["file"], $maxwidthsmall, $maxheightsmall, '_small', $quality);
         if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i', $imgThumbSmall, $reg)) {
             $imgThumbSmall = $reg[1];
             dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL", $imgThumbSmall, 'chaine', 0, '', $conf->entity);
         } else {
             dol_syslog($imgThumbSmall);
         }
         // Create mini thumbs for company (Ratio is near 16/9)
         // Used on menu or for setup page for example
         $imgThumbMini = vignette($conf->mycompany->dir_output . '/logos/' . $_GET["file"], $maxwidthmini, $maxheightmini, '_mini', $quality);
         if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i', $imgThumbMini, $reg)) {
             $imgThumbMini = $reg[1];
             dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI", $imgThumbMini, 'chaine', 0, '', $conf->entity);
         } else {
             dol_syslog($imgThumbMini);
         }
         Header("Location: " . $_SERVER["PHP_SELF"]);
         exit;
     } else {
         $message .= '<div class="error">' . $langs->trans("ErrorImageFormatNotSupported") . '</div>';
         dol_syslog($langs->transnoentities("ErrorImageFormatNotSupported"), LOG_WARNING);
     }
 } else {
     $message .= '<div class="error">' . $langs->trans("ErrorFileDoesNotExists", $_GET["file"]) . '</div>';
     dol_syslog($langs->transnoentities("ErrorFileDoesNotExists", $_GET["file"]), LOG_WARNING);