Add: possibilit de regnrer la miniature si elle n'existe pas

This commit is contained in:
Regis Houssin 2007-07-30 10:51:41 +00:00
parent b4da3afb1a
commit cc8f92e47b
5 changed files with 45 additions and 4 deletions

View File

@ -116,4 +116,5 @@ PriceQtyHT=Price for this quantity HT
PriceQtyTTC=Price for this quantity TTC
NoPriceDefinedForThisSupplier=No price/qty defined for this supplier/product
RecordedProducts=Products recorded
RecordedProductsAndServices=Products/services recorded
RecordedProductsAndServices=Products/services recorded
RegenerateThumb=Regenerate thumb

View File

@ -117,3 +117,4 @@ PriceQtyTTC=Prix pour la quantit
NoPriceDefinedForThisSupplier=Aucun prix/qté défini pour ce fournisseur/produit
RecordedProducts=Produits en vente
RecordedProductsAndServices=Produits/services en vente
RegenerateThumb=Régénérer la vignette

View File

@ -760,6 +760,18 @@ function img_file($alt = "default")
return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/file.png" border="0" alt="'.$alt.'" title="'.$alt.'">';
}
/**
\brief Affiche logo refresh
\param alt Texte sur le alt de l'image
\return string Retourne tag img
*/
function img_refresh($alt = "default")
{
global $conf,$langs;
if ($alt=="default") $alt=$langs->trans("Refresh");
return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/refresh.png" border="0" alt="'.$alt.'" title="'.$alt.'">';
}
/**
\brief Affiche logo dossier
\param alt Texte sur le alt de l'image

View File

@ -2124,8 +2124,10 @@ class Product
* \brief Déplace fichier uploadé sous le nom $files dans le répertoire sdir
* \param sdir Répertoire destination finale
* \param $files Nom du fichier uploadé
* \param maxWidth Largeur maximum que dois faire la miniature (160 par défaut)
* \param maxHeight Hauteur maximum que dois faire la miniature (120 par défaut)
*/
function add_photo($sdir, $files)
function add_photo($sdir, $files, $maxWidth = 160, $maxHeight = 120)
{
$dir = $sdir .'/'. get_exdir($this->id,2) . $this->id ."/";
$dir .= "photos/";
@ -2147,10 +2149,22 @@ class Product
if (file_exists($originImage) && eregi('(\.jpg|\.png)$',$files['name']))
{
// Crée fichier en taille vignette
vignette($originImage);
$this->add_thumb($originImage,$maxWidth,$maxHeight);
}
}
}
/**
* \brief Génère la vignette
* \param sdir Répertoire destination finale
* \param files Nom du fichier uploadé
* \param maxWidth Largeur maximum que dois faire la miniature (160 par défaut)
* \param maxHeight Hauteur maximum que dois faire la miniature (120 par défaut)
*/
function add_thumb($files, $maxWidth = 160, $maxHeight = 120)
{
vignette($files,$maxWidth,$maxHeight);
}
/**
* \brief Déplace fichier récupéré sur internet (utilisé pour interface avec OSC)

View File

@ -70,6 +70,12 @@ if ($_GET["action"] == 'delete' && $_GET["file"])
$product->delete_photo($conf->produit->dir_output."/".$_GET["file"]);
}
if ($_GET["action"] == 'addthumb' && $_GET["file"])
{
$product = new Product($db);
$product->add_thumb($conf->produit->dir_output."/".$_GET["file"]);
}
/*
*
@ -182,6 +188,7 @@ if ($_GET["id"] || $_GET["ref"])
if ($obj['photo_vignette'])
{
$filename=$obj['photo_vignette'];
$thumbfilename=$obj['photo_vignette'];
}
else
{
@ -195,9 +202,15 @@ if ($_GET["id"] || $_GET["ref"])
print '</a>';
print '<br>'.$langs->trans("File").': '.dolibarr_trunc($viewfilename,16);
print '<br>';
// On propose la génération de la vignette si elle n'existe pas
if (!$obj['photo_vignette'])
{
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&amp;action=addthumb&amp;file='.urlencode($pdir.$viewfilename).'">'.img_refresh($langs->trans('RegenerateThumb')).'&nbsp;&nbsp;</a>';
}
if ($user->rights->produit->creer)
{
print '<br>'.'<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&amp;action=delete&amp;file='.urlencode($pdir.$viewfilename).'">'.img_delete().'</a>';
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&amp;action=delete&amp;file='.urlencode($pdir.$viewfilename).'">'.img_delete().'</a>';
}
if ($nbbyrow) print '</td>';
if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '</tr>';