* Copyright (C) 2004 Éric Seigne * Copyright (C) 2004-2005 Laurent Destailleur * Copyright (C) 2005-2006 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/commande/apercu.php \ingroup commande \brief Page de l'onglet aperçu d'une commande \version $Revision$ */ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/order.lib.php"); $user->getrights('commande'); $user->getrights('expedition'); if (!$user->rights->commande->lire) accessforbidden(); $langs->load('orders'); $langs->load('propal'); $langs->load("bills"); $langs->load('compta'); $langs->load('sendings'); require_once(DOL_DOCUMENT_ROOT.'/commande/commande.class.php'); require_once(DOL_DOCUMENT_ROOT.'/propal.class.php'); if ($conf->projet->enabled) { require_once(DOL_DOCUMENT_ROOT."/project.class.php"); } /* * Sécurité accés client */ if ($user->societe_id > 0) { $action = ''; $socid = $user->societe_id; } llxHeader(); $html = new Form($db); /* *************************************************************************** */ /* */ /* Mode fiche */ /* */ /* *************************************************************************** */ if ($_GET["id"] > 0) { $commande = new Commande($db); if ( $commande->fetch($_GET["id"], $user->societe_id) > 0) { $soc = new Societe($db, $commande->socid); $soc->fetch($commande->socid); $head = commande_prepare_head($commande); dolibarr_fiche_head($head, 'preview', $langs->trans("CustomerOrder")); /* * Commande */ $sql = 'SELECT s.nom, s.idp, c.amount_ht, c.fk_projet, c.remise, c.tva, c.total_ttc, c.ref, c.fk_statut, '.$db->pdate('c.date_commande').' as dp, c.note,'; $sql.= ' c.fk_user_author, c.fk_user_valid, c.fk_user_cloture, c.date_creation, c.date_valid, c.date_cloture'; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'commande as c'; $sql.= ' WHERE c.fk_soc = s.idp'; $sql.= ' AND c.rowid = '.$commande->id; if ($socid) $sql .= ' AND s.idp = '.$socid; $result = $db->query($sql); if ($result) { if ($db->num_rows($result)) { $obj = $db->fetch_object($result); $societe = new Societe($db); $societe->fetch($obj->idp); print ''; // Ref print '"; print ''; print '"; // Ref cde client print ''; print ''; $nbrow=6; print '"; // Client print ""; print ''; print ''; // Statut print ''; print "\n"; print ''; // Date print ''; print "\n"; print ''; // ligne 6 // partie Gauche print ''; print ''; print ''; // ligne 7 // partie Gauche print ''; print ''; print ''; print '
'.$langs->trans("Ref")."'.$commande->ref.''.$langs->trans("Source").' : ' . $commande->sources[$commande->source] ; if ($commande->source == 0) { // Propale $propal = new Propal($db); $propal->fetch($commande->propale_id); print ' -> '.$propal->ref.''; } print "
'; print ''; print '
'; print $langs->trans('RefCustomer').''; print '
'; print '
'; print $commande->ref_client; print ''; /* * Documents */ $commanderef = sanitize_string($commande->ref); $dir_output = $conf->commande->dir_output . "/"; $filepath = $dir_output . $commanderef . "/"; $file = $filepath . $commanderef . ".pdf"; $filedetail = $filepath . $commanderef . "-detail.pdf"; $relativepath = "${commanderef}/${commanderef}.pdf"; $relativepathdetail = "${commanderef}/${commanderef}-detail.pdf"; // Chemin vers png aperçus $relativepathimage = "${commanderef}/${commanderef}.pdf.png"; $fileimage = $file.".png"; // Si PDF d'1 page $fileimagebis = $file.".png.0"; // Si PDF de plus d'1 page $var=true; // Si fichier PDF existe if (file_exists($file)) { $encfile = urlencode($file); print_titre($langs->trans("Documents")); print ''; print ""; print ''; print ''; print ''; print ''; // Si fichier detail PDF existe if (file_exists($filedetail)) { // commande détaillée supplémentaire print ""; print ''; print ''; print ''; print ''; } print "
".$langs->trans("Order")." PDF'.$commande->ref.'.pdf'.filesize($file). ' bytes'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'
Commande détaillée'.$commande->ref.'-detail.pdf'.filesize($filedetail). ' bytes'.strftime("%d %b %Y %H:%M:%S",filemtime($filedetail)).'
\n"; // Conversion du PDF en image png si fichier png non existant if (! file_exists($fileimage) && ! file_exists($fileimagebis)) { if (function_exists("imagick_readimage")) { $handle = imagick_readimage( $file ) ; if ( imagick_iserror( $handle ) ) { $reason = imagick_failedreason( $handle ) ; $description = imagick_faileddescription( $handle ) ; print "handle failed!
\nReason: $reason
\nDescription: $description
\n"; } imagick_convert( $handle, "PNG" ) ; if ( imagick_iserror( $handle ) ) { $reason = imagick_failedreason( $handle ) ; $description = imagick_faileddescription( $handle ) ; print "handle failed!
\nReason: $reason
\nDescription: $description
\n"; } imagick_writeimages( $handle, $file .".png"); } else { $langs->load("other"); print ''.$langs->trans("ErrorNoImagickReadimage").''; } } } print "
".$langs->trans("Customer")."'; print ''.$societe->nom.''; print '
'.$langs->trans("Status").'".$commande->getLibStatut(4)."
'.$langs->trans("Date").'".dolibarr_print_date($commande->date,"%A %d %B %Y")."
'.$langs->trans('GlobalDiscount').''.$commande->remise_percent.'%
'.$langs->trans('AmountHT').''.price($commande->total_ht).''.$langs->trans("Currency".$conf->monnaie).'
'; } } else { dolibarr_print_error($db); } } else { // Commande non trouvée print $langs->trans("ErrorPropalNotFound",$_GET["id"]); } } // Si fichier png PDF d'1 page trouvé if (file_exists($fileimage)) { print ''; } // Si fichier png PDF de plus d'1 page trouvé elseif (file_exists($fileimagebis)) { $multiple = $relativepathimage . "."; for ($i = 0; $i < 20; $i++) { $preview = $multiple.$i; if (file_exists($dir_output.$preview)) { print '

'; } } } print ''; // Juste pour éviter bug IE qui réorganise mal div précédents si celui-ci absent print '

'; print '
'; $db->close(); llxFooter('$Date$ - $Revision$'); ?>