diff --git a/htdocs/product/document.php b/htdocs/product/document.php
index 3367978d3bf..202b704df3b 100755
--- a/htdocs/product/document.php
+++ b/htdocs/product/document.php
@@ -23,201 +23,240 @@
* $Source$
*/
+/**
+ \file htdocs/product/document.php
+ \ingroup product
+ \brief Page des documents joints sur les produits
+ \version $Revision$
+*/
+
require('./pre.inc.php');
-require_once('../product.class.php');
+require_once(DOL_DOCUMENT_ROOT."/product.class.php");
$user->getrights('produit');
if (!$user->rights->produit->lire)
accessforbidden();
+$productid=empty($_GET['id']) ? 0 : intVal($_GET['id']);
+$action=empty($_GET['action']) ? (empty($_POST['action']) ? '' : $_POST['action']) : $_GET['action'];
+if ($productid > 0)
+{
+ $product = new Product($db);
+ if ($product->fetch($productid))
+ $prodref = sanitize_string($product->ref);
+ $upload_dir = $conf->produit->dir_output.'/'.$prodref;
+}
+
+/*
+ * Action envoie fichier
+ */
+if ( $_POST["sendit"] && $conf->upload)
+{
+ if (is_dir($upload_dir))
+ {
+ if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
+ {
+ $mesg = '
'.$langs->trans("FileTransferComplete").'
';
+ //print_r($_FILES);
+ }
+ else
+ {
+ // Echec transfert (fichier dépassant la limite ?)
+ $mesg = ''.$langs->trans("ErrorFileNotUploaded").'
';
+ // print_r($_FILES);
+ }
+ }
+}
+
llxHeader();
-$productid=empty($_GET['id']) ? 0 : intVal($_GET['id']);
-$action=empty($_GET['action']) ? (empty($_POST['action']) ? '' : $_POST['action']) : $_GET['action'];
-
-
-function do_upload ($upload_dir)
-{
- global $local_file, $error_msg, $langs;
-
- if (! is_dir($upload_dir))
- {
- create_exdir($upload_dir);
- }
-
- if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . '/' . $_FILES['userfile']['name']))
- {
- echo $langs->trans('FileUploaded');
- }
- else
- {
- echo $langs->trans('FileNotUploaded');
- }
-}
-
-/******************************************************************************/
-/* Actions */
-/******************************************************************************/
if ($productid > 0)
{
- $product = new Product($db);
+ if ( $error_msg )
+ {
+ echo ''.$error_msg.'
';
+ }
- if ($product->fetch($productid))
+ if ($action=='delete')
+ {
+ $file = $upload_dir . '/' . urldecode($_GET['urlfile']);
+ dol_delete_file($file);
+ }
+
+ $h=0;
+
+ $head[$h][0] = DOL_URL_ROOT."/product/fiche.php?id=".$product->id;
+ $head[$h][1] = $langs->trans("Card");
+ $hselected = $h;
+ $h++;
+
+ $head[$h][0] = DOL_URL_ROOT."/product/price.php?id=".$product->id;
+ $head[$h][1] = $langs->trans("Price");
+ $h++;
+
+ if($product->type == 0)
{
- $prodref = sanitize_string($product->ref);
- $upload_dir = $conf->produit->dir_output.'/'.$prodref;
- if ( $error_msg )
- {
- echo ''.$error_msg.'
';
- }
-
-/******************************************************************************/
-/* Actions */
-/******************************************************************************/
- if ($action=='delete')
- {
- $file = $upload_dir . '/' . urldecode($_GET['urlfile']);
- dol_delete_file($file);
- }
-
- if ( $_POST['sendit'] )
- {
- do_upload ($upload_dir);
- }
-
- $h=0;
-
- $head[$h][0] = DOL_URL_ROOT."/product/fiche.php?id=".$product->id;
- $head[$h][1] = $langs->trans("Card");
- $hselected = $h;
- $h++;
-
- $head[$h][0] = DOL_URL_ROOT."/product/price.php?id=".$product->id;
- $head[$h][1] = $langs->trans("Price");
- $h++;
-
- if($product->type == 0)
+ if ($user->rights->barcode->lire)
+ {
+ if ($conf->barcode->enabled)
{
- if ($user->rights->barcode->lire)
- {
- if ($conf->barcode->enabled)
- {
- $head[$h][0] = DOL_URL_ROOT."/product/barcode.php?id=".$product->id;
- $head[$h][1] = $langs->trans("BarCode");
- $h++;
- }
- }
- }
-
- $head[$h][0] = DOL_URL_ROOT."/product/photos.php?id=".$product->id;
- $head[$h][1] = $langs->trans("Photos");
- $h++;
-
- if($product->type == 0)
- {
- if ($conf->stock->enabled)
- {
- $head[$h][0] = DOL_URL_ROOT."/product/stock/product.php?id=".$product->id;
- $head[$h][1] = $langs->trans("Stock");
- $h++;
- }
- }
-
- if ($conf->fournisseur->enabled)
- {
- $head[$h][0] = DOL_URL_ROOT."/product/fournisseurs.php?id=".$product->id;
- $head[$h][1] = $langs->trans("Suppliers");
+ $head[$h][0] = DOL_URL_ROOT."/product/barcode.php?id=".$product->id;
+ $head[$h][1] = $langs->trans("BarCode");
$h++;
}
+ }
+ }
- $head[$h][0] = DOL_URL_ROOT."/product/stats/fiche.php?id=".$product->id;
- $head[$h][1] = $langs->trans('Statistics');
+ $head[$h][0] = DOL_URL_ROOT."/product/photos.php?id=".$product->id;
+ $head[$h][1] = $langs->trans("Photos");
+ $h++;
+
+ if($product->type == 0)
+ {
+ if ($conf->stock->enabled)
+ {
+ $head[$h][0] = DOL_URL_ROOT."/product/stock/product.php?id=".$product->id;
+ $head[$h][1] = $langs->trans("Stock");
$h++;
+ }
+ }
- //erics: pour créer des produits composés de x 'sous' produits
- $head[$h][0] = DOL_URL_ROOT."/product/pack.php?id=".$product->id;
- $head[$h][1] = $langs->trans('Packs');
- $h++;
+ if ($conf->fournisseur->enabled)
+ {
+ $head[$h][0] = DOL_URL_ROOT."/product/fournisseurs.php?id=".$product->id;
+ $head[$h][1] = $langs->trans("Suppliers");
+ $h++;
+ }
- $head[$h][0] = DOL_URL_ROOT."/product/stats/facture.php?id=".$product->id;
- $head[$h][1] = $langs->trans('Referers');
- $h++;
+ $head[$h][0] = DOL_URL_ROOT."/product/stats/fiche.php?id=".$product->id;
+ $head[$h][1] = $langs->trans('Statistics');
+ $h++;
- $head[$h][0] = DOL_URL_ROOT.'/product/document.php?id='.$product->id;
- $head[$h][1] = $langs->trans('Documents');
- $hselected=$h;
- $h++;
+ //erics: pour créer des produits composés de x 'sous' produits
+ $head[$h][0] = DOL_URL_ROOT."/product/pack.php?id=".$product->id;
+ $head[$h][1] = $langs->trans('Packs');
+ $h++;
- dolibarr_fiche_head($head, $hselected, $langs->trans('Product').': '.$product->ref);
+ $head[$h][0] = DOL_URL_ROOT."/product/stats/facture.php?id=".$product->id;
+ $head[$h][1] = $langs->trans('Referers');
+ $h++;
- print_titre($langs->trans('AssociatedDocuments').' '.$product->ref_url);
+ $head[$h][0] = DOL_URL_ROOT.'/product/document.php?id='.$product->id;
+ $head[$h][1] = $langs->trans('Documents');
+ $hselected=$h;
+ $h++;
+
+ dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref);
+
+ // Construit liste des fichiers
+ clearstatcache();
+
+ $totalsize=0;
+ $filearray=array();
+
+ $errorlevel=error_reporting();
+ error_reporting(0);
+ $handle=opendir($upload_dir);
+ error_reporting($errorlevel);
+ if ($handle)
+ {
+ $i=0;
+ while (($file = readdir($handle))!==false)
+ {
+ if (!is_dir($dir.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
+ {
+ $filearray[$i]=$file;
+ $totalsize+=filesize($upload_dir."/".$file);
+ $i++;
+ }
+ }
+ closedir($handle);
+ }
+ else
+ {
+// print ''.$langs->trans("ErrorCanNotReadDir",$upload_dir).'
';
+ }
+
+ print '';
+ print '| '.$langs->trans("Ref").' | '.$product->ref.' |
';
+ print '| '.$langs->trans("Label").' | '.$product->libelle.' |
';
+ print '| '.$langs->trans("NbOfAttachedFiles").' | '.sizeof($filearray).' |
';
+ print '| '.$langs->trans("TotalSizeOfAttachedFiles").' | '.$totalsize.' '.$langs->trans("bytes").' |
';
+ print '
';
+
+ print '';
+
+
+ // Affiche forumlaire upload
+ if (defined('MAIN_UPLOAD_DOC') && $conf->upload)
+ {
+ print_titre($langs->trans('AttachANewFile'));
print '
';
- clearstatcache();
+ print '';
+ print '';
+ print '
';
+ }
+
+ $errorlevel=error_reporting();
+ error_reporting(0);
+ $handle=opendir($upload_dir);
+ error_reporting($errorlevel);
- print '';
- }
- else
+ print '';
+
+ if ($handle)
{
- dolibarr_print_error($db);
+ print '';
+ print '| '.$langs->trans('Document').' | ';
+ print ''.$langs->trans('Size').' | ';
+ print ''.$langs->trans('Date').' | ';
+ print ' | ';
+ print '
';
+ $var=true;
+ while (($file = readdir($handle))!==false)
+ {
+ if (!is_dir($dir.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
+ {
+ $var=!$var;
+ print '';
+ print '| ';
+ echo ''.$file.'';
+ print " | \n";
+ print ''.filesize($upload_dir.'/'.$file). ' bytes | ';
+ print ''.strftime('%d %b %Y %H:%M:%S',filemtime($upload_dir.'/'.$file)).' | ';
+ print '';
+ if ($file == $propref . '.pdf')
+ {
+ echo '-';
+ }
+ else
+ {
+ echo ''.$langs->trans('Delete').'';
+ }
+ print " |
\n";
+ }
+ }
+ closedir($handle);
}
+ print '
';
+
+ print '';
}
else
{