diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index 8fb68d93b16206a81995d2a1127ec2e3a89fc914..1b6e8bc5134b042d1b7854b50ce0dbb62600a71b 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -38,6 +38,7 @@ if (!$user->admin) // Constante et traduction de la description du module $modules = array( 'PRODUCTDESC'=>'FCKeditorForProductDescription', +'DETAILS'=>'FCKeditorForDetails', 'MAILING'=>'FCKeditorForMailing', ); @@ -45,18 +46,19 @@ foreach($modules as $const => $desc) { if ($_GET["action"] == 'activate_'.strtolower($const)) { - dolibarr_set_const($db, "FCKEDITOR_ENABLE_".$const, "1"); - Header("Location: fckeditor.php"); - exit; - } - else if ($_GET["action"] == 'disable_'.strtolower($const)) - { - dolibarr_del_const($db, "FCKEDITOR_ENABLE_".$const); - Header("Location: fckeditor.php"); - exit; - } + dolibarr_set_const($db, "FCKEDITOR_ENABLE_".$const, "1"); + Header("Location: fckeditor.php"); + exit; + } + if ($_GET["action"] == 'disable_'.strtolower($const)) + { + dolibarr_del_const($db, "FCKEDITOR_ENABLE_".$const); + Header("Location: fckeditor.php"); + exit; + } } + /* * Affiche page */ @@ -96,39 +98,35 @@ print "</tr>\n"; foreach($modules as $const => $desc) { $var=!$var; - print "<form method=\"post\" action=\"fckeditor.php\">"; - print '<input type="hidden" name="action" value="'.strtolower($const).'">'; print "<tr ".$bc[$var].">"; print '<td>'.$langs->trans($desc).'</td>'; print '<td align="center" width="20">'; - + $constante = FCKEDITOR_ENABLE_.$const; $value = $conf->global->$constante; - - if($value == 1) - { - print img_tick(); - } - - print '</td>'; - print '<td align="center" width="100">'; - - if($value == 0) - { - print '<a href="fckeditor.php?action=activate_'.strtolower($const).'">'.$langs->trans("Activate").'</a>'; - } - else if($value == 1) - { - print '<a href="fckeditor.php?action=disable_'.strtolower($const).'">'.$langs->trans("Disable").'</a>'; - } - print '</form>'; + + print $value == 1 ? img_tick() : ' '; + + print '</td>'; + print '<td align="center" width="100">'; + + if($value == 0) + { + print '<a href="fckeditor.php?action=activate_'.strtolower($const).'">'.$langs->trans("Activate").'</a>'; + } + else if($value == 1) + { + print '<a href="fckeditor.php?action=disable_'.strtolower($const).'">'.$langs->trans("Disable").'</a>'; + } + + print "</td>"; + print '</tr>'; } - print "</td>"; - print '</tr>'; - print '</table>'; +print '</table>'; + $db->close(); -llxFooter(); +llxFooter('$Date$ - $Revision$'); ?> diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index fa28d089c1c635f9aa2bac9bab3bb5b7bfc54847..7c8c2a0d1e3f48e86e70270025e50af80bc69d13 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -1160,7 +1160,7 @@ if ($_GET['propalid'] > 0) print '<br>'; } // �diteur wysiwyg - if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS) { require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); $oFCKeditor = new FCKeditor('desc'); diff --git a/htdocs/comm/propal/note.php b/htdocs/comm/propal/note.php index 2045b375c1d4b72aaf880483233823e194eb191b..eba39ad2379de94d7a503f3739558630755c23ca 100644 --- a/htdocs/comm/propal/note.php +++ b/htdocs/comm/propal/note.php @@ -119,10 +119,10 @@ if ($_GET['propalid']) print '<tr><td width="25%">'.$langs->trans('Ref').'</td><td colspan="3">'.$propal->ref_url.'</td></tr>'; // Soci�t� - print '<tr><td>'.$langs->trans('Company').'</td><td colspan="5">'.$societe->getNomUrl(1).'</td></tr>'; + print '<tr><td>'.$langs->trans('Company').'</td><td colspan="3">'.$societe->getNomUrl(1).'</td></tr>'; // Ligne info remises tiers - print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="5">'; + print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="3">'; if ($societe->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$societe->remise_client); else print $langs->trans("CompanyHasNoRelativeDiscount"); $absolute_discount=$societe->getCurrentDiscount(); @@ -133,14 +133,14 @@ if ($_GET['propalid']) print '</td></tr>'; // Date - print '<tr><td>'.$langs->trans('Date').'</td><td>'; + print '<tr><td>'.$langs->trans('Date').'</td><td colspan="3">'; print dolibarr_print_date($propal->date,'%a %d %B %Y'); print '</td>'; print '</tr>'; // Date fin propal print '<tr>'; - print '<td>'.$langs->trans('DateEndPropal').'</td><td>'; + print '<td>'.$langs->trans('DateEndPropal').'</td><td colspan="3">'; if ($propal->fin_validite) { print dolibarr_print_date($propal->fin_validite,'%a %d %B %Y'); diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php index f8bc418b3b611d01b3916b0adae810e4323182ce..d3f903ac7214119406a3ddc23caabee0fc5d0d02 100644 --- a/htdocs/commande/fiche.php +++ b/htdocs/commande/fiche.php @@ -1353,7 +1353,7 @@ else print '<br>'; } // �diteur wysiwyg - if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS) { require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); $oFCKeditor = new FCKeditor('eldesc'); diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 21afb5dceea3bc3b443724482e3077b01134c322..327c95efbe7b87d4f472ed687033a75304e9d3cb 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -1896,7 +1896,7 @@ else print '<br>'; } // �diteur wysiwyg - if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS) { require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); $oFCKeditor = new FCKeditor('desc'); diff --git a/htdocs/includes/modules/commande/pdf_einstein.modules.php b/htdocs/includes/modules/commande/pdf_einstein.modules.php index dd47005d39f996b94fa3701a14048dd13103252f..2a34bdce6bd28dfbf25435a523e29a4c10941fe6 100644 --- a/htdocs/includes/modules/commande/pdf_einstein.modules.php +++ b/htdocs/includes/modules/commande/pdf_einstein.modules.php @@ -40,6 +40,8 @@ require_once(DOL_DOCUMENT_ROOT."/product.class.php"); class pdf_einstein extends ModelePDFCommandes { + var $emetteur; // Objet societe qui emet + /** \brief Constructeur @@ -47,7 +49,7 @@ class pdf_einstein extends ModelePDFCommandes */ function pdf_einstein($db) { - global $conf,$langs; + global $conf,$langs,$mysoc; $this->db = $db; $this->name = "einstein"; @@ -72,21 +74,9 @@ class pdf_einstein extends ModelePDFCommandes if (defined("FACTURE_TVAOPTION") && FACTURE_TVAOPTION == 'franchise') $this->franchise=1; - // Recupere code pays de l'emmetteur - $this->emetteur->code_pays=substr($langs->defaultlang,-2); // Par defaut, si on trouve pas - $sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays"; - $sql .= " WHERE rowid = '".$conf->global->MAIN_INFO_SOCIETE_PAYS."'"; - $result=$this->db->query($sql); - if ($result) { - $obj = $this->db->fetch_object($result); - if ($obj->code) $this->emetteur->code_pays=$obj->code; - } - else { - dolibarr_print_error($this->db); - } - $this->db->free($result); - - $this->tva=array(); + // Recupere emmetteur + $this->emetteur=$mysoc; + if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'�tait pas d�fini // Defini position des colonnes $this->posxdesc=$this->marge_gauche+1; @@ -96,6 +86,7 @@ class pdf_einstein extends ModelePDFCommandes $this->posxdiscount=162; $this->postotalht=177; + $this->tva=array(); $this->atleastoneratenotnull=0; $this->atleastonediscount=0; } @@ -113,20 +104,6 @@ class pdf_einstein extends ModelePDFCommandes \brief Fonction g�n�rant la commande sur le disque \param id Id de la commande � g�n�rer \return int 1=ok, 0=ko - \remarks Variables utilis�es - \remarks MAIN_INFO_SOCIETE_NOM - \remarks MAIN_INFO_ADRESSE - \remarks MAIN_INFO_CP - \remarks MAIN_INFO_VILLE - \remarks MAIN_INFO_TEL - \remarks MAIN_INFO_FAX - \remarks MAIN_INFO_WEB - \remarks MAIN_INFO_SIRET - \remarks MAIN_INFO_SIREN - \remarks MAIN_INFO_RCS - \remarks MAIN_INFO_CAPITAL - \remarks MAIN_INFO_TVAINTRA - \remarks MAIN_INFO_LOGO */ function write_pdf_file($com,$outputlangs='') { @@ -218,11 +195,11 @@ class pdf_einstein extends ModelePDFCommandes $curY = $nexY; // Description de la ligne produit - $libelleproduitservice=$com->lignes[$i]->libelle; + $libelleproduitservice=_dol_htmlentities($com->lignes[$i]->libelle,0); if ($com->lignes[$i]->desc&&$com->lignes[$i]->desc!=$com->lignes[$i]->libelle) { if ($libelleproduitservice) $libelleproduitservice.="\n"; - $libelleproduitservice.=$com->lignes[$i]->desc; + $libelleproduitservice.=_dol_htmlentities($com->lignes[$i]->desc,$conf->global->FCKEDITOR_ENABLE_DETAILS); } // Si ligne associ�e � un code produit if ($com->lignes[$i]->fk_product) @@ -253,7 +230,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetFont('Arial','', 9); // Dans boucle pour g�rer multi-page - if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + if ($conf->fckeditor->enabled) { $pdf->writeHTMLCell(108, 4, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1); } @@ -662,7 +639,7 @@ class pdf_einstein extends ModelePDFCommandes */ function _pagehead(&$pdf, $com, $showadress=1, $outputlangs) { - global $conf,$mysoc; + global $conf; $outputlangs->load("main"); $outputlangs->load("bills"); @@ -677,8 +654,8 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetXY($this->marge_gauche,$posy); // Logo - $logo=$conf->societe->dir_logos.'/'.$mysoc->logo; - if ($mysoc->logo) + $logo=$conf->societe->dir_logos.'/'.$this->emetteur->logo; + if ($this->emetteur->logo) { if (is_readable($logo)) { @@ -739,28 +716,28 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetTextColor(0,0,60); $pdf->SetFont('Arial','B',11); if (defined("FAC_PDF_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM) $pdf->MultiCell(80, 4, FAC_PDF_SOCIETE_NOM, 0, 'L'); - else $pdf->MultiCell(80, 4, $mysoc->nom, 0, 'L'); + else $pdf->MultiCell(80, 4, $this->emetteur->nom, 0, 'L'); // Caract�ristiques emetteur $carac_emetteur = ''; if (defined("FAC_PDF_ADRESSE") && FAC_PDF_ADRESSE) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).FAC_PDF_ADRESSE; else { - $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$mysoc->adresse; - $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$mysoc->cp.' '.$mysoc->ville; + $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$this->emetteur->adresse; + $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$this->emetteur->cp.' '.$this->emetteur->ville; } $carac_emetteur .= "\n"; // Tel if (defined("FAC_PDF_TEL") && FAC_PDF_TEL) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Phone").": ".FAC_PDF_TEL; - elseif ($mysoc->tel) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Phone").": ".$mysoc->tel; + elseif ($this->emetteur->tel) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Phone").": ".$this->emetteur->tel; // Fax if (defined("FAC_PDF_FAX") && FAC_PDF_FAX) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Fax").": ".FAC_PDF_FAX; - elseif ($mysoc->fax) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Fax").": ".$mysoc->fax; + elseif ($this->emetteur->fax) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Fax").": ".$this->emetteur->fax; // EMail if (defined("FAC_PDF_MEL") && FAC_PDF_MEL) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Email").": ".FAC_PDF_MEL; - elseif ($mysoc->email) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Email").": ".$mysoc->email; + elseif ($this->emetteur->email) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Email").": ".$this->emetteur->email; // Web if (defined("FAC_PDF_WWW") && FAC_PDF_WWW) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Web").": ".FAC_PDF_WWW; - elseif ($mysoc->url) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Web").": ".$mysoc->url; + elseif ($this->emetteur->url) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->trans("Web").": ".$this->emetteur->url; $pdf->SetFont('Arial','',9); $pdf->SetXY($this->marge_gauche+2,$posy+8); @@ -812,36 +789,36 @@ class pdf_einstein extends ModelePDFCommandes // Premiere ligne d'info r�glementaires $ligne1=""; - if ($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE) + if ($this->emetteur->forme_juridique_code) { - $ligne1.=($ligne1?" - ":"").$html->forme_juridique_name($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE); + $ligne1.=($ligne1?" - ":"").$html->forme_juridique_name($this->emetteur->forme_juridique_code); } - if ($conf->global->MAIN_INFO_CAPITAL) + if ($this->emetteur->capital) { - $ligne1.=($ligne1?" - ":"").$outputlangs->trans("CapitalOf",$conf->global->MAIN_INFO_CAPITAL)." ".$outputlangs->trans("Currency".$conf->monnaie); + $ligne1.=($ligne1?" - ":"").$outputlangs->trans("CapitalOf",$this->emetteur->capital)." ".$outputlangs->trans("Currency".$conf->monnaie); } - if ($conf->global->MAIN_INFO_SIRET) + if ($this->emetteur->profid2) { - $ligne1.=($ligne1?" - ":"").$outputlangs->transcountry("ProfId2",$this->emetteur->code_pays).": ".$conf->global->MAIN_INFO_SIRET; + $ligne1.=($ligne1?" - ":"").$outputlangs->transcountry("ProfId2",$this->emetteur->pays_code).": ".$this->emetteur->profid2; } - if ($conf->global->MAIN_INFO_SIREN && (! $conf->global->MAIN_INFO_SIRET || $this->emetteur->code_pays != 'FR')) + if ($this->emetteur->profid1 && (! $this->emetteur->profid2 || $this->emetteur->pays_code != 'FR')) { - $ligne1.=($ligne1?" - ":"").$outputlangs->transcountry("ProfId1",$this->emetteur->code_pays).": ".$conf->global->MAIN_INFO_SIREN; - } - if ($conf->global->MAIN_INFO_APE) - { - $ligne1.=($ligne1?" - ":"").$outputlangs->transcountry("ProfId3",$this->emetteur->code_pays).": ".MAIN_INFO_APE; + $ligne1.=($ligne1?" - ":"").$outputlangs->transcountry("ProfId1",$this->emetteur->pays_code).": ".$this->emetteur->profid1; } // Deuxieme ligne d'info r�glementaires $ligne2=""; - if ($conf->global->MAIN_INFO_RCS) + if ($this->emetteur->profid3) + { + $ligne2.=($ligne1?" - ":"").$outputlangs->transcountry("ProfId3",$this->emetteur->pays_code).": ".$this->emetteur->profid3; + } + if ($this->emetteur->profid4) { - $ligne2.=($ligne2?" - ":"").$outputlangs->transcountry("ProfId4",$this->emetteur->code_pays).": ".$conf->global->MAIN_INFO_RCS; + $ligne2.=($ligne2?" - ":"").$outputlangs->transcountry("ProfId4",$this->emetteur->pays_code).": ".$this->emetteur->profid4; } - if ($conf->global->MAIN_INFO_TVAINTRA != '') + if ($this->emetteur->tva_intra != '') { - $ligne2.=($ligne2?" - ":"").$outputlangs->trans("VATIntraShort").": ".$conf->global->MAIN_INFO_TVAINTRA; + $ligne2.=($ligne2?" - ":"").$outputlangs->trans("VATIntraShort").": ".$this->emetteur->tva_intra; } $pdf->SetFont('Arial','',8); @@ -873,4 +850,17 @@ class pdf_einstein extends ModelePDFCommandes } +// Cette fonction est appel�e pour coder ou non une chaine en html +// selon qu'on compte l'afficher dans le PDF avec: +// writeHTMLCell -> a besoin d'etre encod� en HTML +// MutliCell -> ne doit pas etre encod� en HTML +function _dol_htmlentities($stringtoencode,$isstringalreadyhtml) +{ + global $conf; + + if ($isstringalreadyhtml) return $stringtoencode; + if ($conf->fckeditor->enabled) return htmlentities($stringtoencode); + return $stringtoencode; +} + ?> diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php index 28a3ce29e9f6d609656783bae9a630d6ab65a421..7a92caebe4b42687e2ba388eca9384232360f8e7 100644 --- a/htdocs/includes/modules/facture/pdf_crabe.modules.php +++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php @@ -214,11 +214,11 @@ class pdf_crabe extends ModelePDFFactures $curY = $nexY; // Description de la ligne produit - $libelleproduitservice=$fac->lignes[$i]->libelle; + $libelleproduitservice=_dol_htmlentities($fac->lignes[$i]->libelle,0); if ($fac->lignes[$i]->desc&&$fac->lignes[$i]->desc!=$fac->lignes[$i]->libelle) { if ($libelleproduitservice) $libelleproduitservice.="\n"; - $libelleproduitservice.=$fac->lignes[$i]->desc; + $libelleproduitservice.=_dol_htmlentities($fac->lignes[$i]->desc,$conf->global->FCKEDITOR_ENABLE_DETAILS); } // Si ligne associ�e � un code produit if ($fac->lignes[$i]->produit_id) @@ -254,7 +254,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('Arial','', 9); // Dans boucle pour g�rer multi-page - if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + if ($conf->fckeditor->enabled) { $pdf->writeHTMLCell(108, 4, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1); } @@ -961,4 +961,17 @@ class pdf_crabe extends ModelePDFFactures } +// Cette fonction est appel�e pour coder ou non une chaine en html +// selon qu'on compte l'afficher dans le PDF avec: +// writeHTMLCell -> a besoin d'etre encod� en HTML +// MutliCell -> ne doit pas etre encod� en HTML +function _dol_htmlentities($stringtoencode,$isstringalreadyhtml) +{ + global $conf; + + if ($isstringalreadyhtml) return $stringtoencode; + if ($conf->fckeditor->enabled) return htmlentities($stringtoencode); + return $stringtoencode; +} + ?> diff --git a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php index 3f5d2f240f8c23766c79326767d7a67b0a6c923f..852530f6b1c4e2b3bcd6ea71b951e9c6f34a733d 100644 --- a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php +++ b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php @@ -213,18 +213,19 @@ class pdf_propale_azur extends ModelePDFPropales $curY = $nexY; // Description de la ligne produit - $libelleproduitservice=$propale->lignes[$i]->libelle; - if ($propale->lignes[$i]->desc&&$propale->lignes[$i]->desc!=$propale->lignes[$i]->libelle) + $libelleproduitservice=_dol_htmlentities($propale->lignes[$i]->libelle,0); + if ($propale->lignes[$i]->desc && $propale->lignes[$i]->desc!=$propale->lignes[$i]->libelle) { if ($libelleproduitservice) $libelleproduitservice.="\n"; - $libelleproduitservice.=$propale->lignes[$i]->desc; + $libelleproduitservice.=_dol_htmlentities($propale->lignes[$i]->desc,$conf->global->FCKEDITOR_ENABLE_DETAILS); } // Si ligne associ�e � un code produit if ($propale->lignes[$i]->fk_product) { $prodser = new Product($this->db); - $prodser->fetch($propale->lignes[$i]->fk_product); + + // On ajoute la ref if ($prodser->ref) { $prefix_prodserv = ""; @@ -236,10 +237,10 @@ class pdf_propale_azur extends ModelePDFPropales $libelleproduitservice=$prefix_prodserv.$prodser->ref." - ".$libelleproduitservice; } - // Ajoute description du produit + // Ajoute description compl�te du produit if ($conf->global->PROP_ADD_PROD_DESC && !$conf->global->PRODUIT_CHANGE_PROD_DESC) { - if ($propale->lignes[$i]->product_desc&&$propale->lignes[$i]->product_desc!=$propale->lignes[$i]->libelle&&$propale->lignes[$i]->product_desc!=$propale->lignes[$i]->desc) + if ($propale->lignes[$i]->product_desc && $propale->lignes[$i]->product_desc!=$propale->lignes[$i]->libelle && $propale->lignes[$i]->product_desc!=$propale->lignes[$i]->desc) { if ($libelleproduitservice) $libelleproduitservice.="\n"; $libelleproduitservice.=$propale->lignes[$i]->product_desc; @@ -254,15 +255,15 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->SetFont('Arial','', 9); // Dans boucle pour g�rer multi-page - if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) - { - $pdf->writeHTMLCell(108, 4, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1); - } - else - { - $pdf->SetXY ($this->posxdesc-1, $curY); - $pdf->MultiCell(108, 4, $libelleproduitservice, 0, 'J'); - } + if ($conf->fckeditor->enabled) + { + $pdf->writeHTMLCell(108, 4, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1); + } + else + { + $pdf->SetXY ($this->posxdesc-1, $curY); + $pdf->MultiCell(108, 4, $libelleproduitservice, 0, 'J'); + } $nexY = $pdf->GetY(); @@ -867,4 +868,17 @@ class pdf_propale_azur extends ModelePDFPropales } +// Cette fonction est appel�e pour coder ou non une chaine en html +// selon qu'on compte l'afficher dans le PDF avec: +// writeHTMLCell -> a besoin d'etre encod� en HTML +// MutliCell -> ne doit pas etre encod� en HTML +function _dol_htmlentities($stringtoencode,$isstringalreadyhtml) +{ + global $conf; + + if ($isstringalreadyhtml) return $stringtoencode; + if ($conf->fckeditor->enabled) return htmlentities($stringtoencode); + return $stringtoencode; +} + ?> diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 69b14ffe62ec5b8b335c5f33ec3707ef2eb8baa2..a8c33e4991dc1d0ee1d5d57134097c0c1896f2a8 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -529,5 +529,6 @@ DeliveryOrderModel=Products deliveries receipt model DeliveriesOrderAbility=Products deliveries receipt ability ##### FCKeditor ##### ActivateFCKeditor=Activate FCKeditor for: -FCKeditorForProductDescription=Creation/edition of products/services description (in all modules) -FCKeditorForMailing=Creation/edition mailings \ No newline at end of file +FCKeditorForProductDescription=WYSIWIG creation/edition of products/services description and note +FCKeditorForDetails=WYSIWIG creation/edition of details lines for all entities (proposals, orders, invoices, etc...) +FCKeditorForMailing=WYSIWIG creation/edition of mailings diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 6f14493d48bda4c6762f1860f7c8df873512cb45..0e8adc13581d84b75a63484df606e039ffba47d0 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -529,5 +529,6 @@ DeliveryOrderModel=Mod DeliveriesOrderAbility=Prise en charge des bons de r�ception client ##### FCKeditor ##### ActivateFCKeditor=Activer FCKeditor pour : -FCKeditorForProductDescription=Cr�ation/�dition de la description des produits/services (dans tous les modules) -FCKeditorForMailing=Cr�ation/�dition des mailings \ No newline at end of file +FCKeditorForProductDescription=Cr�ation/�dition WYSIWIG de la description et note des produits/services +FCKeditorForDetails=Cr�ation/�dition WYSIWIG des lignes details des entit�s (commandes, propales, factures, etc...) +FCKeditorForMailing=Cr�ation/�dition WYSIWIG des mailings diff --git a/htdocs/product/fiche.php b/htdocs/product/fiche.php index 46f4182153f4e964011c15e1720c114f2a87a141..8a51a1e03783c976f42b731adb94c5007dd8f069 100644 --- a/htdocs/product/fiche.php +++ b/htdocs/product/fiche.php @@ -451,18 +451,19 @@ if ($_GET["action"] == 'create' && $user->rights->produit->creer) // Description print '<tr><td valign="top">'.$langs->trans("Description").'</td><td>'; - if ($conf->fckeditor->enabled) - { - require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); - $oFCKeditor = new FCKeditor('desc'); - $oFCKeditor->Create() ; - } - else - { - print '<textarea name="desc" rows="4" cols="50">'; - } + if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + { + require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); + $oFCKeditor = new FCKeditor('desc'); + $oFCKeditor->Create() ; + } + else + { + print '<textarea name="desc" rows="4" cols="50">'; + print '</textarea>'; + } - print "</textarea></td></tr>"; + print "</td></tr>"; if ($_GET["type"] == 1) { @@ -475,9 +476,19 @@ if ($_GET["action"] == 'create' && $user->rights->produit->creer) } // Note - print '<tr><td valign="top">'.$langs->trans("Note").'</td><td>'; - print '<textarea name="note" rows="8" cols="50">'; - print "</textarea></td></tr>"; + print '<tr><td valign="top">'.$langs->trans("NoteNotVisibleOnBill").'</td><td>'; + if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + { + require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); + $oFCKeditor = new FCKeditor('note'); + $oFCKeditor->Create() ; + } + else + { + print '<textarea name="note" rows="8" cols="50">'; + print '</textarea>'; + } + print "</td></tr>"; print '<tr><td colspan="3" align="center"><input type="submit" class="button" value="'.$langs->trans("Create").'"></td></tr>'; print '</table>'; @@ -765,7 +776,7 @@ if ($_GET["id"] || $_GET["ref"]) // Description print '<tr><td valign="top">'.$langs->trans("Description").'</td><td colspan="2">'; print "\n"; - if ($conf->fckeditor->enabled) + if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) { require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); $oFCKeditor = new FCKeditor('desc'); @@ -777,8 +788,8 @@ if ($_GET["id"] || $_GET["ref"]) print '<textarea name="desc" rows="4" cols="50">'; print $product->description; print "</textarea>"; - print "</td></tr>"; } + print "</td></tr>"; print "\n"; if ($product->type == 1) @@ -798,9 +809,21 @@ if ($_GET["id"] || $_GET["ref"]) // Note print '<tr><td valign="top">'.$langs->trans("NoteNotVisibleOnBill").'</td><td colspan="2">'; - print '<textarea name="note" rows="8" cols="50">'; - print $product->note; - print "</textarea></td></tr>"; + if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) + { + require_once(DOL_DOCUMENT_ROOT."/includes/fckeditor/fckeditor.php"); + $oFCKeditor = new FCKeditor('note'); + $oFCKeditor->Value = $product->note; + $oFCKeditor->Create() ; + } + else + { + print '<textarea name="note" rows="8" cols="50">'; + print $product->description; + print "</textarea>"; + } + print "</td></tr>"; + print '<tr><td colspan="3" align="center"><input type="submit" class="button" value="'.$langs->trans("Save").'"> '; print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>'; print '</table>';