From 9a661951e76df23646210947d96e4072e65030f8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 24 Aug 2005 23:58:47 +0000 Subject: [PATCH] =?UTF-8?q?Am=E9lioration=20onglet=20document=20sur=20prod?= =?UTF-8?q?uits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/product/document.php | 359 ++++++++++++++++++++---------------- 1 file changed, 199 insertions(+), 160 deletions(-) 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 ''; + print ''; + print ''; + print ''; + print '
'.$langs->trans("Ref").''.$product->ref.'
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("NbOfAttachedFiles").''.sizeof($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; + + print ''; + + + // Affiche forumlaire upload + if (defined('MAIN_UPLOAD_DOC') && $conf->upload) + { + print_titre($langs->trans('AttachANewFile')); print '
'; - print ''; - print '
'; - print ''; - print '
'; - print '

'; - clearstatcache(); + print ''; + print ''; - print ''; - print ''; - print ''; - 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 '\n"; - print ''; - print ''; - print '\n"; - } - } - closedir($handle); - } - else - { - print '
'.$langs->trans('ErrorCantOpenDir').' '.$upload_dir.'
'; - } - print '
'; - $errorlevel=error_reporting(); - error_reporting(0); - $handle=opendir($upload_dir); - error_reporting($errorlevel); + print ''; + print ''; + print '   '; + print ''; - print ''; + print ""; + print "
"; - if ($handle) - { - print '
'.$langs->trans('Document').''.$langs->trans('Size').''.$langs->trans('Date').' 
'; - echo ''.$file.''; - print "'.filesize($upload_dir.'/'.$file). ' bytes'.strftime('%d %b %Y %H:%M:%S',filemtime($upload_dir.'/'.$file)).''; - if ($file == $propref . '.pdf') - { - echo '-'; - } - else - { - echo ''.$langs->trans('Delete').''; - } - 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 ''; + print ''; + print ''; + 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 '\n"; + print ''; + print ''; + print '\n"; + } + } + closedir($handle); } + print '
'.$langs->trans('Document').''.$langs->trans('Size').''.$langs->trans('Date').' 
'; + echo ''.$file.''; + print "'.filesize($upload_dir.'/'.$file). ' bytes'.strftime('%d %b %Y %H:%M:%S',filemtime($upload_dir.'/'.$file)).''; + if ($file == $propref . '.pdf') + { + echo '-'; + } + else + { + echo ''.$langs->trans('Delete').''; + } + print "
'; + + print ''; } else {