* Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** * \file htdocs/product/document.php * \ingroup product * \brief Page des documents joints sur les produits * \version $Id$ */ require('./pre.inc.php'); require_once(DOL_DOCUMENT_ROOT."/lib/product.lib.php"); require_once(DOL_DOCUMENT_ROOT."/product.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php"); require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); $langs->load("other"); $langs->load("products"); $action=empty($_GET['action']) ? (empty($_POST['action']) ? '' : $_POST['action']) : $_GET['action']; // Security check if (isset($_GET["id"]) || isset($_GET["ref"])) { $id = isset($_GET["id"])?$_GET["id"]:(isset($_GET["ref"])?$_GET["ref"]:''); } $fieldid = isset($_GET["ref"])?'ref':'rowid'; if ($user->societe_id) $socid=$user->societe_id; $result=restrictedArea($user,'produit|service',$id,'product','','',$fieldid); // Get parameters $page=$_GET["page"]; $sortorder=$_GET["sortorder"]; $sortfield=$_GET["sortfield"]; if (! $sortorder) $sortorder="ASC"; if (! $sortfield) $sortfield="name"; if ($page == -1) { $page = 0 ; } $offset = $conf->liste_limit * $page ; $pageprev = $page - 1; $pagenext = $page + 1; $product = new Product($db); if ($_GET['id'] || $_GET["ref"]) { if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); if ($_GET["id"]) $result = $product->fetch($_GET["id"]); if ($conf->produit->enabled) $upload_dir = $conf->produit->dir_output.'/'.dol_sanitizeFileName($product->ref); elseif ($conf->service->enabled) $upload_dir = $conf->service->dir_output.'/'.dol_sanitizeFileName($product->ref); } $modulepart='produit'; /* * Action envoie fichier */ if ($_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC)) { /* * Creation repertoire si n'existe pas */ if (! is_dir($upload_dir)) create_exdir($upload_dir); if (is_dir($upload_dir)) { $result = dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name'],0); if ($result > 0) { $mesg = '
'.$langs->trans("FileTransferComplete").'
'; //print_r($_FILES); } else if ($result == -99) { // Files infected by a virus $langs->load("errors"); $mesg = '
'.$langs->trans("ErrorFileIsInfectedWithAVirus").'
'; } else if ($result < 0) { // Echec transfert (fichier depassant la limite ?) $mesg = '
'.$langs->trans("ErrorFileNotUploaded").'
'; // print_r($_FILES); } } } /* * View */ $html = new Form($db); llxHeader("","",$langs->trans("CardProduct".$product->type)); if ($product->id) { if ( $error_msg ) { echo '
'.$error_msg.'

'; } if ($action=='delete') { $file = $upload_dir . '/' . $_GET['urlfile']; // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). $result=dol_delete_file($file); //if ($result >= 0) $mesg=$langs->trans("FileWasRemoced"); } $head=product_prepare_head($product, $user); $titre=$langs->trans("CardProduct".$product->type); $picto=($product->type==1?'service':'product'); dol_fiche_head($head, 'documents', $titre, 0, $picto); // Construit liste des fichiers $filearray=dol_dir_list($upload_dir,"files",0,'','\.meta$',$sortfield,(strtolower($sortorder)=='desc'?SORT_ASC:SORT_DESC),1); $totalsize=0; foreach($filearray as $key => $file) { $totalsize+=$file['size']; } print ''; // Reference print ''; print ''; print ''; // Libelle print ''; // Statut print ''; print ''; print ''; print '
'.$langs->trans("Ref").''; print $html->showrefnav($product,'ref','',1,'ref'); print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("Status").''; print $product->getLibStatut(2); print '
'.$langs->trans("NbOfAttachedFiles").''.sizeof($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; print ''; // Affiche formulaire upload $formfile=new FormFile($db); $formfile->form_attach_new_file(DOL_URL_ROOT.'/product/document.php?id='.$product->id,'',0,0,($user->rights->produit->creer||$user->rights->service->creer)); // List of document $param='&id='.$product->id; $formfile->list_of_documents($filearray,$product,'produit',$param); } else { print $langs->trans("UnkownError"); } $db->close(); llxFooter('$Date$ - $Revision$'); ?>