Merge pull request #39004 from frederic34/fix-translate-french-comments

Fix translate french comments
This commit is contained in:
Alexandre SPANGARO 2026-06-28 11:31:43 +02:00 committed by GitHub
commit 22592a9825
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 99 additions and 96 deletions

View file

@ -9,7 +9,7 @@
* Copyright (C) 2022 Lionel Vessiller <lvessiller@open-dsi.fr>
* Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2017 Elarifr. Ari Elbaz <github@accedinfo.com>
* Copyright (C) 2017-2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2017-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2017 André Schild <a.schild@aarboard.ch>
* Copyright (C) 2020 Guillaume Alexandre <guillaume@tag-info.fr>
* Copyright (C) 2022 Joachim Kueter <jkueter@gmx.de>
@ -2242,7 +2242,7 @@ class AccountancyExport
foreach ($objectLines as $line) {
// TYPE C
if ($last_codeinvoice != $line->doc_ref) {
//recherche societe en fonction de son code client
//search company by customer code
$sql = "SELECT code_client, fk_forme_juridique, nom, address, zip, town, fk_pays, phone, siret FROM ".MAIN_DB_PREFIX."societe";
$sql .= " WHERE code_client = '".$this->db->escape($line->thirdparty_code)."'";
$resql = $this->db->query($sql);
@ -2662,22 +2662,22 @@ class AccountancyExport
} else {
$tab[] = substr(length_accountg($line->numero_compte), 0, 15);
}
//Libellé Auto
//Auto label
$tab[] = "";
//print '"'.dol_trunc(str_replace('"', '', $line->label_operation),40,'right','UTF-8',1).'"';
//Libellé manual
//Manual label
$tab[] = dol_trunc(str_replace('"', '', $invoice_ref . (!empty($company_name) ? ' - ' : '') . $company_name), 40, 'right', 'UTF-8', 1);
//Numéro de pièce
//Document number
$tab[] = dol_trunc(str_replace('"', '', (string) $line->piece_num), 10, 'right', 'UTF-8', 1);
//Devise
//Currency
$tab[] = 'EUR';
//Amount
$tab[] = price2num(abs($line->debit - $line->credit));
//Sens
//Direction
$tab[] = $line->sens;
//Code lettrage
//Matching code
$tab[] = "";
//Date Echéance
//Due date
$tab[] = $date_echeance;
$output = implode($separator, $tab).$end_line;
@ -2768,10 +2768,10 @@ class AccountancyExport
// Convert the UTF-8 string in latin9
$tab[] = mb_convert_encoding(str_replace(' - Compte auxiliaire', '', $line->label_operation), "Windows-1252", 'UTF-8');
//Calcul de la longueur des numéros de comptes
//Calculate account number length
$taille_numero = strlen(length_accountg($line->numero_compte));
//Création du numéro de client et fournisseur générique
//Build generic customer and supplier account number
$numero_cpt_client = '411';
$numero_cpt_fourn = '401';
for ($i = 1; $i <= ($taille_numero - 3); $i++) {
@ -2779,7 +2779,7 @@ class AccountancyExport
$numero_cpt_fourn .= '0';
}
//Création des comptes auxiliaire des clients et fournisseur
//Build auxiliary accounts for customers and suppliers
if (length_accountg($line->numero_compte) == $numero_cpt_client || length_accountg($line->numero_compte) == $numero_cpt_fourn) {
$tab[] = rtrim(length_accounta($line->subledger_account), "0");
} else {

View file

@ -3,7 +3,7 @@
* Copyright (C) 2009-2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2016 Jonathan TISSEAU <jonathan.tisseau@86dev.fr>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -74,7 +74,7 @@ if (preg_match('/^mac/i', PHP_OS)) {
}
//$wikihelp = 'EN:Setup_EMails|FR:Paramétrage_EMails|ES:Configuración_EMails';
//$wikihelp = 'EN:Setup_EMails|FR:Parametrage_EMails|ES:Configuracion_EMails';
$wikihelp = '';
llxHeader('', $langs->trans("Setup"), $wikihelp, '', 0, 0, '', '', '', 'mod-admin page-mails_ingoing');

View file

@ -8,7 +8,7 @@
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
* Copyright (C) 2021-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2021-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2026 Charlene Benke <charlene@patas-monkey.com>
*
@ -1663,7 +1663,7 @@ if ($mode == 'deploy') {
});
});
</script>'."\n";
// MAX_FILE_SIZE doit précéder le champ input de type file
// MAX_FILE_SIZE must come before the file input field
print '<input type="hidden" name="MAX_FILE_SIZE" value="'.($maxmin * 1024).'">';
}

View file

@ -4,7 +4,7 @@
* Copyright (C) 2012 J. Fernando Lagrange <fernando@demo-tic.org>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2023 Eric Seigne <eric.seigne@cap-rel.fr>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -118,7 +118,7 @@ if (empty($instructions)) {
print dolPrintHTML($generatedContent); // Note that common HTML tags are NOT escaped (but a sanitization is done)
} else {
// We must not use dolPrintText because dolPrintText format data including accent in htmlentities for a HTML output. We need a non formatted output.
//print dol_string_onlythesehtmltags('"Ça va" est une expression française et ceci une balise <a> html', 1, 1, 1);
//print dol_string_onlythesehtmltags('"How are you" is a French expression and this is an HTML <a> tag', 1, 1, 1);
print dol_string_onlythesehtmltags($generatedContent, 1, 1, 1);
//print dol_string_nohtmltag($generatedContent);
}
@ -134,7 +134,7 @@ if (empty($instructions)) {
print dolPrintHTML($generatedContent);
} else {
// We must not use dolPrintText because dolPrintText format data including accent in htmlentities for a HTML output. We need a non formatted output.
//print dol_string_onlythesehtmltags('"Ça va" est une expression française et ceci une balise <a> html', 1, 1, 1);
//print dol_string_onlythesehtmltags('"How are you" is a French expression and this is an HTML <a> tag', 1, 1, 1);
print dol_string_onlythesehtmltags($generatedContent, 1, 1, 1);
}
}

View file

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2026 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2026 Nick Fragoulis
* Copyright (C) 2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -659,7 +660,7 @@ class ToolProducts extends McpTool
*
* @param float $virtual_stock Current virtual stock (Physical + Incoming - Outgoing).
* @param float $min_stock_alert Minimum stock alert level (Seuil alerte).
* @param float $desired_stock Desired stock level (Stock désiré).
* @param float $desired_stock Desired stock level.
* @param float $dailyBurnRate Estimated daily consumption rate.
*
* @return array{action: string, urgency: string, suggested_qty: int, reason: string}

View file

@ -288,7 +288,7 @@ if ($result < 0) {
$error++;
setEventMessages($langs->trans("ErrorFailedToCreateDir"), null, 'errors');
} else {
// Calcul de $min et $max
// Calculate $min and $max
$sql = "SELECT MIN(b.datev) as min, MAX(b.datev) as max";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b";
$sql .= ", ".MAIN_DB_PREFIX."bank_account as ba";
@ -311,7 +311,7 @@ if ($result < 0) {
}
// CRED PART
// Chargement du tableau des années
// Load the year array
$tblyear = array();
'@phan-var-force array<array<string,int|float>> $tblyear';
$tblyear[0] = array();
@ -347,7 +347,7 @@ if ($result < 0) {
dol_print_error($db);
}
}
// Chargement de labels et data_xxx pour tableau 4 Movements
// Load labels and data_xxx for the 4 Movements chart
$labels = array();
$data_year_0 = array();
$data_year_1 = array();
@ -396,7 +396,7 @@ if ($result < 0) {
unset($tblyear[2]);
// DEDBT PART
// Chargement du tableau des années
// Load the year array
$tblyear[0] = array();
$tblyear[1] = array();
$tblyear[2] = array();
@ -431,7 +431,7 @@ if ($result < 0) {
}
}
// Chargement de labels et data_xxx pour tableau 4 Movements
// Load labels and data_xxx for the 4 Movements chart
$labels = array();
$data_year_0 = array();
$data_year_1 = array();

View file

@ -112,7 +112,7 @@ if ($result < 0) {
$error++;
setEventMessages($langs->trans("ErrorFailedToCreateDir"), null, 'errors');
} else {
// Calcul $min and $max
// Calculate $min and $max
$sql = "SELECT MIN(b.datev) as min, MAX(b.datev) as max";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b";
$sql .= ", ".MAIN_DB_PREFIX."bank_account as ba";
@ -470,7 +470,7 @@ if ($result < 0) {
dol_print_error($db);
}
// Calcul de $solde avant le debut du graphe
// Calculate $solde before the start of the graph
$solde = 0;
// Loading labels and datas for dashboard 3
@ -561,7 +561,7 @@ if ($result < 0) {
// Graph input/output - Credit/Debit for the month
if ($mode == 'standard') {
// Chargement du tableau $credits, $debits
// Load the $credits, $debits arrays
$credits = array();
$debits = array();
@ -682,7 +682,7 @@ if ($result < 0) {
// Tableau 4b - Credit/Debit
if ($mode == 'standard') {
// Chargement du tableau $credits, $debits
// Load the $credits, $debits arrays
$credits = array();
$debits = array();
$sql = "SELECT date_format(b.datev,'%m')";

View file

@ -6,7 +6,7 @@
* Copyright (C) 2017 Patrick Delcroix <pmpdelcroix@gmail.com>
* Copyright (C) 2019 Nicolas ZABOURI <info@inovea-conseil.com>
* Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -481,7 +481,7 @@ if (empty($numref)) {
print '<td>&nbsp;</td>';
print "</tr>\n";
// Calcul du solde de depart du releve
// Calculate the opening balance of the statement
$sql = "SELECT sum(b.amount) as amount";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b";
$sql .= " WHERE b.num_releve < '".$db->escape($numref)."'";

View file

@ -1191,7 +1191,7 @@ if (empty($reshook)) {
$discount->multicurrency_total_tva = -((float) $multicurrency_amount_tva[$tva_tx]);
$discount->multicurrency_total_ttc = -((float) $multicurrency_amount_ttc[$tva_tx]);
} else {
//We keep the absolute value to be consistent with the function used to create the discount in case of deposit in the “create” function of the Payment class
//We keep the absolute value to be consistent with the function used to create the discount in case of deposit in the "create" function of the Payment class
$discount->amount_ht = abs((float) $amount_ht[$tva_tx]);
$discount->amount_tva = abs((float) $amount_tva[$tva_tx]);
$discount->amount_ttc = abs((float) $amount_ttc[$tva_tx]);
@ -3494,7 +3494,7 @@ if (empty($reshook)) {
// Change each progression percent on each lines
foreach ($object->lines as $line) {
// no traitement for special product
// no processing for special product
if ($line->product_type == 9) {
continue;
}
@ -4788,7 +4788,7 @@ if ($action == 'create') {
// TODO for compatibility
if ($origin == 'contrat') {
'@phan-var-force Contrat $objectsrc';
// Calcul contrat->price (HT), contrat->total (TTC), contrat->tva
// Recalculate contrat->price (excl. VAT), contrat->total (incl. VAT), contrat->tva
$objectsrc->update_price(1, 'auto', 1);
}
@ -5578,7 +5578,7 @@ if ($action == 'create') {
if (getDolGlobalString('INVOICE_POINTOFTAX_DATE')) {
// Date invoice point of tax (Leistungsdatum / service date for tax).
// Only editable while the invoice is a draft once validated, the
// Only editable while the invoice is a draft -- once validated, the
// invoice is a legally issued document and date_pointoftax is the
// basis for the VAT-return period assignment under accrual taxation
// (Soll-Versteuerung). To correct, set the invoice back to draft or

View file

@ -5,7 +5,7 @@
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2011-2025 Alexandre spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2013 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2018-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2018-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -166,7 +166,7 @@ if ($result) {
$i = 0;
while ($i < $num) {
$obj = $db->fetch_object($result);
// contrôles
// checks
$compta_soc = (($obj->code_compta_fournisseur != "") ? $obj->code_compta_fournisseur : $cptfour);
$compta_prod = $obj->accountancy_code_buy;
if (empty($compta_prod)) {

View file

@ -4,7 +4,7 @@
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2011-2016 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2025 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -680,9 +680,9 @@ class RemiseCheque extends CommonObject
}
/**
* Mets a jour le montant total
* Update the total amount
*
* @return int 0 en cas de success
* @return int 0 on success
*/
public function updateAmount()
{

View file

@ -2,7 +2,7 @@
/* Copyright (C) 2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -242,7 +242,7 @@ class PaymentSocialContribution extends CommonObject
if ($resql) {
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."paiementcharge");
// Insere tableau des montants / factures
// Insert amounts / invoices array
foreach ($this->amounts as $key => $amount) {
$contribid = $key;
if (is_numeric($amount) && $amount != 0) {

View file

@ -1096,7 +1096,7 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') {
</script>'."\n";
// Formulaire de demande
// Leave request form
print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'" name="demandeCP">'."\n";
print '<input type="hidden" name="token" value="'.newToken().'" />'."\n";
print '<input type="hidden" name="action" value="add" />'."\n";
@ -1589,18 +1589,18 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') {
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("TitleToValidCP"), $langs->trans("ConfirmToValidCP"), "confirm_send", '', 1, 1);
}
// Si validation de la demande
// If validating the request
if ($action == 'valid') {
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("TitleValidCP"), $langs->trans("ConfirmValidCP"), "confirm_valid", '', 1, 1);
}
// Si refus de la demande
// If refusing the request
if ($action == 'refuse') {
$array_input = array(array('type' => "text", 'label' => $langs->trans('DetailRefusCP'), 'name' => "detail_refuse", 'size' => "50", 'value' => ""));
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id."&action=confirm_refuse", $langs->trans("TitleRefuseCP"), $langs->trans('ConfirmRefuseCP'), "confirm_refuse", $array_input, 1, 0);
}
// Si annulation de la demande
// If cancelling the request
if ($action == 'cancel') {
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("TitleCancelCP"), $langs->trans("ConfirmCancelCP"), "confirm_cancel", '', 1, 1);
}

View file

@ -286,7 +286,7 @@ if (empty($reshook)) {
}
}
foreach ($TusersToProcess as $u) {
// Check if there is already holiday for this period pour chaque user
// Check if there is already holiday for this period for each user
$verifCP = $object->verifDateHolidayCP($u, $date_debut, $date_fin, $halfday);
if (!$verifCP) {
//setEventMessages($langs->trans("alreadyCPexist"), null, 'errors');
@ -483,7 +483,7 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') {
</script>'."\n";
// Formulaire de demande
// Leave request form
print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'" name="demandeCP">'."\n";
print '<input type="hidden" name="token" value="'.newToken().'" />'."\n";
print '<input type="hidden" name="action" value="add" />'."\n";
@ -570,7 +570,7 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') {
print $form->textwithpicto($langs->trans("DateDebCP"), $langs->trans("FirstDayOfHoliday"));
print '</td>';
print '<td>';
// Si la demande ne vient pas de l'agenda
// If the request does not come from the agenda
if (!GETPOST('date_debut_')) {
print $form->selectDate(-1, 'date_debut_', 0, 0, 0, '', 1, 1);
} else {

View file

@ -294,7 +294,7 @@ class Holiday extends CommonObject
}
/**
* Créer un congés payés dans la base de données
* Create a paid leave entry in the database
*
* @param User $user User that create
* @param int $notrigger 0=launch triggers after, 1=disable triggers
@ -544,7 +544,7 @@ class Holiday extends CommonObject
$sql .= " FROM ".MAIN_DB_PREFIX."holiday as cp, ".MAIN_DB_PREFIX."user as uu, ".MAIN_DB_PREFIX."user as ua";
$sql .= " WHERE cp.entity IN (".getEntity('holiday').")";
$sql .= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid"; // Hack pour la recherche sur le tableau
$sql .= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid"; // Hack needed for search on the list
$sql .= " AND cp.fk_user IN (".$this->db->sanitize($user_id).")";
// Selection filter
@ -675,7 +675,7 @@ class Holiday extends CommonObject
$sql .= " FROM ".MAIN_DB_PREFIX."holiday as cp, ".MAIN_DB_PREFIX."user as uu, ".MAIN_DB_PREFIX."user as ua";
$sql .= " WHERE cp.entity IN (".getEntity('holiday').")";
$sql .= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid "; // Hack pour la recherche sur le tableau
$sql .= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid "; // Hack needed for search on the list
// Selection filtering
if (!empty($filter)) {
@ -1600,7 +1600,7 @@ class Holiday extends CommonObject
}
/**
* Met à jour une option du module Holiday Payés
* Update an option of the Holiday module
*
* @param string $name name settings parameter
* @param string $value true if update OK else false
@ -2291,7 +2291,7 @@ class Holiday extends CommonObject
*
* @param string $sqlorder SQL sort order
* @param string $sqlwhere SQL where
* @return int -1 si erreur, 1 si OK et 2 si pas de résultat
* @return int -1 if error, 1 if OK, 2 if no result
*/
public function fetchLog($sqlorder, $sqlwhere)
{

View file

@ -265,7 +265,7 @@ if ($id > 0) {
$search_employee = $user_id;
}
// Récupération des congés payés de l'utilisateur ou de tous les users de sa hierarchy
// Retrieve paid leave for the current user or for all users in their hierarchy
// Load array $object->holiday
$sql = "SELECT";
@ -328,7 +328,7 @@ if (isset($extrafields->attributes[$object->table_element]['label']) && is_array
}
$sql .= ", ".MAIN_DB_PREFIX."user as uu, ".MAIN_DB_PREFIX."user as ua";
$sql .= " WHERE cp.entity IN (".getEntity('holiday').")";
$sql .= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid "; // Hack pour la recherche sur le tableau
$sql .= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid "; // Hack needed for search on the list
// Search all
if (!empty($search_all)) {
$sql .= natural_search(array_keys($fieldstosearchall), $search_all);

View file

@ -4,7 +4,7 @@
* Copyright (C) 2021 Greg Rastklan <greg.rastklan@atm-consulting.fr>
* Copyright (C) 2021 Jean-Pascal BOUDET <jean-pascal.boudet@atm-consulting.fr>
* Copyright (C) 2021 Grégory BLEMAND <gregory.blemand@atm-consulting.fr>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -1114,11 +1114,11 @@ class Skill extends CommonObject
$result = '';
switch ($code) {
case 0: $result = $langs->trans("TypeKnowHow");
break; //"Savoir Faire"
break; // "Know-how"
case 1: $result = $langs->trans("TypeHowToBe");
break; // "Savoir être"
break; // "Soft skills"
case 9: $result = $langs->trans("TypeKnowledge");
break; //"Savoir"
break; // "Knowledge"
}
return $result;
}
@ -1126,9 +1126,9 @@ class Skill extends CommonObject
/**
* Return clickable link of object (with eventually picto)
*
* @param string $option Where point the link (0=> main card, 1,2 => shipment, 'nolink'=>No link)
* @param ?array<string,mixed> $arraydata Array of data
* @return string HTML Code for Kanban thumb.
* @param string $option Where point the link (0=> main card, 1,2 => shipment, 'nolink'=>No link)
* @param ?array<string,mixed> $arraydata Array of data
* @return string HTML Code for Kanban thumb.
*/
public function getKanbanView($option = '', $arraydata = null)
{

View file

@ -483,7 +483,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php';
}
$conf->modules_parts['tpl']['hrm'] = '/hrm/core/tpl/'; // Pour utilisation du tpl hrm sur cet écran
$conf->modules_parts['tpl']['hrm'] = '/hrm/core/tpl/'; // To use the hrm tpl on this screen
print '<div class="div-table-responsive-no-min">';
if (!empty($object->lines) || ($object->status == $object::STATUS_DRAFT && $permissiontoadd && $action != 'selectlines' && $action != 'editline')) {

View file

@ -4,6 +4,7 @@
* Copyright (C) 2021 Jean-Pascal BOUDET <jean-pascal.boudet@atm-consulting.fr>
* Copyright (C) 2021 Grégory BLEMAND <gregory.blemand@atm-consulting.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -112,7 +113,7 @@ function displayRankInfos($selected_rank, $fk_skill, $inputname = 'TNote', $mode
require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php';
require_once DOL_DOCUMENT_ROOT . '/hrm/class/skilldet.class.php';
// On charge les différentes notes possibles pour la compétence $fk_skill
// Load the different possible ratings for skill $fk_skill
$skilldet = new Skilldet($db);
$Lines = $skilldet->fetchAll('ASC', 'rankorder', 0, 0, '(fk_skill:=:'.((int) $fk_skill).')');

View file

@ -4,7 +4,7 @@
* Copyright (C) 2021 Greg Rastklan <greg.rastklan@atm-consulting.fr>
* Copyright (C) 2021 Jean-Pascal BOUDET <jean-pascal.boudet@atm-consulting.fr>
* Copyright (C) 2021 Grégory BLEMAND <gregory.blemand@atm-consulting.fr>
* Copyright (C) 2023-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2023-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -274,7 +274,7 @@ if ($action == 'create') {
// SKILLDET ADD
//@todo je stop ici ... à continuer (affichage des 5 skilled input pour create action
//@todo stopped here ... to be continued (display of the 5 skill input fields for create action
//print $object->showInputField($val, $key, $value, '', '['']', '', 0);
print '</table>' . "\n";
@ -782,7 +782,7 @@ if ($action != "create" && $action != "edit") {
print $objectline->getLibStatut(5);
} elseif ($key == 'rowid') {
print $objectline->showOutputField($val, $key, (string) $objectline->id, '');
// ajout pencil
// add pencil icon
print '<a class="timeline-btn" href="' . DOL_MAIN_URL_ROOT . '/comm/action/skilldet_card.php?action=edit&id=' . $objectline->id . '"><i class="fa fa-pencil" title="' . $langs->trans("Modify") . '" ></i></a>';
} else {
print $objectline->showOutputField($val, $key, $objectline->$key, '');

View file

@ -4,7 +4,7 @@
* Copyright (C) 2021 Greg Rastklan <greg.rastklan@atm-consulting.fr>
* Copyright (C) 2021 Jean-Pascal BOUDET <jean-pascal.boudet@atm-consulting.fr>
* Copyright (C) 2021 Grégory BLEMAND <gregory.blemand@atm-consulting.fr>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 Alexandre Spangaro <alexandre@inovea-conseil.com>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
*
@ -606,7 +606,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
}
// liste des evaluation liées
// list of linked evaluations
if ($objecttype == 'user' && $permissiontoadd) {
$evaltmp = new Evaluation($db);
$job = new Job($db);

View file

@ -3,7 +3,7 @@
* Copyright (C) 2018-2019 Nicolas ZABOURI <info@inovea-conseil.com>
* Copyright (C) 2023 Alexandre Janniaux <alexandre.janniaux@gmail.com>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -279,7 +279,7 @@ function getLicenceHeader($user, $langs, $now)
*/
/**
* Post-generation validation logs and displays a warning if residual myobject/mymodule tokens remain.
* Post-generation validation -- logs and displays a warning if residual myobject/mymodule tokens remain.
*
* @param string $destfile Path to the generated file
* @param NamingContract $nc Contract used for generation
@ -439,7 +439,7 @@ if ($dirins && $action == 'initmodule' && $modulename) { // Test on permission
'$this->picto = \'generic\';' => (empty($picto)) ? '$this->picto = \'generic\'' : '$this->picto = \'' . $picto . '\';',
'modulefamily' => $family,
// Key '500000' would be cast to int(500000) by PHP, then renumbered to 0 by
// array_merge causing str_replace to search for '0' instead of '500000'.
// array_merge -- causing str_replace to search for '0' instead of '500000'.
// Use a string key that matches the exact assignment line to avoid this.
'$this->numero = 500000' => '$this->numero = '.$idmodule,
]
@ -6236,7 +6236,7 @@ if ($module == 'initmodule') {
value1 = $("#crud").val();
value2 = $("#permissionObj").val();
// Vérifie si les deux sélections sont faites
// Check if both selections are made
if (value1 && value2) {
switch(value1.toLowerCase()){
case "read":

View file

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2023 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) ---Replace with your own copyright and developer email---
* Copyright (C) 2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -352,7 +353,7 @@ class ActionsMyModule extends CommonHookActions
$counter = count($parameters['head']);
$element = $parameters['object']->element;
$id = $parameters['object']->id;
// verifier le type d'onglet comme member_stats où ça ne doit pas apparaitre
// check the tab type like member_stats where it should not appear
// if (in_array($element, ['societe', 'member', 'contrat', 'fichinter', 'project', 'propal', 'commande', 'facture', 'order_supplier', 'invoice_supplier'])) {
if (in_array($element, ['context1', 'context2'])) {
$datacount = 0;

View file

@ -3,7 +3,7 @@
* Copyright (C) 2014-2020 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
* Copyright (C) 2015 Charlie BENKE <charlie@patas-monkey.com>
* Copyright (C) 2018-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2018-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
* Copyright (C) 2023 Maxime Nicolas <maxime@oarces.com>
* Copyright (C) 2023 Benjamin GREMBI <benjamin@oarces.com>
@ -296,7 +296,7 @@ if ($action == 'add' && empty($cancel) && $permissiontoadd) {
$paiement->chid = $object->id; // deprecated
$paiement->datep = $datep;
$paiement->datev = $datev;
$paiement->amounts = array($object->id => $amount); // Tableau de montant
$paiement->amounts = array($object->id => $amount); // Amount array
$paiement->fk_typepayment = $type_payment;
$paiement->num_payment = GETPOST("num_payment", 'alphanohtml');
$paiement->note_private = GETPOST("note", 'restricthtml');

View file

@ -2,7 +2,7 @@
/*
* Copyright (C) 2023 Marc Chenebaux <marc.chenebaux@maj44.com>
* Copyright (C) 2025 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025-2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -334,7 +334,7 @@ class Salaries extends DolibarrApi
*/
public function getPayments($pid)
{
// A payment of salary can be done on different salaires of didderent user, so only users with permission
// A payment of salary can be done on different salaries of different users, so only users with permission
// to read all area allowed.
// TODO To support read or readchild case, the get must be done with a SQL that include the paid user with
// a where on current user and childids of current user.

View file

@ -2,7 +2,7 @@
/* Copyright (C) 2011-2024 Alexandre Spangaro <alexandre@inovea-conseil.com>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -255,7 +255,7 @@ class PaymentSalary extends CommonObject
$totalamount = (float) price2num($totalamount, 'MT'); // this is to ensure the following test is no biaised by a potential float equal to 0.0000000000001
if ($totalamount == 0) {
return -1;
} // On accepte les montants negatifs pour les rejets de prelevement mais pas null
} // Negative amounts are accepted (for direct debit rejections) but not null
$this->db->begin();
@ -799,7 +799,7 @@ class PaymentSalary extends CommonObject
public function LibStatut($status, $mode = 0)
{
// phpcs:enable
global $langs; // TODO Renvoyer le libelle anglais et faire traduction a affichage
global $langs; // TODO Return the English label and translate at display time
$langs->load('compta');
/*if ($mode == 0)

View file

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2016-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2016-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
* Copyright (C) 2024-2025 MDW <mdeweerd@users.noreply.github.com>
*
@ -116,7 +116,7 @@ if (($action == 'add_payment' || ($action == 'confirm_paiement' && $confirm == '
$paiement->fk_salary = $id;
$paiement->chid = $id; // deprecated
$paiement->datep = $datepaye;
$paiement->amounts = $amounts; // Tableau de montant
$paiement->amounts = $amounts; // Amount array
$paiement->fk_typepayment = GETPOSTINT("paiementtype");
$paiement->num_payment = GETPOST("num_payment", 'alphanohtml');
$paiement->note = GETPOST("note", 'restricthtml');
@ -164,7 +164,7 @@ llxHeader('', '', $help_url);
$salary = $object;
$sumpaid = 0.0;
// Formulaire de creation d'un paiement de charge
// Payment creation form
if ($action == 'create') {
$salary->accountid = $salary->fk_account ? $salary->fk_account : $salary->accountid;
$salary->fk_typepayment = $salary->mode_reglement_id ? $salary->mode_reglement_id : $salary->paiementtype;
@ -328,7 +328,7 @@ if ($action == 'create') {
print '<br>';
// Bouton Save payment
// Save payment button
print '<div class="center">';
print '<div class="paddingbottom"><input type="checkbox" checked name="closepaidsalary" id="closepaidsalary" class="marginrightonly"><label for="closepaidsalary" class="opacitymedium">'.$langs->trans("ClosePaidSalaryAutomatically").'</label></div>';
print $form->buttonsSaveCancel("ToMakePayment", "Cancel", array(), true);

View file

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2013-2018 Jean-François Ferry <hello@librethic.io>
* Copyright (C) 2016 Christophe Battarel <christophe@altairis.fr>
* Copyright (C) 2019-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2019-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2020 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2023-2025 Charlene Benke <charlene@patas-monkey.com>
* Copyright (C) 2023-2024 Benjamin Falière <benjamin.faliere@altairis.fr>
@ -1460,7 +1460,7 @@ class Ticket extends CommonObject
}
/**
* Charge dans cache la liste des sévérité de tickets (paramétrable dans dictionnaire)
* Load into cache the list of ticket severities (configurable in the dictionary)
*
* @return int Number of lines loaded, 0 if already loaded, <0 if KO
*/

View file

@ -3,7 +3,7 @@
* Copyright (C) 2011 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2016 Christophe Battarel <christophe@altairis.fr>
* Copyright (C) 2024-2025 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -118,7 +118,7 @@ if ($action == 'addcontact' && $user->hasRight('ticket', 'write')) {
$internal_contacts = $object->listeContact(-1, 'internal', 0, 'SUPPORTTEC');
foreach ($internal_contacts as $key => $contact) {
if ($contact['id'] !== $contactid) {
//print "user à effacer : ".$useroriginassign;
//print "user to delete: ".$useroriginassign;
$result = $object->delete_contact($contact['rowid']);
if ($result < 0) {
$error++;

View file

@ -4,7 +4,7 @@
* Copyright (C) 2005-2015 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
@ -69,7 +69,7 @@ if (getDolGlobalString('MAIN_USE_ADVANCED_PERMS')) {
}
// Define value to know what current user can do on properties of edited user
if ($id) {
// $user est le user qui edite, $id est l'id de l'utilisateur edite
// $user is the user doing the edit, $id is the id of the user being edited
$permissiontoedit = ((($user->id == $id) && $user->hasRight("user", "self", "write")) || (($user->id != $id) && $user->hasRight("user", "user", "write")));
$permissiontoeditpassword = ((($user->id == $id) && $user->hasRight("user", "self", "password")) || (($user->id != $id) && $user->hasRight("user", "user", "password")));
}

View file

@ -39,7 +39,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'userhome'; // To manage different context of search
if (!$user->hasRight('user', 'user', 'lire') && !$user->admin) {
// Redirection vers la page de l'utilisateur
// Redirect to the user's own page
header("Location: card.php?id=".$user->id);
exit;
}

View file

@ -2,7 +2,7 @@
/* Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2006-2021 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2024 William Mead <william.mead@manchenumerique.fr>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2026 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -21,7 +21,7 @@
/**
* \file htdocs/user/ldap.php
* \ingroup ldap
* \brief Page fiche LDAP utilisateur
* \brief LDAP user record page
*/
// Load Dolibarr environment

View file

@ -55,7 +55,7 @@ if (!isset($id) || empty($id)) {
}
'@phan-var-force int<1,max> $id';
// $user est le user qui edite, $id est l'id de l'utilisateur edite
// $user is the user doing the edit, $id is the id of the user being edited
$caneditfield = ((($user->id == $id) && $user->hasRight("user", "self", "write"))
|| (($user->id != $id) && $user->hasRight("user", "user", "write")));