diff --git a/htdocs/comm/propal/apercu.php b/htdocs/comm/propal/apercu.php index 09684625354..02889d1d7bb 100644 --- a/htdocs/comm/propal/apercu.php +++ b/htdocs/comm/propal/apercu.php @@ -29,6 +29,7 @@ require("../../main.inc.php"); require_once(DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'); require_once(DOL_DOCUMENT_ROOT."/lib/propal.lib.php"); +require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php"); if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT."/projet/class/project.class.php"); $langs->load('propal'); @@ -58,161 +59,158 @@ $html = new Form($db); if ($_GET["id"] > 0) { - $propal = new Propal($db); + $object = new Propal($db); - if ( $propal->fetch($_GET["id"], $user->societe_id) > 0) + if ($object->fetch($id,$ref) > 0) { - $soc = new Societe($db, $propal->socid); - $soc->fetch($propal->socid); + $soc = new Societe($db, $object->socid); + $soc->fetch($object->socid); - $head = propal_prepare_head($propal); + $head = propal_prepare_head($object); dol_fiche_head($head, 'preview', $langs->trans('Proposal'), 0, 'propal'); /* * Propal */ - $sql = 'SELECT s.nom, s.rowid, p.price, p.fk_projet, p.remise, p.tva, p.total, p.ref, p.fk_statut, p.datep as dp, p.note,'; - $sql.= ' p.fk_user_author, p.fk_user_valid, p.fk_user_cloture, p.datec, p.date_valid, p.date_cloture'; - $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s'; - $sql.= ', '.MAIN_DB_PREFIX.'propal as p'; - $sql.= ' WHERE p.fk_soc = s.rowid'; - $sql.= ' AND p.rowid = '.$propal->id; - - $result = $db->query($sql); - - if ($result) { - if ($db->num_rows($result)) { - $obj = $db->fetch_object($result); - - $societe = new Societe($db); - $societe->fetch($obj->rowid); - - print ''; - - // Ref - print ''; - - // Ref client - print ''; + print '
'.$langs->trans('Ref').''.$propal->ref.'
'; - print ''; - print '
'; - print $langs->trans('RefCustomer').''; - print '
'; - print '
'; - print $propal->ref_client; - print '
'; + + // Ref + print ''; + + // Ref client + print ''; + print ''; + + $rowspan=2; + + // Tiers + print ''; + print ''; + + // Ligne info remises tiers + print ''; + + // ligne + // partie Gauche + print ''; + + // partie Droite sur $rowspan lignes + print '"; - print ''; - - print ''; - print ''; - print ''; - print '
'.$langs->trans('Ref').''.$object->ref.'
'; + print ''; + print '
'; + print $langs->trans('RefCustomer').''; + print '
'; + print '
'; + print $object->ref_client; + print '
'.$langs->trans('Company').''.$soc->getNomUrl(1).'
'.$langs->trans('Discounts').''; + if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client); + else print $langs->trans("CompanyHasNoRelativeDiscount"); + $absolute_discount=$soc->getAvailableDiscounts(); + print '. '; + if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->trans("Currency".$conf->monnaie)); + else print $langs->trans("CompanyHasNoAbsoluteDiscount"); + print '.'; + print '
'.$langs->trans('Date').''; + print dol_print_date($propal->date,'daytext'); + print ''; + + /* + * Documents + */ + $propalref = dol_sanitizeFileName($propal->ref); + $dir_output = $conf->propale->dir_output . "/"; + $filepath = $dir_output . $propalref . "/"; + $file = $filepath . $propalref . ".pdf"; + $filedetail = $filepath . $propalref . "-detail.pdf"; + $relativepath = "${propalref}/${propalref}.pdf"; + $relativepathdetail = "${propalref}/${propalref}-detail.pdf"; + + // Chemin vers png apercus + $relativepathimage = "${propalref}/${propalref}.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 + // TODO obsolete ? + if (file_exists($filedetail)) + { + print ""; + + print ''; + print ''; + print ''; print ''; - - $rowspan=2; - - // Tiers - print ''; - print ''; - - // Ligne info remises tiers - print ''; - - // ligne - // partie Gauche - print ''; - - // partie Droite sur $rowspan lignes - print '
".$langs->trans("Propal")." PDF'.$propal->ref.'.pdf'.dol_print_size(dol_filesize($file)).''.dol_print_date(dol_filemtime($file),'dayhour').'
Propal detaillee'.$propal->ref.'-detail.pdf'.dol_print_size(dol_filesize($filedetail)).''.dol_print_date(dol_filemtime($filedetail),'dayhour').'
'.$langs->trans('Company').''.$societe->getNomUrl(1).'
'.$langs->trans('Discounts').''; - if ($societe->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$societe->remise_client); - else print $langs->trans("CompanyHasNoRelativeDiscount"); - $absolute_discount=$societe->getAvailableDiscounts(); - print '. '; - if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->trans("Currency".$conf->monnaie)); - else print $langs->trans("CompanyHasNoAbsoluteDiscount"); - print '.'; - print '
'.$langs->trans('Date').''; - print dol_print_date($propal->date,'daytext'); - print ''; - - /* - * Documents - */ - $propalref = dol_sanitizeFileName($propal->ref); - $dir_output = $conf->propale->dir_output . "/"; - $filepath = $dir_output . $propalref . "/"; - $file = $filepath . $propalref . ".pdf"; - $filedetail = $filepath . $propalref . "-detail.pdf"; - $relativepath = "${propalref}/${propalref}.pdf"; - $relativepathdetail = "${propalref}/${propalref}-detail.pdf"; - - // Chemin vers png apercus - $relativepathimage = "${propalref}/${propalref}.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)) + } + print "
\n"; + + // Conversion du PDF en image png si fichier png non existant + if (! file_exists($fileimage) && ! file_exists($fileimagebis)) + { + if (class_exists("Imagick")) { - $encfile = urlencode($file); - print_titre($langs->trans("Documents")); - print ''; - - print ""; - - print ''; - print ''; - print ''; - print ''; - - // Si fichier detail PDF existe - if (file_exists($filedetail)) { // propal detaillee supplementaire - print ""; - - print ''; - print ''; - print ''; - print ''; - } - print "
".$langs->trans("Propal")." PDF'.$propal->ref.'.pdf'.dol_print_size(dol_filesize($file)).''.dol_print_date(dol_filemtime($file),'dayhour').'
Propal detaillee'.$propal->ref.'-detail.pdf'.dol_print_size(dol_filesize($filedetail)).''.dol_print_date(dol_filemtime($filedetail),'dayhour').'
\n"; - - // Conversion du PDF en image png si fichier png non existant - if (! file_exists($fileimage) && ! file_exists($fileimagebis)) + $image=new Imagick(); + $image->readImage($file) ; + + /* + if ( imagick_iserror( $handle ) ) { - if (class_exists("Imagick")) - { - $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").''; - } + $reason = imagick_failedreason( $handle ) ; + $description = imagick_faileddescription( $handle ) ; + + print "handle failed!
\nReason: $reason
\nDescription: $description
\n"; + } + */ + + $image->setImageFormat("PNG"); + + /* + if ( imagick_iserror( $handle ) ) + { + $reason = imagick_failedreason( $handle ) ; + $description = imagick_faileddescription( $handle ) ; + print "handle failed!
\nReason: $reason
\nDescription: $description
\n"; + } + */ + + $image->writeImage($file.".png"); + + } + else + { + $langs->load("other"); + print ''.$langs->trans("ErrorNoImagickReadimage").''; } } - - print "
'.$langs->trans('AmountHT').''.price($propal->price).''.$langs->trans("Currency".$conf->monnaie).'
'; } - } else { - dol_print_error($db); - } - } else { + + print ""; + print ''; + + print ''.$langs->trans('AmountHT').''; + print ''.price($propal->price).''; + print ''.$langs->trans("Currency".$conf->monnaie).''; + print ''; + } + else + { // Propal non trouvee print $langs->trans("ErrorPropalNotFound",$_GET["id"]); }