diff --git a/htdocs/comm/list.php b/htdocs/comm/list.php index e7d6cd2811dee1861b2d6f2a3aba9fbaf8d7a195..28696228e459605107ad6a19005d6d12a3c4c253 100755 --- a/htdocs/comm/list.php +++ b/htdocs/comm/list.php @@ -137,6 +137,8 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($conf->liste_limit +1, $offset); +dol_syslog('comm:list.php: sql='.$sql,LOG_DEBUG); + $result = $db->query($sql); if ($result) { diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 0f4264b223f01456660cf0530f5018a98252bf33..c56516257f77de97ff14d339ff82a602ea5ecf15 100755 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -245,10 +245,10 @@ abstract class CommonDocGenerator $array_key.'_payment_mode'=>($outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code)!='PaymentType'.$object->mode_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code):$object->mode_reglement), $array_key.'_payment_term_code'=>$object->cond_reglement_code, $array_key.'_payment_term'=>($outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code)!='PaymentCondition'.$object->cond_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code):$object->cond_reglement), - $array_key.'_total_ht'=>price2num($object->total_ht2,2), - $array_key.'_total_vat'=>price2num($object->total_tva,2), - $array_key.'_total_ttc'=>price2num($object->total_ttc,2), - $array_key.'_total_discount_ht' => price2num($object->getTotalDiscount(),2), + $array_key.'_total_ht'=>price($object->total_ht2), + $array_key.'_total_vat'=>price($object->total_tva), + $array_key.'_total_ttc'=>price($object->total_ttc), + $array_key.'_total_discount_ht' => price($object->getTotalDiscount()), $array_key.'_vatrate'=>vatrate($object->tva), $array_key.'_note_private'=>$object->note, $array_key.'_note'=>$object->note_public, @@ -293,12 +293,12 @@ abstract class CommonDocGenerator 'line_product_label'=>$line->product_label, 'line_desc'=>$line->desc, 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), - 'line_up'=>price2num($line->subprice, 2), + 'line_up'=>price($line->subprice), 'line_qty'=>$line->qty, 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), - 'line_price_ht'=>price2num($line->total_ht,2), - 'line_price_ttc'=>price2num($line->total_ttc,2), - 'line_price_vat'=>price2num($line->total_tva,2), + 'line_price_ht'=>price($line->total_ht), + 'line_price_ttc'=>price($line->total_ttc), + 'line_price_vat'=>price($line->total_tva), 'line_date_start'=>$line->date_start, 'line_date_end'=>$line->date_end ); diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index 3330f491e707eba441008f61e19e312027d326e3..623a6b9c8c6658513d9c55c7ffcb026e0a73f82f 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -520,10 +520,20 @@ class doc_generic_order_odt extends ModelePDFCommandes // Write new file if (!empty($conf->global->MAIN_ODT_AS_PDF)) { - $odfHandler->exportAsAttachedPDF($file); + try { + $odfHandler->exportAsAttachedPDF($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } else { + try { $odfHandler->saveToDisk($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } if (! empty($conf->global->MAIN_UMASK)) diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index 8aa417c83c022b679d54af1ae0f7d169ba98d411..b65c61714308a9a99801bbd88feb1eb2be3be558 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -498,10 +498,20 @@ class doc_generic_invoice_odt extends ModelePDFFactures // Write new file if (!empty($conf->global->MAIN_ODT_AS_PDF)) { - $odfHandler->exportAsAttachedPDF($file); + try { + $odfHandler->exportAsAttachedPDF($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } else { + try { $odfHandler->saveToDisk($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } if (! empty($conf->global->MAIN_UMASK)) diff --git a/htdocs/core/modules/project/pdf/doc_generic_project_odt.modules.php b/htdocs/core/modules/project/pdf/doc_generic_project_odt.modules.php index 4c81babaa551cf0faaed57d29a82c470e5f38f39..a2f8c5fd07a5da01fd2404bcec6b646e1e97ea62 100644 --- a/htdocs/core/modules/project/pdf/doc_generic_project_odt.modules.php +++ b/htdocs/core/modules/project/pdf/doc_generic_project_odt.modules.php @@ -974,10 +974,20 @@ class doc_generic_project_odt extends ModelePDFProjects // Write new file if (!empty($conf->global->MAIN_ODT_AS_PDF)) { - $odfHandler->exportAsAttachedPDF($file); + try { + $odfHandler->exportAsAttachedPDF($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } else { + try { $odfHandler->saveToDisk($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } if (! empty($conf->global->MAIN_UMASK)) diff --git a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php index d4e485562a4d139991fa8b57a1932696104a1cdf..6a7384ba4d9915977ac05ab0384841b1ea57c86a 100644 --- a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php +++ b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php @@ -483,10 +483,20 @@ class doc_generic_proposal_odt extends ModelePDFPropales // Write new file if (!empty($conf->global->MAIN_ODT_AS_PDF)) { - $odfHandler->exportAsAttachedPDF($file); + try { + $odfHandler->exportAsAttachedPDF($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } else { + try { $odfHandler->saveToDisk($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } if (! empty($conf->global->MAIN_UMASK)) diff --git a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php index e748e45a498fbc33565552ba4011d1199ae2f18e..6ab06aef2e9fed32612d2357a0196eb259a98e40 100644 --- a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php +++ b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php @@ -325,10 +325,20 @@ class doc_generic_odt extends ModeleThirdPartyDoc // Write new file if (!empty($conf->global->MAIN_ODT_AS_PDF)) { - $odfHandler->exportAsAttachedPDF($file); + try { + $odfHandler->exportAsAttachedPDF($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } else { + try { $odfHandler->saveToDisk($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } } if (! empty($conf->global->MAIN_UMASK)) diff --git a/htdocs/includes/odtphp/odf.php b/htdocs/includes/odtphp/odf.php index 4f91157438b9aec4baa15a20142364a4ec3d1381..5326af0e1161fe8c2224ba5b5b3129b6727745d1 100644 --- a/htdocs/includes/odtphp/odf.php +++ b/htdocs/includes/odtphp/odf.php @@ -452,14 +452,18 @@ IMG; if( $name == "" ) $name = md5(uniqid()); - //dol_syslog(get_class($this).'::exportAsAttachedPDF $name='.$name, LOG_DEBUG); + dol_syslog(get_class($this).'::exportAsAttachedPDF $name='.$name, LOG_DEBUG); $this->saveToDisk($name); $execmethod=(empty($conf->global->MAIN_EXEC_USE_POPEN)?1:2); // 1 or 2 - + $name=str_replace('.odt', '', $name); $command = DOL_DOCUMENT_ROOT.'/includes/odtphp/odt2pdf.sh '.$name; - //dol_syslog('$execmethod='.$execmethod.' Run command='.$command); + + //$dirname=dirname($name); + //$command = DOL_DOCUMENT_ROOT.'/includes/odtphp/odt2pdf.sh '.$name.' '.$dirname; + + dol_syslog(get_class($this).'::exportAsAttachedPDF $execmethod='.$execmethod.' Run command='.$command,LOG_DEBUG); if ($execmethod == 1) { exec($command, $output_arr, $retval); @@ -470,7 +474,7 @@ IMG; $handle = fopen($outputfile, 'w'); if ($handle) { - dol_syslog("Run command ".$command); + dol_syslog(get_class($this)."Run command ".$command,LOG_DEBUG); $handlein = popen($command, 'r'); while (!feof($handlein)) { @@ -486,7 +490,7 @@ IMG; if($retval == 0) { - //dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG); + dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG); if (headers_sent($filename, $linenum)) { throw new OdfException("headers already sent ($filename at $linenum)"); } @@ -498,12 +502,18 @@ IMG; } unlink("$name.odt"); } else { - //dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG); - //dol_syslog(get_class($this).'::exportAsAttachedPDF $output_arr='.var_export($output_arr,true), LOG_DEBUG); - echo "Error occured:<br>"; - foreach($output_arr as $line) - echo $line."<br>"; - //dol_syslog(get_class($this).'::exportAsAttachedPDF ERROR $line='.$line, LOG_DEBUG); + dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG); + dol_syslog(get_class($this).'::exportAsAttachedPDF $output_arr='.var_export($output_arr,true), LOG_DEBUG); + + if ($retval==126) { + throw new OdfException('Permission execute convert script : ' . $command); + } + else { + foreach($output_arr as $line) { + $errors.= $line."<br>"; + } + throw new OdfException('ODT to PDF convert fail : ' . $errors); + } } } diff --git a/htdocs/includes/odtphp/odt2pdf.sh b/htdocs/includes/odtphp/odt2pdf.sh index b971068246555ec225020c988c2281982392eb1b..9268b4a680f6d14f9795acf519b7fd540ba8e69e 100755 --- a/htdocs/includes/odtphp/odt2pdf.sh +++ b/htdocs/includes/odtphp/odt2pdf.sh @@ -1,22 +1,45 @@ #!/bin/bash # @copyright GPL License 2010 - Vikas Mahajan - http://vikasmahajan.wordpress.com +# @copyright GPL License 2013 - Florian HEnry - florian.henry@open-concept.pro + +# +#if [ -f "$1.odt" ] +# then +# soffice --invisible --convert-to pdf:writer_pdf_Export --outdir $2 "$1.odt" +# retcode=$? +# if [ $retcode -ne 0 ] +# then +# echo "Error while converting odt to pdf: $retcode"; +# exit 1 +# fi +# else +# echo "Error: Odt file does not exist" +# exit 1 +#fi if [ -f "$1.odt" ] -then -pgrep -U `id -u` soffice -if [ $? -ne 0 ] -then -soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard -sleep 2 -fi -jodconverter "$1.odt" "$1.pdf" -if [ $? -ne 0 ] -then -echo "Error while converting odt to pdf" -exit 1 -fi -sleep 1 -else -echo "Error: Odt file does not exist" -exit 1 + then + nbprocess=$(pgrep -c soffice) + if [ $nbprocess -ne 1 ] + then + soffice --invisible --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard --headless + retcode=$? + if [ $retcode -ne 0 ] + then + echo "Error running soffice: $retcode" + exit 1 + fi + sleep 2 + fi + jodconverter "$1.odt" "$1.pdf" + retcode=$? + if [ $retcode -ne 0 ] + then + echo "Error while converting odt to pdf: $retcode" + exit 1 + fi + sleep 1 + else + echo "Error: Odt file does not exist" + exit 1 fi diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index 2ef97b1cb2667af2fbf505456fbc52b1d73d0ac5..fc0264e1826727014be844a4f0b14d70039f0d58 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -354,6 +354,7 @@ ExtrafieldPhone=Telèfon ExtrafieldPrice=Preu ExtrafieldMail=Correu ExtrafieldSelect=Llista de selecció +ExtrafieldSelectList=Llista de selecció de table ExtrafieldSeparator=Separador ExtrafieldCheckBox=Casella de verificació ExtrafieldRadio=Botó de selecció excloent diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 13cd8e505f859088737551c8de64d46900be564e..d569e0a261d0f6cc2a6a96db1c697d6803c1fcf6 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -359,6 +359,7 @@ ExtrafieldPhone = Phone ExtrafieldPrice = Price ExtrafieldMail = Email ExtrafieldSelect = Select list +ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index 86b6cba5a971a413a5cbe5ef6f2b5f1c23c9de6e..fe4aeba479c54acaf165d6192865fee4dd9912a0 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -356,6 +356,7 @@ ExtrafieldPhone=Teléfono ExtrafieldPrice=Precio ExtrafieldMail=Correo ExtrafieldSelect=Lista de selección +ExtrafieldSelectList=Llista de selección de table ExtrafieldSeparator=Separador ExtrafieldCheckBox=Casilla de verificación ExtrafieldRadio=Botón de selección excluyente diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 3b1d3c2f7bcf676bd2de00df1db0b4bd808342e9..1dbd9f6df487e1fe269c861bd8e43aee487bcfc1 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -356,6 +356,7 @@ ExtrafieldPhone = Téléphone ExtrafieldPrice = Prix ExtrafieldMail = Email ExtrafieldSelect = Liste de sélection +ExtrafieldSelectList = Liste issue d'une table ExtrafieldSeparator = Séparateur de champ ExtrafieldCheckBox=Case à cocher ExtrafieldRadio=Case d'option diff --git a/htdocs/product/liste.php b/htdocs/product/liste.php index 9fb9aa8de51a3c9f308194716a1197971a9770be..29188400653b735d4906df2bd18e36b7f3a7b4a3 100644 --- a/htdocs/product/liste.php +++ b/htdocs/product/liste.php @@ -169,7 +169,7 @@ else $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($limit + 1, $offset); - dol_syslog("sql=".$sql); + dol_syslog("product:list.php: sql=".$sql); $resql = $db->query($sql); if ($resql) {