Fix: fichier converti par erreur en utf8, ce qui faisait apparaitre les caractères accentués avec un petit carré !!!!

This commit is contained in:
Regis Houssin 2007-11-26 14:50:40 +00:00
parent 285ff025f3
commit 7438d55915
8 changed files with 382 additions and 380 deletions

View File

@ -2,3 +2,5 @@ index.php
documents documents
*.htaccess *.htaccess
*.settings *.settings
.settings
*.project

View File

@ -56,7 +56,7 @@ print_titre($langs->trans("NewProp"));
$html=new Form($db); $html=new Form($db);
// R<EFBFBD>cup<EFBFBD>ration de l'id de projet // Récupération de l'id de projet
$projetid = 0; $projetid = 0;
if ($_GET["projetid"]) if ($_GET["projetid"])
{ {
@ -141,12 +141,12 @@ if ($_GET["action"] == 'create')
print '<tr><td>'.$langs->trans("ValidityDuration").'</td><td colspan="2"><input name="duree_validite" size="5" value="'.$conf->global->PROPALE_VALIDITY_DURATION.'"> '.$langs->trans("days").'</td></tr>'; print '<tr><td>'.$langs->trans("ValidityDuration").'</td><td colspan="2"><input name="duree_validite" size="5" value="'.$conf->global->PROPALE_VALIDITY_DURATION.'"> '.$langs->trans("days").'</td></tr>';
// Conditions de r<EFBFBD>glement // Conditions de règlement
print '<tr><td nowrap>'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">'; print '<tr><td nowrap>'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">';
$html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id'); $html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id');
print '</td></tr>'; print '</td></tr>';
// Mode de r<EFBFBD>glement // Mode de règlement
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">'; print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">';
$html->select_types_paiements($soc->mode_reglement,'mode_reglement_id'); $html->select_types_paiements($soc->mode_reglement,'mode_reglement_id');
print '</td></tr>'; print '</td></tr>';

View File

@ -67,10 +67,10 @@ else if (isset($_GET["propalid"]) && $_GET["propalid"] > 0)
$dbtable='propal'; $dbtable='propal';
} }
// S<EFBFBD>curit<EFBFBD> d'acc<63>s client et commerciaux // Sécurité d'accès client et commerciaux
$socid = restrictedArea($user, $module, $objectid, $dbtable); $socid = restrictedArea($user, $module, $objectid, $dbtable);
// Nombre de ligne pour choix de produit/service pr<EFBFBD>d<EFBFBD>finis // Nombre de ligne pour choix de produit/service prédéfinis
$NBLINES=4; $NBLINES=4;
$form=new Form($db); $form=new Form($db);
@ -180,7 +180,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
$db->begin(); $db->begin();
// Si on a selectionn<EFBFBD> une propal <20> copier, on r<>alise la copie // Si on a selectionné une propal à copier, on réalise la copie
if($_POST['createmode']=='copy' && $_POST['copie_propal']) if($_POST['createmode']=='copy' && $_POST['copie_propal'])
{ {
if ($propal->fetch($_POST['copie_propal']) > 0) if ($propal->fetch($_POST['copie_propal']) > 0)
@ -244,7 +244,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
{ {
$error=0; $error=0;
// Insertion contact par defaut si d<EFBFBD>fini // Insertion contact par defaut si défini
if ($_POST["contactidp"]) if ($_POST["contactidp"])
{ {
$result=$propal->add_contact($_POST["contactidp"],'CUSTOMER','external'); $result=$propal->add_contact($_POST["contactidp"],'CUSTOMER','external');
@ -323,13 +323,13 @@ if ($_POST['action'] == 'send')
if ($_POST['sendto']) if ($_POST['sendto'])
{ {
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via le champ libre // Le destinataire a été fourni via le champ libre
$sendto = $_POST['sendto']; $sendto = $_POST['sendto'];
$sendtoid = 0; $sendtoid = 0;
} }
elseif ($_POST['receiver']) elseif ($_POST['receiver'])
{ {
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via la liste d<>roulante // Le destinataire a été fourni via la liste déroulante
if ($_POST['receiver'] < 0) // Id du tiers if ($_POST['receiver'] < 0) // Id du tiers
{ {
$sendto = $propal->client->email; $sendto = $propal->client->email;
@ -360,11 +360,11 @@ if ($_POST['action'] == 'send')
} }
$actiontypeid=3; $actiontypeid=3;
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>'; $actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message) if ($message)
{ {
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>'; $actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message; $actionmsg.=$message;
} }
@ -455,7 +455,7 @@ if ($_POST['action'] == 'send')
{ {
$langs->load("other"); $langs->load("other");
$mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>'; $mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>';
dolibarr_syslog('Impossible de lire les donn<EFBFBD>es de la facture. Le fichier facture n\'a peut-<2D>tre pas <20>t<EFBFBD> g<>n<EFBFBD>r<EFBFBD>.'); dolibarr_syslog('Impossible de lire les données de la facture. Le fichier facture n\'a peut-être pas été généré.');
} }
} }
@ -598,7 +598,7 @@ if ($_POST['action'] == "addligne" && $user->rights->propale->creer)
} }
/* /*
* Mise <EFBFBD> jour d'une ligne dans la propale * Mise à jour d'une ligne dans la propale
*/ */
if ($_POST['action'] == 'updateligne' && $user->rights->propale->creer && $_POST["save"] == $langs->trans("Save")) if ($_POST['action'] == 'updateligne' && $user->rights->propale->creer && $_POST["save"] == $langs->trans("Save"))
{ {
@ -658,7 +658,7 @@ if ($_POST['action'] == 'classin')
$propal->set_project($user, $_POST['projetidp']); $propal->set_project($user, $_POST['projetidp']);
} }
// Conditions de r<EFBFBD>glement // Conditions de règlement
if ($_POST["action"] == 'setconditions') if ($_POST["action"] == 'setconditions')
{ {
$propal = new Propal($db); $propal = new Propal($db);
@ -683,7 +683,7 @@ if ($_REQUEST['action'] == 'setremiseabsolue' && $user->rights->propale->creer)
$_GET['propalid']=$_REQUEST['propalid']; $_GET['propalid']=$_REQUEST['propalid'];
} }
// Mode de r<EFBFBD>glement // Mode de règlement
if ($_POST["action"] == 'setmode') if ($_POST["action"] == 'setmode')
{ {
$propal = new Propal($db); $propal = new Propal($db);
@ -815,7 +815,7 @@ if ($_GET['propalid'] > 0)
$rowspan=8; $rowspan=8;
// Soci<EFBFBD>t<EFBFBD> // Société
print '<tr><td>'.$langs->trans('Company').'</td><td colspan="5">'.$societe->getNomUrl(1).'</td>'; print '<tr><td>'.$langs->trans('Company').'</td><td colspan="5">'.$societe->getNomUrl(1).'</td>';
print '</tr>'; print '</tr>';
@ -896,8 +896,8 @@ if ($_GET['propalid'] > 0)
print '</tr>'; print '</tr>';
// date de livraison (conditionn<EFBFBD> sur PROPALE_ADD_SHIPPING_DATE car carac <20> // date de livraison (conditionné sur PROPALE_ADD_SHIPPING_DATE car carac à
// g<EFBFBD>rer par les commandes et non les propal // gérer par les commandes et non les propal
if ($conf->expedition->enabled) if ($conf->expedition->enabled)
{ {
if ($conf->global->PROPALE_ADD_SHIPPING_DATE) if ($conf->global->PROPALE_ADD_SHIPPING_DATE)
@ -949,7 +949,7 @@ if ($_GET['propalid'] > 0)
} }
} }
// Conditions et modes de r<EFBFBD>glement // Conditions et modes de règlement
print '<tr><td>'; print '<tr><td>';
print '<table class="nobordernopadding" width="100%"><tr><td>'; print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentConditionsShort'); print $langs->trans('PaymentConditionsShort');
@ -1203,7 +1203,7 @@ if ($_GET['propalid'] > 0)
print '<td class="nobordernopadding" nowrap="nowrap" align="left">'; print '<td class="nobordernopadding" nowrap="nowrap" align="left">';
if (($objp->info_bits & 2) == 2) if (($objp->info_bits & 2) == 2)
{ {
// Ligne remise pr<EFBFBD>d<EFBFBD>finie, on ne permet pas modif // Ligne remise prédéfinie, on ne permet pas modif
} }
else else
{ {
@ -1255,7 +1255,7 @@ if ($_GET['propalid'] > 0)
print '<td align="center">'; print '<td align="center">';
if (($objp->info_bits & 2) == 2) if (($objp->info_bits & 2) == 2)
{ {
// Ligne remise pr<EFBFBD>d<EFBFBD>finie, on permet pas modif // Ligne remise prédéfinie, on permet pas modif
} }
else else
{ {
@ -1330,7 +1330,7 @@ if ($_GET['propalid'] > 0)
} }
if ($_GET["action"] == 'editline') if ($_GET["action"] == 'editline')
{ {
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1379,7 +1379,7 @@ if ($_GET['propalid'] > 0)
if ($conf->service->enabled) if ($conf->service->enabled)
{ {
print "<tr $bc[$var]>"; print "<tr $bc[$var]>";
print '<td colspan="5">Si produit de type service <EFBFBD> dur<75>e limit<69>e: Du '; print '<td colspan="5">Si produit de type service à durée limitée: Du ';
print $html->select_date($objp->date_start,"date_start",0,0,$objp->date_start?0:1); print $html->select_date($objp->date_start,"date_start",0,0,$objp->date_start?0:1);
print ' au '; print ' au ';
print $html->select_date($objp->date_end,"date_end",0,0,$objp->date_end?0:1); print $html->select_date($objp->date_end,"date_end",0,0,$objp->date_end?0:1);
@ -1417,7 +1417,7 @@ if ($_GET['propalid'] > 0)
print '<td colspan="4">&nbsp;</td>'; print '<td colspan="4">&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
// Ajout produit produits/services personnalis<EFBFBD>s // Ajout produit produits/services personnalisés
print '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'#add" method="post">'; print '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'#add" method="post">';
print '<input type="hidden" name="propalid" value="'.$propal->id.'">'; print '<input type="hidden" name="propalid" value="'.$propal->id.'">';
print '<input type="hidden" name="action" value="addligne">'; print '<input type="hidden" name="action" value="addligne">';
@ -1426,7 +1426,7 @@ if ($_GET['propalid'] > 0)
print '<tr '.$bc[$var].">\n"; print '<tr '.$bc[$var].">\n";
print '<td '.$colspan.'>'; print '<td '.$colspan.'>';
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1456,7 +1456,7 @@ if ($_GET['propalid'] > 0)
print '</form>'; print '</form>';
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis // Ajout de produits/services prédéfinis
if ($conf->produit->enabled) if ($conf->produit->enabled)
{ {
if ($conf->global->PRODUIT_USE_MARKUP) if ($conf->global->PRODUIT_USE_MARKUP)
@ -1503,7 +1503,7 @@ if ($_GET['propalid'] > 0)
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC) if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
{ {
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1533,7 +1533,7 @@ if ($_GET['propalid'] > 0)
print "\n"; print "\n";
/* /*
* Formulaire cloture (sign<EFBFBD> ou non) * Formulaire cloture (signé ou non)
*/ */
$form_close = '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'" method="post">'; $form_close = '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'" method="post">';
$form_close.= '<table class="border" width="100%">'; $form_close.= '<table class="border" width="100%">';
@ -1667,7 +1667,7 @@ if ($_GET['propalid'] > 0)
/* /*
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s * Documents générés
*/ */
$filename=sanitize_string($propal->ref); $filename=sanitize_string($propal->ref);
$filedir=$conf->propal->dir_output . "/" . sanitize_string($propal->ref); $filedir=$conf->propal->dir_output . "/" . sanitize_string($propal->ref);
@ -1681,7 +1681,7 @@ if ($_GET['propalid'] > 0)
/* /*
* Commandes rattach<EFBFBD>es * Commandes rattachées
*/ */
if($conf->commande->enabled) if($conf->commande->enabled)
{ {
@ -1716,7 +1716,7 @@ if ($_GET['propalid'] > 0)
print '</td><td valign="top" width="50%">'; print '</td><td valign="top" width="50%">';
/* /*
* Liste des actions propres <EFBFBD> la propal * Liste des actions propres à la propal
*/ */
$sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ; $sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
$sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a'; $sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
@ -1778,7 +1778,7 @@ if ($_GET['propalid'] > 0)
$liste[$key]=$value; $liste[$key]=$value;
} }
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail // Créé l'objet formulaire mail
include_once('../html.formmail.class.php'); include_once('../html.formmail.class.php');
$formmail = new FormMail($db); $formmail = new FormMail($db);
$formmail->fromname = $user->fullname; $formmail->fromname = $user->fullname;
@ -1792,7 +1792,7 @@ if ($_GET['propalid'] > 0)
$formmail->withdeliveryreceipt=1; $formmail->withdeliveryreceipt=1;
// Tableau des substitutions // Tableau des substitutions
$formmail->substit['__PROPREF__']=$propal->ref; $formmail->substit['__PROPREF__']=$propal->ref;
// Tableau des param<EFBFBD>tres compl<70>mentaires // Tableau des paramètres complémentaires
$formmail->param['action']='send'; $formmail->param['action']='send';
$formmail->param['models']='propal_send'; $formmail->param['models']='propal_send';
$formmail->param['propalid']=$propal->id; $formmail->param['propalid']=$propal->id;
@ -1945,7 +1945,7 @@ else
$url = DOL_URL_ROOT.'/comm/prospect/fiche.php?socid='.$objp->rowid; $url = DOL_URL_ROOT.'/comm/prospect/fiche.php?socid='.$objp->rowid;
} }
// Soci<EFBFBD>t<EFBFBD> // Société
print '<td><a href="'.$url.'">'.img_object($langs->trans('ShowCompany'),'company').' '.$objp->nom.'</a></td>'; print '<td><a href="'.$url.'">'.img_object($langs->trans('ShowCompany'),'company').' '.$objp->nom.'</a></td>';
// Date propale // Date propale

View File

@ -52,7 +52,7 @@ $user->getrights('expedition');
if (!$user->rights->commande->lire) accessforbidden(); if (!$user->rights->commande->lire) accessforbidden();
// S<EFBFBD>curit<EFBFBD> acc<63>s client // Sécurité accès client
$socid=0; $socid=0;
if ($user->societe_id > 0) if ($user->societe_id > 0)
{ {
@ -69,7 +69,7 @@ if ($user->societe_id >0 && isset($_GET["id"]) && $_GET["id"]>0)
// R<EFBFBD>cup<EFBFBD>ration de l'id de projet // Récupération de l'id de projet
$projetid = 0; $projetid = 0;
if ($_GET["projetid"]) if ($_GET["projetid"])
{ {
@ -147,7 +147,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
$commande->note = $_POST['note']; $commande->note = $_POST['note'];
$commande->source = $_POST['source_id']; $commande->source = $_POST['source_id'];
$commande->projetid = $_POST['projetid']; $commande->projetid = $_POST['projetid'];
//$commande->remise_absolue = $_POST['remise_absolue']; //la remise <EFBFBD>tait appliqu<71>e sur les lignes et sur le total //$commande->remise_absolue = $_POST['remise_absolue']; //la remise était appliquée sur les lignes et sur le total
//$commande->remise_percent = $_POST['remise_percent']; //$commande->remise_percent = $_POST['remise_percent'];
$commande->ref_client = $_POST['ref_client']; $commande->ref_client = $_POST['ref_client'];
$commande->modelpdf = $_POST['model']; $commande->modelpdf = $_POST['model'];
@ -173,7 +173,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
if ($commande_id > 0) if ($commande_id > 0)
{ {
// Insertion contact par defaut si d<EFBFBD>fini // Insertion contact par defaut si défini
if ($_POST["contactidp"]) if ($_POST["contactidp"])
{ {
$result=$commande->add_contact($_POST["contactidp"],'CUSTOMER','external'); $result=$commande->add_contact($_POST["contactidp"],'CUSTOMER','external');
@ -193,7 +193,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
$action = ''; $action = '';
} }
// Fin cr<EFBFBD>ation facture, on l'affiche // Fin création facture, on l'affiche
if ($commande_id > 0 && ! $error) if ($commande_id > 0 && ! $error)
{ {
$db->commit(); $db->commit();
@ -393,7 +393,7 @@ if ($_POST['action'] == 'addligne' && $user->rights->commande->creer)
} }
/* /*
* Mise <EFBFBD> jour d'une ligne dans la commande * Mise à jour d'une ligne dans la commande
*/ */
if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POST['save'] == $langs->trans('Save')) if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POST['save'] == $langs->trans('Save'))
{ {
@ -423,12 +423,12 @@ if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POS
exit; exit;
} }
$_GET['id']=$_POST['id']; // Pour r<EFBFBD>affichage de la fiche en cours d'<27>dition $_GET['id']=$_POST['id']; // Pour réaffichage de la fiche en cours d'édition
} }
if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POST['cancel'] == $langs->trans('Cancel')) if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POST['cancel'] == $langs->trans('Cancel'))
{ {
Header('Location: fiche.php?id='.$_POST['id']); // Pour r<EFBFBD>affichage de la fiche en cours d'<27>dition Header('Location: fiche.php?id='.$_POST['id']); // Pour réaffichage de la fiche en cours d'édition
exit; exit;
} }
@ -511,10 +511,10 @@ if ($_REQUEST['action'] == 'builddoc') // En get ou en post
{ {
/* /*
* Generation de la commande * Generation de la commande
* d<EFBFBD>finit dans /includes/modules/commande/modules_commande.php * définit dans /includes/modules/commande/modules_commande.php
*/ */
// Sauvegarde le dernier mod<EFBFBD>le choisi pour g<>n<EFBFBD>rer un document // Sauvegarde le dernier modèle choisi pour générer un document
$commande = new Commande($db, 0, $_REQUEST['id']); $commande = new Commande($db, 0, $_REQUEST['id']);
$commande->fetch($_REQUEST['id']); $commande->fetch($_REQUEST['id']);
if ($_REQUEST['model']) if ($_REQUEST['model'])
@ -573,13 +573,13 @@ if ($_POST['action'] == 'send')
if ($_POST['sendto']) if ($_POST['sendto'])
{ {
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via le champ libre // Le destinataire a été fourni via le champ libre
$sendto = $_POST['sendto']; $sendto = $_POST['sendto'];
$sendtoid = 0; $sendtoid = 0;
} }
elseif ($_POST['receiver']) elseif ($_POST['receiver'])
{ {
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via la liste d<>roulante // Le destinataire a été fourni via la liste déroulante
if ($_POST['receiver'] < 0) // Id du tiers if ($_POST['receiver'] < 0) // Id du tiers
{ {
$sendto = $commande->client->email; $sendto = $commande->client->email;
@ -610,11 +610,11 @@ if ($_POST['action'] == 'send')
} }
$actiontypeid=8; $actiontypeid=8;
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>'; $actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message) if ($message)
{ {
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>'; $actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message; $actionmsg.=$message;
} }
@ -705,7 +705,7 @@ if ($_POST['action'] == 'send')
{ {
$langs->load("other"); $langs->load("other");
$mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>'; $mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>';
dolibarr_syslog('Impossible de lire les donn<EFBFBD>es de la facture. Le fichier facture n\'a peut-<2D>tre pas <20>t<EFBFBD> g<>n<EFBFBD>r<EFBFBD>.'); dolibarr_syslog('Impossible de lire les données de la facture. Le fichier facture n\'a peut-être pas été généré.');
} }
} }
@ -822,12 +822,12 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer)
print '</td></tr>'; print '</td></tr>';
// Conditions de r<EFBFBD>glement // Conditions de règlement
print '<tr><td nowrap="nowrap">'.$langs->trans('PaymentConditionsShort').'</td><td>'; print '<tr><td nowrap="nowrap">'.$langs->trans('PaymentConditionsShort').'</td><td>';
$html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id',-1,1); $html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id',-1,1);
print '</td></tr>'; print '</td></tr>';
// Mode de r<EFBFBD>glement // Mode de règlement
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td>'; print '<tr><td>'.$langs->trans('PaymentMode').'</td><td>';
$html->select_types_paiements($soc->mode_reglement,'mode_reglement_id'); $html->select_types_paiements($soc->mode_reglement,'mode_reglement_id');
print '</td></tr>'; print '</td></tr>';
@ -877,7 +877,7 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer)
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE) if ($conf->global->PRODUCT_SHOW_WHEN_CREATE)
{ {
/* /*
* Services/produits pr<EFBFBD>d<EFBFBD>finis * Services/produits prédéfinis
*/ */
$NBLINES=8; $NBLINES=8;
@ -1022,7 +1022,7 @@ else
*/ */
if ($_GET['action'] == 'validate') if ($_GET['action'] == 'validate')
{ {
// on v<EFBFBD>rifie si la facture est en num<75>rotation provisoire // on vérifie si la facture est en numérotation provisoire
$ref = substr($commande->ref, 1, 4); $ref = substr($commande->ref, 1, 4);
if ($ref == 'PROV') if ($ref == 'PROV')
{ {
@ -1102,7 +1102,7 @@ else
print '</tr>'; print '</tr>';
// Soci<EFBFBD>t<EFBFBD> // Société
print '<tr><td>'.$langs->trans('Company').'</td>'; print '<tr><td>'.$langs->trans('Company').'</td>';
print '<td colspan="3">'.$soc->getNomUrl(1).'</td>'; print '<td colspan="3">'.$soc->getNomUrl(1).'</td>';
print '</tr>'; print '</tr>';
@ -1200,7 +1200,7 @@ else
print '</td></tr>'; print '</td></tr>';
} }
// Conditions et modes de r<EFBFBD>glement // Conditions et modes de règlement
print '<tr><td height="10">'; print '<tr><td height="10">';
print '<table class="nobordernopadding" width="100%"><tr><td>'; print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentConditionsShort'); print $langs->trans('PaymentConditionsShort');
@ -1219,7 +1219,7 @@ else
} }
print '</td>'; print '</td>';
//Note public lorsque le module expedition n'est pas activ<EFBFBD> //Note public lorsque le module expedition n'est pas activé
if (!$conf->projet->enabled) $nbrow--; if (!$conf->projet->enabled) $nbrow--;
if (!$conf->expedition->enabled) if (!$conf->expedition->enabled)
{ {
@ -1348,7 +1348,7 @@ else
$text.= ' - '.$objp->product; $text.= ' - '.$objp->product;
$description=($conf->global->PRODUIT_DESC_IN_FORM?'':$objp->description); $description=($conf->global->PRODUIT_DESC_IN_FORM?'':$objp->description);
print $html->textwithtooltip($text,$description,3,'','',$i); print $html->textwithtooltip($text,$description,3,'','',$i);
// Todo: voir si on insert ou pas en option les dates de d<EFBFBD>but et de fin de service // Todo: voir si on insert ou pas en option les dates de début et de fin de service
//print_date_range($objp->date_start,$objp->date_end); //print_date_range($objp->date_start,$objp->date_end);
if ($conf->global->PRODUIT_DESC_IN_FORM) if ($conf->global->PRODUIT_DESC_IN_FORM)
{ {
@ -1413,7 +1413,7 @@ else
print '<td align="center">'; print '<td align="center">';
if (($objp->info_bits & 2) == 2) if (($objp->info_bits & 2) == 2)
{ {
// Ligne remise pr<EFBFBD>d<EFBFBD>finie, on permet pas modif // Ligne remise prédéfinie, on permet pas modif
} }
else else
{ {
@ -1485,7 +1485,7 @@ else
print ' - '.nl2br($objp->product); print ' - '.nl2br($objp->product);
print '<br>'; print '<br>';
} }
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1550,7 +1550,7 @@ else
print '<td colspan="4">&nbsp;</td>'; print '<td colspan="4">&nbsp;</td>';
print '</tr>'; print '</tr>';
// Ajout produit produits/services personnalis<EFBFBD>s // Ajout produit produits/services personnalisés
print '<form action="fiche.php?id='.$id.'#add" method="post">'; print '<form action="fiche.php?id='.$id.'#add" method="post">';
print '<input type="hidden" name="id" value="'.$id.'">'; print '<input type="hidden" name="id" value="'.$id.'">';
print '<input type="hidden" name="action" value="addligne">'; print '<input type="hidden" name="action" value="addligne">';
@ -1558,7 +1558,7 @@ else
$var=true; $var=true;
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td>'; print '<td>';
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1584,7 +1584,7 @@ else
print '</form>'; print '</form>';
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis // Ajout de produits/services prédéfinis
if ($conf->produit->enabled) if ($conf->produit->enabled)
{ {
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
@ -1624,7 +1624,7 @@ else
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC) if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
{ {
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1662,7 +1662,7 @@ else
print '<a class="butAction" '; print '<a class="butAction" ';
if ($conf->use_ajax && $conf->global->MAIN_CONFIRM_AJAX) if ($conf->use_ajax && $conf->global->MAIN_CONFIRM_AJAX)
{ {
// on v<EFBFBD>rifie si la facture est en num<75>rotation provisoire // on vérifie si la commande est en numérotation provisoire
$ref = substr($commande->ref, 1, 4); $ref = substr($commande->ref, 1, 4);
if ($ref == 'PROV') if ($ref == 'PROV')
{ {
@ -1800,7 +1800,7 @@ else
print '<a name="builddoc"></a>'; // ancre print '<a name="builddoc"></a>'; // ancre
/* /*
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s * Documents générés
* *
*/ */
$comref = sanitize_string($commande->ref); $comref = sanitize_string($commande->ref);
@ -1856,7 +1856,7 @@ else
print '</td><td valign="top" width="50%">'; print '</td><td valign="top" width="50%">';
/* /*
* Liste des actions propres <EFBFBD> la commande * Liste des actions propres à la commande
*/ */
$sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ; $sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
$sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a'; $sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
@ -1942,7 +1942,7 @@ else
$liste[$key]=$value; $liste[$key]=$value;
} }
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail // Créé l'objet formulaire mail
include_once('../html.formmail.class.php'); include_once('../html.formmail.class.php');
$formmail = new FormMail($db); $formmail = new FormMail($db);
$formmail->fromname = $user->fullname; $formmail->fromname = $user->fullname;
@ -1956,7 +1956,7 @@ else
$formmail->withdeliveryreceipt=1; $formmail->withdeliveryreceipt=1;
// Tableau des substitutions // Tableau des substitutions
$formmail->substit['__ORDERREF__']=$commande->ref; $formmail->substit['__ORDERREF__']=$commande->ref;
// Tableau des param<EFBFBD>tres compl<70>mentaires // Tableau des paramètres complémentaires
$formmail->param['action']='send'; $formmail->param['action']='send';
$formmail->param['models']='order_send'; $formmail->param['models']='order_send';
$formmail->param['orderid']=$commande->id; $formmail->param['orderid']=$commande->id;
@ -1969,7 +1969,7 @@ else
} }
else else
{ {
// Commande non trouv<EFBFBD>e // Commande non trouvée
dolibarr_print_error($db); dolibarr_print_error($db);
} }
} }

View File

@ -42,7 +42,7 @@ $user->getrights('commande');
if (! $user->rights->commande->lire) accessforbidden(); if (! $user->rights->commande->lire) accessforbidden();
// S<EFBFBD>curit<EFBFBD> acc<63>s client // Sécurité accès client
if ($user->societe_id > 0) if ($user->societe_id > 0)
{ {
$action = ''; $action = '';
@ -126,7 +126,7 @@ if ($_GET["id"] > 0)
print '</tr>'; print '</tr>';
// Soci<EFBFBD>t<EFBFBD> // Société
print '<tr><td>'.$langs->trans('Company').'</td>'; print '<tr><td>'.$langs->trans('Company').'</td>';
print '<td colspan="3">'.$soc->getNomUrl(1,'compta').'</td>'; print '<td colspan="3">'.$soc->getNomUrl(1,'compta').'</td>';
print '</tr>'; print '</tr>';
@ -221,7 +221,7 @@ if ($_GET["id"] > 0)
} }
print '</td></tr>'; print '</td></tr>';
// Conditions et modes de r<EFBFBD>glement // Conditions et modes de règlement
print '<tr><td height="10">'; print '<tr><td height="10">';
print '<table class="nobordernopadding" width="100%"><tr><td>'; print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentConditionsShort'); print $langs->trans('PaymentConditionsShort');
@ -443,7 +443,7 @@ if ($_GET["id"] > 0)
/* /*
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s * Documents générés
* *
*/ */
$comref = sanitize_string($commande->ref); $comref = sanitize_string($commande->ref);
@ -505,7 +505,7 @@ if ($_GET["id"] > 0)
/* /*
* Liste des exp<EFBFBD>ditions * Liste des expéditions
*/ */
$sql = "SELECT cd.fk_product, cd.description, cd.rowid, cd.qty as qty_commande"; $sql = "SELECT cd.fk_product, cd.description, cd.rowid, cd.qty as qty_commande";
$sql .= " , ed.qty as qty_livre, e.ref, ed.fk_expedition as expedition_id"; $sql .= " , ed.qty as qty_livre, e.ref, ed.fk_expedition as expedition_id";
@ -600,7 +600,7 @@ if ($_GET["id"] > 0)
} }
else else
{ {
// Commande non trouv<EFBFBD>e // Commande non trouvée
print "Commande inexistante"; print "Commande inexistante";
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2002-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2002-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004 <EFBFBD>ric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com> * Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
@ -26,7 +26,7 @@
/** /**
\file htdocs/compta/facture.php \file htdocs/compta/facture.php
\ingroup facture \ingroup facture
\brief Page de cr<EFBFBD>ation d'une facture \brief Page de création d'une facture
\version $Revision$ \version $Revision$
*/ */
@ -57,21 +57,21 @@ $sall=isset($_GET['sall'])?trim($_GET['sall']):trim($_POST['sall']);
$mesg=isset($_GET['mesg'])?urldecode($_GET['mesg']):''; $mesg=isset($_GET['mesg'])?urldecode($_GET['mesg']):'';
$socid=isset($_GET['socid'])?$_GET['socid']:$_POST['socid']; $socid=isset($_GET['socid'])?$_GET['socid']:$_POST['socid'];
// S<EFBFBD>curit<EFBFBD> acc<63>s client // Sécurité accès client
if ($user->societe_id > 0) if ($user->societe_id > 0)
{ {
$action = ''; $action = '';
$socid = $user->societe_id; $socid = $user->societe_id;
} }
// R<EFBFBD>cup<EFBFBD>ration de l'id de projet // Récupération de l'id de projet
$projetid = 0; $projetid = 0;
if ($_GET["projetid"]) if ($_GET["projetid"])
{ {
$projetid = $_GET["projetid"]; $projetid = $_GET["projetid"];
} }
// Nombre de ligne pour choix de produit/service pr<EFBFBD>d<EFBFBD>finis // Nombre de ligne pour choix de produit/service prédéfinis
$NBLINES=4; $NBLINES=4;
@ -137,7 +137,7 @@ if ($_GET['action'] == 'valid')
// On verifie signe facture // On verifie signe facture
if ($facture->type == 2) if ($facture->type == 2)
{ {
// Si avoir, le signe doit etre n<EFBFBD>gatif // Si avoir, le signe doit etre négatif
if ($facture->total_ht >= 0) if ($facture->total_ht >= 0)
{ {
$mesg='<div class="error">'.$langs->trans("ErrorInvoiceAvoirMustBeNegative").'</div>'; $mesg='<div class="error">'.$langs->trans("ErrorInvoiceAvoirMustBeNegative").'</div>';
@ -222,7 +222,7 @@ if ($_POST['action'] == 'set_ref_client')
$facture->set_ref_client($_POST['ref_client']); $facture->set_ref_client($_POST['ref_client']);
} }
// Classe <EFBFBD> "valid<69>e" // Classe à "validée"
if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->rights->facture->valider) if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->rights->facture->valider)
{ {
$fac = new Facture($db); $fac = new Facture($db);
@ -251,7 +251,7 @@ if ($_GET['action'] == 'modif' && $user->rights->facture->modifier && $conf->glo
$fac = new Facture($db); $fac = new Facture($db);
$fac->fetch($_GET['facid']); $fac->fetch($_GET['facid']);
// On v<EFBFBD>rifie si la facture a des paiements // On vérifie si la facture a des paiements
$sql = 'SELECT pf.amount'; $sql = 'SELECT pf.amount';
$sql.= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf'; $sql.= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf';
$sql.= ' WHERE pf.fk_facture = '.$fac->id; $sql.= ' WHERE pf.fk_facture = '.$fac->id;
@ -273,24 +273,24 @@ if ($_GET['action'] == 'modif' && $user->rights->facture->modifier && $conf->glo
$resteapayer = $fac->total_ttc - $totalpaye; $resteapayer = $fac->total_ttc - $totalpaye;
// On v<EFBFBD>rifie si les lignes de factures ont <20>t<EFBFBD> export<72>es en compta et/ou ventil<69>es // On vérifie si les lignes de factures ont été exportées en compta et/ou ventilées
$ventilExportCompta = $fac->getVentilExportCompta(); $ventilExportCompta = $fac->getVentilExportCompta();
// On v<EFBFBD>rifie si aucun paiement n'a <20>t<EFBFBD> effectu<74> // On vérifie si aucun paiement n'a été effectué
if ($resteapayer == $fac->total_ttc && $fac->paye == 0 && $ventilExportCompta == 0) if ($resteapayer == $fac->total_ttc && $fac->paye == 0 && $ventilExportCompta == 0)
{ {
$fac->set_draft($user); $fac->set_draft($user);
} }
} }
// Classe <EFBFBD> "pay<61>e" // Classe à "payée"
if ($_POST['action'] == 'confirm_payed' && $_POST['confirm'] == 'yes' && $user->rights->facture->paiement) if ($_POST['action'] == 'confirm_payed' && $_POST['confirm'] == 'yes' && $user->rights->facture->paiement)
{ {
$fac = new Facture($db); $fac = new Facture($db);
$fac->fetch($_GET['facid']); $fac->fetch($_GET['facid']);
$result = $fac->set_payed($user); $result = $fac->set_payed($user);
} }
// Classe <EFBFBD> "pay<61>e partiellement" // Classe à "payée partiellement"
if ($_POST['action'] == 'confirm_payed_partially' && $_POST['confirm'] == 'yes' && $user->rights->facture->paiement) if ($_POST['action'] == 'confirm_payed_partially' && $_POST['confirm'] == 'yes' && $user->rights->facture->paiement)
{ {
$fac = new Facture($db); $fac = new Facture($db);
@ -306,7 +306,7 @@ if ($_POST['action'] == 'confirm_payed_partially' && $_POST['confirm'] == 'yes'
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("Reason")).'</div>'; $mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("Reason")).'</div>';
} }
} }
// Classe <EFBFBD> "abandonn<6E>e" // Classe à "abandonnée"
if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes') if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes')
{ {
$fac = new Facture($db); $fac = new Facture($db);
@ -345,7 +345,7 @@ if ($_POST['action'] == 'confirm_converttoreduc' && $_POST['confirm'] == 'yes' &
$i++; $i++;
} }
// Ins<EFBFBD>re une remise par famille de taux tva // Insère une remise par famille de taux tva
$discount = new DiscountAbsolute($db); $discount = new DiscountAbsolute($db);
$discount->desc='(CREDIT_NOTE)'; $discount->desc='(CREDIT_NOTE)';
$discount->tva_tx=abs($fac->total_ttc); $discount->tva_tx=abs($fac->total_ttc);
@ -425,7 +425,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
$facture->remise_absolue = $_POST['remise_absolue']; $facture->remise_absolue = $_POST['remise_absolue'];
$facture->remise_percent = $_POST['remise_percent']; $facture->remise_percent = $_POST['remise_percent'];
// Propri<EFBFBD>t<EFBFBD>s particulieres a facture de remplacement // Propriétés particulieres a facture de remplacement
$facture->fk_facture_source = $_POST['fac_replacement']; $facture->fk_facture_source = $_POST['fac_replacement'];
$facture->type = 1; $facture->type = 1;
@ -461,7 +461,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
$facture->remise_absolue = $_POST['remise_absolue']; $facture->remise_absolue = $_POST['remise_absolue'];
$facture->remise_percent = $_POST['remise_percent']; $facture->remise_percent = $_POST['remise_percent'];
// Propri<EFBFBD>t<EFBFBD>s particulieres a facture avoir // Propriétés particulieres a facture avoir
$facture->fk_facture_source = $_POST['fac_avoir']; $facture->fk_facture_source = $_POST['fac_avoir'];
$facture->type = 2; $facture->type = 2;
@ -476,7 +476,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
if ($_POST['type'] == 0 && $_POST['fac_rec'] > 0) if ($_POST['type'] == 0 && $_POST['fac_rec'] > 0)
{ {
// Si facture r<EFBFBD>currente // Si facture récurrente
$datefacture = dolibarr_mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); $datefacture = dolibarr_mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
$facture->socid = $_POST['socid']; $facture->socid = $_POST['socid'];
@ -488,7 +488,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
$facture->ref_client = $_POST['ref_client']; $facture->ref_client = $_POST['ref_client'];
$facture->modelpdf = $_POST['model']; $facture->modelpdf = $_POST['model'];
// Propri<EFBFBD>t<EFBFBD>s particulieres a facture recurrente // Propriétés particulieres a facture recurrente
$facture->fac_rec = $_POST['fac_rec']; $facture->fac_rec = $_POST['fac_rec'];
$facture->type = 0; $facture->type = 0;
@ -588,7 +588,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
} }
/* /*
* Si cr<EFBFBD>ation depuis commande * Si création depuis commande
*/ */
if ($_POST['commandeid']) if ($_POST['commandeid'])
{ {
@ -640,7 +640,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
} }
/* /*
* Si cr<EFBFBD>ation depuis contrat * Si création depuis contrat
*/ */
if ($_POST['contratid']) if ($_POST['contratid'])
{ {
@ -700,7 +700,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
} }
// Fin cr<EFBFBD>ation facture, on l'affiche // Fin création facture, on l'affiche
if ($facid > 0 && ! $error) if ($facid > 0 && ! $error)
{ {
$db->commit(); $db->commit();
@ -748,7 +748,7 @@ if (($_POST['action'] == 'addligne' || $_POST['action'] == 'addligne_predef') &&
$date_end=$_POST['date_endyear'].'-'.$_POST['date_endmonth'].'-'.$_POST['date_endday']; $date_end=$_POST['date_endyear'].'-'.$_POST['date_endmonth'].'-'.$_POST['date_endday'];
} }
} }
// Si ajout champ produit pr<EFBFBD>d<EFBFBD>fini // Si ajout champ produit prédéfini
if ($_POST['action'] == 'addligne_predef') if ($_POST['action'] == 'addligne_predef')
{ {
if ($_POST['date_start_predefyear'] && $_POST['date_start_predefmonth'] && $_POST['date_start_predefday']) if ($_POST['date_start_predefyear'] && $_POST['date_start_predefmonth'] && $_POST['date_start_predefday'])
@ -846,7 +846,7 @@ if (($_POST['action'] == 'addligne' || $_POST['action'] == 'addligne_predef') &&
$mesg='<div class="error">'.$fac->error.'</div>'; $mesg='<div class="error">'.$fac->error.'</div>';
} }
$_GET['facid']=$_POST['facid']; // Pour r<EFBFBD>affichage de la fiche en cours d'<27>dition $_GET['facid']=$_POST['facid']; // Pour réaffichage de la fiche en cours d'édition
} }
if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST['save'] == $langs->trans('Save')) if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST['save'] == $langs->trans('Save'))
@ -880,12 +880,12 @@ if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST
} }
facture_pdf_create($db, $fac->id, '', $fac->modelpdf, $outputlangs); facture_pdf_create($db, $fac->id, '', $fac->modelpdf, $outputlangs);
$_GET['facid']=$_POST['facid']; // Pour r<EFBFBD>affichage de la fiche en cours d'<27>dition $_GET['facid']=$_POST['facid']; // Pour réaffichage de la fiche en cours d'édition
} }
if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST['cancel'] == $langs->trans('Cancel')) if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST['cancel'] == $langs->trans('Cancel'))
{ {
Header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$_POST['facid']); // Pour r<EFBFBD>affichage de la fiche en cours d'<27>dition Header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$_POST['facid']); // Pour réaffichage de la fiche en cours d'édition
exit; exit;
} }
@ -941,13 +941,13 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
if ($_POST['sendto']) if ($_POST['sendto'])
{ {
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via le champ libre // Le destinataire a été fourni via le champ libre
$sendto = $_POST['sendto']; $sendto = $_POST['sendto'];
$sendtoid = 0; $sendtoid = 0;
} }
elseif ($_POST['receiver']) elseif ($_POST['receiver'])
{ {
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via la liste d<>roulante // Le destinataire a été fourni via la liste déroulante
if ($_POST['receiver'] < 0) // Id du tiers if ($_POST['receiver'] < 0) // Id du tiers
{ {
$sendto = $fac->client->email; $sendto = $fac->client->email;
@ -980,11 +980,11 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
} }
$actiontypecode='AC_FAC'; $actiontypecode='AC_FAC';
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>'; $actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message) if ($message)
{ {
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>'; $actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message; $actionmsg.=$message;
} }
@ -994,9 +994,9 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
{ {
$subject = 'Relance facture '.$fac->ref; $subject = 'Relance facture '.$fac->ref;
$actiontypecode='AC_FAC'; $actiontypecode='AC_FAC';
$actionmsg='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>'; $actionmsg='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message) { if ($message) {
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>'; $actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message; $actionmsg.=$message;
} }
$actionmsg2='Relance facture par mail'; $actionmsg2='Relance facture par mail';
@ -1086,12 +1086,12 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
{ {
$langs->load("other"); $langs->load("other");
$mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>'; $mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>';
dolibarr_syslog('Impossible de lire les donn<EFBFBD>es de la facture. Le fichier facture n\'a peut-<2D>tre pas <20>t<EFBFBD> g<>n<EFBFBD>r<EFBFBD>.'); dolibarr_syslog('Impossible de lire les données de la facture. Le fichier facture n\'a peut-être pas été généré.');
} }
} }
/* /*
* G<EFBFBD>n<EFBFBD>rer ou reg<EFBFBD>n<EFBFBD>rer le document PDF * Générer ou regénérer le document PDF
*/ */
if ($_REQUEST['action'] == 'builddoc') // En get ou en post if ($_REQUEST['action'] == 'builddoc') // En get ou en post
{ {
@ -1209,9 +1209,9 @@ if ($_GET['action'] == 'create')
/* /*
\todo \todo
L'info "Reference commande client" est une carac de la commande et non de la facture. L'info "Reference commande client" est une carac de la commande et non de la facture.
Elle devrait donc etre stock<EFBFBD>e sur l'objet commande li<EFBFBD>e <EFBFBD> la facture et non sur la facture. Elle devrait donc etre stockée sur l'objet commande liée à la facture et non sur la facture.
Pour ceux qui veulent l'utiliser au niveau de la facture, positionner la Pour ceux qui veulent l'utiliser au niveau de la facture, positionner la
constante FAC_USE_CUSTOMER_ORDER_REF <EFBFBD> 1. constante FAC_USE_CUSTOMER_ORDER_REF à 1.
*/ */
if ($conf->global->FAC_USE_CUSTOMER_ORDER_REF) if ($conf->global->FAC_USE_CUSTOMER_ORDER_REF)
{ {
@ -1327,12 +1327,12 @@ if ($_GET['action'] == 'create')
$html->select_date('','','','','',"add"); $html->select_date('','','','','',"add");
print '</td></tr>'; print '</td></tr>';
// Conditions de r<EFBFBD>glement // Conditions de règlement
print '<tr><td nowrap>'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">'; print '<tr><td nowrap>'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">';
$html->select_conditions_paiements($cond_reglement_id,'cond_reglement_id'); $html->select_conditions_paiements($cond_reglement_id,'cond_reglement_id');
print '</td></tr>'; print '</td></tr>';
// Mode de r<EFBFBD>glement // Mode de règlement
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">'; print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">';
$html->select_types_paiements($mode_reglement_id,'mode_reglement_id'); $html->select_types_paiements($mode_reglement_id,'mode_reglement_id');
print '</td></tr>'; print '</td></tr>';
@ -1374,7 +1374,7 @@ if ($_GET['action'] == 'create')
} }
print '</textarea></td></tr>'; print '</textarea></td></tr>';
// Note priv<EFBFBD>e // Note privée
if (! $user->societe_id) if (! $user->societe_id)
{ {
print '<tr>'; print '<tr>';
@ -1449,7 +1449,7 @@ if ($_GET['action'] == 'create')
{ {
print '<tr><td colspan="3">'; print '<tr><td colspan="3">';
// Zone de choix des produits pr<EFBFBD>d<EFBFBD>finis <20> la cr<63>ation // Zone de choix des produits prédéfinis à la création
print '<table class="noborder">'; print '<table class="noborder">';
print '<tr><td>'.$langs->trans('ProductsAndServices').'</td>'; print '<tr><td>'.$langs->trans('ProductsAndServices').'</td>';
print '<td>'.$langs->trans('Qty').'</td>'; print '<td>'.$langs->trans('Qty').'</td>';
@ -1473,7 +1473,7 @@ if ($_GET['action'] == 'create')
print '<td><input type="text" size="2" name="qty'.$i.'" value="1"></td>'; print '<td><input type="text" size="2" name="qty'.$i.'" value="1"></td>';
print '<td nowrap="nowrap"><input type="text" size="1" name="remise_percent'.$i.'" value="'.$soc->remise_client.'">%</td>'; print '<td nowrap="nowrap"><input type="text" size="1" name="remise_percent'.$i.'" value="'.$soc->remise_client.'">%</td>';
print '<td>&nbsp;</td>'; print '<td>&nbsp;</td>';
// Si le module service est actif, on propose des dates de d<EFBFBD>but et fin <20> la ligne // Si le module service est actif, on propose des dates de début et fin à la ligne
if ($conf->service->enabled) if ($conf->service->enabled)
{ {
print '<td nowrap="nowrap">'; print '<td nowrap="nowrap">';
@ -1499,7 +1499,7 @@ if ($_GET['action'] == 'create')
} }
/* /*
* Factures r<EFBFBD>currentes * Factures récurrentes
*/ */
if (! $conf->global->FACTURE_DISABLE_RECUR) if (! $conf->global->FACTURE_DISABLE_RECUR)
{ {
@ -1731,7 +1731,7 @@ else
*/ */
if ($_GET['action'] == 'valid') if ($_GET['action'] == 'valid')
{ {
// on v<EFBFBD>rifie si la facture est en num<75>rotation provisoire // on vérifie si la facture est en numérotation provisoire
$facref = substr($fac->ref, 1, 4); $facref = substr($fac->ref, 1, 4);
if ($facref == 'PROV') if ($facref == 'PROV')
{ {
@ -1756,7 +1756,7 @@ else
} }
/* /*
* Confirmation du classement pay<EFBFBD> * Confirmation du classement payé
*/ */
if ($_GET['action'] == 'payed' && $resteapayer <= 0) if ($_GET['action'] == 'payed' && $resteapayer <= 0)
{ {
@ -1789,7 +1789,7 @@ else
$arrayreasons[$close[$key]['code']]=$close[$key]['reason']; $arrayreasons[$close[$key]['code']]=$close[$key]['reason'];
} }
// Cr<EFBFBD>e un tableau formulaire // Crée un tableau formulaire
$formquestion=array( $formquestion=array(
'text' => $langs->trans("ConfirmClassifyPayedPartiallyQuestion"), 'text' => $langs->trans("ConfirmClassifyPayedPartiallyQuestion"),
array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons), array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons),
@ -1805,7 +1805,7 @@ else
*/ */
if ($_GET['action'] == 'canceled') if ($_GET['action'] == 'canceled')
{ {
// S'il y a une facture de remplacement pas encore valid<EFBFBD>e (etat brouillon), // S'il y a une facture de remplacement pas encore validée (etat brouillon),
// on ne permet pas de classer abandonner la facture. // on ne permet pas de classer abandonner la facture.
if ($facidnext) if ($facidnext)
{ {
@ -1832,7 +1832,7 @@ else
$arrayreasons[$close[1]['code']]=$close[1]['reason']; $arrayreasons[$close[1]['code']]=$close[1]['reason'];
$arrayreasons[$close[2]['code']]=$close[2]['reason']; $arrayreasons[$close[2]['code']]=$close[2]['reason'];
// Cr<EFBFBD>e un tableau formulaire // Crée un tableau formulaire
$formquestion=array( $formquestion=array(
'text' => $langs->trans("ConfirmCancelBillQuestion"), 'text' => $langs->trans("ConfirmCancelBillQuestion"),
array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons), array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons),
@ -1877,8 +1877,8 @@ else
/* /*
\todo \todo
L'info "Reference commande client" est une carac de la commande et non de la facture. L'info "Reference commande client" est une carac de la commande et non de la facture.
Elle devrait donc etre stock<EFBFBD>e sur l'objet commande li<EFBFBD> <EFBFBD> la facture et non sur la facture. Elle devrait donc etre stockée sur l'objet commande lié à la facture et non sur la facture.
Pour ceux qui utilisent ainsi, positionner la constante FAC_USE_CUSTOMER_ORDER_REF <EFBFBD> 1. Pour ceux qui utilisent ainsi, positionner la constante FAC_USE_CUSTOMER_ORDER_REF à 1.
*/ */
if ($conf->global->FAC_USE_CUSTOMER_ORDER_REF) if ($conf->global->FAC_USE_CUSTOMER_ORDER_REF)
{ {
@ -1905,7 +1905,7 @@ else
print '</tr>'; print '</tr>';
} }
// Tiers Soci<EFBFBD>t<EFBFBD> // Tiers Société
print '<tr><td>'.$langs->trans('Company').'</td>'; print '<tr><td>'.$langs->trans('Company').'</td>';
print '<td colspan="5">'.$soc->getNomUrl(1,'compta').'</td>'; print '<td colspan="5">'.$soc->getNomUrl(1,'compta').'</td>';
print '</tr>'; print '</tr>';
@ -2037,11 +2037,11 @@ else
// Already payed // Already payed
print '<tr><td colspan="2" align="right">'.$langs->trans('AlreadyPayed').' :</td><td align="right"><b>'.price($totalpaye).'</b></td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>'; print '<tr><td colspan="2" align="right">'.$langs->trans('AlreadyPayed').' :</td><td align="right"><b>'.price($totalpaye).'</b></td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>';
// Factur<EFBFBD> // Facturé
print '<tr><td colspan="2" align="right">'.$langs->trans("Billed").' :</td><td align="right" style="border: 1px solid;">'.price($fac->total_ttc).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>'; print '<tr><td colspan="2" align="right">'.$langs->trans("Billed").' :</td><td align="right" style="border: 1px solid;">'.price($fac->total_ttc).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>';
$resteapayeraffiche=$resteapayer; $resteapayeraffiche=$resteapayer;
// Pay<EFBFBD> partiellement 'escompte' // Payé partiellement 'escompte'
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'escompte') if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'escompte')
{ {
print '<tr><td colspan="2" align="right" nowrap="1">'; print '<tr><td colspan="2" align="right" nowrap="1">';
@ -2049,7 +2049,7 @@ else
print '</td><td align="right">'.price($fac->total_ttc - $totalpaye).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>'; print '</td><td align="right">'.price($fac->total_ttc - $totalpaye).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>';
$resteapayeraffiche=0; $resteapayeraffiche=0;
} }
// Pay<EFBFBD> partiellement ou Abandon 'badcustomer' // Payé partiellement ou Abandon 'badcustomer'
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'badcustomer') if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'badcustomer')
{ {
print '<tr><td colspan="2" align="right" nowrap="1">'; print '<tr><td colspan="2" align="right" nowrap="1">';
@ -2057,7 +2057,7 @@ else
print '</td><td align="right">'.price($fac->total_ttc - $totalpaye).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>'; print '</td><td align="right">'.price($fac->total_ttc - $totalpaye).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>';
//$resteapayeraffiche=0; //$resteapayeraffiche=0;
} }
// Pay<EFBFBD> partiellement ou Abandon 'product_returned' // Payé partiellement ou Abandon 'product_returned'
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'product_returned') if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'product_returned')
{ {
print '<tr><td colspan="2" align="right" nowrap="1">'; print '<tr><td colspan="2" align="right" nowrap="1">';
@ -2065,7 +2065,7 @@ else
print '</td><td align="right">'.price($fac->total_ttc - $totalpaye).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>'; print '</td><td align="right">'.price($fac->total_ttc - $totalpaye).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>';
$resteapayeraffiche=0; $resteapayeraffiche=0;
} }
// Pay<EFBFBD> partiellement ou Abandon 'abandon' // Payé partiellement ou Abandon 'abandon'
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'abandon') if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'abandon')
{ {
print '<tr><td colspan="2" align="right" nowrap="1">'; print '<tr><td colspan="2" align="right" nowrap="1">';
@ -2109,7 +2109,7 @@ else
} }
print '</td></tr>'; print '</td></tr>';
// Conditions de r<EFBFBD>glement // Conditions de règlement
print '<tr><td>'; print '<tr><td>';
print '<table class="nobordernopadding" width="100%"><tr><td>'; print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentConditionsShort'); print $langs->trans('PaymentConditionsShort');
@ -2152,7 +2152,7 @@ else
} }
print '</td></tr>'; print '</td></tr>';
// Lit lignes de facture pour d<EFBFBD>terminer montant // Lit lignes de facture pour déterminer montant
// On s'en sert pas mais ca sert pour debuggage // On s'en sert pas mais ca sert pour debuggage
$sql = 'SELECT l.price as price, l.qty, l.rowid, l.tva_taux,'; $sql = 'SELECT l.price as price, l.qty, l.rowid, l.tva_taux,';
$sql .= ' l.remise_percent, l.subprice'; $sql .= ' l.remise_percent, l.subprice';
@ -2351,7 +2351,7 @@ else
print '<td align="center">'; print '<td align="center">';
if (($objp->info_bits & 2) == 2) if (($objp->info_bits & 2) == 2)
{ {
// Ligne remise pr<EFBFBD>d<EFBFBD>finie, on permet pas modif // Ligne remise prédéfinie, on permet pas modif
} }
else else
{ {
@ -2415,7 +2415,7 @@ else
print ' - '.nl2br($objp->product); print ' - '.nl2br($objp->product);
print '<br>'; print '<br>';
} }
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -2491,7 +2491,7 @@ else
print '<td colspan="4">&nbsp;</td>'; print '<td colspan="4">&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
// Ajout produit produits/services personalis<EFBFBD>s // Ajout produit produits/services personalisés
print '<form name="addligne" action="'.$_SERVER['PHP_SELF'].'#add" method="post">'; print '<form name="addligne" action="'.$_SERVER['PHP_SELF'].'#add" method="post">';
print '<input type="hidden" name="facid" value="'.$fac->id.'">'; print '<input type="hidden" name="facid" value="'.$fac->id.'">';
print '<input type="hidden" name="action" value="addligne">'; print '<input type="hidden" name="action" value="addligne">';
@ -2499,7 +2499,7 @@ else
$var=true; $var=true;
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td>'; print '<td>';
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -2534,7 +2534,7 @@ else
} }
print '</form>'; print '</form>';
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis // Ajout de produits/services prédéfinis
if ($conf->produit->enabled) if ($conf->produit->enabled)
{ {
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
@ -2574,7 +2574,7 @@ else
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC) if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
{ {
// <EFBFBD>diteur wysiwyg // éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO) if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -2618,10 +2618,10 @@ else
{ {
print '<div class="tabsAction">'; print '<div class="tabsAction">';
// Editer une facture d<EFBFBD>j<EFBFBD> valid<69>e, sans paiement effectu<74> et pas export<72> en compta // Editer une facture déjà validée, sans paiement effectué et pas exporté en compta
if ($fac->statut == 1) if ($fac->statut == 1)
{ {
// On v<EFBFBD>rifie si les lignes de factures ont <20>t<EFBFBD> export<72>es en compta et/ou ventil<69>es // On vérifie si les lignes de factures ont été exportées en compta et/ou ventilées
$ventilExportCompta = $fac->getVentilExportCompta(); $ventilExportCompta = $fac->getVentilExportCompta();
if ($conf->global->FACTURE_ENABLE_EDITDELETE && $user->rights->facture->modifier if ($conf->global->FACTURE_ENABLE_EDITDELETE && $user->rights->facture->modifier
@ -2631,7 +2631,7 @@ else
} }
} }
// R<EFBFBD>currente // Récurrente
if (! $conf->global->FACTURE_DISABLE_RECUR && $fac->type == 0) if (! $conf->global->FACTURE_DISABLE_RECUR && $fac->type == 0)
{ {
if (! $facidnext) if (! $facidnext)
@ -2650,7 +2650,7 @@ else
} }
else else
{ {
// G<EFBFBD>n<EFBFBD>rer // Générer
if ($fac->statut >= 1 && $user->rights->facture->creer) if ($fac->statut >= 1 && $user->rights->facture->creer)
{ {
if ($fac->paye == 0) if ($fac->paye == 0)
@ -2717,14 +2717,14 @@ else
} }
} }
// Classer 'pay<EFBFBD>' // Classer 'payé'
if ($fac->statut == 1 && $fac->paye == 0 && $user->rights->facture->paiement && if ($fac->statut == 1 && $fac->paye == 0 && $user->rights->facture->paiement &&
(($fac->type != 2 && $resteapayer <= 0) || ($fac->type == 2 && $resteapayer >= 0)) ) (($fac->type != 2 && $resteapayer <= 0) || ($fac->type == 2 && $resteapayer >= 0)) )
{ {
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?facid='.$fac->id.'&amp;action=payed">'.$langs->trans('ClassifyPayed').'</a>'; print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?facid='.$fac->id.'&amp;action=payed">'.$langs->trans('ClassifyPayed').'</a>';
} }
// Classer 'ferm<EFBFBD>e' (possible si valid<69>e et pas encore class<73>e pay<61>e) // Classer 'fermée' (possible si validée et pas encore classée payée)
if ($fac->statut == 1 && $fac->paye == 0 && $resteapayer > 0 if ($fac->statut == 1 && $fac->paye == 0 && $resteapayer > 0
&& $user->rights->facture->paiement) && $user->rights->facture->paiement)
{ {
@ -2765,7 +2765,7 @@ else
print '<a name="builddoc"></a>'; // ancre print '<a name="builddoc"></a>'; // ancre
/* /*
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s * Documents générés
*/ */
$filename=sanitize_string($fac->ref); $filename=sanitize_string($fac->ref);
$filedir=$conf->facture->dir_output . '/' . sanitize_string($fac->ref); $filedir=$conf->facture->dir_output . '/' . sanitize_string($fac->ref);
@ -2779,7 +2779,7 @@ else
$somethingshown=$html->show_documents('facture',$filename,$filedir,$urlsource,$genallowed,$delallowed,$fac->modelpdf); $somethingshown=$html->show_documents('facture',$filename,$filedir,$urlsource,$genallowed,$delallowed,$fac->modelpdf);
/* /*
* Propales rattach<EFBFBD>es * Propales rattachées
*/ */
$sql = 'SELECT '.$db->pdate('p.datep').' as dp, p.total_ht, p.ref, p.ref_client, p.rowid as propalid'; $sql = 'SELECT '.$db->pdate('p.datep').' as dp, p.total_ht, p.ref, p.ref_client, p.rowid as propalid';
$sql .= ' FROM '.MAIN_DB_PREFIX.'propal as p'; $sql .= ' FROM '.MAIN_DB_PREFIX.'propal as p';
@ -2833,7 +2833,7 @@ else
} }
/* /*
* Commandes rattach<EFBFBD>es * Commandes rattachées
*/ */
if($conf->commande->enabled) if($conf->commande->enabled)
{ {
@ -2889,7 +2889,7 @@ else
print '</td><td valign="top" width="50%">'; print '</td><td valign="top" width="50%">';
/* /*
* Liste des actions propres <EFBFBD> la facture * Liste des actions propres à la facture
*/ */
$sql = 'SELECT a.id, '.$db->pdate('a.datea').' as da, a.label, a.note,'; $sql = 'SELECT a.id, '.$db->pdate('a.datea').' as da, a.label, a.note,';
$sql.= ' u.login'; $sql.= ' u.login';
@ -2970,7 +2970,7 @@ else
$liste[$key]=$value; $liste[$key]=$value;
} }
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail // Créé l'objet formulaire mail
include_once(DOL_DOCUMENT_ROOT.'/html.formmail.class.php'); include_once(DOL_DOCUMENT_ROOT.'/html.formmail.class.php');
$formmail = new FormMail($db); $formmail = new FormMail($db);
$formmail->fromname = $user->fullname; $formmail->fromname = $user->fullname;
@ -2985,7 +2985,7 @@ else
$formmail->withcancel=1; $formmail->withcancel=1;
// Tableau des substitutions // Tableau des substitutions
$formmail->substit['__FACREF__']=$fac->ref; $formmail->substit['__FACREF__']=$fac->ref;
// Tableau des param<EFBFBD>tres compl<70>mentaires du post // Tableau des paramètres complémentaires du post
$formmail->param['action']='send'; $formmail->param['action']='send';
$formmail->param['models']='facture_send'; $formmail->param['models']='facture_send';
$formmail->param['facid']=$fac->id; $formmail->param['facid']=$fac->id;
@ -3026,7 +3026,7 @@ else
$liste[$key]=$value; $liste[$key]=$value;
} }
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail // Créé l'objet formulaire mail
include_once(DOL_DOCUMENT_ROOT.'/html.formmail.class.php'); include_once(DOL_DOCUMENT_ROOT.'/html.formmail.class.php');
$formmail = new FormMail($db); $formmail = new FormMail($db);
$formmail->fromname = $user->fullname; $formmail->fromname = $user->fullname;
@ -3040,7 +3040,7 @@ else
$formmail->withdeliveryreceipt=1; $formmail->withdeliveryreceipt=1;
// Tableau des substitutions // Tableau des substitutions
$formmail->substit['__FACREF__']=$fac->ref; $formmail->substit['__FACREF__']=$fac->ref;
// Tableau des param<EFBFBD>tres compl<70>mentaires // Tableau des paramètres complémentaires
$formmail->param['action']='relance'; $formmail->param['action']='relance';
$formmail->param['models']='facture_relance'; $formmail->param['models']='facture_relance';
$formmail->param['facid']=$fac->id; $formmail->param['facid']=$fac->id;

View File

@ -6,7 +6,7 @@
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr> * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
* Copyright (C) 2006 Marc Barilley/Oc<EFBFBD>bo <marc@ocebo.com> * Copyright (C) 2006 Marc Barilley/Ocebo <marc@ocebo.com>
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be> * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be>
* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> * Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* *
@ -30,14 +30,14 @@
/** /**
\file htdocs/html.form.class.php \file htdocs/html.form.class.php
\brief Fichier de la classe des fonctions pr<EFBFBD>d<EFBFBD>finie de composants html \brief Fichier de la classe des fonctions prédéfinie de composants html
\version $Revision$ \version $Revision$
*/ */
/** /**
\class Form \class Form
\brief Classe permettant la g<EFBFBD>n<EFBFBD>ration de composants html \brief Classe permettant la génération de composants html
*/ */
class Form class Form
@ -54,7 +54,7 @@ class Form
/** /**
\brief Constructeur \brief Constructeur
\param DB handler d'acc<EFBFBD>s base de donn<EFBFBD>e \param DB handler d'accès base de donnée
*/ */
function Form($DB) function Form($DB)
{ {
@ -66,10 +66,10 @@ class Form
/** /**
\brief Affiche un texte+picto avec tooltip sur texte ou sur picto \brief Affiche un texte+picto avec tooltip sur texte ou sur picto
\param text Texte <EFBFBD> afficher \param text Texte à afficher
\param htmltext Contenu html du tooltip, cod<EFBFBD> en html \param htmltext Contenu html du tooltip, codé en html
\param tooltipon 1=tooltip sur texte, 2=tooltip sur picto, 3=tooltip sur les 2, 4=tooltip sur les 2 et forc<EFBFBD> en Ajaxa \param tooltipon 1=tooltip sur texte, 2=tooltip sur picto, 3=tooltip sur les 2, 4=tooltip sur les 2 et forcé en Ajax
\param direction -1=Le picto est avant, 0=pas de picto, 1=le picto est apr<EFBFBD>s \param direction -1=Le picto est avant, 0=pas de picto, 1=le picto est après
\param img Code img du picto \param img Code img du picto
\return string Code html du texte,picto \return string Code html du texte,picto
*/ */
@ -145,9 +145,9 @@ class Form
/** /**
\brief Affiche un texte avec picto help qui affiche un tooltip \brief Affiche un texte avec picto help qui affiche un tooltip
\param text Texte <EFBFBD> afficher \param text Texte à afficher
\param htmltooltip Contenu html du tooltip \param htmltooltip Contenu html du tooltip
\param direction 1=Le picto est apr<EFBFBD>s, -1=le picto est avant \param direction 1=Le picto est après, -1=le picto est avant
\param usehelpcursor 1=Utilise curseur help, 0=Curseur par defaut \param usehelpcursor 1=Utilise curseur help, 0=Curseur par defaut
\return string Code html du texte,picto \return string Code html du texte,picto
*/ */
@ -158,9 +158,9 @@ class Form
/** /**
\brief Affiche un texte avec picto warning qui affiche un tooltip \brief Affiche un texte avec picto warning qui affiche un tooltip
\param text Texte <EFBFBD> afficher \param text Texte à afficher
\param htmltooltip Contenu html du tooltip \param htmltooltip Contenu html du tooltip
\param direction 1=Le picto est apr<EFBFBD>s, -1=le picto est avant \param direction 1=Le picto est après, -1=le picto est avant
\return string Code html du texte,picto \return string Code html du texte,picto
*/ */
function textwithwarning($text,$htmltext,$direction=1) function textwithwarning($text,$htmltext,$direction=1)
@ -170,13 +170,13 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des d<EFBFBD>partements/province/cantons tout pays confondu ou pour un pays donn<EFBFBD>. * \brief Retourne la liste déroulante des départements/province/cantons tout pays confondu ou pour un pays donné.
* \remarks Dans le cas d'une liste tout pays confondus, l'affichage fait une rupture sur le pays. * \remarks Dans le cas d'une liste tout pays confondus, l'affichage fait une rupture sur le pays.
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entr<EFBFBD>e pour * \remarks La cle de la liste est le code (il peut y avoir plusieurs entrée pour
* un code donn<EFBFBD>e mais dans ce cas, le champ pays diff<EFBFBD>re). * un code donnée mais dans ce cas, le champ pays diffère).
* Ainsi les liens avec les d<EFBFBD>partements se font sur un d<EFBFBD>partement ind<EFBFBD>pendemment de nom som. * Ainsi les liens avec les départements se font sur un département indépendemment de son nom.
* \param selected code forme juridique a pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected code forme juridique a présélectionné
* \param pays_code 0=liste tous pays confondus, sinon code du pays <EFBFBD> afficher * \param pays_code 0=liste tous pays confondus, sinon code du pays à afficher
*/ */
function select_departement($selected='',$pays_code=0) function select_departement($selected='',$pays_code=0)
{ {
@ -187,7 +187,7 @@ class Form
$htmlname='departement_id'; $htmlname='departement_id';
// On recherche les d<EFBFBD>partements/cantons/province active d'une region et pays actif // On recherche les départements/cantons/province active d'une region et pays actif
$sql = "SELECT d.rowid, d.code_departement as code , d.nom, d.active, p.libelle as libelle_pays, p.code as code_pays FROM"; $sql = "SELECT d.rowid, d.code_departement as code , d.nom, d.active, p.libelle as libelle_pays, p.code as code_pays FROM";
$sql .= " ".MAIN_DB_PREFIX ."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r,".MAIN_DB_PREFIX."c_pays as p"; $sql .= " ".MAIN_DB_PREFIX ."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r,".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid"; $sql .= " WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid";
@ -232,7 +232,7 @@ class Form
{ {
print '<option value="'.$obj->rowid.'">'; print '<option value="'.$obj->rowid.'">';
} }
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
print $obj->code . ' - ' . ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->nom!='-'?$obj->nom:'')); print $obj->code . ' - ' . ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->nom!='-'?$obj->nom:''));
print '</option>'; print '</option>';
} }
@ -248,11 +248,11 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des regions actives dont le pays est actif * \brief Retourne la liste déroulante des regions actives dont le pays est actif
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entr<EFBFBD>e pour * \remarks La cle de la liste est le code (il peut y avoir plusieurs entrée pour
* un code donn<EFBFBD>e mais dans ce cas, le champ pays et lang diff<EFBFBD>re). * un code donnée mais dans ce cas, le champ pays et lang diffère).
* Ainsi les liens avec les regions se font sur une region independemment * Ainsi les liens avec les regions se font sur une region independemment
* de nom som. * de son nom.
*/ */
function select_region($selected='',$htmlname='region_id') function select_region($selected='',$htmlname='region_id')
@ -307,7 +307,7 @@ class Form
/** /**
* \brief Renvoie la liste des sources de commandes * \brief Renvoie la liste des sources de commandes
* \param selected Id de la source pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e * \param selected Id de la source pré-sélectionnée
* \param htmlname Nom de la liste deroulante * \param htmlname Nom de la liste deroulante
* \param addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue * \param addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
* \return array Tableau des sources de commandes * \return array Tableau des sources de commandes
@ -364,11 +364,11 @@ class Form
} }
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des pays actifs, dans la langue de l'utilisateur * \brief Retourne la liste déroulante des pays actifs, dans la langue de l'utilisateur
* \param selected Id ou code pays pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD> * \param selected Id ou code pays pré-sélectionné
* \param htmlname Nom de la liste deroulante * \param htmlname Nom de la liste deroulante
* \param htmloption Options html sur le select * \param htmloption Options html sur le select
* \todo trier liste sur noms apr<EFBFBD>s traduction plutot que avant * \todo trier liste sur noms après traduction plutot que avant
*/ */
function select_pays($selected='',$htmlname='pays_id',$htmloption='') function select_pays($selected='',$htmlname='pays_id',$htmloption='')
{ {
@ -449,7 +449,7 @@ class Form
{ {
print '<option value="'.$obj->rowid.'">'; print '<option value="'.$obj->rowid.'">';
} }
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
if ($obj->code) { print $obj->code . ' - '; } if ($obj->code) { print $obj->code . ' - '; }
print ($obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code?$langs->trans("Country".$obj->code):($obj->libelle!='-'?$obj->libelle:'&nbsp;')); print ($obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code?$langs->trans("Country".$obj->code):($obj->libelle!='-'?$obj->libelle:'&nbsp;'));
print '</option>'; print '</option>';
@ -469,8 +469,8 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des langues disponibles * \brief Retourne la liste déroulante des langues disponibles
* \param selected Langue pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param selected Langue pré-sélectionnée
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param showauto Affiche choix auto * \param showauto Affiche choix auto
*/ */
@ -509,16 +509,16 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des menus disponibles (eldy_backoffice, ...) * \brief Retourne la liste déroulante des menus disponibles (eldy_backoffice, ...)
* \param selected Menu pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e * \param selected Menu pré-sélectionnée
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param dirmenu Rep<EFBFBD>rtoire <EFBFBD> scanner * \param dirmenu Repértoire à scanner
*/ */
function select_menu($selected='',$htmlname,$dirmenu) function select_menu($selected='',$htmlname,$dirmenu)
{ {
global $langs,$conf; global $langs,$conf;
if ($selected == 'eldy.php') $selected='eldy_backoffice.php'; // Pour compatibilit<EFBFBD> if ($selected == 'eldy.php') $selected='eldy_backoffice.php'; // Pour compatibilité
$menuarray=array(); $menuarray=array();
$handle=opendir($dirmenu); $handle=opendir($dirmenu);
@ -570,10 +570,10 @@ class Form
} }
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des menus disponibles (eldy) * \brief Retourne la liste déroulante des menus disponibles (eldy)
* \param selected Menu pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e * \param selected Menu pré-sélectionnée
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param dirmenu Rep<EFBFBD>rtoire <EFBFBD> scanner * \param dirmenu Repertoire à scanner
*/ */
function select_menu_families($selected='',$htmlname,$dirmenu) function select_menu_families($selected='',$htmlname,$dirmenu)
{ {
@ -615,7 +615,7 @@ class Form
/** /**
* \brief Retourne la liste des types de comptes financiers * \brief Retourne la liste des types de comptes financiers
* \param selected Type pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD> * \param selected Type pré-sélectionné
* \param htmlname Nom champ formulaire * \param htmlname Nom champ formulaire
*/ */
function select_type_comptes_financiers($selected=1,$htmlname='type') function select_type_comptes_financiers($selected=1,$htmlname='type')
@ -648,8 +648,8 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des soci<EFBFBD>t<EFBFBD>s * \brief Retourne la liste déroulante des sociétés
* \param selected Societe pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param selected Societe pré-sélectionnée
* \param htmlname Nom champ formulaire * \param htmlname Nom champ formulaire
* \param filter Criteres optionnels de filtre * \param filter Criteres optionnels de filtre
*/ */
@ -733,8 +733,8 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des remises fixes * \brief Retourne la liste déroulante des remises fixes
* \param selected Id remise fixe pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param selected Id remise fixe pré-sélectionnée
* \param htmlname Nom champ formulaire * \param htmlname Nom champ formulaire
* \param filter Criteres optionnels de filtre * \param filter Criteres optionnels de filtre
*/ */
@ -789,12 +789,12 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des contacts d'une soci<EFBFBD>t<EFBFBD> donn<EFBFBD>e * \brief Retourne la liste déroulante des contacts d'une société donnée
* \param socid Id de la soci<EFBFBD>t<EFBFBD> * \param socid Id de la société
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn * \param selected Id contact pré-sélectionné
* \param htmlname Nom champ formulaire ('none' pour champ non editable) * \param htmlname Nom champ formulaire ('none' pour champ non editable)
* \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue * \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
* \param exclude Liste des id contacts <EFBFBD> exclure * \param exclude Liste des id contacts à exclure
* \return int <0 if KO, Nb of contact in list if OK * \return int <0 if KO, Nb of contact in list if OK
*/ */
function select_contacts($socid,$selected='',$htmlname='contactid',$showempty=0,$exclude='') function select_contacts($socid,$selected='',$htmlname='contactid',$showempty=0,$exclude='')
@ -857,11 +857,11 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des utilisateurs * \brief Retourne la liste déroulante des utilisateurs
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn * \param selected Id contact pré-sélectionné
* \param htmlname Nom champ formulaire * \param htmlname Nom champ formulaire
* \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue * \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
* \param exclude Liste des id utilisateurs <EFBFBD> exclure * \param exclude Liste des id utilisateurs à exclure
*/ */
function select_users($selected='',$htmlname='userid',$show_empty=0,$exclude='') function select_users($selected='',$htmlname='userid',$show_empty=0,$exclude='')
{ {
@ -910,9 +910,9 @@ class Form
/** /**
\brief Affiche la liste d<EFBFBD>roulante des projets d'une soci<EFBFBD>t<EFBFBD> donn<EFBFBD>e \brief Affiche la liste déroulante des projets d'une société donnée
\param socid Id soci<EFBFBD>t<EFBFBD> \param socid Id société
\param selected Id projet pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> \param selected Id projet pré-sélectionné
\param htmlname Nom de la zone html \param htmlname Nom de la zone html
\return int Nbre de projet si ok, <0 si ko \return int Nbre de projet si ok, <0 si ko
*/ */
@ -958,11 +958,11 @@ class Form
} }
} }
/** /**
\brief Retourne la liste des produits en Ajax si ajax activ<EFBFBD> ou renvoie <EFBFBD> select_produits_do \brief Retourne la liste des produits en Ajax si ajax activé ou renvoie à select_produits_do
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> \param selected Produit pré-sélectionné
\param htmlname Nom de la zone select \param htmlname Nom de la zone select
\param filtretype Pour filtre sur type de produit \param filtretype Pour filtre sur type de produit
\param limit Limite sur le nombre de lignes retourn<EFBFBD>es \param limit Limite sur le nombre de lignes retournées
\param price_level Niveau de prix en fonction du client \param price_level Niveau de prix en fonction du client
*/ */
function select_produits($selected='',$htmlname='productid',$filtretype='',$limit=20,$price_level=0) function select_produits($selected='',$htmlname='productid',$filtretype='',$limit=20,$price_level=0)
@ -993,12 +993,12 @@ class Form
/** /**
\brief Retourne la liste des produits \brief Retourne la liste des produits
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> \param selected Produit pré-sélectionné
\param htmlname Nom de la zone select \param htmlname Nom de la zone select
\param filtretype Pour filtre sur type de produit \param filtretype Pour filtre sur type de produit
\param limit Limite sur le nombre de lignes retourn<EFBFBD>es \param limit Limite sur le nombre de lignes retournées
\param price_level Niveau de prix en fonction du client \param price_level Niveau de prix en fonction du client
\param ajaxkeysearch Filtre des produits si ajax est utilis<EFBFBD> \param ajaxkeysearch Filtre des produits si ajax est utilisé
*/ */
function select_produits_do($selected='',$htmlname='productid',$filtretype='',$limit=20,$price_level=0,$ajaxkeysearch='') function select_produits_do($selected='',$htmlname='productid',$filtretype='',$limit=20,$price_level=0,$ajaxkeysearch='')
{ {
@ -1032,7 +1032,7 @@ class Form
$result=$this->db->query($sql); $result=$this->db->query($sql);
if (! $result) dolibarr_print_error($this->db); if (! $result) dolibarr_print_error($this->db);
// Multilang : on construit une liste des traductions des produits list<EFBFBD>s // Multilang : on construit une liste des traductions des produits listés
if ($conf->global->MAIN_MULTILANGS) if ($conf->global->MAIN_MULTILANGS)
{ {
$sqld = "SELECT d.fk_product, d.label"; $sqld = "SELECT d.fk_product, d.label";
@ -1071,7 +1071,7 @@ class Form
{ {
$objp = $this->db->fetch_object($result); $objp = $this->db->fetch_object($result);
// Multilangs : modification des donn<EFBFBD>e si une traduction existe // Multilangs : modification des donnée si une traduction existe
if ($conf->global->MAIN_MULTILANGS) if ($conf->global->MAIN_MULTILANGS)
{ {
if ( $objp->rowid == $objtp->fk_product ) // si on a une traduction if ( $objp->rowid == $objtp->fk_product ) // si on a une traduction
@ -1147,11 +1147,11 @@ class Form
} }
/** /**
\brief Retourne la liste des produits fournisseurs en Ajax si ajax activ<EFBFBD> ou renvoie <EFBFBD> select_produits_fournisseurs_do \brief Retourne la liste des produits fournisseurs en Ajax si ajax activé ou renvoie à select_produits_fournisseurs_do
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> \param selected Produit pré-sélectionné
\param htmlname Nom de la zone select \param htmlname Nom de la zone select
\param filtretype Pour filtre sur type de produit \param filtretype Pour filtre sur type de produit
\param limit Limite sur le nombre de lignes retourn<EFBFBD>es \param limit Limite sur le nombre de lignes retournées
*/ */
function select_produits_fournisseurs($socid,$selected='',$htmlname='productid',$filtretype='',$filtre='') function select_produits_fournisseurs($socid,$selected='',$htmlname='productid',$filtretype='',$filtre='')
{ {
@ -1169,12 +1169,12 @@ class Form
/** /**
\brief Retourne la liste des produits de fournisseurs \brief Retourne la liste des produits de fournisseurs
\param socid Id soci<EFBFBD>t<EFBFBD> fournisseur (0 pour aucun filtre) \param socid Id société fournisseur (0 pour aucun filtre)
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> \param selected Produit pré-sélectionné
\param htmlname Nom de la zone select \param htmlname Nom de la zone select
\param filtretype Pour filtre sur type de produit \param filtretype Pour filtre sur type de produit
\param filtre Pour filtre \param filtre Pour filtre
\param ajaxkeysearch Filtre des produits si ajax est utilis<EFBFBD> \param ajaxkeysearch Filtre des produits si ajax est utilisé
*/ */
function select_produits_fournisseurs_do($socid,$selected='',$htmlname='productid',$filtretype='',$filtre='',$ajaxkeysearch='') function select_produits_fournisseurs_do($socid,$selected='',$htmlname='productid',$filtretype='',$filtre='',$ajaxkeysearch='')
{ {
@ -1359,8 +1359,8 @@ class Form
} }
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des adresses de livraison * \brief Retourne la liste déroulante des adresses de livraison
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn * \param selected Id contact pré-sélectionn
* \param htmlname Nom champ formulaire * \param htmlname Nom champ formulaire
*/ */
function select_adresse_livraison($selected='', $socid, $htmlname='adresse_livraison_id',$showempty=0) function select_adresse_livraison($selected='', $socid, $htmlname='adresse_livraison_id',$showempty=0)
@ -1405,13 +1405,13 @@ class Form
/** /**
* \brief Charge dans cache la liste des conditions de paiements possibles * \brief Charge dans cache la liste des conditions de paiements possibles
* \return int Nb lignes charg<EFBFBD>es, 0 si d<EFBFBD>j<EFBFBD> charg<EFBFBD>es, <0 si ko * \return int Nb lignes chargées, 0 si déjà chargées, <0 si ko
*/ */
function load_cache_conditions_paiements() function load_cache_conditions_paiements()
{ {
global $langs; global $langs;
if (sizeof($this->cache_conditions_paiements_code)) return 0; // Cache d<EFBFBD>ja charg<72> if (sizeof($this->cache_conditions_paiements_code)) return 0; // Cache déja chargé
dolibarr_syslog('Form::load_cache_conditions_paiements',LOG_DEBUG); dolibarr_syslog('Form::load_cache_conditions_paiements',LOG_DEBUG);
@ -1428,7 +1428,7 @@ class Form
{ {
$obj = $this->db->fetch_object($resql); $obj = $this->db->fetch_object($resql);
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
$libelle=($langs->trans("PaymentConditionShort".$obj->code)!=("PaymentConditionShort".$obj->code)?$langs->trans("PaymentConditionShort".$obj->code):($obj->libelle!='-'?$obj->libelle:'')); $libelle=($langs->trans("PaymentConditionShort".$obj->code)!=("PaymentConditionShort".$obj->code)?$langs->trans("PaymentConditionShort".$obj->code):($obj->libelle!='-'?$obj->libelle:''));
$this->cache_conditions_paiements_code[$obj->rowid]=$obj->code; $this->cache_conditions_paiements_code[$obj->rowid]=$obj->code;
$this->cache_conditions_paiements_libelle[$obj->rowid]=$libelle; $this->cache_conditions_paiements_libelle[$obj->rowid]=$libelle;
@ -1444,13 +1444,13 @@ class Form
/** /**
* \brief Charge dans cache la liste des types de paiements possibles * \brief Charge dans cache la liste des types de paiements possibles
* \return int Nb lignes charg<EFBFBD>es, 0 si d<EFBFBD>j<EFBFBD> charg<EFBFBD>es, <0 si ko * \return int Nb lignes chargées, 0 si déjà chargées, <0 si ko
*/ */
function load_cache_types_paiements() function load_cache_types_paiements()
{ {
global $langs; global $langs;
if (sizeof($this->cache_types_paiements_code)) return 0; // Cache d<EFBFBD>ja charg<72> if (sizeof($this->cache_types_paiements_code)) return 0; // Cache déja chargé
dolibarr_syslog('Form::load_cache_types_paiements',LOG_DEBUG); dolibarr_syslog('Form::load_cache_types_paiements',LOG_DEBUG);
@ -1467,7 +1467,7 @@ class Form
{ {
$obj = $this->db->fetch_object($resql); $obj = $this->db->fetch_object($resql);
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
$libelle=($langs->trans("PaymentTypeShort".$obj->code)!=("PaymentTypeShort".$obj->code)?$langs->trans("PaymentTypeShort".$obj->code):($obj->libelle!='-'?$obj->libelle:'')); $libelle=($langs->trans("PaymentTypeShort".$obj->code)!=("PaymentTypeShort".$obj->code)?$langs->trans("PaymentTypeShort".$obj->code):($obj->libelle!='-'?$obj->libelle:''));
$this->cache_types_paiements_code[$obj->id]=$obj->code; $this->cache_types_paiements_code[$obj->id]=$obj->code;
$this->cache_types_paiements_libelle[$obj->id]=$libelle; $this->cache_types_paiements_libelle[$obj->id]=$libelle;
@ -1486,10 +1486,10 @@ class Form
/** /**
* \brief Retourne la liste des types de paiements possibles * \brief Retourne la liste des types de paiements possibles
* \param selected Id du type de paiement pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id du type de paiement pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param filtertype Pour filtre * \param filtertype Pour filtre
* \param addempty Ajoute entr<EFBFBD>e vide * \param addempty Ajoute entrée vide
*/ */
function select_conditions_paiements($selected='',$htmlname='condid',$filtertype=-1,$addempty=0) function select_conditions_paiements($selected='',$htmlname='condid',$filtertype=-1,$addempty=0)
{ {
@ -1517,7 +1517,7 @@ class Form
/** /**
* \brief Selection HT ou TTC * \brief Selection HT ou TTC
* \param selected Id pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
*/ */
function select_PriceBaseType($selected='',$htmlname='price_base_type') function select_PriceBaseType($selected='',$htmlname='price_base_type')
@ -1545,7 +1545,7 @@ class Form
/** /**
* \brief Retourne la liste des modes de paiements possibles * \brief Retourne la liste des modes de paiements possibles
* \param selected Id du mode de paiement pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id du mode de paiement pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param filtertype Pour filtre * \param filtertype Pour filtre
* \param format 0=id+libelle, 1=code+code, 2=code+libelle * \param format 0=id+libelle, 1=code+code, 2=code+libelle
@ -1568,7 +1568,7 @@ class Form
if ($empty) print '<option value="">&nbsp;</option>'; if ($empty) print '<option value="">&nbsp;</option>';
foreach($this->cache_types_paiements_code as $id => $code) foreach($this->cache_types_paiements_code as $id => $code)
{ {
// On passe si on a demand<EFBFBD> de filtrer sur des modes de paiments particuli<6C>rs // On passe si on a demandé de filtrer sur des modes de paiments particuliers
if (sizeof($filterarray) && ! in_array($this->cache_types_paiements_type[$id],$filterarray)) continue; if (sizeof($filterarray) && ! in_array($this->cache_types_paiements_type[$id],$filterarray)) continue;
if ($format == 0) print '<option value="'.$id.'"'; if ($format == 0) print '<option value="'.$id.'"';
@ -1587,9 +1587,9 @@ class Form
print '</select>'; print '</select>';
} }
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des diff<EFBFBD>rents <EFBFBD>tats d'une propal. * \brief Retourne la liste déroulante des différents états d'une propal.
* Les valeurs de la liste sont les id de la table c_propalst * Les valeurs de la liste sont les id de la table c_propalst
* \param selected etat pre-s<EFBFBD>l<EFBFBD>ctionn<EFBFBD> * \param selected etat pre-séléctionné
*/ */
function select_propal_statut($selected='') function select_propal_statut($selected='')
{ {
@ -1615,7 +1615,7 @@ class Form
{ {
print '<option value="'.$obj->id.'">'; print '<option value="'.$obj->id.'">';
} }
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
//print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:'')); //print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:''));
print $obj->label; print $obj->label;
print '</option>'; print '</option>';
@ -1633,9 +1633,9 @@ class Form
/** /**
* \brief Retourne la liste des comptes * \brief Retourne la liste des comptes
* \param selected Id compte pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id compte pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param statut Statut des comptes recherch<EFBFBD>s * \param statut Statut des comptes recherchés
* \param filtre Pour filtre sur la liste * \param filtre Pour filtre sur la liste
* \param useempty Affiche valeur vide dans liste * \param useempty Affiche valeur vide dans liste
*/ */
@ -1682,7 +1682,7 @@ class Form
} }
/** /**
* \brief Retourne la liste des cat<EFBFBD>gories du type choisi * \brief Retourne la liste des catégories du type choisi
* \param type Type de categories (0=produit, 1=fournisseur, 2=client) * \param type Type de categories (0=produit, 1=fournisseur, 2=client)
* \param selected Id categorie preselectionnee * \param selected Id categorie preselectionnee
* \param select_name Nom formulaire HTML * \param select_name Nom formulaire HTML
@ -1726,8 +1726,8 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des civilite actives * \brief Retourne la liste déroulante des civilite actives
* \param selected civilite pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e * \param selected civilite pré-sélectionnée
*/ */
function select_civilite($selected='') function select_civilite($selected='')
{ {
@ -1756,7 +1756,7 @@ class Form
{ {
print '<option value="'.$obj->code.'">'; print '<option value="'.$obj->code.'">';
} }
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:'')); print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:''));
print '</option>'; print '</option>';
$i++; $i++;
@ -1772,9 +1772,9 @@ class Form
/** /**
* \brief Retourne le nom traduit de la civilit<EFBFBD> * \brief Retourne le nom traduit de la civilité
* \param code Code de la civilit<EFBFBD> * \param code Code de la civilité
* \return string Nom traduit de la civilit<EFBFBD> * \return string Nom traduit de la civilité
*/ */
function civilite_name($code) function civilite_name($code)
{ {
@ -1785,10 +1785,10 @@ class Form
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des formes juridiques tous pays confondus ou pour un pays donn<EFBFBD>. * \brief Retourne la liste déroulante des formes juridiques tous pays confondus ou pour un pays donné.
* \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays * \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays
* \param selected Code forme juridique a pr<EFBFBD>s<EFBFBD>lectionn * \param selected Code forme juridique a pré-sélectionné
* \param pays_code 0=liste tous pays confondus, sinon code du pays <EFBFBD> afficher * \param pays_code 0=liste tous pays confondus, sinon code du pays à afficher
*/ */
function select_forme_juridique($selected='',$pays_code=0) function select_forme_juridique($selected='',$pays_code=0)
{ {
@ -1837,7 +1837,7 @@ class Form
{ {
print '<option value="'.$obj->code.'">'; print '<option value="'.$obj->code.'">';
} }
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
print $obj->code . ' - ' .($langs->trans("JuridicalStatus".$obj->code)!="JuridicalStatus".$obj->code?$langs->trans("JuridicalStatus".$obj->code):($obj->nom!='-'?$obj->nom:'')); print $obj->code . ' - ' .($langs->trans("JuridicalStatus".$obj->code)!="JuridicalStatus".$obj->code?$langs->trans("JuridicalStatus".$obj->code):($obj->nom!='-'?$obj->nom:''));
print '</option>'; print '</option>';
} }
@ -1948,13 +1948,13 @@ class Form
{ {
global $langs; global $langs;
// Si il existe une traduction, on peut renvoyer de suite le libell<EFBFBD> // Si il existe une traduction, on peut renvoyer de suite le libellé
if ($langs->trans("Currency".$code_iso)!="Currency".$code_iso) if ($langs->trans("Currency".$code_iso)!="Currency".$code_iso)
{ {
return $langs->trans("Currency".$code_iso); return $langs->trans("Currency".$code_iso);
} }
// Si pas de traduction, on consulte libell<EFBFBD> par d<>faut en table // Si pas de traduction, on consulte libellé par défaut en table
$sql = "SELECT label FROM ".MAIN_DB_PREFIX."c_currencies"; $sql = "SELECT label FROM ".MAIN_DB_PREFIX."c_currencies";
$sql.= " WHERE code_iso='$code_iso';"; $sql.= " WHERE code_iso='$code_iso';";
@ -2075,7 +2075,7 @@ class Form
* \brief Affiche formulaire de selection de projet * \brief Affiche formulaire de selection de projet
* \param page Page * \param page Page
* \param socid Id societe * \param socid Id societe
* \param selected Id projet pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id projet pré-sélectionné
* \param htmlname Nom du formulaire select * \param htmlname Nom du formulaire select
*/ */
function form_project($page, $socid, $selected='', $htmlname='projectid') function form_project($page, $socid, $selected='', $htmlname='projectid')
@ -2109,9 +2109,9 @@ class Form
/** /**
* \brief Affiche formulaire de selection de conditions de paiement * \brief Affiche formulaire de selection de conditions de paiement
* \param page Page * \param page Page
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param selected Id condition pré-sélectionné
* \param htmlname Nom du formulaire select * \param htmlname Nom du formulaire select
* \param addempty Ajoute entr<EFBFBD>e vide * \param addempty Ajoute entrée vide
*/ */
function form_conditions_reglement($page, $selected='', $htmlname='cond_reglement_id', $addempty=0) function form_conditions_reglement($page, $selected='', $htmlname='cond_reglement_id', $addempty=0)
{ {
@ -2140,9 +2140,9 @@ class Form
} }
/** /**
* \brief Affiche formulaire de selection de l'assuj<EFBFBD>tissement <EFBFBD> la TVA * \brief Affiche formulaire de selection de l'assujétissement à la TVA
* \param page Page * \param page Page
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param selected Id condition pré-sélectionnée
* \param htmlname Nom du formulaire select * \param htmlname Nom du formulaire select
*/ */
function form_assujetti_tva($page, $selected='', $htmlname='') function form_assujetti_tva($page, $selected='', $htmlname='')
@ -2175,7 +2175,7 @@ class Form
/** /**
* \brief Affiche formulaire de selection des modes de reglement * \brief Affiche formulaire de selection des modes de reglement
* \param page Page * \param page Page
* \param selected Id mode pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id mode pré-sélectionné
* \param htmlname Nom du formulaire select * \param htmlname Nom du formulaire select
*/ */
function form_modes_reglement($page, $selected='', $htmlname='mode_reglement_id') function form_modes_reglement($page, $selected='', $htmlname='mode_reglement_id')
@ -2343,7 +2343,7 @@ class Form
/** /**
* \brief Affiche formulaire de selection des contacts * \brief Affiche formulaire de selection des contacts
* \param page Page * \param page Page
* \param selected Id contact pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id contact pré-sélectionné
* \param htmlname Nom du formulaire select * \param htmlname Nom du formulaire select
*/ */
function form_contacts($page, $societe, $selected='', $htmlname='contactidp') function form_contacts($page, $societe, $selected='', $htmlname='contactidp')
@ -2358,7 +2358,7 @@ class Form
$num=$this->select_contacts($societe->id, $selected, $htmlname); $num=$this->select_contacts($societe->id, $selected, $htmlname);
if ($num==0) if ($num==0)
{ {
print '<font class="error">Cette societe n\'a pas de contact, veuillez en cr<EFBFBD>er un avant de faire votre proposition commerciale</font><br>'; print '<font class="error">Cette societe n\'a pas de contact, veuillez en créer un avant de faire votre proposition commerciale</font><br>';
print '<a href="'.DOL_URL_ROOT.'/contact/fiche.php?socid='.$societe->id.'&amp;action=create&amp;backtoreferer=1">'.$langs->trans('AddContact').'</a>'; print '<a href="'.DOL_URL_ROOT.'/contact/fiche.php?socid='.$societe->id.'&amp;action=create&amp;backtoreferer=1">'.$langs->trans('AddContact').'</a>';
} }
print '</td>'; print '</td>';
@ -2384,9 +2384,9 @@ class Form
/** /**
* \brief Affiche formulaire de selection de l'adresse de livraison * \brief Affiche formulaire de selection de l'adresse de livraison
* \param page Page * \param page Page
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param selected Id condition pré-sélectionné
* \param htmlname Nom du formulaire select * \param htmlname Nom du formulaire select
* \param origin Origine de l'appel pour pouvoir cr<EFBFBD>er un retour * \param origin Origine de l'appel pour pouvoir créer un retour
* \param originid Id de l'origine * \param originid Id de l'origine
*/ */
function form_adresse_livraison($page, $selected='', $socid, $htmlname='adresse_livraison_id', $origin='', $originid='') function form_adresse_livraison($page, $selected='', $socid, $htmlname='adresse_livraison_id', $origin='', $originid='')
@ -2423,16 +2423,16 @@ class Form
/** /**
* \brief Retourne la liste des devises, dans la langue de l'utilisateur * \brief Retourne la liste des devises, dans la langue de l'utilisateur
* \param selected code devise pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e * \param selected code devise pré-sélectionné
* \param htmlname nom de la liste deroulante * \param htmlname nom de la liste deroulante
* \todo trier liste sur noms apr<EFBFBD>s traduction plutot que avant * \todo trier liste sur noms après traduction plutot que avant
*/ */
function select_currency($selected='',$htmlname='currency_id') function select_currency($selected='',$htmlname='currency_id')
{ {
global $conf,$langs; global $conf,$langs;
$langs->load("dict"); $langs->load("dict");
if ($selected=='euro' || $selected=='euros') $selected='EUR'; // Pour compatibilit<EFBFBD> if ($selected=='euro' || $selected=='euros') $selected='EUR'; // Pour compatibilité
$sql = "SELECT code_iso, label, active FROM ".MAIN_DB_PREFIX."c_currencies"; $sql = "SELECT code_iso, label, active FROM ".MAIN_DB_PREFIX."c_currencies";
$sql .= " WHERE active = 1"; $sql .= " WHERE active = 1";
@ -2458,7 +2458,7 @@ class Form
{ {
print '<option value="'.$obj->code_iso.'">'; print '<option value="'.$obj->code_iso.'">';
} }
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut // Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
if ($obj->code_iso) { print $obj->code_iso . ' - '; } if ($obj->code_iso) { print $obj->code_iso . ' - '; }
print ($obj->code_iso && $langs->trans("Currency".$obj->code_iso)!="Currency".$obj->code_iso?$langs->trans("Currency".$obj->code_iso):($obj->label!='-'?$obj->label:'')); print ($obj->code_iso && $langs->trans("Currency".$obj->code_iso)!="Currency".$obj->code_iso?$langs->trans("Currency".$obj->code_iso):($obj->label!='-'?$obj->label:''));
print '</option>'; print '</option>';
@ -2476,17 +2476,17 @@ class Form
/** /**
* \brief Selection du taux de tva appliqu<EFBFBD> par vendeur * \brief Selection du taux de tva appliqué par vendeur
* \param name Nom champ html * \param name Nom champ html
* \param defaulttx For<EFBFBD>age du taux tva pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>. Mettre '' pour aucun forcage. * \param defaulttx Forçage du taux tva pré-sélectionné. Mettre '' pour aucun forcage.
* \param societe_vendeuse Objet soci<EFBFBD>t<EFBFBD> vendeuse * \param societe_vendeuse Objet société vendeuse
* \param societe_acheteuse Objet soci<EFBFBD>t<EFBFBD> acheteuse * \param societe_acheteuse Objet société acheteuse
* \param taux_produit Taux par defaut du produit vendu * \param taux_produit Taux par defaut du produit vendu
* \remarks Si vendeur non assujeti <EFBFBD> TVA, TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle. * \remarks Si vendeur non assujeti à TVA, TVA par défaut=0. Fin de règle.
* Si le (pays vendeur = pays acheteur) alors la TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle. * Si le (pays vendeur = pays acheteur) alors la TVA par défaut=TVA du produit vendu. Fin de règle.
* Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par d<EFBFBD>faut=0 (La TVA doit <EFBFBD>tre pay<EFBFBD> par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de r<EFBFBD>gle. * Si (vendeur et acheteur dans Communauté européenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
* Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et bien vendu autre que transport neuf alors la TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle. * Si (vendeur et acheteur dans Communauté européenne) et bien vendu autre que transport neuf alors la TVA par défaut=TVA du produit vendu. Fin de règle.
* Sinon la TVA propos<EFBFBD>e par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle. * Sinon la TVA proposée par défaut=0. Fin de règle.
*/ */
function select_tva($name='tauxtva', $defaulttx='', $societe_vendeuse='', $societe_acheteuse='', $taux_produit='') function select_tva($name='tauxtva', $defaulttx='', $societe_vendeuse='', $societe_acheteuse='', $taux_produit='')
{ {
@ -2548,13 +2548,13 @@ class Form
print '<font class="error">'.$this->db->error().'</font>'; print '<font class="error">'.$this->db->error().'</font>';
} }
// D<EFBFBD>finition du taux <20> pr<70>s<EFBFBD>lectionner (si defaulttx non forc<72> et donc vaut -1 ou '') // Définition du taux à pré-sélectionner (si defaulttx non forcé et donc vaut -1 ou '')
if ($defaulttx < 0 || strlen($defaulttx) == 0) if ($defaulttx < 0 || strlen($defaulttx) == 0)
{ {
$defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$taux_produit); $defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$taux_produit);
} }
// Si taux par defaut n'a pu etre d<EFBFBD>termin<EFBFBD>, on prend dernier de la liste. // Si taux par defaut n'a pu etre déterminé, on prend dernier de la liste.
// Comme ils sont tri<EFBFBD>s par ordre croissant, dernier = plus <20>lev<65> = taux courant // Comme ils sont triés par ordre croissant, dernier = plus élevé = taux courant
if ($defaulttx < 0 || strlen($defaulttx) == 0) if ($defaulttx < 0 || strlen($defaulttx) == 0)
{ {
$defaulttx = $txtva[sizeof($txtva)-1]; $defaulttx = $txtva[sizeof($txtva)-1];
@ -2591,7 +2591,7 @@ class Form
* \brief Selection des unites de mesure * \brief Selection des unites de mesure
* \param name Nom champ html * \param name Nom champ html
* \param measuring_style Le style de mesure : weight, volume,... * \param measuring_style Le style de mesure : weight, volume,...
* \param default For<EFBFBD>age de l'unite * \param default Forçage de l'unite
* \remarks pour l'instant on ne definit pas les unites dans la base * \remarks pour l'instant on ne definit pas les unites dans la base
*/ */
function select_measuring_units($name='measuring_units', $measuring_style='', $default='0', $adddefault=0) function select_measuring_units($name='measuring_units', $measuring_style='', $default='0', $adddefault=0)
@ -2666,10 +2666,10 @@ class Form
} }
} }
// D<EFBFBD>finition du taux <20> pr<70>s<EFBFBD>lectionner // Définition du taux à pré-sélectionner
if ($defaulttx == '') $defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$taux_produit); if ($defaulttx == '') $defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$taux_produit);
// Si taux par defaut n'a pu etre trouv<EFBFBD>, on prend dernier. // Si taux par defaut n'a pu etre trouvé, on prend dernier.
// Comme ils sont tri<EFBFBD>s par ordre croissant, dernier = plus <20>lev<65> = taux courant // Comme ils sont triés par ordre croissant, dernier = plus élevé = taux courant
if ($defaulttx == '') $defaulttx = $txtva[sizeof($txtva)-1]; if ($defaulttx == '') $defaulttx = $txtva[sizeof($txtva)-1];
$nbdetaux = sizeof($txtva); $nbdetaux = sizeof($txtva);
@ -2685,16 +2685,16 @@ class Form
/** /**
* \brief Affiche zone de selection de date * \brief Affiche zone de selection de date
* Liste deroulante pour les jours, mois, annee et eventuellement heurs et minutes * Liste deroulante pour les jours, mois, annee et eventuellement heurs et minutes
* Les champs sont pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>es avec: * Les champs sont pré-sélectionnés avec:
* - La date set_time (timestamps ou date au format YYYY-MM-DD ou YYYY-MM-DD HH:MM) * - La date set_time (timestamps ou date au format YYYY-MM-DD ou YYYY-MM-DD HH:MM)
* - La date du jour si set_time vaut '' * - La date du jour si set_time vaut ''
* - Aucune date (champs vides) si set_time vaut -1 (dans ce cas empty doit valoir 1) * - Aucune date (champs vides) si set_time vaut -1 (dans ce cas empty doit valoir 1)
* \param set_time Date de pr<EFBFBD>-s<EFBFBD>lection * \param set_time Date de pré-sélection
* \param prefix Prefix pour nom champ * \param prefix Prefix pour nom champ
* \param h 1=Affiche aussi les heures * \param h 1=Affiche aussi les heures
* \param m 1=Affiche aussi les minutes * \param m 1=Affiche aussi les minutes
* \param empty 0=Champ obligatoire, 1=Permet une saisie vide * \param empty 0=Champ obligatoire, 1=Permet une saisie vide
* \param form_name Nom du formulaire de provenance. Utilis<EFBFBD> pour les dates en popup style andre. * \param form_name Nom du formulaire de provenance. Utilisé pour les dates en popup style andre.
* \param d 1=Affiche aussi les jours, mois, annees * \param d 1=Affiche aussi les jours, mois, annees
*/ */
function select_date($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1) function select_date($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1)
@ -2708,7 +2708,7 @@ class Form
if (! $set_time && $empty == 0) $set_time = time(); if (! $set_time && $empty == 0) $set_time = time();
// Analyse de la date de pr<EFBFBD>selection // Analyse de la date de pré-selection
if (eregi('^([0-9]+)\-([0-9]+)\-([0-9]+)\s?([0-9]+)?:?([0-9]+)?',$set_time,$reg)) if (eregi('^([0-9]+)\-([0-9]+)\-([0-9]+)\s?([0-9]+)?:?([0-9]+)?',$set_time,$reg))
{ {
// Date au format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS' // Date au format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS'
@ -2843,7 +2843,7 @@ class Form
} }
print "</select>"; print "</select>";
// Ann<EFBFBD>e // Année
if ($empty || $set_time == -1) if ($empty || $set_time == -1)
{ {
print '<input class="flat" type="text" size="3" maxlength="4" name="'.$prefix.'year" value="'.$syear.'">'; print '<input class="flat" type="text" size="3" maxlength="4" name="'.$prefix.'year" value="'.$syear.'">';
@ -2926,7 +2926,7 @@ class Form
} }
/** /**
\brief Fonction servant a afficher une dur<EFBFBD>e dans une liste d<EFBFBD>roulante \brief Fonction servant a afficher une durée dans une liste déroulante
\param prefix prefix \param prefix prefix
\param iSecond Nombre de secondes \param iSecond Nombre de secondes
*/ */
@ -2963,13 +2963,13 @@ class Form
/** /**
\brief Affiche un select <EFBFBD> partir d'un tableau \brief Affiche un select à partir d'un tableau
\param htmlname Nom de la zone select \param htmlname Nom de la zone select
\param array Tableau de key+valeur \param array Tableau de key+valeur
\param id Key pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e \param id Key pré-sélectionnée
\param show_empty 1 si il faut ajouter une valeur vide dans la liste, 0 sinon \param show_empty 1 si il faut ajouter une valeur vide dans la liste, 0 sinon
\param key_in_label 1 pour afficher la key dans la valeur "[key] value" \param key_in_label 1 pour afficher la key dans la valeur "[key] value"
\param value_as_key 1 pour utiliser la valeur comme cl<EFBFBD> \param value_as_key 1 pour utiliser la valeur comme clé
\param $use_java 1 pour utiliser des fonctions javascript \param $use_java 1 pour utiliser des fonctions javascript
\param $fonction Fonction javascript \param $fonction Fonction javascript
\param $translate Traduire la valeur \param $translate Traduire la valeur
@ -2994,7 +2994,7 @@ class Form
while (list($key, $value) = each ($array)) while (list($key, $value) = each ($array))
{ {
print '<option value="'.($value_as_key?$value:$key).'"'; print '<option value="'.($value_as_key?$value:$key).'"';
// Si il faut pr<EFBFBD>s<EFBFBD>lectionner une valeur // Si il faut pré-sélectionner une valeur
if ($id != '' && ($id == $key || $id == $value)) if ($id != '' && ($id == $key || $id == $value))
{ {
print ' selected="true"'; print ' selected="true"';
@ -3016,7 +3016,7 @@ class Form
/** /**
* \brief Renvoie la cha<EFBFBD>ne de caract<EFBFBD>re d<EFBFBD>crivant l'erreur * \brief Renvoie la chaine de caractère décrivant l'erreur
*/ */
function error() function error()
{ {
@ -3027,7 +3027,7 @@ class Form
/** /**
* \brief Selection de oui/non en chaine (renvoie yes/no) * \brief Selection de oui/non en chaine (renvoie yes/no)
* \param name Nom du select * \param name Nom du select
* \param value Valeur pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param value Valeur pré-sélectionnée
* \param option 0 retourne yes/no, 1 retourne 1/0 * \param option 0 retourne yes/no, 1 retourne 1/0
*/ */
function selectyesno($name,$value='',$option=0) function selectyesno($name,$value='',$option=0)
@ -3072,13 +3072,13 @@ class Form
/** /**
* \brief Affiche la cartouche g<EFBFBD>n<EFBFBD>rique d'un rapport * \brief Affiche la cartouche générique d'un rapport
* \param nom Valeur pour nom du rapport * \param nom Valeur pour nom du rapport
* \param variante Lien optionnel de variante du rapport * \param variante Lien optionnel de variante du rapport
* \param period Periode du reporting * \param period Periode du reporting
* \param periodlink Lien pour changer de p<EFBFBD>riode * \param periodlink Lien pour changer de période
* \param description Description * \param description Description
* \param builddate Date g<EFBFBD>n<EFBFBD>ration * \param builddate Date génération
* \param exportlink Lien pour export * \param exportlink Lien pour export
*/ */
function report_header($nom,$variante='',$period,$periodlink,$description,$builddate,$exportlink) function report_header($nom,$variante='',$period,$periodlink,$description,$builddate,$exportlink)
@ -3137,18 +3137,18 @@ class Form
/** /**
* \brief Affiche la cartouche de la liste des documents d'une propale, facture... * \brief Affiche la cartouche de la liste des documents d'une propale, facture...
* \param modulepart propal=propal, facture=facture, ... * \param modulepart propal=propal, facture=facture, ...
* \param filename Sous rep <EFBFBD> scanner (vide si filedir deja complet) * \param filename Sous rep à scanner (vide si filedir deja complet)
* \param filedir Repertoire <EFBFBD> scanner * \param filedir Repertoire à scanner
* \param urlsource Url page origine * \param urlsource Url page origine
* \param genallowed G<EFBFBD>n<EFBFBD>ration autoris<EFBFBD>e (1/0 ou array des formats) * \param genallowed Génération autorisée (1/0 ou array des formats)
* \param delallowed Suppression autoris<EFBFBD>e (1/0) * \param delallowed Suppression autorisée (1/0)
* \param modelselected Modele <EFBFBD> pr<EFBFBD>s<EFBFBD>lectionner par d<EFBFBD>faut * \param modelselected Modele à pré-sélectionner par défaut
* \param modelliste Tableau des modeles possibles * \param modelliste Tableau des modeles possibles
* \param forcenomultilang N'affiche pas option langue meme si MAIN_MULTILANGS d<EFBFBD>fini * \param forcenomultilang N'affiche pas option langue meme si MAIN_MULTILANGS défini
* \param iconPDF N'affiche que l'icone PDF avec le lien (1/0) * \param iconPDF N'affiche que l'icone PDF avec le lien (1/0)
* \remarks Le fichier de facture d<EFBFBD>taill<EFBFBD>e est de la forme * \remarks Le fichier de facture détaillée est de la forme
* REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse * REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse
* \return int <0 si ko, nbre de fichiers affich<EFBFBD>s si ok * \return int <0 si ko, nbre de fichiers affichés si ok
*/ */
function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array(),$forcenomultilang=0,$iconPDF=0) function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array(),$forcenomultilang=0,$iconPDF=0)
{ {
@ -3317,7 +3317,7 @@ class Form
} }
$file_list=dolibarr_dir_list($filedir,'files',0,$filter,'\.meta$'.$png,'date',SORT_DESC); $file_list=dolibarr_dir_list($filedir,'files',0,$filter,'\.meta$'.$png,'date',SORT_DESC);
// Affiche en-tete tableau si non deja affich<EFBFBD> // Affiche en-tete tableau si non deja affiché
if (sizeof($file_list) && ! $headershown && !$iconPDF) if (sizeof($file_list) && ! $headershown && !$iconPDF)
{ {
$headershown=1; $headershown=1;
@ -3325,22 +3325,22 @@ class Form
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
} }
// Boucle sur chaque ligne trouv<EFBFBD>e // Boucle sur chaque ligne trouvée
foreach($file_list as $i => $file) foreach($file_list as $i => $file)
{ {
// D<EFBFBD>fini chemin relatif par rapport au module pour lien download // Défini chemin relatif par rapport au module pour lien download
$relativepath=$file["name"]; // Cas general $relativepath=$file["name"]; // Cas general
if ($filename) $relativepath=$filename."/".$file["name"]; // Cas prpal, facture... if ($filename) $relativepath=$filename."/".$file["name"]; // Cas propal, facture...
// Autre cas // Autre cas
if ($modulepart == 'don') { $relativepath = get_exdir($filename,2).$file["name"]; } if ($modulepart == 'don') { $relativepath = get_exdir($filename,2).$file["name"]; }
if ($modulepart == 'export') { $relativepath = $file["name"]; } if ($modulepart == 'export') { $relativepath = $file["name"]; }
// D<EFBFBD>fini le type MIME du document // Défini le type MIME du document
if (eregi('\.([^\.]+)$',$file["name"],$reg)) $extension=$reg[1]; if (eregi('\.([^\.]+)$',$file["name"],$reg)) $extension=$reg[1];
$mimetype=strtoupper($extension); $mimetype=strtoupper($extension);
if ($extension == 'pdf') $mimetype='PDF'; if ($extension == 'pdf') $mimetype='PDF';
if ($extension == 'html') $mimetype='HTML'; if ($extension == 'html') $mimetype='HTML';
if (eregi('\-detail\.pdf',$file["name"])) $mimetype='PDF D<EFBFBD>taill<EFBFBD>'; if (eregi('\-detail\.pdf',$file["name"])) $mimetype='PDF Détaillé';
if (!$iconPDF) print "<tr $bc[$var]>"; if (!$iconPDF) print "<tr $bc[$var]>";
@ -3432,10 +3432,10 @@ class Form
} }
/** /**
* \brief Retourne la liste des mod<EFBFBD>les d'export * \brief Retourne la liste des modèles d'export
* \param selected Id mod<EFBFBD>le pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id modèle pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param type Type des mod<EFBFBD>les recherch<EFBFBD>s * \param type Type des modèles recherchés
* \param useempty Affiche valeur vide dans liste * \param useempty Affiche valeur vide dans liste
*/ */
function select_export_model($selected='',$htmlname='exportmodelid',$type='',$useempty=0) function select_export_model($selected='',$htmlname='exportmodelid',$type='',$useempty=0)
@ -3480,7 +3480,7 @@ class Form
/** /**
* \brief Retourne la liste des mois * \brief Retourne la liste des mois
* \param selected Id mois pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id mois pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param useempty Affiche valeur vide dans liste * \param useempty Affiche valeur vide dans liste
*/ */
@ -3549,11 +3549,11 @@ class Form
} }
/** /**
* \brief Liste de s<EFBFBD>lection du g<EFBFBD>n<EFBFBD>rateur de codes barres * \brief Liste de sélection du générateur de codes barres
* \param selected Id code pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id code pré-sélectionné
* \param code_id Id du code barre * \param code_id Id du code barre
* \param idForm Id du formulaire * \param idForm Id du formulaire
* Todo : ajouter une v<EFBFBD>rification de d<EFBFBD>sactivation du code barre si il est d<EFBFBD>j<EFBFBD> utilis<EFBFBD> dans un module * Todo : ajouter une vérification de désactivation du code barre si il est déjà utilisé dans un module
*/ */
function setBarcodeEncoder($selected=0,$code_id,$idForm='formbarcode') function setBarcodeEncoder($selected=0,$code_id,$idForm='formbarcode')
{ {
@ -3561,7 +3561,7 @@ class Form
$disable = ''; $disable = '';
// On v<EFBFBD>rifie si le code de barre est d<>j<EFBFBD> s<>lectionn<6E> par d<>faut dans le module produit // On vérifie si le code de barre est déjà sélectionné par défaut dans le module produit
if ($conf->produit->enabled && $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE == $code_id) if ($conf->produit->enabled && $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE == $code_id)
{ {
$disable = 'disabled="disabled"'; $disable = 'disabled="disabled"';
@ -3582,7 +3582,7 @@ class Form
/** /**
* \brief Retourne la liste des types de codes barres * \brief Retourne la liste des types de codes barres
* \param selected Id code pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD> * \param selected Id code pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param useempty Affiche valeur vide dans liste * \param useempty Affiche valeur vide dans liste
*/ */
@ -3636,7 +3636,7 @@ class Form
/** /**
* \brief Affiche formulaire de selection du type de code barre * \brief Affiche formulaire de selection du type de code barre
* \param page Page * \param page Page
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e * \param selected Id condition pré-sélectionnée
* \param htmlname Nom du formulaire select * \param htmlname Nom du formulaire select
*/ */
function form_barcode_type($page, $selected='', $htmlname='barcodetype_id') function form_barcode_type($page, $selected='', $htmlname='barcodetype_id')

View File

@ -95,12 +95,12 @@ class Societe
var $price_level; var $price_level;
var $commercial_id; //Id du commercial affect<EFBFBD> var $commercial_id; //Id du commercial affecté
/** /**
* \brief Constructeur de la classe * \brief Constructeur de la classe
* \param DB handler acc<EFBFBD>s base de donn<EFBFBD>es * \param DB handler accès base de données
* \param id id societe (0 par defaut) * \param id id societe (0 par defaut)
*/ */
function Societe($DB, $id=0) function Societe($DB, $id=0)
@ -123,8 +123,8 @@ class Societe
} }
/** /**
* \brief Cr<EFBFBD>e la societe en base * \brief Crée la societe en base
* \param user Objet utilisateur qui demande la cr<EFBFBD>ation * \param user Objet utilisateur qui demande la création
* \return int 0 si ok, < 0 si erreur * \return int 0 si ok, < 0 si erreur
*/ */
@ -132,7 +132,7 @@ class Societe
{ {
global $langs,$conf; global $langs,$conf;
// Nettoyage param<EFBFBD>tres // Nettoyage paramètres
$this->nom=trim($this->nom); $this->nom=trim($this->nom);
dolibarr_syslog("Societe::create ".$this->nom); dolibarr_syslog("Societe::create ".$this->nom);
@ -157,12 +157,12 @@ class Societe
$ret = $this->update($this->id,$user,0,1,1); $ret = $this->update($this->id,$user,0,1,1);
// si un commercial cr<EFBFBD>e un client il lui est affect<63> automatiquement // si un commercial crée un client il lui est affecté automatiquement
if (!$user->rights->commercial->client->voir) if (!$user->rights->commercial->client->voir)
{ {
$this->add_commercial($user, $user->id); $this->add_commercial($user, $user->id);
} }
// Ajout du commercial affect<EFBFBD> // Ajout du commercial affecté
else if ($this->commercial_id != '' && $this->commercial_id != -1) else if ($this->commercial_id != '' && $this->commercial_id != -1)
{ {
$this->add_commercial($user, $this->commercial_id); $this->add_commercial($user, $this->commercial_id);
@ -227,13 +227,13 @@ class Societe
if (! $this->nom) if (! $this->nom)
{ {
$this->error = "Le nom de la soci<EFBFBD>t<EFBFBD> ne peut <20>tre vide.\n"; $this->error = "Le nom de la société ne peut être vide.\n";
$result = -2; $result = -2;
} }
if ($this->client && $this->codeclient_modifiable()) if ($this->client && $this->codeclient_modifiable())
{ {
// On ne v<EFBFBD>rifie le code client que si la soci<63>t<EFBFBD> est un client / prospect et que le code est modifiable // On ne vérifie le code client que si la société est un client / prospect et que le code est modifiable
// Si il n'est pas modifiable il n'est pas mis <EFBFBD> jour lors de l'update // Si il n'est pas modifiable il n'est pas mis à jour lors de l'update
$rescode = $this->check_codeclient(); $rescode = $this->check_codeclient();
if ($rescode <> 0) if ($rescode <> 0)
{ {
@ -247,19 +247,19 @@ class Societe
} }
if ($rescode == -3) if ($rescode == -3)
{ {
$this->error .= "Ce code client est d<EFBFBD>j<EFBFBD> utilis<69>.\n"; $this->error .= "Ce code client est déjà utilisé.\n";
} }
if ($rescode == -4) if ($rescode == -4)
{ {
$this->error .= "Vous devez renseigner le pr<EFBFBD>fix pour g<>n<EFBFBD>rer le code client.\n"; $this->error .= "Vous devez renseigner le préfix pour générer le code client.\n";
} }
$result = -3; $result = -3;
} }
} }
if ($this->fournisseur && $this->codefournisseur_modifiable()) if ($this->fournisseur && $this->codefournisseur_modifiable())
{ {
// On ne v<EFBFBD>rifie le code fournisseur que si la soci<63>t<EFBFBD> est un fournisseur et que le code est modifiable // On ne vérifie le code fournisseur que si la société est un fournisseur et que le code est modifiable
// Si il n'est pas modifiable il n'est pas mis <EFBFBD> jour lors de l'update // Si il n'est pas modifiable il n'est pas mis à jour lors de l'update
$rescode = $this->check_codefournisseur(); $rescode = $this->check_codefournisseur();
if ($rescode <> 0) if ($rescode <> 0)
{ {
@ -273,11 +273,11 @@ class Societe
} }
if ($rescode == -3) if ($rescode == -3)
{ {
$this->error .= "Ce code fournisseur est d<EFBFBD>j<EFBFBD> utilis<69>.\n"; $this->error .= "Ce code fournisseur est déjà utilisé.\n";
} }
if ($rescode == -5) if ($rescode == -5)
{ {
$this->error .= "Vous devez renseigner le pr<EFBFBD>fix pour g<>n<EFBFBD>rer le code fournisseur.\n"; $this->error .= "Vous devez renseigner le préfix pour générer le code fournisseur.\n";
} }
$result = -3; $result = -3;
} }
@ -287,9 +287,9 @@ class Societe
} }
/** /**
* \brief Mise a jour des param<EFBFBD>tres de la soci<EFBFBD>t<EFBFBD> * \brief Mise a jour des paramètres de la société
* \param id id societe * \param id id societe
* \param user Utilisateur qui demande la mise <EFBFBD> jour * \param user Utilisateur qui demande la mise à jour
* \param call_trigger 0=non, 1=oui * \param call_trigger 0=non, 1=oui
* \param allowmodcodeclient Autorise modif code client * \param allowmodcodeclient Autorise modif code client
* \param allowmodcodefournisseur Autorise modif code fournisseur * \param allowmodcodefournisseur Autorise modif code fournisseur
@ -301,7 +301,7 @@ class Societe
dolibarr_syslog("Societe::Update id=".$id." call_trigger=".$call_triger." allowmodcodeclient=".$allowmodcodeclient." allowmodcodefournisseur=".$allowmodcodefournisseur); dolibarr_syslog("Societe::Update id=".$id." call_trigger=".$call_triger." allowmodcodeclient=".$allowmodcodeclient." allowmodcodefournisseur=".$allowmodcodefournisseur);
// Nettoyage des param<EFBFBD>tres // Nettoyage des paramètres
$this->id=$id; $this->id=$id;
$this->capital=trim($this->capital); $this->capital=trim($this->capital);
$this->nom=trim($this->nom); $this->nom=trim($this->nom);
@ -414,7 +414,7 @@ class Societe
if ($resql) if ($resql)
{ {
//Si c'est un particulier on cr<EFBFBD>e la fiche contact //Si c'est un particulier on crée la fiche contact
if ($this->particulier == 1) if ($this->particulier == 1)
{ {
require_once (DOL_DOCUMENT_ROOT."/contact.class.php"); require_once (DOL_DOCUMENT_ROOT."/contact.class.php");
@ -477,7 +477,7 @@ class Societe
/** /**
* \brief Charge depuis la base l'objet societe * \brief Charge depuis la base l'objet societe
* \param socid Id de la soci<EFBFBD>t<EFBFBD> <EFBFBD> charger en m<EFBFBD>moire * \param socid Id de la société à charger en mémoire
* \param user Objet de l'utilisateur * \param user Objet de l'utilisateur
* \return int >0 si ok, <0 si ko * \return int >0 si ok, <0 si ko
*/ */
@ -680,8 +680,8 @@ class Societe
} }
/** /**
* \brief Suppression d'une societe de la base avec ses d<EFBFBD>pendances (contacts, rib...) * \brief Suppression d'une societe de la base avec ses dépendances (contacts, rib...)
* \param id id de la societe <EFBFBD> supprimer * \param id id de la societe à supprimer
*/ */
function delete($id) function delete($id)
{ {
@ -725,7 +725,7 @@ class Societe
} }
else else
{ {
$this->error .= "Impossible de supprimer la soci<EFBFBD>t<EFBFBD>.\n"; $this->error .= "Impossible de supprimer la société.\n";
dolibarr_syslog("Societe::Delete erreur -3"); dolibarr_syslog("Societe::Delete erreur -3");
} }
@ -739,7 +739,7 @@ class Societe
$this->db->commit(); $this->db->commit();
// Suppression du r<EFBFBD>pertoire document // Suppression du répertoire document
$docdir = $conf->societe->dir_output . "/" . $id; $docdir = $conf->societe->dir_output . "/" . $id;
if (file_exists ($docdir)) if (file_exists ($docdir))
{ {
@ -759,8 +759,8 @@ class Societe
/** /**
* \brief Retournes les factures impay<EFBFBD>es de la soci<EFBFBD>t<EFBFBD> * \brief Retournes les factures impayées de la société
* \return array tableau des id de factures impay<EFBFBD>es * \return array tableau des id de factures impayées
* *
*/ */
function factures_impayes() function factures_impayes()
@ -792,7 +792,7 @@ class Societe
} }
/** /**
* \brief Attribut le prefix de la soci<EFBFBD>t<EFBFBD> en base * \brief Attribut le prefix de la société en base
* *
*/ */
function attribute_prefix() function attribute_prefix()
@ -843,10 +843,10 @@ class Societe
} }
/** /**
* \brief G<EFBFBD>n<EFBFBD>re le pr<EFBFBD>fix de la soci<EFBFBD>t * \brief Génére le préfix de la société
* \param nom nom de la soci<EFBFBD>t * \param nom nom de la société
* \param taille taille du prefix <EFBFBD> retourner * \param taille taille du prefix à retourner
* \param mot l'indice du mot <EFBFBD> utiliser * \param mot l'indice du mot à utiliser
*/ */
function genprefix($nom, $taille=4, $mot=0) function genprefix($nom, $taille=4, $mot=0)
{ {
@ -856,7 +856,7 @@ class Societe
if ($mot < count($tab)) if ($mot < count($tab))
{ {
$prefix = strtoupper(substr($tab[$mot],0,$taille)); $prefix = strtoupper(substr($tab[$mot],0,$taille));
// On v<EFBFBD>rifie que ce prefix n'a pas d<>j<EFBFBD> <20>t<EFBFBD> pris ... // On vérifie que ce prefix n'a pas déjà été pris ...
$sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."societe WHERE prefix_comm = '$prefix'"; $sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."societe WHERE prefix_comm = '$prefix'";
$resql=$this->db->query( $sql); $resql=$this->db->query( $sql);
if ($resql) if ($resql)
@ -877,7 +877,7 @@ class Societe
} }
/** /**
* \brief D<EFBFBD>finit la soci<EFBFBD>t<EFBFBD> comme un client * \brief Définit la société comme un client
* *
*/ */
function set_as_client() function set_as_client()
@ -893,10 +893,10 @@ class Societe
} }
/** /**
* \brief D<EFBFBD>finit la soci<EFBFBD>t<EFBFBD> comme un client * \brief Définit la société comme un client
* \param remise Valeur en % de la remise * \param remise Valeur en % de la remise
* \param note Note/Motif de modification de la remise * \param note Note/Motif de modification de la remise
* \param user Utilisateur qui d<EFBFBD>finie la remise * \param user Utilisateur qui définie la remise
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function set_remise_client($remise, $note, $user) function set_remise_client($remise, $note, $user)
@ -951,7 +951,7 @@ class Societe
} }
/** /**
* \brief Ajoute une remise fixe pour la soci<EFBFBD>t<EFBFBD> * \brief Ajoute une remise fixe pour la société
* \param remise Montant de la remise * \param remise Montant de la remise
* \param user Utilisateur qui accorde la remise * \param user Utilisateur qui accorde la remise
* \param desc Motif de l'avoir * \param desc Motif de l'avoir
@ -1002,8 +1002,8 @@ class Societe
} }
/** /**
* \brief Supprime un avoir (<EFBFBD> condition que non affect<EFBFBD> <EFBFBD> une facture) * \brief Supprime un avoir (à condition que non affecté à une facture)
* \param id Id de l'avoir <EFBFBD> supprimer * \param id Id de l'avoir à supprimer
* \return int <0 si ko, id de l'avoir si ok * \return int <0 si ko, id de l'avoir si ok
*/ */
function del_remise_except($id) function del_remise_except($id)
@ -1158,8 +1158,8 @@ class Societe
/** /**
* \brief Renvoie le nom d'une societe a partir d'un id * \brief Renvoie le nom d'une societe a partir d'un id
* \param id id de la soci<EFBFBD>t<EFBFBD> recherch<EFBFBD>e * \param id id de la société recherchée
* \return string Nom de la soci<EFBFBD>t<EFBFBD> * \return string Nom de la société
*/ */
function get_nom($id) function get_nom($id)
{ {
@ -1185,7 +1185,7 @@ class Societe
/** /**
* \brief Renvoie la liste des contacts emails existant pour la soci<EFBFBD>t * \brief Renvoie la liste des contacts emails existant pour la société
* \return array tableau des contacts emails * \return array tableau des contacts emails
*/ */
function thirdparty_and_contact_email_array() function thirdparty_and_contact_email_array()
@ -1195,14 +1195,14 @@ class Societe
$contact_email = $this->contact_email_array(); $contact_email = $this->contact_email_array();
if ($this->email) if ($this->email)
{ {
// TODO: Tester si email non deja pr<EFBFBD>sent dans tableau contact // TODO: Tester si email non deja présent dans tableau contact
$contact_email[-1]=$langs->trans("ThirdParty").': '.dolibarr_trunc($this->nom,16)." &lt;".$this->email."&gt;";; $contact_email[-1]=$langs->trans("ThirdParty").': '.dolibarr_trunc($this->nom,16)." &lt;".$this->email."&gt;";;
} }
return $contact_email; return $contact_email;
} }
/** /**
* \brief Renvoie la liste des contacts emails existant pour la soci<EFBFBD>t<EFBFBD> * \brief Renvoie la liste des contacts emails existant pour la société
* \return array tableau des contacts emails * \return array tableau des contacts emails
*/ */
function contact_email_array() function contact_email_array()
@ -1236,7 +1236,7 @@ class Societe
/** /**
* \brief Renvoie la liste des contacts de cette soci<EFBFBD>t * \brief Renvoie la liste des contacts de cette société
* \return array tableau des contacts * \return array tableau des contacts
*/ */
function contact_array() function contact_array()
@ -1299,7 +1299,7 @@ class Societe
/** /**
* \brief Renvoie la liste des libell<EFBFBD>s traduits des types actifs de soci<EFBFBD>t<EFBFBD>s * \brief Renvoie la liste des libellés traduits des types actifs de sociétés
* \param mode 0=renvoi id+libelle, 1=renvoi code+libelle * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle
* \return array tableau des typesl * \return array tableau des typesl
*/ */
@ -1441,7 +1441,7 @@ class Societe
} }
/** /**
* \brief Attribut un code client <EFBFBD> partir du module de controle des codes. * \brief Attribut un code client à partir du module de controle des codes.
* \return code_client Code client automatique * \return code_client Code client automatique
*/ */
function get_codeclient($objsoc=0,$type=0) function get_codeclient($objsoc=0,$type=0)
@ -1461,7 +1461,7 @@ class Societe
} }
/** /**
* \brief Attribut un code fournisseur <EFBFBD> partir du module de controle des codes. * \brief Attribut un code fournisseur à partir du module de controle des codes.
* \return code_fournisseur Code fournisseur automatique * \return code_fournisseur Code fournisseur automatique
*/ */
function get_codefournisseur($objsoc=0,$type=1) function get_codefournisseur($objsoc=0,$type=1)
@ -1539,7 +1539,7 @@ class Societe
/** /**
* \brief Verifie code client * \brief Verifie code client
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD> * \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilisé
*/ */
function check_codeclient() function check_codeclient()
{ {
@ -1564,7 +1564,7 @@ class Societe
/** /**
* \brief Verifie code fournisseur * \brief Verifie code fournisseur
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD> * \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilisé
*/ */
function check_codefournisseur() function check_codefournisseur()
{ {
@ -1589,8 +1589,8 @@ class Societe
/** /**
* \brief Renvoie un code compta, suivant le module de code compta. * \brief Renvoie un code compta, suivant le module de code compta.
* Peut <EFBFBD>tre identique <EFBFBD> celui saisit ou g<EFBFBD>n<EFBFBD>r<EFBFBD> automatiquement. * Peut être identique à celui saisit ou généré automatiquement.
* A ce jour seule la g<EFBFBD>n<EFBFBD>ration automatique est impl<EFBFBD>ment<EFBFBD>e * A ce jour seule la génération automatique est implémentée
* \param type Type de tiers ('customer' ou 'supplier') * \param type Type de tiers ('customer' ou 'supplier')
* \return string Code compta si ok, 0 si aucun, <0 si ko * \return string Code compta si ok, 0 si aucun, <0 si ko
*/ */
@ -1624,8 +1624,8 @@ class Societe
} }
/** /**
* \brief D<EFBFBD>fini la soci<EFBFBD>t<EFBFBD> m<EFBFBD>re pour les filiales * \brief Défini la société mère pour les filiales
* \param id id compagnie m<EFBFBD>re <EFBFBD> positionner * \param id id compagnie mère à positionner
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function set_parent($id) function set_parent($id)
@ -1648,8 +1648,8 @@ class Societe
} }
/** /**
* \brief Supprime la soci<EFBFBD>t<EFBFBD> m<EFBFBD>re * \brief Supprime la société mère
* \param id id compagnie m<EFBFBD>re <EFBFBD> effacer * \param id id compagnie mère à effacer
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function remove_parent($id) function remove_parent($id)
@ -1724,7 +1724,7 @@ class Societe
} }
/** /**
* \brief Renvoi url de v<EFBFBD>rification d'un identifiant professionnal * \brief Renvoi url de vérification d'un identifiant professionnal
* \param idprof 1,2,3,4 (Exemple: 1=siren,2=siret,3=naf,4=rcs/rm) * \param idprof 1,2,3,4 (Exemple: 1=siren,2=siret,3=naf,4=rcs/rm)
* \param soc Objet societe * \param soc Objet societe
* \return string url ou chaine vide si aucune url connue * \return string url ou chaine vide si aucune url connue
@ -1742,8 +1742,8 @@ class Societe
} }
/** /**
* \brief Indique si la soci<EFBFBD>t<EFBFBD> a des projets * \brief Indique si la société a des projets
* \return bool true si la soci<EFBFBD>t<EFBFBD> a des projets, false sinon * \return bool true si la société a des projets, false sinon
*/ */
function has_projects() function has_projects()
{ {
@ -1824,13 +1824,13 @@ class Societe
} }
/* /*
* \brief Renvoi si pays appartient <EFBFBD> CEE * \brief Renvoi si pays appartient à CEE
* \param boolean true = pays dans CEE, false= pays hors CEE * \param boolean true = pays dans CEE, false= pays hors CEE
*/ */
function isInEEC() function isInEEC()
{ {
// \todo liste code pays <EFBFBD> compl<70>ter // \todo liste code pays à compléter
$country_code_in_EEC=array('BE','FR','LU','GB'); $country_code_in_EEC=array('BE','FR','LU','GB','IT');
//print "dd".$this->pays_code; //print "dd".$this->pays_code;
return in_array($this->pays_code,$country_code_in_EEC); return in_array($this->pays_code,$country_code_in_EEC);
} }