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 nbmax Nombre maximum de photos (0=pas de max)
|
||||||
* \param nbbyrow Nombre vignettes par ligne (si mode vignette)
|
* \param nbbyrow Nombre vignettes par ligne (si mode vignette)
|
||||||
* \return int Nombre de photos affichées
|
* \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)
|
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];
|
$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 == 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 && ($nbphoto % $nbbyrow == 1)) print '<tr align=center valign=middle border=1>';
|
||||||
@ -1076,6 +1078,7 @@ class Product
|
|||||||
|
|
||||||
if ($nbbyrow) print '</td>';
|
if ($nbbyrow) print '</td>';
|
||||||
if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '</tr>';
|
if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '</tr>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($size == 0) // Format origine
|
if ($size == 0) // Format origine
|
||||||
@ -1102,6 +1105,51 @@ class Product
|
|||||||
|
|
||||||
return $nbphoto;
|
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
|
* 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"])
|
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"));
|
llxHeader("","",$langs->trans("CardProduct0"));
|
||||||
|
|
||||||
|
|
||||||
@ -186,16 +192,58 @@ if ($_GET["id"])
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Affiche photos
|
// Affiche photos
|
||||||
if ($_GET["action"] != 'ajout_photo') {
|
if ($_GET["action"] != 'ajout_photo')
|
||||||
//print '<br>';
|
{
|
||||||
//print '<div class="photo">';
|
$nbphoto=0;
|
||||||
$nbphoto=$product->show_photos($conf->produit->dir_output,1,0,5);
|
$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>";
|
// if ($nbbyrow && $nbphoto == 1) print '<table width="100%" valign="top" align="center" border="0" cellpadding="2" cellspacing="2">';
|
||||||
//print '</div>';
|
|
||||||
|
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