New: Possibilit de supprimer une photo produit
This commit is contained in:
parent
5b727e25eb
commit
32a2413fab
@ -1029,6 +1029,7 @@ class Product
|
||||
* \param nbmax Nombre maximum de photos (0=pas de max)
|
||||
* \param nbbyrow Nombre vignettes par ligne (si mode vignette)
|
||||
* \return int Nombre de photos affichées
|
||||
* \todo A virer, seule la methode avec size=0 sert encore.
|
||||
*/
|
||||
function show_photos($sdir,$size=0,$nbmax=0,$nbbyrow=5)
|
||||
{
|
||||
@ -1057,6 +1058,7 @@ class Product
|
||||
$photo_vignette=eregi_replace($regs[0],'',$photo)."_small".$regs[0];
|
||||
}
|
||||
|
||||
|
||||
if ($nbbyrow && $nbphoto == 1) print '<table width="100%" valign="top" align="center" border="0" cellpadding="2" cellspacing="2">';
|
||||
|
||||
if ($nbbyrow && ($nbphoto % $nbbyrow == 1)) print '<tr align=center valign=middle border=1>';
|
||||
@ -1076,6 +1078,7 @@ class Product
|
||||
|
||||
if ($nbbyrow) print '</td>';
|
||||
if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '</tr>';
|
||||
|
||||
}
|
||||
|
||||
if ($size == 0) // Format origine
|
||||
@ -1102,6 +1105,51 @@ class Product
|
||||
|
||||
return $nbphoto;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Retourne tableau de toutes les photos du produit
|
||||
* \param dir Répertoire à scanner
|
||||
* \param nbmax Nombre maximum de photos (0=pas de max)
|
||||
* \return array Tableau de photos
|
||||
*/
|
||||
function liste_photos($dir,$nbmax=0)
|
||||
{
|
||||
$nbphoto=0;
|
||||
$tabobj=array();
|
||||
|
||||
if (file_exists($dir))
|
||||
{
|
||||
$handle=opendir($dir);
|
||||
|
||||
while (($file = readdir($handle)) != false)
|
||||
{
|
||||
if (is_file($dir.$file))
|
||||
{
|
||||
$nbphoto++;
|
||||
$photo = $file;
|
||||
|
||||
// On determine nom du fichier vignette
|
||||
$photo_vignette='';
|
||||
if (eregi('(\.jpg|\.bmp|\.gif|\.png|\.tiff)$',$photo,$regs)) {
|
||||
$photo_vignette=eregi_replace($regs[0],'',$photo)."_small".$regs[0];
|
||||
}
|
||||
|
||||
// Objet
|
||||
$obj->photo=$photo;
|
||||
if ($photo_vignette && is_file($photo_vignette)) $obj->photo_vignette=$photo_vignette;
|
||||
else $obj->photo_vignette="";
|
||||
$tabobj[$nbphoto-1]=$obj;
|
||||
|
||||
// On continue ou on arrete de boucler ?
|
||||
if ($nbmax && $nbphoto >= $nbmax) break;
|
||||
}
|
||||
}
|
||||
|
||||
closedir($handle);
|
||||
}
|
||||
|
||||
return $tabobj;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@ -49,7 +49,7 @@ $types[1] = $langs->trans("Service");
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ( $_POST["sendit"] && defined('MAIN_UPLOAD_DOC') && MAIN_UPLOAD_DOC == 1)
|
||||
if ($_POST["sendit"] && defined('MAIN_UPLOAD_DOC') && MAIN_UPLOAD_DOC == 1)
|
||||
{
|
||||
if ($_GET["id"])
|
||||
{
|
||||
@ -64,10 +64,16 @@ if ( $_POST["sendit"] && defined('MAIN_UPLOAD_DOC') && MAIN_UPLOAD_DOC == 1)
|
||||
}
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'delete' && $_GET["file"])
|
||||
{
|
||||
unlink($conf->produit->dir_output."/".$_GET["file"]);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
|
||||
llxHeader("","",$langs->trans("CardProduct0"));
|
||||
|
||||
|
||||
@ -186,16 +192,58 @@ if ($_GET["id"])
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
|
||||
// Affiche photos
|
||||
if ($_GET["action"] != 'ajout_photo') {
|
||||
//print '<br>';
|
||||
//print '<div class="photo">';
|
||||
$nbphoto=$product->show_photos($conf->produit->dir_output,1,0,5);
|
||||
if ($_GET["action"] != 'ajout_photo')
|
||||
{
|
||||
$nbphoto=0;
|
||||
$nbbyrow=5;
|
||||
|
||||
$pdir = get_exdir($product->id) . $product->id ."/photos/";
|
||||
$dir = $conf->produit->dir_output . '/'. $pdir;
|
||||
|
||||
print '<br><table width="100%" valign="top" align="center" border="0" cellpadding="2" cellspacing="2">';
|
||||
|
||||
foreach ($product->liste_photos($dir) as $obj)
|
||||
{
|
||||
$nbphoto++;
|
||||
|
||||
if ($nbphoto < 1) print $langs->trans("NoPhotoYet")."<br><br>";
|
||||
//print '</div>';
|
||||
// if ($nbbyrow && $nbphoto == 1) print '<table width="100%" valign="top" align="center" border="0" cellpadding="2" cellspacing="2">';
|
||||
|
||||
if ($nbbyrow && ($nbphoto % $nbbyrow == 1)) print '<tr align=center valign=middle border=1>';
|
||||
if ($nbbyrow) print '<td width="'.ceil(100/$nbbyrow).'%" class="photo">';
|
||||
|
||||
print '<a href="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&file='.urlencode($pdir.$obj->photo).'" alt="Taille origine" target="_blank">';
|
||||
|
||||
// Si fichier vignette disponible, on l'utilise, sinon on utilise photo origine
|
||||
if ($obj->photo_vignette) $filename=$obj->photo_vignette;
|
||||
else $filename=$obj->photo;
|
||||
print '<img border="0" height="120" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&file='.urlencode($pdir.$filename).'">';
|
||||
|
||||
print '</a>';
|
||||
print '<br>'.$langs->trans("File").': '.dolibarr_trunc($filename,16);
|
||||
if ($user->rights->produit->creer)
|
||||
{
|
||||
print '<br>'.'<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&action=delete&file='.urlencode($pdir.$filename).'">'.img_delete().'</a>';
|
||||
}
|
||||
if ($nbbyrow) print '</td>';
|
||||
if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '</tr>';
|
||||
}
|
||||
|
||||
// Ferme tableau
|
||||
while ($nbphoto % $nbbyrow)
|
||||
{
|
||||
print '<td width="'.ceil(100/$nbbyrow).'%"> </td>';
|
||||
$nbphoto++;
|
||||
}
|
||||
|
||||
if ($nbphoto < 1)
|
||||
{
|
||||
print '<tr align=center valign=middle border=1><td class="photo">';
|
||||
print "<br>".$langs->trans("NoPhotoYet")."<br><br>";
|
||||
print '</td></tr></table>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user