* Copyright (C) 2004-2006 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005 Regis Houssin * * 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. * * $Id$ * $Source$ */ /** \file htdocs/compta/facture/document.php \ingroup facture \brief Page de gestion des documents attachées à une facture \version $Revision$ */ require('./pre.inc.php'); require_once(DOL_DOCUMENT_ROOT."/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/invoice.lib.php"); $langs->load('propal'); $langs->load('compta'); $langs->load('other'); $user->getrights('facture'); if (!$user->rights->facture->lire) accessforbidden(); $facid=empty($_GET['facid']) ? 0 : intVal($_GET['facid']); $action=empty($_GET['action']) ? (empty($_POST['action']) ? '' : $_POST['action']) : $_GET['action']; /* * Actions */ // Envoi fichier if ($_POST["sendit"] && $conf->upload) { $facture = new Facture($db); if ($facture->fetch($facid)) { $upload_dir = $conf->facture->dir_output . "/" . $facture->ref; if (! is_dir($upload_dir)) create_exdir($upload_dir); 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); } } } } // Delete if ($action=='delete') { $facture = new Facture($db); if ($facture->fetch($facid)) { $upload_dir = $conf->facture->dir_output . "/" . $facture->ref; $file = $upload_dir . '/' . urldecode($_GET['urlfile']); dol_delete_file($file); $mesg = '
'.$langs->trans("FileWasRemoved").'
'; } } /* * Affichage */ llxHeader(); if ($facid > 0) { $facture = new Facture($db); if ($facture->fetch($facid)) { $facref = sanitize_string($facture->ref); $upload_dir = $conf->facture->dir_output.'/'.$facref; $societe = new Societe($db); $societe->fetch($facture->socid); $head = facture_prepare_head($facture); dolibarr_fiche_head($head, 'documents', $langs->trans('InvoiceCustomer')); // 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) && ! eregi('^\.',$file) && ! eregi('^CVS',$file) && ! eregi('\.meta$',$file)) { $filearray[$i]=$file; $totalsize+=filesize($upload_dir."/".$file); $i++; } } closedir($handle); } else { // print '
'.$langs->trans("ErrorCanNotReadDir",$upload_dir).'
'; } print ''; // Ref print ''; // Société print ''; print ''; print ''; print "
'.$langs->trans('Ref').''.$facture->ref.'
'.$langs->trans('Company').''.$societe->getNomUrl(1).'
'.$langs->trans("NbOfAttachedFiles").''.sizeof($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
\n"; print "\n"; if ($mesg) { print $mesg."
"; } // Affiche formulaire upload $html=new Form($db); $html->form_attach_new_file('document.php?facid='.$facture->id); // Affiche liste des documents existant print_titre($langs->trans("AttachedFiles")); print ''; print ''; print ''; print ''; print ''; print "\n"; if (is_dir($upload_dir)) { $handle=opendir($upload_dir); if ($handle) { $var=true; while (($file = readdir($handle))!==false) { if (! is_dir($dir.$file) && ! eregi('^\.',$file) && ! eregi('^CVS',$file) && ! eregi('\.meta$',$file)) { $var=!$var; print ''; print '\n"; print ''; print ''; print '\n"; } } closedir($handle); } else { print '
'.$langs->trans('ErrorCantOpenDir').' '.$upload_dir.'
'; } } print '
'.$langs->trans("Document").''.$langs->trans("Size").''.$langs->trans("Date").' 
'; echo ''.$file.''; print "'.filesize($upload_dir.'/'.$file). ' '.$langs->trans("bytes").''.strftime('%d %b %Y %H:%M:%S',filemtime($upload_dir.'/'.$file)).''; if ($file == $facref . '.pdf') { echo '-'; } else { echo ''.img_delete($langs->trans('Delete')).''; } print "
'; } else { dolibarr_print_error($db); } } else { print $langs->trans("UnkownError"); } $db->close(); llxFooter('$Date$ - $Revision$'); ?>