Fix: fichier converti par erreur en utf8, ce qui faisait apparaitre les caractres accentus 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
*.htaccess
*.settings
.settings
*.project

View File

@ -56,7 +56,7 @@ print_titre($langs->trans("NewProp"));
$html=new Form($db);
// R<EFBFBD>cup<EFBFBD>ration de l'id de projet
// Récupération de l'id de projet
$projetid = 0;
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>';
// Conditions de r<EFBFBD>glement
// Conditions de règlement
print '<tr><td nowrap>'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">';
$html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id');
print '</td></tr>';
// Mode de r<EFBFBD>glement
// Mode de règlement
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">';
$html->select_types_paiements($soc->mode_reglement,'mode_reglement_id');
print '</td></tr>';

View File

@ -67,10 +67,10 @@ else if (isset($_GET["propalid"]) && $_GET["propalid"] > 0)
$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);
// 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;
$form=new Form($db);
@ -180,7 +180,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
$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 ($propal->fetch($_POST['copie_propal']) > 0)
@ -244,7 +244,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
{
$error=0;
// Insertion contact par defaut si d<EFBFBD>fini
// Insertion contact par defaut si défini
if ($_POST["contactidp"])
{
$result=$propal->add_contact($_POST["contactidp"],'CUSTOMER','external');
@ -323,13 +323,13 @@ if ($_POST['action'] == 'send')
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'];
$sendtoid = 0;
}
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
{
$sendto = $propal->client->email;
@ -360,11 +360,11 @@ if ($_POST['action'] == 'send')
}
$actiontypeid=3;
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>';
$actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message)
{
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>';
$actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message;
}
@ -455,7 +455,7 @@ if ($_POST['action'] == 'send')
{
$langs->load("other");
$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"))
{
@ -658,7 +658,7 @@ if ($_POST['action'] == 'classin')
$propal->set_project($user, $_POST['projetidp']);
}
// Conditions de r<EFBFBD>glement
// Conditions de règlement
if ($_POST["action"] == 'setconditions')
{
$propal = new Propal($db);
@ -683,7 +683,7 @@ if ($_REQUEST['action'] == 'setremiseabsolue' && $user->rights->propale->creer)
$_GET['propalid']=$_REQUEST['propalid'];
}
// Mode de r<EFBFBD>glement
// Mode de règlement
if ($_POST["action"] == 'setmode')
{
$propal = new Propal($db);
@ -815,7 +815,7 @@ if ($_GET['propalid'] > 0)
$rowspan=8;
// Soci<EFBFBD>t<EFBFBD>
// Société
print '<tr><td>'.$langs->trans('Company').'</td><td colspan="5">'.$societe->getNomUrl(1).'</td>';
print '</tr>';
@ -896,8 +896,8 @@ if ($_GET['propalid'] > 0)
print '</tr>';
// date de livraison (conditionn<EFBFBD> sur PROPALE_ADD_SHIPPING_DATE car carac <20>
// g<EFBFBD>rer par les commandes et non les propal
// date de livraison (conditionné sur PROPALE_ADD_SHIPPING_DATE car carac à
// gérer par les commandes et non les propal
if ($conf->expedition->enabled)
{
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 '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentConditionsShort');
@ -1203,7 +1203,7 @@ if ($_GET['propalid'] > 0)
print '<td class="nobordernopadding" nowrap="nowrap" align="left">';
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
{
@ -1255,7 +1255,7 @@ if ($_GET['propalid'] > 0)
print '<td align="center">';
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
{
@ -1330,7 +1330,7 @@ if ($_GET['propalid'] > 0)
}
if ($_GET["action"] == 'editline')
{
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1379,7 +1379,7 @@ if ($_GET['propalid'] > 0)
if ($conf->service->enabled)
{
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 ' au ';
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 "</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 '<input type="hidden" name="propalid" value="'.$propal->id.'">';
print '<input type="hidden" name="action" value="addligne">';
@ -1426,7 +1426,7 @@ if ($_GET['propalid'] > 0)
print '<tr '.$bc[$var].">\n";
print '<td '.$colspan.'>';
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1456,7 +1456,7 @@ if ($_GET['propalid'] > 0)
print '</form>';
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis
// Ajout de produits/services prédéfinis
if ($conf->produit->enabled)
{
if ($conf->global->PRODUIT_USE_MARKUP)
@ -1503,7 +1503,7 @@ if ($_GET['propalid'] > 0)
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
{
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1533,7 +1533,7 @@ if ($_GET['propalid'] > 0)
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.= '<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);
$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)
{
@ -1716,7 +1716,7 @@ if ($_GET['propalid'] > 0)
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 .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
@ -1778,7 +1778,7 @@ if ($_GET['propalid'] > 0)
$liste[$key]=$value;
}
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail
// Créé l'objet formulaire mail
include_once('../html.formmail.class.php');
$formmail = new FormMail($db);
$formmail->fromname = $user->fullname;
@ -1792,7 +1792,7 @@ if ($_GET['propalid'] > 0)
$formmail->withdeliveryreceipt=1;
// Tableau des substitutions
$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['models']='propal_send';
$formmail->param['propalid']=$propal->id;
@ -1945,7 +1945,7 @@ else
$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>';
// Date propale

View File

@ -52,7 +52,7 @@ $user->getrights('expedition');
if (!$user->rights->commande->lire) accessforbidden();
// S<EFBFBD>curit<EFBFBD> acc<63>s client
// Sécurité accès client
$socid=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;
if ($_GET["projetid"])
{
@ -147,7 +147,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
$commande->note = $_POST['note'];
$commande->source = $_POST['source_id'];
$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->ref_client = $_POST['ref_client'];
$commande->modelpdf = $_POST['model'];
@ -173,7 +173,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
if ($commande_id > 0)
{
// Insertion contact par defaut si d<EFBFBD>fini
// Insertion contact par defaut si défini
if ($_POST["contactidp"])
{
$result=$commande->add_contact($_POST["contactidp"],'CUSTOMER','external');
@ -193,7 +193,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
$action = '';
}
// Fin cr<EFBFBD>ation facture, on l'affiche
// Fin création facture, on l'affiche
if ($commande_id > 0 && ! $error)
{
$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'))
{
@ -423,12 +423,12 @@ if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POS
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'))
{
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;
}
@ -511,10 +511,10 @@ if ($_REQUEST['action'] == 'builddoc') // En get ou en post
{
/*
* 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->fetch($_REQUEST['id']);
if ($_REQUEST['model'])
@ -573,13 +573,13 @@ if ($_POST['action'] == 'send')
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'];
$sendtoid = 0;
}
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
{
$sendto = $commande->client->email;
@ -610,11 +610,11 @@ if ($_POST['action'] == 'send')
}
$actiontypeid=8;
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>';
$actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message)
{
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>';
$actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message;
}
@ -705,7 +705,7 @@ if ($_POST['action'] == 'send')
{
$langs->load("other");
$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>';
// Conditions de r<EFBFBD>glement
// Conditions de règlement
print '<tr><td nowrap="nowrap">'.$langs->trans('PaymentConditionsShort').'</td><td>';
$html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id',-1,1);
print '</td></tr>';
// Mode de r<EFBFBD>glement
// Mode de règlement
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td>';
$html->select_types_paiements($soc->mode_reglement,'mode_reglement_id');
print '</td></tr>';
@ -877,7 +877,7 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer)
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE)
{
/*
* Services/produits pr<EFBFBD>d<EFBFBD>finis
* Services/produits prédéfinis
*/
$NBLINES=8;
@ -1022,7 +1022,7 @@ else
*/
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);
if ($ref == 'PROV')
{
@ -1102,7 +1102,7 @@ else
print '</tr>';
// Soci<EFBFBD>t<EFBFBD>
// Société
print '<tr><td>'.$langs->trans('Company').'</td>';
print '<td colspan="3">'.$soc->getNomUrl(1).'</td>';
print '</tr>';
@ -1200,7 +1200,7 @@ else
print '</td></tr>';
}
// Conditions et modes de r<EFBFBD>glement
// Conditions et modes de règlement
print '<tr><td height="10">';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentConditionsShort');
@ -1219,7 +1219,7 @@ else
}
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->expedition->enabled)
{
@ -1348,7 +1348,7 @@ else
$text.= ' - '.$objp->product;
$description=($conf->global->PRODUIT_DESC_IN_FORM?'':$objp->description);
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);
if ($conf->global->PRODUIT_DESC_IN_FORM)
{
@ -1413,7 +1413,7 @@ else
print '<td align="center">';
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
{
@ -1485,7 +1485,7 @@ else
print ' - '.nl2br($objp->product);
print '<br>';
}
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1550,7 +1550,7 @@ else
print '<td colspan="4">&nbsp;</td>';
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 '<input type="hidden" name="id" value="'.$id.'">';
print '<input type="hidden" name="action" value="addligne">';
@ -1558,7 +1558,7 @@ else
$var=true;
print '<tr '.$bc[$var].'>';
print '<td>';
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1584,7 +1584,7 @@ else
print '</form>';
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis
// Ajout de produits/services prédéfinis
if ($conf->produit->enabled)
{
print '<tr class="liste_titre">';
@ -1624,7 +1624,7 @@ else
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
{
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -1662,7 +1662,7 @@ else
print '<a class="butAction" ';
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);
if ($ref == 'PROV')
{
@ -1800,7 +1800,7 @@ else
print '<a name="builddoc"></a>'; // ancre
/*
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s
* Documents générés
*
*/
$comref = sanitize_string($commande->ref);
@ -1856,7 +1856,7 @@ else
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 .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
@ -1942,7 +1942,7 @@ else
$liste[$key]=$value;
}
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail
// Créé l'objet formulaire mail
include_once('../html.formmail.class.php');
$formmail = new FormMail($db);
$formmail->fromname = $user->fullname;
@ -1956,7 +1956,7 @@ else
$formmail->withdeliveryreceipt=1;
// Tableau des substitutions
$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['models']='order_send';
$formmail->param['orderid']=$commande->id;
@ -1969,7 +1969,7 @@ else
}
else
{
// Commande non trouv<EFBFBD>e
// Commande non trouvée
dolibarr_print_error($db);
}
}

View File

@ -42,7 +42,7 @@ $user->getrights('commande');
if (! $user->rights->commande->lire) accessforbidden();
// S<EFBFBD>curit<EFBFBD> acc<63>s client
// Sécurité accès client
if ($user->societe_id > 0)
{
$action = '';
@ -126,7 +126,7 @@ if ($_GET["id"] > 0)
print '</tr>';
// Soci<EFBFBD>t<EFBFBD>
// Société
print '<tr><td>'.$langs->trans('Company').'</td>';
print '<td colspan="3">'.$soc->getNomUrl(1,'compta').'</td>';
print '</tr>';
@ -221,7 +221,7 @@ if ($_GET["id"] > 0)
}
print '</td></tr>';
// Conditions et modes de r<EFBFBD>glement
// Conditions et modes de règlement
print '<tr><td height="10">';
print '<table class="nobordernopadding" width="100%"><tr><td>';
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);
@ -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 .= " , ed.qty as qty_livre, e.ref, ed.fk_expedition as expedition_id";
@ -600,7 +600,7 @@ if ($_GET["id"] > 0)
}
else
{
// Commande non trouv<EFBFBD>e
// Commande non trouvée
print "Commande inexistante";
}
}

View File

@ -1,6 +1,6 @@
<?php
/* 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) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
@ -26,7 +26,7 @@
/**
\file htdocs/compta/facture.php
\ingroup facture
\brief Page de cr<EFBFBD>ation d'une facture
\brief Page de création d'une facture
\version $Revision$
*/
@ -57,21 +57,21 @@ $sall=isset($_GET['sall'])?trim($_GET['sall']):trim($_POST['sall']);
$mesg=isset($_GET['mesg'])?urldecode($_GET['mesg']):'';
$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)
{
$action = '';
$socid = $user->societe_id;
}
// R<EFBFBD>cup<EFBFBD>ration de l'id de projet
// Récupération de l'id de projet
$projetid = 0;
if ($_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;
@ -137,7 +137,7 @@ if ($_GET['action'] == 'valid')
// On verifie signe facture
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)
{
$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']);
}
// Classe <EFBFBD> "valid<69>e"
// Classe à "validée"
if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->rights->facture->valider)
{
$fac = new Facture($db);
@ -251,7 +251,7 @@ if ($_GET['action'] == 'modif' && $user->rights->facture->modifier && $conf->glo
$fac = new Facture($db);
$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.= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf';
$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;
// 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();
// 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)
{
$fac->set_draft($user);
}
}
// Classe <EFBFBD> "pay<61>e"
// Classe à "payée"
if ($_POST['action'] == 'confirm_payed' && $_POST['confirm'] == 'yes' && $user->rights->facture->paiement)
{
$fac = new Facture($db);
$fac->fetch($_GET['facid']);
$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)
{
$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>';
}
}
// Classe <EFBFBD> "abandonn<6E>e"
// Classe à "abandonnée"
if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes')
{
$fac = new Facture($db);
@ -345,7 +345,7 @@ if ($_POST['action'] == 'confirm_converttoreduc' && $_POST['confirm'] == 'yes' &
$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->desc='(CREDIT_NOTE)';
$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_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->type = 1;
@ -461,7 +461,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
$facture->remise_absolue = $_POST['remise_absolue'];
$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->type = 2;
@ -476,7 +476,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
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']);
$facture->socid = $_POST['socid'];
@ -488,7 +488,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
$facture->ref_client = $_POST['ref_client'];
$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->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'])
{
@ -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'])
{
@ -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)
{
$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'];
}
}
// Si ajout champ produit pr<EFBFBD>d<EFBFBD>fini
// Si ajout champ produit prédéfini
if ($_POST['action'] == 'addligne_predef')
{
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>';
}
$_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'))
@ -880,12 +880,12 @@ if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST
}
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'))
{
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;
}
@ -941,13 +941,13 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
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'];
$sendtoid = 0;
}
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
{
$sendto = $fac->client->email;
@ -980,11 +980,11 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
}
$actiontypecode='AC_FAC';
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>';
$actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message)
{
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>';
$actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message;
}
@ -994,9 +994,9 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
{
$subject = 'Relance facture '.$fac->ref;
$actiontypecode='AC_FAC';
$actionmsg='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>';
$actionmsg='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
if ($message) {
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>';
$actionmsg.='Texte utilisé dans le corps du message:<br>';
$actionmsg.=$message;
}
$actionmsg2='Relance facture par mail';
@ -1086,12 +1086,12 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['c
{
$langs->load("other");
$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
{
@ -1209,9 +1209,9 @@ if ($_GET['action'] == 'create')
/*
\todo
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
constante FAC_USE_CUSTOMER_ORDER_REF <EFBFBD> 1.
constante FAC_USE_CUSTOMER_ORDER_REF à 1.
*/
if ($conf->global->FAC_USE_CUSTOMER_ORDER_REF)
{
@ -1327,12 +1327,12 @@ if ($_GET['action'] == 'create')
$html->select_date('','','','','',"add");
print '</td></tr>';
// Conditions de r<EFBFBD>glement
// Conditions de règlement
print '<tr><td nowrap>'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">';
$html->select_conditions_paiements($cond_reglement_id,'cond_reglement_id');
print '</td></tr>';
// Mode de r<EFBFBD>glement
// Mode de règlement
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">';
$html->select_types_paiements($mode_reglement_id,'mode_reglement_id');
print '</td></tr>';
@ -1374,7 +1374,7 @@ if ($_GET['action'] == 'create')
}
print '</textarea></td></tr>';
// Note priv<EFBFBD>e
// Note privée
if (! $user->societe_id)
{
print '<tr>';
@ -1449,7 +1449,7 @@ if ($_GET['action'] == 'create')
{
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 '<tr><td>'.$langs->trans('ProductsAndServices').'</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 nowrap="nowrap"><input type="text" size="1" name="remise_percent'.$i.'" value="'.$soc->remise_client.'">%</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)
{
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)
{
@ -1731,7 +1731,7 @@ else
*/
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);
if ($facref == 'PROV')
{
@ -1756,7 +1756,7 @@ else
}
/*
* Confirmation du classement pay<EFBFBD>
* Confirmation du classement payé
*/
if ($_GET['action'] == 'payed' && $resteapayer <= 0)
{
@ -1789,7 +1789,7 @@ else
$arrayreasons[$close[$key]['code']]=$close[$key]['reason'];
}
// Cr<EFBFBD>e un tableau formulaire
// Crée un tableau formulaire
$formquestion=array(
'text' => $langs->trans("ConfirmClassifyPayedPartiallyQuestion"),
array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons),
@ -1805,7 +1805,7 @@ else
*/
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.
if ($facidnext)
{
@ -1832,7 +1832,7 @@ else
$arrayreasons[$close[1]['code']]=$close[1]['reason'];
$arrayreasons[$close[2]['code']]=$close[2]['reason'];
// Cr<EFBFBD>e un tableau formulaire
// Crée un tableau formulaire
$formquestion=array(
'text' => $langs->trans("ConfirmCancelBillQuestion"),
array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons),
@ -1877,8 +1877,8 @@ else
/*
\todo
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.
Pour ceux qui utilisent ainsi, positionner la constante FAC_USE_CUSTOMER_ORDER_REF <EFBFBD> 1.
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 à 1.
*/
if ($conf->global->FAC_USE_CUSTOMER_ORDER_REF)
{
@ -1905,7 +1905,7 @@ else
print '</tr>';
}
// Tiers Soci<EFBFBD>t<EFBFBD>
// Tiers Société
print '<tr><td>'.$langs->trans('Company').'</td>';
print '<td colspan="5">'.$soc->getNomUrl(1,'compta').'</td>';
print '</tr>';
@ -2037,11 +2037,11 @@ else
// 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>';
// 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>';
$resteapayeraffiche=$resteapayer;
// Pay<EFBFBD> partiellement 'escompte'
// Payé partiellement 'escompte'
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'escompte')
{
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>';
$resteapayeraffiche=0;
}
// Pay<EFBFBD> partiellement ou Abandon 'badcustomer'
// Payé partiellement ou Abandon 'badcustomer'
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'badcustomer')
{
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>';
//$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')
{
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>';
$resteapayeraffiche=0;
}
// Pay<EFBFBD> partiellement ou Abandon 'abandon'
// Payé partiellement ou Abandon 'abandon'
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'abandon')
{
print '<tr><td colspan="2" align="right" nowrap="1">';
@ -2109,7 +2109,7 @@ else
}
print '</td></tr>';
// Conditions de r<EFBFBD>glement
// Conditions de règlement
print '<tr><td>';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentConditionsShort');
@ -2152,7 +2152,7 @@ else
}
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
$sql = 'SELECT l.price as price, l.qty, l.rowid, l.tva_taux,';
$sql .= ' l.remise_percent, l.subprice';
@ -2351,7 +2351,7 @@ else
print '<td align="center">';
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
{
@ -2415,7 +2415,7 @@ else
print ' - '.nl2br($objp->product);
print '<br>';
}
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -2491,7 +2491,7 @@ else
print '<td colspan="4">&nbsp;</td>';
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 '<input type="hidden" name="facid" value="'.$fac->id.'">';
print '<input type="hidden" name="action" value="addligne">';
@ -2499,7 +2499,7 @@ else
$var=true;
print '<tr '.$bc[$var].'>';
print '<td>';
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -2534,7 +2534,7 @@ else
}
print '</form>';
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis
// Ajout de produits/services prédéfinis
if ($conf->produit->enabled)
{
print '<tr class="liste_titre">';
@ -2574,7 +2574,7 @@ else
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
{
// <EFBFBD>diteur wysiwyg
// éditeur wysiwyg
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
{
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
@ -2618,10 +2618,10 @@ else
{
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)
{
// 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();
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 (! $facidnext)
@ -2650,7 +2650,7 @@ else
}
else
{
// G<EFBFBD>n<EFBFBD>rer
// Générer
if ($fac->statut >= 1 && $user->rights->facture->creer)
{
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 &&
(($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>';
}
// 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
&& $user->rights->facture->paiement)
{
@ -2765,7 +2765,7 @@ else
print '<a name="builddoc"></a>'; // ancre
/*
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s
* Documents générés
*/
$filename=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);
/*
* 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 .= ' FROM '.MAIN_DB_PREFIX.'propal as p';
@ -2833,7 +2833,7 @@ else
}
/*
* Commandes rattach<EFBFBD>es
* Commandes rattachées
*/
if($conf->commande->enabled)
{
@ -2889,7 +2889,7 @@ else
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.= ' u.login';
@ -2970,7 +2970,7 @@ else
$liste[$key]=$value;
}
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail
// Créé l'objet formulaire mail
include_once(DOL_DOCUMENT_ROOT.'/html.formmail.class.php');
$formmail = new FormMail($db);
$formmail->fromname = $user->fullname;
@ -2985,7 +2985,7 @@ else
$formmail->withcancel=1;
// Tableau des substitutions
$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['models']='facture_send';
$formmail->param['facid']=$fac->id;
@ -3026,7 +3026,7 @@ else
$liste[$key]=$value;
}
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail
// Créé l'objet formulaire mail
include_once(DOL_DOCUMENT_ROOT.'/html.formmail.class.php');
$formmail = new FormMail($db);
$formmail->fromname = $user->fullname;
@ -3040,7 +3040,7 @@ else
$formmail->withdeliveryreceipt=1;
// Tableau des substitutions
$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['models']='facture_relance';
$formmail->param['facid']=$fac->id;

View File

@ -6,7 +6,7 @@
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.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 Patrick Raguin <patrick.raguin@gmail.com>
*
@ -30,14 +30,14 @@
/**
\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$
*/
/**
\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
@ -54,7 +54,7 @@ class Form
/**
\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)
{
@ -66,10 +66,10 @@ class Form
/**
\brief Affiche un texte+picto avec tooltip sur texte ou sur picto
\param text Texte <EFBFBD> afficher
\param htmltext Contenu html du tooltip, cod<EFBFBD> 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 direction -1=Le picto est avant, 0=pas de picto, 1=le picto est apr<EFBFBD>s
\param text Texte à afficher
\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é en Ajax
\param direction -1=Le picto est avant, 0=pas de picto, 1=le picto est après
\param img Code img du 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
\param text Texte <EFBFBD> afficher
\param text Texte à afficher
\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
\return string Code html du texte,picto
*/
@ -158,9 +158,9 @@ class Form
/**
\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 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
*/
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 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 La cle de la liste est le code (il peut y avoir plusieurs entr<EFBFBD>e pour
* un code donn<EFBFBD>e mais dans ce cas, le champ pays diff<EFBFBD>re).
* Ainsi les liens avec les d<EFBFBD>partements se font sur un d<EFBFBD>partement ind<EFBFBD>pendemment de nom som.
* \param selected code forme juridique a pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
* \param pays_code 0=liste tous pays confondus, sinon code du pays <EFBFBD> afficher
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entrée pour
* un code donnée mais dans ce cas, le champ pays diffère).
* 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ésélectionné
* \param pays_code 0=liste tous pays confondus, sinon code du pays à afficher
*/
function select_departement($selected='',$pays_code=0)
{
@ -187,7 +187,7 @@ class Form
$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 .= " ".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";
@ -232,7 +232,7 @@ class Form
{
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 '</option>';
}
@ -248,11 +248,11 @@ class Form
/**
* \brief Retourne la liste d<EFBFBD>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
* un code donn<EFBFBD>e mais dans ce cas, le champ pays et lang diff<EFBFBD>re).
* \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ée pour
* 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
* de nom som.
* de son nom.
*/
function select_region($selected='',$htmlname='region_id')
@ -307,7 +307,7 @@ class Form
/**
* \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 addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
* \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
* \param selected Id ou code pays pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>
* \brief Retourne la liste déroulante des pays actifs, dans la langue de l'utilisateur
* \param selected Id ou code pays pré-sélectionné
* \param htmlname Nom de la liste deroulante
* \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='')
{
@ -449,7 +449,7 @@ class Form
{
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 . ' - '; }
print ($obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code?$langs->trans("Country".$obj->code):($obj->libelle!='-'?$obj->libelle:'&nbsp;'));
print '</option>';
@ -469,8 +469,8 @@ class Form
/**
* \brief Retourne la liste d<EFBFBD>roulante des langues disponibles
* \param selected Langue pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
* \brief Retourne la liste déroulante des langues disponibles
* \param selected Langue pré-sélectionnée
* \param htmlname Nom de la zone select
* \param showauto Affiche choix auto
*/
@ -509,16 +509,16 @@ class Form
/**
* \brief Retourne la liste d<EFBFBD>roulante des menus disponibles (eldy_backoffice, ...)
* \param selected Menu pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
* \brief Retourne la liste déroulante des menus disponibles (eldy_backoffice, ...)
* \param selected Menu pré-sélectionnée
* \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)
{
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();
$handle=opendir($dirmenu);
@ -570,10 +570,10 @@ class Form
}
/**
* \brief Retourne la liste d<EFBFBD>roulante des menus disponibles (eldy)
* \param selected Menu pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
* \brief Retourne la liste déroulante des menus disponibles (eldy)
* \param selected Menu pré-sélectionnée
* \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)
{
@ -615,7 +615,7 @@ class Form
/**
* \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
*/
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
* \param selected Societe pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
* \brief Retourne la liste déroulante des sociétés
* \param selected Societe pré-sélectionnée
* \param htmlname Nom champ formulaire
* \param filter Criteres optionnels de filtre
*/
@ -733,8 +733,8 @@ class Form
/**
* \brief Retourne la liste d<EFBFBD>roulante des remises fixes
* \param selected Id remise fixe pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
* \brief Retourne la liste déroulante des remises fixes
* \param selected Id remise fixe pré-sélectionnée
* \param htmlname Nom champ formulaire
* \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
* \param socid Id de la soci<EFBFBD>t<EFBFBD>
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn
* \brief Retourne la liste déroulante des contacts d'une société donnée
* \param socid Id de la société
* \param selected Id contact pré-sélectionné
* \param htmlname Nom champ formulaire ('none' pour champ non editable)
* \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
*/
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
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn
* \brief Retourne la liste déroulante des utilisateurs
* \param selected Id contact pré-sélectionné
* \param htmlname Nom champ formulaire
* \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='')
{
@ -910,9 +910,9 @@ class Form
/**
\brief Affiche la liste d<EFBFBD>roulante des projets d'une soci<EFBFBD>t<EFBFBD> donn<EFBFBD>e
\param socid Id soci<EFBFBD>t<EFBFBD>
\param selected Id projet pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
\brief Affiche la liste déroulante des projets d'une société donnée
\param socid Id société
\param selected Id projet pré-sélectionné
\param htmlname Nom de la zone html
\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
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
\brief Retourne la liste des produits en Ajax si ajax activé ou renvoie à select_produits_do
\param selected Produit pré-sélectionné
\param htmlname Nom de la zone select
\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
*/
function select_produits($selected='',$htmlname='productid',$filtretype='',$limit=20,$price_level=0)
@ -993,12 +993,12 @@ class Form
/**
\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 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 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='')
{
@ -1032,7 +1032,7 @@ class Form
$result=$this->db->query($sql);
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)
{
$sqld = "SELECT d.fk_product, d.label";
@ -1071,7 +1071,7 @@ class Form
{
$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 ( $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
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
\brief Retourne la liste des produits fournisseurs en Ajax si ajax activé ou renvoie à select_produits_fournisseurs_do
\param selected Produit pré-sélectionné
\param htmlname Nom de la zone select
\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='')
{
@ -1169,12 +1169,12 @@ class Form
/**
\brief Retourne la liste des produits de fournisseurs
\param socid Id soci<EFBFBD>t<EFBFBD> fournisseur (0 pour aucun filtre)
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
\param socid Id société fournisseur (0 pour aucun filtre)
\param selected Produit pré-sélectionné
\param htmlname Nom de la zone select
\param filtretype Pour filtre sur type de produit
\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='')
{
@ -1359,8 +1359,8 @@ class Form
}
/**
* \brief Retourne la liste d<EFBFBD>roulante des adresses de livraison
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn
* \brief Retourne la liste déroulante des adresses de livraison
* \param selected Id contact pré-lectionn
* \param htmlname Nom champ formulaire
*/
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
* \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()
{
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);
@ -1428,7 +1428,7 @@ class Form
{
$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:''));
$this->cache_conditions_paiements_code[$obj->rowid]=$obj->code;
$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
* \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()
{
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);
@ -1467,7 +1467,7 @@ class Form
{
$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:''));
$this->cache_types_paiements_code[$obj->id]=$obj->code;
$this->cache_types_paiements_libelle[$obj->id]=$libelle;
@ -1486,10 +1486,10 @@ class Form
/**
* \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 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)
{
@ -1517,7 +1517,7 @@ class Form
/**
* \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
*/
function select_PriceBaseType($selected='',$htmlname='price_base_type')
@ -1545,7 +1545,7 @@ class Form
/**
* \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 filtertype Pour filtre
* \param format 0=id+libelle, 1=code+code, 2=code+libelle
@ -1568,7 +1568,7 @@ class Form
if ($empty) print '<option value="">&nbsp;</option>';
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 ($format == 0) print '<option value="'.$id.'"';
@ -1587,9 +1587,9 @@ class Form
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
* \param selected etat pre-s<EFBFBD>l<EFBFBD>ctionn<EFBFBD>
* \param selected etat pre-séléctionné
*/
function select_propal_statut($selected='')
{
@ -1615,7 +1615,7 @@ class Form
{
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 $obj->label;
print '</option>';
@ -1633,9 +1633,9 @@ class Form
/**
* \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 statut Statut des comptes recherch<EFBFBD>s
* \param statut Statut des comptes recherchés
* \param filtre Pour filtre sur la 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 selected Id categorie preselectionnee
* \param select_name Nom formulaire HTML
@ -1726,8 +1726,8 @@ class Form
/**
* \brief Retourne la liste d<EFBFBD>roulante des civilite actives
* \param selected civilite pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
* \brief Retourne la liste déroulante des civilite actives
* \param selected civilite pré-sélectionnée
*/
function select_civilite($selected='')
{
@ -1756,7 +1756,7 @@ class Form
{
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 '</option>';
$i++;
@ -1772,9 +1772,9 @@ class Form
/**
* \brief Retourne le nom traduit de la civilit<EFBFBD>
* \param code Code de la civilit<EFBFBD>
* \return string Nom traduit de la civilit<EFBFBD>
* \brief Retourne le nom traduit de la civilité
* \param code Code de la civilité
* \return string Nom traduit de la civilité
*/
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
* \param selected Code forme juridique a pr<EFBFBD>s<EFBFBD>lectionn
* \param pays_code 0=liste tous pays confondus, sinon code du pays <EFBFBD> afficher
* \param selected Code forme juridique a pré-sélectionné
* \param pays_code 0=liste tous pays confondus, sinon code du pays à afficher
*/
function select_forme_juridique($selected='',$pays_code=0)
{
@ -1837,7 +1837,7 @@ class Form
{
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 '</option>';
}
@ -1948,13 +1948,13 @@ class Form
{
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)
{
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.= " WHERE code_iso='$code_iso';";
@ -2075,7 +2075,7 @@ class Form
* \brief Affiche formulaire de selection de projet
* \param page Page
* \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
*/
function form_project($page, $socid, $selected='', $htmlname='projectid')
@ -2109,9 +2109,9 @@ class Form
/**
* \brief Affiche formulaire de selection de conditions de paiement
* \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 addempty Ajoute entr<EFBFBD>e vide
* \param addempty Ajoute entrée vide
*/
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 selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
* \param selected Id condition pré-sélectionnée
* \param htmlname Nom du formulaire select
*/
function form_assujetti_tva($page, $selected='', $htmlname='')
@ -2175,7 +2175,7 @@ class Form
/**
* \brief Affiche formulaire de selection des modes de reglement
* \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
*/
function form_modes_reglement($page, $selected='', $htmlname='mode_reglement_id')
@ -2343,7 +2343,7 @@ class Form
/**
* \brief Affiche formulaire de selection des contacts
* \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
*/
function form_contacts($page, $societe, $selected='', $htmlname='contactidp')
@ -2358,7 +2358,7 @@ class Form
$num=$this->select_contacts($societe->id, $selected, $htmlname);
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 '</td>';
@ -2384,9 +2384,9 @@ class Form
/**
* \brief Affiche formulaire de selection de l'adresse de livraison
* \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 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
*/
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
* \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
* \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')
{
global $conf,$langs;
$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 .= " WHERE active = 1";
@ -2458,7 +2458,7 @@ class Form
{
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 . ' - '; }
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>';
@ -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 defaulttx For<EFBFBD>age du taux tva pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>. Mettre '' pour aucun forcage.
* \param societe_vendeuse Objet soci<EFBFBD>t<EFBFBD> vendeuse
* \param societe_acheteuse Objet soci<EFBFBD>t<EFBFBD> acheteuse
* \param defaulttx Forçage du taux tva pré-sélectionné. Mettre '' pour aucun forcage.
* \param societe_vendeuse Objet société vendeuse
* \param societe_acheteuse Objet société acheteuse
* \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.
* Si le (pays vendeur = pays acheteur) alors la TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>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<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.
* Sinon la TVA propos<EFBFBD>e par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
* \remarks Si vendeur non assujeti à TVA, TVA par défaut=0. Fin de 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é 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é 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ée par défaut=0. Fin de gle.
*/
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>';
}
// 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)
{
$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.
// Comme ils sont tri<EFBFBD>s par ordre croissant, dernier = plus <20>lev<65> = taux courant
// Si taux par defaut n'a pu etre déterminé, on prend dernier de la liste.
// Comme ils sont triés par ordre croissant, dernier = plus élevé = taux courant
if ($defaulttx < 0 || strlen($defaulttx) == 0)
{
$defaulttx = $txtva[sizeof($txtva)-1];
@ -2591,7 +2591,7 @@ class Form
* \brief Selection des unites de mesure
* \param name Nom champ html
* \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
*/
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);
// Si taux par defaut n'a pu etre trouv<EFBFBD>, on prend dernier.
// Comme ils sont tri<EFBFBD>s par ordre croissant, dernier = plus <20>lev<65> = taux courant
// Si taux par defaut n'a pu etre trouvé, on prend dernier.
// Comme ils sont triés par ordre croissant, dernier = plus élevé = taux courant
if ($defaulttx == '') $defaulttx = $txtva[sizeof($txtva)-1];
$nbdetaux = sizeof($txtva);
@ -2685,16 +2685,16 @@ class Form
/**
* \brief Affiche zone de selection de date
* 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 du jour si set_time vaut ''
* - 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é-lection
* \param prefix Prefix pour nom champ
* \param h 1=Affiche aussi les heures
* \param m 1=Affiche aussi les minutes
* \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
*/
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();
// 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))
{
// Date au format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS'
@ -2843,7 +2843,7 @@ class Form
}
print "</select>";
// Ann<EFBFBD>e
// Année
if ($empty || $set_time == -1)
{
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 roulante
\param prefix prefix
\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 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 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 $fonction Fonction javascript
\param $translate Traduire la valeur
@ -2994,7 +2994,7 @@ class Form
while (list($key, $value) = each ($array))
{
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))
{
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 crivant l'erreur
*/
function error()
{
@ -3027,7 +3027,7 @@ class Form
/**
* \brief Selection de oui/non en chaine (renvoie yes/no)
* \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
*/
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 variante Lien optionnel de variante du rapport
* \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 builddate Date g<EFBFBD>n<EFBFBD>ration
* \param builddate Date génération
* \param exportlink Lien pour export
*/
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...
* \param modulepart propal=propal, facture=facture, ...
* \param filename Sous rep <EFBFBD> scanner (vide si filedir deja complet)
* \param filedir Repertoire <EFBFBD> scanner
* \param filename Sous rep à scanner (vide si filedir deja complet)
* \param filedir Repertoire à scanner
* \param urlsource Url page origine
* \param genallowed G<EFBFBD>n<EFBFBD>ration autoris<EFBFBD>e (1/0 ou array des formats)
* \param delallowed Suppression autoris<EFBFBD>e (1/0)
* \param modelselected Modele <EFBFBD> pr<EFBFBD>s<EFBFBD>lectionner par d<EFBFBD>faut
* \param genallowed Génération autorisée (1/0 ou array des formats)
* \param delallowed Suppression autorisée (1/0)
* \param modelselected Modele à pré-sélectionner par faut
* \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)
* \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
* \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)
{
@ -3317,7 +3317,7 @@ class Form
}
$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)
{
$headershown=1;
@ -3325,22 +3325,22 @@ class Form
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)
{
// 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
if ($filename) $relativepath=$filename."/".$file["name"]; // Cas prpal, facture...
if ($filename) $relativepath=$filename."/".$file["name"]; // Cas propal, facture...
// Autre cas
if ($modulepart == 'don') { $relativepath = get_exdir($filename,2).$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];
$mimetype=strtoupper($extension);
if ($extension == 'pdf') $mimetype='PDF';
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]>";
@ -3432,10 +3432,10 @@ class Form
}
/**
* \brief Retourne la liste des mod<EFBFBD>les d'export
* \param selected Id mod<EFBFBD>le pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
* \brief Retourne la liste des modèles d'export
* \param selected Id modèle pré-sélectionné
* \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
*/
function select_export_model($selected='',$htmlname='exportmodelid',$type='',$useempty=0)
@ -3480,7 +3480,7 @@ class Form
/**
* \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 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
* \param selected Id code pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
* \brief Liste de sélection du générateur de codes barres
* \param selected Id code pré-sélectionné
* \param code_id Id du code barre
* \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')
{
@ -3561,7 +3561,7 @@ class Form
$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)
{
$disable = 'disabled="disabled"';
@ -3582,7 +3582,7 @@ class Form
/**
* \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 useempty Affiche valeur vide dans liste
*/
@ -3636,7 +3636,7 @@ class Form
/**
* \brief Affiche formulaire de selection du type de code barre
* \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
*/
function form_barcode_type($page, $selected='', $htmlname='barcodetype_id')

View File

@ -95,12 +95,12 @@ class Societe
var $price_level;
var $commercial_id; //Id du commercial affect<EFBFBD>
var $commercial_id; //Id du commercial affecté
/**
* \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)
*/
function Societe($DB, $id=0)
@ -123,8 +123,8 @@ class Societe
}
/**
* \brief Cr<EFBFBD>e la societe en base
* \param user Objet utilisateur qui demande la cr<EFBFBD>ation
* \brief Crée la societe en base
* \param user Objet utilisateur qui demande la création
* \return int 0 si ok, < 0 si erreur
*/
@ -132,7 +132,7 @@ class Societe
{
global $langs,$conf;
// Nettoyage param<EFBFBD>tres
// Nettoyage paramètres
$this->nom=trim($this->nom);
dolibarr_syslog("Societe::create ".$this->nom);
@ -157,12 +157,12 @@ class Societe
$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)
{
$this->add_commercial($user, $user->id);
}
// Ajout du commercial affect<EFBFBD>
// Ajout du commercial affecté
else if ($this->commercial_id != '' && $this->commercial_id != -1)
{
$this->add_commercial($user, $this->commercial_id);
@ -227,13 +227,13 @@ class Societe
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;
}
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
// Si il n'est pas modifiable il n'est pas mis <EFBFBD> jour lors de l'update
// 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 à jour lors de l'update
$rescode = $this->check_codeclient();
if ($rescode <> 0)
{
@ -247,19 +247,19 @@ class Societe
}
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)
{
$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;
}
}
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
// Si il n'est pas modifiable il n'est pas mis <EFBFBD> jour lors de l'update
// 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 à jour lors de l'update
$rescode = $this->check_codefournisseur();
if ($rescode <> 0)
{
@ -273,11 +273,11 @@ class Societe
}
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)
{
$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;
}
@ -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 user Utilisateur qui demande la mise <EFBFBD> jour
* \param user Utilisateur qui demande la mise à jour
* \param call_trigger 0=non, 1=oui
* \param allowmodcodeclient Autorise modif code client
* \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);
// Nettoyage des param<EFBFBD>tres
// Nettoyage des paramètres
$this->id=$id;
$this->capital=trim($this->capital);
$this->nom=trim($this->nom);
@ -414,7 +414,7 @@ class Societe
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)
{
require_once (DOL_DOCUMENT_ROOT."/contact.class.php");
@ -477,7 +477,7 @@ class 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 moire
* \param user Objet de l'utilisateur
* \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...)
* \param id id de la societe <EFBFBD> supprimer
* \brief Suppression d'une societe de la base avec ses dépendances (contacts, rib...)
* \param id id de la societe à supprimer
*/
function delete($id)
{
@ -725,7 +725,7 @@ class Societe
}
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");
}
@ -739,7 +739,7 @@ class Societe
$this->db->commit();
// Suppression du r<EFBFBD>pertoire document
// Suppression du répertoire document
$docdir = $conf->societe->dir_output . "/" . $id;
if (file_exists ($docdir))
{
@ -759,8 +759,8 @@ class Societe
/**
* \brief Retournes les factures impay<EFBFBD>es de la soci<EFBFBD>t<EFBFBD>
* \return array tableau des id de factures impay<EFBFBD>es
* \brief Retournes les factures impayées de la société
* \return array tableau des id de factures impayées
*
*/
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()
@ -843,10 +843,10 @@ class Societe
}
/**
* \brief G<EFBFBD>n<EFBFBD>re le pr<EFBFBD>fix de la soci<EFBFBD>t
* \param nom nom de la soci<EFBFBD>t
* \param taille taille du prefix <EFBFBD> retourner
* \param mot l'indice du mot <EFBFBD> utiliser
* \brief Génére le préfix de la société
* \param nom nom de la société
* \param taille taille du prefix à retourner
* \param mot l'indice du mot à utiliser
*/
function genprefix($nom, $taille=4, $mot=0)
{
@ -856,7 +856,7 @@ class Societe
if ($mot < count($tab))
{
$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'";
$resql=$this->db->query( $sql);
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()
@ -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 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
*/
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 user Utilisateur qui accorde la remise
* \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)
* \param id Id de l'avoir <EFBFBD> supprimer
* \brief Supprime un avoir (à condition que non affecté à une facture)
* \param id Id de l'avoir à supprimer
* \return int <0 si ko, id de l'avoir si ok
*/
function del_remise_except($id)
@ -1158,8 +1158,8 @@ class Societe
/**
* \brief Renvoie le nom d'une societe a partir d'un id
* \param id id de la soci<EFBFBD>t<EFBFBD> recherch<EFBFBD>e
* \return string Nom de la soci<EFBFBD>t<EFBFBD>
* \param id id de la société recherchée
* \return string Nom de la société
*/
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
*/
function thirdparty_and_contact_email_array()
@ -1195,14 +1195,14 @@ class Societe
$contact_email = $this->contact_email_array();
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;";;
}
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
*/
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
*/
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
* \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
*/
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
*/
function get_codefournisseur($objsoc=0,$type=1)
@ -1539,7 +1539,7 @@ class Societe
/**
* \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()
{
@ -1564,7 +1564,7 @@ class Societe
/**
* \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()
{
@ -1589,8 +1589,8 @@ class Societe
/**
* \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.
* A ce jour seule la g<EFBFBD>n<EFBFBD>ration automatique est impl<EFBFBD>ment<EFBFBD>e
* Peut être identique à celui saisit ou généré automatiquement.
* A ce jour seule la génération automatique est implémentée
* \param type Type de tiers ('customer' ou 'supplier')
* \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
* \param id id compagnie m<EFBFBD>re <EFBFBD> positionner
* \brief Défini la société re pour les filiales
* \param id id compagnie mère à positionner
* \return int <0 si ko, >0 si ok
*/
function set_parent($id)
@ -1648,8 +1648,8 @@ class Societe
}
/**
* \brief Supprime la soci<EFBFBD>t<EFBFBD> m<EFBFBD>re
* \param id id compagnie m<EFBFBD>re <EFBFBD> effacer
* \brief Supprime la société re
* \param id id compagnie mère à effacer
* \return int <0 si ko, >0 si ok
*/
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 soc Objet societe
* \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
* \return bool true si la soci<EFBFBD>t<EFBFBD> a des projets, false sinon
* \brief Indique si la société a des projets
* \return bool true si la société a des projets, false sinon
*/
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
*/
function isInEEC()
{
// \todo liste code pays <EFBFBD> compl<70>ter
$country_code_in_EEC=array('BE','FR','LU','GB');
// \todo liste code pays à compléter
$country_code_in_EEC=array('BE','FR','LU','GB','IT');
//print "dd".$this->pays_code;
return in_array($this->pays_code,$country_code_in_EEC);
}