From 3295498e9e49b3f67d6bf5453ebc93ab335e76ff Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 16 Sep 2017 12:50:34 +0200 Subject: [PATCH 001/199] Remove code comment --- htdocs/product/index.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/product/index.php b/htdocs/product/index.php index cd1c9a4883b..3568cd4a492 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -367,7 +367,6 @@ function activitytrim($product_type) $result = $db->query($sql); if ($result) { - //$tmpyear=$beginyear; // FIXME $beginyear is not defined $tmpyear=0; $trim1=0; $trim2=0; From e61bcd03ed86879044e4631e15242602d7501128 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 16 Sep 2017 13:03:27 +0200 Subject: [PATCH 002/199] Fix travis --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7cb9db632ad..8ae2e95f0c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -126,10 +126,10 @@ before_script: echo "Set timezone" echo 'date.timezone = "Europe/Paris"' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini if [ "$TRAVIS_PHP_VERSION" = '5.3' ] || [ "$TRAVIS_PHP_VERSION" = '5.4' ]; then - echo - echo "Enabling APC for PHP <= 5.4" + #echo + #echo "Enabling APC for PHP <= 5.4" # Documentation says it should be available for PHP <= 5.6 but it's not for 5.5 and 5.6! - echo 'extension = apc.so' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini + #echo 'extension = apc.so' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini echo echo "Enabling Memcached for PHP <= 5.4" # Documentation says it should be available for all PHP versions but it's not for 5.5 and 5.6, 7.0 and nightly! From 569d59d2512fbcbac006775f0a32bc8cdbe04fe0 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Sat, 27 Oct 2018 14:43:12 +0200 Subject: [PATCH 003/199] FIX change my deprecated email --- .mailmap | 4 ++-- build/debian/copyright | 2 +- dev/initdemo/initdemo.sh | 2 +- dev/initdemo/removeconfdemo.sh | 2 +- dev/initdemo/savedemo.sh | 2 +- htdocs/accountancy/admin/accountmodel.php | 2 +- htdocs/accountancy/journal/bankjournal.php | 2 +- htdocs/accountancy/journal/expensereportsjournal.php | 2 +- htdocs/accountancy/journal/purchasesjournal.php | 2 +- htdocs/accountancy/journal/sellsjournal.php | 2 +- htdocs/adherents/admin/adherent.php | 2 +- htdocs/adherents/admin/adherent_emails.php | 2 +- htdocs/adherents/admin/adherent_extrafields.php | 2 +- htdocs/adherents/admin/adherent_type_extrafields.php | 2 +- htdocs/adherents/admin/website.php | 2 +- htdocs/adherents/agenda.php | 2 +- htdocs/adherents/canvas/actions_adherentcard_common.class.php | 2 +- .../canvas/default/actions_adherentcard_default.class.php | 2 +- .../adherents/canvas/default/tpl/adherentcard_create.tpl.php | 2 +- htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php | 2 +- htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php | 2 +- htdocs/adherents/card.php | 2 +- htdocs/adherents/class/adherent.class.php | 2 +- htdocs/adherents/class/adherent_type.class.php | 2 +- htdocs/adherents/class/adherentstats.class.php | 2 +- htdocs/adherents/class/api_members.class.php | 2 +- htdocs/adherents/class/api_memberstypes.class.php | 2 +- htdocs/adherents/document.php | 2 +- htdocs/adherents/index.php | 2 +- htdocs/adherents/ldap.php | 2 +- htdocs/adherents/stats/index.php | 2 +- htdocs/adherents/subscription.php | 2 +- htdocs/adherents/subscription/info.php | 2 +- htdocs/adherents/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/adherents/type.php | 2 +- htdocs/adherents/type_ldap.php | 2 +- htdocs/admin/agenda.php | 2 +- htdocs/admin/agenda_extrafields.php | 2 +- htdocs/admin/agenda_other.php | 2 +- htdocs/admin/agenda_xcal.php | 2 +- htdocs/admin/bank_extrafields.php | 2 +- htdocs/admin/barcode.php | 2 +- htdocs/admin/boxes.php | 2 +- htdocs/admin/commande.php | 2 +- htdocs/admin/company.php | 2 +- htdocs/admin/compta.php | 2 +- htdocs/admin/confexped.php | 2 +- htdocs/admin/const.php | 2 +- htdocs/admin/defaultvalues.php | 2 +- htdocs/admin/delais.php | 2 +- htdocs/admin/dict.php | 2 +- htdocs/admin/expedition.php | 2 +- htdocs/admin/expedition_extrafields.php | 2 +- htdocs/admin/expeditiondet_extrafields.php | 2 +- htdocs/admin/expensereport.php | 2 +- htdocs/admin/expensereport_extrafields.php | 2 +- htdocs/admin/export.php | 2 +- htdocs/admin/external_rss.php | 2 +- htdocs/admin/facture.php | 2 +- htdocs/admin/fckeditor.php | 2 +- htdocs/admin/fichinter.php | 2 +- htdocs/admin/ihm.php | 2 +- htdocs/admin/ldap.php | 2 +- htdocs/admin/ldap_contacts.php | 2 +- htdocs/admin/ldap_groups.php | 2 +- htdocs/admin/ldap_members.php | 2 +- htdocs/admin/ldap_members_types.php | 2 +- htdocs/admin/ldap_users.php | 2 +- htdocs/admin/limits.php | 2 +- htdocs/admin/livraison.php | 2 +- htdocs/admin/livraison_extrafields.php | 2 +- htdocs/admin/livraisondet_extrafields.php | 2 +- htdocs/admin/mailman.php | 2 +- htdocs/admin/mails.php | 2 +- htdocs/admin/mails_emailing.php | 2 +- htdocs/admin/mails_templates.php | 2 +- htdocs/admin/menus.php | 2 +- htdocs/admin/menus/edit.php | 2 +- htdocs/admin/menus/index.php | 2 +- htdocs/admin/menus/other.php | 2 +- htdocs/admin/modulehelp.php | 2 +- htdocs/admin/modules.php | 2 +- htdocs/admin/order_extrafields.php | 2 +- htdocs/admin/orderdet_extrafields.php | 2 +- htdocs/admin/pdf.php | 2 +- htdocs/admin/perms.php | 2 +- htdocs/admin/prelevement.php | 2 +- htdocs/admin/propal.php | 2 +- htdocs/admin/resource_extrafields.php | 2 +- htdocs/admin/security.php | 2 +- htdocs/admin/security_file.php | 2 +- htdocs/admin/security_other.php | 2 +- htdocs/admin/sms.php | 2 +- htdocs/admin/spip.php | 2 +- htdocs/admin/stock.php | 2 +- htdocs/admin/supplier_invoice.php | 2 +- htdocs/admin/supplier_order.php | 2 +- htdocs/admin/supplier_proposal.php | 2 +- htdocs/admin/supplierinvoice_extrafields.php | 2 +- htdocs/admin/supplierinvoicedet_extrafields.php | 2 +- htdocs/admin/supplierorder_extrafields.php | 2 +- htdocs/admin/supplierorderdet_extrafields.php | 2 +- htdocs/admin/syslog.php | 2 +- htdocs/admin/system/about.php | 2 +- htdocs/admin/system/browser.php | 2 +- htdocs/admin/system/constall.php | 2 +- htdocs/admin/system/database-tables.php | 2 +- htdocs/admin/system/dbtable.php | 2 +- htdocs/admin/system/dolibarr.php | 2 +- htdocs/admin/system/filecheck.php | 2 +- htdocs/admin/system/index.php | 2 +- htdocs/admin/system/modules.php | 2 +- htdocs/admin/system/os.php | 2 +- htdocs/admin/system/phpinfo.php | 2 +- htdocs/admin/taxes.php | 2 +- htdocs/admin/tools/dolibarr_export.php | 2 +- htdocs/admin/tools/dolibarr_import.php | 2 +- htdocs/admin/tools/index.php | 2 +- htdocs/admin/tools/listevents.php | 2 +- htdocs/admin/tools/listsessions.php | 2 +- htdocs/admin/tools/purge.php | 2 +- htdocs/admin/tools/update.php | 2 +- htdocs/admin/translation.php | 2 +- htdocs/admin/user.php | 2 +- htdocs/admin/usergroup.php | 2 +- htdocs/admin/workflow.php | 2 +- htdocs/api/admin/index.php | 2 +- htdocs/api/class/api_setup.class.php | 2 +- htdocs/api/index.php | 2 +- htdocs/cashdesk/affContenu.php | 2 +- htdocs/cashdesk/affIndex.php | 2 +- htdocs/cashdesk/facturation_dhtml.php | 2 +- htdocs/cashdesk/javascript/dhtml.js | 2 +- htdocs/cashdesk/tpl/facturation1.tpl.php | 2 +- htdocs/cashdesk/tpl/menu.tpl.php | 2 +- htdocs/categories/admin/categorie_extrafields.php | 2 +- htdocs/categories/card.php | 2 +- htdocs/categories/class/categorie.class.php | 2 +- htdocs/categories/edit.php | 2 +- htdocs/categories/index.php | 2 +- htdocs/categories/photos.php | 2 +- htdocs/categories/traduction.php | 2 +- htdocs/categories/viewcat.php | 2 +- htdocs/comm/action/card.php | 2 +- htdocs/comm/action/class/actioncomm.class.php | 2 +- htdocs/comm/action/class/ical.class.php | 2 +- htdocs/comm/action/document.php | 2 +- htdocs/comm/action/index.php | 2 +- htdocs/comm/action/list.php | 2 +- htdocs/comm/action/pertype.php | 2 +- htdocs/comm/action/peruser.php | 2 +- htdocs/comm/action/rapport/index.php | 2 +- htdocs/comm/address.php | 2 +- htdocs/comm/admin/propal_extrafields.php | 2 +- htdocs/comm/admin/propaldet_extrafields.php | 2 +- htdocs/comm/card.php | 2 +- htdocs/comm/contact.php | 2 +- htdocs/comm/index.php | 2 +- htdocs/comm/mailing/card.php | 2 +- htdocs/comm/mailing/cibles.php | 2 +- htdocs/comm/mailing/class/mailing.class.php | 2 +- htdocs/comm/mailing/index.php | 2 +- htdocs/comm/mailing/info.php | 2 +- htdocs/comm/mailing/list.php | 2 +- htdocs/comm/propal/card.php | 2 +- htdocs/comm/propal/class/propal.class.php | 2 +- htdocs/comm/propal/class/propalestats.class.php | 2 +- htdocs/comm/propal/contact.php | 2 +- htdocs/comm/propal/document.php | 2 +- htdocs/comm/propal/index.php | 2 +- htdocs/comm/propal/info.php | 2 +- htdocs/comm/propal/list.php | 2 +- htdocs/comm/propal/note.php | 2 +- htdocs/comm/propal/stats/index.php | 2 +- htdocs/comm/propal/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/comm/prospect/index.php | 2 +- htdocs/commande/card.php | 2 +- htdocs/commande/class/commande.class.php | 2 +- htdocs/commande/class/commandestats.class.php | 2 +- htdocs/commande/contact.php | 2 +- htdocs/commande/customer.php | 2 +- htdocs/commande/document.php | 2 +- htdocs/commande/index.php | 2 +- htdocs/commande/info.php | 2 +- htdocs/commande/list.php | 2 +- htdocs/commande/note.php | 2 +- htdocs/commande/orderstoinvoice.php | 2 +- htdocs/commande/stats/index.php | 2 +- htdocs/commande/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/compta/bank/annuel.php | 2 +- htdocs/compta/bank/bankentries_list.php | 2 +- htdocs/compta/bank/budget.php | 2 +- htdocs/compta/bank/card.php | 2 +- htdocs/compta/bank/categ.php | 2 +- htdocs/compta/bank/class/account.class.php | 2 +- htdocs/compta/bank/class/bankcateg.class.php | 2 +- htdocs/compta/bank/document.php | 2 +- htdocs/compta/bank/graph.php | 2 +- htdocs/compta/bank/ligne.php | 2 +- htdocs/compta/bank/list.php | 2 +- htdocs/compta/bank/releve.php | 2 +- htdocs/compta/bank/transfer.php | 2 +- htdocs/compta/bank/treso.php | 2 +- htdocs/compta/charges/index.php | 2 +- htdocs/compta/clients.php | 2 +- htdocs/compta/deplacement/card.php | 2 +- htdocs/compta/deplacement/class/deplacement.class.php | 2 +- htdocs/compta/deplacement/class/deplacementstats.class.php | 2 +- htdocs/compta/deplacement/document.php | 2 +- htdocs/compta/deplacement/index.php | 2 +- htdocs/compta/deplacement/list.php | 2 +- htdocs/compta/facture/admin/facture_cust_extrafields.php | 2 +- htdocs/compta/facture/admin/facture_rec_cust_extrafields.php | 2 +- htdocs/compta/facture/admin/facturedet_cust_extrafields.php | 2 +- .../compta/facture/admin/facturedet_rec_cust_extrafields.php | 2 +- htdocs/compta/facture/card.php | 2 +- htdocs/compta/facture/class/facture-rec.class.php | 2 +- htdocs/compta/facture/class/facture.class.php | 2 +- htdocs/compta/facture/class/facturestats.class.php | 2 +- htdocs/compta/facture/contact.php | 2 +- htdocs/compta/facture/document.php | 2 +- htdocs/compta/facture/fiche-rec.php | 2 +- htdocs/compta/facture/invoicetemplate_list.php | 2 +- htdocs/compta/facture/list.php | 2 +- htdocs/compta/facture/note.php | 2 +- htdocs/compta/facture/prelevement.php | 2 +- htdocs/compta/facture/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php | 2 +- htdocs/compta/index.php | 2 +- htdocs/compta/journal/purchasesjournal.php | 2 +- htdocs/compta/journal/sellsjournal.php | 2 +- htdocs/compta/paiement.php | 2 +- htdocs/compta/paiement/card.php | 2 +- htdocs/compta/paiement/cheque/card.php | 2 +- htdocs/compta/paiement/cheque/class/remisecheque.class.php | 2 +- htdocs/compta/paiement/cheque/index.php | 2 +- htdocs/compta/paiement/cheque/list.php | 2 +- htdocs/compta/paiement/list.php | 2 +- htdocs/compta/payment_sc/card.php | 2 +- htdocs/compta/prelevement/bons.php | 2 +- htdocs/compta/prelevement/class/bonprelevement.class.php | 2 +- htdocs/compta/prelevement/class/ligneprelevement.class.php | 2 +- htdocs/compta/prelevement/class/rejetprelevement.class.php | 2 +- htdocs/compta/prelevement/create.php | 2 +- htdocs/compta/prelevement/demandes.php | 2 +- htdocs/compta/prelevement/factures.php | 2 +- htdocs/compta/prelevement/fiche-rejet.php | 2 +- htdocs/compta/prelevement/index.php | 2 +- htdocs/compta/prelevement/ligne.php | 2 +- htdocs/compta/prelevement/list.php | 2 +- htdocs/compta/prelevement/rejets.php | 2 +- htdocs/compta/prelevement/stats.php | 2 +- htdocs/compta/resultat/clientfourn.php | 2 +- htdocs/compta/resultat/index.php | 2 +- htdocs/compta/salaries/document.php | 2 +- htdocs/compta/sociales/card.php | 2 +- htdocs/compta/sociales/document.php | 2 +- htdocs/compta/sociales/index.php | 2 +- htdocs/compta/sociales/payments.php | 2 +- htdocs/compta/stats/cabyuser.php | 2 +- htdocs/compta/stats/casoc.php | 2 +- htdocs/compta/stats/index.php | 2 +- htdocs/compta/tva/card.php | 2 +- htdocs/compta/tva/document.php | 2 +- htdocs/compta/tva/index.php | 2 +- htdocs/compta/tva/list.php | 2 +- htdocs/contact/agenda.php | 2 +- htdocs/contact/canvas/actions_contactcard_common.class.php | 2 +- .../canvas/default/actions_contactcard_default.class.php | 2 +- htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php | 2 +- htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php | 2 +- htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php | 2 +- htdocs/contact/card.php | 2 +- htdocs/contact/class/contact.class.php | 2 +- htdocs/contact/document.php | 2 +- htdocs/contact/info.php | 2 +- htdocs/contact/ldap.php | 2 +- htdocs/contact/list.php | 2 +- htdocs/contact/note.php | 2 +- htdocs/contact/perso.php | 2 +- htdocs/contact/vcard.php | 2 +- htdocs/contrat/admin/contract_extrafields.php | 2 +- htdocs/contrat/admin/contractdet_extrafields.php | 2 +- htdocs/contrat/card.php | 2 +- htdocs/contrat/class/contrat.class.php | 2 +- htdocs/contrat/contact.php | 2 +- htdocs/contrat/document.php | 2 +- htdocs/contrat/index.php | 2 +- htdocs/contrat/list.php | 2 +- htdocs/contrat/note.php | 2 +- htdocs/contrat/services_list.php | 2 +- htdocs/contrat/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/core/ajax/ajaxdirpreview.php | 2 +- htdocs/core/ajax/box.php | 2 +- htdocs/core/ajax/constantonoff.php | 2 +- htdocs/core/ajax/contacts.php | 2 +- htdocs/core/ajax/extraparams.php | 2 +- htdocs/core/ajax/fileupload.php | 2 +- htdocs/core/ajax/getaccountcurrency.php | 2 +- htdocs/core/ajax/loadinplace.php | 2 +- htdocs/core/ajax/price.php | 2 +- htdocs/core/ajax/row.php | 2 +- htdocs/core/ajax/saveinplace.php | 2 +- htdocs/core/ajax/security.php | 2 +- htdocs/core/ajax/vatrates.php | 2 +- htdocs/core/ajax/ziptown.php | 2 +- htdocs/core/boxes/box_actions.php | 2 +- htdocs/core/boxes/box_clients.php | 2 +- htdocs/core/boxes/box_commandes.php | 2 +- htdocs/core/boxes/box_comptes.php | 2 +- htdocs/core/boxes/box_contacts.php | 2 +- htdocs/core/boxes/box_contracts.php | 2 +- htdocs/core/boxes/box_external_rss.php | 2 +- htdocs/core/boxes/box_factures.php | 2 +- htdocs/core/boxes/box_factures_fourn.php | 2 +- htdocs/core/boxes/box_factures_fourn_imp.php | 2 +- htdocs/core/boxes/box_factures_imp.php | 2 +- htdocs/core/boxes/box_fournisseurs.php | 2 +- htdocs/core/boxes/box_goodcustomers.php | 2 +- htdocs/core/boxes/box_members.php | 2 +- htdocs/core/boxes/box_produits.php | 2 +- htdocs/core/boxes/box_produits_alerte_stock.php | 2 +- htdocs/core/boxes/box_propales.php | 2 +- htdocs/core/boxes/box_prospect.php | 2 +- htdocs/core/boxes/box_services_contracts.php | 2 +- htdocs/core/boxes/box_supplier_orders.php | 2 +- htdocs/core/boxes/modules_boxes.php | 2 +- htdocs/core/class/CMailFile.class.php | 2 +- htdocs/core/class/CSMSFile.class.php | 2 +- htdocs/core/class/antivir.class.php | 2 +- htdocs/core/class/canvas.class.php | 2 +- htdocs/core/class/commondocgenerator.class.php | 2 +- htdocs/core/class/commoninvoice.class.php | 2 +- htdocs/core/class/commonobject.class.php | 2 +- htdocs/core/class/commonorder.class.php | 2 +- htdocs/core/class/conf.class.php | 2 +- htdocs/core/class/dolexception.class.php | 2 +- htdocs/core/class/events.class.php | 2 +- htdocs/core/class/extrafields.class.php | 2 +- htdocs/core/class/fileupload.class.php | 2 +- htdocs/core/class/hookmanager.class.php | 2 +- htdocs/core/class/html.form.class.php | 2 +- htdocs/core/class/html.formactions.class.php | 2 +- htdocs/core/class/html.formadmin.class.php | 2 +- htdocs/core/class/html.formbarcode.class.php | 2 +- htdocs/core/class/html.formcompany.class.php | 2 +- htdocs/core/class/html.formfile.class.php | 2 +- htdocs/core/class/html.formmail.class.php | 2 +- htdocs/core/class/html.formother.class.php | 2 +- htdocs/core/class/infobox.class.php | 2 +- htdocs/core/class/interfaces.class.php | 2 +- htdocs/core/class/ldap.class.php | 2 +- htdocs/core/class/menubase.class.php | 2 +- htdocs/core/class/stats.class.php | 2 +- htdocs/core/class/translate.class.php | 2 +- htdocs/core/datepicker.php | 2 +- htdocs/core/db/Database.interface.php | 2 +- htdocs/core/db/mssql.class.php | 2 +- htdocs/core/db/mysqli.class.php | 2 +- htdocs/core/db/pgsql.class.php | 2 +- htdocs/core/db/sqlite3.class.php | 2 +- htdocs/core/doxygen.php | 2 +- htdocs/core/js/blockUI.js | 2 +- htdocs/core/js/dst.js | 2 +- htdocs/core/js/editinplace.js | 2 +- htdocs/core/js/lib_head.js.php | 2 +- htdocs/core/js/timepicker.js.php | 2 +- htdocs/core/lib/admin.lib.php | 2 +- htdocs/core/lib/agenda.lib.php | 2 +- htdocs/core/lib/ajax.lib.php | 2 +- htdocs/core/lib/bank.lib.php | 2 +- htdocs/core/lib/categories.lib.php | 2 +- htdocs/core/lib/company.lib.php | 2 +- htdocs/core/lib/contact.lib.php | 2 +- htdocs/core/lib/contract.lib.php | 2 +- htdocs/core/lib/date.lib.php | 2 +- htdocs/core/lib/doc.lib.php | 2 +- htdocs/core/lib/doleditor.lib.php | 2 +- htdocs/core/lib/expedition.lib.php | 2 +- htdocs/core/lib/expensereport.lib.php | 2 +- htdocs/core/lib/fichinter.lib.php | 2 +- htdocs/core/lib/files.lib.php | 2 +- htdocs/core/lib/fourn.lib.php | 2 +- htdocs/core/lib/functions.lib.php | 2 +- htdocs/core/lib/functions2.lib.php | 2 +- htdocs/core/lib/images.lib.php | 2 +- htdocs/core/lib/import.lib.php | 2 +- htdocs/core/lib/invoice.lib.php | 2 +- htdocs/core/lib/json.lib.php | 2 +- htdocs/core/lib/ldap.lib.php | 2 +- htdocs/core/lib/member.lib.php | 2 +- htdocs/core/lib/order.lib.php | 2 +- htdocs/core/lib/pdf.lib.php | 2 +- htdocs/core/lib/prelevement.lib.php | 2 +- htdocs/core/lib/product.lib.php | 2 +- htdocs/core/lib/project.lib.php | 2 +- htdocs/core/lib/propal.lib.php | 2 +- htdocs/core/lib/report.lib.php | 2 +- htdocs/core/lib/security.lib.php | 2 +- htdocs/core/lib/security2.lib.php | 2 +- htdocs/core/lib/sendings.lib.php | 2 +- htdocs/core/lib/supplier_proposal.lib.php | 2 +- htdocs/core/lib/tax.lib.php | 2 +- htdocs/core/lib/trip.lib.php | 2 +- htdocs/core/lib/usergroups.lib.php | 2 +- htdocs/core/login/functions_dolibarr.php | 2 +- htdocs/core/login/functions_empty.php | 2 +- htdocs/core/login/functions_openid.php | 2 +- htdocs/core/menus/standard/auguria.lib.php | 2 +- htdocs/core/menus/standard/auguria_menu.php | 2 +- htdocs/core/menus/standard/eldy.lib.php | 2 +- htdocs/core/menus/standard/eldy_menu.php | 2 +- htdocs/core/modules/DolibarrModules.class.php | 2 +- htdocs/core/modules/action/modules_action.php | 2 +- htdocs/core/modules/action/rapport.pdf.php | 2 +- htdocs/core/modules/bank/modules_bank.php | 2 +- htdocs/core/modules/barcode/doc/phpbarcode.modules.php | 2 +- htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php | 2 +- htdocs/core/modules/barcode/mod_barcode_product_standard.php | 2 +- htdocs/core/modules/cheque/modules_chequereceipts.php | 2 +- htdocs/core/modules/commande/doc/pdf_einstein.modules.php | 2 +- htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php | 2 +- htdocs/core/modules/commande/doc/pdf_proforma.modules.php | 2 +- htdocs/core/modules/commande/mod_commande_marbre.php | 2 +- htdocs/core/modules/commande/mod_commande_saphir.php | 2 +- htdocs/core/modules/commande/modules_commande.php | 2 +- htdocs/core/modules/contract/doc/pdf_strato.modules.php | 2 +- htdocs/core/modules/contract/modules_contract.php | 2 +- htdocs/core/modules/dons/html_cerfafr.modules.php | 2 +- htdocs/core/modules/dons/modules_don.php | 2 +- htdocs/core/modules/expedition/doc/pdf_merou.modules.php | 2 +- htdocs/core/modules/expedition/doc/pdf_rouget.modules.php | 2 +- htdocs/core/modules/expedition/modules_expedition.php | 2 +- htdocs/core/modules/export/modules_export.php | 2 +- .../modules/facture/doc/doc_generic_invoice_odt.modules.php | 2 +- htdocs/core/modules/facture/doc/pdf_crabe.modules.php | 2 +- htdocs/core/modules/facture/doc/pdf_sponge.modules.php | 2 +- htdocs/core/modules/facture/mod_facture_mars.php | 2 +- htdocs/core/modules/facture/mod_facture_mercure.php | 2 +- htdocs/core/modules/facture/mod_facture_terre.php | 2 +- htdocs/core/modules/facture/modules_facture.php | 2 +- htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php | 2 +- htdocs/core/modules/fichinter/mod_arctic.php | 2 +- htdocs/core/modules/fichinter/mod_pacific.php | 2 +- htdocs/core/modules/fichinter/modules_fichinter.php | 2 +- htdocs/core/modules/holiday/modules_holiday.php | 2 +- htdocs/core/modules/import/import_csv.modules.php | 2 +- htdocs/core/modules/import/import_xlsx.modules.php | 2 +- htdocs/core/modules/import/modules_import.php | 2 +- htdocs/core/modules/livraison/doc/pdf_typhon.modules.php | 2 +- htdocs/core/modules/livraison/mod_livraison_jade.php | 2 +- htdocs/core/modules/livraison/mod_livraison_saphir.php | 2 +- htdocs/core/modules/livraison/modules_livraison.php | 2 +- htdocs/core/modules/mailings/advthirdparties.modules.php | 2 +- htdocs/core/modules/mailings/contacts1.modules.php | 2 +- htdocs/core/modules/mailings/fraise.modules.php | 2 +- htdocs/core/modules/mailings/pomme.modules.php | 2 +- htdocs/core/modules/mailings/thirdparties.modules.php | 2 +- htdocs/core/modules/member/modules_cards.php | 2 +- htdocs/core/modules/modAgenda.class.php | 2 +- htdocs/core/modules/modBanque.class.php | 2 +- htdocs/core/modules/modBarcode.class.php | 2 +- htdocs/core/modules/modCommande.class.php | 2 +- htdocs/core/modules/modContrat.class.php | 2 +- htdocs/core/modules/modDeplacement.class.php | 2 +- htdocs/core/modules/modDocumentGeneration.class.php | 2 +- htdocs/core/modules/modDon.class.php | 2 +- htdocs/core/modules/modExpedition.class.php | 2 +- htdocs/core/modules/modExport.class.php | 2 +- htdocs/core/modules/modExternalSite.class.php | 2 +- htdocs/core/modules/modFacture.class.php | 2 +- htdocs/core/modules/modFckeditor.class.php | 2 +- htdocs/core/modules/modFicheinter.class.php | 2 +- htdocs/core/modules/modFournisseur.class.php | 2 +- htdocs/core/modules/modHoliday.class.php | 2 +- htdocs/core/modules/modImport.class.php | 2 +- htdocs/core/modules/modIncoterm.class.php | 2 +- htdocs/core/modules/modLabel.class.php | 2 +- htdocs/core/modules/modLdap.class.php | 2 +- htdocs/core/modules/modMailing.class.php | 2 +- htdocs/core/modules/modMultiCurrency.class.php | 2 +- htdocs/core/modules/modPaypal.class.php | 2 +- htdocs/core/modules/modPrelevement.class.php | 2 +- htdocs/core/modules/modProduct.class.php | 2 +- htdocs/core/modules/modProductBatch.class.php | 2 +- htdocs/core/modules/modProjet.class.php | 2 +- htdocs/core/modules/modPropale.class.php | 2 +- htdocs/core/modules/modSalaries.class.php | 2 +- htdocs/core/modules/modService.class.php | 2 +- htdocs/core/modules/modSociete.class.php | 2 +- htdocs/core/modules/modStock.class.php | 2 +- htdocs/core/modules/modSupplierProposal.class.php | 2 +- htdocs/core/modules/modTax.class.php | 2 +- htdocs/core/modules/modUser.class.php | 2 +- htdocs/core/modules/modVariants.class.php | 2 +- htdocs/core/modules/modWorkflow.class.php | 2 +- htdocs/core/modules/printsheet/modules_labels.php | 2 +- htdocs/core/modules/product/mod_codeproduct_elephant.php | 2 +- htdocs/core/modules/product/modules_product.class.php | 2 +- .../modules/product_batch/modules_product_batch.class.php | 2 +- htdocs/core/modules/project/doc/pdf_baleine.modules.php | 2 +- htdocs/core/modules/project/doc/pdf_beluga.modules.php | 2 +- htdocs/core/modules/project/doc/pdf_timespent.modules.php | 2 +- htdocs/core/modules/project/mod_project_simple.php | 2 +- htdocs/core/modules/project/mod_project_universal.php | 2 +- htdocs/core/modules/project/modules_project.php | 2 +- htdocs/core/modules/project/task/mod_task_simple.php | 2 +- htdocs/core/modules/project/task/mod_task_universal.php | 2 +- htdocs/core/modules/project/task/modules_task.php | 2 +- htdocs/core/modules/propale/doc/pdf_azur.modules.php | 2 +- htdocs/core/modules/propale/doc/pdf_cyan.modules.php | 2 +- htdocs/core/modules/propale/mod_propale_marbre.php | 2 +- htdocs/core/modules/propale/mod_propale_saphir.php | 2 +- htdocs/core/modules/propale/modules_propale.php | 2 +- .../modules/security/generate/modGeneratePassPerso.class.php | 2 +- htdocs/core/modules/societe/mod_codeclient_elephant.php | 2 +- htdocs/core/modules/societe/mod_codeclient_monkey.php | 2 +- htdocs/core/modules/societe/modules_societe.class.php | 2 +- .../supplier_invoice/mod_facture_fournisseur_cactus.php | 2 +- .../supplier_invoice/mod_facture_fournisseur_tulip.php | 2 +- .../modules/supplier_invoice/modules_facturefournisseur.php | 2 +- .../supplier_order/mod_commande_fournisseur_muguet.php | 2 +- .../supplier_order/mod_commande_fournisseur_orchidee.php | 2 +- .../modules/supplier_order/modules_commandefournisseur.php | 2 +- .../core/modules/supplier_order/pdf/pdf_muscadet.modules.php | 2 +- .../core/modules/supplier_proposal/doc/pdf_aurore.modules.php | 2 +- .../supplier_proposal/mod_supplier_proposal_marbre.php | 2 +- .../supplier_proposal/mod_supplier_proposal_saphir.php | 2 +- .../modules/supplier_proposal/modules_supplier_proposal.php | 2 +- htdocs/core/modules/ticket/mod_ticket_simple.php | 2 +- htdocs/core/modules/ticket/mod_ticket_universal.php | 2 +- htdocs/core/modules/ticket/modules_ticket.php | 2 +- htdocs/core/modules/user/modules_user.class.php | 2 +- htdocs/core/modules/usergroup/modules_usergroup.class.php | 2 +- htdocs/core/photos_resize.php | 2 +- htdocs/core/tools.php | 2 +- htdocs/core/tpl/admin_extrafields_add.tpl.php | 2 +- htdocs/core/tpl/admin_extrafields_edit.tpl.php | 2 +- htdocs/core/tpl/admin_extrafields_view.tpl.php | 2 +- htdocs/core/tpl/ajax/fileupload_main.tpl.php | 2 +- htdocs/core/tpl/ajax/fileupload_view.tpl.php | 2 +- htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php | 2 +- htdocs/core/tpl/ajaxrow.tpl.php | 2 +- htdocs/core/tpl/bloc_showhide.tpl.php | 2 +- htdocs/core/tpl/contacts.tpl.php | 2 +- htdocs/core/tpl/error.tpl.php | 2 +- htdocs/core/tpl/footer.tpl.php | 2 +- htdocs/core/tpl/header.tpl.php | 2 +- htdocs/core/tpl/login.tpl.php | 2 +- htdocs/core/tpl/notes.tpl.php | 2 +- htdocs/core/tpl/objectline_create.tpl.php | 2 +- htdocs/core/tpl/objectline_edit.tpl.php | 2 +- htdocs/core/tpl/objectline_view.tpl.php | 2 +- htdocs/core/tpl/originproductline.tpl.php | 2 +- htdocs/core/tpl/passwordforgotten.tpl.php | 2 +- htdocs/core/triggers/interface_20_all_Logevents.class.php | 2 +- .../interface_20_modWorkflow_WorkflowManager.class.php | 2 +- .../triggers/interface_50_modAgenda_ActionsAuto.class.php | 2 +- .../core/triggers/interface_50_modLdap_Ldapsynchro.class.php | 2 +- .../interface_50_modNotification_Notification.class.php | 2 +- htdocs/cron/admin/cron.php | 2 +- htdocs/document.php | 2 +- htdocs/don/card.php | 2 +- htdocs/don/class/don.class.php | 2 +- htdocs/don/class/donstats.class.php | 2 +- htdocs/don/document.php | 2 +- htdocs/don/index.php | 2 +- htdocs/don/list.php | 2 +- htdocs/don/note.php | 2 +- htdocs/don/stats/index.php | 2 +- htdocs/don/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/ecm/ajax/ecmdatabase.php | 2 +- htdocs/ecm/class/ecmdirectory.class.php | 2 +- htdocs/ecm/dir_add_card.php | 2 +- htdocs/ecm/index.php | 2 +- htdocs/ecm/index_auto.php | 2 +- htdocs/ecm/search.php | 2 +- htdocs/ecm/tpl/enablefiletreeajax.tpl.php | 2 +- htdocs/expedition/card.php | 2 +- htdocs/expedition/class/expedition.class.php | 2 +- htdocs/expedition/class/expeditionstats.class.php | 2 +- htdocs/expedition/contact.php | 2 +- htdocs/expedition/document.php | 2 +- htdocs/expedition/index.php | 2 +- htdocs/expedition/list.php | 2 +- htdocs/expedition/note.php | 2 +- htdocs/expedition/shipment.php | 2 +- htdocs/expedition/stats/index.php | 2 +- htdocs/expedition/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/expensereport/ajax/ajaxprojet.php | 2 +- htdocs/expensereport/card.php | 2 +- htdocs/expensereport/class/expensereportstats.class.php | 2 +- htdocs/expensereport/document.php | 2 +- htdocs/expensereport/index.php | 2 +- htdocs/expensereport/list.php | 2 +- htdocs/expensereport/note.php | 2 +- htdocs/expensereport/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/exports/class/export.class.php | 2 +- htdocs/exports/export.php | 2 +- htdocs/fichinter/admin/fichinter_extrafields.php | 2 +- htdocs/fichinter/admin/fichinterdet_extrafields.php | 2 +- htdocs/fichinter/card-rec.php | 2 +- htdocs/fichinter/card.php | 2 +- htdocs/fichinter/class/fichinter.class.php | 2 +- htdocs/fichinter/class/fichinterstats.class.php | 2 +- htdocs/fichinter/contact.php | 2 +- htdocs/fichinter/document.php | 2 +- htdocs/fichinter/index.php | 2 +- htdocs/fichinter/info.php | 2 +- htdocs/fichinter/list.php | 2 +- htdocs/fichinter/note.php | 2 +- htdocs/filefunc.inc.php | 2 +- htdocs/fourn/card.php | 2 +- htdocs/fourn/class/fournisseur.class.php | 2 +- htdocs/fourn/class/fournisseur.commande.class.php | 2 +- htdocs/fourn/class/fournisseur.facture.class.php | 2 +- htdocs/fourn/class/fournisseur.product.class.php | 2 +- htdocs/fourn/class/paiementfourn.class.php | 2 +- htdocs/fourn/commande/card.php | 2 +- htdocs/fourn/commande/contact.php | 2 +- htdocs/fourn/commande/dispatch.php | 2 +- htdocs/fourn/commande/document.php | 2 +- htdocs/fourn/commande/index.php | 2 +- htdocs/fourn/commande/info.php | 2 +- htdocs/fourn/commande/list.php | 2 +- htdocs/fourn/commande/note.php | 2 +- htdocs/fourn/commande/orderstoinvoice.php | 2 +- htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/fourn/contact.php | 2 +- htdocs/fourn/facture/card.php | 2 +- htdocs/fourn/facture/contact.php | 2 +- htdocs/fourn/facture/document.php | 2 +- htdocs/fourn/facture/impayees.php | 2 +- htdocs/fourn/facture/info.php | 2 +- htdocs/fourn/facture/list.php | 2 +- htdocs/fourn/facture/note.php | 2 +- htdocs/fourn/facture/paiement.php | 2 +- htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/fourn/index.php | 2 +- htdocs/fourn/product/list.php | 2 +- htdocs/ftp/index.php | 2 +- htdocs/holiday/card.php | 2 +- htdocs/holiday/class/holiday.class.php | 2 +- htdocs/holiday/common.inc.php | 2 +- htdocs/holiday/define_holiday.php | 2 +- htdocs/holiday/document.php | 2 +- htdocs/holiday/list.php | 2 +- htdocs/hrm/index.php | 2 +- htdocs/imports/import.php | 2 +- htdocs/index.php | 2 +- htdocs/install/check.php | 2 +- htdocs/install/fileconf.php | 2 +- htdocs/install/lib/repair.lib.php | 2 +- htdocs/install/mysql/data/llx_00_c_country.sql | 2 +- htdocs/install/mysql/data/llx_10_c_regions.sql | 2 +- htdocs/install/mysql/data/llx_20_c_departements.sql | 2 +- htdocs/install/mysql/data/llx_accounting_abc.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_be.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_cl.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_dk.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_es.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_fr.sql | 2 +- htdocs/install/mysql/data/llx_c_action_trigger.sql | 2 +- htdocs/install/mysql/data/llx_c_actioncomm.sql | 2 +- htdocs/install/mysql/data/llx_c_chargesociales.sql | 2 +- htdocs/install/mysql/data/llx_c_civilite.sql | 2 +- htdocs/install/mysql/data/llx_c_currencies.sql | 2 +- htdocs/install/mysql/data/llx_c_ecotaxe.sql | 2 +- htdocs/install/mysql/data/llx_c_effectif.sql | 2 +- htdocs/install/mysql/data/llx_c_forme_juridique.sql | 2 +- htdocs/install/mysql/data/llx_c_holiday_type.sql | 2 +- htdocs/install/mysql/data/llx_c_incoterms.sql | 2 +- htdocs/install/mysql/data/llx_c_input_method.sql | 2 +- htdocs/install/mysql/data/llx_c_paiement.sql | 2 +- htdocs/install/mysql/data/llx_c_paper_format.sql | 2 +- htdocs/install/mysql/data/llx_c_payment_term.sql | 2 +- htdocs/install/mysql/data/llx_c_propalst.sql | 2 +- htdocs/install/mysql/data/llx_c_prospectlevel.sql | 2 +- htdocs/install/mysql/data/llx_c_shipment_mode.sql | 2 +- htdocs/install/mysql/data/llx_c_stcomm.sql | 2 +- htdocs/install/mysql/data/llx_c_tva.sql | 2 +- htdocs/install/mysql/data/llx_c_type_contact.sql | 2 +- htdocs/install/mysql/data/llx_c_type_container.sql | 2 +- htdocs/install/mysql/data/llx_c_type_fees.sql | 2 +- htdocs/install/mysql/data/llx_c_type_resource.sql | 2 +- htdocs/install/mysql/data/llx_c_typent.sql | 2 +- htdocs/install/mysql/data/llx_const.sql | 2 +- htdocs/install/mysql/tables/llx_actioncomm.key.sql | 2 +- htdocs/install/mysql/tables/llx_actioncomm.sql | 2 +- htdocs/install/mysql/tables/llx_adherent.key.sql | 2 +- htdocs/install/mysql/tables/llx_adherent.sql | 2 +- htdocs/install/mysql/tables/llx_adherent_extrafields.key.sql | 2 +- htdocs/install/mysql/tables/llx_adherent_extrafields.sql | 2 +- htdocs/install/mysql/tables/llx_adherent_type.key.sql | 2 +- htdocs/install/mysql/tables/llx_adherent_type.sql | 2 +- htdocs/install/mysql/tables/llx_bank_account.key.sql | 2 +- htdocs/install/mysql/tables/llx_bank_account.sql | 2 +- htdocs/install/mysql/tables/llx_bank_categ.sql | 2 +- htdocs/install/mysql/tables/llx_bordereau_cheque.key.sql | 2 +- htdocs/install/mysql/tables/llx_bordereau_cheque.sql | 2 +- htdocs/install/mysql/tables/llx_boxes.key.sql | 2 +- htdocs/install/mysql/tables/llx_boxes.sql | 2 +- htdocs/install/mysql/tables/llx_boxes_def.key.sql | 2 +- htdocs/install/mysql/tables/llx_boxes_def.sql | 2 +- htdocs/install/mysql/tables/llx_c_action_trigger.key.sql | 2 +- htdocs/install/mysql/tables/llx_c_action_trigger.sql | 2 +- htdocs/install/mysql/tables/llx_c_barcode_type.key.sql | 2 +- htdocs/install/mysql/tables/llx_c_barcode_type.sql | 2 +- htdocs/install/mysql/tables/llx_c_currencies.sql | 2 +- htdocs/install/mysql/tables/llx_c_ecotaxe.sql | 2 +- htdocs/install/mysql/tables/llx_c_field_list.sql | 2 +- htdocs/install/mysql/tables/llx_c_paiement.key.sql | 2 +- htdocs/install/mysql/tables/llx_c_paiement.sql | 2 +- htdocs/install/mysql/tables/llx_c_paper_format.sql | 2 +- htdocs/install/mysql/tables/llx_c_payment_term.key.sql | 2 +- htdocs/install/mysql/tables/llx_c_payment_term.sql | 2 +- htdocs/install/mysql/tables/llx_c_ziptown.key.sql | 2 +- htdocs/install/mysql/tables/llx_c_ziptown.sql | 2 +- htdocs/install/mysql/tables/llx_categorie.key.sql | 2 +- htdocs/install/mysql/tables/llx_categorie.sql | 2 +- htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql | 2 +- htdocs/install/mysql/tables/llx_categorie_fournisseur.sql | 2 +- htdocs/install/mysql/tables/llx_categorie_lang.sql | 2 +- htdocs/install/mysql/tables/llx_chargesociales.sql | 2 +- htdocs/install/mysql/tables/llx_commande.key.sql | 2 +- htdocs/install/mysql/tables/llx_commande.sql | 2 +- htdocs/install/mysql/tables/llx_commande_fournisseur.key.sql | 2 +- htdocs/install/mysql/tables/llx_commande_fournisseur.sql | 2 +- .../mysql/tables/llx_commande_fournisseur_extrafields.sql | 2 +- .../mysql/tables/llx_commande_fournisseurdet_extrafields.sql | 2 +- htdocs/install/mysql/tables/llx_commandedet.key.sql | 2 +- htdocs/install/mysql/tables/llx_commandedet.sql | 2 +- .../install/mysql/tables/llx_commandedet_extrafields.key.sql | 2 +- htdocs/install/mysql/tables/llx_const.sql | 2 +- htdocs/install/mysql/tables/llx_contrat.key.sql | 2 +- htdocs/install/mysql/tables/llx_contrat.sql | 2 +- htdocs/install/mysql/tables/llx_contratdet.key.sql | 2 +- htdocs/install/mysql/tables/llx_deplacement.sql | 2 +- htdocs/install/mysql/tables/llx_document_model.key.sql | 2 +- htdocs/install/mysql/tables/llx_document_model.sql | 2 +- htdocs/install/mysql/tables/llx_don.sql | 2 +- htdocs/install/mysql/tables/llx_ecm_directories.key.sql | 2 +- htdocs/install/mysql/tables/llx_ecm_directories.sql | 2 +- htdocs/install/mysql/tables/llx_entrepot.key.sql | 2 +- htdocs/install/mysql/tables/llx_events.sql | 2 +- htdocs/install/mysql/tables/llx_expedition.key.sql | 2 +- htdocs/install/mysql/tables/llx_expedition.sql | 2 +- htdocs/install/mysql/tables/llx_expeditiondet.key.sql | 2 +- htdocs/install/mysql/tables/llx_expeditiondet.sql | 2 +- htdocs/install/mysql/tables/llx_expensereport.key.sql | 2 +- htdocs/install/mysql/tables/llx_export_model.key.sql | 2 +- htdocs/install/mysql/tables/llx_export_model.sql | 2 +- htdocs/install/mysql/tables/llx_extrafields.key.sql | 2 +- htdocs/install/mysql/tables/llx_extrafields.sql | 2 +- htdocs/install/mysql/tables/llx_facture.key.sql | 2 +- htdocs/install/mysql/tables/llx_facture.sql | 2 +- htdocs/install/mysql/tables/llx_facture_fourn.key.sql | 2 +- htdocs/install/mysql/tables/llx_facture_fourn.sql | 2 +- htdocs/install/mysql/tables/llx_facture_rec.key.sql | 2 +- htdocs/install/mysql/tables/llx_facture_rec.sql | 2 +- htdocs/install/mysql/tables/llx_facturedet.key.sql | 2 +- htdocs/install/mysql/tables/llx_facturedet.sql | 2 +- htdocs/install/mysql/tables/llx_facturedet_rec.key.sql | 2 +- htdocs/install/mysql/tables/llx_facturedet_rec.sql | 2 +- htdocs/install/mysql/tables/llx_fichinter.sql | 2 +- htdocs/install/mysql/tables/llx_fichinter_rec.key.sql | 2 +- htdocs/install/mysql/tables/llx_fichinter_rec.sql | 2 +- htdocs/install/mysql/tables/llx_fichinterdet.key.sql | 2 +- htdocs/install/mysql/tables/llx_fichinterdet.sql | 2 +- htdocs/install/mysql/tables/llx_fichinterdet_rec.sql | 2 +- htdocs/install/mysql/tables/llx_holiday.key.sql | 2 +- htdocs/install/mysql/tables/llx_livraison.key.sql | 2 +- htdocs/install/mysql/tables/llx_livraison.sql | 2 +- htdocs/install/mysql/tables/llx_livraisondet.key.sql | 2 +- htdocs/install/mysql/tables/llx_livraisondet.sql | 2 +- htdocs/install/mysql/tables/llx_localtax.sql | 2 +- htdocs/install/mysql/tables/llx_mailing.sql | 2 +- htdocs/install/mysql/tables/llx_mailing_cibles.sql | 2 +- htdocs/install/mysql/tables/llx_menu.key.sql | 2 +- htdocs/install/mysql/tables/llx_menu.sql | 2 +- htdocs/install/mysql/tables/llx_paiement.sql | 2 +- htdocs/install/mysql/tables/llx_prelevement_bons.key.sql | 2 +- htdocs/install/mysql/tables/llx_prelevement_bons.sql | 2 +- htdocs/install/mysql/tables/llx_product.key.sql | 2 +- htdocs/install/mysql/tables/llx_product.sql | 2 +- htdocs/install/mysql/tables/llx_product_customer_price.sql | 2 +- .../mysql/tables/llx_product_fournisseur_price.key.sql | 2 +- htdocs/install/mysql/tables/llx_product_fournisseur_price.sql | 2 +- htdocs/install/mysql/tables/llx_product_lang.key.sql | 2 +- htdocs/install/mysql/tables/llx_product_lang.sql | 2 +- htdocs/install/mysql/tables/llx_product_price.sql | 2 +- htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql | 2 +- htdocs/install/mysql/tables/llx_product_price_by_qty.sql | 2 +- htdocs/install/mysql/tables/llx_projet.key.sql | 2 +- htdocs/install/mysql/tables/llx_projet.sql | 2 +- htdocs/install/mysql/tables/llx_projet_task.key.sql | 2 +- htdocs/install/mysql/tables/llx_projet_task.sql | 2 +- htdocs/install/mysql/tables/llx_propal.key.sql | 2 +- htdocs/install/mysql/tables/llx_propal.sql | 2 +- htdocs/install/mysql/tables/llx_propaldet.key.sql | 2 +- htdocs/install/mysql/tables/llx_propaldet.sql | 2 +- htdocs/install/mysql/tables/llx_rights_def.key.sql | 2 +- htdocs/install/mysql/tables/llx_rights_def.sql | 2 +- htdocs/install/mysql/tables/llx_societe.sql | 2 +- htdocs/install/mysql/tables/llx_societe_address.sql | 2 +- htdocs/install/mysql/tables/llx_societe_remise.sql | 2 +- htdocs/install/mysql/tables/llx_societe_remise_supplier.sql | 2 +- htdocs/install/mysql/tables/llx_societe_rib.sql | 2 +- htdocs/install/mysql/tables/llx_socpeople.sql | 2 +- htdocs/install/mysql/tables/llx_supplier_proposaldet.key.sql | 2 +- htdocs/install/mysql/tables/llx_tva.sql | 2 +- htdocs/install/mysql/tables/llx_user.key.sql | 2 +- htdocs/install/mysql/tables/llx_user.sql | 2 +- htdocs/install/mysql/tables/llx_user_extrafields.key.sql | 2 +- htdocs/install/mysql/tables/llx_user_extrafields.sql | 2 +- htdocs/install/mysql/tables/llx_user_param.key.sql | 2 +- htdocs/install/mysql/tables/llx_user_param.sql | 2 +- htdocs/install/mysql/tables/llx_user_rights.key.sql | 2 +- htdocs/install/mysql/tables/llx_user_rights.sql | 2 +- htdocs/install/mysql/tables/llx_usergroup.key.sql | 2 +- htdocs/install/mysql/tables/llx_usergroup.sql | 2 +- htdocs/install/mysql/tables/llx_usergroup_rights.key.sql | 2 +- htdocs/install/mysql/tables/llx_usergroup_rights.sql | 2 +- htdocs/install/mysql/tables/llx_usergroup_user.key.sql | 2 +- htdocs/install/mysql/tables/llx_usergroup_user.sql | 2 +- htdocs/install/repair.php | 2 +- htdocs/install/step1.php | 2 +- htdocs/install/step5.php | 2 +- htdocs/install/upgrade.php | 2 +- htdocs/install/upgrade2.php | 2 +- htdocs/livraison/card.php | 2 +- htdocs/livraison/class/livraison.class.php | 2 +- htdocs/loan/note.php | 2 +- htdocs/mailmanspip/class/mailmanspip.class.php | 2 +- htdocs/main.inc.php | 2 +- htdocs/master.inc.php | 2 +- htdocs/modulebuilder/template/mymoduleindex.php | 2 +- htdocs/opensurvey/css/style.css | 2 +- htdocs/opensurvey/wizard/index.php | 2 +- htdocs/paybox/lib/paybox.lib.php | 2 +- htdocs/paypal/admin/paypal.php | 2 +- htdocs/paypal/lib/paypal.lib.php | 2 +- htdocs/paypal/lib/paypalfunctions.lib.php | 2 +- htdocs/product/admin/product.php | 2 +- htdocs/product/admin/product_extrafields.php | 2 +- htdocs/product/admin/product_lot_extrafields.php | 2 +- htdocs/product/admin/product_tools.php | 2 +- htdocs/product/agenda.php | 2 +- htdocs/product/ajax/products.php | 2 +- htdocs/product/canvas/product/actions_card_product.class.php | 2 +- htdocs/product/canvas/product/tpl/card_create.tpl.php | 2 +- htdocs/product/canvas/product/tpl/card_edit.tpl.php | 2 +- htdocs/product/canvas/product/tpl/card_view.tpl.php | 2 +- htdocs/product/canvas/service/actions_card_service.class.php | 2 +- htdocs/product/canvas/service/tpl/card_create.tpl.php | 2 +- htdocs/product/canvas/service/tpl/card_edit.tpl.php | 2 +- htdocs/product/canvas/service/tpl/card_view.tpl.php | 2 +- htdocs/product/card.php | 2 +- htdocs/product/class/product.class.php | 2 +- htdocs/product/composition/card.php | 2 +- htdocs/product/document.php | 2 +- htdocs/product/fournisseurs.php | 2 +- htdocs/product/index.php | 2 +- htdocs/product/list.php | 2 +- htdocs/product/note.php | 2 +- htdocs/product/popuprop.php | 2 +- htdocs/product/price.php | 2 +- htdocs/product/reassort.php | 2 +- htdocs/product/reassortlot.php | 2 +- htdocs/product/stats/card.php | 2 +- htdocs/product/stats/commande.php | 2 +- htdocs/product/stats/commande_fournisseur.php | 2 +- htdocs/product/stats/contrat.php | 2 +- htdocs/product/stats/facture.php | 2 +- htdocs/product/stats/facture_fournisseur.php | 2 +- htdocs/product/stats/propal.php | 2 +- htdocs/product/stats/supplier_proposal.php | 2 +- htdocs/product/stock/card.php | 2 +- htdocs/product/stock/class/entrepot.class.php | 2 +- htdocs/product/stock/index.php | 2 +- htdocs/product/stock/list.php | 2 +- htdocs/product/stock/massstockmove.php | 2 +- htdocs/product/stock/movement_list.php | 2 +- htdocs/product/stock/product.php | 2 +- htdocs/product/stock/productlot_document.php | 2 +- htdocs/product/stock/replenish.php | 2 +- htdocs/product/stock/replenishorders.php | 2 +- htdocs/product/stock/valo.php | 2 +- htdocs/product/traduction.php | 2 +- htdocs/projet/activity/index.php | 2 +- htdocs/projet/activity/perday.php | 2 +- htdocs/projet/activity/perweek.php | 2 +- htdocs/projet/admin/project.php | 2 +- htdocs/projet/admin/project_extrafields.php | 2 +- htdocs/projet/admin/project_task_extrafields.php | 2 +- htdocs/projet/ajax/projects.php | 2 +- htdocs/projet/card.php | 2 +- htdocs/projet/class/project.class.php | 2 +- htdocs/projet/class/task.class.php | 2 +- htdocs/projet/comment.php | 2 +- htdocs/projet/contact.php | 2 +- htdocs/projet/document.php | 2 +- htdocs/projet/element.php | 2 +- htdocs/projet/ganttview.php | 2 +- htdocs/projet/index.php | 2 +- htdocs/projet/info.php | 2 +- htdocs/projet/list.php | 2 +- htdocs/projet/note.php | 2 +- htdocs/projet/tasks.php | 2 +- htdocs/projet/tasks/comment.php | 2 +- htdocs/projet/tasks/contact.php | 2 +- htdocs/projet/tasks/document.php | 2 +- htdocs/projet/tasks/list.php | 2 +- htdocs/projet/tasks/note.php | 2 +- htdocs/projet/tasks/task.php | 2 +- htdocs/projet/tasks/time.php | 2 +- htdocs/public/cron/cron_run_jobs.php | 2 +- htdocs/public/demo/index.php | 2 +- htdocs/public/members/new.php | 2 +- htdocs/public/members/public_card.php | 2 +- htdocs/public/members/public_list.php | 2 +- htdocs/public/onlinesign/newonlinesign.php | 2 +- htdocs/public/paybox/newpayment.php | 2 +- htdocs/public/payment/newpayment.php | 2 +- htdocs/public/payment/paymentko.php | 2 +- htdocs/public/payment/paymentok.php | 2 +- htdocs/public/paypal/newpayment.php | 2 +- htdocs/public/paypal/paymentko.php | 2 +- htdocs/public/paypal/paymentok.php | 2 +- htdocs/resource/agenda.php | 2 +- htdocs/resource/contact.php | 2 +- htdocs/resource/document.php | 2 +- htdocs/resource/note.php | 2 +- htdocs/societe/admin/contact_extrafields.php | 2 +- htdocs/societe/admin/societe.php | 2 +- htdocs/societe/admin/societe_extrafields.php | 2 +- htdocs/societe/agenda.php | 2 +- htdocs/societe/ajax/company.php | 2 +- htdocs/societe/ajaxcompanies.php | 2 +- htdocs/societe/ajaxcountries.php | 2 +- htdocs/societe/canvas/actions_card_common.class.php | 2 +- htdocs/societe/canvas/company/actions_card_company.class.php | 2 +- htdocs/societe/canvas/company/tpl/card_create.tpl.php | 2 +- htdocs/societe/canvas/company/tpl/card_edit.tpl.php | 2 +- htdocs/societe/canvas/company/tpl/card_view.tpl.php | 2 +- .../canvas/individual/actions_card_individual.class.php | 2 +- htdocs/societe/canvas/individual/tpl/card_create.tpl.php | 2 +- htdocs/societe/canvas/individual/tpl/card_edit.tpl.php | 2 +- htdocs/societe/canvas/individual/tpl/card_view.tpl.php | 2 +- htdocs/societe/card.php | 2 +- htdocs/societe/class/address.class.php | 2 +- htdocs/societe/class/client.class.php | 2 +- htdocs/societe/class/companybankaccount.class.php | 2 +- htdocs/societe/class/societe.class.php | 2 +- htdocs/societe/contact.php | 2 +- htdocs/societe/document.php | 2 +- htdocs/societe/index.php | 2 +- htdocs/societe/list.php | 2 +- htdocs/societe/note.php | 2 +- htdocs/societe/paymentmodes.php | 2 +- htdocs/societe/price.php | 2 +- htdocs/societe/project.php | 2 +- htdocs/societe/societecontact.php | 2 +- htdocs/societe/website.php | 2 +- htdocs/stripe/class/actions_stripe.class.php | 2 +- htdocs/stripe/payment.php | 2 +- .../supplier_proposal/admin/supplier_proposal_extrafields.php | 2 +- .../admin/supplier_proposaldet_extrafields.php | 2 +- htdocs/supplier_proposal/card.php | 2 +- htdocs/supplier_proposal/class/supplier_proposal.class.php | 2 +- htdocs/supplier_proposal/contact.php | 2 +- htdocs/supplier_proposal/document.php | 2 +- htdocs/supplier_proposal/index.php | 2 +- htdocs/supplier_proposal/info.php | 2 +- htdocs/supplier_proposal/list.php | 2 +- htdocs/supplier_proposal/note.php | 2 +- htdocs/supplier_proposal/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/support/index.php | 2 +- htdocs/takepos/admin/orderprinters.php | 2 +- htdocs/takepos/customers.php | 2 +- htdocs/theme/eldy/style.css.php | 2 +- htdocs/theme/md/style.css.php | 2 +- htdocs/ticket/contact.php | 2 +- htdocs/ticket/document.php | 2 +- htdocs/ticket/list.php | 2 +- htdocs/ticket/tpl/linkedobjectblock.tpl.php | 2 +- htdocs/user/admin/group_extrafields.php | 2 +- htdocs/user/admin/user_extrafields.php | 2 +- htdocs/user/bank.php | 2 +- htdocs/user/card.php | 2 +- htdocs/user/class/user.class.php | 2 +- htdocs/user/class/userbankaccount.class.php | 2 +- htdocs/user/class/usergroup.class.php | 2 +- htdocs/user/clicktodial.php | 2 +- htdocs/user/document.php | 2 +- htdocs/user/group/card.php | 2 +- htdocs/user/group/ldap.php | 2 +- htdocs/user/group/list.php | 2 +- htdocs/user/group/perms.php | 2 +- htdocs/user/hierarchy.php | 2 +- htdocs/user/home.php | 2 +- htdocs/user/info.php | 2 +- htdocs/user/ldap.php | 2 +- htdocs/user/list.php | 2 +- htdocs/user/logout.php | 2 +- htdocs/user/note.php | 2 +- htdocs/user/param_ihm.php | 2 +- htdocs/user/passwordforgotten.php | 2 +- htdocs/user/perms.php | 2 +- htdocs/viewimage.php | 2 +- htdocs/webservices/admin/index.php | 2 +- htdocs/webservices/index.php | 2 +- htdocs/webservices/server_order.php | 2 +- scripts/emailings/mailing-send.php | 2 +- scripts/members/sync_members_types_dolibarr2ldap.php | 2 +- scripts/members/sync_members_types_ldap2dolibarr.php | 2 +- test/phpunit/AllTests.php | 2 +- test/phpunit/BuildDocTest.php | 2 +- test/phpunit/FilesLibTest.php | 2 +- test/phpunit/GetUrlLibTest.php | 2 +- test/phpunit/ImagesLibTest.php | 2 +- 1021 files changed, 1022 insertions(+), 1022 deletions(-) diff --git a/.mailmap b/.mailmap index 3aadbbedfca..436b557ee63 100644 --- a/.mailmap +++ b/.mailmap @@ -6,8 +6,8 @@ Laurent Destailleur eldy Laurent Destailleur Laurent Destailleur Laurent Destailleur eldy10 Laurent Destailleur Laurent Destailleur -Regis Houssin Regis Houssin -Regis Houssin Régis Houssin +Regis Houssin Regis Houssin +Regis Houssin Régis Houssin Juanjo Menent simnandez Juanjo Menent Juanjo Menent Juanjo Menent Simnandez diff --git a/build/debian/copyright b/build/debian/copyright index 8207df4b6d7..72e531d7007 100644 --- a/build/debian/copyright +++ b/build/debian/copyright @@ -8,7 +8,7 @@ Copyright: 2002-2009, Rodolphe Quiedeville 2003-2006, Jean-Louis Bergamo 2003-2013, Laurent Destailleur 2003, Xavier Dutoit - 2004-2013, Regis Houssin + 2004-2013, Regis Houssin 2004, Sebastien Di Cintio 2004, Benoit Mortier 2004, Christophe Combelles diff --git a/dev/initdemo/initdemo.sh b/dev/initdemo/initdemo.sh index 2e49327ae1d..0091a61d300 100755 --- a/dev/initdemo/initdemo.sh +++ b/dev/initdemo/initdemo.sh @@ -6,7 +6,7 @@ # WARNING: This script erase all data of database # with data into dump file # -# Regis Houssin - regis.houssin@capnetworks.com +# Regis Houssin - regis.houssin@inodbox.com # Laurent Destailleur - eldy@users.sourceforge.net #------------------------------------------------------ # Usage: initdemo.sh diff --git a/dev/initdemo/removeconfdemo.sh b/dev/initdemo/removeconfdemo.sh index de297fd1808..b5f76c45205 100755 --- a/dev/initdemo/removeconfdemo.sh +++ b/dev/initdemo/removeconfdemo.sh @@ -3,7 +3,7 @@ # Script to remove setup of a Dolibarr installation. # Note: "dialog" tool need to be available. # -# Regis Houssin - regis.houssin@capnetworks.com +# Regis Houssin - regis.houssin@inodbox.com # Laurent Destailleur - eldy@users.sourceforge.net #------------------------------------------------------ # WARNING: This script erase setup of instance, diff --git a/dev/initdemo/savedemo.sh b/dev/initdemo/savedemo.sh index 20aebb29b28..90b99995585 100755 --- a/dev/initdemo/savedemo.sh +++ b/dev/initdemo/savedemo.sh @@ -3,7 +3,7 @@ # Script to extrac a database with demo values. # Note: "dialog" tool need to be available if no parameter provided. # -# Regis Houssin - regis.houssin@capnetworks.com +# Regis Houssin - regis.houssin@inodbox.com # Laurent Destailleur - eldy@users.sourceforge.net #------------------------------------------------------ # Usage: savedemo.sh diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index d3843763732..db21cd62192 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand * Copyright (C) 2011 Remy Younes diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 3b86835e927..4b8c4ce3c22 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2007-2010 Jean Heimburger * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013-2018 Alexandre Spangaro * Copyright (C) 2013-2014 Florian Henry diff --git a/htdocs/accountancy/journal/expensereportsjournal.php b/htdocs/accountancy/journal/expensereportsjournal.php index 9c39016f008..197d18f2380 100644 --- a/htdocs/accountancy/journal/expensereportsjournal.php +++ b/htdocs/accountancy/journal/expensereportsjournal.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2007-2010 Jean Heimburger * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013-2018 Alexandre Spangaro * Copyright (C) 2013-2016 Olivier Geffroy * Copyright (C) 2013-2016 Florian Henry diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php index beb9891276f..7984443d906 100644 --- a/htdocs/accountancy/journal/purchasesjournal.php +++ b/htdocs/accountancy/journal/purchasesjournal.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2007-2010 Jean Heimburger * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013-2017 Alexandre Spangaro * Copyright (C) 2013-2016 Olivier Geffroy * Copyright (C) 2013-2016 Florian Henry diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index ee7d45d6c66..f3a3246c1ea 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2007-2010 Jean Heimburger * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013-2018 Alexandre Spangaro * Copyright (C) 2013-2016 Florian Henry diff --git a/htdocs/adherents/admin/adherent.php b/htdocs/adherents/admin/adherent.php index ba43b6d47a6..cb1fdfac816 100644 --- a/htdocs/adherents/admin/adherent.php +++ b/htdocs/adherents/admin/adherent.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2012 J. Fernando Lagrange * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/adherents/admin/adherent_emails.php b/htdocs/adherents/admin/adherent_emails.php index 60e0b2c3b48..feeb48eb1c3 100644 --- a/htdocs/adherents/admin/adherent_emails.php +++ b/htdocs/adherents/admin/adherent_emails.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2012 J. Fernando Lagrange * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/adherents/admin/adherent_extrafields.php b/htdocs/adherents/admin/adherent_extrafields.php index 0ec1968ab34..81896a12490 100644 --- a/htdocs/adherents/admin/adherent_extrafields.php +++ b/htdocs/adherents/admin/adherent_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/adherents/admin/adherent_type_extrafields.php b/htdocs/adherents/admin/adherent_type_extrafields.php index 3a5226d00f4..ab9815a8057 100644 --- a/htdocs/adherents/admin/adherent_type_extrafields.php +++ b/htdocs/adherents/admin/adherent_type_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/adherents/admin/website.php b/htdocs/adherents/admin/website.php index 91df8e59ea5..51aca179195 100644 --- a/htdocs/adherents/admin/website.php +++ b/htdocs/adherents/admin/website.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2015 Laurent Destailleur - * Copyright (C) 2006-2012 Regis Houssin + * Copyright (C) 2006-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/agenda.php b/htdocs/adherents/agenda.php index f22070107ca..f13efd96300 100644 --- a/htdocs/adherents/agenda.php +++ b/htdocs/adherents/agenda.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Brice Davoleau - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/adherents/canvas/actions_adherentcard_common.class.php b/htdocs/adherents/canvas/actions_adherentcard_common.class.php index b84534af37a..d4c7147da57 100644 --- a/htdocs/adherents/canvas/actions_adherentcard_common.class.php +++ b/htdocs/adherents/canvas/actions_adherentcard_common.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2012 Philippe Grand * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php b/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php index c841f83b297..5ead332bf5f 100644 --- a/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php +++ b/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2011 Laurent Destailleur * Copyright (C) 2012-2018 Philippe Grand * diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php index 81f34706966..99174e7770b 100644 --- a/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2012 Philippe Grand * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php index 4a699b75a22..a0331fee35e 100644 --- a/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2012 Philippe Grand * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php index f19ba96c167..14439bb6e87 100644 --- a/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2012 Philippe Grand * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index e7b36b77ad9..0d50564253f 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2002-2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2012-2018 Philippe Grand * Copyright (C) 2015-2016 Alexandre Spangaro diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 3df36ef3eda..e02517fc3d5 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2009-2017 Regis Houssin + * Copyright (C) 2009-2017 Regis Houssin * Copyright (C) 2014-2016 Alexandre Spangaro * Copyright (C) 2015 Marcos García * Copyright (C) 2015-2018 Frédéric France diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 20a85c7bf3e..984cf49d44d 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2009-2017 Regis Houssin + * Copyright (C) 2009-2017 Regis Houssin * Copyright (C) 2016 Charlie Benke * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/class/adherentstats.class.php b/htdocs/adherents/class/adherentstats.class.php index eb722b987a9..310a40c52b3 100644 --- a/htdocs/adherents/class/adherentstats.class.php +++ b/htdocs/adherents/class/adherentstats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2011 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/adherents/class/api_members.class.php b/htdocs/adherents/class/api_members.class.php index 8591dd13195..2da35df7e2c 100644 --- a/htdocs/adherents/class/api_members.class.php +++ b/htdocs/adherents/class/api_members.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/adherents/class/api_memberstypes.class.php b/htdocs/adherents/class/api_memberstypes.class.php index ecf7f45d371..e82b126529b 100644 --- a/htdocs/adherents/class/api_memberstypes.class.php +++ b/htdocs/adherents/class/api_memberstypes.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/adherents/document.php b/htdocs/adherents/document.php index 7e46b7864f8..e8d80898041 100644 --- a/htdocs/adherents/document.php +++ b/htdocs/adherents/document.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013 Cédric Salvador * diff --git a/htdocs/adherents/index.php b/htdocs/adherents/index.php index 931e9323904..c7a1e665b11 100644 --- a/htdocs/adherents/index.php +++ b/htdocs/adherents/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/adherents/ldap.php b/htdocs/adherents/ldap.php index 5b830623a4b..f45042d6581 100644 --- a/htdocs/adherents/ldap.php +++ b/htdocs/adherents/ldap.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Regis Houssin + * Copyright (C) 2006-2017 Regis Houssin * * 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 diff --git a/htdocs/adherents/stats/index.php b/htdocs/adherents/stats/index.php index 69958f60d76..feebd776d94 100644 --- a/htdocs/adherents/stats/index.php +++ b/htdocs/adherents/stats/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/adherents/subscription.php b/htdocs/adherents/subscription.php index 9c505477309..5f7abe63253 100644 --- a/htdocs/adherents/subscription.php +++ b/htdocs/adherents/subscription.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2002-2003 Jean-Louis Bergamo * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2012-2017 Regis Houssin + * Copyright (C) 2012-2017 Regis Houssin * Copyright (C) 2015-2016 Alexandre Spangaro * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/adherents/subscription/info.php b/htdocs/adherents/subscription/info.php index eb8f8e4eab3..a792da530f1 100644 --- a/htdocs/adherents/subscription/info.php +++ b/htdocs/adherents/subscription/info.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2006 Regis Houssin + * Copyright (C) 2005-2006 Regis Houssin * * 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 diff --git a/htdocs/adherents/tpl/linkedobjectblock.tpl.php b/htdocs/adherents/tpl/linkedobjectblock.tpl.php index a3033ec090d..eec61e3ba22 100644 --- a/htdocs/adherents/tpl/linkedobjectblock.tpl.php +++ b/htdocs/adherents/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index 7e69d4fbc98..cb123294764 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Alexandre Spangaro * diff --git a/htdocs/adherents/type_ldap.php b/htdocs/adherents/type_ldap.php index c18074130aa..3cd57e43390 100644 --- a/htdocs/adherents/type_ldap.php +++ b/htdocs/adherents/type_ldap.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Regis Houssin + * Copyright (C) 2006-2017 Regis Houssin * * 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 diff --git a/htdocs/admin/agenda.php b/htdocs/admin/agenda.php index 7f41927b478..1c6e5c16fcf 100644 --- a/htdocs/admin/agenda.php +++ b/htdocs/admin/agenda.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/admin/agenda_extrafields.php b/htdocs/admin/agenda_extrafields.php index 887fba847e4..29323020325 100644 --- a/htdocs/admin/agenda_extrafields.php +++ b/htdocs/admin/agenda_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index 8215bdbe0b1..2a370cdf580 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * Copyright (C) 2011-2017 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2016 Charlie Benke diff --git a/htdocs/admin/agenda_xcal.php b/htdocs/admin/agenda_xcal.php index d76d95da47a..d55a3713ae1 100644 --- a/htdocs/admin/agenda_xcal.php +++ b/htdocs/admin/agenda_xcal.php @@ -1,7 +1,7 @@ * Copyright (C) 2012-2013 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/bank_extrafields.php b/htdocs/admin/bank_extrafields.php index 3b95c158f27..f6a729743cf 100644 --- a/htdocs/admin/bank_extrafields.php +++ b/htdocs/admin/bank_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2014 Florian Henry * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index 6a356843d6b..431d93e2a96 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index 9f3453f7587..c0480bb7e50 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index 64df9194197..d4d7b789974 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Andre Cianfarani - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2011-2016 Philippe Grand diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index cc564bfb08e..96a7b533095 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2011-2017 Philippe Grand * Copyright (C) 2015 Alexandre Spangaro diff --git a/htdocs/admin/compta.php b/htdocs/admin/compta.php index 214c30dc544..86d96227f3c 100644 --- a/htdocs/admin/compta.php +++ b/htdocs/admin/compta.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2013-2017 Philippe Grand * Copyright (C) 2014 Marcos García diff --git a/htdocs/admin/confexped.php b/htdocs/admin/confexped.php index 9e6745e6c29..660f7c7c500 100644 --- a/htdocs/admin/confexped.php +++ b/htdocs/admin/confexped.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2011-2016 Juanjo Menent ù * Copyright (C) 2015 Claudio Aschieri diff --git a/htdocs/admin/const.php b/htdocs/admin/const.php index be5f785f9e4..cfda870e9da 100644 --- a/htdocs/admin/const.php +++ b/htdocs/admin/const.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/defaultvalues.php b/htdocs/admin/defaultvalues.php index 4d75ab44235..f7a2a031dbf 100644 --- a/htdocs/admin/defaultvalues.php +++ b/htdocs/admin/defaultvalues.php @@ -1,6 +1,6 @@ - * Copyright (C) 2017-2018 Regis Houssin + * Copyright (C) 2017-2018 Regis Houssin * * 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 diff --git a/htdocs/admin/delais.php b/htdocs/admin/delais.php index add4e2aec80..a48be10b4e0 100644 --- a/htdocs/admin/delais.php +++ b/htdocs/admin/delais.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Simon Tosser - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2016 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 4d5471b1aa8..c572b8abe8b 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2018 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2011-2015 Philippe Grand * Copyright (C) 2011 Remy Younes diff --git a/htdocs/admin/expedition.php b/htdocs/admin/expedition.php index c851010635e..2ae3a7cad99 100644 --- a/htdocs/admin/expedition.php +++ b/htdocs/admin/expedition.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand * diff --git a/htdocs/admin/expedition_extrafields.php b/htdocs/admin/expedition_extrafields.php index b7c8ddffa71..87682fe7514 100644 --- a/htdocs/admin/expedition_extrafields.php +++ b/htdocs/admin/expedition_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2015 Claudio Aschieri diff --git a/htdocs/admin/expeditiondet_extrafields.php b/htdocs/admin/expeditiondet_extrafields.php index cc5a9bddfa5..e533ca64ac3 100644 --- a/htdocs/admin/expeditiondet_extrafields.php +++ b/htdocs/admin/expeditiondet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php index 78287f71eab..f8429069611 100644 --- a/htdocs/admin/expensereport.php +++ b/htdocs/admin/expensereport.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand diff --git a/htdocs/admin/expensereport_extrafields.php b/htdocs/admin/expensereport_extrafields.php index 3fedf935405..99de68e9e14 100644 --- a/htdocs/admin/expensereport_extrafields.php +++ b/htdocs/admin/expensereport_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * diff --git a/htdocs/admin/export.php b/htdocs/admin/export.php index 292c3604799..c4ad077296a 100644 --- a/htdocs/admin/export.php +++ b/htdocs/admin/export.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand * diff --git a/htdocs/admin/external_rss.php b/htdocs/admin/external_rss.php index 970971c8d29..048d002a3b7 100644 --- a/htdocs/admin/external_rss.php +++ b/htdocs/admin/external_rss.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index 5cb093cc443..46a11e363fd 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2012-2013 Juanjo Menent * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index bed1d4d9bcb..8751d906918 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012-20113 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/fichinter.php b/htdocs/admin/fichinter.php index c714c0c6c1b..7fd349363e1 100644 --- a/htdocs/admin/fichinter.php +++ b/htdocs/admin/fichinter.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 8861d1abb68..e2168ec2d76 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2016 Juanjo Menent * Copyright (C) 2018 Ferran Marcet * diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index 1f7b803a50e..dc21ca36daa 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php index dd85a998383..f5f5f868801 100644 --- a/htdocs/admin/ldap_contacts.php +++ b/htdocs/admin/ldap_contacts.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005 Regis Houssin + * Copyright (C) 2005 Regis Houssin * Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * diff --git a/htdocs/admin/ldap_groups.php b/htdocs/admin/ldap_groups.php index 2650fe4fe6e..247ecfb28aa 100644 --- a/htdocs/admin/ldap_groups.php +++ b/htdocs/admin/ldap_groups.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005 Regis Houssin + * Copyright (C) 2005 Regis Houssin * Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * diff --git a/htdocs/admin/ldap_members.php b/htdocs/admin/ldap_members.php index 61da334a90d..818ec5aaff6 100644 --- a/htdocs/admin/ldap_members.php +++ b/htdocs/admin/ldap_members.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2006-2008 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * diff --git a/htdocs/admin/ldap_members_types.php b/htdocs/admin/ldap_members_types.php index e845fd37adc..912d4ee3ea9 100644 --- a/htdocs/admin/ldap_members_types.php +++ b/htdocs/admin/ldap_members_types.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * diff --git a/htdocs/admin/ldap_users.php b/htdocs/admin/ldap_users.php index 87df901cfa9..934fcf8e03e 100644 --- a/htdocs/admin/ldap_users.php +++ b/htdocs/admin/ldap_users.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005 Regis Houssin + * Copyright (C) 2005 Regis Houssin * Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2011-2016 Juanjo Menent * diff --git a/htdocs/admin/limits.php b/htdocs/admin/limits.php index ca4b8fca512..6342f731347 100644 --- a/htdocs/admin/limits.php +++ b/htdocs/admin/limits.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/livraison.php b/htdocs/admin/livraison.php index 91fb9f964e4..bc82d03d8d7 100644 --- a/htdocs/admin/livraison.php +++ b/htdocs/admin/livraison.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand * Copyright (C) 2015 Claudio Aschieri diff --git a/htdocs/admin/livraison_extrafields.php b/htdocs/admin/livraison_extrafields.php index 55fe6f10362..31144581564 100644 --- a/htdocs/admin/livraison_extrafields.php +++ b/htdocs/admin/livraison_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2015 Claudio Aschieri diff --git a/htdocs/admin/livraisondet_extrafields.php b/htdocs/admin/livraisondet_extrafields.php index e70b4f2d09b..32000c67642 100644 --- a/htdocs/admin/livraisondet_extrafields.php +++ b/htdocs/admin/livraisondet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/admin/mailman.php b/htdocs/admin/mailman.php index 460a2d43abe..65c7f5e8d68 100644 --- a/htdocs/admin/mailman.php +++ b/htdocs/admin/mailman.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php index 3576ec845d1..3c6e6a14e6c 100644 --- a/htdocs/admin/mails.php +++ b/htdocs/admin/mails.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2016 Jonathan TISSEAU * diff --git a/htdocs/admin/mails_emailing.php b/htdocs/admin/mails_emailing.php index 59fc0ade0cd..7ce5add09a3 100644 --- a/htdocs/admin/mails_emailing.php +++ b/htdocs/admin/mails_emailing.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2016 Jonathan TISSEAU * diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index ab169afc096..fdda38e956d 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2018 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand * Copyright (C) 2011 Remy Younes diff --git a/htdocs/admin/menus.php b/htdocs/admin/menus.php index 09907652df0..6037304350a 100644 --- a/htdocs/admin/menus.php +++ b/htdocs/admin/menus.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 0db2d3cd6d1..4d5cc2be274 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -1,7 +1,7 @@ * Copyright (C) 2007-2012 Laurent Destailleur - * Copyright (C) 2009-2011 Regis Houssin + * Copyright (C) 2009-2011 Regis Houssin * Copyright (C) 2016 Meziane Sof * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/menus/index.php b/htdocs/admin/menus/index.php index 9d0178c956d..d7ef0c4d62b 100644 --- a/htdocs/admin/menus/index.php +++ b/htdocs/admin/menus/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2007-2012 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/menus/other.php b/htdocs/admin/menus/other.php index 7b1a73f2f09..6e5f0d77b4b 100644 --- a/htdocs/admin/menus/other.php +++ b/htdocs/admin/menus/other.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/modulehelp.php b/htdocs/admin/modulehelp.php index 13f72e7c4b3..781f1fd380b 100644 --- a/htdocs/admin/modulehelp.php +++ b/htdocs/admin/modulehelp.php @@ -1,6 +1,6 @@ - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 81eec5a4247..935ddac65ee 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Raphaël Doursenaud diff --git a/htdocs/admin/order_extrafields.php b/htdocs/admin/order_extrafields.php index 828bb13384f..789120a7da7 100644 --- a/htdocs/admin/order_extrafields.php +++ b/htdocs/admin/order_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * diff --git a/htdocs/admin/orderdet_extrafields.php b/htdocs/admin/orderdet_extrafields.php index 929e49c4ab3..d998cddb35c 100644 --- a/htdocs/admin/orderdet_extrafields.php +++ b/htdocs/admin/orderdet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index 50d8fb5b927..37c836043a0 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2012-2107 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php index db4e1f33553..e7cf64d768e 100644 --- a/htdocs/admin/perms.php +++ b/htdocs/admin/perms.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2011 Herve Prot * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index cdfcd451f2c..91d73931155 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2014 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/propal.php b/htdocs/admin/propal.php index bc91729829f..cf860cd64ba 100644 --- a/htdocs/admin/propal.php +++ b/htdocs/admin/propal.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011-2013 Juanjo Menent * diff --git a/htdocs/admin/resource_extrafields.php b/htdocs/admin/resource_extrafields.php index b8ea860ac25..41d8d91cffd 100644 --- a/htdocs/admin/resource_extrafields.php +++ b/htdocs/admin/resource_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2016 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/security.php b/htdocs/admin/security.php index 58f349ffe55..26dcdc85b8d 100644 --- a/htdocs/admin/security.php +++ b/htdocs/admin/security.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2013-2015 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/security_file.php b/htdocs/admin/security_file.php index 1b7098c55aa..87e0d6dd941 100644 --- a/htdocs/admin/security_file.php +++ b/htdocs/admin/security_file.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/security_other.php b/htdocs/admin/security_other.php index 0e3da947fa8..b1e4f745560 100644 --- a/htdocs/admin/security_other.php +++ b/htdocs/admin/security_other.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/sms.php b/htdocs/admin/sms.php index 45071117c89..84570e75e2a 100644 --- a/htdocs/admin/sms.php +++ b/htdocs/admin/sms.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/spip.php b/htdocs/admin/spip.php index d179c66d58d..02500c6d8f9 100644 --- a/htdocs/admin/spip.php +++ b/htdocs/admin/spip.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/stock.php b/htdocs/admin/stock.php index 858422c598c..2ce29bca165 100644 --- a/htdocs/admin/stock.php +++ b/htdocs/admin/stock.php @@ -1,7 +1,7 @@ * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012-2013 Juanjo Menent * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/admin/supplier_invoice.php b/htdocs/admin/supplier_invoice.php index 3db96ddd8a4..45d588fb031 100644 --- a/htdocs/admin/supplier_invoice.php +++ b/htdocs/admin/supplier_invoice.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2010-2013 Juanjo Menent diff --git a/htdocs/admin/supplier_order.php b/htdocs/admin/supplier_order.php index 72050867dfa..88cb18d5d80 100644 --- a/htdocs/admin/supplier_order.php +++ b/htdocs/admin/supplier_order.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2010-2013 Juanjo Menent diff --git a/htdocs/admin/supplier_proposal.php b/htdocs/admin/supplier_proposal.php index eeb148e9d99..056982c4d08 100644 --- a/htdocs/admin/supplier_proposal.php +++ b/htdocs/admin/supplier_proposal.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/admin/supplierinvoice_extrafields.php b/htdocs/admin/supplierinvoice_extrafields.php index bbda698a778..ee987ed83a1 100644 --- a/htdocs/admin/supplierinvoice_extrafields.php +++ b/htdocs/admin/supplierinvoice_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2013 Juanjo Menent diff --git a/htdocs/admin/supplierinvoicedet_extrafields.php b/htdocs/admin/supplierinvoicedet_extrafields.php index cdf128871fd..a9d92a4ecd0 100644 --- a/htdocs/admin/supplierinvoicedet_extrafields.php +++ b/htdocs/admin/supplierinvoicedet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Juanjo Menent diff --git a/htdocs/admin/supplierorder_extrafields.php b/htdocs/admin/supplierorder_extrafields.php index 640b6375c57..e0b7dabb942 100644 --- a/htdocs/admin/supplierorder_extrafields.php +++ b/htdocs/admin/supplierorder_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * diff --git a/htdocs/admin/supplierorderdet_extrafields.php b/htdocs/admin/supplierorderdet_extrafields.php index 65fe0537ba7..b94c78f67e8 100644 --- a/htdocs/admin/supplierorderdet_extrafields.php +++ b/htdocs/admin/supplierorderdet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2015 Claudio Aschieri diff --git a/htdocs/admin/syslog.php b/htdocs/admin/syslog.php index d9ab678faa8..14a319b8020 100644 --- a/htdocs/admin/syslog.php +++ b/htdocs/admin/syslog.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2007 Rodolphe Quiedeville * Copyright (C) 2013 Juanjo Menent * diff --git a/htdocs/admin/system/about.php b/htdocs/admin/system/about.php index ba61203191a..95edc057468 100644 --- a/htdocs/admin/system/about.php +++ b/htdocs/admin/system/about.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2007 Franky Van Liedekerke - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * * 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 diff --git a/htdocs/admin/system/browser.php b/htdocs/admin/system/browser.php index 9df49489e34..4e6aadbe4b4 100644 --- a/htdocs/admin/system/browser.php +++ b/htdocs/admin/system/browser.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2007-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/system/constall.php b/htdocs/admin/system/constall.php index d510cc07773..fef49bd5c12 100644 --- a/htdocs/admin/system/constall.php +++ b/htdocs/admin/system/constall.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * * 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 diff --git a/htdocs/admin/system/database-tables.php b/htdocs/admin/system/database-tables.php index 17d72edf20a..addeb3793c6 100644 --- a/htdocs/admin/system/database-tables.php +++ b/htdocs/admin/system/database-tables.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2005 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/system/dbtable.php b/htdocs/admin/system/dbtable.php index 392c083c382..2cf249c0f74 100644 --- a/htdocs/admin/system/dbtable.php +++ b/htdocs/admin/system/dbtable.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2005 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index 99a07c17248..a5fdb6e2660 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2007-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php index e978ac85b55..895393eec1d 100644 --- a/htdocs/admin/system/filecheck.php +++ b/htdocs/admin/system/filecheck.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2007-2012 Regis Houssin * Copyright (C) 2015 Frederic France * Copyright (C) 2017 Nicolas ZABOURI * diff --git a/htdocs/admin/system/index.php b/htdocs/admin/system/index.php index cf79ae910b3..f0d91d8cf65 100644 --- a/htdocs/admin/system/index.php +++ b/htdocs/admin/system/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/admin/system/modules.php b/htdocs/admin/system/modules.php index c70ad1b7fba..bcc952b0079 100644 --- a/htdocs/admin/system/modules.php +++ b/htdocs/admin/system/modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/system/os.php b/htdocs/admin/system/os.php index 251025a4c9e..b354402b465 100644 --- a/htdocs/admin/system/os.php +++ b/htdocs/admin/system/os.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/admin/system/phpinfo.php b/htdocs/admin/system/phpinfo.php index aa502cde421..d2fb9352042 100644 --- a/htdocs/admin/system/phpinfo.php +++ b/htdocs/admin/system/phpinfo.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2016 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/taxes.php b/htdocs/admin/taxes.php index 304f9b79bd0..76e7496cc4e 100644 --- a/htdocs/admin/taxes.php +++ b/htdocs/admin/taxes.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2015-2018 Alexandre Spangaro * diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index 4c69f2ead48..3c242e8048f 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2018 Regis Houssin + * Copyright (C) 2006-2018 Regis Houssin * * 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 diff --git a/htdocs/admin/tools/dolibarr_import.php b/htdocs/admin/tools/dolibarr_import.php index 9dc3deec5ac..90220f1bb23 100644 --- a/htdocs/admin/tools/dolibarr_import.php +++ b/htdocs/admin/tools/dolibarr_import.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2012 Regis Houssin + * Copyright (C) 2006-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/tools/index.php b/htdocs/admin/tools/index.php index aed25ae45a3..e1e1fc046c5 100644 --- a/htdocs/admin/tools/index.php +++ b/htdocs/admin/tools/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/tools/listevents.php b/htdocs/admin/tools/listevents.php index 9afe7c5fcb3..eedb22f0aa8 100644 --- a/htdocs/admin/tools/listevents.php +++ b/htdocs/admin/tools/listevents.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Bahfir Abbes * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/admin/tools/listsessions.php b/htdocs/admin/tools/listsessions.php index 8ddc1d65525..7cbb82fbe6e 100644 --- a/htdocs/admin/tools/listsessions.php +++ b/htdocs/admin/tools/listsessions.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/tools/purge.php b/htdocs/admin/tools/purge.php index 097fc507240..48968ff1d27 100644 --- a/htdocs/admin/tools/purge.php +++ b/htdocs/admin/tools/purge.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2012 Regis Houssin + * Copyright (C) 2006-2012 Regis Houssin * * 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 diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php index 1ec7c98552e..a3c6a73e711 100644 --- a/htdocs/admin/tools/update.php +++ b/htdocs/admin/tools/update.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index da26d6648cd..6b893a4a78b 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2017 Regis Houssin + * Copyright (C) 2009-2017 Regis Houssin * Copyright (C) 2017 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/user.php b/htdocs/admin/user.php index 2cf8fc5b6f3..dc0edc6302b 100644 --- a/htdocs/admin/user.php +++ b/htdocs/admin/user.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/usergroup.php b/htdocs/admin/usergroup.php index c1b55dcec6a..60c872abed8 100644 --- a/htdocs/admin/usergroup.php +++ b/htdocs/admin/usergroup.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 24a39ce827a..26b66136d76 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/api/admin/index.php b/htdocs/api/admin/index.php index 4017f3c93ac..23c4ea7f316 100644 --- a/htdocs/api/admin/index.php +++ b/htdocs/api/admin/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2005-2016 Laurent Destailleur * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2012-2018 Regis Houssin + * Copyright (C) 2012-2018 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/api/class/api_setup.class.php b/htdocs/api/class/api_setup.class.php index 60a51074d58..d3f1afa62a3 100644 --- a/htdocs/api/class/api_setup.class.php +++ b/htdocs/api/class/api_setup.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2016 Laurent Destailleur - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * Copyright (C) 2017 Neil Orley * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/api/index.php b/htdocs/api/index.php index e66a19c981a..e55a30304a4 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2016 Laurent Destailleur - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/cashdesk/affContenu.php b/htdocs/cashdesk/affContenu.php index 2a3c0279df8..11b36f09d53 100644 --- a/htdocs/cashdesk/affContenu.php +++ b/htdocs/cashdesk/affContenu.php @@ -1,7 +1,7 @@ * Copyright (C) 2008-2009 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * * 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 diff --git a/htdocs/cashdesk/affIndex.php b/htdocs/cashdesk/affIndex.php index 9ff676531f1..c06a140f550 100644 --- a/htdocs/cashdesk/affIndex.php +++ b/htdocs/cashdesk/affIndex.php @@ -1,7 +1,7 @@ * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/cashdesk/facturation_dhtml.php b/htdocs/cashdesk/facturation_dhtml.php index bcfc1e82f82..c30b5654828 100644 --- a/htdocs/cashdesk/facturation_dhtml.php +++ b/htdocs/cashdesk/facturation_dhtml.php @@ -1,7 +1,7 @@ * Copyright (C) 2008-2009 Laurent Destailleur - * Copyright (C) 2015 Regis Houssin + * Copyright (C) 2015 Regis Houssin * * 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 diff --git a/htdocs/cashdesk/javascript/dhtml.js b/htdocs/cashdesk/javascript/dhtml.js index db05855a3b2..e2000abf56e 100644 --- a/htdocs/cashdesk/javascript/dhtml.js +++ b/htdocs/cashdesk/javascript/dhtml.js @@ -1,6 +1,6 @@ /* Copyright (C) 2007-2008 Jeremie Ollivier - * Copyright (C) 2015 Regis Houssin + * Copyright (C) 2015 Regis Houssin * * 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 diff --git a/htdocs/cashdesk/tpl/facturation1.tpl.php b/htdocs/cashdesk/tpl/facturation1.tpl.php index 2ff71e2a359..3a3fcd0a6b8 100644 --- a/htdocs/cashdesk/tpl/facturation1.tpl.php +++ b/htdocs/cashdesk/tpl/facturation1.tpl.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2008 Jeremie Ollivier * Copyright (C) 2011 Laurent Destailleur * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2015 Regis Houssin + * Copyright (C) 2015 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/cashdesk/tpl/menu.tpl.php b/htdocs/cashdesk/tpl/menu.tpl.php index afe2c0da4ec..d65a39fc6aa 100644 --- a/htdocs/cashdesk/tpl/menu.tpl.php +++ b/htdocs/cashdesk/tpl/menu.tpl.php @@ -1,7 +1,7 @@ * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2017 Juanjo Menent * Copyright (C) 2012 Marcos García * diff --git a/htdocs/categories/admin/categorie_extrafields.php b/htdocs/categories/admin/categorie_extrafields.php index abea3f41eeb..a346d86f50e 100644 --- a/htdocs/categories/admin/categorie_extrafields.php +++ b/htdocs/categories/admin/categorie_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index 44b209e4371..e69ec4a852d 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2017 Laurent Destailleur - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Raphaël Doursenaud diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 480edb83390..242bd206381 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2005 Matthieu Valleton * Copyright (C) 2005 Davoleau Brice * Copyright (C) 2005 Rodolphe Quiedeville - * Copyright (C) 2006-2012 Regis Houssin + * Copyright (C) 2006-2012 Regis Houssin * Copyright (C) 2006-2012 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2013-2016 Juanjo Menent diff --git a/htdocs/categories/edit.php b/htdocs/categories/edit.php index cdfac54fb9d..3ad8481d1b0 100644 --- a/htdocs/categories/edit.php +++ b/htdocs/categories/edit.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Patrick Raguin * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php index 316a21892af..b7e99e50ca0 100644 --- a/htdocs/categories/index.php +++ b/htdocs/categories/index.php @@ -3,7 +3,7 @@ * Copyright (C) 2005 Eric Seigne * Copyright (C) 2006-2016 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/categories/photos.php b/htdocs/categories/photos.php index 095c0c611c5..d1a35ddd7fa 100644 --- a/htdocs/categories/photos.php +++ b/htdocs/categories/photos.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2007 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Jean-François Ferry * Copyright (C) 2015 Raphaël Doursenaud * diff --git a/htdocs/categories/traduction.php b/htdocs/categories/traduction.php index d3287703695..6783b565b99 100644 --- a/htdocs/categories/traduction.php +++ b/htdocs/categories/traduction.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Rodolphe Quiedeville * Copyright (C) 2010-2016 Destailleur Laurent * Copyright (C) 2015 Raphaël Doursenaud diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index 560cb4613be..2092c6c52c5 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -2,7 +2,7 @@ /* Copyright (C) 2005 Matthieu Valleton * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 4e8b87eb591..1264ace6b4b 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2018 Laurent Destailleur * Copyright (C) 2005 Simon TOSSER - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2014 Cedric GROSS diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 92af9fef6da..af739838c10 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2017 Juanjo Menent * Copyright (C) 2015 Marcos García * Copyright (C) 2018 Nicolas ZABOURI diff --git a/htdocs/comm/action/class/ical.class.php b/htdocs/comm/action/class/ical.class.php index d3c2070d321..f3a7af8fc11 100644 --- a/htdocs/comm/action/class/ical.class.php +++ b/htdocs/comm/action/class/ical.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2006 Roman Ozana * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013-2014 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/comm/action/document.php b/htdocs/comm/action/document.php index a5998e220f7..a22a5c411f3 100644 --- a/htdocs/comm/action/document.php +++ b/htdocs/comm/action/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2013 Cédric Salvador * diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index 0bc022956b1..144a2159deb 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2014 Cedric GROSS * Copyright (C) 2015 Marcos García diff --git a/htdocs/comm/action/list.php b/htdocs/comm/action/list.php index 02d3a16c7f3..b03493a4148 100644 --- a/htdocs/comm/action/list.php +++ b/htdocs/comm/action/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Open-DSI * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/comm/action/pertype.php b/htdocs/comm/action/pertype.php index 0347f73a453..67a4534ca14 100644 --- a/htdocs/comm/action/pertype.php +++ b/htdocs/comm/action/pertype.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2014 Cedric GROSS * Copyright (C) 2018 Frédéric France diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php index b145dfa54ed..19a7e33d23d 100644 --- a/htdocs/comm/action/peruser.php +++ b/htdocs/comm/action/peruser.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2014 Cedric GROSS * Copyright (C) 2018 Frédéric France diff --git a/htdocs/comm/action/rapport/index.php b/htdocs/comm/action/rapport/index.php index ff1c7746afa..323113eb12e 100644 --- a/htdocs/comm/action/rapport/index.php +++ b/htdocs/comm/action/rapport/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/comm/address.php b/htdocs/comm/address.php index 4b32eea153a..f9cf7dc5bf1 100644 --- a/htdocs/comm/address.php +++ b/htdocs/comm/address.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/comm/admin/propal_extrafields.php b/htdocs/comm/admin/propal_extrafields.php index becfabc949c..7b58bd6666d 100644 --- a/htdocs/comm/admin/propal_extrafields.php +++ b/htdocs/comm/admin/propal_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/comm/admin/propaldet_extrafields.php b/htdocs/comm/admin/propaldet_extrafields.php index 7172c0e5b7c..3fa03a7e8e8 100644 --- a/htdocs/comm/admin/propaldet_extrafields.php +++ b/htdocs/comm/admin/propaldet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index d11a81f5bdb..8fa1e9a8f97 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013 Alexandre Spangaro diff --git a/htdocs/comm/contact.php b/htdocs/comm/contact.php index b6d9f0922aa..b5cdd58bbc5 100644 --- a/htdocs/comm/contact.php +++ b/htdocs/comm/contact.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index cb384408e91..81685f3fda8 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index 28e49e9d171..d1f15f708f8 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2016 Laurent Destailleur - * Copyright (C) 2005-2016 Regis Houssin + * Copyright (C) 2005-2016 Regis Houssin * * 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 diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php index 761a2bcc41d..57d6adc1ba9 100644 --- a/htdocs/comm/mailing/cibles.php +++ b/htdocs/comm/mailing/cibles.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2016 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/mailing/class/mailing.class.php b/htdocs/comm/mailing/class/mailing.class.php index bc6f3beabd2..11708c3b4ca 100644 --- a/htdocs/comm/mailing/class/mailing.class.php +++ b/htdocs/comm/mailing/class/mailing.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/comm/mailing/index.php b/htdocs/comm/mailing/index.php index f1745b406fd..cb062e00777 100644 --- a/htdocs/comm/mailing/index.php +++ b/htdocs/comm/mailing/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2009 Laurent Destailleur - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/comm/mailing/info.php b/htdocs/comm/mailing/info.php index 3c1e6e2cffa..79b3d209ec7 100644 --- a/htdocs/comm/mailing/info.php +++ b/htdocs/comm/mailing/info.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/comm/mailing/list.php b/htdocs/comm/mailing/list.php index 133a354723f..7a4edaa68aa 100644 --- a/htdocs/comm/mailing/list.php +++ b/htdocs/comm/mailing/list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index f07a5cdfac8..0ef90e7da0a 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2010-2018 Philippe Grand diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index e11f62bb446..871508f1aa4 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005 Marc Barilley - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2014 Juanjo Menent diff --git a/htdocs/comm/propal/class/propalestats.class.php b/htdocs/comm/propal/class/propalestats.class.php index bb4e0ab56f4..bdd4a9dfba2 100644 --- a/htdocs/comm/propal/class/propalestats.class.php +++ b/htdocs/comm/propal/class/propalestats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (c) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/propal/contact.php b/htdocs/comm/propal/contact.php index 4e017ff13d9..7fc556a3b12 100644 --- a/htdocs/comm/propal/contact.php +++ b/htdocs/comm/propal/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2016 Destailleur Laurent - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2015 Philippe Grand * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/propal/document.php b/htdocs/comm/propal/document.php index cbdfd44383c..07ef56bc1eb 100644 --- a/htdocs/comm/propal/document.php +++ b/htdocs/comm/propal/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index b47a4506412..3f0085ad33a 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/comm/propal/info.php b/htdocs/comm/propal/info.php index 7879612b099..1a1760ce7cf 100644 --- a/htdocs/comm/propal/info.php +++ b/htdocs/comm/propal/info.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index b0cc04702db..f9bbfee6302 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2010-2011 Philippe Grand diff --git a/htdocs/comm/propal/note.php b/htdocs/comm/propal/note.php index a346f8df18f..381b7d105da 100644 --- a/htdocs/comm/propal/note.php +++ b/htdocs/comm/propal/note.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/comm/propal/stats/index.php b/htdocs/comm/propal/stats/index.php index fc2b9c17ba4..c44d23e8d5c 100644 --- a/htdocs/comm/propal/stats/index.php +++ b/htdocs/comm/propal/stats/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php b/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php index 724e0bcce15..0d8c2064010 100644 --- a/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php +++ b/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/comm/prospect/index.php b/htdocs/comm/prospect/index.php index 6d7e93af4be..53176c8b76f 100644 --- a/htdocs/comm/prospect/index.php +++ b/htdocs/comm/prospect/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index f468bd4b146..37181f7f9ae 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2006 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 2428e6052eb..a0262541d7b 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2011 Jean Heimburger diff --git a/htdocs/commande/class/commandestats.class.php b/htdocs/commande/class/commandestats.class.php index 13d7e245f05..3c6ec07c6cb 100644 --- a/htdocs/commande/class/commandestats.class.php +++ b/htdocs/commande/class/commandestats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/commande/contact.php b/htdocs/commande/contact.php index bd00116e026..b40a284e728 100644 --- a/htdocs/commande/contact.php +++ b/htdocs/commande/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2015 Philippe Grand * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/commande/customer.php b/htdocs/commande/customer.php index 42def36ee28..2f7e1831457 100644 --- a/htdocs/commande/customer.php +++ b/htdocs/commande/customer.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Andreu Bisquerra Gaya * Copyright (C) 2012 David Rodriguez Martinez * Copyright (C) 2012 Juanjo Menent diff --git a/htdocs/commande/document.php b/htdocs/commande/document.php index fc8192f7edb..402467553fb 100644 --- a/htdocs/commande/document.php +++ b/htdocs/commande/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/commande/index.php b/htdocs/commande/index.php index 4c596620c6c..a87c4d868bf 100644 --- a/htdocs/commande/index.php +++ b/htdocs/commande/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/commande/info.php b/htdocs/commande/info.php index 6c0b5f42ec6..c52fbd45a37 100644 --- a/htdocs/commande/info.php +++ b/htdocs/commande/info.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 2a9e215faa4..f434cbddbdb 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/commande/note.php b/htdocs/commande/note.php index bf02c9b993c..1a783f3aae7 100644 --- a/htdocs/commande/note.php +++ b/htdocs/commande/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php index a8da25e07f9..75570939afb 100644 --- a/htdocs/commande/orderstoinvoice.php +++ b/htdocs/commande/orderstoinvoice.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Andreu Bisquerra Gaya * Copyright (C) 2012 David Rodriguez Martinez * Copyright (C) 2012-2018 Juanjo Menent diff --git a/htdocs/commande/stats/index.php b/htdocs/commande/stats/index.php index d85b30792be..a40d27b4e14 100644 --- a/htdocs/commande/stats/index.php +++ b/htdocs/commande/stats/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/commande/tpl/linkedobjectblock.tpl.php b/htdocs/commande/tpl/linkedobjectblock.tpl.php index 758a37eddb8..392d2455e2a 100644 --- a/htdocs/commande/tpl/linkedobjectblock.tpl.php +++ b/htdocs/commande/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/compta/bank/annuel.php b/htdocs/compta/bank/annuel.php index 47f31eac308..64f4e15cce6 100644 --- a/htdocs/compta/bank/annuel.php +++ b/htdocs/compta/bank/annuel.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Charles-Fr BENKE * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/bank/bankentries_list.php b/htdocs/compta/bank/bankentries_list.php index 31eaa9e8f6d..22513997c00 100644 --- a/htdocs/compta/bank/bankentries_list.php +++ b/htdocs/compta/bank/bankentries_list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2012 Vinícius Nogueira * Copyright (C) 2014 Florian Henry * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/compta/bank/budget.php b/htdocs/compta/bank/budget.php index ccec902bf7c..1d20c4a0d00 100644 --- a/htdocs/compta/bank/budget.php +++ b/htdocs/compta/bank/budget.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index 6d2fa406ea7..9abe8c82b6c 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2003 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2014-2017 Alexandre Spangaro * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2016 Marcos García diff --git a/htdocs/compta/bank/categ.php b/htdocs/compta/bank/categ.php index f76f73183b3..926252053e2 100644 --- a/htdocs/compta/bank/categ.php +++ b/htdocs/compta/bank/categ.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Charles-Fr BENKE * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2016 Marcos García diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 5a8d1326e48..7cb6b09fbaf 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Christophe Combelles - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015-2016 Marcos García * Copyright (C) 2015-2017 Alexandre Spangaro diff --git a/htdocs/compta/bank/class/bankcateg.class.php b/htdocs/compta/bank/class/bankcateg.class.php index cc291c6be64..9efdf3932ff 100644 --- a/htdocs/compta/bank/class/bankcateg.class.php +++ b/htdocs/compta/bank/class/bankcateg.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2016 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/bank/document.php b/htdocs/compta/bank/document.php index f908b68b35c..e9fdc37a79f 100644 --- a/htdocs/compta/bank/document.php +++ b/htdocs/compta/bank/document.php @@ -3,7 +3,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * * 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 diff --git a/htdocs/compta/bank/graph.php b/htdocs/compta/bank/graph.php index 517c616ec28..958ff129a06 100644 --- a/htdocs/compta/bank/graph.php +++ b/htdocs/compta/bank/graph.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index 1587c5c10e8..4b9f55f025f 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Xavier DUTOIT * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2004 Christophe Combelles - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015-2017 Alexandre Spangaro * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2016 Marcos García diff --git a/htdocs/compta/bank/list.php b/htdocs/compta/bank/list.php index 79c26adfa47..8758ccb98a6 100644 --- a/htdocs/compta/bank/list.php +++ b/htdocs/compta/bank/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2018 Ferran Marcet * diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index 3f1bede8e20..f123dd35eb5 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2017 Patrick Delcroix * diff --git a/htdocs/compta/bank/transfer.php b/htdocs/compta/bank/transfer.php index 38109b964b4..ae6b625b6e5 100644 --- a/htdocs/compta/bank/transfer.php +++ b/htdocs/compta/bank/transfer.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Marcos García diff --git a/htdocs/compta/bank/treso.php b/htdocs/compta/bank/treso.php index 9bd00c81894..ef471aea693 100644 --- a/htdocs/compta/bank/treso.php +++ b/htdocs/compta/bank/treso.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2008-2009 Laurent Destailleur (Eldy) * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2015 Marcos García * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2011-2016 Alexandre Spangaro * Copyright (C) 2011-2014 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/compta/clients.php b/htdocs/compta/clients.php index ceb9324961e..2fa9eecec73 100644 --- a/htdocs/compta/clients.php +++ b/htdocs/compta/clients.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/compta/deplacement/card.php b/htdocs/compta/deplacement/card.php index 383ff1c571a..b213bd25061 100644 --- a/htdocs/compta/deplacement/card.php +++ b/htdocs/compta/deplacement/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2018 Frédéric France diff --git a/htdocs/compta/deplacement/class/deplacement.class.php b/htdocs/compta/deplacement/class/deplacement.class.php index 2476f65b09f..2c21c2694ae 100644 --- a/htdocs/compta/deplacement/class/deplacement.class.php +++ b/htdocs/compta/deplacement/class/deplacement.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/deplacement/class/deplacementstats.class.php b/htdocs/compta/deplacement/class/deplacementstats.class.php index e490c90f1ed..ae93eb094d9 100644 --- a/htdocs/compta/deplacement/class/deplacementstats.class.php +++ b/htdocs/compta/deplacement/class/deplacementstats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/compta/deplacement/document.php b/htdocs/compta/deplacement/document.php index 7ec837c81f2..b17974b444a 100644 --- a/htdocs/compta/deplacement/document.php +++ b/htdocs/compta/deplacement/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/compta/deplacement/index.php b/htdocs/compta/deplacement/index.php index 84c0c718c70..ef28a7909f9 100644 --- a/htdocs/compta/deplacement/index.php +++ b/htdocs/compta/deplacement/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * * 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 diff --git a/htdocs/compta/deplacement/list.php b/htdocs/compta/deplacement/list.php index 20d300d9da4..3dfbac0e726 100644 --- a/htdocs/compta/deplacement/list.php +++ b/htdocs/compta/deplacement/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/facture/admin/facture_cust_extrafields.php b/htdocs/compta/facture/admin/facture_cust_extrafields.php index 1fe26e82a54..b0816d762a8 100644 --- a/htdocs/compta/facture/admin/facture_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facture_cust_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur -* Copyright (C) 2012 Regis Houssin +* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Jean-Francois FERRY * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/facture/admin/facture_rec_cust_extrafields.php b/htdocs/compta/facture/admin/facture_rec_cust_extrafields.php index 23c0d79a33c..153f959b381 100644 --- a/htdocs/compta/facture/admin/facture_rec_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facture_rec_cust_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur -* Copyright (C) 2012 Regis Houssin +* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Jean-Francois FERRY * Copyright (C) 2017 John BOTELLA * diff --git a/htdocs/compta/facture/admin/facturedet_cust_extrafields.php b/htdocs/compta/facture/admin/facturedet_cust_extrafields.php index 0947f788719..74da2466e1e 100644 --- a/htdocs/compta/facture/admin/facturedet_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facturedet_cust_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur -* Copyright (C) 2012 Regis Houssin +* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Jean-Francois FERRY * Copyright (C) 2013 Florian Henry * diff --git a/htdocs/compta/facture/admin/facturedet_rec_cust_extrafields.php b/htdocs/compta/facture/admin/facturedet_rec_cust_extrafields.php index 46d9ed28335..637928e80ee 100644 --- a/htdocs/compta/facture/admin/facturedet_rec_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facturedet_rec_cust_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur -* Copyright (C) 2012 Regis Houssin +* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Jean-Francois FERRY * Copyright (C) 2013 Florian Henry * diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 050f8786c3a..305df904f61 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2012-2013 Christophe Battarel diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index ad33432484f..56f87d2eac3 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2013 Florian Henry diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 3d98271bb26..64ec7157fa3 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2010-2016 Juanjo Menent diff --git a/htdocs/compta/facture/class/facturestats.class.php b/htdocs/compta/facture/class/facturestats.class.php index 1201c429a2a..7a9a9621a78 100644 --- a/htdocs/compta/facture/class/facturestats.class.php +++ b/htdocs/compta/facture/class/facturestats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/compta/facture/contact.php b/htdocs/compta/facture/contact.php index 948056fe404..baf466cc60c 100644 --- a/htdocs/compta/facture/contact.php +++ b/htdocs/compta/facture/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2009 Destailleur Laurent - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2015 Philippe Grand * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/compta/facture/document.php b/htdocs/compta/facture/document.php index 0ce8ad7eb92..4693587de07 100644 --- a/htdocs/compta/facture/document.php +++ b/htdocs/compta/facture/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2017 Ferran Marcet * Copyright (C) 2017 Frédéric France diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index d9ce0137f04..0ce812b2355 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/compta/facture/invoicetemplate_list.php b/htdocs/compta/facture/invoicetemplate_list.php index c61836e1b1b..e83932e0b9b 100644 --- a/htdocs/compta/facture/invoicetemplate_list.php +++ b/htdocs/compta/facture/invoicetemplate_list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 553c6c9028a..effaaee6a63 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2012 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/compta/facture/note.php b/htdocs/compta/facture/note.php index c46d3ed690e..507bb8f458d 100644 --- a/htdocs/compta/facture/note.php +++ b/htdocs/compta/facture/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index d7766268989..6d5d52ce503 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2005 Rodolphe Quiedeville * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php b/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php index 1a55771b963..2ed8b081ceb 100644 --- a/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php +++ b/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php b/htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php index 5f224bc2026..4333aa65a5a 100644 --- a/htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php +++ b/htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php index 692849d2fa6..f6049d315e9 100644 --- a/htdocs/compta/index.php +++ b/htdocs/compta/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2015-2016 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Raphaël Doursenaud diff --git a/htdocs/compta/journal/purchasesjournal.php b/htdocs/compta/journal/purchasesjournal.php index 2d43d48d778..8974c1b78e0 100644 --- a/htdocs/compta/journal/purchasesjournal.php +++ b/htdocs/compta/journal/purchasesjournal.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2007-2010 Jean Heimburger * Copyright (C) 2011-2014 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2011-2012 Alexandre spangaro * Copyright (C) 2013 Marcos García * Copyright (C) 2018 Frédéric France diff --git a/htdocs/compta/journal/sellsjournal.php b/htdocs/compta/journal/sellsjournal.php index 3b4be22a81d..f88f5643c40 100644 --- a/htdocs/compta/journal/sellsjournal.php +++ b/htdocs/compta/journal/sellsjournal.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2007-2010 Jean Heimburger * Copyright (C) 2011-2014 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2011-2012 Alexandre Spangaro * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2013 Marcos García diff --git a/htdocs/compta/paiement.php b/htdocs/compta/paiement.php index 94cd53b5424..32e042c5731 100644 --- a/htdocs/compta/paiement.php +++ b/htdocs/compta/paiement.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2006 Rodolphe Quiedeville * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2014 Raphaël Doursenaud diff --git a/htdocs/compta/paiement/card.php b/htdocs/compta/paiement/card.php index 1475cfd6e45..6774a4042b8 100644 --- a/htdocs/compta/paiement/card.php +++ b/htdocs/compta/paiement/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Marcos García * Copyright (C) 2015 Juanjo Menent * diff --git a/htdocs/compta/paiement/cheque/card.php b/htdocs/compta/paiement/cheque/card.php index 9f42ef9b16c..9a21ff3dee8 100644 --- a/htdocs/compta/paiement/cheque/card.php +++ b/htdocs/compta/paiement/cheque/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2007-2011 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2011-2016 Juanjo Menent * Copyright (C) 2013 Philippe Grand * Copyright (C) 2015-2016 Alexandre Spangaro diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index d190beffae2..28973d3c4e2 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2007-2011 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011-2016 Juanjo Menent * Copyright (C) 2015 Marcos García * diff --git a/htdocs/compta/paiement/cheque/index.php b/htdocs/compta/paiement/cheque/index.php index c3cf1634557..1748a3fa9d2 100644 --- a/htdocs/compta/paiement/cheque/index.php +++ b/htdocs/compta/paiement/cheque/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2007-2011 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2016 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/paiement/cheque/list.php b/htdocs/compta/paiement/cheque/list.php index 2f0c6592694..d9ac1ab11eb 100644 --- a/htdocs/compta/paiement/cheque/list.php +++ b/htdocs/compta/paiement/cheque/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2007-2016 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2014 Alexandre Spangaro * Copyright (C) 2016 Juanjo Menent * diff --git a/htdocs/compta/paiement/list.php b/htdocs/compta/paiement/list.php index 5b5124b2b80..768792c978c 100644 --- a/htdocs/compta/paiement/list.php +++ b/htdocs/compta/paiement/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Juanjo Menent diff --git a/htdocs/compta/payment_sc/card.php b/htdocs/compta/payment_sc/card.php index 12cd2a0aa0e..f645edf4563 100644 --- a/htdocs/compta/payment_sc/card.php +++ b/htdocs/compta/payment_sc/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/compta/prelevement/bons.php b/htdocs/compta/prelevement/bons.php index a6d1f480a06..e4fb8bc0757 100644 --- a/htdocs/compta/prelevement/bons.php +++ b/htdocs/compta/prelevement/bons.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2017 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 9d2b828b3eb..4089ffd76e2 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2010-2014 Laurent Destailleur * Copyright (C) 2014-2016 Ferran Marcet diff --git a/htdocs/compta/prelevement/class/ligneprelevement.class.php b/htdocs/compta/prelevement/class/ligneprelevement.class.php index d8434caefd8..7e100022c7a 100644 --- a/htdocs/compta/prelevement/class/ligneprelevement.class.php +++ b/htdocs/compta/prelevement/class/ligneprelevement.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2015 Marcos García * diff --git a/htdocs/compta/prelevement/class/rejetprelevement.class.php b/htdocs/compta/prelevement/class/rejetprelevement.class.php index ebe76a6aab3..6c99cc5562c 100644 --- a/htdocs/compta/prelevement/class/rejetprelevement.class.php +++ b/htdocs/compta/prelevement/class/rejetprelevement.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php index dff5ab39f3d..02ccee567f5 100644 --- a/htdocs/compta/prelevement/create.php +++ b/htdocs/compta/prelevement/create.php @@ -1,7 +1,7 @@ * Copyright (C) 2010-2015 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2012 Juanjo Menent * Copyright (C) 2018 Nicolas ZABOURI * Copyright (C) 2018 Frédéric France diff --git a/htdocs/compta/prelevement/demandes.php b/htdocs/compta/prelevement/demandes.php index 10c390ed5bd..3129d4af3c8 100644 --- a/htdocs/compta/prelevement/demandes.php +++ b/htdocs/compta/prelevement/demandes.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/prelevement/factures.php b/htdocs/compta/prelevement/factures.php index a53db70544b..1f0309f13f3 100644 --- a/htdocs/compta/prelevement/factures.php +++ b/htdocs/compta/prelevement/factures.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2017 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/prelevement/fiche-rejet.php b/htdocs/compta/prelevement/fiche-rejet.php index 7cb862389d7..2daf4bbf427 100644 --- a/htdocs/compta/prelevement/fiche-rejet.php +++ b/htdocs/compta/prelevement/fiche-rejet.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2010-2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/prelevement/index.php b/htdocs/compta/prelevement/index.php index 673b83d15aa..a73e9d4f835 100644 --- a/htdocs/compta/prelevement/index.php +++ b/htdocs/compta/prelevement/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2012 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013 Florian Henry * diff --git a/htdocs/compta/prelevement/ligne.php b/htdocs/compta/prelevement/ligne.php index 30cc21ae977..38e5f91ec2b 100644 --- a/htdocs/compta/prelevement/ligne.php +++ b/htdocs/compta/prelevement/ligne.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2012 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/compta/prelevement/list.php b/htdocs/compta/prelevement/list.php index ead1bfff08f..1313658a5f7 100644 --- a/htdocs/compta/prelevement/list.php +++ b/htdocs/compta/prelevement/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2018 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/prelevement/rejets.php b/htdocs/compta/prelevement/rejets.php index 5c38b29954e..4e71efc5379 100644 --- a/htdocs/compta/prelevement/rejets.php +++ b/htdocs/compta/prelevement/rejets.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2005-2012 Laurent Destailleur * diff --git a/htdocs/compta/prelevement/stats.php b/htdocs/compta/prelevement/stats.php index ab233a61be3..e7bd8622fa2 100644 --- a/htdocs/compta/prelevement/stats.php +++ b/htdocs/compta/prelevement/stats.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2012 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index 4d643536388..e5ecf562c1d 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2012-2014 Raphaël Dourseanud * Copyright (C) 2014-2106 Ferran Marcet diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index 1e2719eac81..33c3883f8ef 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014-2016 Ferran Marcet * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Florian Henry diff --git a/htdocs/compta/salaries/document.php b/htdocs/compta/salaries/document.php index 1059c765df3..06d5889c44e 100644 --- a/htdocs/compta/salaries/document.php +++ b/htdocs/compta/salaries/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/compta/sociales/card.php b/htdocs/compta/sociales/card.php index 4ffa1a2829f..a6c41d8c431 100644 --- a/htdocs/compta/sociales/card.php +++ b/htdocs/compta/sociales/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2016-2018 Frédéric France * Copyright (C) 2017 Alexandre Spangaro * diff --git a/htdocs/compta/sociales/document.php b/htdocs/compta/sociales/document.php index b2f73768e96..ca81c11e5f1 100644 --- a/htdocs/compta/sociales/document.php +++ b/htdocs/compta/sociales/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/compta/sociales/index.php b/htdocs/compta/sociales/index.php index 6a0250804f1..0a0176cb4b3 100644 --- a/htdocs/compta/sociales/index.php +++ b/htdocs/compta/sociales/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2016 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/sociales/payments.php b/htdocs/compta/sociales/payments.php index 48b2698c762..936c2c9c0f2 100644 --- a/htdocs/compta/sociales/payments.php +++ b/htdocs/compta/sociales/payments.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2011-2016 Alexandre Spangaro * Copyright (C) 2011-2014 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/compta/stats/cabyuser.php b/htdocs/compta/stats/cabyuser.php index 4f49b9492ff..c00c0e52849 100644 --- a/htdocs/compta/stats/cabyuser.php +++ b/htdocs/compta/stats/cabyuser.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Antoine Iauch * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php index fb53989fe74..f49f15afa1f 100644 --- a/htdocs/compta/stats/casoc.php +++ b/htdocs/compta/stats/casoc.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2013 Antoine Iauch * Copyright (C) 2015 Raphaël Doursenaud diff --git a/htdocs/compta/stats/index.php b/htdocs/compta/stats/index.php index c5ceccdad61..711c8ec2bb7 100644 --- a/htdocs/compta/stats/index.php +++ b/htdocs/compta/stats/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2017 Olivier Geffroy * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/compta/tva/card.php b/htdocs/compta/tva/card.php index 69483d84be0..cd015e96c11 100644 --- a/htdocs/compta/tva/card.php +++ b/htdocs/compta/tva/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2015-2017 Alexandre Spangaro * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/compta/tva/document.php b/htdocs/compta/tva/document.php index 790058c20a9..1228fcb5125 100644 --- a/htdocs/compta/tva/document.php +++ b/htdocs/compta/tva/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index 8e4fccf4168..4691b577368 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2014 Ferran Marcet * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/compta/tva/list.php b/htdocs/compta/tva/list.php index d835b0264e1..7c0d813c2cb 100644 --- a/htdocs/compta/tva/list.php +++ b/htdocs/compta/tva/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011-2017 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/contact/agenda.php b/htdocs/contact/agenda.php index 183433b02f9..5a9ef88f8ed 100644 --- a/htdocs/contact/agenda.php +++ b/htdocs/contact/agenda.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2005 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2013 Florian Henry * Copyright (C) 2013-2016 Alexandre Spangaro diff --git a/htdocs/contact/canvas/actions_contactcard_common.class.php b/htdocs/contact/canvas/actions_contactcard_common.class.php index 7e413854846..bac7c9059a9 100644 --- a/htdocs/contact/canvas/actions_contactcard_common.class.php +++ b/htdocs/contact/canvas/actions_contactcard_common.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/contact/canvas/default/actions_contactcard_default.class.php b/htdocs/contact/canvas/default/actions_contactcard_default.class.php index 5831b943d76..1847e19a0ed 100644 --- a/htdocs/contact/canvas/default/actions_contactcard_default.class.php +++ b/htdocs/contact/canvas/default/actions_contactcard_default.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2011 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php b/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php index 1561f046845..9f2bdd4b114 100644 --- a/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php +++ b/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php b/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php index 1eaccff5a1f..39c3604416b 100644 --- a/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php +++ b/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php b/htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php index 6041e7c3e2c..c1d6de80964 100644 --- a/htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php +++ b/htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index a43127c9a32..770b19e5b75 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2005 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2013 Florian Henry * Copyright (C) 2013-2016 Alexandre Spangaro diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index b1d83abac77..b5e8cd33517 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2004 Rodolphe Quiedeville * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2013 Florian Henry diff --git a/htdocs/contact/document.php b/htdocs/contact/document.php index 07795da30d0..d118c4de3b9 100644 --- a/htdocs/contact/document.php +++ b/htdocs/contact/document.php @@ -1,7 +1,7 @@ * Copyright (C) 2015 Frederic France - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/contact/info.php b/htdocs/contact/info.php index 7ddee3f7722..05862e0e9aa 100644 --- a/htdocs/contact/info.php +++ b/htdocs/contact/info.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * * 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 diff --git a/htdocs/contact/ldap.php b/htdocs/contact/ldap.php index 045cdfcd2c5..eaf165136e2 100644 --- a/htdocs/contact/ldap.php +++ b/htdocs/contact/ldap.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Regis Houssin + * Copyright (C) 2006-2017 Regis Houssin * * 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 diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index 52a2c4bbe7f..4a101416886 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013-2015 Raphaël Doursenaud * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2013 Alexandre Spangaro diff --git a/htdocs/contact/note.php b/htdocs/contact/note.php index 731dadb6433..8958e8dcf6a 100644 --- a/htdocs/contact/note.php +++ b/htdocs/contact/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013 Florian Henry * diff --git a/htdocs/contact/perso.php b/htdocs/contact/perso.php index 4932d549df4..8e74c33cd14 100644 --- a/htdocs/contact/perso.php +++ b/htdocs/contact/perso.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/contact/vcard.php b/htdocs/contact/vcard.php index 5229a0e8416..be45fabf099 100644 --- a/htdocs/contact/vcard.php +++ b/htdocs/contact/vcard.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/contrat/admin/contract_extrafields.php b/htdocs/contrat/admin/contract_extrafields.php index d19c91e0bf2..3e3e82f6e0b 100644 --- a/htdocs/contrat/admin/contract_extrafields.php +++ b/htdocs/contrat/admin/contract_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2013-2018 Philippe Grand * diff --git a/htdocs/contrat/admin/contractdet_extrafields.php b/htdocs/contrat/admin/contractdet_extrafields.php index af2585eaf3a..69cfd219fcf 100644 --- a/htdocs/contrat/admin/contractdet_extrafields.php +++ b/htdocs/contrat/admin/contractdet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2014 Florian Henry * Copyright (C) 2013 Philippe Grand * diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 0c0247dc7fa..d53413efee0 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2017 Juanjo Menent * Copyright (C) 2013 Christophe Battarel diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 8d2194bb60a..589cf7174e6 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Destailleur Laurent - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2016 Juanjo Menent diff --git a/htdocs/contrat/contact.php b/htdocs/contrat/contact.php index b659aa01aab..d68eee4eb5a 100644 --- a/htdocs/contrat/contact.php +++ b/htdocs/contrat/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2009 Destailleur Laurent - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/contrat/document.php b/htdocs/contrat/document.php index cd98f787ff6..7373278df1a 100644 --- a/htdocs/contrat/document.php +++ b/htdocs/contrat/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2017 Ferran Marcet diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php index c0404b5cf3f..69e2b0d0ca8 100644 --- a/htdocs/contrat/index.php +++ b/htdocs/contrat/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index 96f20fdaf67..3719e3618e6 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2015 Claudio Aschieri diff --git a/htdocs/contrat/note.php b/htdocs/contrat/note.php index ec93d112ef4..193c25e0398 100644 --- a/htdocs/contrat/note.php +++ b/htdocs/contrat/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/contrat/services_list.php b/htdocs/contrat/services_list.php index 72b45f49db5..a57bfd0f175 100644 --- a/htdocs/contrat/services_list.php +++ b/htdocs/contrat/services_list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2018 Ferran Marcet * Copyright (C) 2018 Frédéric France diff --git a/htdocs/contrat/tpl/linkedobjectblock.tpl.php b/htdocs/contrat/tpl/linkedobjectblock.tpl.php index 328be816327..64d40edebc0 100644 --- a/htdocs/contrat/tpl/linkedobjectblock.tpl.php +++ b/htdocs/contrat/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2018 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/ajax/ajaxdirpreview.php b/htdocs/core/ajax/ajaxdirpreview.php index 82f83595537..5056844bcee 100644 --- a/htdocs/core/ajax/ajaxdirpreview.php +++ b/htdocs/core/ajax/ajaxdirpreview.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2007 Rodolphe Quiedeville * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2005 Simon Tosser - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Pierre Morin * Copyright (C) 2013 Marcos García * diff --git a/htdocs/core/ajax/box.php b/htdocs/core/ajax/box.php index f6bd5b5214a..93b317a43c9 100644 --- a/htdocs/core/ajax/box.php +++ b/htdocs/core/ajax/box.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007-2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/ajax/constantonoff.php b/htdocs/core/ajax/constantonoff.php index 9e9f8a0d799..0f733f4df5c 100644 --- a/htdocs/core/ajax/constantonoff.php +++ b/htdocs/core/ajax/constantonoff.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2015 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/contacts.php b/htdocs/core/ajax/contacts.php index b03b9f128cf..777fa076639 100644 --- a/htdocs/core/ajax/contacts.php +++ b/htdocs/core/ajax/contacts.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2016 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/ajax/extraparams.php b/htdocs/core/ajax/extraparams.php index 908c1ef9f11..e5972d29d70 100644 --- a/htdocs/core/ajax/extraparams.php +++ b/htdocs/core/ajax/extraparams.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/fileupload.php b/htdocs/core/ajax/fileupload.php index 9405aa26cf1..1cf5678cb00 100644 --- a/htdocs/core/ajax/fileupload.php +++ b/htdocs/core/ajax/fileupload.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2012 Regis Houssin * Copyright (C) 2011 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/ajax/getaccountcurrency.php b/htdocs/core/ajax/getaccountcurrency.php index 2289d8e1c0f..d58c81efdba 100644 --- a/htdocs/core/ajax/getaccountcurrency.php +++ b/htdocs/core/ajax/getaccountcurrency.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/loadinplace.php b/htdocs/core/ajax/loadinplace.php index 099f66ba3de..abf3efba7db 100644 --- a/htdocs/core/ajax/loadinplace.php +++ b/htdocs/core/ajax/loadinplace.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2014 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/price.php b/htdocs/core/ajax/price.php index 86073a5a409..3eab18216d1 100644 --- a/htdocs/core/ajax/price.php +++ b/htdocs/core/ajax/price.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/row.php b/htdocs/core/ajax/row.php index 98f18df8a68..2dba328610e 100644 --- a/htdocs/core/ajax/row.php +++ b/htdocs/core/ajax/row.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2015 Regis Houssin * Copyright (C) 2017 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/ajax/saveinplace.php b/htdocs/core/ajax/saveinplace.php index 7070d1a8799..188dcbb29da 100644 --- a/htdocs/core/ajax/saveinplace.php +++ b/htdocs/core/ajax/saveinplace.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2012 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/security.php b/htdocs/core/ajax/security.php index fa1ce2103d4..d6bfe51b45c 100644 --- a/htdocs/core/ajax/security.php +++ b/htdocs/core/ajax/security.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2015 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/vatrates.php b/htdocs/core/ajax/vatrates.php index 3826e521d06..8fe38d02552 100644 --- a/htdocs/core/ajax/vatrates.php +++ b/htdocs/core/ajax/vatrates.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/core/ajax/ziptown.php b/htdocs/core/ajax/ziptown.php index 2100d3d3600..c1af6a2ac22 100644 --- a/htdocs/core/ajax/ziptown.php +++ b/htdocs/core/ajax/ziptown.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2011-204 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_actions.php b/htdocs/core/boxes/box_actions.php index 05bbdba3831..aea85fd111e 100644 --- a/htdocs/core/boxes/box_actions.php +++ b/htdocs/core/boxes/box_actions.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2014 Charles-Fr BENKE * Copyright (C) 2015 Frederic France * diff --git a/htdocs/core/boxes/box_clients.php b/htdocs/core/boxes/box_clients.php index 96ccd7b675d..9b1e4e34261 100644 --- a/htdocs/core/boxes/box_clients.php +++ b/htdocs/core/boxes/box_clients.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_commandes.php b/htdocs/core/boxes/box_commandes.php index 5aeb6179207..3f86909f04a 100644 --- a/htdocs/core/boxes/box_commandes.php +++ b/htdocs/core/boxes/box_commandes.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_comptes.php b/htdocs/core/boxes/box_comptes.php index 8606d9b91f7..5a5c2f59986 100644 --- a/htdocs/core/boxes/box_comptes.php +++ b/htdocs/core/boxes/box_comptes.php @@ -1,7 +1,7 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2015 Frederic France * diff --git a/htdocs/core/boxes/box_contacts.php b/htdocs/core/boxes/box_contacts.php index 4feb101c090..2d9d7e9461b 100644 --- a/htdocs/core/boxes/box_contacts.php +++ b/htdocs/core/boxes/box_contacts.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * Copyright (C) 2018 Josep Lluís Amador * diff --git a/htdocs/core/boxes/box_contracts.php b/htdocs/core/boxes/box_contracts.php index 7592f882b59..7239fa78919 100644 --- a/htdocs/core/boxes/box_contracts.php +++ b/htdocs/core/boxes/box_contracts.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2015 Frederic France * Copyright (C) 2016-2017 Laurent Destailleur * diff --git a/htdocs/core/boxes/box_external_rss.php b/htdocs/core/boxes/box_external_rss.php index f08c809627d..679509774e2 100644 --- a/htdocs/core/boxes/box_external_rss.php +++ b/htdocs/core/boxes/box_external_rss.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_factures.php b/htdocs/core/boxes/box_factures.php index 36c472cfc22..c76ea8d825b 100644 --- a/htdocs/core/boxes/box_factures.php +++ b/htdocs/core/boxes/box_factures.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_factures_fourn.php b/htdocs/core/boxes/box_factures_fourn.php index c865cf185c4..617f041d7d2 100644 --- a/htdocs/core/boxes/box_factures_fourn.php +++ b/htdocs/core/boxes/box_factures_fourn.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_factures_fourn_imp.php b/htdocs/core/boxes/box_factures_fourn_imp.php index e8dedf59c41..bd8fde32aab 100644 --- a/htdocs/core/boxes/box_factures_fourn_imp.php +++ b/htdocs/core/boxes/box_factures_fourn_imp.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_factures_imp.php b/htdocs/core/boxes/box_factures_imp.php index dd64a07b8d9..10edddf4667 100644 --- a/htdocs/core/boxes/box_factures_imp.php +++ b/htdocs/core/boxes/box_factures_imp.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_fournisseurs.php b/htdocs/core/boxes/box_fournisseurs.php index 0ca14fae7f5..c66c7f674c2 100644 --- a/htdocs/core/boxes/box_fournisseurs.php +++ b/htdocs/core/boxes/box_fournisseurs.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_goodcustomers.php b/htdocs/core/boxes/box_goodcustomers.php index 16668987a40..138326d6c01 100644 --- a/htdocs/core/boxes/box_goodcustomers.php +++ b/htdocs/core/boxes/box_goodcustomers.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * Copyright (C) 2016 Charlie Benke * diff --git a/htdocs/core/boxes/box_members.php b/htdocs/core/boxes/box_members.php index 6f7e62aa457..b0f999f54f1 100644 --- a/htdocs/core/boxes/box_members.php +++ b/htdocs/core/boxes/box_members.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_produits.php b/htdocs/core/boxes/box_produits.php index cadda2b8058..24699f0e9f6 100644 --- a/htdocs/core/boxes/box_produits.php +++ b/htdocs/core/boxes/box_produits.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_produits_alerte_stock.php b/htdocs/core/boxes/box_produits_alerte_stock.php index 648da118e09..896ceb93df6 100644 --- a/htdocs/core/boxes/box_produits_alerte_stock.php +++ b/htdocs/core/boxes/box_produits_alerte_stock.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005-2012 Maxime Kohlhaas * Copyright (C) 2015 Frederic France * Copyright (C) 2015 Juanjo Menent diff --git a/htdocs/core/boxes/box_propales.php b/htdocs/core/boxes/box_propales.php index 6db4ac11250..2b3426f21b8 100644 --- a/htdocs/core/boxes/box_propales.php +++ b/htdocs/core/boxes/box_propales.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_prospect.php b/htdocs/core/boxes/box_prospect.php index 629da790f3c..a4382f86048 100644 --- a/htdocs/core/boxes/box_prospect.php +++ b/htdocs/core/boxes/box_prospect.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Frederic France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_services_contracts.php b/htdocs/core/boxes/box_services_contracts.php index 7c73bbbe328..6a74cd005ab 100644 --- a/htdocs/core/boxes/box_services_contracts.php +++ b/htdocs/core/boxes/box_services_contracts.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2017 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2017 Nicolas Zabouri * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/boxes/box_supplier_orders.php b/htdocs/core/boxes/box_supplier_orders.php index 97b4bf8feec..4621950843e 100644 --- a/htdocs/core/boxes/box_supplier_orders.php +++ b/htdocs/core/boxes/box_supplier_orders.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Raphaël Doursenaud * Copyright (C) 2015 Frederic France * diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php index 47646a0facf..9ae35403ec7 100644 --- a/htdocs/core/boxes/modules_boxes.php +++ b/htdocs/core/boxes/modules_boxes.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Raphaël Doursenaud * Copyright (C) 2015 Frederic France * diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php index a37f6b1562b..ed1fccbc444 100644 --- a/htdocs/core/class/CMailFile.class.php +++ b/htdocs/core/class/CMailFile.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2000-2005 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/class/CSMSFile.class.php b/htdocs/core/class/CSMSFile.class.php index b6c334f7e1c..86ffed48551 100644 --- a/htdocs/core/class/CSMSFile.class.php +++ b/htdocs/core/class/CSMSFile.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2000-2005 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/class/antivir.class.php b/htdocs/core/class/antivir.class.php index c67e3f5f59d..1b45d490d9d 100644 --- a/htdocs/core/class/antivir.class.php +++ b/htdocs/core/class/antivir.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2000-2005 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/class/canvas.class.php b/htdocs/core/class/canvas.class.php index cf830048cc0..4694a5e4652 100644 --- a/htdocs/core/class/canvas.class.php +++ b/htdocs/core/class/canvas.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * Copyright (C) 2011 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 92458831d0b..d429d96ccac 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Marcos García * Copyright (C) 2016 Charlie Benke * Copyright (C) 2018 Frédéric France diff --git a/htdocs/core/class/commoninvoice.class.php b/htdocs/core/class/commoninvoice.class.php index b5b363db923..92ee8b06f2e 100644 --- a/htdocs/core/class/commoninvoice.class.php +++ b/htdocs/core/class/commoninvoice.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2012-2014 Raphaël Doursenaud * diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index aa318a48bcc..bb173daf303 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2012-2013 Christophe Battarel * Copyright (C) 2011-2018 Philippe Grand diff --git a/htdocs/core/class/commonorder.class.php b/htdocs/core/class/commonorder.class.php index 2ea53a345d8..199b29b87cd 100644 --- a/htdocs/core/class/commonorder.class.php +++ b/htdocs/core/class/commonorder.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index 420b90926dd..b02036a015f 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2003 Xavier Dutoit * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2006 Jean Heimburger * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/dolexception.class.php b/htdocs/core/class/dolexception.class.php index cb3c71cfd5c..b61bc6e388c 100644 --- a/htdocs/core/class/dolexception.class.php +++ b/htdocs/core/class/dolexception.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/class/events.class.php b/htdocs/core/class/events.class.php index 020998fa37a..c4b726b19d1 100644 --- a/htdocs/core/class/events.class.php +++ b/htdocs/core/class/events.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 9ebdbd22836..aaacee51b50 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2009-2012 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Charles-Fr BENKE * Copyright (C) 2016 Raphaël Doursenaud diff --git a/htdocs/core/class/fileupload.class.php b/htdocs/core/class/fileupload.class.php index c3a40599877..027fdda0514 100644 --- a/htdocs/core/class/fileupload.class.php +++ b/htdocs/core/class/fileupload.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2012 Regis Houssin * Copyright (C) 2011-2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index b078fdc0405..4b0ed682e49 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2014 Regis Houssin + * Copyright (C) 2010-2014 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index c30dcec6e01..de943a27b0e 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2006 Marc Barilley/Ocebo * Copyright (C) 2007 Franky Van Liedekerke diff --git a/htdocs/core/class/html.formactions.class.php b/htdocs/core/class/html.formactions.class.php index 25a3973cbd8..821bff099d2 100644 --- a/htdocs/core/class/html.formactions.class.php +++ b/htdocs/core/class/html.formactions.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010-2018 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/html.formadmin.class.php b/htdocs/core/class/html.formadmin.class.php index 510b34c8f47..32a421a7b61 100644 --- a/htdocs/core/class/html.formadmin.class.php +++ b/htdocs/core/class/html.formadmin.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2007 Patrick Raguin * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/html.formbarcode.class.php b/htdocs/core/class/html.formbarcode.class.php index eb08aab6de7..857f8ee5c42 100644 --- a/htdocs/core/class/html.formbarcode.class.php +++ b/htdocs/core/class/html.formbarcode.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2007-2012 Regis Houssin * Copyright (C) 2008-2012 Laurent Destailleur * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/core/class/html.formcompany.class.php b/htdocs/core/class/html.formcompany.class.php index 273a84cbc94..60017d82570 100644 --- a/htdocs/core/class/html.formcompany.class.php +++ b/htdocs/core/class/html.formcompany.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2012 Regis Houssin + * Copyright (C) 2008-2012 Regis Houssin * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2017 Rui Strecht * diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 34f0b9ab750..713a84ad8e6 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2014 Regis Houssin + * Copyright (C) 2010-2014 Regis Houssin * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2013 Charles-Fr BENKE * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index 68da2dce777..f9f0365dbc7 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2015-2017 Marcos García * Copyright (C) 2015-2017 Nicolas ZABOURI diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php index d2800ce1906..8ca0b988fda 100644 --- a/htdocs/core/class/html.formother.class.php +++ b/htdocs/core/class/html.formother.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2006 Marc Barilley/Ocebo * Copyright (C) 2007 Franky Van Liedekerke diff --git a/htdocs/core/class/infobox.class.php b/htdocs/core/class/infobox.class.php index 1c5c733491c..dedf3ec384f 100644 --- a/htdocs/core/class/infobox.class.php +++ b/htdocs/core/class/infobox.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/class/interfaces.class.php b/htdocs/core/class/interfaces.class.php index 51eafd3ef7a..abcf2132efa 100644 --- a/htdocs/core/class/interfaces.class.php +++ b/htdocs/core/class/interfaces.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php index 38f7a1f2f53..8c42d691d39 100644 --- a/htdocs/core/class/ldap.class.php +++ b/htdocs/core/class/ldap.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2006-2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/menubase.class.php b/htdocs/core/class/menubase.class.php index 1ca10d9dd9b..7f4ab7c6d4a 100644 --- a/htdocs/core/class/menubase.class.php +++ b/htdocs/core/class/menubase.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/stats.class.php b/htdocs/core/class/stats.class.php index dfb070aa5b9..1a58e14796a 100644 --- a/htdocs/core/class/stats.class.php +++ b/htdocs/core/class/stats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2008-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index 2e489f6ba65..756dbade364 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Destailleur Laurent - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/core/datepicker.php b/htdocs/core/datepicker.php index 546ca757234..6d0cd48ccfe 100644 --- a/htdocs/core/datepicker.php +++ b/htdocs/core/datepicker.php @@ -1,7 +1,7 @@ - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2014 Juanjo Menent * * This file is a modified version of datepicker.php from phpBSM to fix some diff --git a/htdocs/core/db/Database.interface.php b/htdocs/core/db/Database.interface.php index db233dda1b4..54b950fdee7 100644 --- a/htdocs/core/db/Database.interface.php +++ b/htdocs/core/db/Database.interface.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2007 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014-2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/db/mssql.class.php b/htdocs/core/db/mssql.class.php index a8483ec1401..f9e982961c9 100644 --- a/htdocs/core/db/mssql.class.php +++ b/htdocs/core/db/mssql.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2007 Simon Desee * Copyright (C) 2015 Cedric GROSS * diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index 868712a31d0..185ebe1a56f 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2005 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 78a3b91279e..85abdf2b004 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Yann Droneaud * Copyright (C) 2012 Florian Henry * Copyright (C) 2015 Marcos García diff --git a/htdocs/core/db/sqlite3.class.php b/htdocs/core/db/sqlite3.class.php index 97e799a2b69..bbd5853f95f 100644 --- a/htdocs/core/db/sqlite3.class.php +++ b/htdocs/core/db/sqlite3.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2005 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/doxygen.php b/htdocs/core/doxygen.php index 55ea34a5778..542a0effeb2 100644 --- a/htdocs/core/doxygen.php +++ b/htdocs/core/doxygen.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * * 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 diff --git a/htdocs/core/js/blockUI.js b/htdocs/core/js/blockUI.js index 20c2bd348d4..b485565ee07 100644 --- a/htdocs/core/js/blockUI.js +++ b/htdocs/core/js/blockUI.js @@ -1,4 +1,4 @@ -// Copyright (C) 2012 Regis Houssin +// Copyright (C) 2012 Regis Houssin // // 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 diff --git a/htdocs/core/js/dst.js b/htdocs/core/js/dst.js index 486e7027b43..739beebeac5 100644 --- a/htdocs/core/js/dst.js +++ b/htdocs/core/js/dst.js @@ -1,5 +1,5 @@ // Copyright (C) 2011-2014 Laurent Destailleur -// Copyright (C) 2011-2012 Regis Houssin +// Copyright (C) 2011-2012 Regis Houssin // Copyright (C) 2015 Marcos García // // This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/js/editinplace.js b/htdocs/core/js/editinplace.js index d1d4b6254ee..8501474ec0c 100644 --- a/htdocs/core/js/editinplace.js +++ b/htdocs/core/js/editinplace.js @@ -1,4 +1,4 @@ -// Copyright (C) 2011-2014 Regis Houssin +// Copyright (C) 2011-2014 Regis Houssin // Copyright (C) 2011-2017 Laurent Destailleur // // This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index 1aa9c458e39..ea19bc258be 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/js/timepicker.js.php b/htdocs/core/js/timepicker.js.php index f93bb3410f2..8e67f517b44 100644 --- a/htdocs/core/js/timepicker.js.php +++ b/htdocs/core/js/timepicker.js.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index f92fd56a87b..6932cfc4c38 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2016 Regis Houssin + * Copyright (C) 2005-2016 Regis Houssin * Copyright (C) 2012 J. Fernando Lagrange * Copyright (C) 2015 Raphaël Doursenaud * diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php index 86d3a68fed4..23d5fcf30dc 100644 --- a/htdocs/core/lib/agenda.lib.php +++ b/htdocs/core/lib/agenda.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/ajax.lib.php b/htdocs/core/lib/ajax.lib.php index bb08018b7f6..afff8198e09 100644 --- a/htdocs/core/lib/ajax.lib.php +++ b/htdocs/core/lib/ajax.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007-2015 Regis Houssin + * Copyright (C) 2007-2015 Regis Houssin * Copyright (C) 2012 Christophe Battarel * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index ded980e3246..28845122f0d 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2016 Juanjo Menent * diff --git a/htdocs/core/lib/categories.lib.php b/htdocs/core/lib/categories.lib.php index e8a7dfcb0ff..4d85c412bab 100644 --- a/htdocs/core/lib/categories.lib.php +++ b/htdocs/core/lib/categories.lib.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011 Regis Houssin * * 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 diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index fe9d15c8322..6193d764e43 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -2,7 +2,7 @@ /* Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2006 Rodolphe Quiedeville * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2013-2014 Florian Henry * Copyright (C) 2013-2014 Juanjo Menent * Copyright (C) 2013 Christophe Battarel diff --git a/htdocs/core/lib/contact.lib.php b/htdocs/core/lib/contact.lib.php index f1d721b62e6..3c61410230f 100644 --- a/htdocs/core/lib/contact.lib.php +++ b/htdocs/core/lib/contact.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2017 Regis Houssin + * Copyright (C) 2010-2017 Regis Houssin * Copyright (C) 2015 Frederic France * Copyright (C) 2015 Raphaël Doursenaud * diff --git a/htdocs/core/lib/contract.lib.php b/htdocs/core/lib/contract.lib.php index 9d986e983bc..c7434e80878 100644 --- a/htdocs/core/lib/contract.lib.php +++ b/htdocs/core/lib/contract.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * * 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 diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index 84048ac9c66..7ad40349589 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2011-2015 Juanjo Menent * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/core/lib/doc.lib.php b/htdocs/core/lib/doc.lib.php index ae8410bd188..b5e607fbbc5 100644 --- a/htdocs/core/lib/doc.lib.php +++ b/htdocs/core/lib/doc.lib.php @@ -2,7 +2,7 @@ /* Copyright (C) 2006-2011 Laurent Destailleur * Copyright (C) 2006 Rodolphe Quiedeville * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * diff --git a/htdocs/core/lib/doleditor.lib.php b/htdocs/core/lib/doleditor.lib.php index 1981ae63d09..459bb3e3f2b 100644 --- a/htdocs/core/lib/doleditor.lib.php +++ b/htdocs/core/lib/doleditor.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/expedition.lib.php b/htdocs/core/lib/expedition.lib.php index 0fa5f0ae643..275970c41c1 100644 --- a/htdocs/core/lib/expedition.lib.php +++ b/htdocs/core/lib/expedition.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2015 Claudio Aschieri * diff --git a/htdocs/core/lib/expensereport.lib.php b/htdocs/core/lib/expensereport.lib.php index 779e6c9e174..da1a7048dee 100644 --- a/htdocs/core/lib/expensereport.lib.php +++ b/htdocs/core/lib/expensereport.lib.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011 Regis Houssin * * 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 diff --git a/htdocs/core/lib/fichinter.lib.php b/htdocs/core/lib/fichinter.lib.php index 20e257eee2f..0ef39203f57 100644 --- a/htdocs/core/lib/fichinter.lib.php +++ b/htdocs/core/lib/fichinter.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2016 Gilles Poirier * Copyright (C) 2018 charlene Benke diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 1a114c62a01..1bca14827e6 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012-2015 Regis Houssin + * Copyright (C) 2012-2015 Regis Houssin * Copyright (C) 2012-2016 Juanjo Menent * Copyright (C) 2015 Marcos García * Copyright (C) 2016 Raphaël Doursenaud diff --git a/htdocs/core/lib/fourn.lib.php b/htdocs/core/lib/fourn.lib.php index ac956abf524..c251c5d03b9 100644 --- a/htdocs/core/lib/fourn.lib.php +++ b/htdocs/core/lib/fourn.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Marc Barilley * Copyright (C) 2011-2013 Philippe Grand * diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index d15d07e4c6e..8a876a95feb 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -5,7 +5,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Christophe Combelles - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2010-2018 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 8a22337cea8..ee88cd95404 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2012 Regis Houssin + * Copyright (C) 2008-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2014-2016 Marcos García * Copyright (C) 2015 Ferran Marcet diff --git a/htdocs/core/lib/images.lib.php b/htdocs/core/lib/images.lib.php index f0a666b03e9..a37bd2818a1 100644 --- a/htdocs/core/lib/images.lib.php +++ b/htdocs/core/lib/images.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * * 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 diff --git a/htdocs/core/lib/import.lib.php b/htdocs/core/lib/import.lib.php index ea700c38845..c3b8beac249 100644 --- a/htdocs/core/lib/import.lib.php +++ b/htdocs/core/lib/import.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/core/lib/invoice.lib.php b/htdocs/core/lib/invoice.lib.php index 94eb4527b74..aa728e5d653 100644 --- a/htdocs/core/lib/invoice.lib.php +++ b/htdocs/core/lib/invoice.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Juanjo Menent * Copyright (C) 2017 Charlie Benke diff --git a/htdocs/core/lib/json.lib.php b/htdocs/core/lib/json.lib.php index 61d6a923c1f..f58d1b44dbf 100644 --- a/htdocs/core/lib/json.lib.php +++ b/htdocs/core/lib/json.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011-2012 Regis Houssin + * Copyright (C) 2011-2012 Regis Houssin * * 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 diff --git a/htdocs/core/lib/ldap.lib.php b/htdocs/core/lib/ldap.lib.php index 3db36723b32..c64ea1fa090 100644 --- a/htdocs/core/lib/ldap.lib.php +++ b/htdocs/core/lib/ldap.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Regis Houssin + * Copyright (C) 2006-2017 Regis Houssin * * 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 diff --git a/htdocs/core/lib/member.lib.php b/htdocs/core/lib/member.lib.php index 3148d484ab5..a5016579cd4 100644 --- a/htdocs/core/lib/member.lib.php +++ b/htdocs/core/lib/member.lib.php @@ -2,7 +2,7 @@ /* Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2015-2016 Alexandre Spangaro * Copyright (C) 2015 Raphaël Doursenaud - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/core/lib/order.lib.php b/htdocs/core/lib/order.lib.php index cdbd46b1aa7..93a7aaa71e0 100644 --- a/htdocs/core/lib/order.lib.php +++ b/htdocs/core/lib/order.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 5b8a5d6d4c4..a9e8807c66a 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -2,7 +2,7 @@ /* Copyright (C) 2006-2017 Laurent Destailleur * Copyright (C) 2006 Rodolphe Quiedeville * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010-2017 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2012 Cédric Salvador diff --git a/htdocs/core/lib/prelevement.lib.php b/htdocs/core/lib/prelevement.lib.php index 47bc2cb1974..e6393326c71 100644 --- a/htdocs/core/lib/prelevement.lib.php +++ b/htdocs/core/lib/prelevement.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2010 Laurent Destailleur - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * * 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 diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index 1c704392c6b..68e78a29d76 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2009-2010 Regis Houssin + * Copyright (C) 2009-2010 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * Copyright (C) 2015-2016 Marcos García * diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 1e5046d4d58..84d32725682 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/core/lib/propal.lib.php b/htdocs/core/lib/propal.lib.php index aec26236113..3fc37196c71 100644 --- a/htdocs/core/lib/propal.lib.php +++ b/htdocs/core/lib/propal.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/lib/report.lib.php b/htdocs/core/lib/report.lib.php index 475fbaa48d5..10fd7bc8919 100644 --- a/htdocs/core/lib/report.lib.php +++ b/htdocs/core/lib/report.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/core/lib/security.lib.php b/htdocs/core/lib/security.lib.php index 235421a598e..08933f13968 100644 --- a/htdocs/core/lib/security.lib.php +++ b/htdocs/core/lib/security.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2017 Regis Houssin + * Copyright (C) 2008-2017 Regis Houssin * * 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 diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index c9f4ece6445..88dae462058 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2017 Regis Houssin + * Copyright (C) 2008-2017 Regis Houssin * * 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 diff --git a/htdocs/core/lib/sendings.lib.php b/htdocs/core/lib/sendings.lib.php index 38660cc272a..1cafb6dc3d4 100644 --- a/htdocs/core/lib/sendings.lib.php +++ b/htdocs/core/lib/sendings.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/core/lib/supplier_proposal.lib.php b/htdocs/core/lib/supplier_proposal.lib.php index a0f52d6de15..53dcf1c443f 100644 --- a/htdocs/core/lib/supplier_proposal.lib.php +++ b/htdocs/core/lib/supplier_proposal.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index 1cce7527018..a61026fa67d 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2007 Yannick Warnier - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * Copyright (C) 2012-2017 Juanjo Menent * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2012-2014 Raphaël Doursenaud diff --git a/htdocs/core/lib/trip.lib.php b/htdocs/core/lib/trip.lib.php index 33f977bcf34..76dde5be734 100644 --- a/htdocs/core/lib/trip.lib.php +++ b/htdocs/core/lib/trip.lib.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011 Regis Houssin * * 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 diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index ae469b89552..32b2be816df 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2017 Regis Houssin + * Copyright (C) 2010-2017 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2018 Ferran Marcet * diff --git a/htdocs/core/login/functions_dolibarr.php b/htdocs/core/login/functions_dolibarr.php index 25cc45c2b6c..70cb1e4fa86 100644 --- a/htdocs/core/login/functions_dolibarr.php +++ b/htdocs/core/login/functions_dolibarr.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007-2015 Regis Houssin + * Copyright (C) 2007-2015 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/login/functions_empty.php b/htdocs/core/login/functions_empty.php index b2ce4a3c533..a8b90de0e46 100644 --- a/htdocs/core/login/functions_empty.php +++ b/htdocs/core/login/functions_empty.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/login/functions_openid.php b/htdocs/core/login/functions_openid.php index 79cf1a09cb9..bc8d7f45122 100644 --- a/htdocs/core/login/functions_openid.php +++ b/htdocs/core/login/functions_openid.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007-2009 Regis Houssin + * Copyright (C) 2007-2009 Regis Houssin * * 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 diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php index 9878d8a2ca8..b2bf32bf8c2 100644 --- a/htdocs/core/menus/standard/auguria.lib.php +++ b/htdocs/core/menus/standard/auguria.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/core/menus/standard/auguria_menu.php b/htdocs/core/menus/standard/auguria_menu.php index 33c02ce5f1c..f4cb98d9c4b 100644 --- a/htdocs/core/menus/standard/auguria_menu.php +++ b/htdocs/core/menus/standard/auguria_menu.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2008-2013 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index bb13a0c2265..68991643ac5 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * Copyright (C) 2012-2015 Juanjo Menent * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Marcos García diff --git a/htdocs/core/menus/standard/eldy_menu.php b/htdocs/core/menus/standard/eldy_menu.php index 543dbd111bb..049956e82e2 100644 --- a/htdocs/core/menus/standard/eldy_menu.php +++ b/htdocs/core/menus/standard/eldy_menu.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007-2009 Regis Houssin + * Copyright (C) 2007-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index dfaaa6b26b4..4d11a1bfd5b 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Raphaël Doursenaud * Copyright (C) 2018 Josep Lluís Amador * diff --git a/htdocs/core/modules/action/modules_action.php b/htdocs/core/modules/action/modules_action.php index cbb578578e2..323675f88f6 100644 --- a/htdocs/core/modules/action/modules_action.php +++ b/htdocs/core/modules/action/modules_action.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2016 Charlie Benke * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/action/rapport.pdf.php b/htdocs/core/modules/action/rapport.pdf.php index 66c4f0a3e45..44092df6ec9 100644 --- a/htdocs/core/modules/action/rapport.pdf.php +++ b/htdocs/core/modules/action/rapport.pdf.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/bank/modules_bank.php b/htdocs/core/modules/bank/modules_bank.php index faae304222d..fe43f9cee15 100644 --- a/htdocs/core/modules/bank/modules_bank.php +++ b/htdocs/core/modules/bank/modules_bank.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2014 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php index c9068dc4d26..6d9e492d666 100644 --- a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005 Regis Houssin + * Copyright (C) 2005 Regis Houssin * * 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 diff --git a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php index c37f87f17d5..ed6a7635164 100644 --- a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005 Regis Houssin + * Copyright (C) 2005 Regis Houssin * Copyright (C) 2015 Francis Appels * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/barcode/mod_barcode_product_standard.php b/htdocs/core/modules/barcode/mod_barcode_product_standard.php index 886ff87520a..97121eebcfd 100644 --- a/htdocs/core/modules/barcode/mod_barcode_product_standard.php +++ b/htdocs/core/modules/barcode/mod_barcode_product_standard.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2014 Laurent Destailleur - * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2007-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/cheque/modules_chequereceipts.php b/htdocs/core/modules/cheque/modules_chequereceipts.php index f2841a7ec8e..5a7920ce4f1 100644 --- a/htdocs/core/modules/cheque/modules_chequereceipts.php +++ b/htdocs/core/modules/cheque/modules_chequereceipts.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2016 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 6047caa55b3..d35c6c7f177 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index 0bf4b91365e..07173f7db13 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/commande/doc/pdf_proforma.modules.php b/htdocs/core/modules/commande/doc/pdf_proforma.modules.php index 8d99fc00378..ebbe72f94c9 100644 --- a/htdocs/core/modules/commande/doc/pdf_proforma.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_proforma.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/commande/mod_commande_marbre.php b/htdocs/core/modules/commande/mod_commande_marbre.php index 8345d694cff..215d2380819 100644 --- a/htdocs/core/modules/commande/mod_commande_marbre.php +++ b/htdocs/core/modules/commande/mod_commande_marbre.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/commande/mod_commande_saphir.php b/htdocs/core/modules/commande/mod_commande_saphir.php index 588d6fffc6d..1b08c9c1105 100644 --- a/htdocs/core/modules/commande/mod_commande_saphir.php +++ b/htdocs/core/modules/commande/mod_commande_saphir.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/commande/modules_commande.php b/htdocs/core/modules/commande/modules_commande.php index 7a1ffea8792..d644de33a5d 100644 --- a/htdocs/core/modules/commande/modules_commande.php +++ b/htdocs/core/modules/commande/modules_commande.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2014 Marcos García diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php index fe0a79c6c8e..600d502f562 100644 --- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php +++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011 Fabrice CHERRIER * Copyright (C) 2013-2018 Philippe Grand diff --git a/htdocs/core/modules/contract/modules_contract.php b/htdocs/core/modules/contract/modules_contract.php index cd1ce4137cc..59290de7d82 100644 --- a/htdocs/core/modules/contract/modules_contract.php +++ b/htdocs/core/modules/contract/modules_contract.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013 Philippe Grand diff --git a/htdocs/core/modules/dons/html_cerfafr.modules.php b/htdocs/core/modules/dons/html_cerfafr.modules.php index 8f6c10119c4..cac7329cf5b 100644 --- a/htdocs/core/modules/dons/html_cerfafr.modules.php +++ b/htdocs/core/modules/dons/html_cerfafr.modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2006 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2014-2015 Alexandre Spangaro * Copyright (C) 2015 Benoit Bruchard diff --git a/htdocs/core/modules/dons/modules_don.php b/htdocs/core/modules/dons/modules_don.php index d8fbe92c2c7..aee52063227 100644 --- a/htdocs/core/modules/dons/modules_don.php +++ b/htdocs/core/modules/dons/modules_don.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005 Regis Houssin + * Copyright (C) 2005 Regis Houssin * * 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 diff --git a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php index 3d786bf111d..73de53f7904 100644 --- a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2015 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Marcos García * diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index daa8d67e5d1..5f46517e9a8 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014-2015 Marcos García * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/core/modules/expedition/modules_expedition.php b/htdocs/core/modules/expedition/modules_expedition.php index 51f41978732..a22ae0d0f99 100644 --- a/htdocs/core/modules/expedition/modules_expedition.php +++ b/htdocs/core/modules/expedition/modules_expedition.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2011-2013 Philippe Grand diff --git a/htdocs/core/modules/export/modules_export.php b/htdocs/core/modules/export/modules_export.php index 6436b501705..15536747a28 100644 --- a/htdocs/core/modules/export/modules_export.php +++ b/htdocs/core/modules/export/modules_export.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * * 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 diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index a823bae2d4b..b3366826d5c 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -1,6 +1,6 @@ -* Copyright (C) 2012 Regis Houssin +* Copyright (C) 2012 Regis Houssin * Copyright (C) 2014 Marcos García * Copyright (C) 2016 Charlie Benke * diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 797b48865c6..74fac8c5544 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index 439f81ab02e..7e28f11bb8a 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/facture/mod_facture_mars.php b/htdocs/core/modules/facture/mod_facture_mars.php index a1ed1e32d24..2bdad538ec9 100644 --- a/htdocs/core/modules/facture/mod_facture_mars.php +++ b/htdocs/core/modules/facture/mod_facture_mars.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/facture/mod_facture_mercure.php b/htdocs/core/modules/facture/mod_facture_mercure.php index dabd3fbd576..95e60c78398 100644 --- a/htdocs/core/modules/facture/mod_facture_mercure.php +++ b/htdocs/core/modules/facture/mod_facture_mercure.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2013 Juanjo Menent * diff --git a/htdocs/core/modules/facture/mod_facture_terre.php b/htdocs/core/modules/facture/mod_facture_terre.php index a55418a8cb5..4442451984f 100644 --- a/htdocs/core/modules/facture/mod_facture_terre.php +++ b/htdocs/core/modules/facture/mod_facture_terre.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * * 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 diff --git a/htdocs/core/modules/facture/modules_facture.php b/htdocs/core/modules/facture/modules_facture.php index 12d41903edb..fd9168150d6 100644 --- a/htdocs/core/modules/facture/modules_facture.php +++ b/htdocs/core/modules/facture/modules_facture.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php index b67da288ae7..b06922acdb9 100644 --- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php +++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011 Fabrice CHERRIER * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/core/modules/fichinter/mod_arctic.php b/htdocs/core/modules/fichinter/mod_arctic.php index 82013e94413..86f25dc4078 100644 --- a/htdocs/core/modules/fichinter/mod_arctic.php +++ b/htdocs/core/modules/fichinter/mod_arctic.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2013 Juanjo Menent * diff --git a/htdocs/core/modules/fichinter/mod_pacific.php b/htdocs/core/modules/fichinter/mod_pacific.php index dcf6baf5ef6..24f55192ff0 100644 --- a/htdocs/core/modules/fichinter/mod_pacific.php +++ b/htdocs/core/modules/fichinter/mod_pacific.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/fichinter/modules_fichinter.php b/htdocs/core/modules/fichinter/modules_fichinter.php index 2d3c4bebfe6..a0ab40ce7a0 100644 --- a/htdocs/core/modules/fichinter/modules_fichinter.php +++ b/htdocs/core/modules/fichinter/modules_fichinter.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Philippe Grand * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/holiday/modules_holiday.php b/htdocs/core/modules/holiday/modules_holiday.php index 07234c447e6..7f1c48fec10 100644 --- a/htdocs/core/modules/holiday/modules_holiday.php +++ b/htdocs/core/modules/holiday/modules_holiday.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013 Philippe Grand diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index 6b2e480db86..6db495e9f04 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2012-2016 Juanjo Menent * diff --git a/htdocs/core/modules/import/import_xlsx.modules.php b/htdocs/core/modules/import/import_xlsx.modules.php index f8b6aa99a82..d96dc18104f 100644 --- a/htdocs/core/modules/import/import_xlsx.modules.php +++ b/htdocs/core/modules/import/import_xlsx.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2012-2016 Juanjo Menent * diff --git a/htdocs/core/modules/import/modules_import.php b/htdocs/core/modules/import/modules_import.php index 214c04ad857..4c606b8bacf 100644 --- a/htdocs/core/modules/import/modules_import.php +++ b/htdocs/core/modules/import/modules_import.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php b/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php index 4793ebe7b27..b55e5907849 100644 --- a/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php +++ b/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2008 Chiptronik * Copyright (C) 2011-2018 Philippe Grand diff --git a/htdocs/core/modules/livraison/mod_livraison_jade.php b/htdocs/core/modules/livraison/mod_livraison_jade.php index 1fd598d02a7..8df38cbc3a2 100644 --- a/htdocs/core/modules/livraison/mod_livraison_jade.php +++ b/htdocs/core/modules/livraison/mod_livraison_jade.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/core/modules/livraison/mod_livraison_saphir.php b/htdocs/core/modules/livraison/mod_livraison_saphir.php index cbe105ef75c..76579f5e757 100644 --- a/htdocs/core/modules/livraison/mod_livraison_saphir.php +++ b/htdocs/core/modules/livraison/mod_livraison_saphir.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * * 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 diff --git a/htdocs/core/modules/livraison/modules_livraison.php b/htdocs/core/modules/livraison/modules_livraison.php index f9f7a5380f3..6dad7003ec5 100644 --- a/htdocs/core/modules/livraison/modules_livraison.php +++ b/htdocs/core/modules/livraison/modules_livraison.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2006-2011 Regis Houssin + * Copyright (C) 2006-2011 Regis Houssin * Copyright (C) 2011-2012 Philippe Grand * Copyright (C) 2014 Marcos García * diff --git a/htdocs/core/modules/mailings/advthirdparties.modules.php b/htdocs/core/modules/mailings/advthirdparties.modules.php index 4d149e0e5ef..bfd7f4b0d45 100644 --- a/htdocs/core/modules/mailings/advthirdparties.modules.php +++ b/htdocs/core/modules/mailings/advthirdparties.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * This file is an example to follow to add your own email selector inside * the Dolibarr email tool. diff --git a/htdocs/core/modules/mailings/contacts1.modules.php b/htdocs/core/modules/mailings/contacts1.modules.php index 8efefdbd079..7a4d53172f4 100644 --- a/htdocs/core/modules/mailings/contacts1.modules.php +++ b/htdocs/core/modules/mailings/contacts1.modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2009 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/mailings/fraise.modules.php b/htdocs/core/modules/mailings/fraise.modules.php index 9cf0f56f7e2..43798799acd 100644 --- a/htdocs/core/modules/mailings/fraise.modules.php +++ b/htdocs/core/modules/mailings/fraise.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/mailings/pomme.modules.php b/htdocs/core/modules/mailings/pomme.modules.php index 11ff4812d67..b2477c1fd55 100644 --- a/htdocs/core/modules/mailings/pomme.modules.php +++ b/htdocs/core/modules/mailings/pomme.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/mailings/thirdparties.modules.php b/htdocs/core/modules/mailings/thirdparties.modules.php index ad19264620a..49205cf6f80 100644 --- a/htdocs/core/modules/mailings/thirdparties.modules.php +++ b/htdocs/core/modules/mailings/thirdparties.modules.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * This file is an example to follow to add your own email selector inside * the Dolibarr email tool. diff --git a/htdocs/core/modules/member/modules_cards.php b/htdocs/core/modules/member/modules_cards.php index c931abce4ed..4f498d92158 100644 --- a/htdocs/core/modules/member/modules_cards.php +++ b/htdocs/core/modules/member/modules_cards.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 1f6fa467469..d69c20ab643 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2009-2011 Regis Houssin + * Copyright (C) 2009-2011 Regis Houssin * Copyright (C) 2013 Cedric Gross * Copyright (C) 2015 Bahfir Abbes * Copyright (C) 2017 Juanjo Menent diff --git a/htdocs/core/modules/modBanque.class.php b/htdocs/core/modules/modBanque.class.php index d6cc2431948..8cfcaaf83da 100644 --- a/htdocs/core/modules/modBanque.class.php +++ b/htdocs/core/modules/modBanque.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2008-2011 Regis Houssin + * Copyright (C) 2008-2011 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modBarcode.class.php b/htdocs/core/modules/modBarcode.class.php index c25d444eb8a..9e66bc3f995 100644 --- a/htdocs/core/modules/modBarcode.class.php +++ b/htdocs/core/modules/modBarcode.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modCommande.class.php b/htdocs/core/modules/modCommande.class.php index f8f96a119f0..069d36c333c 100644 --- a/htdocs/core/modules/modCommande.class.php +++ b/htdocs/core/modules/modCommande.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modContrat.class.php b/htdocs/core/modules/modContrat.class.php index 36764d43ba4..2ed01afee83 100644 --- a/htdocs/core/modules/modContrat.class.php +++ b/htdocs/core/modules/modContrat.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2011 Juanjo Menent * 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 diff --git a/htdocs/core/modules/modDeplacement.class.php b/htdocs/core/modules/modDeplacement.class.php index 9fd5b618c0c..285d795ea11 100644 --- a/htdocs/core/modules/modDeplacement.class.php +++ b/htdocs/core/modules/modDeplacement.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modDocumentGeneration.class.php b/htdocs/core/modules/modDocumentGeneration.class.php index f9e3378f5ea..a2ea9dea7c8 100644 --- a/htdocs/core/modules/modDocumentGeneration.class.php +++ b/htdocs/core/modules/modDocumentGeneration.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modDon.class.php b/htdocs/core/modules/modDon.class.php index 76bdb2ccb63..325f6533f51 100644 --- a/htdocs/core/modules/modDon.class.php +++ b/htdocs/core/modules/modDon.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modExpedition.class.php b/htdocs/core/modules/modExpedition.class.php index 8634adb0348..06cb8272ce0 100644 --- a/htdocs/core/modules/modExpedition.class.php +++ b/htdocs/core/modules/modExpedition.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013 Philippe Grand * diff --git a/htdocs/core/modules/modExport.class.php b/htdocs/core/modules/modExport.class.php index 9c6f7af335f..4847ae4da2e 100644 --- a/htdocs/core/modules/modExport.class.php +++ b/htdocs/core/modules/modExport.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modExternalSite.class.php b/htdocs/core/modules/modExternalSite.class.php index 374e9b2f02a..088e93955ef 100644 --- a/htdocs/core/modules/modExternalSite.class.php +++ b/htdocs/core/modules/modExternalSite.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index 54aa96b5aa3..f8982ae2893 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modFckeditor.class.php b/htdocs/core/modules/modFckeditor.class.php index fe2fac72b7a..6f297ce3dc6 100644 --- a/htdocs/core/modules/modFckeditor.class.php +++ b/htdocs/core/modules/modFckeditor.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modFicheinter.class.php b/htdocs/core/modules/modFicheinter.class.php index 5e4dda76868..b1b18da2508 100644 --- a/htdocs/core/modules/modFicheinter.class.php +++ b/htdocs/core/modules/modFicheinter.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modFournisseur.class.php b/htdocs/core/modules/modFournisseur.class.php index 7b50cb7ae3e..16712d21ec2 100644 --- a/htdocs/core/modules/modFournisseur.class.php +++ b/htdocs/core/modules/modFournisseur.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2013-2015 Philippe Grand * diff --git a/htdocs/core/modules/modHoliday.class.php b/htdocs/core/modules/modHoliday.class.php index 91fb69dd4de..cfe722454e5 100644 --- a/htdocs/core/modules/modHoliday.class.php +++ b/htdocs/core/modules/modHoliday.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2011 Dimitri Mouillard * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2018 Charlene Benke diff --git a/htdocs/core/modules/modImport.class.php b/htdocs/core/modules/modImport.class.php index 72677787d94..528b4531074 100644 --- a/htdocs/core/modules/modImport.class.php +++ b/htdocs/core/modules/modImport.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modIncoterm.class.php b/htdocs/core/modules/modIncoterm.class.php index 95949eeb05a..be83d83311b 100644 --- a/htdocs/core/modules/modIncoterm.class.php +++ b/htdocs/core/modules/modIncoterm.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modLabel.class.php b/htdocs/core/modules/modLabel.class.php index 8c8a670a54d..6dd268fc360 100644 --- a/htdocs/core/modules/modLabel.class.php +++ b/htdocs/core/modules/modLabel.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2007-2009 Regis Houssin * Copyright (C) 2008 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modLdap.class.php b/htdocs/core/modules/modLdap.class.php index 90577ae3ccf..7762ea832a4 100644 --- a/htdocs/core/modules/modLdap.class.php +++ b/htdocs/core/modules/modLdap.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modMailing.class.php b/htdocs/core/modules/modMailing.class.php index 749369ee8e9..3605fa58d09 100644 --- a/htdocs/core/modules/modMailing.class.php +++ b/htdocs/core/modules/modMailing.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modMultiCurrency.class.php b/htdocs/core/modules/modMultiCurrency.class.php index 9e838a8605b..f371c2a2919 100644 --- a/htdocs/core/modules/modMultiCurrency.class.php +++ b/htdocs/core/modules/modMultiCurrency.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2016 Regis Houssin + * Copyright (C) 2005-2016 Regis Houssin * Copyright (C) 2016 Pierre-Henry Favre * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modPaypal.class.php b/htdocs/core/modules/modPaypal.class.php index a11fa41b7a6..cc23448b3eb 100644 --- a/htdocs/core/modules/modPaypal.class.php +++ b/htdocs/core/modules/modPaypal.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modPrelevement.class.php b/htdocs/core/modules/modPrelevement.class.php index e3f8c76498e..2753c7e76ab 100644 --- a/htdocs/core/modules/modPrelevement.class.php +++ b/htdocs/core/modules/modPrelevement.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index 58fc5b78c9f..03a7676c49c 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012-2013 Juanjo Menent * Copyright (C) 2014 Christophe Battarel * Copyright (C) 2014 Cedric Gross diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 99c2a6fa73c..55a800bd366 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013-2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index 47b02916bb0..0fe29c2d209 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2014 Charles-Fr BENKE * diff --git a/htdocs/core/modules/modPropale.class.php b/htdocs/core/modules/modPropale.class.php index 644b8f2e2f0..c7bf0f6979f 100644 --- a/htdocs/core/modules/modPropale.class.php +++ b/htdocs/core/modules/modPropale.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php index 727b410cacb..056b2c19785 100644 --- a/htdocs/core/modules/modSalaries.class.php +++ b/htdocs/core/modules/modSalaries.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Alexandre Spangaro * diff --git a/htdocs/core/modules/modService.class.php b/htdocs/core/modules/modService.class.php index 9ddf3f8b2e5..89bb423ebd7 100644 --- a/htdocs/core/modules/modService.class.php +++ b/htdocs/core/modules/modService.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php index 4ee331dc017..9600732ba2f 100644 --- a/htdocs/core/modules/modSociete.class.php +++ b/htdocs/core/modules/modSociete.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2012-2014 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php index 01b4e9d4474..4cdc5aabf83 100644 --- a/htdocs/core/modules/modStock.class.php +++ b/htdocs/core/modules/modStock.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modSupplierProposal.class.php b/htdocs/core/modules/modSupplierProposal.class.php index ca8f5960f03..570680b163b 100644 --- a/htdocs/core/modules/modSupplierProposal.class.php +++ b/htdocs/core/modules/modSupplierProposal.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modTax.class.php b/htdocs/core/modules/modTax.class.php index 7dacae51b67..ee04d79ebcb 100644 --- a/htdocs/core/modules/modTax.class.php +++ b/htdocs/core/modules/modTax.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 12961438b24..a8cd523959e 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2009 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/modVariants.class.php b/htdocs/core/modules/modVariants.class.php index faac67da78c..1bf6c599102 100644 --- a/htdocs/core/modules/modVariants.class.php +++ b/htdocs/core/modules/modVariants.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2016 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modWorkflow.class.php b/htdocs/core/modules/modWorkflow.class.php index 882e8aebf53..771d718af70 100644 --- a/htdocs/core/modules/modWorkflow.class.php +++ b/htdocs/core/modules/modWorkflow.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/printsheet/modules_labels.php b/htdocs/core/modules/printsheet/modules_labels.php index ddf061d95e9..7a34d5e7e64 100644 --- a/htdocs/core/modules/printsheet/modules_labels.php +++ b/htdocs/core/modules/printsheet/modules_labels.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/product/mod_codeproduct_elephant.php b/htdocs/core/modules/product/mod_codeproduct_elephant.php index f051fab7f8e..1b455743cb2 100644 --- a/htdocs/core/modules/product/mod_codeproduct_elephant.php +++ b/htdocs/core/modules/product/mod_codeproduct_elephant.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2009 Laurent Destailleur - * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2007-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/product/modules_product.class.php b/htdocs/core/modules/product/modules_product.class.php index b632f387d05..10470d4d9f0 100644 --- a/htdocs/core/modules/product/modules_product.class.php +++ b/htdocs/core/modules/product/modules_product.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/product_batch/modules_product_batch.class.php b/htdocs/core/modules/product_batch/modules_product_batch.class.php index 31e0ec676b2..0a2076e4ed0 100644 --- a/htdocs/core/modules/product_batch/modules_product_batch.class.php +++ b/htdocs/core/modules/product_batch/modules_product_batch.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/project/doc/pdf_baleine.modules.php b/htdocs/core/modules/project/doc/pdf_baleine.modules.php index d7d6c154881..11305e8a246 100644 --- a/htdocs/core/modules/project/doc/pdf_baleine.modules.php +++ b/htdocs/core/modules/project/doc/pdf_baleine.modules.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2018 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/project/doc/pdf_beluga.modules.php b/htdocs/core/modules/project/doc/pdf_beluga.modules.php index fe33d093083..40ae5097d2f 100644 --- a/htdocs/core/modules/project/doc/pdf_beluga.modules.php +++ b/htdocs/core/modules/project/doc/pdf_beluga.modules.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2015 Charlie Benke * Copyright (C) 2018 Laurent Destailleur * diff --git a/htdocs/core/modules/project/doc/pdf_timespent.modules.php b/htdocs/core/modules/project/doc/pdf_timespent.modules.php index 718e618b16d..a299a9758c7 100644 --- a/htdocs/core/modules/project/doc/pdf_timespent.modules.php +++ b/htdocs/core/modules/project/doc/pdf_timespent.modules.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * 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 diff --git a/htdocs/core/modules/project/mod_project_simple.php b/htdocs/core/modules/project/mod_project_simple.php index 94f2db957a3..46afc144da3 100644 --- a/htdocs/core/modules/project/mod_project_simple.php +++ b/htdocs/core/modules/project/mod_project_simple.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/project/mod_project_universal.php b/htdocs/core/modules/project/mod_project_universal.php index 0d11ac820c0..d1dd95b22bc 100644 --- a/htdocs/core/modules/project/mod_project_universal.php +++ b/htdocs/core/modules/project/mod_project_universal.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/modules/project/modules_project.php b/htdocs/core/modules/project/modules_project.php index e6a688e97e8..af9877d59cb 100644 --- a/htdocs/core/modules/project/modules_project.php +++ b/htdocs/core/modules/project/modules_project.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2014 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/project/task/mod_task_simple.php b/htdocs/core/modules/project/task/mod_task_simple.php index 48e9cfe557e..4450c57347d 100644 --- a/htdocs/core/modules/project/task/mod_task_simple.php +++ b/htdocs/core/modules/project/task/mod_task_simple.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/project/task/mod_task_universal.php b/htdocs/core/modules/project/task/mod_task_universal.php index 6f46f914b07..3272d180c50 100644 --- a/htdocs/core/modules/project/task/mod_task_universal.php +++ b/htdocs/core/modules/project/task/mod_task_universal.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/modules/project/task/modules_task.php b/htdocs/core/modules/project/task/modules_task.php index c9d7aa52bf4..ef7a9be4e98 100644 --- a/htdocs/core/modules/project/task/modules_task.php +++ b/htdocs/core/modules/project/task/modules_task.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2010 Florian Henry * Copyright (C) 2014 Marcos García * diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 8c2dfd21a89..e369018c80b 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index 464bef3da96..c93fc9a7c81 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/propale/mod_propale_marbre.php b/htdocs/core/modules/propale/mod_propale_marbre.php index 427d4596636..ef91cf1d2f3 100644 --- a/htdocs/core/modules/propale/mod_propale_marbre.php +++ b/htdocs/core/modules/propale/mod_propale_marbre.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/propale/mod_propale_saphir.php b/htdocs/core/modules/propale/mod_propale_saphir.php index 913743eb93d..47f71b5ffed 100644 --- a/htdocs/core/modules/propale/mod_propale_saphir.php +++ b/htdocs/core/modules/propale/mod_propale_saphir.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/propale/modules_propale.php b/htdocs/core/modules/propale/modules_propale.php index c7514ab973c..595534c40f4 100644 --- a/htdocs/core/modules/propale/modules_propale.php +++ b/htdocs/core/modules/propale/modules_propale.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php b/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php index a95a48d20b2..c4db7a40e7b 100644 --- a/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php +++ b/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/core/modules/societe/mod_codeclient_elephant.php b/htdocs/core/modules/societe/mod_codeclient_elephant.php index 621bbd08d3e..e0d6a186879 100644 --- a/htdocs/core/modules/societe/mod_codeclient_elephant.php +++ b/htdocs/core/modules/societe/mod_codeclient_elephant.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2009 Laurent Destailleur - * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2007-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013-2018 Philippe Grand * diff --git a/htdocs/core/modules/societe/mod_codeclient_monkey.php b/htdocs/core/modules/societe/mod_codeclient_monkey.php index c18950a87d1..6077296101f 100644 --- a/htdocs/core/modules/societe/mod_codeclient_monkey.php +++ b/htdocs/core/modules/societe/mod_codeclient_monkey.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2007 Laurent Destailleur - * Copyright (C) 2006-2012 Regis Houssin + * Copyright (C) 2006-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/societe/modules_societe.class.php b/htdocs/core/modules/societe/modules_societe.class.php index 692dcbf185c..a38acbc002a 100644 --- a/htdocs/core/modules/societe/modules_societe.class.php +++ b/htdocs/core/modules/societe/modules_societe.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php index 28474f094f1..908b3c8ba41 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2016 Alexandre Spangaro * diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index 8e6dddeebd5..a3cb291263a 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2016 Alexandre Spangaro diff --git a/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php b/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php index 064be2e1f41..d1b28ebd0bd 100644 --- a/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php +++ b/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013-2016 Philippe Grand * Copyright (C) 2014 Marcos García * diff --git a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php index 8448c61f62b..4b599a1f769 100644 --- a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php +++ b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php index 1645ce796b2..3c8af4cd5a0 100644 --- a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php +++ b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/core/modules/supplier_order/modules_commandefournisseur.php b/htdocs/core/modules/supplier_order/modules_commandefournisseur.php index edb047510d5..7a6c7d4972d 100644 --- a/htdocs/core/modules/supplier_order/modules_commandefournisseur.php +++ b/htdocs/core/modules/supplier_order/modules_commandefournisseur.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2005 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2011-2016 Philippe Grand * Copyright (C) 2014 Marcos García diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index d869b5dd72d..e89a5afa801 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2015 Marcos García diff --git a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php index 544a1040c9f..525fdca1d59 100644 --- a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2012 Christophe Battarel diff --git a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php index e7fb65f7612..847eb49958d 100644 --- a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php +++ b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php index 4827acdc9c8..fdbd9f1f90d 100644 --- a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php +++ b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php b/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php index df7c5ba7553..b96dc2c4e12 100644 --- a/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php +++ b/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/core/modules/ticket/mod_ticket_simple.php b/htdocs/core/modules/ticket/mod_ticket_simple.php index c744453a899..d121748c285 100644 --- a/htdocs/core/modules/ticket/mod_ticket_simple.php +++ b/htdocs/core/modules/ticket/mod_ticket_simple.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/ticket/mod_ticket_universal.php b/htdocs/core/modules/ticket/mod_ticket_universal.php index a8170935eb0..e9e89cf4b45 100644 --- a/htdocs/core/modules/ticket/mod_ticket_universal.php +++ b/htdocs/core/modules/ticket/mod_ticket_universal.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/modules/ticket/modules_ticket.php b/htdocs/core/modules/ticket/modules_ticket.php index 28587825d34..b66eb30422f 100644 --- a/htdocs/core/modules/ticket/modules_ticket.php +++ b/htdocs/core/modules/ticket/modules_ticket.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2014 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/user/modules_user.class.php b/htdocs/core/modules/user/modules_user.class.php index e7f071f01fd..3dc46707543 100644 --- a/htdocs/core/modules/user/modules_user.class.php +++ b/htdocs/core/modules/user/modules_user.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/modules/usergroup/modules_usergroup.class.php b/htdocs/core/modules/usergroup/modules_usergroup.class.php index caa79594080..fc9648ab6e9 100644 --- a/htdocs/core/modules/usergroup/modules_usergroup.class.php +++ b/htdocs/core/modules/usergroup/modules_usergroup.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/core/photos_resize.php b/htdocs/core/photos_resize.php index f4f178031de..bf0a7a17538 100644 --- a/htdocs/core/photos_resize.php +++ b/htdocs/core/photos_resize.php @@ -1,7 +1,7 @@ * Copyright (C) 2009 Meos - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2016 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/tools.php b/htdocs/core/tools.php index 3ceaaf17d33..524dee2d787 100644 --- a/htdocs/core/tools.php +++ b/htdocs/core/tools.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/core/tpl/admin_extrafields_add.tpl.php b/htdocs/core/tpl/admin_extrafields_add.tpl.php index 2c971c7a553..3c852bb7b26 100644 --- a/htdocs/core/tpl/admin_extrafields_add.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_add.tpl.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2016 Charlie Benke * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/core/tpl/admin_extrafields_edit.tpl.php b/htdocs/core/tpl/admin_extrafields_edit.tpl.php index d4dc2776fde..7a533b496a4 100644 --- a/htdocs/core/tpl/admin_extrafields_edit.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_edit.tpl.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/tpl/admin_extrafields_view.tpl.php b/htdocs/core/tpl/admin_extrafields_view.tpl.php index 2672e593820..42f62d03ff7 100644 --- a/htdocs/core/tpl/admin_extrafields_view.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_view.tpl.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012-2017 Regis Houssin + * Copyright (C) 2012-2017 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/tpl/ajax/fileupload_main.tpl.php b/htdocs/core/tpl/ajax/fileupload_main.tpl.php index 93f0826e160..c68abf1ca0a 100644 --- a/htdocs/core/tpl/ajax/fileupload_main.tpl.php +++ b/htdocs/core/tpl/ajax/fileupload_main.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2013 Regis Houssin * * 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 diff --git a/htdocs/core/tpl/ajax/fileupload_view.tpl.php b/htdocs/core/tpl/ajax/fileupload_view.tpl.php index 482a3aef8e4..12ef47abc18 100644 --- a/htdocs/core/tpl/ajax/fileupload_view.tpl.php +++ b/htdocs/core/tpl/ajax/fileupload_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2012 Regis Houssin * * 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 diff --git a/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php b/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php index ad32f1b9aa8..7c18dc39309 100644 --- a/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php +++ b/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2013 Regis Houssin * * 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 diff --git a/htdocs/core/tpl/ajaxrow.tpl.php b/htdocs/core/tpl/ajaxrow.tpl.php index 4ae64ea82ed..0a282b13dc6 100644 --- a/htdocs/core/tpl/ajaxrow.tpl.php +++ b/htdocs/core/tpl/ajaxrow.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010-2016 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/tpl/bloc_showhide.tpl.php b/htdocs/core/tpl/bloc_showhide.tpl.php index 3f9c1eb0a1d..8a45ab3fc37 100644 --- a/htdocs/core/tpl/bloc_showhide.tpl.php +++ b/htdocs/core/tpl/bloc_showhide.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Laurent Destailleur * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/core/tpl/contacts.tpl.php b/htdocs/core/tpl/contacts.tpl.php index cc361be5e60..9ae34602ef6 100644 --- a/htdocs/core/tpl/contacts.tpl.php +++ b/htdocs/core/tpl/contacts.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013-2015 Laurent Destailleur * Copyright (C) 2015-2016 Charlie BENKE * diff --git a/htdocs/core/tpl/error.tpl.php b/htdocs/core/tpl/error.tpl.php index 8fb1641a364..6e120851b98 100644 --- a/htdocs/core/tpl/error.tpl.php +++ b/htdocs/core/tpl/error.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/tpl/footer.tpl.php b/htdocs/core/tpl/footer.tpl.php index 8fb1641a364..6e120851b98 100644 --- a/htdocs/core/tpl/footer.tpl.php +++ b/htdocs/core/tpl/footer.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/tpl/header.tpl.php b/htdocs/core/tpl/header.tpl.php index 1b97d4fd763..63f64441f4c 100644 --- a/htdocs/core/tpl/header.tpl.php +++ b/htdocs/core/tpl/header.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index f3367d3e90f..0403590e40d 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2009-2015 Regis Houssin * Copyright (C) 2011-2013 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/tpl/notes.tpl.php b/htdocs/core/tpl/notes.tpl.php index 39132dd1af7..39e5c545f1b 100644 --- a/htdocs/core/tpl/notes.tpl.php +++ b/htdocs/core/tpl/notes.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2017 Laurent Destailleur * diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php index 23640216cd9..2489a40c5d7 100644 --- a/htdocs/core/tpl/objectline_create.tpl.php +++ b/htdocs/core/tpl/objectline_create.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010-2014 Laurent Destailleur * Copyright (C) 2012-2013 Christophe Battarel * Copyright (C) 2012 Cédric Salvador diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index 0a5f3bc43bd..ebb2863dbfa 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010-2012 Laurent Destailleur * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2012 Cédric Salvador diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index 776506bdaee..aeaa4cf9959 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2013 Regis Houssin * Copyright (C) 2010-2011 Laurent Destailleur * Copyright (C) 2012-2013 Christophe Battarel * Copyright (C) 2012 Cédric Salvador diff --git a/htdocs/core/tpl/originproductline.tpl.php b/htdocs/core/tpl/originproductline.tpl.php index defcdb4fd72..9274359eada 100644 --- a/htdocs/core/tpl/originproductline.tpl.php +++ b/htdocs/core/tpl/originproductline.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin /* Copyright (C) 2017 Charlie Benke * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/tpl/passwordforgotten.tpl.php b/htdocs/core/tpl/passwordforgotten.tpl.php index 101c9ec7e67..52f48c67950 100644 --- a/htdocs/core/tpl/passwordforgotten.tpl.php +++ b/htdocs/core/tpl/passwordforgotten.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2009-2010 Regis Houssin * Copyright (C) 2011-2013 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/triggers/interface_20_all_Logevents.class.php b/htdocs/core/triggers/interface_20_all_Logevents.class.php index 772e9b39a51..4d5d7e74280 100644 --- a/htdocs/core/triggers/interface_20_all_Logevents.class.php +++ b/htdocs/core/triggers/interface_20_all_Logevents.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2017 Regis Houssin + * Copyright (C) 2009-2017 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index 90806746da8..39b48cd2315 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2011-2017 Laurent Destailleur * Copyright (C) 2014 Marcos García * diff --git a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php index 938b63d90f3..d791b7f1499 100644 --- a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php +++ b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2009-2017 Regis Houssin + * Copyright (C) 2009-2017 Regis Houssin * Copyright (C) 2011-2014 Juanjo Menent * Copyright (C) 2013 Cedric GROSS * Copyright (C) 2014 Marcos García diff --git a/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php b/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php index 7d528b55c30..a5ef414a6e5 100644 --- a/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php +++ b/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/triggers/interface_50_modNotification_Notification.class.php b/htdocs/core/triggers/interface_50_modNotification_Notification.class.php index f5995c47c84..41dada263b4 100644 --- a/htdocs/core/triggers/interface_50_modNotification_Notification.class.php +++ b/htdocs/core/triggers/interface_50_modNotification_Notification.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * Copyright (C) 2013-2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/cron/admin/cron.php b/htdocs/cron/admin/cron.php index 647aa8b96e3..9140973a566 100644 --- a/htdocs/cron/admin/cron.php +++ b/htdocs/cron/admin/cron.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2005-2013 Laurent Destailleur * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/document.php b/htdocs/document.php index 735910f47eb..07cc7cea77b 100644 --- a/htdocs/document.php +++ b/htdocs/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2007 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005 Simon Tosser - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Pierre Morin * Copyright (C) 2010 Juanjo Menent * diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 38465de95ca..f3d8667dffb 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015-2016 Alexandre Spangaro * Copyright (C) 2018 Thibault FOUCART diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 6abd093c8c3..5e035febd14 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2014 Florian Henry * Copyright (C) 2015-2017 Alexandre Spangaro * Copyright (C) 2016 Juanjo Menent diff --git a/htdocs/don/class/donstats.class.php b/htdocs/don/class/donstats.class.php index ed048dc04a4..e5e34f6ad1b 100644 --- a/htdocs/don/class/donstats.class.php +++ b/htdocs/don/class/donstats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/don/document.php b/htdocs/don/document.php index 01aab513a6a..cdcb5648501 100644 --- a/htdocs/don/document.php +++ b/htdocs/don/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/don/index.php b/htdocs/don/index.php index d9bee39723c..ba68a1a215c 100644 --- a/htdocs/don/index.php +++ b/htdocs/don/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/don/list.php b/htdocs/don/list.php index 782a3afba75..47408fe4bb5 100644 --- a/htdocs/don/list.php +++ b/htdocs/don/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/don/note.php b/htdocs/don/note.php index 3a5c55f7c6d..60bf2c1939f 100644 --- a/htdocs/don/note.php +++ b/htdocs/don/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2016 Alexandre Spangaro * diff --git a/htdocs/don/stats/index.php b/htdocs/don/stats/index.php index e71212e806a..5e7e08c0ee2 100644 --- a/htdocs/don/stats/index.php +++ b/htdocs/don/stats/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/don/tpl/linkedobjectblock.tpl.php b/htdocs/don/tpl/linkedobjectblock.tpl.php index f8d51bb6e35..f2d3178fc79 100644 --- a/htdocs/don/tpl/linkedobjectblock.tpl.php +++ b/htdocs/don/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * Copyright (C) 2017 Charlene Benke diff --git a/htdocs/ecm/ajax/ecmdatabase.php b/htdocs/ecm/ajax/ecmdatabase.php index 666c6df9217..9c4b9ffa952 100644 --- a/htdocs/ecm/ajax/ecmdatabase.php +++ b/htdocs/ecm/ajax/ecmdatabase.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/ecm/class/ecmdirectory.class.php b/htdocs/ecm/class/ecmdirectory.class.php index d3fdd115ffa..3d1ecac9088 100644 --- a/htdocs/ecm/class/ecmdirectory.class.php +++ b/htdocs/ecm/class/ecmdirectory.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2012 Regis Houssin + * Copyright (C) 2008-2012 Regis Houssin * * 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 diff --git a/htdocs/ecm/dir_add_card.php b/htdocs/ecm/dir_add_card.php index 922c06f0cc2..b608f72e23e 100644 --- a/htdocs/ecm/dir_add_card.php +++ b/htdocs/ecm/dir_add_card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2012 Regis Houssin + * Copyright (C) 2008-2012 Regis Houssin * Copyright (C) 2015-2016 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/ecm/index.php b/htdocs/ecm/index.php index faac5eba10d..86eec8aa09a 100644 --- a/htdocs/ecm/index.php +++ b/htdocs/ecm/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2010 Regis Houssin + * Copyright (C) 2008-2010 Regis Houssin * * 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 diff --git a/htdocs/ecm/index_auto.php b/htdocs/ecm/index_auto.php index ea5e5c13ff2..8ff31e54e3c 100644 --- a/htdocs/ecm/index_auto.php +++ b/htdocs/ecm/index_auto.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2010 Regis Houssin + * Copyright (C) 2008-2010 Regis Houssin * Copyright (C) 2016 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/ecm/search.php b/htdocs/ecm/search.php index bbf4fbbec1c..1b9a6bcb8d7 100644 --- a/htdocs/ecm/search.php +++ b/htdocs/ecm/search.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2009 Regis Houssin + * Copyright (C) 2008-2009 Regis Houssin * * 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 diff --git a/htdocs/ecm/tpl/enablefiletreeajax.tpl.php b/htdocs/ecm/tpl/enablefiletreeajax.tpl.php index 5fe466803fb..ad992da84dc 100644 --- a/htdocs/ecm/tpl/enablefiletreeajax.tpl.php +++ b/htdocs/ecm/tpl/enablefiletreeajax.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2018 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 292bf5e1de8..f92660a0110 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2008 Rodolphe Quiedeville * Copyright (C) 2005-2016 Laurent Destailleur * Copyright (C) 2005 Simon TOSSER - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2017 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Marcos García diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 99b288e3703..bfc356d945b 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2006-2012 Laurent Destailleur * Copyright (C) 2011-2017 Juanjo Menent diff --git a/htdocs/expedition/class/expeditionstats.class.php b/htdocs/expedition/class/expeditionstats.class.php index dcdf9c97617..26f7bda7a2a 100644 --- a/htdocs/expedition/class/expeditionstats.class.php +++ b/htdocs/expedition/class/expeditionstats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expedition/contact.php b/htdocs/expedition/contact.php index ce31e760b7f..f9ea697e50d 100644 --- a/htdocs/expedition/contact.php +++ b/htdocs/expedition/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/expedition/document.php b/htdocs/expedition/document.php index 2be84cf26b7..21f357b667e 100644 --- a/htdocs/expedition/document.php +++ b/htdocs/expedition/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/expedition/index.php b/htdocs/expedition/index.php index 8dde7bf0125..b34b149026c 100644 --- a/htdocs/expedition/index.php +++ b/htdocs/expedition/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/expedition/list.php b/htdocs/expedition/list.php index c3632ca57fd..19db21671d8 100644 --- a/htdocs/expedition/list.php +++ b/htdocs/expedition/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2016-2018 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expedition/note.php b/htdocs/expedition/note.php index f276b2d0cb4..01aa08f34af 100644 --- a/htdocs/expedition/note.php +++ b/htdocs/expedition/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expedition/shipment.php b/htdocs/expedition/shipment.php index 920b5508e59..50307a56f38 100644 --- a/htdocs/expedition/shipment.php +++ b/htdocs/expedition/shipment.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012-2015 Juanjo Menent * Copyright (C) 2018 Frédéric France * Copyright (C) 2018 Philippe Grand diff --git a/htdocs/expedition/stats/index.php b/htdocs/expedition/stats/index.php index 43cf63cd3b3..a0631d8da23 100644 --- a/htdocs/expedition/stats/index.php +++ b/htdocs/expedition/stats/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/expedition/tpl/linkedobjectblock.tpl.php b/htdocs/expedition/tpl/linkedobjectblock.tpl.php index 72abfe2c4d9..ce2b9cf8009 100644 --- a/htdocs/expedition/tpl/linkedobjectblock.tpl.php +++ b/htdocs/expedition/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expensereport/ajax/ajaxprojet.php b/htdocs/expensereport/ajax/ajaxprojet.php index bc704f7a4f3..ebb7b2d47ec 100644 --- a/htdocs/expensereport/ajax/ajaxprojet.php +++ b/htdocs/expensereport/ajax/ajaxprojet.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2010 Cyrille de Lambert * diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index d16674f67d0..27085687986 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015-2017 Alexandre Spangaro * Copyright (C) 2017 Ferran Marcet * Copyright (C) 2018 Frédéric France diff --git a/htdocs/expensereport/class/expensereportstats.class.php b/htdocs/expensereport/class/expensereportstats.class.php index bc306d27e4b..7901e813edc 100644 --- a/htdocs/expensereport/class/expensereportstats.class.php +++ b/htdocs/expensereport/class/expensereportstats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2008 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/expensereport/document.php b/htdocs/expensereport/document.php index 6cfb3a2f7bc..c788583d316 100644 --- a/htdocs/expensereport/document.php +++ b/htdocs/expensereport/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index 9a947b8596e..4748bd2c2a4 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index d328cd21de2..1990a2e98d6 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2018 Ferran Marcet * diff --git a/htdocs/expensereport/note.php b/htdocs/expensereport/note.php index deb38abe8d6..3beb7f49da5 100644 --- a/htdocs/expensereport/note.php +++ b/htdocs/expensereport/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expensereport/tpl/linkedobjectblock.tpl.php b/htdocs/expensereport/tpl/linkedobjectblock.tpl.php index 2d040834a12..aa529b17da2 100644 --- a/htdocs/expensereport/tpl/linkedobjectblock.tpl.php +++ b/htdocs/expensereport/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index 46d21eba031..7d908161071 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Charles-Fr BENKE * Copyright (C) 2016 Raphaël Doursenaud * diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index f0060ffd029..7cb69ee9a3f 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2012 Charles-Fr BENKE * Copyright (C) 2015 Juanjo Menent diff --git a/htdocs/fichinter/admin/fichinter_extrafields.php b/htdocs/fichinter/admin/fichinter_extrafields.php index bcda9b4847b..b74010c5882 100644 --- a/htdocs/fichinter/admin/fichinter_extrafields.php +++ b/htdocs/fichinter/admin/fichinter_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fichinter/admin/fichinterdet_extrafields.php b/htdocs/fichinter/admin/fichinterdet_extrafields.php index 8046ef41a18..4dceaf9c354 100644 --- a/htdocs/fichinter/admin/fichinterdet_extrafields.php +++ b/htdocs/fichinter/admin/fichinterdet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fichinter/card-rec.php b/htdocs/fichinter/card-rec.php index 0113f7fbea6..c75ad6ab9e7 100644 --- a/htdocs/fichinter/card-rec.php +++ b/htdocs/fichinter/card-rec.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 5896a5c5723..5865159f9b8 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2011-2017 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2018 Ferran Marcet diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index 05a139e2a9a..17117768dc6 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2015 Marcos García * Copyright (C) 2015 Charlie Benke diff --git a/htdocs/fichinter/class/fichinterstats.class.php b/htdocs/fichinter/class/fichinterstats.class.php index 40a1b7eef2f..0475a2116eb 100644 --- a/htdocs/fichinter/class/fichinterstats.class.php +++ b/htdocs/fichinter/class/fichinterstats.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fichinter/contact.php b/htdocs/fichinter/contact.php index b69aa5952fa..54ad6733e69 100644 --- a/htdocs/fichinter/contact.php +++ b/htdocs/fichinter/contact.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007-2009 Laurent Destailleur * Copyright (C) 2012 Juanjo Menent * diff --git a/htdocs/fichinter/document.php b/htdocs/fichinter/document.php index 42273785a61..966c3b3f7db 100644 --- a/htdocs/fichinter/document.php +++ b/htdocs/fichinter/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/fichinter/index.php b/htdocs/fichinter/index.php index 9e5f1526969..b1798d77e66 100644 --- a/htdocs/fichinter/index.php +++ b/htdocs/fichinter/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Charlie Benke * diff --git a/htdocs/fichinter/info.php b/htdocs/fichinter/info.php index fe3d14191d6..93494c122d5 100644 --- a/htdocs/fichinter/info.php +++ b/htdocs/fichinter/info.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2009-2016 Laurent Destailleur * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2017 Ferran Marcet diff --git a/htdocs/fichinter/list.php b/htdocs/fichinter/list.php index 96a1199255c..a74b8c09a3d 100644 --- a/htdocs/fichinter/list.php +++ b/htdocs/fichinter/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Jean-François Ferry diff --git a/htdocs/fichinter/note.php b/htdocs/fichinter/note.php index cece45fdab5..c40792bc8b8 100644 --- a/htdocs/fichinter/note.php +++ b/htdocs/fichinter/note.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Ferran Marcet diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index f886266a701..484229a1de2 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2005 Simon Tosser * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/fourn/card.php b/htdocs/fourn/card.php index 92498e99589..235a3c85396 100644 --- a/htdocs/fourn/card.php +++ b/htdocs/fourn/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2014 Jean Heimburger * Copyright (C) 2015 Marcos García diff --git a/htdocs/fourn/class/fournisseur.class.php b/htdocs/fourn/class/fournisseur.class.php index 878f4bee67e..0636a356111 100644 --- a/htdocs/fourn/class/fournisseur.class.php +++ b/htdocs/fourn/class/fournisseur.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2006 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index ced75842606..70c46d94eb2 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2010-2018 Philippe Grand diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 58230038fcc..5d8526ef9bd 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2017 Juanjo Menent * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index a86e728e028..c75e111b1ad 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2011 Laurent Destailleur - * Copyright (C) 2009-2014 Regis Houssin + * Copyright (C) 2009-2014 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2015 Marcos García diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index a366faa0400..a4a14e4049a 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2004 Rodolphe Quiedeville * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2014 Marcos García * Copyright (C) 2018 Nicolas ZABOURI diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 70fcaf004fb..8098946b186 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2006 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2016 Regis Houssin + * Copyright (C) 2005-2016 Regis Houssin * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand * Copyright (C) 2012-2016 Marcos García diff --git a/htdocs/fourn/commande/contact.php b/htdocs/fourn/commande/contact.php index c69c92ead29..08e30d04b7f 100644 --- a/htdocs/fourn/commande/contact.php +++ b/htdocs/fourn/commande/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2009 Destailleur Laurent - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 7f2e5ba4139..5b5ae13f86b 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2006 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2014 Cedric Gross * Copyright (C) 2016 Florian Henry diff --git a/htdocs/fourn/commande/document.php b/htdocs/fourn/commande/document.php index eb299d6a94d..2c460d1bedc 100644 --- a/htdocs/fourn/commande/document.php +++ b/htdocs/fourn/commande/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2017 Ferran Marcet diff --git a/htdocs/fourn/commande/index.php b/htdocs/fourn/commande/index.php index 59e7b82e488..1bdc9a07b48 100644 --- a/htdocs/fourn/commande/index.php +++ b/htdocs/fourn/commande/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Vinicius Nogueira * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/commande/info.php b/htdocs/fourn/commande/info.php index dee7a83bc6a..5d6664347b7 100644 --- a/htdocs/fourn/commande/info.php +++ b/htdocs/fourn/commande/info.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index 7158d7b2c0e..a3005302fb2 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2014 Marcos García * Copyright (C) 2014 Juanjo Menent diff --git a/htdocs/fourn/commande/note.php b/htdocs/fourn/commande/note.php index 288b43d200b..071f87553f2 100644 --- a/htdocs/fourn/commande/note.php +++ b/htdocs/fourn/commande/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/fourn/commande/orderstoinvoice.php b/htdocs/fourn/commande/orderstoinvoice.php index 5456627384e..9c32c39c2b4 100644 --- a/htdocs/fourn/commande/orderstoinvoice.php +++ b/htdocs/fourn/commande/orderstoinvoice.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Andreu Bisquerra Gaya * Copyright (C) 2012 David Rodriguez Martinez * Copyright (C) 2012-2017 Juanjo Menent diff --git a/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php b/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php index 4ce44845bf6..7ffc60815e6 100644 --- a/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/contact.php b/htdocs/fourn/contact.php index 3225ce63714..105ab78806c 100644 --- a/htdocs/fourn/contact.php +++ b/htdocs/fourn/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2006 Regis Houssin + * Copyright (C) 2005-2006 Regis Houssin * * 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 diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 9df540da197..a9421768b8e 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013-2015 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/fourn/facture/contact.php b/htdocs/fourn/facture/contact.php index 58e5630c0d6..f570a33951c 100644 --- a/htdocs/fourn/facture/contact.php +++ b/htdocs/fourn/facture/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index d38a7992bd8..d76d680bc17 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2016 Alexandre Spangaro * Copyright (C) 2017 Ferran Marcet diff --git a/htdocs/fourn/facture/impayees.php b/htdocs/fourn/facture/impayees.php index 4582f403b02..4884a75daff 100644 --- a/htdocs/fourn/facture/impayees.php +++ b/htdocs/fourn/facture/impayees.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2005 Rodolphe Quiedeville * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Vinicius Nogueira * Copyright (C) 2012 Juanjo Menent * diff --git a/htdocs/fourn/facture/info.php b/htdocs/fourn/facture/info.php index d0ca8cbc3da..8325a3449e9 100644 --- a/htdocs/fourn/facture/info.php +++ b/htdocs/fourn/facture/info.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2016 Alexandre Spangaro * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index e1bd120b0b4..11b5e177bcb 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index 109ff71980c..b29140d3e12 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index 7946f98cb66..e3d9c4f534e 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> * Copyright (C) 2015 Marcos García * Copyright (C) 2015 Juanjo Menent diff --git a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php index 8ba0884fa6a..324e6b8dccf 100644 --- a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2014 Marcos García * Copyright (C) 2015 Charlie Benke * Copyright (C) 2016 Laurent Destailleur diff --git a/htdocs/fourn/index.php b/htdocs/fourn/index.php index 7228b68f1cd..5812553db5c 100644 --- a/htdocs/fourn/index.php +++ b/htdocs/fourn/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * * 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 diff --git a/htdocs/fourn/product/list.php b/htdocs/fourn/product/list.php index 9927b6b2b5d..16ed559814d 100644 --- a/htdocs/fourn/product/list.php +++ b/htdocs/fourn/product/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/ftp/index.php b/htdocs/ftp/index.php index 64b9fb0a8ea..fd2e5e80772 100644 --- a/htdocs/ftp/index.php +++ b/htdocs/ftp/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2009 Regis Houssin + * Copyright (C) 2008-2009 Regis Houssin * * 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 diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index a1bf6e3fa6a..0028367cd3d 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2012-2016 Laurent Destailleur - * Copyright (C) 2012-2016 Regis Houssin + * Copyright (C) 2012-2016 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2017 Alexandre Spangaro * Copyright (C) 2014-2017 Ferran Marcet diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index 6dd49b52a93..6405d5cf664 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2012-2014 Laurent Destailleur - * Copyright (C) 2012-2016 Regis Houssin + * Copyright (C) 2012-2016 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2016 Juanjo Menent * Copyright (C) 2018 Frédéric France diff --git a/htdocs/holiday/common.inc.php b/htdocs/holiday/common.inc.php index 1f8f797eab2..96111cf6df0 100644 --- a/htdocs/holiday/common.inc.php +++ b/htdocs/holiday/common.inc.php @@ -1,7 +1,7 @@ * Copyright (C) 2011 Dimitri Mouillard - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/holiday/define_holiday.php b/htdocs/holiday/define_holiday.php index c0bfff15507..5f283d1d1d2 100644 --- a/htdocs/holiday/define_holiday.php +++ b/htdocs/holiday/define_holiday.php @@ -2,7 +2,7 @@ /* Copyright (C) 2007-2016 Laurent Destailleur * Copyright (C) 2011 Dimitri Mouillard * Copyright (C) 2013 Marcos García - * Copyright (C) 2016 Regis Houssin + * Copyright (C) 2016 Regis Houssin * * 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 diff --git a/htdocs/holiday/document.php b/htdocs/holiday/document.php index 5f33e24e8c6..94015d6664b 100644 --- a/htdocs/holiday/document.php +++ b/htdocs/holiday/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/holiday/list.php b/htdocs/holiday/list.php index f155f513a18..f62fbc98922 100644 --- a/htdocs/holiday/list.php +++ b/htdocs/holiday/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2013-2018 Laurent Destailleur - * Copyright (C) 2012-2016 Regis Houssin + * Copyright (C) 2012-2016 Regis Houssin * * 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 diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php index 45d10d16d8b..5344e3765d7 100644 --- a/htdocs/hrm/index.php +++ b/htdocs/hrm/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2013-2015 Laurent Destailleur - * Copyright (C) 2012-2014 Regis Houssin + * Copyright (C) 2012-2014 Regis Houssin * Copyright (C) 2015-2016 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index 54aaa8a60a5..5e69a01bcaf 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Christophe Battarel * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/index.php b/htdocs/index.php index 14f72774d92..1bab889d2a2 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2015 Marcos García * diff --git a/htdocs/install/check.php b/htdocs/install/check.php index c2eb06bffb7..15806c38a1b 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2005 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013-2014 Juanjo Menent * Copyright (C) 2014 Marcos García * Copyright (C) 2015-2016 Raphaël Doursenaud diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php index fd902b540fd..5fb832ab8a0 100644 --- a/htdocs/install/fileconf.php +++ b/htdocs/install/fileconf.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien DiCintio - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2016 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/lib/repair.lib.php b/htdocs/install/lib/repair.lib.php index 39221c3a089..43a6d2bce27 100644 --- a/htdocs/install/lib/repair.lib.php +++ b/htdocs/install/lib/repair.lib.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/install/mysql/data/llx_00_c_country.sql b/htdocs/install/mysql/data/llx_00_c_country.sql index 5db58817dd2..0ea1a55d3d3 100644 --- a/htdocs/install/mysql/data/llx_00_c_country.sql +++ b/htdocs/install/mysql/data/llx_00_c_country.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2010 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2014 Alexandre Spangaro -- diff --git a/htdocs/install/mysql/data/llx_10_c_regions.sql b/htdocs/install/mysql/data/llx_10_c_regions.sql index f6229dda906..53c9ba22028 100644 --- a/htdocs/install/mysql/data/llx_10_c_regions.sql +++ b/htdocs/install/mysql/data/llx_10_c_regions.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2010 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert diff --git a/htdocs/install/mysql/data/llx_20_c_departements.sql b/htdocs/install/mysql/data/llx_20_c_departements.sql index 541aba8a30d..4ca943a076f 100644 --- a/htdocs/install/mysql/data/llx_20_c_departements.sql +++ b/htdocs/install/mysql/data/llx_20_c_departements.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2010 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert diff --git a/htdocs/install/mysql/data/llx_accounting_abc.sql b/htdocs/install/mysql/data/llx_accounting_abc.sql index 526c62693e2..853ff2bfbd4 100644 --- a/htdocs/install/mysql/data/llx_accounting_abc.sql +++ b/htdocs/install/mysql/data/llx_accounting_abc.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011-2018 Alexandre Spangaro -- Copyright (C) 2015-2017 Juanjo Menent diff --git a/htdocs/install/mysql/data/llx_accounting_account_be.sql b/htdocs/install/mysql/data/llx_accounting_account_be.sql index 76195e8318f..610913ed36e 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_be.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_be.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011-2017 Alexandre Spangaro -- diff --git a/htdocs/install/mysql/data/llx_accounting_account_cl.sql b/htdocs/install/mysql/data/llx_accounting_account_cl.sql index 76fe278dd0e..3029bc9350d 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_cl.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_cl.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011-2017 Alexandre Spangaro -- Copyright (C) 2017 Juanjo Menent diff --git a/htdocs/install/mysql/data/llx_accounting_account_dk.sql b/htdocs/install/mysql/data/llx_accounting_account_dk.sql index 7f707b4c444..f7b3ea7e519 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_dk.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_dk.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011-2017 Alexandre Spangaro -- diff --git a/htdocs/install/mysql/data/llx_accounting_account_es.sql b/htdocs/install/mysql/data/llx_accounting_account_es.sql index 3000cef31d2..ef7d5aaa634 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_es.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_es.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011-2017 Alexandre Spangaro -- diff --git a/htdocs/install/mysql/data/llx_accounting_account_fr.sql b/htdocs/install/mysql/data/llx_accounting_account_fr.sql index 68ed8618bc7..ef8ef176597 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_fr.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_fr.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011-2017 Alexandre Spangaro -- diff --git a/htdocs/install/mysql/data/llx_c_action_trigger.sql b/htdocs/install/mysql/data/llx_c_action_trigger.sql index 6f3bb5461f8..143e30e8fb7 100644 --- a/htdocs/install/mysql/data/llx_c_action_trigger.sql +++ b/htdocs/install/mysql/data/llx_c_action_trigger.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2013 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2011 Regis Houssin +-- Copyright (C) 2005-2011 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2010-2013 Juanjo Menent -- Copyright (C) 2013 Cedric Gross diff --git a/htdocs/install/mysql/data/llx_c_actioncomm.sql b/htdocs/install/mysql/data/llx_c_actioncomm.sql index 6b89ed74dd2..7f7c3d6ea2e 100644 --- a/htdocs/install/mysql/data/llx_c_actioncomm.sql +++ b/htdocs/install/mysql/data/llx_c_actioncomm.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2011 Regis Houssin +-- Copyright (C) 2005-2011 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_chargesociales.sql b/htdocs/install/mysql/data/llx_c_chargesociales.sql index d598f6fef60..d59e0cbc290 100644 --- a/htdocs/install/mysql/data/llx_c_chargesociales.sql +++ b/htdocs/install/mysql/data/llx_c_chargesociales.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2010 Regis Houssin +-- Copyright (C) 2005-2010 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_civilite.sql b/htdocs/install/mysql/data/llx_c_civilite.sql index 0d7c0753131..a14e84be27d 100644 --- a/htdocs/install/mysql/data/llx_c_civilite.sql +++ b/htdocs/install/mysql/data/llx_c_civilite.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_currencies.sql b/htdocs/install/mysql/data/llx_c_currencies.sql index 5f561f26ba0..8446618e9b5 100644 --- a/htdocs/install/mysql/data/llx_c_currencies.sql +++ b/htdocs/install/mysql/data/llx_c_currencies.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2012 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011 Juanjo Menent -- diff --git a/htdocs/install/mysql/data/llx_c_ecotaxe.sql b/htdocs/install/mysql/data/llx_c_ecotaxe.sql index 845ffa1e685..12505ba81c6 100644 --- a/htdocs/install/mysql/data/llx_c_ecotaxe.sql +++ b/htdocs/install/mysql/data/llx_c_ecotaxe.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2018 Regis Houssin +-- Copyright (C) 2005-2018 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_effectif.sql b/htdocs/install/mysql/data/llx_c_effectif.sql index 82302c61a07..6e9bc4ed0e9 100644 --- a/htdocs/install/mysql/data/llx_c_effectif.sql +++ b/htdocs/install/mysql/data/llx_c_effectif.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_forme_juridique.sql b/htdocs/install/mysql/data/llx_c_forme_juridique.sql index 8948984e907..08d7eded1ad 100644 --- a/htdocs/install/mysql/data/llx_c_forme_juridique.sql +++ b/htdocs/install/mysql/data/llx_c_forme_juridique.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert diff --git a/htdocs/install/mysql/data/llx_c_holiday_type.sql b/htdocs/install/mysql/data/llx_c_holiday_type.sql index 87eb67be131..64ab84f410f 100644 --- a/htdocs/install/mysql/data/llx_c_holiday_type.sql +++ b/htdocs/install/mysql/data/llx_c_holiday_type.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2012 Tommaso Basilici -- diff --git a/htdocs/install/mysql/data/llx_c_incoterms.sql b/htdocs/install/mysql/data/llx_c_incoterms.sql index ad9b09f09fc..3294c8285a3 100644 --- a/htdocs/install/mysql/data/llx_c_incoterms.sql +++ b/htdocs/install/mysql/data/llx_c_incoterms.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_input_method.sql b/htdocs/install/mysql/data/llx_c_input_method.sql index 062110f6c43..f3bd0fa6590 100644 --- a/htdocs/install/mysql/data/llx_c_input_method.sql +++ b/htdocs/install/mysql/data/llx_c_input_method.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_paiement.sql b/htdocs/install/mysql/data/llx_c_paiement.sql index 2e459cd12a7..b0d9d0ed233 100644 --- a/htdocs/install/mysql/data/llx_c_paiement.sql +++ b/htdocs/install/mysql/data/llx_c_paiement.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_paper_format.sql b/htdocs/install/mysql/data/llx_c_paper_format.sql index e88393ddfad..8df46f0d325 100644 --- a/htdocs/install/mysql/data/llx_c_paper_format.sql +++ b/htdocs/install/mysql/data/llx_c_paper_format.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2011 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_payment_term.sql b/htdocs/install/mysql/data/llx_c_payment_term.sql index 852ff9db4cb..232e0ebc865 100644 --- a/htdocs/install/mysql/data/llx_c_payment_term.sql +++ b/htdocs/install/mysql/data/llx_c_payment_term.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2012 Tommaso Basilici -- diff --git a/htdocs/install/mysql/data/llx_c_propalst.sql b/htdocs/install/mysql/data/llx_c_propalst.sql index 908ed48f805..b6d8b7f56e6 100644 --- a/htdocs/install/mysql/data/llx_c_propalst.sql +++ b/htdocs/install/mysql/data/llx_c_propalst.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_prospectlevel.sql b/htdocs/install/mysql/data/llx_c_prospectlevel.sql index 6982f2d2d1e..c0bc26d883f 100644 --- a/htdocs/install/mysql/data/llx_c_prospectlevel.sql +++ b/htdocs/install/mysql/data/llx_c_prospectlevel.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_shipment_mode.sql b/htdocs/install/mysql/data/llx_c_shipment_mode.sql index 189bd3ea94b..1c154b394ca 100644 --- a/htdocs/install/mysql/data/llx_c_shipment_mode.sql +++ b/htdocs/install/mysql/data/llx_c_shipment_mode.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2017 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2011 Regis Houssin +-- Copyright (C) 2005-2011 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_stcomm.sql b/htdocs/install/mysql/data/llx_c_stcomm.sql index e1bf526d489..088be6c83ec 100644 --- a/htdocs/install/mysql/data/llx_c_stcomm.sql +++ b/htdocs/install/mysql/data/llx_c_stcomm.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_tva.sql b/htdocs/install/mysql/data/llx_c_tva.sql index 91dbe5c1cf5..17c8b7489ee 100644 --- a/htdocs/install/mysql/data/llx_c_tva.sql +++ b/htdocs/install/mysql/data/llx_c_tva.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2011 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert diff --git a/htdocs/install/mysql/data/llx_c_type_contact.sql b/htdocs/install/mysql/data/llx_c_type_contact.sql index 9a4175bef81..62107525ff9 100644 --- a/htdocs/install/mysql/data/llx_c_type_contact.sql +++ b/htdocs/install/mysql/data/llx_c_type_contact.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_type_container.sql b/htdocs/install/mysql/data/llx_c_type_container.sql index 1e915412a12..403ddd8c252 100644 --- a/htdocs/install/mysql/data/llx_c_type_container.sql +++ b/htdocs/install/mysql/data/llx_c_type_container.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_type_fees.sql b/htdocs/install/mysql/data/llx_c_type_fees.sql index 752d6a6dd57..d78455e2939 100644 --- a/htdocs/install/mysql/data/llx_c_type_fees.sql +++ b/htdocs/install/mysql/data/llx_c_type_fees.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2017 ATM Consulting -- Copyright (C) 2017 Pierre-Henry Favre diff --git a/htdocs/install/mysql/data/llx_c_type_resource.sql b/htdocs/install/mysql/data/llx_c_type_resource.sql index 8b7ca68ecf8..66480157eef 100644 --- a/htdocs/install/mysql/data/llx_c_type_resource.sql +++ b/htdocs/install/mysql/data/llx_c_type_resource.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_typent.sql b/htdocs/install/mysql/data/llx_c_typent.sql index 4365a2e99a6..be24586f36d 100644 --- a/htdocs/install/mysql/data/llx_c_typent.sql +++ b/htdocs/install/mysql/data/llx_c_typent.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2009 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_const.sql b/htdocs/install/mysql/data/llx_const.sql index 5d3a96d7df2..9eb31db347a 100644 --- a/htdocs/install/mysql/data/llx_const.sql +++ b/htdocs/install/mysql/data/llx_const.sql @@ -3,7 +3,7 @@ -- Copyright (C) 2004-2010 Laurent Destailleur -- Copyright (C) 2004 Benoit Mortier -- Copyright (C) 2004 Guillaume Delecourt --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2007 Patrick Raguin -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_actioncomm.key.sql b/htdocs/install/mysql/tables/llx_actioncomm.key.sql index 257eb22a240..71fe3976a81 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.key.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2005-2017 Laurent Destailleur --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_actioncomm.sql b/htdocs/install/mysql/tables/llx_actioncomm.sql index 72321e19db5..8aa7fe47f3e 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2001-2003 Rodolphe Quiedeville -- Copyright (C) 2005-2017 Laurent Destailleur --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_adherent.key.sql b/htdocs/install/mysql/tables/llx_adherent.key.sql index 2ff771b878c..c875e2cee20 100644 --- a/htdocs/install/mysql/tables/llx_adherent.key.sql +++ b/htdocs/install/mysql/tables/llx_adherent.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2009 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_adherent.sql b/htdocs/install/mysql/tables/llx_adherent.sql index 3417e1b5792..96da4ffb326 100644 --- a/htdocs/install/mysql/tables/llx_adherent.sql +++ b/htdocs/install/mysql/tables/llx_adherent.sql @@ -2,7 +2,7 @@ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2002-2003 Jean-Louis Bergamo -- Copyright (C) 2006-2009 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_adherent_extrafields.key.sql b/htdocs/install/mysql/tables/llx_adherent_extrafields.key.sql index 530bc514c23..6989d271ccc 100644 --- a/htdocs/install/mysql/tables/llx_adherent_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_adherent_extrafields.key.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_adherent_extrafields.sql b/htdocs/install/mysql/tables/llx_adherent_extrafields.sql index a4a4851d9a8..3ad91052c24 100644 --- a/htdocs/install/mysql/tables/llx_adherent_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_adherent_extrafields.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_adherent_type.key.sql b/htdocs/install/mysql/tables/llx_adherent_type.key.sql index 870f0f3d5a0..f70280c41c4 100644 --- a/htdocs/install/mysql/tables/llx_adherent_type.key.sql +++ b/htdocs/install/mysql/tables/llx_adherent_type.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2007-2009 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_adherent_type.sql b/htdocs/install/mysql/tables/llx_adherent_type.sql index c20eade92d6..88867f9d2ad 100644 --- a/htdocs/install/mysql/tables/llx_adherent_type.sql +++ b/htdocs/install/mysql/tables/llx_adherent_type.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_bank_account.key.sql b/htdocs/install/mysql/tables/llx_bank_account.key.sql index c5f2786fd24..7ef818522a7 100644 --- a/htdocs/install/mysql/tables/llx_bank_account.key.sql +++ b/htdocs/install/mysql/tables/llx_bank_account.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_bank_account.sql b/htdocs/install/mysql/tables/llx_bank_account.sql index af35fb0eca1..3da5a8d4ec8 100644 --- a/htdocs/install/mysql/tables/llx_bank_account.sql +++ b/htdocs/install/mysql/tables/llx_bank_account.sql @@ -1,7 +1,7 @@ -- ============================================================================= -- Copyright (C) 2000-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2014 Laurent Destailleur --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2014 Alexandre Spangaro -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_bank_categ.sql b/htdocs/install/mysql/tables/llx_bank_categ.sql index f9190f751fd..26b9eab244e 100644 --- a/htdocs/install/mysql/tables/llx_bank_categ.sql +++ b/htdocs/install/mysql/tables/llx_bank_categ.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2004-2007 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_bordereau_cheque.key.sql b/htdocs/install/mysql/tables/llx_bordereau_cheque.key.sql index 750b2b60bfc..bc1c2347eca 100644 --- a/htdocs/install/mysql/tables/llx_bordereau_cheque.key.sql +++ b/htdocs/install/mysql/tables/llx_bordereau_cheque.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_bordereau_cheque.sql b/htdocs/install/mysql/tables/llx_bordereau_cheque.sql index ec400f6cbbd..e0d3209b9ea 100644 --- a/htdocs/install/mysql/tables/llx_bordereau_cheque.sql +++ b/htdocs/install/mysql/tables/llx_bordereau_cheque.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2006 Rodolphe Quiedeville --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_boxes.key.sql b/htdocs/install/mysql/tables/llx_boxes.key.sql index 52e06daf2af..caec9208938 100644 --- a/htdocs/install/mysql/tables/llx_boxes.key.sql +++ b/htdocs/install/mysql/tables/llx_boxes.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2006-2009 Laurent Destailleur --- Copyright (C) 2006-2012 Regis Houssin +-- Copyright (C) 2006-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_boxes.sql b/htdocs/install/mysql/tables/llx_boxes.sql index 383e1bbcce4..eeb294b5209 100644 --- a/htdocs/install/mysql/tables/llx_boxes.sql +++ b/htdocs/install/mysql/tables/llx_boxes.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2006-2012 Laurent Destailleur --- Copyright (C) 2006-2012 Regis Houssin +-- Copyright (C) 2006-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_boxes_def.key.sql b/htdocs/install/mysql/tables/llx_boxes_def.key.sql index ba6c032dbb4..2173504dc26 100644 --- a/htdocs/install/mysql/tables/llx_boxes_def.key.sql +++ b/htdocs/install/mysql/tables/llx_boxes_def.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2009 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_boxes_def.sql b/htdocs/install/mysql/tables/llx_boxes_def.sql index 03016ff9a54..e9fd966fdb7 100644 --- a/htdocs/install/mysql/tables/llx_boxes_def.sql +++ b/htdocs/install/mysql/tables/llx_boxes_def.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2010 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_c_action_trigger.key.sql b/htdocs/install/mysql/tables/llx_c_action_trigger.key.sql index 182e49fbe6e..3260c01d498 100644 --- a/htdocs/install/mysql/tables/llx_c_action_trigger.key.sql +++ b/htdocs/install/mysql/tables/llx_c_action_trigger.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_action_trigger.sql b/htdocs/install/mysql/tables/llx_c_action_trigger.sql index 4f7dbccc786..9ebe139121b 100644 --- a/htdocs/install/mysql/tables/llx_c_action_trigger.sql +++ b/htdocs/install/mysql/tables/llx_c_action_trigger.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_barcode_type.key.sql b/htdocs/install/mysql/tables/llx_c_barcode_type.key.sql index 594298c952c..c87f844574e 100644 --- a/htdocs/install/mysql/tables/llx_c_barcode_type.key.sql +++ b/htdocs/install/mysql/tables/llx_c_barcode_type.key.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2012 Regis Houssin +-- Copyright (C) 2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_barcode_type.sql b/htdocs/install/mysql/tables/llx_c_barcode_type.sql index e2eea8d4faf..ad03c14966e 100644 --- a/htdocs/install/mysql/tables/llx_c_barcode_type.sql +++ b/htdocs/install/mysql/tables/llx_c_barcode_type.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2007-2009 Regis Houssin +-- Copyright (C) 2007-2009 Regis Houssin -- Copyright (C) 2008 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_c_currencies.sql b/htdocs/install/mysql/tables/llx_c_currencies.sql index ef57ecdccaa..41a1538a002 100644 --- a/htdocs/install/mysql/tables/llx_c_currencies.sql +++ b/htdocs/install/mysql/tables/llx_c_currencies.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2012 Regis Houssin +-- Copyright (C) 2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_ecotaxe.sql b/htdocs/install/mysql/tables/llx_c_ecotaxe.sql index cd67bb34766..96bc5e01285 100644 --- a/htdocs/install/mysql/tables/llx_c_ecotaxe.sql +++ b/htdocs/install/mysql/tables/llx_c_ecotaxe.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2007-2018 Regis Houssin +-- Copyright (C) 2007-2018 Regis Houssin -- Copyright (C) 2009 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_c_field_list.sql b/htdocs/install/mysql/tables/llx_c_field_list.sql index 21adba42cfa..44b02c35248 100644 --- a/htdocs/install/mysql/tables/llx_c_field_list.sql +++ b/htdocs/install/mysql/tables/llx_c_field_list.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2010-2018 Regis Houssin +-- Copyright (C) 2010-2018 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_paiement.key.sql b/htdocs/install/mysql/tables/llx_c_paiement.key.sql index fc8147805ef..cf25e3a6703 100644 --- a/htdocs/install/mysql/tables/llx_c_paiement.key.sql +++ b/htdocs/install/mysql/tables/llx_c_paiement.key.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2012 Florian Henry --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_paiement.sql b/htdocs/install/mysql/tables/llx_c_paiement.sql index 1c26cb7aaeb..9e752b7e186 100644 --- a/htdocs/install/mysql/tables/llx_c_paiement.sql +++ b/htdocs/install/mysql/tables/llx_c_paiement.sql @@ -2,7 +2,7 @@ -- Copyright (C) 2001-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2014 Laurent Destailleur -- Copyright (C) 2014 Alexandre Spangaro --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_paper_format.sql b/htdocs/install/mysql/tables/llx_c_paper_format.sql index be0a57a2319..f0d7a3f14f3 100644 --- a/htdocs/install/mysql/tables/llx_c_paper_format.sql +++ b/htdocs/install/mysql/tables/llx_c_paper_format.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2007 Regis Houssin +-- Copyright (C) 2007 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_payment_term.key.sql b/htdocs/install/mysql/tables/llx_c_payment_term.key.sql index fc2f49de529..d2cb94aaeb2 100644 --- a/htdocs/install/mysql/tables/llx_c_payment_term.key.sql +++ b/htdocs/install/mysql/tables/llx_c_payment_term.key.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2012 Florian Henry --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_payment_term.sql b/htdocs/install/mysql/tables/llx_c_payment_term.sql index 39ccaa70916..188c2c4f428 100644 --- a/htdocs/install/mysql/tables/llx_c_payment_term.sql +++ b/htdocs/install/mysql/tables/llx_c_payment_term.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2016 Laurent Destailleur --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_ziptown.key.sql b/htdocs/install/mysql/tables/llx_c_ziptown.key.sql index 9d4ff705d04..a8bc952a160 100644 --- a/htdocs/install/mysql/tables/llx_c_ziptown.key.sql +++ b/htdocs/install/mysql/tables/llx_c_ziptown.key.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2010 Regis Houssin +-- Copyright (C) 2010 Regis Houssin -- Copyright (C) 201 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_c_ziptown.sql b/htdocs/install/mysql/tables/llx_c_ziptown.sql index 4b73d308a99..3bc41baacda 100644 --- a/htdocs/install/mysql/tables/llx_c_ziptown.sql +++ b/htdocs/install/mysql/tables/llx_c_ziptown.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2010 Regis Houssin +-- Copyright (C) 2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_categorie.key.sql b/htdocs/install/mysql/tables/llx_categorie.key.sql index a3c9cf88963..1369378e59f 100644 --- a/htdocs/install/mysql/tables/llx_categorie.key.sql +++ b/htdocs/install/mysql/tables/llx_categorie.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2007-2009 Laurent Destailleur --- Copyright (C) 2009-2012 Regis Houssin +-- Copyright (C) 2009-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_categorie.sql b/htdocs/install/mysql/tables/llx_categorie.sql index 5493d2cfc8c..2b39cf58f7b 100644 --- a/htdocs/install/mysql/tables/llx_categorie.sql +++ b/htdocs/install/mysql/tables/llx_categorie.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2005 Brice Davoleau -- Copyright (C) 2005 Matthieu Valleton --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2017 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql b/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql index 7293c152b9a..28a2cb6a8d4 100644 --- a/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql +++ b/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2012 Laurent Destailleur --- Copyright (C) 2012 Regis Houssin +-- Copyright (C) 2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql b/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql index 5a270b1fad9..8133aeb8a46 100644 --- a/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql +++ b/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2006 Rodolphe Quiedeville -- Copyright (C) 2012 Laurent Destailleur --- Copyright (C) 2012 Regis Houssin +-- Copyright (C) 2012 Regis Houssin -- Copyright (C) 2012 Juanjo Menent -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_categorie_lang.sql b/htdocs/install/mysql/tables/llx_categorie_lang.sql index 34dc0a3406e..ab2fb83405a 100644 --- a/htdocs/install/mysql/tables/llx_categorie_lang.sql +++ b/htdocs/install/mysql/tables/llx_categorie_lang.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2010 Regis Houssin +-- Copyright (C) 2005-2010 Regis Houssin -- Copyright (C) 2009 Laurent Destailleur -- Copyright (C) 2014 Jean-François Ferry -- diff --git a/htdocs/install/mysql/tables/llx_chargesociales.sql b/htdocs/install/mysql/tables/llx_chargesociales.sql index a22937fa643..e1556689a29 100644 --- a/htdocs/install/mysql/tables/llx_chargesociales.sql +++ b/htdocs/install/mysql/tables/llx_chargesociales.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2001-2002 Rodolphe Quiedeville --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2017 Alexandre Spangaro -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_commande.key.sql b/htdocs/install/mysql/tables/llx_commande.key.sql index 9134092195b..eece575a238 100644 --- a/htdocs/install/mysql/tables/llx_commande.key.sql +++ b/htdocs/install/mysql/tables/llx_commande.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2006 Laurent Destailleur --- Copyright (C) 2009-2012 Regis Houssin +-- Copyright (C) 2009-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_commande.sql b/htdocs/install/mysql/tables/llx_commande.sql index 0b18f46bb51..d0522f7e5e3 100644 --- a/htdocs/install/mysql/tables/llx_commande.sql +++ b/htdocs/install/mysql/tables/llx_commande.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2017 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent -- diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur.key.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur.key.sql index d0d9471278a..89b1096fd8e 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur.key.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2006-2007 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur.sql index 54ad7a33afd..5f26a87734a 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2004 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2007-2017 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent -- diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur_extrafields.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur_extrafields.sql index 33d72f3cede..affbc94fc50 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur_extrafields.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2004 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2007 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2013 Florian HENRY diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql index c1ef550b761..a3c2917491c 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2004 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2007 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2013 Florian HENRY diff --git a/htdocs/install/mysql/tables/llx_commandedet.key.sql b/htdocs/install/mysql/tables/llx_commandedet.key.sql index 21765a6ad1b..4420d968d9a 100644 --- a/htdocs/install/mysql/tables/llx_commandedet.key.sql +++ b/htdocs/install/mysql/tables/llx_commandedet.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2006 Laurent Destailleur --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_commandedet.sql b/htdocs/install/mysql/tables/llx_commandedet.sql index 0d6468309f5..f30401304a6 100644 --- a/htdocs/install/mysql/tables/llx_commandedet.sql +++ b/htdocs/install/mysql/tables/llx_commandedet.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2006-2009 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2012 Cédric Salvador diff --git a/htdocs/install/mysql/tables/llx_commandedet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_commandedet_extrafields.key.sql index 764b39639cf..56da1940fc3 100644 --- a/htdocs/install/mysql/tables/llx_commandedet_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_commandedet_extrafields.key.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur -- Copyright (C) 2013 Florian Henry -- diff --git a/htdocs/install/mysql/tables/llx_const.sql b/htdocs/install/mysql/tables/llx_const.sql index 806a3337291..c27b8c45e9f 100644 --- a/htdocs/install/mysql/tables/llx_const.sql +++ b/htdocs/install/mysql/tables/llx_const.sql @@ -2,7 +2,7 @@ -- Copyright (C) 2001-2002 Rodolphe Quiedeville -- Copyright (C) 2003 Jean-Louis Bergamo -- Copyright (C) 2008-2009 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_contrat.key.sql b/htdocs/install/mysql/tables/llx_contrat.key.sql index 3e95b75c85b..15cdb7161da 100644 --- a/htdocs/install/mysql/tables/llx_contrat.key.sql +++ b/htdocs/install/mysql/tables/llx_contrat.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2005 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_contrat.sql b/htdocs/install/mysql/tables/llx_contrat.sql index ac6f56631ec..531f96adeb7 100644 --- a/htdocs/install/mysql/tables/llx_contrat.sql +++ b/htdocs/install/mysql/tables/llx_contrat.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2005 Laurent Destailleur --- Copyright (C) 2005-2014 Regis Houssin +-- Copyright (C) 2005-2014 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_contratdet.key.sql b/htdocs/install/mysql/tables/llx_contratdet.key.sql index 6f65271ebb7..e79a3aeea33 100644 --- a/htdocs/install/mysql/tables/llx_contratdet.key.sql +++ b/htdocs/install/mysql/tables/llx_contratdet.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2004 Rodolphe Quiedeville -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_deplacement.sql b/htdocs/install/mysql/tables/llx_deplacement.sql index 34c4ab103cd..ca58f82a642 100644 --- a/htdocs/install/mysql/tables/llx_deplacement.sql +++ b/htdocs/install/mysql/tables/llx_deplacement.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2009-2012 Regis Houssin +-- Copyright (C) 2009-2012 Regis Houssin -- Copyright (C) 2010 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_document_model.key.sql b/htdocs/install/mysql/tables/llx_document_model.key.sql index 54f25e2169b..d813b57e1da 100644 --- a/htdocs/install/mysql/tables/llx_document_model.key.sql +++ b/htdocs/install/mysql/tables/llx_document_model.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2007 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_document_model.sql b/htdocs/install/mysql/tables/llx_document_model.sql index 0b93936837e..4092fc0ca43 100644 --- a/htdocs/install/mysql/tables/llx_document_model.sql +++ b/htdocs/install/mysql/tables/llx_document_model.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2001-2003 Rodolphe Quiedeville -- Copyright (C) 2006 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_don.sql b/htdocs/install/mysql/tables/llx_don.sql index a2e39f7039c..82728861fc6 100644 --- a/htdocs/install/mysql/tables/llx_don.sql +++ b/htdocs/install/mysql/tables/llx_don.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2001-2002 Rodolphe Quiedeville --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur -- Copyright (C) 2015 Alexandre Spangaro -- diff --git a/htdocs/install/mysql/tables/llx_ecm_directories.key.sql b/htdocs/install/mysql/tables/llx_ecm_directories.key.sql index 2e96a5f8e95..1467ae6839e 100644 --- a/htdocs/install/mysql/tables/llx_ecm_directories.key.sql +++ b/htdocs/install/mysql/tables/llx_ecm_directories.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2010 Laurent Destailleur --- Copyright (C) 2012 Regis Houssin +-- Copyright (C) 2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_ecm_directories.sql b/htdocs/install/mysql/tables/llx_ecm_directories.sql index 518fdd4c9e1..a956b928ad5 100644 --- a/htdocs/install/mysql/tables/llx_ecm_directories.sql +++ b/htdocs/install/mysql/tables/llx_ecm_directories.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2008-2012 Laurent Destailleur --- Copyright (C) 2009-2012 Regis Houssin +-- Copyright (C) 2009-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_entrepot.key.sql b/htdocs/install/mysql/tables/llx_entrepot.key.sql index 3f9137e57ee..551eeda4e95 100644 --- a/htdocs/install/mysql/tables/llx_entrepot.key.sql +++ b/htdocs/install/mysql/tables/llx_entrepot.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_events.sql b/htdocs/install/mysql/tables/llx_events.sql index c153522cb09..f906cf0fcbd 100644 --- a/htdocs/install/mysql/tables/llx_events.sql +++ b/htdocs/install/mysql/tables/llx_events.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2008 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_expedition.key.sql b/htdocs/install/mysql/tables/llx_expedition.key.sql index 736945193ff..d5e041b6cdf 100644 --- a/htdocs/install/mysql/tables/llx_expedition.key.sql +++ b/htdocs/install/mysql/tables/llx_expedition.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2008-2010 Regis Houssin +-- Copyright (C) 2008-2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_expedition.sql b/htdocs/install/mysql/tables/llx_expedition.sql index e252783ac94..044f840dc07 100644 --- a/htdocs/install/mysql/tables/llx_expedition.sql +++ b/htdocs/install/mysql/tables/llx_expedition.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2003-2010 Rodolphe Quiedeville --- Copyright (C) 2008-2010 Regis Houssin +-- Copyright (C) 2008-2010 Regis Houssin -- Copyright (C) 2011-2012 Laurent Destailleur -- Copyright (C) 2012 Juanjo Menent -- diff --git a/htdocs/install/mysql/tables/llx_expeditiondet.key.sql b/htdocs/install/mysql/tables/llx_expeditiondet.key.sql index 5f5b6a08183..9c3cd0aa2e9 100644 --- a/htdocs/install/mysql/tables/llx_expeditiondet.key.sql +++ b/htdocs/install/mysql/tables/llx_expeditiondet.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2008 Regis Houssin +-- Copyright (C) 2008 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_expeditiondet.sql b/htdocs/install/mysql/tables/llx_expeditiondet.sql index bd05bd08898..54e170d041b 100644 --- a/htdocs/install/mysql/tables/llx_expeditiondet.sql +++ b/htdocs/install/mysql/tables/llx_expeditiondet.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2008 Regis Houssin +-- Copyright (C) 2008 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_expensereport.key.sql b/htdocs/install/mysql/tables/llx_expensereport.key.sql index a7e4fd54425..739caa58432 100644 --- a/htdocs/install/mysql/tables/llx_expensereport.key.sql +++ b/htdocs/install/mysql/tables/llx_expensereport.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2008-2010 Regis Houssin +-- Copyright (C) 2008-2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_export_model.key.sql b/htdocs/install/mysql/tables/llx_export_model.key.sql index 53f5efbda52..4e9485f68c4 100644 --- a/htdocs/install/mysql/tables/llx_export_model.key.sql +++ b/htdocs/install/mysql/tables/llx_export_model.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2007-2011 Laurent Destailleur --- Copyright (C) 2007 Regis Houssin +-- Copyright (C) 2007 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_export_model.sql b/htdocs/install/mysql/tables/llx_export_model.sql index eaf11645f83..59bbb34ed19 100644 --- a/htdocs/install/mysql/tables/llx_export_model.sql +++ b/htdocs/install/mysql/tables/llx_export_model.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2001-2003 Rodolphe Quiedeville --- Copyright (C) 2007-2012 Regis Houssin +-- Copyright (C) 2007-2012 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_extrafields.key.sql b/htdocs/install/mysql/tables/llx_extrafields.key.sql index 90c0174e527..55bfc77b421 100644 --- a/htdocs/install/mysql/tables/llx_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_extrafields.key.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_extrafields.sql b/htdocs/install/mysql/tables/llx_extrafields.sql index 9f37383957a..e7ec325d428 100644 --- a/htdocs/install/mysql/tables/llx_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_extrafields.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2011-2012 Regis Houssin +-- Copyright (C) 2011-2012 Regis Houssin -- Copyright (C) 2011-2012 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_facture.key.sql b/htdocs/install/mysql/tables/llx_facture.key.sql index b0755bf5d94..0a2710c86ac 100644 --- a/htdocs/install/mysql/tables/llx_facture.key.sql +++ b/htdocs/install/mysql/tables/llx_facture.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2012 Laurent Destailleur --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_facture.sql b/htdocs/install/mysql/tables/llx_facture.sql index c001d459b48..51f322b69ee 100644 --- a/htdocs/install/mysql/tables/llx_facture.sql +++ b/htdocs/install/mysql/tables/llx_facture.sql @@ -1,7 +1,7 @@ -- =========================================================================== -- Copyright (C) 2001-2005 Rodolphe Quiedeville -- Copyright (C) 2004-2012 Laurent Destailleur --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2012 Cédric Salvador -- Copyright (C) 2014 Raphaël Doursenaud diff --git a/htdocs/install/mysql/tables/llx_facture_fourn.key.sql b/htdocs/install/mysql/tables/llx_facture_fourn.key.sql index cbea87a398f..7b8dc66c9fa 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn.key.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2005-2017 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_facture_fourn.sql b/htdocs/install/mysql/tables/llx_facture_fourn.sql index b1329de08ac..36ee0a69f18 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn.sql @@ -1,7 +1,7 @@ -- =========================================================================== -- Copyright (C) 2001-2003 Rodolphe Quiedeville -- Copyright (C) 2007-2017 Laurent Destailleur --- Copyright (C) 2007-2012 Regis Houssin +-- Copyright (C) 2007-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_facture_rec.key.sql b/htdocs/install/mysql/tables/llx_facture_rec.key.sql index 3a41233fa4a..9529695cbe5 100644 --- a/htdocs/install/mysql/tables/llx_facture_rec.key.sql +++ b/htdocs/install/mysql/tables/llx_facture_rec.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2006 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_facture_rec.sql b/htdocs/install/mysql/tables/llx_facture_rec.sql index dc1343872c7..1add07c6e8c 100644 --- a/htdocs/install/mysql/tables/llx_facture_rec.sql +++ b/htdocs/install/mysql/tables/llx_facture_rec.sql @@ -1,7 +1,7 @@ -- =========================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2012-2014 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_facturedet.key.sql b/htdocs/install/mysql/tables/llx_facturedet.key.sql index f1a7807a910..a0e84034d64 100644 --- a/htdocs/install/mysql/tables/llx_facturedet.key.sql +++ b/htdocs/install/mysql/tables/llx_facturedet.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005-2016 Laurent Destailleur --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_facturedet.sql b/htdocs/install/mysql/tables/llx_facturedet.sql index bf008d41f03..ac7142c898d 100644 --- a/htdocs/install/mysql/tables/llx_facturedet.sql +++ b/htdocs/install/mysql/tables/llx_facturedet.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2001-2005 Rodolphe Quiedeville -- Copyright (C) 2004-2005 Laurent Destailleur --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2012 Cédric Salvador -- Copyright (C) 2014 Raphaël Doursenaud diff --git a/htdocs/install/mysql/tables/llx_facturedet_rec.key.sql b/htdocs/install/mysql/tables/llx_facturedet_rec.key.sql index 5ce0d0d296b..3facb7ade29 100644 --- a/htdocs/install/mysql/tables/llx_facturedet_rec.key.sql +++ b/htdocs/install/mysql/tables/llx_facturedet_rec.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- Copyright (C) 2012 Cedric Salvador -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_facturedet_rec.sql b/htdocs/install/mysql/tables/llx_facturedet_rec.sql index 341afd0d9ba..ac79dfd891d 100644 --- a/htdocs/install/mysql/tables/llx_facturedet_rec.sql +++ b/htdocs/install/mysql/tables/llx_facturedet_rec.sql @@ -2,7 +2,7 @@ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2009-2014 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent --- Copyright (C) 2010-2012 Regis Houssin +-- Copyright (C) 2010-2012 Regis Houssin -- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_fichinter.sql b/htdocs/install/mysql/tables/llx_fichinter.sql index 5bc5741c014..2029e15aff5 100644 --- a/htdocs/install/mysql/tables/llx_fichinter.sql +++ b/htdocs/install/mysql/tables/llx_fichinter.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2001-2007 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_fichinter_rec.key.sql b/htdocs/install/mysql/tables/llx_fichinter_rec.key.sql index 0c420fd6395..ef164d9f8d0 100644 --- a/htdocs/install/mysql/tables/llx_fichinter_rec.key.sql +++ b/htdocs/install/mysql/tables/llx_fichinter_rec.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2006 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2018 Charlene Benke -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_fichinter_rec.sql b/htdocs/install/mysql/tables/llx_fichinter_rec.sql index 10dacbde4ee..4beea8e2db1 100644 --- a/htdocs/install/mysql/tables/llx_fichinter_rec.sql +++ b/htdocs/install/mysql/tables/llx_fichinter_rec.sql @@ -1,7 +1,7 @@ -- =========================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2012-2014 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2018 Charlene Benke -- diff --git a/htdocs/install/mysql/tables/llx_fichinterdet.key.sql b/htdocs/install/mysql/tables/llx_fichinterdet.key.sql index 4fa7c1f3fa5..3266505fba9 100644 --- a/htdocs/install/mysql/tables/llx_fichinterdet.key.sql +++ b/htdocs/install/mysql/tables/llx_fichinterdet.key.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2010 Regis Houssin +-- Copyright (C) 2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_fichinterdet.sql b/htdocs/install/mysql/tables/llx_fichinterdet.sql index 5fcd1b1d524..676dfadbe35 100644 --- a/htdocs/install/mysql/tables/llx_fichinterdet.sql +++ b/htdocs/install/mysql/tables/llx_fichinterdet.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2007 Regis Houssin +-- Copyright (C) 2005-2007 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_fichinterdet_rec.sql b/htdocs/install/mysql/tables/llx_fichinterdet_rec.sql index 682453f2dfd..40475b80d7d 100644 --- a/htdocs/install/mysql/tables/llx_fichinterdet_rec.sql +++ b/htdocs/install/mysql/tables/llx_fichinterdet_rec.sql @@ -2,7 +2,7 @@ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2009-2014 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent --- Copyright (C) 2010-2012 Regis Houssin +-- Copyright (C) 2010-2012 Regis Houssin -- Copyright (C) 2012 Cédric Salvador -- Copyright (C) 2016-2018 Charlene Benke -- diff --git a/htdocs/install/mysql/tables/llx_holiday.key.sql b/htdocs/install/mysql/tables/llx_holiday.key.sql index 9a1a6ae49e3..6243d1eee56 100644 --- a/htdocs/install/mysql/tables/llx_holiday.key.sql +++ b/htdocs/install/mysql/tables/llx_holiday.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2012 Laurent Destailleur --- Copyright (C) 2016 Regis Houssin +-- Copyright (C) 2016 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_livraison.key.sql b/htdocs/install/mysql/tables/llx_livraison.key.sql index f61319640ee..2769ee09c67 100644 --- a/htdocs/install/mysql/tables/llx_livraison.key.sql +++ b/htdocs/install/mysql/tables/llx_livraison.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2008-2010 Regis Houssin +-- Copyright (C) 2008-2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_livraison.sql b/htdocs/install/mysql/tables/llx_livraison.sql index 32e9de8b2a7..5f7a6c52ef8 100644 --- a/htdocs/install/mysql/tables/llx_livraison.sql +++ b/htdocs/install/mysql/tables/llx_livraison.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2008-2010 Regis Houssin +-- Copyright (C) 2008-2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_livraisondet.key.sql b/htdocs/install/mysql/tables/llx_livraisondet.key.sql index 5b9b37767eb..f6783d55a04 100644 --- a/htdocs/install/mysql/tables/llx_livraisondet.key.sql +++ b/htdocs/install/mysql/tables/llx_livraisondet.key.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2008 Regis Houssin +-- Copyright (C) 2008 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_livraisondet.sql b/htdocs/install/mysql/tables/llx_livraisondet.sql index fc0644830c5..cac8819f206 100644 --- a/htdocs/install/mysql/tables/llx_livraisondet.sql +++ b/htdocs/install/mysql/tables/llx_livraisondet.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2008 Regis Houssin +-- Copyright (C) 2008 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_localtax.sql b/htdocs/install/mysql/tables/llx_localtax.sql index 65c9fbe496b..e1cef882e7c 100644 --- a/htdocs/install/mysql/tables/llx_localtax.sql +++ b/htdocs/install/mysql/tables/llx_localtax.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2011-2014 Juanjo Menent --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_mailing.sql b/htdocs/install/mysql/tables/llx_mailing.sql index a365aba0be1..74f022d8887 100644 --- a/htdocs/install/mysql/tables/llx_mailing.sql +++ b/htdocs/install/mysql/tables/llx_mailing.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2005 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_mailing_cibles.sql b/htdocs/install/mysql/tables/llx_mailing_cibles.sql index c533eb0ff8a..f7a3c357168 100644 --- a/htdocs/install/mysql/tables/llx_mailing_cibles.sql +++ b/htdocs/install/mysql/tables/llx_mailing_cibles.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2005 Rodolphe Quiedeville -- Copyright (C) 2009-2016 Laurent Destailleur --- Copyright (C) 2011-2012 Regis Houssin +-- Copyright (C) 2011-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_menu.key.sql b/htdocs/install/mysql/tables/llx_menu.key.sql index f98bb00fae0..53b26de8a04 100644 --- a/htdocs/install/mysql/tables/llx_menu.key.sql +++ b/htdocs/install/mysql/tables/llx_menu.key.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2005-2008 Laurent Destailleur --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_menu.sql b/htdocs/install/mysql/tables/llx_menu.sql index 18862ff496a..7cbd86bb1a1 100644 --- a/htdocs/install/mysql/tables/llx_menu.sql +++ b/htdocs/install/mysql/tables/llx_menu.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2007-2008 Laurent Destailleur --- Copyright (C) 2009-2012 Regis Houssin +-- Copyright (C) 2009-2012 Regis Houssin -- Copyright (C) 2012 Marcos García -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_paiement.sql b/htdocs/install/mysql/tables/llx_paiement.sql index 25c0097f10e..9f40cb2cfc9 100644 --- a/htdocs/install/mysql/tables/llx_paiement.sql +++ b/htdocs/install/mysql/tables/llx_paiement.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2001-2004 Rodolphe Quiedeville -- Copyright (C) 2004 Laurent Destailleur --- Copyright (C) 2012 Regis Houssin +-- Copyright (C) 2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_prelevement_bons.key.sql b/htdocs/install/mysql/tables/llx_prelevement_bons.key.sql index 999ddc9a848..29c11790339 100644 --- a/htdocs/install/mysql/tables/llx_prelevement_bons.key.sql +++ b/htdocs/install/mysql/tables/llx_prelevement_bons.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_prelevement_bons.sql b/htdocs/install/mysql/tables/llx_prelevement_bons.sql index 25e9381afe0..b796ffabcd6 100644 --- a/htdocs/install/mysql/tables/llx_prelevement_bons.sql +++ b/htdocs/install/mysql/tables/llx_prelevement_bons.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2005 Rodolphe Quiedeville --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_product.key.sql b/htdocs/install/mysql/tables/llx_product.key.sql index 40b4eb130a9..d339f2082ee 100644 --- a/htdocs/install/mysql/tables/llx_product.key.sql +++ b/htdocs/install/mysql/tables/llx_product.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2013 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2012 Cédric Salvador -- Copyright (C) 2014 Marcos García -- diff --git a/htdocs/install/mysql/tables/llx_product.sql b/htdocs/install/mysql/tables/llx_product.sql index 1e201038122..8569c6e28d2 100755 --- a/htdocs/install/mysql/tables/llx_product.sql +++ b/htdocs/install/mysql/tables/llx_product.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2006 Rodolphe Quiedeville -- Copyright (C) 2008-2017 Laurent Destailleur --- Copyright (C) 2005-2010 Regis Houssin +-- Copyright (C) 2005-2010 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2012-2013 Cédric Salvador -- Copyright (C) 2014 Marcos García diff --git a/htdocs/install/mysql/tables/llx_product_customer_price.sql b/htdocs/install/mysql/tables/llx_product_customer_price.sql index 339de2bb4be..443e48c0f5c 100644 --- a/htdocs/install/mysql/tables/llx_product_customer_price.sql +++ b/htdocs/install/mysql/tables/llx_product_customer_price.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2009-2011 Laurent Destailleur --- Copyright (C) 2009-2013 Regis Houssin +-- Copyright (C) 2009-2013 Regis Houssin -- Copyright (C) 2012 Juanjo Menent -- Copyright (C) 2013 Florian Henry -- diff --git a/htdocs/install/mysql/tables/llx_product_fournisseur_price.key.sql b/htdocs/install/mysql/tables/llx_product_fournisseur_price.key.sql index c290ad5518e..110736718d1 100644 --- a/htdocs/install/mysql/tables/llx_product_fournisseur_price.key.sql +++ b/htdocs/install/mysql/tables/llx_product_fournisseur_price.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2005-2012 Laurent Destailleur --- Copyright (C) 2009-2012 Regis Houssin +-- Copyright (C) 2009-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql index daccb2d7927..940967b13d4 100755 --- a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql +++ b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2009-2011 Laurent Destailleur --- Copyright (C) 2009-2013 Regis Houssin +-- Copyright (C) 2009-2013 Regis Houssin -- Copyright (C) 2012 Juanjo Menent -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_product_lang.key.sql b/htdocs/install/mysql/tables/llx_product_lang.key.sql index 8aa0e8c3280..5c8ab0a5fc9 100644 --- a/htdocs/install/mysql/tables/llx_product_lang.key.sql +++ b/htdocs/install/mysql/tables/llx_product_lang.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2010 Regis Houssin +-- Copyright (C) 2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_product_lang.sql b/htdocs/install/mysql/tables/llx_product_lang.sql index 7363a65a95c..cbccac26020 100644 --- a/htdocs/install/mysql/tables/llx_product_lang.sql +++ b/htdocs/install/mysql/tables/llx_product_lang.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2010 Regis Houssin +-- Copyright (C) 2005-2010 Regis Houssin -- Copyright (C) 2009 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_product_price.sql b/htdocs/install/mysql/tables/llx_product_price.sql index 4e5920e1dff..665470239e7 100755 --- a/htdocs/install/mysql/tables/llx_product_price.sql +++ b/htdocs/install/mysql/tables/llx_product_price.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql b/htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql index 56dbfbd1ae0..57426b53d1b 100644 --- a/htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql +++ b/htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2012 Maxime Kohlhaas -- diff --git a/htdocs/install/mysql/tables/llx_product_price_by_qty.sql b/htdocs/install/mysql/tables/llx_product_price_by_qty.sql index 9dbeb530a34..480b9239407 100644 --- a/htdocs/install/mysql/tables/llx_product_price_by_qty.sql +++ b/htdocs/install/mysql/tables/llx_product_price_by_qty.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2012 Maxime Kohlhaas -- diff --git a/htdocs/install/mysql/tables/llx_projet.key.sql b/htdocs/install/mysql/tables/llx_projet.key.sql index 75ad8cb7fef..b3a18f39b03 100644 --- a/htdocs/install/mysql/tables/llx_projet.key.sql +++ b/htdocs/install/mysql/tables/llx_projet.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2009 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_projet.sql b/htdocs/install/mysql/tables/llx_projet.sql index 8e58f0ad8c8..7216a0f20b1 100644 --- a/htdocs/install/mysql/tables/llx_projet.sql +++ b/htdocs/install/mysql/tables/llx_projet.sql @@ -1,6 +1,6 @@ -- =========================================================================== -- Copyright (C) 2002 Rodolphe Quiedeville --- Copyright (C) 2010 Regis Houssin +-- Copyright (C) 2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_projet_task.key.sql b/htdocs/install/mysql/tables/llx_projet_task.key.sql index 620bbc17eaa..a64d8395b9f 100644 --- a/htdocs/install/mysql/tables/llx_projet_task.key.sql +++ b/htdocs/install/mysql/tables/llx_projet_task.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2009 Laurent Destailleur --- Copyright (C) 2010 Regis Houssin +-- Copyright (C) 2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_projet_task.sql b/htdocs/install/mysql/tables/llx_projet_task.sql index a7418f2688c..1adc6c6b2b6 100644 --- a/htdocs/install/mysql/tables/llx_projet_task.sql +++ b/htdocs/install/mysql/tables/llx_projet_task.sql @@ -1,6 +1,6 @@ -- =========================================================================== -- Copyright (C) 2005 Rodolphe Quiedeville --- Copyright (C) 2010 Regis Houssin +-- Copyright (C) 2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_propal.key.sql b/htdocs/install/mysql/tables/llx_propal.key.sql index 0c202bea2cb..85cd86b70e1 100644 --- a/htdocs/install/mysql/tables/llx_propal.key.sql +++ b/htdocs/install/mysql/tables/llx_propal.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2005 Laurent Destailleur --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_propal.sql b/htdocs/install/mysql/tables/llx_propal.sql index e4c997b940a..d8eee18629b 100644 --- a/htdocs/install/mysql/tables/llx_propal.sql +++ b/htdocs/install/mysql/tables/llx_propal.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2001-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent -- diff --git a/htdocs/install/mysql/tables/llx_propaldet.key.sql b/htdocs/install/mysql/tables/llx_propaldet.key.sql index 3d3467ea888..f442ad36106 100644 --- a/htdocs/install/mysql/tables/llx_propaldet.key.sql +++ b/htdocs/install/mysql/tables/llx_propaldet.key.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2009-2011 Regis Houssin +-- Copyright (C) 2009-2011 Regis Houssin -- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_propaldet.sql b/htdocs/install/mysql/tables/llx_propaldet.sql index 283708fd7ce..fdee7a5dcca 100644 --- a/htdocs/install/mysql/tables/llx_propaldet.sql +++ b/htdocs/install/mysql/tables/llx_propaldet.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2012 Cédric Salvador -- diff --git a/htdocs/install/mysql/tables/llx_rights_def.key.sql b/htdocs/install/mysql/tables/llx_rights_def.key.sql index b1d86a0cd04..d68316c7273 100644 --- a/htdocs/install/mysql/tables/llx_rights_def.key.sql +++ b/htdocs/install/mysql/tables/llx_rights_def.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_rights_def.sql b/htdocs/install/mysql/tables/llx_rights_def.sql index 297772730c7..3de223d1606 100644 --- a/htdocs/install/mysql/tables/llx_rights_def.sql +++ b/htdocs/install/mysql/tables/llx_rights_def.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_societe.sql b/htdocs/install/mysql/tables/llx_societe.sql index a05051024eb..6225ae416e8 100644 --- a/htdocs/install/mysql/tables/llx_societe.sql +++ b/htdocs/install/mysql/tables/llx_societe.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2000-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2017 Laurent Destailleur --- Copyright (C) 2005-2010 Regis Houssin +-- Copyright (C) 2005-2010 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> -- Copyright (C) 2015 Marcos García diff --git a/htdocs/install/mysql/tables/llx_societe_address.sql b/htdocs/install/mysql/tables/llx_societe_address.sql index aa596333b2c..8ae2d07f389 100644 --- a/htdocs/install/mysql/tables/llx_societe_address.sql +++ b/htdocs/install/mysql/tables/llx_societe_address.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2000-2004 Rodolphe Quiedeville --- Copyright (C) 2005-2013 Houssin Regis +-- Copyright (C) 2005-2013 Houssin Regis -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_societe_remise.sql b/htdocs/install/mysql/tables/llx_societe_remise.sql index a9d41fcd502..a94ff35085e 100644 --- a/htdocs/install/mysql/tables/llx_societe_remise.sql +++ b/htdocs/install/mysql/tables/llx_societe_remise.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2000-2004 Rodolphe Quiedeville --- Copyright (C) 2011-2016 Regis Houssin +-- Copyright (C) 2011-2016 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql b/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql index c1b56f225c7..1e3e3edd5fe 100644 --- a/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql +++ b/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2000-2004 Rodolphe Quiedeville --- Copyright (C) 2011-2016 Regis Houssin +-- Copyright (C) 2011-2016 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_societe_rib.sql b/htdocs/install/mysql/tables/llx_societe_rib.sql index 2463378067a..57b22493c85 100644 --- a/htdocs/install/mysql/tables/llx_societe_rib.sql +++ b/htdocs/install/mysql/tables/llx_societe_rib.sql @@ -1,6 +1,6 @@ -- ============================================================================= -- Copyright (C) 2000-2004 Rodolphe Quiedeville --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2012 Juanjo Menent -- Copyright (C) 2013 Peter Fontaine -- diff --git a/htdocs/install/mysql/tables/llx_socpeople.sql b/htdocs/install/mysql/tables/llx_socpeople.sql index e0e99993f47..94cf869543d 100644 --- a/htdocs/install/mysql/tables/llx_socpeople.sql +++ b/htdocs/install/mysql/tables/llx_socpeople.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2001-2004 Rodolphe Quiedeville -- Copyright (C) 2008 Laurent Destailleur --- Copyright (C) 2005-2010 Regis Houssin +-- Copyright (C) 2005-2010 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_supplier_proposaldet.key.sql b/htdocs/install/mysql/tables/llx_supplier_proposaldet.key.sql index e6af3c7e515..cb6064c61f2 100644 --- a/htdocs/install/mysql/tables/llx_supplier_proposaldet.key.sql +++ b/htdocs/install/mysql/tables/llx_supplier_proposaldet.key.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2009-2011 Regis Houssin +-- Copyright (C) 2009-2011 Regis Houssin -- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_tva.sql b/htdocs/install/mysql/tables/llx_tva.sql index 34ab53a5b22..56678f4ffa6 100644 --- a/htdocs/install/mysql/tables/llx_tva.sql +++ b/htdocs/install/mysql/tables/llx_tva.sql @@ -1,6 +1,6 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user.key.sql b/htdocs/install/mysql/tables/llx_user.key.sql index 82d5f28ef06..eaed60a3b0b 100644 --- a/htdocs/install/mysql/tables/llx_user.key.sql +++ b/htdocs/install/mysql/tables/llx_user.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2006-2007 Laurent Destailleur --- Copyright (C) 2007 Regis Houssin +-- Copyright (C) 2007 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user.sql b/htdocs/install/mysql/tables/llx_user.sql index 56a03f81782..90dc8a835ef 100644 --- a/htdocs/install/mysql/tables/llx_user.sql +++ b/htdocs/install/mysql/tables/llx_user.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2001-2003 Rodolphe Quiedeville -- Copyright (C) 2006-2013 Laurent Destailleur --- Copyright (C) 2007-2013 Regis Houssin +-- Copyright (C) 2007-2013 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user_extrafields.key.sql b/htdocs/install/mysql/tables/llx_user_extrafields.key.sql index 3c3d6e8df7f..387934ba9be 100644 --- a/htdocs/install/mysql/tables/llx_user_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_user_extrafields.key.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_user_extrafields.sql b/htdocs/install/mysql/tables/llx_user_extrafields.sql index 9adb684da1b..b3c47a0cf0d 100644 --- a/htdocs/install/mysql/tables/llx_user_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_user_extrafields.sql @@ -1,7 +1,7 @@ -- =================================================================== -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user_param.key.sql b/htdocs/install/mysql/tables/llx_user_param.key.sql index 976fea1195b..b37bd16f3f8 100644 --- a/htdocs/install/mysql/tables/llx_user_param.key.sql +++ b/htdocs/install/mysql/tables/llx_user_param.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user_param.sql b/htdocs/install/mysql/tables/llx_user_param.sql index 365f49b060d..7738cab93de 100644 --- a/htdocs/install/mysql/tables/llx_user_param.sql +++ b/htdocs/install/mysql/tables/llx_user_param.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2004 Rodolphe Quiedeville -- Copyright (C) 2004-2017 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user_rights.key.sql b/htdocs/install/mysql/tables/llx_user_rights.key.sql index 8fae1c1a160..51f95566651 100644 --- a/htdocs/install/mysql/tables/llx_user_rights.key.sql +++ b/htdocs/install/mysql/tables/llx_user_rights.key.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user_rights.sql b/htdocs/install/mysql/tables/llx_user_rights.sql index cedfa8a00c9..092243b2c46 100644 --- a/htdocs/install/mysql/tables/llx_user_rights.sql +++ b/htdocs/install/mysql/tables/llx_user_rights.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_usergroup.key.sql b/htdocs/install/mysql/tables/llx_usergroup.key.sql index cc0f28bd9d2..c3ee77bd62e 100644 --- a/htdocs/install/mysql/tables/llx_usergroup.key.sql +++ b/htdocs/install/mysql/tables/llx_usergroup.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_usergroup.sql b/htdocs/install/mysql/tables/llx_usergroup.sql index f82c21eae87..cde18968d43 100644 --- a/htdocs/install/mysql/tables/llx_usergroup.sql +++ b/htdocs/install/mysql/tables/llx_usergroup.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2005 Rodolphe Quiedeville -- Copyright (C) 2005-2017 Laurent Destailleur --- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2005-2009 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql b/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql index f08a6f62637..88da9c98875 100644 --- a/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql +++ b/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_usergroup_rights.sql b/htdocs/install/mysql/tables/llx_usergroup_rights.sql index e8a3af37e7c..a139dcc6317 100644 --- a/htdocs/install/mysql/tables/llx_usergroup_rights.sql +++ b/htdocs/install/mysql/tables/llx_usergroup_rights.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2005 Laurent Destailleur --- Copyright (C) 2017 Regis Houssin +-- Copyright (C) 2017 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_usergroup_user.key.sql b/htdocs/install/mysql/tables/llx_usergroup_user.key.sql index c88ac4004fc..d05b45070d1 100644 --- a/htdocs/install/mysql/tables/llx_usergroup_user.key.sql +++ b/htdocs/install/mysql/tables/llx_usergroup_user.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_usergroup_user.sql b/htdocs/install/mysql/tables/llx_usergroup_user.sql index ce29b211299..335cd58baac 100644 --- a/htdocs/install/mysql/tables/llx_usergroup_user.sql +++ b/htdocs/install/mysql/tables/llx_usergroup_user.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2005 Rodolphe Quiedeville --- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2011 Regis Houssin -- -- 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 diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index 9014fe1924b..888daa4abe2 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/step1.php b/htdocs/install/step1.php index 34bd117504a..50af0cc7219 100644 --- a/htdocs/install/step1.php +++ b/htdocs/install/step1.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien Di Cintio - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015-2016 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/step5.php b/htdocs/install/step5.php index b2d3083a624..97770d39e9d 100644 --- a/htdocs/install/step5.php +++ b/htdocs/install/step5.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien DiCintio - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015-2016 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 5f372f521f8..14856d8b6b7 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2015-2016 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 603d521f5ec..fdffc7af7fd 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2018 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2015-2016 Raphaël Doursenaud * diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php index 06b9d6e5682..260c333f362 100644 --- a/htdocs/livraison/card.php +++ b/htdocs/livraison/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2005-2010 Laurent Destailleur * Copyright (C) 2005 Simon TOSSER - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Claudio Aschieri diff --git a/htdocs/livraison/class/livraison.class.php b/htdocs/livraison/class/livraison.class.php index c5e4b36ed25..9968f4d3d38 100644 --- a/htdocs/livraison/class/livraison.class.php +++ b/htdocs/livraison/class/livraison.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006-2007 Laurent Destailleur * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2011-2018 Philippe Grand diff --git a/htdocs/loan/note.php b/htdocs/loan/note.php index 2ed8e82f20b..fea8388979b 100644 --- a/htdocs/loan/note.php +++ b/htdocs/loan/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Frederic France * Copyright (C) 2016-2018 Alexandre Spangaro diff --git a/htdocs/mailmanspip/class/mailmanspip.class.php b/htdocs/mailmanspip/class/mailmanspip.class.php index 2e6cae459c1..213febdc4b5 100644 --- a/htdocs/mailmanspip/class/mailmanspip.class.php +++ b/htdocs/mailmanspip/class/mailmanspip.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 7fbb0cbb07b..20eee6e496e 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2011-2014 Philippe Grand * Copyright (C) 2008 Matteli * Copyright (C) 2011-2016 Juanjo Menent diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 56ff709da8a..10ff15fbabf 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2005 Simon Tosser * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/modulebuilder/template/mymoduleindex.php b/htdocs/modulebuilder/template/mymoduleindex.php index b2b9356217e..61413f2393f 100644 --- a/htdocs/modulebuilder/template/mymoduleindex.php +++ b/htdocs/modulebuilder/template/mymoduleindex.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/opensurvey/css/style.css b/htdocs/opensurvey/css/style.css index e790d2d59f8..ab17de0a0ac 100644 --- a/htdocs/opensurvey/css/style.css +++ b/htdocs/opensurvey/css/style.css @@ -1,6 +1,6 @@ /* Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2007-2012 Regis Houssin * Copyright (C) 2011 Philippe Grand * Copyright (C) 2012 Juanjo Menent * diff --git a/htdocs/opensurvey/wizard/index.php b/htdocs/opensurvey/wizard/index.php index f15284e2e83..2e62a02fbae 100644 --- a/htdocs/opensurvey/wizard/index.php +++ b/htdocs/opensurvey/wizard/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2014 Marcos García - * Copyright (C) 2016 Regis Houssin + * Copyright (C) 2016 Regis Houssin * * 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 diff --git a/htdocs/paybox/lib/paybox.lib.php b/htdocs/paybox/lib/paybox.lib.php index a904c372099..849d8a7129c 100644 --- a/htdocs/paybox/lib/paybox.lib.php +++ b/htdocs/paybox/lib/paybox.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2007 Regis Houssin * * 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 diff --git a/htdocs/paypal/admin/paypal.php b/htdocs/paypal/admin/paypal.php index c4fb21c99e5..1669639c52e 100644 --- a/htdocs/paypal/admin/paypal.php +++ b/htdocs/paypal/admin/paypal.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2013 Laurent Destailleur - * Copyright (C) 2011-2012 Regis Houssin + * Copyright (C) 2011-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/paypal/lib/paypal.lib.php b/htdocs/paypal/lib/paypal.lib.php index e99acdedf5d..37cc2fdbeba 100644 --- a/htdocs/paypal/lib/paypal.lib.php +++ b/htdocs/paypal/lib/paypal.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011-2012 Regis Houssin + * Copyright (C) 2011-2012 Regis Houssin * * 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 diff --git a/htdocs/paypal/lib/paypalfunctions.lib.php b/htdocs/paypal/lib/paypalfunctions.lib.php index 92b24ec60fb..00f67bfa1f0 100644 --- a/htdocs/paypal/lib/paypalfunctions.lib.php +++ b/htdocs/paypal/lib/paypalfunctions.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * * 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 diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index 45f938431c3..334640e87d3 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -3,7 +3,7 @@ * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2006-2007 Rodolphe Quiedeville * Copyright (C) 2007 Auguria SARL - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2012 Cedric Salvador diff --git a/htdocs/product/admin/product_extrafields.php b/htdocs/product/admin/product_extrafields.php index 82eafd230d7..23780df895e 100644 --- a/htdocs/product/admin/product_extrafields.php +++ b/htdocs/product/admin/product_extrafields.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2012 Marcos García - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/product/admin/product_lot_extrafields.php b/htdocs/product/admin/product_lot_extrafields.php index 8e57daf7491..911c96e1b88 100644 --- a/htdocs/product/admin/product_lot_extrafields.php +++ b/htdocs/product/admin/product_lot_extrafields.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2012 Marcos García - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/product/admin/product_tools.php b/htdocs/product/admin/product_tools.php index b0c62c81d4f..4ab8698f4cb 100644 --- a/htdocs/product/admin/product_tools.php +++ b/htdocs/product/admin/product_tools.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2012 Regis Houssin * Copyright (C) 2013-2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/agenda.php b/htdocs/product/agenda.php index 2dfe8aa425f..64ff9c66119 100644 --- a/htdocs/product/agenda.php +++ b/htdocs/product/agenda.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Brice Davoleau - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/product/ajax/products.php b/htdocs/product/ajax/products.php index cce0f4254a0..6a286d6e7d2 100644 --- a/htdocs/product/ajax/products.php +++ b/htdocs/product/ajax/products.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2007-2011 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/canvas/product/actions_card_product.class.php b/htdocs/product/canvas/product/actions_card_product.class.php index bcd9773c719..cf9fcff98c8 100644 --- a/htdocs/product/canvas/product/actions_card_product.class.php +++ b/htdocs/product/canvas/product/actions_card_product.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/canvas/product/tpl/card_create.tpl.php b/htdocs/product/canvas/product/tpl/card_create.tpl.php index dbaaed35319..ca668037e93 100644 --- a/htdocs/product/canvas/product/tpl/card_create.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_create.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/canvas/product/tpl/card_edit.tpl.php b/htdocs/product/canvas/product/tpl/card_edit.tpl.php index f114020a4bc..36a4b7543c6 100644 --- a/htdocs/product/canvas/product/tpl/card_edit.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_edit.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/canvas/product/tpl/card_view.tpl.php b/htdocs/product/canvas/product/tpl/card_view.tpl.php index 61964399e1c..082a983305b 100644 --- a/htdocs/product/canvas/product/tpl/card_view.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/canvas/service/actions_card_service.class.php b/htdocs/product/canvas/service/actions_card_service.class.php index 2f0489b6f91..7ba746af06e 100644 --- a/htdocs/product/canvas/service/actions_card_service.class.php +++ b/htdocs/product/canvas/service/actions_card_service.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/canvas/service/tpl/card_create.tpl.php b/htdocs/product/canvas/service/tpl/card_create.tpl.php index f748edc03e6..79f40d4f6e0 100644 --- a/htdocs/product/canvas/service/tpl/card_create.tpl.php +++ b/htdocs/product/canvas/service/tpl/card_create.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/canvas/service/tpl/card_edit.tpl.php b/htdocs/product/canvas/service/tpl/card_edit.tpl.php index 969ce3de2da..2c48be3e0ef 100644 --- a/htdocs/product/canvas/service/tpl/card_edit.tpl.php +++ b/htdocs/product/canvas/service/tpl/card_edit.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/canvas/service/tpl/card_view.tpl.php b/htdocs/product/canvas/service/tpl/card_view.tpl.php index 5826d78583f..02cefb38e7d 100644 --- a/htdocs/product/canvas/service/tpl/card_view.tpl.php +++ b/htdocs/product/canvas/service/tpl/card_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2018 Regis Houssin * * 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 diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 31d2d7509c9..f94c34d1804 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2007 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2006 Auguria SARL * Copyright (C) 2010-2015 Juanjo Menent diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 805d5d214a2..f68464e3bc1 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2007-2011 Jean Heimburger * Copyright (C) 2010-2018 Juanjo Menent diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index d2ef4210e9c..521b9dfeca7 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2007 Rodolphe Quiedeville * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2011-2014 Juanjo Menent * Copyright (C) 2015 Raphaël Doursenaud diff --git a/htdocs/product/document.php b/htdocs/product/document.php index d0bc7b3f9be..1e426e512cb 100644 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 7ad740eab0a..26346b1017b 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2007 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2012 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2014 Ion Agorria diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 2089193e208..8fb1fe7dd12 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2014-2016 Charlie BENKE * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/product/list.php b/htdocs/product/list.php index 562d09056c7..a20308c72a9 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012-2016 Marcos García * Copyright (C) 2013-2018 Juanjo Menent * Copyright (C) 2013-2015 Raphaël Doursenaud diff --git a/htdocs/product/note.php b/htdocs/product/note.php index 8bf30c3d6e0..e77360b46be 100644 --- a/htdocs/product/note.php +++ b/htdocs/product/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Marcos García diff --git a/htdocs/product/popuprop.php b/htdocs/product/popuprop.php index 0d54808ecef..687054d1cde 100644 --- a/htdocs/product/popuprop.php +++ b/htdocs/product/popuprop.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville * Copyright (C) 2004-2005 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Marcos García * Copyright (C) 2015 Jean-François Ferry * diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 561e6663b42..06f49757d5a 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2007 Rodolphe Quiedeville * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2014 Florian Henry * Copyright (C) 2014-2018 Juanjo Menent diff --git a/htdocs/product/reassort.php b/htdocs/product/reassort.php index 662873b7cf8..71482d6c86a 100644 --- a/htdocs/product/reassort.php +++ b/htdocs/product/reassort.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Raphaël Doursenaud * diff --git a/htdocs/product/reassortlot.php b/htdocs/product/reassortlot.php index 24aa1864a02..2f1827d2647 100644 --- a/htdocs/product/reassortlot.php +++ b/htdocs/product/reassortlot.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Raphaël Doursenaud * Copyright (C) 2016 Ferran Marcet diff --git a/htdocs/product/stats/card.php b/htdocs/product/stats/card.php index e7c50e8309e..40848e6bb81 100644 --- a/htdocs/product/stats/card.php +++ b/htdocs/product/stats/card.php @@ -1,7 +1,7 @@ * Copyright (c) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Eric Seigne * Copyright (C) 2013 Juanjo Menent * diff --git a/htdocs/product/stats/commande.php b/htdocs/product/stats/commande.php index f85fb375b5a..083dcd6ea52 100644 --- a/htdocs/product/stats/commande.php +++ b/htdocs/product/stats/commande.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/stats/commande_fournisseur.php b/htdocs/product/stats/commande_fournisseur.php index ed49d34fbc3..21bb3f6fd9a 100644 --- a/htdocs/product/stats/commande_fournisseur.php +++ b/htdocs/product/stats/commande_fournisseur.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/stats/contrat.php b/htdocs/product/stats/contrat.php index 55ae3a29939..86e8e0ed616 100644 --- a/htdocs/product/stats/contrat.php +++ b/htdocs/product/stats/contrat.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index fa4e468a5f9..cd2dc221bb9 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Florian Henry * diff --git a/htdocs/product/stats/facture_fournisseur.php b/htdocs/product/stats/facture_fournisseur.php index b3f8d1e41c0..95bea4650c4 100644 --- a/htdocs/product/stats/facture_fournisseur.php +++ b/htdocs/product/stats/facture_fournisseur.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Florian Henry * diff --git a/htdocs/product/stats/propal.php b/htdocs/product/stats/propal.php index a58bb01961e..1c2d0f56e3c 100644 --- a/htdocs/product/stats/propal.php +++ b/htdocs/product/stats/propal.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/stats/supplier_proposal.php b/htdocs/product/stats/supplier_proposal.php index ca165a7cfd1..55cafd034cf 100644 --- a/htdocs/product/stats/supplier_proposal.php +++ b/htdocs/product/stats/supplier_proposal.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php index 25e22faabcc..6977ac28acf 100644 --- a/htdocs/product/stock/card.php +++ b/htdocs/product/stock/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2006 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005 Simon Tosser - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2016 Francis Appels * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php index 3f298aed85d..9bc0fd8477f 100644 --- a/htdocs/product/stock/class/entrepot.class.php +++ b/htdocs/product/stock/class/entrepot.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2008 Regis Houssin + * Copyright (C) 2005-2008 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2016 Francis Appels * diff --git a/htdocs/product/stock/index.php b/htdocs/product/stock/index.php index c85f40ef9c2..61990fa1cfb 100644 --- a/htdocs/product/stock/index.php +++ b/htdocs/product/stock/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/product/stock/list.php b/htdocs/product/stock/list.php index ca6cad1d664..5682b6855d3 100644 --- a/htdocs/product/stock/list.php +++ b/htdocs/product/stock/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2015 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/stock/massstockmove.php b/htdocs/product/stock/massstockmove.php index e456f966cf5..66ed28b8ec8 100644 --- a/htdocs/product/stock/massstockmove.php +++ b/htdocs/product/stock/massstockmove.php @@ -1,6 +1,6 @@ - * Copyright (C) 2014 Regis Houssin + * Copyright (C) 2014 Regis Houssin * * 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 diff --git a/htdocs/product/stock/movement_list.php b/htdocs/product/stock/movement_list.php index 27c50d075aa..547bf09441d 100644 --- a/htdocs/product/stock/movement_list.php +++ b/htdocs/product/stock/movement_list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2015 Juanjo Menent * Copyright (C) 2018 Ferran Marcet * diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index beb3135d9f4..7f3f3d99ebf 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005 Simon TOSSER - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2013-2018 Juanjo Menent * Copyright (C) 2014-2015 Cédric Gross diff --git a/htdocs/product/stock/productlot_document.php b/htdocs/product/stock/productlot_document.php index 1ce4f9ba224..29b01e376b1 100644 --- a/htdocs/product/stock/productlot_document.php +++ b/htdocs/product/stock/productlot_document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php index 994edfa823e..90bbe063e67 100644 --- a/htdocs/product/stock/replenish.php +++ b/htdocs/product/stock/replenish.php @@ -1,7 +1,7 @@ * Copyright (C) 2013-2018 Laurent Destaileur - * Copyright (C) 2014 Regis Houssin + * Copyright (C) 2014 Regis Houssin * Copyright (C) 2016 Juanjo Menent * Copyright (C) 2016 ATM Consulting * diff --git a/htdocs/product/stock/replenishorders.php b/htdocs/product/stock/replenishorders.php index 316d463fb27..a028ab13031 100644 --- a/htdocs/product/stock/replenishorders.php +++ b/htdocs/product/stock/replenishorders.php @@ -1,7 +1,7 @@ - * Copyright (C) 2014 Regis Houssin + * Copyright (C) 2014 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software: you can redistribute it and/or modify diff --git a/htdocs/product/stock/valo.php b/htdocs/product/stock/valo.php index 09524c5066a..45f96510e38 100644 --- a/htdocs/product/stock/valo.php +++ b/htdocs/product/stock/valo.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index 9f18f644e4c..855675be956 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2007 Rodolphe Quiedeville * Copyright (C) 2010-2012 Destailleur Laurent * Copyright (C) 2014 Henry Florian diff --git a/htdocs/projet/activity/index.php b/htdocs/projet/activity/index.php index e43700287cb..f5897650740 100644 --- a/htdocs/projet/activity/index.php +++ b/htdocs/projet/activity/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2015 Laurent Destailleur - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * * 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 diff --git a/htdocs/projet/activity/perday.php b/htdocs/projet/activity/perday.php index 623838f8149..0ebfa37bef8 100644 --- a/htdocs/projet/activity/perday.php +++ b/htdocs/projet/activity/perday.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2010 François Legastelois * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php index 214879c7f92..f68c899992b 100644 --- a/htdocs/projet/activity/perweek.php +++ b/htdocs/projet/activity/perweek.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2010 François Legastelois * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/projet/admin/project.php b/htdocs/projet/admin/project.php index f82a71514c4..71755fbdca3 100644 --- a/htdocs/projet/admin/project.php +++ b/htdocs/projet/admin/project.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2014 Regis Houssin * Copyright (C) 2011-2016 Laurent Destailleur * Copyright (C) 2011-2015 Juanjo Menent * Copyright (C) 2011-2018 Philippe Grand diff --git a/htdocs/projet/admin/project_extrafields.php b/htdocs/projet/admin/project_extrafields.php index 15ccd50bf76..00a0853ce19 100644 --- a/htdocs/projet/admin/project_extrafields.php +++ b/htdocs/projet/admin/project_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Juanjo Menent * diff --git a/htdocs/projet/admin/project_task_extrafields.php b/htdocs/projet/admin/project_task_extrafields.php index 90729840035..3a5b3c5749f 100644 --- a/htdocs/projet/admin/project_task_extrafields.php +++ b/htdocs/projet/admin/project_task_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Juanjo Menent * diff --git a/htdocs/projet/ajax/projects.php b/htdocs/projet/ajax/projects.php index f2417df5353..46699ba01dd 100644 --- a/htdocs/projet/ajax/projects.php +++ b/htdocs/projet/ajax/projects.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2007-2011 Laurent Destailleur * Copyright (C) 2014-2015 Marcos García * diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index 7aaa6805189..8bf377a9844 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index ab47079c9d0..84b47429211 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2016 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2017 Marcos García * Copyright (C) 2017 Ferran Marcet diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index c5a7a334eb0..50c7f0d007f 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2014 Marcos García * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/projet/comment.php b/htdocs/projet/comment.php index f6cd6ac0005..4d13161042d 100644 --- a/htdocs/projet/comment.php +++ b/htdocs/projet/comment.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2017 Laurent Destailleur - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/projet/contact.php b/htdocs/projet/contact.php index 4b9aaf58b8b..cd2e722ecd3 100644 --- a/htdocs/projet/contact.php +++ b/htdocs/projet/contact.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2012-2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/projet/document.php b/htdocs/projet/document.php index af9f7c2d8fc..47188547d8d 100644 --- a/htdocs/projet/document.php +++ b/htdocs/projet/document.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2012 Laurent Destailleur * Copyright (C) 2013 Cédric Salvador * diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 7c44fb9850b..93142d8189f 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2012-2016 Juanjo Menent * Copyright (C) 2015-2018 Alexandre Spangaro * Copyright (C) 2015 Marcos García diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php index 00f568271e0..723b96c6b44 100644 --- a/htdocs/projet/ganttview.php +++ b/htdocs/projet/ganttview.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index 50143057205..e613c5642ad 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * * 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 diff --git a/htdocs/projet/info.php b/htdocs/projet/info.php index 7aa0dccd67d..1f9b35b8420 100644 --- a/htdocs/projet/info.php +++ b/htdocs/projet/info.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * 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 diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index 5a13b16560d..2c8fb856938 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Bariley / Ocebo - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Claudio Aschieri * Copyright (C) 2018 Ferran Marcet diff --git a/htdocs/projet/note.php b/htdocs/projet/note.php index 4d455bdcbc7..adbd98c37c8 100644 --- a/htdocs/projet/note.php +++ b/htdocs/projet/note.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index 47c88885bc4..540cb888784 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * * 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 diff --git a/htdocs/projet/tasks/comment.php b/htdocs/projet/tasks/comment.php index ba54b35a59e..9bdb1c2cec0 100644 --- a/htdocs/projet/tasks/comment.php +++ b/htdocs/projet/tasks/comment.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2017 Laurent Destailleur - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php index d86c8b469ae..82c722f2485 100644 --- a/htdocs/projet/tasks/contact.php +++ b/htdocs/projet/tasks/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2015 Laurent Destailleur - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/projet/tasks/document.php b/htdocs/projet/tasks/document.php index a186c89988f..b8ff9a175ab 100644 --- a/htdocs/projet/tasks/document.php +++ b/htdocs/projet/tasks/document.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2006-2012 Laurent Destailleur * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php index 2366ccc738b..ea6236d3e18 100644 --- a/htdocs/projet/tasks/list.php +++ b/htdocs/projet/tasks/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2016 Laurent Destailleur - * Copyright (C) 2006-2010 Regis Houssin + * Copyright (C) 2006-2010 Regis Houssin * Copyright (C) 2018 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/projet/tasks/note.php b/htdocs/projet/tasks/note.php index 668c2a96d83..b19d3ed5b0a 100644 --- a/htdocs/projet/tasks/note.php +++ b/htdocs/projet/tasks/note.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * * 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 diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php index fa9796449db..73ce4a562e4 100644 --- a/htdocs/projet/tasks/task.php +++ b/htdocs/projet/tasks/task.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2017 Laurent Destailleur - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 7ff93c7b4da..4ac6f8a4621 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2018 Laurent Destailleur - * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2018 Ferran Marcet * Copyright (C) 2018 Frédéric France diff --git a/htdocs/public/cron/cron_run_jobs.php b/htdocs/public/cron/cron_run_jobs.php index df207e87d85..57cde107f24 100644 --- a/htdocs/public/cron/cron_run_jobs.php +++ b/htdocs/public/cron/cron_run_jobs.php @@ -2,7 +2,7 @@ /* Copyright (C) 2012 Nicolas Villa aka Boyquotes http://informetic.fr * Copyright (C) 2013 Florian Henry * Copyright (C) 2013-2015 Laurent Destailleur - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index f9169bb47d2..0409e849df0 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2010 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php index f2395020bda..78b3ceb75db 100644 --- a/htdocs/public/members/new.php +++ b/htdocs/public/members/new.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2001-2002 Jean-Louis Bergamo * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 J. Fernando Lagrange * Copyright (C) 2018 Frédéric France * diff --git a/htdocs/public/members/public_card.php b/htdocs/public/members/public_card.php index bc8fd0cde17..c7a9fa45b3a 100644 --- a/htdocs/public/members/public_card.php +++ b/htdocs/public/members/public_card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville * Copyright (C) 2002-2003 Jean-Louis Bergamo * Copyright (C) 2007-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/public/members/public_list.php b/htdocs/public/members/public_list.php index 6ba46182427..6481851900a 100644 --- a/htdocs/public/members/public_list.php +++ b/htdocs/public/members/public_list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville * Copyright (C) 2002-2003 Jean-Louis Bergamo * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/public/onlinesign/newonlinesign.php b/htdocs/public/onlinesign/newonlinesign.php index 277cd1ada78..b580a508ed0 100644 --- a/htdocs/public/onlinesign/newonlinesign.php +++ b/htdocs/public/onlinesign/newonlinesign.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2017 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * * 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 diff --git a/htdocs/public/paybox/newpayment.php b/htdocs/public/paybox/newpayment.php index 3dc990c30f4..7693660b4ee 100644 --- a/htdocs/public/paybox/newpayment.php +++ b/htdocs/public/paybox/newpayment.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2012 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin + * Copyright (C) 2009 Regis Houssin * * 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 diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index 0975186eb03..836540e6a58 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2017 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * * 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 diff --git a/htdocs/public/payment/paymentko.php b/htdocs/public/payment/paymentko.php index 33fc1fb5101..cd220a5764f 100644 --- a/htdocs/public/payment/paymentko.php +++ b/htdocs/public/payment/paymentko.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index 36723658946..a1fd65940d9 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/public/paypal/newpayment.php b/htdocs/public/paypal/newpayment.php index 1a3ee3964ff..1ec8f058408 100644 --- a/htdocs/public/paypal/newpayment.php +++ b/htdocs/public/paypal/newpayment.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2017 Laurent Destailleur - * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2009-2012 Regis Houssin * * 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 diff --git a/htdocs/public/paypal/paymentko.php b/htdocs/public/paypal/paymentko.php index 03645244e91..16f360dd0d9 100644 --- a/htdocs/public/paypal/paymentko.php +++ b/htdocs/public/paypal/paymentko.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/public/paypal/paymentok.php b/htdocs/public/paypal/paymentok.php index 72a43dcbc7b..da815b061a7 100644 --- a/htdocs/public/paypal/paymentok.php +++ b/htdocs/public/paypal/paymentok.php @@ -1,7 +1,7 @@ * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/resource/agenda.php b/htdocs/resource/agenda.php index 442be89f923..f4980e698da 100644 --- a/htdocs/resource/agenda.php +++ b/htdocs/resource/agenda.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Brice Davoleau - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/resource/contact.php b/htdocs/resource/contact.php index a90d68ff94c..e4f588b7f0d 100644 --- a/htdocs/resource/contact.php +++ b/htdocs/resource/contact.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007-2009 Laurent Destailleur * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2016 Gilles Poirier diff --git a/htdocs/resource/document.php b/htdocs/resource/document.php index 85ec5b96c79..1d2c3efd9e7 100644 --- a/htdocs/resource/document.php +++ b/htdocs/resource/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador diff --git a/htdocs/resource/note.php b/htdocs/resource/note.php index f811d0e07ed..79ba2b159a8 100644 --- a/htdocs/resource/note.php +++ b/htdocs/resource/note.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2016 Laurent Destailleur * Copyright (C) 2013 Florian Henry diff --git a/htdocs/societe/admin/contact_extrafields.php b/htdocs/societe/admin/contact_extrafields.php index 5eaba3c1cb1..2cd65982c8e 100644 --- a/htdocs/societe/admin/contact_extrafields.php +++ b/htdocs/societe/admin/contact_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/societe/admin/societe.php b/htdocs/societe/admin/societe.php index 0166b6a233a..dac7f9ea126 100644 --- a/htdocs/societe/admin/societe.php +++ b/htdocs/societe/admin/societe.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/admin/societe_extrafields.php b/htdocs/societe/admin/societe_extrafields.php index 0835df13e22..1ae10d10703 100644 --- a/htdocs/societe/admin/societe_extrafields.php +++ b/htdocs/societe/admin/societe_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/societe/agenda.php b/htdocs/societe/agenda.php index ffcd894e84a..d682ad43d4d 100644 --- a/htdocs/societe/agenda.php +++ b/htdocs/societe/agenda.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Brice Davoleau - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/societe/ajax/company.php b/htdocs/societe/ajax/company.php index d62c8a445d6..2cfdce9c01c 100644 --- a/htdocs/societe/ajax/company.php +++ b/htdocs/societe/ajax/company.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007-2011 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/ajaxcompanies.php b/htdocs/societe/ajaxcompanies.php index 9d38a97a0a0..15ef4dd19e7 100644 --- a/htdocs/societe/ajaxcompanies.php +++ b/htdocs/societe/ajaxcompanies.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2010 Cyrille de Lambert * diff --git a/htdocs/societe/ajaxcountries.php b/htdocs/societe/ajaxcountries.php index b9d1bf5fc8c..f67d01facce 100644 --- a/htdocs/societe/ajaxcountries.php +++ b/htdocs/societe/ajaxcountries.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/canvas/actions_card_common.class.php b/htdocs/societe/canvas/actions_card_common.class.php index 92d009db604..ffcd7c7a00f 100644 --- a/htdocs/societe/canvas/actions_card_common.class.php +++ b/htdocs/societe/canvas/actions_card_common.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2011-2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/canvas/company/actions_card_company.class.php b/htdocs/societe/canvas/company/actions_card_company.class.php index 09172f1ea5a..c8b1a296e24 100644 --- a/htdocs/societe/canvas/company/actions_card_company.class.php +++ b/htdocs/societe/canvas/company/actions_card_company.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2011 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/canvas/company/tpl/card_create.tpl.php b/htdocs/societe/canvas/company/tpl/card_create.tpl.php index 795acefb43c..5007fe32af4 100644 --- a/htdocs/societe/canvas/company/tpl/card_create.tpl.php +++ b/htdocs/societe/canvas/company/tpl/card_create.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2010-2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/canvas/company/tpl/card_edit.tpl.php b/htdocs/societe/canvas/company/tpl/card_edit.tpl.php index 6edf5a16b2e..f06b6aa5446 100644 --- a/htdocs/societe/canvas/company/tpl/card_edit.tpl.php +++ b/htdocs/societe/canvas/company/tpl/card_edit.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2010-2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/canvas/company/tpl/card_view.tpl.php b/htdocs/societe/canvas/company/tpl/card_view.tpl.php index 24ddfbaaaac..26cf6bb6787 100644 --- a/htdocs/societe/canvas/company/tpl/card_view.tpl.php +++ b/htdocs/societe/canvas/company/tpl/card_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * * 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 diff --git a/htdocs/societe/canvas/individual/actions_card_individual.class.php b/htdocs/societe/canvas/individual/actions_card_individual.class.php index 5fd7ee01faf..6107d8ac8b1 100644 --- a/htdocs/societe/canvas/individual/actions_card_individual.class.php +++ b/htdocs/societe/canvas/individual/actions_card_individual.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * * 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 diff --git a/htdocs/societe/canvas/individual/tpl/card_create.tpl.php b/htdocs/societe/canvas/individual/tpl/card_create.tpl.php index 121422c520f..b1d02006f16 100644 --- a/htdocs/societe/canvas/individual/tpl/card_create.tpl.php +++ b/htdocs/societe/canvas/individual/tpl/card_create.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2010-2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php b/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php index 11d6a0430ca..7319b394d56 100644 --- a/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php +++ b/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010 Regis Houssin * Copyright (C) 2010-2012 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/societe/canvas/individual/tpl/card_view.tpl.php b/htdocs/societe/canvas/individual/tpl/card_view.tpl.php index fd9b3487f50..18023d93978 100644 --- a/htdocs/societe/canvas/individual/tpl/card_view.tpl.php +++ b/htdocs/societe/canvas/individual/tpl/card_view.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * * 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 diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index 5935a1d01a1..d267dba7732 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Brian Fraval * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2008 Patrick Raguin * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2011-2013 Alexandre Spangaro diff --git a/htdocs/societe/class/address.class.php b/htdocs/societe/class/address.class.php index 4f9915a844c..b381e7cf8a2 100644 --- a/htdocs/societe/class/address.class.php +++ b/htdocs/societe/class/address.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * * 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 diff --git a/htdocs/societe/class/client.class.php b/htdocs/societe/class/client.class.php index 400dc65b0c2..39a90c43eb9 100644 --- a/htdocs/societe/class/client.class.php +++ b/htdocs/societe/class/client.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 73210ade104..2891724ac7e 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2010-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Peter Fontaine * Copyright (C) 2016 Marcos García * diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index dd1aada283b..59e79376411 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2003 Brian Fraval * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2008 Patrick Raguin * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013 Florian Henry diff --git a/htdocs/societe/contact.php b/htdocs/societe/contact.php index 24ec0026455..4077a0b1815 100644 --- a/htdocs/societe/contact.php +++ b/htdocs/societe/contact.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Brian Fraval * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Patrick Raguin * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2011-2013 Alexandre Spangaro diff --git a/htdocs/societe/document.php b/htdocs/societe/document.php index a9aae7a8654..04e5b78682e 100644 --- a/htdocs/societe/document.php +++ b/htdocs/societe/document.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Marcos García diff --git a/htdocs/societe/index.php b/htdocs/societe/index.php index 0759008c435..6c429e35a22 100644 --- a/htdocs/societe/index.php +++ b/htdocs/societe/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Charles-Fr Benke * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2016 Ferran Marcet diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index 684f6f8c471..30c3c06675b 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2013-2015 Raphaël Doursenaud * Copyright (C) 2015 Florian Henry diff --git a/htdocs/societe/note.php b/htdocs/societe/note.php index 169d2b687e9..9f1adb16fc7 100644 --- a/htdocs/societe/note.php +++ b/htdocs/societe/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Marcos García diff --git a/htdocs/societe/paymentmodes.php b/htdocs/societe/paymentmodes.php index 13fdf048382..0853b7ee571 100644 --- a/htdocs/societe/paymentmodes.php +++ b/htdocs/societe/paymentmodes.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2004 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Peter Fontaine * Copyright (C) 2015-2016 Marcos García * Copyright (C) 2017 Ferran Marcet diff --git a/htdocs/societe/price.php b/htdocs/societe/price.php index a9b280a3f47..92bad9ecf61 100644 --- a/htdocs/societe/price.php +++ b/htdocs/societe/price.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2007 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2015 Marcos García * diff --git a/htdocs/societe/project.php b/htdocs/societe/project.php index f92d274fe46..97e6817f5d5 100644 --- a/htdocs/societe/project.php +++ b/htdocs/societe/project.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Brice Davoleau - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/societe/societecontact.php b/htdocs/societe/societecontact.php index edfa2f28d5c..630b8fa4723 100644 --- a/htdocs/societe/societecontact.php +++ b/htdocs/societe/societecontact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2015 Philippe Grand * Copyright (C) 2014 Charles-Fr Benke * Copyright (C) 2015 Marcos García diff --git a/htdocs/societe/website.php b/htdocs/societe/website.php index 760bfef4d27..3f6f3ba197a 100644 --- a/htdocs/societe/website.php +++ b/htdocs/societe/website.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Brice Davoleau - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent diff --git a/htdocs/stripe/class/actions_stripe.class.php b/htdocs/stripe/class/actions_stripe.class.php index a74b2d52eef..3ecb02a6300 100644 --- a/htdocs/stripe/class/actions_stripe.class.php +++ b/htdocs/stripe/class/actions_stripe.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2009-2016 Regis Houssin * Copyright (C) 2011 Herve Prot * Copyright (C) 2014 Philippe Grand * diff --git a/htdocs/stripe/payment.php b/htdocs/stripe/payment.php index 9a7ecfd5470..8bada8a96e7 100644 --- a/htdocs/stripe/payment.php +++ b/htdocs/stripe/payment.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2006 Rodolphe Quiedeville * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2014 Raphaël Doursenaud diff --git a/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php b/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php index 24ae20848f1..d5d208b945e 100644 --- a/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php +++ b/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php b/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php index 7d153a78cdc..531151740b6 100644 --- a/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php +++ b/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Florian Henry diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php index 248165727cf..99e99517f75 100644 --- a/htdocs/supplier_proposal/card.php +++ b/htdocs/supplier_proposal/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2010-2011 Philippe Grand diff --git a/htdocs/supplier_proposal/class/supplier_proposal.class.php b/htdocs/supplier_proposal/class/supplier_proposal.class.php index a05d0485aaf..82b8b09220d 100644 --- a/htdocs/supplier_proposal/class/supplier_proposal.class.php +++ b/htdocs/supplier_proposal/class/supplier_proposal.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005 Marc Barilley - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2015 Juanjo Menent diff --git a/htdocs/supplier_proposal/contact.php b/htdocs/supplier_proposal/contact.php index 881fae4d1a7..7e862e7682d 100644 --- a/htdocs/supplier_proposal/contact.php +++ b/htdocs/supplier_proposal/contact.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2018 Destailleur Laurent - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/supplier_proposal/document.php b/htdocs/supplier_proposal/document.php index cf500246290..63d1f96893a 100644 --- a/htdocs/supplier_proposal/document.php +++ b/htdocs/supplier_proposal/document.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/supplier_proposal/index.php b/htdocs/supplier_proposal/index.php index cec80662c41..2eb2fb05032 100644 --- a/htdocs/supplier_proposal/index.php +++ b/htdocs/supplier_proposal/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/supplier_proposal/info.php b/htdocs/supplier_proposal/info.php index 95a753272be..43e6a70f3c3 100644 --- a/htdocs/supplier_proposal/info.php +++ b/htdocs/supplier_proposal/info.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2017 Ferran Marcet * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index 2fcb296b433..9dea9c7f8dd 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2010-2011 Philippe Grand diff --git a/htdocs/supplier_proposal/note.php b/htdocs/supplier_proposal/note.php index ff531b05d83..e57c5260013 100644 --- a/htdocs/supplier_proposal/note.php +++ b/htdocs/supplier_proposal/note.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Ferran Marcet * diff --git a/htdocs/supplier_proposal/tpl/linkedobjectblock.tpl.php b/htdocs/supplier_proposal/tpl/linkedobjectblock.tpl.php index 794ed96f3ec..33ab23bd962 100644 --- a/htdocs/supplier_proposal/tpl/linkedobjectblock.tpl.php +++ b/htdocs/supplier_proposal/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2011 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Marcos García * diff --git a/htdocs/support/index.php b/htdocs/support/index.php index bc0ef1a79c5..9b7142acd2f 100644 --- a/htdocs/support/index.php +++ b/htdocs/support/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2012 Regis Houssin + * Copyright (C) 2008-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/takepos/admin/orderprinters.php b/htdocs/takepos/admin/orderprinters.php index 4c72031b41b..a37a1d71c61 100644 --- a/htdocs/takepos/admin/orderprinters.php +++ b/htdocs/takepos/admin/orderprinters.php @@ -3,7 +3,7 @@ * Copyright (C) 2005 Eric Seigne * Copyright (C) 2006-2016 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/takepos/customers.php b/htdocs/takepos/customers.php index f5bcb8557cf..99b6d1eaf89 100644 --- a/htdocs/takepos/customers.php +++ b/htdocs/takepos/customers.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2013-2015 Raphaël Doursenaud * Copyright (C) 2015 Florian Henry diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 9eba59317bc..4d80f57b342 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -1,7 +1,7 @@ * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007-2017 Regis Houssin + * Copyright (C) 2007-2017 Regis Houssin * Copyright (C) 2011 Philippe Grand * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2018 Ferran Marcet diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 80a79b0245a..e6842d97fe3 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -1,7 +1,7 @@ * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007-2017 Regis Houssin + * Copyright (C) 2007-2017 Regis Houssin * Copyright (C) 2011 Philippe Grand * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2015 Alexandre Spangaro diff --git a/htdocs/ticket/contact.php b/htdocs/ticket/contact.php index 22199bed745..e836db4e1be 100644 --- a/htdocs/ticket/contact.php +++ b/htdocs/ticket/contact.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * Copyright (C) 2016 Christophe Battarel * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/ticket/document.php b/htdocs/ticket/document.php index d1d80387f6e..69b06e431bc 100644 --- a/htdocs/ticket/document.php +++ b/htdocs/ticket/document.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013-2016 Jean-François Ferry * diff --git a/htdocs/ticket/list.php b/htdocs/ticket/list.php index 1b43d0054b7..9d7391f693e 100644 --- a/htdocs/ticket/list.php +++ b/htdocs/ticket/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2016 Christophe Battarel - * Copyright (C) 2018 Regis Houssin + * Copyright (C) 2018 Regis Houssin * * 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 diff --git a/htdocs/ticket/tpl/linkedobjectblock.tpl.php b/htdocs/ticket/tpl/linkedobjectblock.tpl.php index dd9f340429e..07ee09cea05 100644 --- a/htdocs/ticket/tpl/linkedobjectblock.tpl.php +++ b/htdocs/ticket/tpl/linkedobjectblock.tpl.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2013 Jean-François FERRY * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/user/admin/group_extrafields.php b/htdocs/user/admin/group_extrafields.php index 48e2b4091d6..27fbc7c152c 100644 --- a/htdocs/user/admin/group_extrafields.php +++ b/htdocs/user/admin/group_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2014 Alexis Algoud * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/user/admin/user_extrafields.php b/htdocs/user/admin/user_extrafields.php index 81dc7c290c1..eaf118d361a 100644 --- a/htdocs/user/admin/user_extrafields.php +++ b/htdocs/user/admin/user_extrafields.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2002 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/user/bank.php b/htdocs/user/bank.php index 13b555b6d5c..0b65e48c2bb 100644 --- a/htdocs/user/bank.php +++ b/htdocs/user/bank.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2004 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Peter Fontaine * Copyright (C) 2015-2016 Marcos García * Copyright (C) 2015 Alexandre Spangaro diff --git a/htdocs/user/card.php b/htdocs/user/card.php index a87438eda95..c8cb474b12d 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2005 Lionel Cousteix * Copyright (C) 2011 Herve Prot * Copyright (C) 2012 Juanjo Menent diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index d1a8cae636b..9e790437cb7 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -4,7 +4,7 @@ * Copyright (c) 2004-2012 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2005 Lionel Cousteix * Copyright (C) 2011 Herve Prot * Copyright (C) 2013-2018 Philippe Grand diff --git a/htdocs/user/class/userbankaccount.class.php b/htdocs/user/class/userbankaccount.class.php index b1769edea6f..7870fe9c35e 100644 --- a/htdocs/user/class/userbankaccount.class.php +++ b/htdocs/user/class/userbankaccount.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2010-2013 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Peter Fontaine * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2016 Marcos García diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index 6f3e333f6f5..cfc6d13427c 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -1,7 +1,7 @@ * Copyright (c) 2005-2018 Laurent Destailleur - * Copyright (c) 2005-2018 Regis Houssin + * Copyright (c) 2005-2018 Regis Houssin * Copyright (C) 2012 Florian Henry * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Alexis Algoud diff --git a/htdocs/user/clicktodial.php b/htdocs/user/clicktodial.php index 918d8c394ca..a6618f3a7c0 100644 --- a/htdocs/user/clicktodial.php +++ b/htdocs/user/clicktodial.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2012 Laurent Destailleur - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/user/document.php b/htdocs/user/document.php index decc53a379c..6f7e27b13dd 100644 --- a/htdocs/user/document.php +++ b/htdocs/user/document.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013 Cédric Salvador * diff --git a/htdocs/user/group/card.php b/htdocs/user/group/card.php index 44eef8dfc1f..f4b484a72e0 100644 --- a/htdocs/user/group/card.php +++ b/htdocs/user/group/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2015 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2011 Herve Prot * Copyright (C) 2012 Florian Henry * diff --git a/htdocs/user/group/ldap.php b/htdocs/user/group/ldap.php index 5bc6130a2b6..0103f63884a 100644 --- a/htdocs/user/group/ldap.php +++ b/htdocs/user/group/ldap.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Regis Houssin + * Copyright (C) 2006-2017 Regis Houssin * * 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 diff --git a/htdocs/user/group/list.php b/htdocs/user/group/list.php index 745f9002055..b9de423f19f 100644 --- a/htdocs/user/group/list.php +++ b/htdocs/user/group/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * Copyright (C) 2011 Herve Prot * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/user/group/perms.php b/htdocs/user/group/perms.php index 4b4b181cdc8..6b1b011b85c 100644 --- a/htdocs/user/group/perms.php +++ b/htdocs/user/group/perms.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * * 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 diff --git a/htdocs/user/hierarchy.php b/htdocs/user/hierarchy.php index 3212fe6fb6e..7882bfb24e2 100644 --- a/htdocs/user/hierarchy.php +++ b/htdocs/user/hierarchy.php @@ -3,7 +3,7 @@ * Copyright (C) 2005 Eric Seigne * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/user/home.php b/htdocs/user/home.php index d232c3cf7f1..da31b6027ed 100644 --- a/htdocs/user/home.php +++ b/htdocs/user/home.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2018 Regis Houssin + * Copyright (C) 2005-2018 Regis Houssin * * 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 diff --git a/htdocs/user/info.php b/htdocs/user/info.php index bb262804d33..5e1bfaddc4c 100644 --- a/htdocs/user/info.php +++ b/htdocs/user/info.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * * 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 diff --git a/htdocs/user/ldap.php b/htdocs/user/ldap.php index fa5e5e023eb..45b575b9843 100644 --- a/htdocs/user/ldap.php +++ b/htdocs/user/ldap.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Regis Houssin + * Copyright (C) 2006-2017 Regis Houssin * * 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 diff --git a/htdocs/user/list.php b/htdocs/user/list.php index 64c63c05426..3d0a883d431 100644 --- a/htdocs/user/list.php +++ b/htdocs/user/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2016 Marcos García * diff --git a/htdocs/user/logout.php b/htdocs/user/logout.php index 4250465ff09..3f53a4c67dd 100644 --- a/htdocs/user/logout.php +++ b/htdocs/user/logout.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2003 Xavier Dutoit * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2012 Regis Houssin * * 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 diff --git a/htdocs/user/note.php b/htdocs/user/note.php index 1cf994db9e9..c4f657a29bc 100644 --- a/htdocs/user/note.php +++ b/htdocs/user/note.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * * 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 diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index e0e6935bc48..0c43a12361d 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010-2015 Regis Houssin + * Copyright (C) 2010-2015 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2018 Ferran Marcet * diff --git a/htdocs/user/passwordforgotten.php b/htdocs/user/passwordforgotten.php index 26555d6f59e..519a0ef0a98 100644 --- a/htdocs/user/passwordforgotten.php +++ b/htdocs/user/passwordforgotten.php @@ -1,6 +1,6 @@ - * Copyright (C) 2008-2012 Regis Houssin + * Copyright (C) 2008-2012 Regis Houssin * Copyright (C) 2008-2011 Juanjo Menent * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> * diff --git a/htdocs/user/perms.php b/htdocs/user/perms.php index 8b7599f3707..f45b2b155fd 100644 --- a/htdocs/user/perms.php +++ b/htdocs/user/perms.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index 45393d07303..200230e5ca7 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2016 Laurent Destailleur - * Copyright (C) 2005-2016 Regis Houssin + * Copyright (C) 2005-2016 Regis Houssin * * 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 diff --git a/htdocs/webservices/admin/index.php b/htdocs/webservices/admin/index.php index 5c49e457c4f..3cd9aacdac8 100644 --- a/htdocs/webservices/admin/index.php +++ b/htdocs/webservices/admin/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2005-2010 Laurent Destailleur * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/htdocs/webservices/index.php b/htdocs/webservices/index.php index adbdb7a25f7..e0a1ba998c8 100644 --- a/htdocs/webservices/index.php +++ b/htdocs/webservices/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011 Regis Houssin * * 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 diff --git a/htdocs/webservices/server_order.php b/htdocs/webservices/server_order.php index d41b2880210..c74b5660873 100644 --- a/htdocs/webservices/server_order.php +++ b/htdocs/webservices/server_order.php @@ -1,7 +1,7 @@ * Copyright (C) 2012 JF FERRY - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/scripts/emailings/mailing-send.php b/scripts/emailings/mailing-send.php index c36e7ea1cc3..52f54a4c7b8 100755 --- a/scripts/emailings/mailing-send.php +++ b/scripts/emailings/mailing-send.php @@ -3,7 +3,7 @@ /* * Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2005-2013 Laurent Destailleur - * Copyright (C) 2005-2016 Regis Houssin + * Copyright (C) 2005-2016 Regis Houssin * * 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 diff --git a/scripts/members/sync_members_types_dolibarr2ldap.php b/scripts/members/sync_members_types_dolibarr2ldap.php index dac7ccfd0bc..dc1570c847f 100755 --- a/scripts/members/sync_members_types_dolibarr2ldap.php +++ b/scripts/members/sync_members_types_dolibarr2ldap.php @@ -3,7 +3,7 @@ /** * Copyright (C) 2005 Rodolphe Quiedeville * Copyright (C) 2006 Laurent Destailleur - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/scripts/members/sync_members_types_ldap2dolibarr.php b/scripts/members/sync_members_types_ldap2dolibarr.php index 27d7be686eb..cb85e38bd89 100755 --- a/scripts/members/sync_members_types_ldap2dolibarr.php +++ b/scripts/members/sync_members_types_ldap2dolibarr.php @@ -4,7 +4,7 @@ * Copyright (C) 2005 Rodolphe Quiedeville * Copyright (C) 2006-2012 Laurent Destailleur * Copyright (C) 2013 Maxime Kohlhaas - * Copyright (C) 2017 Regis Houssin + * Copyright (C) 2017 Regis Houssin * * 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 diff --git a/test/phpunit/AllTests.php b/test/phpunit/AllTests.php index 008014fbcb5..ee7ec9375d6 100644 --- a/test/phpunit/AllTests.php +++ b/test/phpunit/AllTests.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011-2012 Regis Houssin + * Copyright (C) 2011-2012 Regis Houssin * * 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 diff --git a/test/phpunit/BuildDocTest.php b/test/phpunit/BuildDocTest.php index cc2ac2339dc..985250aa705 100644 --- a/test/phpunit/BuildDocTest.php +++ b/test/phpunit/BuildDocTest.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/test/phpunit/FilesLibTest.php b/test/phpunit/FilesLibTest.php index 72e809aa051..c1a2a21b270 100644 --- a/test/phpunit/FilesLibTest.php +++ b/test/phpunit/FilesLibTest.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/test/phpunit/GetUrlLibTest.php b/test/phpunit/GetUrlLibTest.php index 2a6d218dc93..c99f71a972f 100644 --- a/test/phpunit/GetUrlLibTest.php +++ b/test/phpunit/GetUrlLibTest.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 diff --git a/test/phpunit/ImagesLibTest.php b/test/phpunit/ImagesLibTest.php index cc8ea5cdf67..1083eacf270 100644 --- a/test/phpunit/ImagesLibTest.php +++ b/test/phpunit/ImagesLibTest.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Regis Houssin * * 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 From a46f29cb98264ff5824664e9f7c739e63750c4cc Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Thu, 1 Nov 2018 12:02:36 +0100 Subject: [PATCH 004/199] Update Stripe Version API The description field on customer endpoints has a maximum character length limit of 350 now. The name field on product endpoints has a maximum character length limit of 250 now. The description field on invoice line items has a maximum character length limit of 500 now. The billing_reason attribute of the invoice object now can take the value of subscription_create, indicating that it is the first invoice of a subscription. For older API versions, billing_reason=subscription_create is represented as subscription_update. --- htdocs/stripe/config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/stripe/config.php b/htdocs/stripe/config.php index 6141c2a32f8..b348b9752c3 100644 --- a/htdocs/stripe/config.php +++ b/htdocs/stripe/config.php @@ -55,4 +55,4 @@ else \Stripe\Stripe::setApiKey($stripearrayofkeys['secret_key']); \Stripe\Stripe::setAppInfo("Dolibarr Stripe", DOL_VERSION, "https://www.dolibarr.org"); // add dolibarr version -\Stripe\Stripe::setApiVersion("2018-09-24"); // force version API +\Stripe\Stripe::setApiVersion("2018-10-31"); // force version API From 4f7be362496bcb3de295a9dcd1ae11ef1dde6446 Mon Sep 17 00:00:00 2001 From: John BOTELLA Date: Wed, 7 Nov 2018 09:14:29 +0100 Subject: [PATCH 005/199] fix extrafield hidden --- htdocs/core/class/commonobject.class.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 88386521079..67e06ea59f3 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -6142,7 +6142,7 @@ abstract class CommonObject if (! is_object($form)) $form=new Form($db); $out = ''; - + if (is_array($extrafields->attributes[$this->table_element]['label']) && count($extrafields->attributes[$this->table_element]['label']) > 0) { $out .= "\n"; @@ -6152,6 +6152,10 @@ abstract class CommonObject $e = 0; foreach($extrafields->attributes[$this->table_element]['label'] as $key=>$label) { + if(empty($extrafields->attribute_list[$key]) && $mode == 'view'){ + continue; + } + $enabled = 1; if ($enabled && isset($extrafields->attributes[$this->table_element]['list'][$key])) { From 5d1d77a966dc26032d172450d772f8311a1bf70a Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Fri, 9 Nov 2018 10:25:00 +0100 Subject: [PATCH 006/199] FIX missing action "edit" for the hook --- htdocs/categories/edit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/categories/edit.php b/htdocs/categories/edit.php index b420847f6fd..1cde5e62adc 100644 --- a/htdocs/categories/edit.php +++ b/htdocs/categories/edit.php @@ -35,7 +35,7 @@ $langs->load("categories"); $id=GETPOST('id','int'); $ref=GETPOST('ref'); $type=GETPOST('type'); -$action=GETPOST('action','aZ09'); +$action=(GETPOST('action','aZ09')?GETPOST('action','aZ09'):'edit'); $confirm=GETPOST('confirm'); $cancel=GETPOST('cancel','alpha'); From ee06f36f4c82f8b51624ceed78ef79a20dd7f61b Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Fri, 9 Nov 2018 11:36:20 +0100 Subject: [PATCH 007/199] FIX missing field "visible" --- htdocs/categories/class/categorie.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 70b2108dd4c..3de9bdfab0a 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -1043,7 +1043,7 @@ class Categorie extends CommonObject $current_lang = $langs->getDefaultLang(); // Init $this->cats array - $sql = "SELECT DISTINCT c.rowid, c.label, c.description, c.color, c.fk_parent"; // Distinct reduce pb with old tables with duplicates + $sql = "SELECT DISTINCT c.rowid, c.label, c.description, c.color, c.fk_parent, c.visible"; // Distinct reduce pb with old tables with duplicates if (! empty($conf->global->MAIN_MULTILANGS)) $sql.= ", t.label as label_trans, t.description as description_trans"; $sql.= " FROM ".MAIN_DB_PREFIX."categorie as c"; if (! empty($conf->global->MAIN_MULTILANGS)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_lang as t ON t.fk_category=c.rowid AND t.lang='".$current_lang."'"; @@ -1063,6 +1063,7 @@ class Categorie extends CommonObject $this->cats[$obj->rowid]['label'] = ! empty($obj->label_trans) ? $obj->label_trans : $obj->label; $this->cats[$obj->rowid]['description'] = ! empty($obj->description_trans) ? $obj->description_trans : $obj->description; $this->cats[$obj->rowid]['color'] = $obj->color; + $this->cats[$obj->rowid]['visible'] = $obj->visible; $i++; } } From 1fd398234fc0e7d08e0bed0068c9b9adde8adf05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Fri, 9 Nov 2018 15:29:49 +0100 Subject: [PATCH 008/199] remove warning --- htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php b/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php index 85592006a14..0f0e3c91a11 100644 --- a/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php +++ b/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2004-2017 Laurent Destailleur + * Copyright (C) 2018 Frédéric France * Copyright (C) ---Put here your own copyright and developer email--- * * This program is free software: you can redistribute it and/or modify @@ -200,7 +201,7 @@ class mymodulewidget1 extends ModeleBoxes * @param array $contents Array with properties of box lines * @return void */ - public function showBox($head = null, $contents = null) + public function showBox($head = null, $contents = null, $nooutput = 0) { // You may make your own code here… // … or use the parent's class function using the provided head and contents templates From 6cd27d8c8076610a2db4593cce775a0169e0b256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Fri, 9 Nov 2018 18:08:06 +0100 Subject: [PATCH 009/199] add admin dkim translation --- htdocs/langs/en_US/admin.lang | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index d9be14b3cb7..4ccfb04983f 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -277,8 +277,12 @@ MAIN_MAIL_ENABLED_USER_DEST_SELECT=Add employee users with email into allowed re MAIN_MAIL_SENDMODE=Email sending method MAIN_MAIL_SMTPS_ID=SMTP ID (if sending server requires authentication) MAIN_MAIL_SMTPS_PW=SMTP Password (if sending server requires authentication) -MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encryption -MAIN_MAIL_EMAIL_STARTTLS= Use TLS (STARTTLS) encryption +MAIN_MAIL_EMAIL_TLS=Use TLS (SSL) encryption +MAIN_MAIL_EMAIL_STARTTLS=Use TLS (STARTTLS) encryption +MAIN_MAIL_EMAIL_DKIM_ENABLED=Use DKIM to generate email signature +MAIN_MAIL_EMAIL_DKIM_DOMAIN=Email Domain for use with dkim +MAIN_MAIL_EMAIL_DKIM_SELECTOR=Name of dkim selector +MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Private key for dkim signing MAIN_DISABLE_ALL_SMS=Disable all SMS sending (for test purposes or demos) MAIN_SMS_SENDMODE=Method to use to send SMS MAIN_MAIL_SMS_FROM=Default sender phone number for SMS sending @@ -1816,7 +1820,7 @@ VATIsUsedIsOff=Note: The option to use sales Tax or VAT has been set to SwapSenderAndRecipientOnPDF=Swap sender and recipient address on PDF FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields only EmailCollector=Email collector -EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some record automatically (like leads). +EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some record automatically (like leads). NewEmailCollector=New Email Collector EMailHost=Host of email IMAP server MailboxSourceDirectory=Mailbox source directory From 172468587d386f76d46c2194ee33df231d8fc26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Fri, 9 Nov 2018 18:13:13 +0100 Subject: [PATCH 010/199] Update mymodulewidget1.php --- htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php b/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php index 0f0e3c91a11..edd2f627bb5 100644 --- a/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php +++ b/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php @@ -197,8 +197,9 @@ class mymodulewidget1 extends ModeleBoxes /** * Method to show box. Called by Dolibarr eatch time it wants to display the box. * - * @param array $head Array with properties of box title - * @param array $contents Array with properties of box lines + * @param array $head Array with properties of box title + * @param array $contents Array with properties of box lines + * @param int $nooutput No print, only return string * @return void */ public function showBox($head = null, $contents = null, $nooutput = 0) From f1287578f3eb79c46c2aef8b55cc2b85c7115d72 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 9 Nov 2018 18:18:17 +0100 Subject: [PATCH 011/199] Work on emailcollector --- htdocs/admin/emailcollector_card.php | 64 +++++++++++++------ .../class/emailcollector.class.php | 58 ++++++++++------- .../install/mysql/migration/8.0.0-9.0.0.sql | 1 + .../llx_emailcollector_emailcollector.sql | 1 + htdocs/langs/en_US/admin.lang | 4 +- 5 files changed, 84 insertions(+), 44 deletions(-) diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index 3280492701e..f9ba71cc858 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -103,25 +103,6 @@ if (empty($reshook)) include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; } - -if ($action == 'confirm_collect') -{ - dol_include_once('/emailcollector/class/emailcollector.class.php'); - - $res = $object->doCollect(); - - if ($res == 0) - { - setEventMessages($object->output, null, 'mesgs'); - } - else - { - setEventMessages($object->error, null, 'errors'); - } - - $action = ''; -} - if (GETPOST('addfilter','alpha')) { $emailcollectorfilter = new EmailCollectorFilter($db); @@ -190,6 +171,25 @@ if ($action == 'deleteoperation') } } +if ($action == 'confirm_collect') +{ + dol_include_once('/emailcollector/class/emailcollector.class.php'); + + $res = $object->doCollect(); + + if ($res == 0) + { + setEventMessages($object->output, null, 'mesgs'); + } + else + { + setEventMessages($object->error, null, 'errors'); + } + + $action = ''; +} + + /* @@ -373,7 +373,29 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea */ $morehtmlref .= ''; - dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); + $morehtml = $langs->trans("NbOfEmailsInInbox").' : '; + + $sourcedir = $object->source_directory; + $targetdir = ($object->target_directory ? $object->target_directory : ''); // Can be '[Gmail]/Trash' or 'mytag' + + $connectstringserver = $object->getConnectStringIMAP(); + $connectstringsource = $connectstringserver.imap_utf7_encode($sourcedir); + $connectstringtarget = $connectstringserver.imap_utf7_encode($targetdir); + + $connection = imap_open($connectstringsource, $object->user, $object->password); + if (! $connection) + { + $morehtml .= 'Failed to open IMAP connection '.$connectstringsource; + } + else + { + //$morehtmlstatus .= imap_num_msg($connection).'
'; + $morehtml .= imap_num_msg($connection); + } + + imap_close($connection); + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref.'
'.$morehtml.'
', '', 0, '', '', 0, ''); print '
'; print '
'; @@ -474,7 +496,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; print '
'; - print '
'; + print '
'; // End
print '

'; diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index e4c0d4f588f..b68639ebf5e 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -90,7 +90,8 @@ class EmailCollector extends CommonObject //'actiontodo' => array('type'=>'varchar(255)', 'label'=>'ActionToDo', 'visible'=>1, 'enabled'=>1, 'position'=>106), 'target_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxTargetDirectory', 'visible'=>1, 'enabled'=>1, 'position'=>110, 'notnull'=>0, 'comment'=>"Where to store messages once processed"), 'datelastresult' => array('type'=>'datetime', 'label'=>'DateLastResult', 'visible'=>1, 'enabled'=>'$action != "create" && $action != "edit"', 'position'=>121, 'notnull'=>-1,), - 'lastresult' => array('type'=>'varchar(255)', 'label'=>'LastResult', 'visible'=>1, 'enabled'=>'$action != "create" && $action != "edit"', 'position'=>122, 'notnull'=>-1,), + 'codelastresult' => array('type'=>'varchar(16)', 'label'=>'CodeLastResult', 'visible'=>1, 'enabled'=>'$action != "create" && $action != "edit"', 'position'=>122, 'notnull'=>-1,), + 'lastresult' => array('type'=>'varchar(255)', 'label'=>'LastResult', 'visible'=>1, 'enabled'=>'$action != "create" && $action != "edit"', 'position'=>123, 'notnull'=>-1,), 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'visible'=>0, 'enabled'=>1, 'position'=>61, 'notnull'=>-1,), 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'visible'=>0, 'enabled'=>1, 'position'=>62, 'notnull'=>-1,), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'visible'=>-2, 'enabled'=>1, 'position'=>500, 'notnull'=>1,), @@ -717,23 +718,16 @@ class EmailCollector extends CommonObject $this->fetchActions(); $sourcedir = $this->source_directory; - $targetdir = ($this->target_directory ? $server.$this->target_directory : ''); // Can be '[Gmail]/Trash' or 'mytag' + $targetdir = ($this->target_directory ? $this->target_directory : ''); // Can be '[Gmail]/Trash' or 'mytag' - // Connect to IMAP - $flags ='/service=imap'; // IMAP - $flags.='/ssl'; // '/tls' - $flags.='/novalidate-cert'; - //$flags.='/readonly'; - //$flags.='/debug'; - - $connectstringserver = '{'.$this->host.':993'.$flags.'}'; - $connectstring = $connectstringserver.imap_utf7_encode($sourcedir); + $connectstringserver = $this->getConnectStringIMAP(); + $connectstringsource = $connectstringserver.imap_utf7_encode($sourcedir); $connectstringtarget = $connectstringserver.imap_utf7_encode($targetdir); - $connection = imap_open($connectstring, $this->user, $this->password); + $connection = imap_open($connectstringsource, $this->user, $this->password); if (! $connection) { - $this->error = 'Failed to open IMAP connection '.$connectstring; + $this->error = 'Failed to open IMAP connection '.$connectstringsource; return -3; } @@ -743,23 +737,24 @@ class EmailCollector extends CommonObject { if (empty($rule['status'])) continue; - if ($rule['key'] == 'to') $search=($search?' ':'').'TO "'.str_replace('"', '', $rule['rulevalue']).'"'; - if ($rule['key'] == 'bcc') $search=($search?' ':'').'BCC'; - if ($rule['key'] == 'cc') $search=($search?' ':'').'CC'; - if ($rule['key'] == 'from') $search=($search?' ':'').'FROM "'.str_replace('"', '', $rule['rulevalue']).'"'; - if ($rule['key'] == 'subject') $search=($search?' ':'').'SUBJECT "'.str_replace('"', '', $rule['rulevalue']).'"'; - if ($rule['key'] == 'body') $search=($search?' ':'').'BODY "'.str_replace('"', '', $rule['rulevalue']).'"'; - if ($rule['key'] == 'seen') $search=($search?' ':'').'SEEN'; - if ($rule['key'] == 'unseen') $search=($search?' ':'').'UNSEEN'; + if ($rule['type'] == 'to') $search.=($search?' ':'').'TO "'.str_replace('"', '', $rule['rulevalue']).'"'; + if ($rule['type'] == 'bcc') $search.=($search?' ':'').'BCC'; + if ($rule['type'] == 'cc') $search.=($search?' ':'').'CC'; + if ($rule['type'] == 'from') $search.=($search?' ':'').'FROM "'.str_replace('"', '', $rule['rulevalue']).'"'; + if ($rule['type'] == 'subject') $search.=($search?' ':'').'SUBJECT "'.str_replace('"', '', $rule['rulevalue']).'"'; + if ($rule['type'] == 'body') $search.=($search?' ':'').'BODY "'.str_replace('"', '', $rule['rulevalue']).'"'; + if ($rule['type'] == 'seen') $search.=($search?' ':'').'SEEN'; + if ($rule['type'] == 'unseen') $search.=($search?' ':'').'UNSEEN'; } if (empty($targetdir)) // Use last date as filter if there is no targetdir defined. { $fromdate=0; - if ($this->datelastresult) $fromdate = $this->datelastresult; + if ($this->datelastresult && $this->codelastresult == 'OK') $fromdate = $this->datelastresult; if ($fromdate > 0) $search.=($search?' ':'').'SINCE '.dol_print_date($fromdate - 1,'dayhourrfc'); } dol_syslog("search string = ".$search); + //var_dump($search);exit; $nbemailprocessed=0; $nbactiondone=0; @@ -841,4 +836,23 @@ class EmailCollector extends CommonObject return $error; } + + /** + * Return the connectstring to use with IMAP connection function + * + * @return string + */ + function getConnectStringIMAP() + { + // Connect to IMAP + $flags ='/service=imap'; // IMAP + $flags.='/ssl'; // '/tls' + $flags.='/novalidate-cert'; + //$flags.='/readonly'; + //$flags.='/debug'; + + $connectstringserver = '{'.$this->host.':993'.$flags.'}'; + + return $connectstringserver; + } } diff --git a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql index 05106e475cd..8f51d9f00c4 100644 --- a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql +++ b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql @@ -153,6 +153,7 @@ CREATE TABLE llx_emailcollector_emailcollector( source_directory varchar(255) NOT NULL, target_directory varchar(255), datelastresult datetime, + codelastresult varchar(16), lastresult varchar(255), note_public text, note_private text, diff --git a/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql b/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql index 2db5e693427..750c2b24e84 100644 --- a/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql +++ b/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql @@ -27,6 +27,7 @@ CREATE TABLE llx_emailcollector_emailcollector( source_directory varchar(255) NOT NULL, target_directory varchar(255), datelastresult datetime, + codelastresult varchar(16), lastresult varchar(255), note_public text, note_private text, diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index d9be14b3cb7..259d8920744 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1827,11 +1827,13 @@ DateLastResult=Date last collect LastResult=Last result EmailCollectorConfirmCollectTitle=Email collect confirmation EmailCollectorConfirmCollect=Do you want to run the collect for this collector now ? -NoNewEmailToProcess=No new email to process +NoNewEmailToProcess=No new email (matching filters) to process NothingProcessed=Nothing done XEmailsDoneYActionsDone=%s emails analyzed, %s record/actions done by collector RecordEvent=Record event CreateLeadAndThirdParty=Create lead (and thirdparty if necessary) +CodeLastResult=Result code of last collect +NbOfEmailsInInbox=Number of email in source directory ##### Resource #### ResourceSetup=Configuration du module Resource UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list). From e86e3ec7ace65c9b10b81b67854987ede7d590aa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 9 Nov 2018 19:30:44 +0100 Subject: [PATCH 012/199] Work on email collector --- htdocs/admin/emailcollector_card.php | 4 +- .../core/modules/modEmailCollector.class.php | 5 +- htdocs/cron/list.php | 2 +- .../class/emailcollector.class.php | 76 ++++++++++--------- .../class/emailcollectorfilter.class.php | 4 +- htdocs/langs/en_US/admin.lang | 2 +- .../core/modules/modMyModule.class.php | 6 +- 7 files changed, 50 insertions(+), 49 deletions(-) diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index f9ba71cc858..08656a9ee27 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -175,9 +175,9 @@ if ($action == 'confirm_collect') { dol_include_once('/emailcollector/class/emailcollector.class.php'); - $res = $object->doCollect(); + $res = $object->doCollectOneCollector(); - if ($res == 0) + if ($res > 0) { setEventMessages($object->output, null, 'mesgs'); } diff --git a/htdocs/core/modules/modEmailCollector.class.php b/htdocs/core/modules/modEmailCollector.class.php index ef19ff49bf9..042dc0c82f2 100644 --- a/htdocs/core/modules/modEmailCollector.class.php +++ b/htdocs/core/modules/modEmailCollector.class.php @@ -174,11 +174,8 @@ class modEmailCollector extends DolibarrModules // Cronjobs (List of cron jobs entries to add when module is enabled) // unit_frequency must be 60 for minute, 3600 for hour, 86400 for day, 604800 for week $this->cronjobs = array( - 0=>array('label'=>'Email collector', 'jobtype'=>'method', 'class'=>'/emailcollector/class/emailcollector.class.php', 'objectname'=>'EmailCollector', 'method'=>'doCollect', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>5, 'unitfrequency'=>60, 'status'=>1, 'test'=>'$conf->emailcollector->enabled') + 0=>array('label'=>'Email collector', 'priority'=>50, 'jobtype'=>'method', 'class'=>'/emailcollector/class/emailcollector.class.php', 'objectname'=>'EmailCollector', 'method'=>'doCollect', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>5, 'unitfrequency'=>60, 'status'=>1, 'test'=>'$conf->emailcollector->enabled') ); - // Example: $this->cronjobs=array(0=>array('label'=>'My label', 'jobtype'=>'method', 'class'=>'/dir/class/file.class.php', 'objectname'=>'MyClass', 'method'=>'myMethod', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>2, 'unitfrequency'=>3600, 'status'=>0, 'test'=>true), - // 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24, 'status'=>0, 'test'=>true) - // ); // Permissions diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index f594eb2b383..2ddfbee5e8c 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -192,7 +192,7 @@ if (empty($reshook)) $result = 0; if ($massaction == 'disable') $result = $tmpcron->setStatut(Cronjob::STATUS_DISABLED); elseif ($massaction == 'enable') $result = $tmpcron->setStatut(Cronjob::STATUS_ENABLED); - else dol_print_error($db, 'Bad value for massaction'); + //else dol_print_error($db, 'Bad value for massaction'); if ($result < 0) setEventMessages($tmpcron->error, $tmpcron->errors, 'errors'); } else diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index b68639ebf5e..8769e0a70c9 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -85,7 +85,7 @@ class EmailCollector extends CommonObject 'host' => array('type'=>'varchar(255)', 'label'=>'EMailHost', 'visible'=>1, 'enabled'=>1, 'position'=>100, 'notnull'=>1, 'searchall'=>1, 'comment'=>"IMAP server", 'help'=>'Example: imap.gmail.com'), 'user' => array('type'=>'varchar(128)', 'label'=>'Login', 'visible'=>1, 'enabled'=>1, 'position'=>101, 'notnull'=>1, 'index'=>1, 'comment'=>"IMAP login", 'help'=>'Example: myacount@gmail.com'), 'password' => array('type'=>'password', 'label'=>'Password', 'visible'=>-1, 'enabled'=>1, 'position'=>102, 'notnull'=>1, 'comment'=>"IMAP password"), - 'source_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxSourceDirectory', 'visible'=>-1, 'enabled'=>1, 'position'=>103, 'notnull'=>1, 'default' => 'Inbox'), + 'source_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxSourceDirectory', 'visible'=>-1, 'enabled'=>1, 'position'=>103, 'notnull'=>1, 'default' => 'Inbox', 'help'=>'Example: INBOX'), //'filter' => array('type'=>'text', 'label'=>'Filter', 'visible'=>1, 'enabled'=>1, 'position'=>105), //'actiontodo' => array('type'=>'varchar(255)', 'label'=>'ActionToDo', 'visible'=>1, 'enabled'=>1, 'position'=>106), 'target_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxTargetDirectory', 'visible'=>1, 'enabled'=>1, 'position'=>110, 'notnull'=>0, 'comment'=>"Where to store messages once processed"), @@ -318,33 +318,9 @@ class EmailCollector extends CommonObject $socid = $user->societe_id ? $user->societe_id : ''; - // If the internal user must only see his customers, force searching by him - if (! $user->rights->societe->client->voir && !$socid) { - $search_sale = $user->id; - } $sql = "SELECT s.rowid"; - //if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) { - // $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) - //} - $sql.= " FROM ".MAIN_DB_PREFIX."emailcollector as s"; - - //if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) { - // $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale - //} - //$sql.= ", ".MAIN_DB_PREFIX."c_stcomm as st"; - //$sql.= " WHERE s.fk_stcomm = st.id"; - - // Example of use $mode - //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; - //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; - + $sql.= " FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector as s"; $sql.= ' WHERE s.entity IN ('.getEntity('emailcollector').')'; - //if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) { - // $sql.= " AND s.fk_soc = sc.fk_soc"; - //} - //if ($socid) { - // $sql.= " AND s.fk_soc = ".$socid; - //} if ($activeOnly) { $sql.= " AND s.status = 1"; } @@ -359,10 +335,10 @@ class EmailCollector extends CommonObject } $result = $this->db->query($sql); - if ($result) { $num = $this->db->num_rows($result); - while ($i < $num) { + while ($i < $num) + { $obj = $this->db->fetch_object($result); $emailcollector_static = new EmailCollector($this->db); if ($emailcollector_static->fetch($obj->rowid)) { @@ -371,11 +347,12 @@ class EmailCollector extends CommonObject $i++; } } else { - dol_syslog(__METHOD__.':: Error when retrieve emailcollector list', LOG_ERR); + $this->errors[] = 'EmailCollector::fetchAll Error when retrieve emailcollector list'; + dol_syslog('EmailCollector::fetchAll Error when retrieve emailcollector list', LOG_ERR); $ret = -1; } if (! count($obj_ret)) { - dol_syslog(__METHOD__.':: No emailcollector found', LOG_DEBUG); + dol_syslog('EmailCollector::fetchAll No emailcollector found', LOG_DEBUG); } return $obj_ret; @@ -676,14 +653,40 @@ class EmailCollector extends CommonObject * * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) */ - //public function doScheduledJob($param1, $param2, ...) public function doCollect() + { + global $user; + + $nberror = 0; + + $arrayofcollectors = $this->fetchAll($user, 1); + + // Loop on each collector + foreach($arrayofcollectors as $emailcollector) + { + $result = $emailcollector->doCollectOneCollector(); + dol_syslog("doCollect result = ".$result." for emailcollector->id = ".$emailcollector->id); + + $this->error.='EmailCollector ID '.$emailcollector->id.':'.$emailcollector->error.'
'; + if (! empty($emailcollector->errors)) $this->error.=join('
', $emailcollector->errors); + $this->output.='EmailCollector ID '.$emailcollector->id.': '.$emailcollector->output.'
'; + } + + return $nberror; + } + + /** + * Execute collect for current collector loaded previously with fetch. + * + * @return int <0 if KO, >0 if OK + */ + public function doCollectOneCollector() { global $conf, $langs, $user; //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; - dol_syslog("EmailCollector::doCollect start", LOG_DEBUG); + dol_syslog("EmailCollector::doCollectOneCollector start", LOG_DEBUG); $error = 0; $this->output = ''; @@ -803,11 +806,11 @@ class EmailCollector extends CommonObject // Move email if (! $errorforactions && $targetdir) { - dol_syslog("EmailCollector::doCollect move message ".$imapemail." to ".$connectstringtarget, LOG_DEBUG); + dol_syslog("EmailCollector::doCollectOneCollector move message ".$imapemail." to ".$connectstringtarget, LOG_DEBUG); $res = imap_mail_move($connection, $imapemail, $targetdir, 0); if ($res == false) { $error++; - $this->errors = imap_last_error(); + $this->error = imap_last_error(); dol_syslog(imap_last_error()); } } @@ -830,11 +833,12 @@ class EmailCollector extends CommonObject $this->datelastresult = $now; $this->lastresult = $this->output; + $this->codelastresult = ($error ? 'KO' : 'OK'); $this->update($user); - dol_syslog("EmailCollector::doCollect end", LOG_DEBUG); + dol_syslog("EmailCollector::doCollectOneCollector end", LOG_DEBUG); - return $error; + return $error?-1:1; } /** diff --git a/htdocs/emailcollector/class/emailcollectorfilter.class.php b/htdocs/emailcollector/class/emailcollectorfilter.class.php index 23c8f7a02b2..c4e94b5e4bb 100644 --- a/htdocs/emailcollector/class/emailcollectorfilter.class.php +++ b/htdocs/emailcollector/class/emailcollectorfilter.class.php @@ -159,10 +159,10 @@ class EmailCollectorFilter extends CommonObject $this->errors[]=$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")); return -1; } - if (empty($this->rulevalue)) + if (! in_array($this->type, array('seen','unseen')) && empty($this->rulevalue)) { $langs->load("errors"); - $this->errors[]=$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("RuleValue")); + $this->errors[]=$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("StringToFilter")); return -1; } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 259d8920744..86815ca70c2 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1821,7 +1821,7 @@ NewEmailCollector=New Email Collector EMailHost=Host of email IMAP server MailboxSourceDirectory=Mailbox source directory MailboxTargetDirectory=Mailbox target directory -EmailcollectorOperations=Operations done by collector +EmailcollectorOperations=Operations to do by collector CollectNow=Collect now DateLastResult=Date last collect LastResult=Last result diff --git a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php index 8d34b0e63a3..8c4f933b31f 100644 --- a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php +++ b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php @@ -197,10 +197,10 @@ class modMyModule extends DolibarrModules // Cronjobs (List of cron jobs entries to add when module is enabled) // unit_frequency must be 60 for minute, 3600 for hour, 86400 for day, 604800 for week $this->cronjobs = array( - 0=>array('label'=>'MyJob label', 'jobtype'=>'method', 'class'=>'/mymodule/class/myobject.class.php', 'objectname'=>'MyObject', 'method'=>'doScheduledJob', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>2, 'unitfrequency'=>3600, 'status'=>0, 'test'=>'$conf->mymodule->enabled') + 0=>array('label'=>'MyJob label', 'jobtype'=>'method', 'class'=>'/mymodule/class/myobject.class.php', 'objectname'=>'MyObject', 'method'=>'doScheduledJob', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>2, 'unitfrequency'=>3600, 'status'=>0, 'test'=>'$conf->mymodule->enabled', 'priority'=>50) ); - // Example: $this->cronjobs=array(0=>array('label'=>'My label', 'jobtype'=>'method', 'class'=>'/dir/class/file.class.php', 'objectname'=>'MyClass', 'method'=>'myMethod', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>2, 'unitfrequency'=>3600, 'status'=>0, 'test'=>'$conf->mymodule->enabled'), - // 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24, 'status'=>0, 'test'=>'$conf->mymodule->enabled') + // Example: $this->cronjobs=array(0=>array('label'=>'My label', 'jobtype'=>'method', 'class'=>'/dir/class/file.class.php', 'objectname'=>'MyClass', 'method'=>'myMethod', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>2, 'unitfrequency'=>3600, 'status'=>0, 'test'=>'$conf->mymodule->enabled', 'priority'=>50), + // 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24, 'status'=>0, 'test'=>'$conf->mymodule->enabled', 'priority'=>50) // ); From b271e1a3b0517a2441f8371524c64f744f3b72bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 10 Nov 2018 07:27:20 +0100 Subject: [PATCH 013/199] The variable $i seems to be never defined. --- htdocs/product/class/api_products.class.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index 30940c95509..6d84a6d1352 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -110,7 +110,7 @@ class Products extends DolibarrApi * @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.tobuy:=:0) and (t.tosell:=:1)" * @return array Array of product objects */ - function index($sortfield = "t.ref", $sortorder = 'ASC', $limit = 100, $page = 0, $mode=0, $category=0, $sqlfilters = '') + function index($sortfield = "t.ref", $sortorder = 'ASC', $limit = 100, $page = 0, $mode = 0, $category = 0, $sqlfilters = '') { global $db, $conf; @@ -129,11 +129,12 @@ class Products extends DolibarrApi $sql.= " AND c.fk_categorie = ".$db->escape($category); $sql.= " AND c.fk_product = t.rowid "; } - // Show products - if ($mode == 1) { $sql.= " AND t.fk_product_type = 0"; - } - // Show services - if ($mode == 2) { $sql.= " AND t.fk_product_type = 1"; + if ($mode == 1) { + // Show only products + $sql.= " AND t.fk_product_type = 0"; + } elseif ($mode == 2) { + // Show only services + $sql.= " AND t.fk_product_type = 1"; } // Add sql filters if ($sqlfilters) { @@ -158,6 +159,7 @@ class Products extends DolibarrApi if ($result) { $num = $db->num_rows($result); $min = min($num, ($limit <= 0 ? $num : $limit)); + $i = 0; while ($i < $min) { $obj = $db->fetch_object($result); From 2514cf4a9629b7203ec33393e34cceb6aab10e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 10 Nov 2018 07:32:22 +0100 Subject: [PATCH 014/199] Update actions_ticket.class.php --- htdocs/ticket/class/actions_ticket.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/ticket/class/actions_ticket.class.php b/htdocs/ticket/class/actions_ticket.class.php index bf1e73404f1..c53496b674c 100644 --- a/htdocs/ticket/class/actions_ticket.class.php +++ b/htdocs/ticket/class/actions_ticket.class.php @@ -849,7 +849,7 @@ class ActionsTicket $id = $object->createTicketMessage($user); if ($id <= 0) { $error++; - $this->errors = $object->error; + $this->error = $object->error; $this->errors = $object->errors; $action = 'add_message'; } From c2ee9ba9dba0974f9e276b659b1a9bed98b83e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 10 Nov 2018 07:38:55 +0100 Subject: [PATCH 015/199] Update actions_ticket.class.php --- htdocs/ticket/class/actions_ticket.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/ticket/class/actions_ticket.class.php b/htdocs/ticket/class/actions_ticket.class.php index c53496b674c..8f3c6985ac3 100644 --- a/htdocs/ticket/class/actions_ticket.class.php +++ b/htdocs/ticket/class/actions_ticket.class.php @@ -845,7 +845,7 @@ class ActionsTicket } if (!$error) { - $object->message = GETPOST("message"); + $object->message = (string) GETPOST("message"); $id = $object->createTicketMessage($user); if ($id <= 0) { $error++; From 20acf440a3cfcb84c72412359547f3054fbd02e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 10 Nov 2018 07:55:01 +0100 Subject: [PATCH 016/199] Update api_products.class.php --- htdocs/product/class/api_products.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index 6d84a6d1352..afacbb158b5 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -132,7 +132,7 @@ class Products extends DolibarrApi if ($mode == 1) { // Show only products $sql.= " AND t.fk_product_type = 0"; - } elseif ($mode == 2) { + } elseif ($mode == 2) { // Show only services $sql.= " AND t.fk_product_type = 1"; } From 20a3dd86cdd1477f65fffe6de702ac4d2df80e85 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sat, 10 Nov 2018 11:07:01 +0100 Subject: [PATCH 017/199] 2018-11-08 no change for dolibarr but better for integration and development --- htdocs/stripe/config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/stripe/config.php b/htdocs/stripe/config.php index b348b9752c3..cea97efe0a3 100644 --- a/htdocs/stripe/config.php +++ b/htdocs/stripe/config.php @@ -55,4 +55,4 @@ else \Stripe\Stripe::setApiKey($stripearrayofkeys['secret_key']); \Stripe\Stripe::setAppInfo("Dolibarr Stripe", DOL_VERSION, "https://www.dolibarr.org"); // add dolibarr version -\Stripe\Stripe::setApiVersion("2018-10-31"); // force version API +\Stripe\Stripe::setApiVersion("2018-11-08"); // force version API From 8893d8d59fcf08637e9465d5f3b0a4c3a0c6590d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 10 Nov 2018 11:56:23 +0100 Subject: [PATCH 018/199] Fix compatiblity with new version of PHP --- htdocs/exports/class/export.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index 7ab55fd4e53..8e3e3b04767 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -131,11 +131,11 @@ class Export //print_r("$perm[0]-$perm[1]-$perm[2]
"); if (! empty($perm[2])) { - $bool=$user->rights->$perm[0]->$perm[1]->$perm[2]; + $bool=$user->rights->{$perm[0]}->{$perm[1]}->{$perm[2]}; } else { - $bool=$user->rights->$perm[0]->$perm[1]; + $bool=$user->rights->{$perm[0]}->{$perm[1]}; } if ($perm[0]=='user' && $user->admin) $bool=true; if (! $bool) break; From ed3a333436f6293c0298c540bee1df727c63d74c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 10 Nov 2018 13:11:18 +0100 Subject: [PATCH 019/199] Fix phpcs --- htdocs/accountancy/admin/export.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/accountancy/admin/export.php b/htdocs/accountancy/admin/export.php index 03538b759e7..6ef4bdda90b 100644 --- a/htdocs/accountancy/admin/export.php +++ b/htdocs/accountancy/admin/export.php @@ -44,7 +44,7 @@ if (empty($user->rights->accounting->chartofaccount)) $action = GETPOST('action', 'aZ09'); // Parameters ACCOUNTING_EXPORT_* -$main_option = array ( +$main_option = array( 'ACCOUNTING_EXPORT_PREFIX_SPEC', ); From 52f35d8038fcb4afc2333ca1c4af8cb78e3d85f0 Mon Sep 17 00:00:00 2001 From: delcroix Patrick Date: Sat, 10 Nov 2018 14:59:46 +0100 Subject: [PATCH 020/199] to support proposal_supplier insert proposal_supplier has 17 char when the elementtype column can take only 16 char --- htdocs/install/mysql/migration/8.0.0-9.0.0.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql index 8f51d9f00c4..db0716851b8 100644 --- a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql +++ b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql @@ -55,7 +55,7 @@ ALTER TABLE llx_product_fournisseur_price ADD COLUMN desc_fourn text after ref_f ALTER TABLE llx_user ADD COLUMN dateemploymentend date after dateemployment; ALTER TABLE llx_stock_mouvement ADD COLUMN fk_project integer; - +Alter tABLE llx_c_action_trigger MODIFY COLUMN elementtype varchar(18) ALTER TABLE llx_c_field_list ADD COLUMN visible tinyint DEFAULT 1 NOT NULL AFTER search; From 5c96689c874e11c30ee5554396083c017d8743c6 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sat, 10 Nov 2018 15:02:50 +0100 Subject: [PATCH 021/199] Fix Invalid argument supplied for foreach() --- htdocs/core/tpl/extrafields_list_search_sql.tpl.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php index d5b52085059..b0c97265682 100644 --- a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php +++ b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php @@ -10,7 +10,7 @@ if (empty($conf) || ! is_object($conf)) if (empty($extrafieldsobjectkey) && is_object($object)) $extrafieldsobjectkey=$object->table_element; // Loop to complete the sql search criterias from extrafields -if (! empty($extrafieldsobjectkey)) // $extrafieldsobject is the $object->table_element like 'societe', 'socpeople', ... +if (! empty($extrafieldsobjectkey) && ! empty($search_array_options)) // $extrafieldsobject is the $object->table_element like 'societe', 'socpeople', ... { foreach ($search_array_options as $key => $val) { @@ -32,4 +32,4 @@ if (! empty($extrafieldsobjectkey)) // $extrafieldsobject is the $object->table_ $sql .= natural_search('ef.'.$tmpkey, $crit, $mode_search); } } -} \ No newline at end of file +} From 80782a366e728ab76c568b0a3df47547c3b682a8 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sat, 10 Nov 2018 15:04:38 +0100 Subject: [PATCH 022/199] Fix Invalid argument supplied for foreach() --- htdocs/core/tpl/extrafields_list_search_param.tpl.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/core/tpl/extrafields_list_search_param.tpl.php b/htdocs/core/tpl/extrafields_list_search_param.tpl.php index 6cda8721dcd..dfc9e59d0f8 100644 --- a/htdocs/core/tpl/extrafields_list_search_param.tpl.php +++ b/htdocs/core/tpl/extrafields_list_search_param.tpl.php @@ -8,9 +8,12 @@ if (empty($conf) || ! is_object($conf)) } // Loop to complete $param for extrafields +if (! empty($search_array_options)) // $extrafieldsobject is the $object->table_element like 'societe', 'socpeople', ... +{ foreach ($search_array_options as $key => $val) { $crit=$val; $tmpkey=preg_replace('/search_options_/','',$key); if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); -} \ No newline at end of file +} +} From de259e9db6b14a407c9cfa382e9b772e78f9dc36 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 11 Nov 2018 14:36:35 +0100 Subject: [PATCH 023/199] Code comment --- htdocs/admin/system/dolibarr.php | 3 +++ htdocs/comm/action/card.php | 34 ++++++++++++++++---------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index 99a07c17248..b56f1fc307a 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -142,6 +142,9 @@ print ''.$langs->trans("SessionName").''.$langs->trans("SessionId").''.session_id().''."\n"; print ''.$langs->trans("CurrentSessionTimeOut").''.ini_get('session.gc_maxlifetime').' '.$langs->trans("seconds"); print ''; +print ''."\n"; +print ''."\n"; +print ''."\n"; print $form->textwithpicto('',$langs->trans("SessionExplanation",ini_get("session.gc_probability"),ini_get("session.gc_divisor"))); print "\n"; print ''.$langs->trans("CurrentTheme").''.$conf->theme.''."\n"; diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 4e8b87eb591..773ef31dff0 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -252,19 +252,19 @@ if ($action == 'add') } } $object->fk_project = isset($_POST["projectid"])?$_POST["projectid"]:0; - + $taskid = GETPOST('taskid','int'); if(!empty($taskid)){ - + $taskProject = new Task($db); if($taskProject->fetch($taskid)>0){ $object->fk_project = $taskProject->fk_project; } - + $object->fk_element = $taskid; $object->elementtype = 'task'; } - + $object->datep = $datep; $object->datef = $datef; $object->percentage = $percentage; @@ -888,17 +888,17 @@ if ($action == 'create') { // Projet associe $langs->load("projects"); - + $projectid = GETPOST('projectid', 'int'); print ''.$langs->trans("Project").''; $numproject=$formproject->select_projects((! empty($societe->id)?$societe->id:-1), $projectid, 'projectid', 0, 0, 1, 1); - + print '   '.$langs->trans("AddProject").''; $urloption='?action=create'; $url = dol_buildpath('comm/action/card.php',2).$urloption; - + // update task list print "\n".''."\n"; - + print ''; - + print ''.$langs->trans("Task").''; - + $projectsListId=false; if(!empty($projectid)){ $projectsListId=$projectid; } $tid=GETPOST("projecttaskid")?GETPOST("projecttaskid"):''; @@ -1230,7 +1230,7 @@ if ($id > 0) $listofuserid=json_decode($_SESSION['assignedtouser'], true); } } - $listofcontactid=$object->socpeopleassigned; // Contact assigned (not used yet) + $listofcontactid=$object->socpeopleassigned; // Contact assigned $listofotherid=$object->otherassigned; // Other undefined email (not used yet) print ''.$langs->trans("ActionAssignedTo").''; @@ -1309,14 +1309,14 @@ if ($id > 0) include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; print ''; print ''.$langs->trans("LinkedObject").''; - + if ($object->elementtype == 'task' && ! empty($conf->projet->enabled)) { print ''; - + $urloption='?action=create'; // we use create not edit for more flexibility $url = DOL_URL_ROOT.'/comm/action/card.php'.$urloption; - + // update task list print "\n".''."\n"; - + $formproject->selectTasks((! empty($societe->id)?$societe->id:-1), $object->fk_element, 'fk_element', 24, 0, 0, 1, 0, 0, 'maxwidth500',$object->fk_project); print ''; - + print ''; } else @@ -1343,7 +1343,7 @@ if ($id > 0) print ''; print ''; } - + print ''; } From 0b57faa7b41814f4a6713e85e7a43f7ab42f3a6b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 11 Nov 2018 14:42:11 +0100 Subject: [PATCH 024/199] Fix help --- htdocs/admin/system/dolibarr.php | 2 +- htdocs/langs/en_US/admin.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index b56f1fc307a..133eab3e74c 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -140,7 +140,7 @@ print ''.$langs->trans("Session") print ''.$langs->trans("SessionSavePath").''.session_save_path().''."\n"; print ''.$langs->trans("SessionName").''.session_name().''."\n"; print ''.$langs->trans("SessionId").''.session_id().''."\n"; -print ''.$langs->trans("CurrentSessionTimeOut").''.ini_get('session.gc_maxlifetime').' '.$langs->trans("seconds"); +print ''.$langs->trans("CurrentSessionTimeOut").' (session.gc_maxlifetime)'.ini_get('session.gc_maxlifetime').' '.$langs->trans("seconds"); print ''; print ''."\n"; print ''."\n"; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index df20e274451..2741b48ac83 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1076,7 +1076,7 @@ DisplayDesc=You can choose each parameter related to the Dolibarr look and feel AvailableModules=Available app/modules ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). SessionTimeOut=Time out for session -SessionExplanation=This number guarantees that the session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guarantee that the session will expire after this delay. It will expire, after this delay, and when the session cleaner is run, so every %s/%s access, but only during access made by other sessions.
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by the default session.gc_maxlifetime, no matter what the value entered here is. +SessionExplanation=This number guarantees that the session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guarantee that the session will expire after this delay. It will expire, after this delay, and when the session cleaner is run, so every %s/%s access, but only during access made by other sessions (if value is 0, it means clearing of session is done only by an external process).
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by an external setup, no matter what the value entered here is. TriggersAvailable=Available triggers TriggersDesc=Triggers are files that will modify the behavior of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realize new actions, activated on Dolibarr events (new company creation, invoice validation, ...). TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. From 35419fa2067506890835d6c5900970e2fe32b5f3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 11 Nov 2018 15:06:08 +0100 Subject: [PATCH 025/199] Dolibarize code --- .../modulebuilder/template/myobject_list.php | 41 +++++++------- htdocs/ticket/class/ticket.class.php | 4 +- htdocs/ticket/list.php | 54 ++++++++++--------- 3 files changed, 54 insertions(+), 45 deletions(-) diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index 8d0f89104ef..4150ca75ca7 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -147,8 +147,6 @@ $arrayfields = dol_sort_array($arrayfields, 'position'); /* * Actions - * - * Put here all code to do according to value of "$action" parameter */ if (GETPOST('cancel','alpha')) { $action='list'; $massaction=''; } @@ -192,8 +190,6 @@ if (empty($reshook)) /* * View - * - * Put here all code to render page */ $form=new Form($db); @@ -402,11 +398,11 @@ print ''; foreach($object->fields as $key => $val) { - $align=''; - if (in_array($val['type'], array('date','datetime','timestamp'))) $align.=($align?' ':'').'center'; - if (in_array($val['type'], array('timestamp'))) $align.=($align?' ':'').'nowrap'; - if ($key == 'status') $align.=($align?' ':'').'center'; - if (! empty($arrayfields['t.'.$key]['checked'])) print ''; + $cssforfield=''; + if (in_array($val['type'], array('date','datetime','timestamp'))) $cssforfield.=($cssforfield?' ':'').'center'; + if (in_array($val['type'], array('timestamp'))) $cssforfield.=($cssforfield?' ':'').'nowrap'; + if ($key == 'status') $cssforfield.=($cssforfield?' ':'').'center'; + if (! empty($arrayfields['t.'.$key]['checked'])) print ''; } // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; @@ -428,11 +424,14 @@ print ''."\n"; print ''; foreach($object->fields as $key => $val) { - $align=''; - if (in_array($val['type'], array('date','datetime','timestamp'))) $align.=($align?' ':'').'center'; - if (in_array($val['type'], array('timestamp'))) $align.=($align?' ':'').'nowrap'; - if ($key == 'status') $align.=($align?' ':'').'center'; - if (! empty($arrayfields['t.'.$key]['checked'])) print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($align?'class="'.$align.'"':''), $sortfield, $sortorder, $align.' ')."\n"; + $cssforfield=''; + if (in_array($val['type'], array('date','datetime','timestamp'))) $cssforfield.=($cssforfield?' ':'').'center'; + if (in_array($val['type'], array('timestamp'))) $cssforfield.=($cssforfield?' ':'').'nowrap'; + if ($key == 'status') $cssforfield.=($cssforfield?' ':'').'center'; + if (! empty($arrayfields['t.'.$key]['checked'])) + { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield?'class="'.$cssforfield.'"':''), $sortfield, $sortorder, ($cssforfield?$cssforfield.' ':''))."\n"; + } } // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; @@ -475,14 +474,18 @@ while ($i < min($num, $limit)) print ''; foreach($object->fields as $key => $val) { - $align=''; - if (in_array($val['type'], array('date','datetime','timestamp'))) $align.=($align?' ':'').'center'; - if (in_array($val['type'], array('timestamp'))) $align.=($align?' ':'').'nowrap'; - if ($key == 'status') $align.=($align?' ':'').'center'; + $cssforfield=''; + if (in_array($val['type'], array('date','datetime','timestamp'))) $cssforfield.=($cssforfield?' ':'').'center'; + if (in_array($val['type'], array('timestamp'))) $cssforfield.=($cssforfield?' ':'').'nowrap'; + if ($key == 'status') $cssforfield.=($cssforfield?' ':'').'center'; if (! empty($arrayfields['t.'.$key]['checked'])) { print ''; print $object->showOutputField($val, $key, $obj->$key, ''); print ''; diff --git a/htdocs/ticket/class/ticket.class.php b/htdocs/ticket/class/ticket.class.php index 03aec1eb818..2ac28f6b81b 100644 --- a/htdocs/ticket/class/ticket.class.php +++ b/htdocs/ticket/class/ticket.class.php @@ -180,9 +180,9 @@ class Ticket extends CommonObject public $fields=array( 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'position'=>1, 'visible'=>-2, 'enabled'=>1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id"), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'visible'=>0, 'enabled'=>1, 'position'=>5, 'notnull'=>1, 'index'=>1), - 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'visible'=>1, 'enabled'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object", 'css'=>'aaa'), + 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'visible'=>1, 'enabled'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object", 'css'=>''), 'track_id' => array('type'=>'varchar(255)', 'label'=>'TrackID', 'visible'=>0, 'enabled'=>1, 'position'=>11, 'notnull'=>-1, 'searchall'=>1, 'help'=>"Help text"), - 'fk_user_create' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'Author', 'visible'=>1, 'enabled'=>1, 'position'=>15, 'notnull'=>1), + 'fk_user_create' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'Author', 'visible'=>1, 'enabled'=>1, 'position'=>15, 'notnull'=>1, 'css'=>'nowraponall'), 'origin_email' => array('type'=>'mail', 'label'=>'OriginEmail', 'visible'=>1, 'enabled'=>1, 'position'=>16, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object"), 'subject' => array('type'=>'varchar(255)', 'label'=>'Subject', 'visible'=>1, 'enabled'=>1, 'position'=>18, 'notnull'=>-1, 'searchall'=>1, 'help'=>""), 'type_code' => array('type'=>'varchar(32)', 'label'=>'Type', 'visible'=>1, 'enabled'=>1, 'position'=>20, 'notnull'=>-1, 'searchall'=>1, 'help'=>"", 'css'=>'maxwidth100'), diff --git a/htdocs/ticket/list.php b/htdocs/ticket/list.php index 545a5fcf1ed..4fa2698fad2 100644 --- a/htdocs/ticket/list.php +++ b/htdocs/ticket/list.php @@ -38,7 +38,7 @@ $langs->loadLangs(array("ticket","companies","other","projects")); // Get parameters -$action = GETPOST('action','alpha')?GETPOST('action','alpha'):'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$action = GETPOST('action','aZ09')?GETPOST('action','aZ09'):'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... $massaction = GETPOST('massaction','alpha'); // The bulk action (combo box choice into lists) $show_files = GETPOST('show_files','int'); // Show files area generated by bulk actions ? $confirm = GETPOST('confirm','alpha'); // Result of a confirmation @@ -62,7 +62,7 @@ $limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit; $sortfield = GETPOST('sortfield','alpha'); $sortorder = GETPOST('sortorder','alpha'); $page = GETPOST('page','int'); -if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 +if (empty($page) || $page == -1 || GETPOST('button_search','alpha') || GETPOST('button_removefilter','alpha') || (empty($toselect) && $massaction === '0')) { $page = 0; } // If $page is not defined, or '' or -1 or if we click on clear filters or if we select empty mass action $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; @@ -74,7 +74,6 @@ $diroutputmassaction=$conf->ticket->dir_output . '/temp/massgeneration/'.$user-> if ($socid > 0) $hookmanager->initHooks(array('thirdpartyticket')); elseif ($project > 0) $hookmanager->initHooks(array('projectticket')); else $hookmanager->initHooks(array('ticketlist')); - // Fetch optionals attributes and labels $extralabels = $extrafields->fetch_name_optionals_label('ticket'); $search_array_options=$extrafields->getOptionalsFromPost($object->table_element,'','search_'); @@ -186,7 +185,7 @@ $user_assign = new User($db); $user_create = new User($db); $socstatic = new Societe($db); -$help_url = 'FR:DocumentationModuleTicket'; +$help_url = ''; $title = $langs->trans('TicketList'); llxHeader('', $title, $help_url); @@ -435,7 +434,7 @@ $arrayofmassactions = array( //'builddoc'=>$langs->trans("PDFMerge"), ); if ($user->rights->ticket->delete) $arrayofmassactions['predelete']=$langs->trans("Delete"); -if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); +if (GETPOST('nomassaction','int') || in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); $massactionbutton=$form->selectMassAction('', $arrayofmassactions); print '
'; @@ -518,30 +517,30 @@ print '
'; foreach($object->fields as $key => $val) { - $align=''; - if (in_array($val['type'], array('date','datetime','timestamp'))) $align.=($align?' ':'').'center'; - if (in_array($val['type'], array('timestamp'))) $align.=($align?' ':'').'nowrap'; - if ($key == 'status') $align.=($align?' ':'').'center'; + $cssforfield=''; + if (in_array($val['type'], array('date','datetime','timestamp'))) $cssforfield.=($cssforfield?' ':'').'center'; + if (in_array($val['type'], array('timestamp'))) $cssforfield.=($cssforfield?' ':'').'nowrap'; + if ($key == 'status') $cssforfield.=($cssforfield?' ':'').'center'; if (! empty($arrayfields['t.'.$key]['checked'])) { if ($key == 'type_code') { - print ''; } elseif ($key == 'category_code') { - print ''; } elseif ($key == 'severity_code') { - print ''; } elseif ($key == 'fk_statut') { - print ''; } else { - print ''; + print ''; } } } @@ -565,11 +564,14 @@ print ''."\n"; print ''; foreach($object->fields as $key => $val) { - $align=''; - if (in_array($val['type'], array('date','datetime','timestamp'))) $align.=($align?' ':'').'center'; - if (in_array($val['type'], array('timestamp'))) $align.=($align?' ':'').'nowrap'; - if ($key == 'status') $align.=($align?' ':'').'center'; - if (! empty($arrayfields['t.'.$key]['checked'])) print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($align?'class="'.$align.'"':''), $sortfield, $sortorder, $align.' ')."\n"; + $cssforfield=''; + if (in_array($val['type'], array('date','datetime','timestamp'))) $cssforfield.=($cssforfield?' ':'').'center'; + if (in_array($val['type'], array('timestamp'))) $cssforfield.=($cssforfield?' ':'').'nowrap'; + if ($key == 'status') $cssforfield.=($cssforfield?' ':'').'center'; + if (! empty($arrayfields['t.'.$key]['checked'])) + { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield?'class="'.$cssforfield.'"':''), $sortfield, $sortorder, ($cssforfield?$cssforfield.' ':''))."\n"; + } } // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; @@ -612,14 +614,18 @@ while ($i < min($num, $limit)) print ''; foreach($object->fields as $key => $val) { - $align=''; - if (in_array($val['type'], array('date','datetime','timestamp'))) $align.=($align?' ':'').'center'; - if (in_array($val['type'], array('timestamp'))) $align.=($align?' ':'').'nowrap'; - if ($key == 'status') $align.=($align?' ':'').'center'; + $cssforfield=''; + if (in_array($val['type'], array('date','datetime','timestamp'))) $cssforfield.=($cssforfield?' ':'').'center'; + if (in_array($val['type'], array('timestamp'))) $cssforfield.=($cssforfield?' ':'').'nowrap'; + if ($key == 'status') $cssforfield.=($cssforfield?' ':'').'center'; if (! empty($arrayfields['t.'.$key]['checked'])) { print ''; print $object->showOutputField($val, $key, $obj->$key, ''); print ''; From 2985d9cfbf9ffdcf468ff059e2629235847a8e71 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 11 Nov 2018 17:27:16 +0100 Subject: [PATCH 026/199] Update 8.0.0-9.0.0.sql --- htdocs/install/mysql/migration/8.0.0-9.0.0.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql index db0716851b8..996fdb79b17 100644 --- a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql +++ b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql @@ -55,7 +55,7 @@ ALTER TABLE llx_product_fournisseur_price ADD COLUMN desc_fourn text after ref_f ALTER TABLE llx_user ADD COLUMN dateemploymentend date after dateemployment; ALTER TABLE llx_stock_mouvement ADD COLUMN fk_project integer; -Alter tABLE llx_c_action_trigger MODIFY COLUMN elementtype varchar(18) +Alter tABLE llx_c_action_trigger MODIFY COLUMN elementtype varchar(32) ALTER TABLE llx_c_field_list ADD COLUMN visible tinyint DEFAULT 1 NOT NULL AFTER search; From f022be3a4796dad0fb1f19f72a7004490c90b971 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 11 Nov 2018 17:28:17 +0100 Subject: [PATCH 027/199] FIX #9992 --- htdocs/install/mysql/tables/llx_c_action_trigger.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/mysql/tables/llx_c_action_trigger.sql b/htdocs/install/mysql/tables/llx_c_action_trigger.sql index 4f7dbccc786..164e1b1eeee 100644 --- a/htdocs/install/mysql/tables/llx_c_action_trigger.sql +++ b/htdocs/install/mysql/tables/llx_c_action_trigger.sql @@ -22,7 +22,7 @@ create table llx_c_action_trigger ( rowid integer AUTO_INCREMENT PRIMARY KEY, - elementtype varchar(24) NOT NULL, + elementtype varchar(32) NOT NULL, code varchar(32) NOT NULL, label varchar(128) NOT NULL, description varchar(255), From 71b42338d12f2e8836096f287bed4182af0b20d9 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Mon, 12 Nov 2018 11:24:07 +0100 Subject: [PATCH 028/199] Fix SQL migration --- htdocs/install/mysql/migration/8.0.0-9.0.0.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql index 996fdb79b17..865f2b5988c 100644 --- a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql +++ b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql @@ -55,7 +55,7 @@ ALTER TABLE llx_product_fournisseur_price ADD COLUMN desc_fourn text after ref_f ALTER TABLE llx_user ADD COLUMN dateemploymentend date after dateemployment; ALTER TABLE llx_stock_mouvement ADD COLUMN fk_project integer; -Alter tABLE llx_c_action_trigger MODIFY COLUMN elementtype varchar(32) +Alter tABLE llx_c_action_trigger MODIFY COLUMN elementtype varchar(32); ALTER TABLE llx_c_field_list ADD COLUMN visible tinyint DEFAULT 1 NOT NULL AFTER search; From 5eb897e049748930273ab2e32c8f38d9d706ef69 Mon Sep 17 00:00:00 2001 From: tarrsalah Date: Mon, 12 Nov 2018 12:11:40 +0100 Subject: [PATCH 029/199] FIX sql query performance on list_qualified_avoir_supplier_invoices. --- htdocs/fourn/class/fournisseur.facture.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index bbf5694fc2c..2d241ad6dcb 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -1809,10 +1809,10 @@ class FactureFournisseur extends CommonInvoice $sql = "SELECT f.rowid as rowid, f.ref, f.fk_statut, f.type, f.paye, pf.fk_paiementfourn"; $sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as f"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiementfourn_facturefourn as pf ON f.rowid = pf.fk_facturefourn"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture_fourn as ff ON (f.rowid = ff.fk_facture_source AND ff.type=".self::TYPE_REPLACEMENT.")"; $sql.= " WHERE f.entity = ".$conf->entity; $sql.= " AND f.fk_statut in (".self::STATUS_VALIDATED.",".self::STATUS_CLOSED.")"; - $sql.= " AND ff.type IS NULL"; // Renvoi vrai si pas facture de remplacement + $sql.= " AND NOT EXISTS (SELECT rowid from ".MAIN_DB_PREFIX."facture_fourn as ff WHERE f.rowid = ff.fk_facture_source"; + $sql.= " AND ff.type=".self::TYPE_REPLACEMENT.")"; $sql.= " AND f.type != ".self::TYPE_CREDIT_NOTE; // Type non 2 si facture non avoir if ($socid > 0) $sql.=" AND f.fk_soc = ".$socid; $sql.= " ORDER BY f.ref"; From 5a7cb95b7213704d3e8f282d02a16b5316f206cb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 12 Nov 2018 14:49:08 +0100 Subject: [PATCH 030/199] FIX filter on entity must be done as soon as we don't search on rowid. --- htdocs/contact/class/contact.class.php | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index b5e8cd33517..0e9921e8700 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -682,12 +682,13 @@ class Contact extends CommonObject /** * Load object contact * - * @param int $id id du contact - * @param User $user Utilisateur (abonnes aux alertes) qui veut les alertes de ce contact - * @param string $ref_ext External reference, not given by Dolibarr - * @return int -1 if KO, 0 if OK but not found, 1 if OK + * @param int $id id du contact + * @param User $user Utilisateur (abonnes aux alertes) qui veut les alertes de ce contact + * @param string $ref_ext External reference, not given by Dolibarr + * @param string $email Email + * @return int -1 if KO, 0 if OK but not found, 1 if OK */ - function fetch($id, $user=0, $ref_ext='') + function fetch($id, $user=0, $ref_ext='', $email='') { global $langs; @@ -721,9 +722,15 @@ class Contact extends CommonObject $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON c.rowid = u.fk_socpeople"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON c.fk_soc = s.rowid"; if ($id) $sql.= " WHERE c.rowid = ". $id; - elseif ($ref_ext) { + else + { $sql .= " WHERE c.entity IN (".getEntity($this->element).")"; - $sql .= " AND c.ref_ext = '".$this->db->escape($ref_ext)."'"; + if ($ref_ext) { + $sql .= " AND c.ref_ext = '".$this->db->escape($ref_ext)."'"; + } + if ($email) { + $sql .= " AND c.email = '".$this->db->escape($email)."'"; + } } $resql=$this->db->query($sql); From 01e7b5747d3ece7bb4623c8889ffa98ebb39bc7c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 12 Nov 2018 15:27:59 +0100 Subject: [PATCH 031/199] FIX user param is null not 0 when not defined FIX properties email_xx were not set --- htdocs/admin/emailcollector_card.php | 2 +- htdocs/contact/class/contact.class.php | 8 +- htdocs/core/actions_sendmails.inc.php | 14 +- .../class/emailcollector.class.php | 234 +++++++++++++++--- 4 files changed, 218 insertions(+), 40 deletions(-) diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index 08656a9ee27..3cc79623342 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -466,7 +466,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 0e9921e8700..3d247bfd5ca 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -87,17 +87,17 @@ class Contact extends CommonObject /** * @deprecated - * @see state_id + * @see $state_id */ public $fk_departement; /** * @deprecated - * @see state_code + * @see $state_code */ public $departement_code; /** * @deprecated - * @see state + * @see $state */ public $departement; public $state_id; // Id of department @@ -688,7 +688,7 @@ class Contact extends CommonObject * @param string $email Email * @return int -1 if KO, 0 if OK but not found, 1 if OK */ - function fetch($id, $user=0, $ref_ext='', $email='') + function fetch($id, $user=null, $ref_ext='', $email='') { global $langs; diff --git a/htdocs/core/actions_sendmails.inc.php b/htdocs/core/actions_sendmails.inc.php index 61c4b636758..9ffaceadb26 100644 --- a/htdocs/core/actions_sendmails.inc.php +++ b/htdocs/core/actions_sendmails.inc.php @@ -427,8 +427,9 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO $object->socid = $sendtosocid; // To link to a company $object->sendtoid = $sendtoid; // To link to contact addresses. This is an array. $object->actiontypecode = $actiontypecode; // Type of event ('AC_OTH', 'AC_OTH_AUTO', 'AC_XXX'...) - $object->actionmsg = $actionmsg; // Long text - $object->actionmsg2 = $actionmsg2; // Short text + $object->actionmsg = $actionmsg; // Long text (@TODO Replace this with $message, we already have details of email in dedicated properties) + $object->actionmsg2 = $actionmsg2; // Short text ($langs->transnoentities('MailSentBy')...); + $object->trackid = $trackid; $object->fk_element = $object->id; $object->elementtype = $object->element; @@ -439,9 +440,14 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO $object->sendtouserid = $sendtouserid; } - // TODO Set object->email_xxx properties + $object->email_msgid = $mailfile->msgid; // @TODO Set msgid into $mailfile after sending + $object->email_from = $from; + $object->email_subject = $subject; + $object->email_to = $sendto; + $object->email_tocc = $sendtocc; + $object->email_tobcc = $sendtobcc; + $object->email_subject = $subject; $object->email_msgid = $mailfile->msgid; - //... // Call of triggers if (! empty($trigger_name)) diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index 8769e0a70c9..ccf303949ec 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -23,8 +23,11 @@ // Put here all includes required by your class file require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; -//require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; -//require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; +require_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php'; + /** * Class for EmailCollector @@ -647,6 +650,25 @@ class EmailCollector extends CommonObject } + /** + * Return the connectstring to use with IMAP connection function + * + * @return string + */ + function getConnectStringIMAP() + { + // Connect to IMAP + $flags ='/service=imap'; // IMAP + $flags.='/ssl'; // '/tls' + $flags.='/novalidate-cert'; + //$flags.='/readonly'; + //$flags.='/debug'; + + $connectstringserver = '{'.$this->host.':993'.$flags.'}'; + + return $connectstringserver; + } + /** * Action executed by scheduler * CAN BE A CRON TASK. In such a case, paramerts come from the schedule job setup field 'Parameters' @@ -757,13 +779,16 @@ class EmailCollector extends CommonObject if ($fromdate > 0) $search.=($search?' ':'').'SINCE '.dol_print_date($fromdate - 1,'dayhourrfc'); } dol_syslog("search string = ".$search); - //var_dump($search);exit; + //var_dump($search); $nbemailprocessed=0; $nbactiondone=0; + $projectstatic=new Project($this->db); + $thirdpartystatic=new Societe($this->db); + $contactstatic=new Contact($this->db); // Scan IMAP inbox $arrayofemail= imap_search($connection, $search); - //var_dump($arrayofemail); + //var_dump($arrayofemail);exit; // Loop on each email found if (! empty($arrayofemail) && count($arrayofemail) > 0) @@ -778,14 +803,126 @@ class EmailCollector extends CommonObject $overview = imap_fetch_overview($connection, $imapemail, 0); $header = imap_fetchheader($connection, $imapemail, 0); - $message = imap_body($connection, $imapemail, 0); - // imap_fetchstructure($connection, $imapemail, 0); - // imap_fetchbody($connection, $imapemail, 1) may be text/plain, 2 may be text/html + //$message = imap_body($connection, $imapemail, 0); + $structure = imap_fetchstructure($connection, $imapemail, 0); + $partplain = $parthtml = -1; + // Loop to get part html and plain + foreach($structure->parts as $key => $part) + { + if ($part->subtype == 'HTML') $parthtml=$key; + if ($part->subtype == 'PLAIN') $partplain=$key; + } - /*var_dump($overview); - var_dump($header); - var_dump($message); - */ + $matches=array(); + preg_match_all('/([^: ]+): (.+?(?:\r\n\s(?:.+?))*)\r\n/m', $header, $matches); + $headers = array_combine($matches[1], $matches[2]); + //var_dump($headers); + + $messagetext = imap_fetchbody($connection, $imapemail, ($parthtml >= 0 ? $parthtml : ($partplain >= 0 ? $partplain : 0))); + + //var_dump($overview); + //var_dump($header); + //var_dump($message); + //var_dump($messagetext); + $fromstring=$overview[0]->from; + $sender=$overview[0]->sender; + $to=$overview[0]->to; + $sendtocc=$overview[0]->cc; + $sendtobcc=$overview[0]->bcc; + $date=$overview[0]->udate; + $msgid=$overview[0]->message_id; + $subject=$overview[0]->subject; + + $reg=array(); + if (preg_match('/^(.*)<(.*)>$/', $fromstring, $reg)) + { + $from=$reg[1]; + $fromtext=$reg[0]; + } + else + { + $from = $fromstring; + $fromtext=''; + } + $fk_element_id = 0; $fk_element_type = ''; + $contactid = 0; $thirdpartyid = 0; $projectid = 0; + + // Analyze TrackId + $reg=array(); + if (! empty($headers['X-Dolibarr-TrackId']) && preg_match('/:\s*([a-z]+)([0-9]+)$/', $headers['X-Dolibarr-TrackId'], $reg)) + { + $objectid = 0; + $objectemail = null; + if ($reg[0] == 'inv') + { + $objectid = $reg[1]; + $objectemail = new Facture($this->db); + } + if ($reg[0] == 'proj') + { + $objectid = $reg[1]; + $objectemail = new Project($this->db); + } + if ($reg[0] == 'con') + { + $objectid = $reg[1]; + $objectemail = new Contact($this->db); + } + if ($reg[0] == 'thi') + { + $objectid = $reg[1]; + $objectemail = new Societe($this->db); + } + if ($reg[0] == 'use') + { + $objectid = $reg[1]; + $objectemail = new User($this->db); + } + + $result = $objectemail->fetch($objectid); + if ($result > 0) + { + $fk_element_id = $objectemail->id; + $fk_element_type = $objectemail->element; + // Fix fk_element_type + if ($fk_element_type == 'facture') $fk_element_type = 'invoice'; + + $thirdpartyid = $objectemail->fk_soc; + $projectid = isset($objectemail->fk_project)?$objectemail->fk_project:$objectemail->fk_projet; + } + } + + // Project + $projectstatic->id=0; + if ($projectid > 0) + { + $result = $projectstatic->fetch($projectid); + if ($result <= 0) $projectstatic->id = 0; + } + // Contact + $contactstatic->id=0; + if ($contactid > 0) + { + $result = $contactstatic->fetch($contactid); + if ($result <= 0) $contactstatic->id = 0; + } + else // Try to find contact using email + { + $contactstatic->fetch(0, null, '', $from); + } + // Thirdparty + $thirdpartystatic->id=0; + if ($thirdpartyid > 0) + { + $result = $thirdpartystatic->fetch($thirdpartyid); + if ($result <= 0) $thirdpartystatic->id = 0; + } + else // Try to find thirdparty using email + { + $thirdpartystatic->fetch(0, '', '', '', '', '', '', '', '', '', $from); + } + + require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; // Do operationss foreach($this->actions as $operation) @@ -793,8 +930,60 @@ class EmailCollector extends CommonObject if ($errorforactions) break; if (empty($operation['status'])) continue; - // Make Operation + // Make Operation + if ($operation['type'] == 'recordevent') + { + $actioncode = 'EMAIL_IN'; + var_dump($structure); + // Insert record of emails sent + $actioncomm = new ActionComm($this->db); + + $actioncomm->type_code = 'AC_OTH_AUTO'; // Type of event ('AC_OTH', 'AC_OTH_AUTO', 'AC_XXX'...) + $actioncomm->code = 'AC_'.$actioncode; + $actioncomm->label = $subject; + $actioncomm->note = $messagetext; + $actioncomm->fk_project = 0; + $actioncomm->datep = $date; + $actioncomm->datef = $date; + $actioncomm->percentage = -1; // Not applicable + $actioncomm->socid = $thirdpartystatic->id; + $actioncomm->contactid = $contactstatic->id; + $actioncomm->authorid = $user->id; // User saving action + $actioncomm->userownerid = $user->id; // Owner of action + // Fields when action is en email (content should be added into note) + $actioncomm->email_msgid = $msgid; + $actioncomm->email_from = $fromstring; + $actioncomm->email_sender= $sender; + $actioncomm->email_to = $to; + $actioncomm->email_tocc = $sendtocc; + $actioncomm->email_tobcc = $sendtobcc; + $actioncomm->email_subject = $subject; + $actioncomm->errors_to = ''; + + $object->email_msgid = $mailfile->msgid; // @TODO Set msgid into $mailfile after sending to have it defined here + $object->email_from = $from; + $object->email_subject = $subject; + $object->email_to = $to; + $object->email_tocc = $sendtocc; + $object->email_tobcc = $sendtobcc; + $object->email_subject = $subject; + + + $actioncomm->fk_element = $fk_element_id; + $actioncomm->elementtype = $fk_element_type; + + //$actioncomm->extraparams = $extraparams; + + $result = $actioncomm->create($user); + if ($result <= 0) + { + $errorforactions++; + $this->errors = $actioncomm->errors; + } + + } + var_dump($actioncomm);exit; if (! $errorforactions) @@ -817,6 +1006,8 @@ class EmailCollector extends CommonObject $nbemailprocessed++; + unset($objectemail); + $this->db->commit(); } @@ -840,23 +1031,4 @@ class EmailCollector extends CommonObject return $error?-1:1; } - - /** - * Return the connectstring to use with IMAP connection function - * - * @return string - */ - function getConnectStringIMAP() - { - // Connect to IMAP - $flags ='/service=imap'; // IMAP - $flags.='/ssl'; // '/tls' - $flags.='/novalidate-cert'; - //$flags.='/readonly'; - //$flags.='/debug'; - - $connectstringserver = '{'.$this->host.':993'.$flags.'}'; - - return $connectstringserver; - } } From 66ea8bbe87ebe6763b7a660cfdcda8ef1dd22eea Mon Sep 17 00:00:00 2001 From: gauthier Date: Mon, 12 Nov 2018 15:58:41 +0100 Subject: [PATCH 032/199] FIX : fourn payment modes musn't be available on customer docs --- htdocs/comm/propal/card.php | 2 +- htdocs/commande/card.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index c9f534820fb..49d54dd63f8 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -2045,7 +2045,7 @@ if ($action == 'create') print '
'; + print ''; $formTicket->selectTypesTickets(dol_escape_htmltag($search[$key]), 'search_'.$key.'', '', 0, 1, 1, 0, ($val['css']?$val['css']:'maxwidth200')); print ''; + print ''; $formTicket->selectCategoriesTickets(dol_escape_htmltag($search[$key]), 'search_'.$key.'', '', 0, 1, 1, 0, ($val['css']?$val['css']:'maxwidth200')); print ''; + print ''; $formTicket->selectSeveritiesTickets(dol_escape_htmltag($search[$key]), 'search_'.$key.'', '', 0, 1, 1, 0, ($val['css']?$val['css']:'maxwidth200')); print ''; + print ''; $object->printSelectStatus(dol_escape_htmltag($search[$key])); print '
'; $arrayoftypes=array('recordevent'=>'RecordEvent'); if ($conf->projet->enabled) $arrayoftypes['project']='CreateLeadAndThirdParty'; - print $form->selectarray('operationtype', $arrayoftypes, '', 0, 0, 0, '', 1); + print $form->selectarray('operationtype', $arrayoftypes, '', 1, 0, 0, '', 1); print ''; print ''; print '
'; print ''; if ($action == 'editmode') { - $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id'); + $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id', 'CRDT'); } else { $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none'); } diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 27fc1821a03..da7855b961b 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -2196,7 +2196,7 @@ if ($action == 'create' && $user->rights->commande->creer) print ''; print ''; if ($action == 'editmode') { - $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id'); + $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id', 'CRDT'); } else { $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none'); } From f404cae54609388431cb3925927b9756df2c604f Mon Sep 17 00:00:00 2001 From: gauthier Date: Mon, 12 Nov 2018 16:04:42 +0100 Subject: [PATCH 033/199] FIX : Same on customer card --- htdocs/comm/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index 2495d512c55..99fdc6dde76 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -326,7 +326,7 @@ if ($id > 0) print ''; if ($action == 'editmode') { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?socid='.$object->id,$object->mode_reglement_id,'mode_reglement_id'); + $form->form_modes_reglement($_SERVER['PHP_SELF'].'?socid='.$object->id,$object->mode_reglement_id,'mode_reglement_id', 'CRDT'); } else { From ceae6ac376d3c2b8157af5bf3e04c88b52b44d38 Mon Sep 17 00:00:00 2001 From: Tobias Elbert Date: Mon, 12 Nov 2018 16:21:20 +0100 Subject: [PATCH 034/199] fixed sql query error --- ...p conf.php.example index.html from societe | 285 ++++++++++++++++++ htdocs/projet/class/projectstats.class.php | 4 +- 2 files changed, 287 insertions(+), 2 deletions(-) create mode 100644 htdocs/conf/elect conf.php conf.php.example index.html from societe diff --git a/htdocs/conf/elect conf.php conf.php.example index.html from societe b/htdocs/conf/elect conf.php conf.php.example index.html from societe new file mode 100644 index 00000000000..490058ac324 --- /dev/null +++ b/htdocs/conf/elect conf.php conf.php.example index.html from societe @@ -0,0 +1,285 @@ + List of relations + Schema | Name | Type | Owner +--------+-----------------------------------------+-------+-------------- + public | llx_accounting_account | table | dolibarr_dev + public | llx_accounting_bookkeeping | table | dolibarr_dev + public | llx_accounting_bookkeeping_tmp | table | dolibarr_dev + public | llx_accounting_fiscalyear | table | dolibarr_dev + public | llx_accounting_journal | table | dolibarr_dev + public | llx_accounting_system | table | dolibarr_dev + public | llx_actioncomm | table | dolibarr_dev + public | llx_actioncomm_extrafields | table | dolibarr_dev + public | llx_actioncomm_reminder | table | dolibarr_dev + public | llx_actioncomm_resources | table | dolibarr_dev + public | llx_adherent | table | dolibarr_dev + public | llx_adherent_extrafields | table | dolibarr_dev + public | llx_adherent_type | table | dolibarr_dev + public | llx_adherent_type_extrafields | table | dolibarr_dev + public | llx_advtargetemailing | table | dolibarr_dev + public | llx_asset | table | dolibarr_dev + public | llx_asset_extrafields | table | dolibarr_dev + public | llx_asset_type | table | dolibarr_dev + public | llx_asset_type_extrafields | table | dolibarr_dev + public | llx_bank | table | dolibarr_dev + public | llx_bank_account | table | dolibarr_dev + public | llx_bank_account_extrafields | table | dolibarr_dev + public | llx_bank_categ | table | dolibarr_dev + public | llx_bank_class | table | dolibarr_dev + public | llx_bank_url | table | dolibarr_dev + public | llx_blockedlog | table | dolibarr_dev + public | llx_blockedlog_authority | table | dolibarr_dev + public | llx_bookmark | table | dolibarr_dev + public | llx_bordereau_cheque | table | dolibarr_dev + public | llx_boxes | table | dolibarr_dev + public | llx_boxes_def | table | dolibarr_dev + public | llx_budget | table | dolibarr_dev + public | llx_budget_lines | table | dolibarr_dev + public | llx_c_accounting_category | table | dolibarr_dev + public | llx_c_action_trigger | table | dolibarr_dev + public | llx_c_actioncomm | table | dolibarr_dev + public | llx_c_availability | table | dolibarr_dev + public | llx_c_barcode_type | table | dolibarr_dev + public | llx_c_chargesociales | table | dolibarr_dev + public | llx_c_civility | table | dolibarr_dev + public | llx_c_country | table | dolibarr_dev + public | llx_c_currencies | table | dolibarr_dev + public | llx_c_departements | table | dolibarr_dev + public | llx_c_ecotaxe | table | dolibarr_dev + public | llx_c_effectif | table | dolibarr_dev + public | llx_c_email_senderprofile | table | dolibarr_dev + public | llx_c_email_templates | table | dolibarr_dev + public | llx_c_exp_tax_cat | table | dolibarr_dev + public | llx_c_exp_tax_range | table | dolibarr_dev + public | llx_c_field_list | table | dolibarr_dev + public | llx_c_format_cards | table | dolibarr_dev + public | llx_c_forme_juridique | table | dolibarr_dev + public | llx_c_holiday_types | table | dolibarr_dev + public | llx_c_hrm_department | table | dolibarr_dev + public | llx_c_hrm_function | table | dolibarr_dev + public | llx_c_incoterms | table | dolibarr_dev + public | llx_c_input_method | table | dolibarr_dev + public | llx_c_input_reason | table | dolibarr_dev + public | llx_c_lead_status | table | dolibarr_dev + public | llx_c_paiement | table | dolibarr_dev + public | llx_c_paiement_temp | table | dolibarr_dev + public | llx_c_paper_format | table | dolibarr_dev + public | llx_c_payment_term | table | dolibarr_dev + public | llx_c_price_expression | table | dolibarr_dev + public | llx_c_price_global_variable | table | dolibarr_dev + public | llx_c_price_global_variable_updater | table | dolibarr_dev + public | llx_c_propalst | table | dolibarr_dev + public | llx_c_prospectlevel | table | dolibarr_dev + public | llx_c_regions | table | dolibarr_dev + public | llx_c_revenuestamp | table | dolibarr_dev + public | llx_c_shipment_mode | table | dolibarr_dev + public | llx_c_stcomm | table | dolibarr_dev + public | llx_c_ticket_category | table | dolibarr_dev + public | llx_c_ticket_severity | table | dolibarr_dev + public | llx_c_ticket_type | table | dolibarr_dev + public | llx_c_tva | table | dolibarr_dev + public | llx_c_type_contact | table | dolibarr_dev + public | llx_c_type_container | table | dolibarr_dev + public | llx_c_type_fees | table | dolibarr_dev + public | llx_c_type_resource | table | dolibarr_dev + public | llx_c_typent | table | dolibarr_dev + public | llx_c_units | table | dolibarr_dev + public | llx_c_ziptown | table | dolibarr_dev + public | llx_categorie | table | dolibarr_dev + public | llx_categorie_account | table | dolibarr_dev + public | llx_categorie_contact | table | dolibarr_dev + public | llx_categorie_fournisseur | table | dolibarr_dev + public | llx_categorie_lang | table | dolibarr_dev + public | llx_categorie_member | table | dolibarr_dev + public | llx_categorie_product | table | dolibarr_dev + public | llx_categorie_project | table | dolibarr_dev + public | llx_categorie_societe | table | dolibarr_dev + public | llx_categorie_user | table | dolibarr_dev + public | llx_categories_extrafields | table | dolibarr_dev + public | llx_chargesociales | table | dolibarr_dev + public | llx_commande | table | dolibarr_dev + public | llx_commande_extrafields | table | dolibarr_dev + public | llx_commande_fournisseur | table | dolibarr_dev + public | llx_commande_fournisseur_dispatch | table | dolibarr_dev + public | llx_commande_fournisseur_extrafields | table | dolibarr_dev + public | llx_commande_fournisseur_log | table | dolibarr_dev + public | llx_commande_fournisseurdet | table | dolibarr_dev + public | llx_commande_fournisseurdet_extrafields | table | dolibarr_dev + public | llx_commandedet | table | dolibarr_dev + public | llx_commandedet_extrafields | table | dolibarr_dev + public | llx_comment | table | dolibarr_dev + public | llx_const | table | dolibarr_dev + public | llx_contrat | table | dolibarr_dev + public | llx_contrat_extrafields | table | dolibarr_dev + public | llx_contratdet | table | dolibarr_dev + public | llx_contratdet_extrafields | table | dolibarr_dev + public | llx_contratdet_log | table | dolibarr_dev + public | llx_cronjob | table | dolibarr_dev + public | llx_default_values | table | dolibarr_dev + public | llx_deplacement | table | dolibarr_dev + public | llx_document_model | table | dolibarr_dev + public | llx_don | table | dolibarr_dev + public | llx_don_extrafields | table | dolibarr_dev + public | llx_ecm_directories | table | dolibarr_dev + public | llx_ecm_files | table | dolibarr_dev + public | llx_element_contact | table | dolibarr_dev + public | llx_element_element | table | dolibarr_dev + public | llx_element_lock | table | dolibarr_dev + public | llx_element_resources | table | dolibarr_dev + public | llx_element_tag | table | dolibarr_dev + public | llx_entrepot | table | dolibarr_dev + public | llx_establishment | table | dolibarr_dev + public | llx_event_element | table | dolibarr_dev + public | llx_events | table | dolibarr_dev + public | llx_expedition | table | dolibarr_dev + public | llx_expedition_extrafields | table | dolibarr_dev + public | llx_expeditiondet | table | dolibarr_dev + public | llx_expeditiondet_batch | table | dolibarr_dev + public | llx_expeditiondet_extrafields | table | dolibarr_dev + public | llx_expensereport | table | dolibarr_dev + public | llx_expensereport_det | table | dolibarr_dev + public | llx_expensereport_extrafields | table | dolibarr_dev + public | llx_expensereport_ik | table | dolibarr_dev + public | llx_expensereport_rules | table | dolibarr_dev + public | llx_export_compta | table | dolibarr_dev + public | llx_export_model | table | dolibarr_dev + public | llx_extrafields | table | dolibarr_dev + public | llx_facture | table | dolibarr_dev + public | llx_facture_extrafields | table | dolibarr_dev + public | llx_facture_fourn | table | dolibarr_dev + public | llx_facture_fourn_det | table | dolibarr_dev + public | llx_facture_fourn_det_extrafields | table | dolibarr_dev + public | llx_facture_fourn_extrafields | table | dolibarr_dev + public | llx_facture_rec | table | dolibarr_dev + public | llx_facture_rec_extrafields | table | dolibarr_dev + public | llx_facturedet | table | dolibarr_dev + public | llx_facturedet_extrafields | table | dolibarr_dev + public | llx_facturedet_rec | table | dolibarr_dev + public | llx_fichinter | table | dolibarr_dev + public | llx_fichinter_extrafields | table | dolibarr_dev + public | llx_fichinterdet | table | dolibarr_dev + public | llx_fichinterdet_extrafields | table | dolibarr_dev + public | llx_holiday | table | dolibarr_dev + public | llx_holiday_config | table | dolibarr_dev + public | llx_holiday_logs | table | dolibarr_dev + public | llx_holiday_users | table | dolibarr_dev + public | llx_import_model | table | dolibarr_dev + public | llx_inventory | table | dolibarr_dev + public | llx_inventorydet | table | dolibarr_dev + public | llx_links | table | dolibarr_dev + public | llx_livraison | table | dolibarr_dev + public | llx_livraison_extrafields | table | dolibarr_dev + public | llx_livraisondet | table | dolibarr_dev + public | llx_livraisondet_extrafields | table | dolibarr_dev + public | llx_loan | table | dolibarr_dev + public | llx_loan_schedule | table | dolibarr_dev + public | llx_localtax | table | dolibarr_dev + public | llx_mailing | table | dolibarr_dev + public | llx_mailing_cibles | table | dolibarr_dev + public | llx_menu | table | dolibarr_dev + public | llx_multicurrency | table | dolibarr_dev + public | llx_multicurrency_rate | table | dolibarr_dev + public | llx_notify | table | dolibarr_dev + public | llx_notify_def | table | dolibarr_dev + public | llx_notify_def_object | table | dolibarr_dev + public | llx_oauth_state | table | dolibarr_dev + public | llx_oauth_token | table | dolibarr_dev + public | llx_onlinesignature | table | dolibarr_dev + public | llx_opensurvey_comments | table | dolibarr_dev + public | llx_opensurvey_formquestions | table | dolibarr_dev + public | llx_opensurvey_sondage | table | dolibarr_dev + public | llx_opensurvey_user_formanswers | table | dolibarr_dev + public | llx_opensurvey_user_studs | table | dolibarr_dev + public | llx_overwrite_trans | table | dolibarr_dev + public | llx_paiement | table | dolibarr_dev + public | llx_paiement_facture | table | dolibarr_dev + public | llx_paiementcharge | table | dolibarr_dev + public | llx_paiementfourn | table | dolibarr_dev + public | llx_paiementfourn_facturefourn | table | dolibarr_dev + public | llx_payment_donation | table | dolibarr_dev + public | llx_payment_expensereport | table | dolibarr_dev + public | llx_payment_loan | table | dolibarr_dev + public | llx_payment_salary | table | dolibarr_dev + public | llx_payment_various | table | dolibarr_dev + public | llx_prelevement_bons | table | dolibarr_dev + public | llx_prelevement_facture | table | dolibarr_dev + public | llx_prelevement_facture_demande | table | dolibarr_dev + public | llx_prelevement_lignes | table | dolibarr_dev + public | llx_prelevement_rejet | table | dolibarr_dev + public | llx_printing | table | dolibarr_dev + public | llx_product | table | dolibarr_dev + public | llx_product_association | table | dolibarr_dev + public | llx_product_attribute | table | dolibarr_dev + public | llx_product_attribute_combination | table | dolibarr_dev + public | llx_product_attribute_combination2val | table | dolibarr_dev + public | llx_product_attribute_value | table | dolibarr_dev + public | llx_product_batch | table | dolibarr_dev + public | llx_product_customer_price | table | dolibarr_dev + public | llx_product_customer_price_log | table | dolibarr_dev + public | llx_product_extrafields | table | dolibarr_dev + public | llx_product_fournisseur_price | table | dolibarr_dev + public | llx_product_fournisseur_price_log | table | dolibarr_dev + public | llx_product_lang | table | dolibarr_dev + public | llx_product_lot | table | dolibarr_dev + public | llx_product_lot_extrafields | table | dolibarr_dev + public | llx_product_price | table | dolibarr_dev + public | llx_product_price_by_qty | table | dolibarr_dev + public | llx_product_pricerules | table | dolibarr_dev + public | llx_product_stock | table | dolibarr_dev + public | llx_product_warehouse_properties | table | dolibarr_dev + public | llx_projet | table | dolibarr_dev + public | llx_projet_extrafields | table | dolibarr_dev + public | llx_projet_task | table | dolibarr_dev + public | llx_projet_task_extrafields | table | dolibarr_dev + public | llx_projet_task_time | table | dolibarr_dev + public | llx_propal | table | dolibarr_dev + public | llx_propal_extrafields | table | dolibarr_dev + public | llx_propal_merge_pdf_product | table | dolibarr_dev + public | llx_propaldet | table | dolibarr_dev + public | llx_propaldet_extrafields | table | dolibarr_dev + public | llx_resource | table | dolibarr_dev + public | llx_resource_extrafields | table | dolibarr_dev + public | llx_rights_def | table | dolibarr_dev + public | llx_societe | table | dolibarr_dev + public | llx_societe_account | table | dolibarr_dev + public | llx_societe_address | table | dolibarr_dev + public | llx_societe_commerciaux | table | dolibarr_dev + public | llx_societe_extrafields | table | dolibarr_dev + public | llx_societe_log | table | dolibarr_dev + public | llx_societe_prices | table | dolibarr_dev + public | llx_societe_remise | table | dolibarr_dev + public | llx_societe_remise_except | table | dolibarr_dev + public | llx_societe_remise_supplier | table | dolibarr_dev + public | llx_societe_rib | table | dolibarr_dev + public | llx_socpeople | table | dolibarr_dev + public | llx_socpeople_extrafields | table | dolibarr_dev + public | llx_stock_lotserial | table | dolibarr_dev + public | llx_stock_mouvement | table | dolibarr_dev + public | llx_subscription | table | dolibarr_dev + public | llx_supplier_proposal | table | dolibarr_dev + public | llx_supplier_proposal_extrafields | table | dolibarr_dev + public | llx_supplier_proposaldet | table | dolibarr_dev + public | llx_supplier_proposaldet_extrafields | table | dolibarr_dev + public | llx_ticket | table | dolibarr_dev + public | llx_ticket_extrafields | table | dolibarr_dev + public | llx_ticket_logs | table | dolibarr_dev + public | llx_ticket_msg | table | dolibarr_dev + public | llx_tva | table | dolibarr_dev + public | llx_user | table | dolibarr_dev + public | llx_user_alert | table | dolibarr_dev + public | llx_user_clicktodial | table | dolibarr_dev + public | llx_user_employment | table | dolibarr_dev + public | llx_user_extrafields | table | dolibarr_dev + public | llx_user_param | table | dolibarr_dev + public | llx_user_rib | table | dolibarr_dev + public | llx_user_rights | table | dolibarr_dev + public | llx_usergroup | table | dolibarr_dev + public | llx_usergroup_extrafields | table | dolibarr_dev + public | llx_usergroup_rights | table | dolibarr_dev + public | llx_usergroup_user | table | dolibarr_dev + public | llx_website | table | dolibarr_dev + public | llx_website_extrafields | table | dolibarr_dev + public | llx_website_page | table | dolibarr_dev + public | llx_wsactivateproducts | table | dolibarr_dev + public | llx_wsactivateserials | table | dolibarr_dev +(280 rows) + diff --git a/htdocs/projet/class/projectstats.class.php b/htdocs/projet/class/projectstats.class.php index 22793fd844e..cf586f8c96c 100644 --- a/htdocs/projet/class/projectstats.class.php +++ b/htdocs/projet/class/projectstats.class.php @@ -171,8 +171,8 @@ class ProjectStats extends Stats if (! empty($this->status)) $sqlwhere[] = " t.fk_opp_status IN (" . $this->status . ")"; - - if (! $user->rights->projet->all->lire) $sqlwhere[] = " AND p.rowid IN (".$projectsListId.")"; // public and assigned to, or restricted to company for external users + // TE: changed table alias "p" to "t" + if (! $user->rights->projet->all->lire) $sqlwhere[] = " t.rowid IN (".$projectsListId.")"; // public and assigned to, or restricted to company for external users if (count($sqlwhere) > 0) { $sqlwhere_str = ' WHERE ' . implode(' AND ', $sqlwhere); From fceaae7a8d2fa8ef20e22157702530af6c031d61 Mon Sep 17 00:00:00 2001 From: Tobias Elbert Date: Mon, 12 Nov 2018 16:22:42 +0100 Subject: [PATCH 035/199] fixed sql query error --- ...p conf.php.example index.html from societe | 285 ------------------ 1 file changed, 285 deletions(-) delete mode 100644 htdocs/conf/elect conf.php conf.php.example index.html from societe diff --git a/htdocs/conf/elect conf.php conf.php.example index.html from societe b/htdocs/conf/elect conf.php conf.php.example index.html from societe deleted file mode 100644 index 490058ac324..00000000000 --- a/htdocs/conf/elect conf.php conf.php.example index.html from societe +++ /dev/null @@ -1,285 +0,0 @@ - List of relations - Schema | Name | Type | Owner ---------+-----------------------------------------+-------+-------------- - public | llx_accounting_account | table | dolibarr_dev - public | llx_accounting_bookkeeping | table | dolibarr_dev - public | llx_accounting_bookkeeping_tmp | table | dolibarr_dev - public | llx_accounting_fiscalyear | table | dolibarr_dev - public | llx_accounting_journal | table | dolibarr_dev - public | llx_accounting_system | table | dolibarr_dev - public | llx_actioncomm | table | dolibarr_dev - public | llx_actioncomm_extrafields | table | dolibarr_dev - public | llx_actioncomm_reminder | table | dolibarr_dev - public | llx_actioncomm_resources | table | dolibarr_dev - public | llx_adherent | table | dolibarr_dev - public | llx_adherent_extrafields | table | dolibarr_dev - public | llx_adherent_type | table | dolibarr_dev - public | llx_adherent_type_extrafields | table | dolibarr_dev - public | llx_advtargetemailing | table | dolibarr_dev - public | llx_asset | table | dolibarr_dev - public | llx_asset_extrafields | table | dolibarr_dev - public | llx_asset_type | table | dolibarr_dev - public | llx_asset_type_extrafields | table | dolibarr_dev - public | llx_bank | table | dolibarr_dev - public | llx_bank_account | table | dolibarr_dev - public | llx_bank_account_extrafields | table | dolibarr_dev - public | llx_bank_categ | table | dolibarr_dev - public | llx_bank_class | table | dolibarr_dev - public | llx_bank_url | table | dolibarr_dev - public | llx_blockedlog | table | dolibarr_dev - public | llx_blockedlog_authority | table | dolibarr_dev - public | llx_bookmark | table | dolibarr_dev - public | llx_bordereau_cheque | table | dolibarr_dev - public | llx_boxes | table | dolibarr_dev - public | llx_boxes_def | table | dolibarr_dev - public | llx_budget | table | dolibarr_dev - public | llx_budget_lines | table | dolibarr_dev - public | llx_c_accounting_category | table | dolibarr_dev - public | llx_c_action_trigger | table | dolibarr_dev - public | llx_c_actioncomm | table | dolibarr_dev - public | llx_c_availability | table | dolibarr_dev - public | llx_c_barcode_type | table | dolibarr_dev - public | llx_c_chargesociales | table | dolibarr_dev - public | llx_c_civility | table | dolibarr_dev - public | llx_c_country | table | dolibarr_dev - public | llx_c_currencies | table | dolibarr_dev - public | llx_c_departements | table | dolibarr_dev - public | llx_c_ecotaxe | table | dolibarr_dev - public | llx_c_effectif | table | dolibarr_dev - public | llx_c_email_senderprofile | table | dolibarr_dev - public | llx_c_email_templates | table | dolibarr_dev - public | llx_c_exp_tax_cat | table | dolibarr_dev - public | llx_c_exp_tax_range | table | dolibarr_dev - public | llx_c_field_list | table | dolibarr_dev - public | llx_c_format_cards | table | dolibarr_dev - public | llx_c_forme_juridique | table | dolibarr_dev - public | llx_c_holiday_types | table | dolibarr_dev - public | llx_c_hrm_department | table | dolibarr_dev - public | llx_c_hrm_function | table | dolibarr_dev - public | llx_c_incoterms | table | dolibarr_dev - public | llx_c_input_method | table | dolibarr_dev - public | llx_c_input_reason | table | dolibarr_dev - public | llx_c_lead_status | table | dolibarr_dev - public | llx_c_paiement | table | dolibarr_dev - public | llx_c_paiement_temp | table | dolibarr_dev - public | llx_c_paper_format | table | dolibarr_dev - public | llx_c_payment_term | table | dolibarr_dev - public | llx_c_price_expression | table | dolibarr_dev - public | llx_c_price_global_variable | table | dolibarr_dev - public | llx_c_price_global_variable_updater | table | dolibarr_dev - public | llx_c_propalst | table | dolibarr_dev - public | llx_c_prospectlevel | table | dolibarr_dev - public | llx_c_regions | table | dolibarr_dev - public | llx_c_revenuestamp | table | dolibarr_dev - public | llx_c_shipment_mode | table | dolibarr_dev - public | llx_c_stcomm | table | dolibarr_dev - public | llx_c_ticket_category | table | dolibarr_dev - public | llx_c_ticket_severity | table | dolibarr_dev - public | llx_c_ticket_type | table | dolibarr_dev - public | llx_c_tva | table | dolibarr_dev - public | llx_c_type_contact | table | dolibarr_dev - public | llx_c_type_container | table | dolibarr_dev - public | llx_c_type_fees | table | dolibarr_dev - public | llx_c_type_resource | table | dolibarr_dev - public | llx_c_typent | table | dolibarr_dev - public | llx_c_units | table | dolibarr_dev - public | llx_c_ziptown | table | dolibarr_dev - public | llx_categorie | table | dolibarr_dev - public | llx_categorie_account | table | dolibarr_dev - public | llx_categorie_contact | table | dolibarr_dev - public | llx_categorie_fournisseur | table | dolibarr_dev - public | llx_categorie_lang | table | dolibarr_dev - public | llx_categorie_member | table | dolibarr_dev - public | llx_categorie_product | table | dolibarr_dev - public | llx_categorie_project | table | dolibarr_dev - public | llx_categorie_societe | table | dolibarr_dev - public | llx_categorie_user | table | dolibarr_dev - public | llx_categories_extrafields | table | dolibarr_dev - public | llx_chargesociales | table | dolibarr_dev - public | llx_commande | table | dolibarr_dev - public | llx_commande_extrafields | table | dolibarr_dev - public | llx_commande_fournisseur | table | dolibarr_dev - public | llx_commande_fournisseur_dispatch | table | dolibarr_dev - public | llx_commande_fournisseur_extrafields | table | dolibarr_dev - public | llx_commande_fournisseur_log | table | dolibarr_dev - public | llx_commande_fournisseurdet | table | dolibarr_dev - public | llx_commande_fournisseurdet_extrafields | table | dolibarr_dev - public | llx_commandedet | table | dolibarr_dev - public | llx_commandedet_extrafields | table | dolibarr_dev - public | llx_comment | table | dolibarr_dev - public | llx_const | table | dolibarr_dev - public | llx_contrat | table | dolibarr_dev - public | llx_contrat_extrafields | table | dolibarr_dev - public | llx_contratdet | table | dolibarr_dev - public | llx_contratdet_extrafields | table | dolibarr_dev - public | llx_contratdet_log | table | dolibarr_dev - public | llx_cronjob | table | dolibarr_dev - public | llx_default_values | table | dolibarr_dev - public | llx_deplacement | table | dolibarr_dev - public | llx_document_model | table | dolibarr_dev - public | llx_don | table | dolibarr_dev - public | llx_don_extrafields | table | dolibarr_dev - public | llx_ecm_directories | table | dolibarr_dev - public | llx_ecm_files | table | dolibarr_dev - public | llx_element_contact | table | dolibarr_dev - public | llx_element_element | table | dolibarr_dev - public | llx_element_lock | table | dolibarr_dev - public | llx_element_resources | table | dolibarr_dev - public | llx_element_tag | table | dolibarr_dev - public | llx_entrepot | table | dolibarr_dev - public | llx_establishment | table | dolibarr_dev - public | llx_event_element | table | dolibarr_dev - public | llx_events | table | dolibarr_dev - public | llx_expedition | table | dolibarr_dev - public | llx_expedition_extrafields | table | dolibarr_dev - public | llx_expeditiondet | table | dolibarr_dev - public | llx_expeditiondet_batch | table | dolibarr_dev - public | llx_expeditiondet_extrafields | table | dolibarr_dev - public | llx_expensereport | table | dolibarr_dev - public | llx_expensereport_det | table | dolibarr_dev - public | llx_expensereport_extrafields | table | dolibarr_dev - public | llx_expensereport_ik | table | dolibarr_dev - public | llx_expensereport_rules | table | dolibarr_dev - public | llx_export_compta | table | dolibarr_dev - public | llx_export_model | table | dolibarr_dev - public | llx_extrafields | table | dolibarr_dev - public | llx_facture | table | dolibarr_dev - public | llx_facture_extrafields | table | dolibarr_dev - public | llx_facture_fourn | table | dolibarr_dev - public | llx_facture_fourn_det | table | dolibarr_dev - public | llx_facture_fourn_det_extrafields | table | dolibarr_dev - public | llx_facture_fourn_extrafields | table | dolibarr_dev - public | llx_facture_rec | table | dolibarr_dev - public | llx_facture_rec_extrafields | table | dolibarr_dev - public | llx_facturedet | table | dolibarr_dev - public | llx_facturedet_extrafields | table | dolibarr_dev - public | llx_facturedet_rec | table | dolibarr_dev - public | llx_fichinter | table | dolibarr_dev - public | llx_fichinter_extrafields | table | dolibarr_dev - public | llx_fichinterdet | table | dolibarr_dev - public | llx_fichinterdet_extrafields | table | dolibarr_dev - public | llx_holiday | table | dolibarr_dev - public | llx_holiday_config | table | dolibarr_dev - public | llx_holiday_logs | table | dolibarr_dev - public | llx_holiday_users | table | dolibarr_dev - public | llx_import_model | table | dolibarr_dev - public | llx_inventory | table | dolibarr_dev - public | llx_inventorydet | table | dolibarr_dev - public | llx_links | table | dolibarr_dev - public | llx_livraison | table | dolibarr_dev - public | llx_livraison_extrafields | table | dolibarr_dev - public | llx_livraisondet | table | dolibarr_dev - public | llx_livraisondet_extrafields | table | dolibarr_dev - public | llx_loan | table | dolibarr_dev - public | llx_loan_schedule | table | dolibarr_dev - public | llx_localtax | table | dolibarr_dev - public | llx_mailing | table | dolibarr_dev - public | llx_mailing_cibles | table | dolibarr_dev - public | llx_menu | table | dolibarr_dev - public | llx_multicurrency | table | dolibarr_dev - public | llx_multicurrency_rate | table | dolibarr_dev - public | llx_notify | table | dolibarr_dev - public | llx_notify_def | table | dolibarr_dev - public | llx_notify_def_object | table | dolibarr_dev - public | llx_oauth_state | table | dolibarr_dev - public | llx_oauth_token | table | dolibarr_dev - public | llx_onlinesignature | table | dolibarr_dev - public | llx_opensurvey_comments | table | dolibarr_dev - public | llx_opensurvey_formquestions | table | dolibarr_dev - public | llx_opensurvey_sondage | table | dolibarr_dev - public | llx_opensurvey_user_formanswers | table | dolibarr_dev - public | llx_opensurvey_user_studs | table | dolibarr_dev - public | llx_overwrite_trans | table | dolibarr_dev - public | llx_paiement | table | dolibarr_dev - public | llx_paiement_facture | table | dolibarr_dev - public | llx_paiementcharge | table | dolibarr_dev - public | llx_paiementfourn | table | dolibarr_dev - public | llx_paiementfourn_facturefourn | table | dolibarr_dev - public | llx_payment_donation | table | dolibarr_dev - public | llx_payment_expensereport | table | dolibarr_dev - public | llx_payment_loan | table | dolibarr_dev - public | llx_payment_salary | table | dolibarr_dev - public | llx_payment_various | table | dolibarr_dev - public | llx_prelevement_bons | table | dolibarr_dev - public | llx_prelevement_facture | table | dolibarr_dev - public | llx_prelevement_facture_demande | table | dolibarr_dev - public | llx_prelevement_lignes | table | dolibarr_dev - public | llx_prelevement_rejet | table | dolibarr_dev - public | llx_printing | table | dolibarr_dev - public | llx_product | table | dolibarr_dev - public | llx_product_association | table | dolibarr_dev - public | llx_product_attribute | table | dolibarr_dev - public | llx_product_attribute_combination | table | dolibarr_dev - public | llx_product_attribute_combination2val | table | dolibarr_dev - public | llx_product_attribute_value | table | dolibarr_dev - public | llx_product_batch | table | dolibarr_dev - public | llx_product_customer_price | table | dolibarr_dev - public | llx_product_customer_price_log | table | dolibarr_dev - public | llx_product_extrafields | table | dolibarr_dev - public | llx_product_fournisseur_price | table | dolibarr_dev - public | llx_product_fournisseur_price_log | table | dolibarr_dev - public | llx_product_lang | table | dolibarr_dev - public | llx_product_lot | table | dolibarr_dev - public | llx_product_lot_extrafields | table | dolibarr_dev - public | llx_product_price | table | dolibarr_dev - public | llx_product_price_by_qty | table | dolibarr_dev - public | llx_product_pricerules | table | dolibarr_dev - public | llx_product_stock | table | dolibarr_dev - public | llx_product_warehouse_properties | table | dolibarr_dev - public | llx_projet | table | dolibarr_dev - public | llx_projet_extrafields | table | dolibarr_dev - public | llx_projet_task | table | dolibarr_dev - public | llx_projet_task_extrafields | table | dolibarr_dev - public | llx_projet_task_time | table | dolibarr_dev - public | llx_propal | table | dolibarr_dev - public | llx_propal_extrafields | table | dolibarr_dev - public | llx_propal_merge_pdf_product | table | dolibarr_dev - public | llx_propaldet | table | dolibarr_dev - public | llx_propaldet_extrafields | table | dolibarr_dev - public | llx_resource | table | dolibarr_dev - public | llx_resource_extrafields | table | dolibarr_dev - public | llx_rights_def | table | dolibarr_dev - public | llx_societe | table | dolibarr_dev - public | llx_societe_account | table | dolibarr_dev - public | llx_societe_address | table | dolibarr_dev - public | llx_societe_commerciaux | table | dolibarr_dev - public | llx_societe_extrafields | table | dolibarr_dev - public | llx_societe_log | table | dolibarr_dev - public | llx_societe_prices | table | dolibarr_dev - public | llx_societe_remise | table | dolibarr_dev - public | llx_societe_remise_except | table | dolibarr_dev - public | llx_societe_remise_supplier | table | dolibarr_dev - public | llx_societe_rib | table | dolibarr_dev - public | llx_socpeople | table | dolibarr_dev - public | llx_socpeople_extrafields | table | dolibarr_dev - public | llx_stock_lotserial | table | dolibarr_dev - public | llx_stock_mouvement | table | dolibarr_dev - public | llx_subscription | table | dolibarr_dev - public | llx_supplier_proposal | table | dolibarr_dev - public | llx_supplier_proposal_extrafields | table | dolibarr_dev - public | llx_supplier_proposaldet | table | dolibarr_dev - public | llx_supplier_proposaldet_extrafields | table | dolibarr_dev - public | llx_ticket | table | dolibarr_dev - public | llx_ticket_extrafields | table | dolibarr_dev - public | llx_ticket_logs | table | dolibarr_dev - public | llx_ticket_msg | table | dolibarr_dev - public | llx_tva | table | dolibarr_dev - public | llx_user | table | dolibarr_dev - public | llx_user_alert | table | dolibarr_dev - public | llx_user_clicktodial | table | dolibarr_dev - public | llx_user_employment | table | dolibarr_dev - public | llx_user_extrafields | table | dolibarr_dev - public | llx_user_param | table | dolibarr_dev - public | llx_user_rib | table | dolibarr_dev - public | llx_user_rights | table | dolibarr_dev - public | llx_usergroup | table | dolibarr_dev - public | llx_usergroup_extrafields | table | dolibarr_dev - public | llx_usergroup_rights | table | dolibarr_dev - public | llx_usergroup_user | table | dolibarr_dev - public | llx_website | table | dolibarr_dev - public | llx_website_extrafields | table | dolibarr_dev - public | llx_website_page | table | dolibarr_dev - public | llx_wsactivateproducts | table | dolibarr_dev - public | llx_wsactivateserials | table | dolibarr_dev -(280 rows) - From 628918f863fc46fafdf67610ba410481532b17d2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 12 Nov 2018 16:43:33 +0100 Subject: [PATCH 036/199] Remove var_dump --- htdocs/core/modules/modAgenda.class.php | 2 +- htdocs/emailcollector/class/emailcollector.class.php | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index d69c20ab643..50e767fe411 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -244,7 +244,7 @@ class modAgenda extends DolibarrModules // Calendar $this->menu[$r]=array('fk_menu'=>'r=1', 'type'=>'left', - 'titre'=>'Agenda', + 'titre'=>'Calendar', 'mainmenu'=>'agenda', 'url'=>'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda', 'langs'=>'agenda', diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index ccf303949ec..7724e312ff2 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -930,18 +930,17 @@ class EmailCollector extends CommonObject if ($errorforactions) break; if (empty($operation['status'])) continue; - // Make Operation if ($operation['type'] == 'recordevent') { $actioncode = 'EMAIL_IN'; - var_dump($structure); + // Insert record of emails sent $actioncomm = new ActionComm($this->db); $actioncomm->type_code = 'AC_OTH_AUTO'; // Type of event ('AC_OTH', 'AC_OTH_AUTO', 'AC_XXX'...) $actioncomm->code = 'AC_'.$actioncode; - $actioncomm->label = $subject; + $actioncomm->label = $langs->trans("EmailReceived").' - '.$langs->trans("From").' '.$from; $actioncomm->note = $messagetext; $actioncomm->fk_project = 0; $actioncomm->datep = $date; @@ -983,9 +982,12 @@ class EmailCollector extends CommonObject } } - var_dump($actioncomm);exit; + elseif ($operation['type'] == 'aaa') + { + } + if (! $errorforactions) { $nbactiondone++; From 723654efea8af3ad34e89a4bb081d975ecc29f54 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 12 Nov 2018 17:15:03 +0100 Subject: [PATCH 037/199] Fix phpcs --- htdocs/emailcollector/class/emailcollector.class.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index 7724e312ff2..a9e2431be71 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -980,7 +980,6 @@ class EmailCollector extends CommonObject $errorforactions++; $this->errors = $actioncomm->errors; } - } elseif ($operation['type'] == 'aaa') { From 35c43683b65b9ba65ca318cbd78389bfb9840e58 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Tue, 13 Nov 2018 09:45:47 +0100 Subject: [PATCH 038/199] fix Erreur DB_ERROR_SYNTAX --- htdocs/install/mysql/migration/8.0.0-9.0.0.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql index 996fdb79b17..64811b0a034 100644 --- a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql +++ b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql @@ -55,7 +55,7 @@ ALTER TABLE llx_product_fournisseur_price ADD COLUMN desc_fourn text after ref_f ALTER TABLE llx_user ADD COLUMN dateemploymentend date after dateemployment; ALTER TABLE llx_stock_mouvement ADD COLUMN fk_project integer; -Alter tABLE llx_c_action_trigger MODIFY COLUMN elementtype varchar(32) +Alter TABLE llx_c_action_trigger MODIFY COLUMN elementtype varchar(32); ALTER TABLE llx_c_field_list ADD COLUMN visible tinyint DEFAULT 1 NOT NULL AFTER search; From 2ed060a07083672d271d9ca81bbf0e4dcf60f529 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Tue, 13 Nov 2018 10:07:04 +0100 Subject: [PATCH 039/199] fix: Invalid argument supplied for foreach() --- htdocs/core/tpl/extrafields_list_search_sql.tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php index b0c97265682..f3c5a10e95b 100644 --- a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php +++ b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php @@ -10,7 +10,7 @@ if (empty($conf) || ! is_object($conf)) if (empty($extrafieldsobjectkey) && is_object($object)) $extrafieldsobjectkey=$object->table_element; // Loop to complete the sql search criterias from extrafields -if (! empty($extrafieldsobjectkey) && ! empty($search_array_options)) // $extrafieldsobject is the $object->table_element like 'societe', 'socpeople', ... +if (! empty($extrafieldsobjectkey) && ! empty($search_array_options) && is_array($search_array_options)) // $extrafieldsobject is the $object->table_element like 'societe', 'socpeople', ... { foreach ($search_array_options as $key => $val) { From 500bb7bc96ad53080389559277163db8fb30afee Mon Sep 17 00:00:00 2001 From: John BOTELLA Date: Tue, 13 Nov 2018 10:20:34 +0100 Subject: [PATCH 040/199] best conditions testing --- htdocs/core/class/commonobject.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 67e06ea59f3..870de68948f 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -6152,7 +6152,8 @@ abstract class CommonObject $e = 0; foreach($extrafields->attributes[$this->table_element]['label'] as $key=>$label) { - if(empty($extrafields->attribute_list[$key]) && $mode == 'view'){ + if (isset($extrafields->attributes[$this->table_element]['list'][$key]) + && empty($extrafields->attributes[$this->table_element]['list'][$key]) && $mode == 'view'){ continue; } From 77582b2a4127ca4d90c2fc16b011586ddf5dd751 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 13 Nov 2018 11:36:57 +0100 Subject: [PATCH 041/199] FIX the autofocus feature --- htdocs/core/lib/functions.lib.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 5ec9e40518f..c563cf14bbc 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -7061,6 +7061,7 @@ function printCommonFooter($zone='private') if (! empty($conf->use_javascript_ajax)) { print ''; - } - else if ($type == 'barline') - { - // data is array('series'=>array(serie1,serie2,...), - // 'seriestype'=>array('bar','line',...), - // 'seriescolor'=>array(0=>'#999999',1=>'#999999',...) - // 'xlabel'=>array(0=>labelx1,1=>labelx2,...)); - // serieX is array('label'=>'label', data=>array(0=>y1,1=>y2,...)) with same nb of value than into xlabel - print ' - '; - } - else print 'BadValueForParameterType'; - } -} - /** * Truncate a string to a particular length adding '...' if string larger than length. * If length = max length+1, we do no truncate to avoid having just 1 char replaced with '...'. From 8c61529aee647543f1888ac43325c036c92c8ca2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 20 Nov 2018 20:31:02 +0100 Subject: [PATCH 141/199] Update doc --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index e4fbf63e758..0bc9d008ea8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -27,6 +27,8 @@ Following changes may create regressions for some external modules, but were nec replace them with links like viewimages.php?modulepart=mycompany&file=logos/... (note that link change only for modulepart=mycompany that now works like others). * Hidden option MAIN_PDF_SHIPPING_DISPLAY_AMOUNT_HT has been renamed into SHIPPING_PDF_DISPLAY_AMOUNT_HT +* Remove the no more used and deprecated dol_print_graph function + ***** ChangeLog for 8.0.3 compared to 8.0.2 ***** From c891f6ed10e1d8591500b223fa7b12d8a3f602fe Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 20 Nov 2018 21:26:22 +0100 Subject: [PATCH 142/199] Disable javascript feature with no javascript --- htdocs/admin/defaultvalues.php | 3 ++- htdocs/core/lib/admin.lib.php | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/htdocs/admin/defaultvalues.php b/htdocs/admin/defaultvalues.php index f7a2a031dbf..afec612bf61 100644 --- a/htdocs/admin/defaultvalues.php +++ b/htdocs/admin/defaultvalues.php @@ -288,8 +288,9 @@ if ($mode != 'focus' && $mode != 'mandatory') } // Entity if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre("Entity",$_SERVER["PHP_SELF"],'entity,page','',$param,'',$sortfield,$sortorder); +else print_liste_field_titre("",$_SERVER["PHP_SELF"],'','',$param,'',$sortfield,$sortorder); // Actions -print ''; +print_liste_field_titre("",$_SERVER["PHP_SELF"],'','',$param,'',$sortfield,$sortorder); print "\n"; diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 9d3bc24bd76..c67539a8b7c 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -724,15 +724,18 @@ function defaultvalues_prepare_head() $head[$h][2] = 'sortorder'; $h++; - $head[$h][0] = DOL_URL_ROOT."/admin/defaultvalues.php?mode=focus"; - $head[$h][1] = $langs->trans("DefaultFocus"); - $head[$h][2] = 'focus'; - $h++; + if (! empty($conf->use_javascript_ajax)) + { + $head[$h][0] = DOL_URL_ROOT."/admin/defaultvalues.php?mode=focus"; + $head[$h][1] = $langs->trans("DefaultFocus"); + $head[$h][2] = 'focus'; + $h++; - $head[$h][0] = DOL_URL_ROOT."/admin/defaultvalues.php?mode=mandatory"; - $head[$h][1] = $langs->trans("DefaultMandatory"); - $head[$h][2] = 'mandatory'; - $h++; + $head[$h][0] = DOL_URL_ROOT."/admin/defaultvalues.php?mode=mandatory"; + $head[$h][1] = $langs->trans("DefaultMandatory"); + $head[$h][2] = 'mandatory'; + $h++; + } /*$head[$h][0] = DOL_URL_ROOT."/admin/translation.php?mode=searchkey"; $head[$h][1] = $langs->trans("TranslationKeySearch"); From 6514b5138284b5d543654b74c2e5c3c3163a06a6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 20 Nov 2018 21:59:05 +0100 Subject: [PATCH 143/199] Better help --- htdocs/langs/en_US/admin.lang | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index a760a77ede8..f528c23818b 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -463,9 +463,9 @@ ClickToShowDescription=Click to show description DependsOn=This module needs the module(s) RequiredBy=This module is required by module(s) TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. Technical knowledge is required to read the content of the HTML page to get the key name of a field. -PageUrlForDefaultValues=You must enter the relative url of the page. If you include parameters in URL, the default values will be effective if all parameters are set to same value. Examples: -PageUrlForDefaultValuesCreate=
For form to create a new thirdparty, it is %s,
If you want default value only if url has some parameter, you can use %s -PageUrlForDefaultValuesList=
For page that list third-parties, it is %s,
If you want default value only if url has some parameter, you can use %s +PageUrlForDefaultValues=You must enter the relative path of the page in URL. If you include parameters in URL, the default values will be effective if all parameters are set to same value. +PageUrlForDefaultValuesCreate=
Example:
For the form to create a new thirdparty, it is %s.
For URL of external modules installed into custom directory, do not include the "custom/", so use path like mymodule/mypage.php and not custom/mymodule/mypage.php.
If you want default value only if url has some parameter, you can use %s +PageUrlForDefaultValuesList=
Example:
For the page that list third-parties, it is %s.
For URL of external modules installed into custom directory, do not include the "custom/" so use path like mymodule/mypagelist.php and not custom/mymodule/mypagelist.php.
If you want default value only if url has some parameter, you can use %s EnableDefaultValues=Enable usage of personalized default values EnableOverwriteTranslation=Enable usage of overwritten translation GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code. To change this value, you must edit it from Home-Setup-translation. From 0ea6f2778bb6d355a2de4f91de2224ebd0a5c86c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 20 Nov 2018 22:01:38 +0100 Subject: [PATCH 144/199] Fix examples --- htdocs/admin/defaultvalues.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/admin/defaultvalues.php b/htdocs/admin/defaultvalues.php index afec612bf61..b30cb01bd67 100644 --- a/htdocs/admin/defaultvalues.php +++ b/htdocs/admin/defaultvalues.php @@ -250,7 +250,7 @@ print ''; // Page $texthelp=$langs->trans("PageUrlForDefaultValues"); if ($mode == 'createform') $texthelp.=$langs->trans("PageUrlForDefaultValuesCreate", 'societe/card.php', 'societe/card.php?abc=val1&def=val2'); -else $texthelp.=$langs->trans("PageUrlForDefaultValuesList", 'societe/list.php', 'societe/card.php?abc=val1&def=val2'); +else $texthelp.=$langs->trans("PageUrlForDefaultValuesList", 'societe/list.php', 'societe/list.php?abc=val1&def=val2'); $texturl=$form->textwithpicto($langs->trans("Url"), $texthelp); print_liste_field_titre($texturl,$_SERVER["PHP_SELF"],'page,param','',$param,'',$sortfield,$sortorder); // Field From e8cac0df3579ee30e895c420f48ee6159f33867f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 21 Nov 2018 14:06:06 +0100 Subject: [PATCH 145/199] correct link and avoid warning in resource list --- htdocs/resource/list.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/htdocs/resource/list.php b/htdocs/resource/list.php index 85be267613d..68f91327f6d 100644 --- a/htdocs/resource/list.php +++ b/htdocs/resource/list.php @@ -1,6 +1,7 @@ * Copyright (C) 2018 Nicolas ZABOURI + * Copyright (C) 2018 Frédéric France * * 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 @@ -51,6 +52,9 @@ $extrafields = new ExtraFields($db); // fetch optionals attributes and labels $extralabels=$extrafields->fetch_name_optionals_label($object->table_element); $search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search_'); +if (! is_array($search_array_options)) { + $search_array_options = array(); +} $search_ref=GETPOST("search_ref"); $search_type=GETPOST("search_type"); @@ -196,7 +200,7 @@ if($ret == -1) { $newcardbutton=''; if ($user->rights->resource->write) { - $newcardbutton=''.$langs->trans('MenuResourceAdd').''; + $newcardbutton=''.$langs->trans('MenuResourceAdd').''; $newcardbutton.= ''; $newcardbutton.= ''; } From 084516b885d9066517e0bc56b6f7aaf722ca9ede Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2018 15:11:57 +0100 Subject: [PATCH 146/199] Fix ip detection of geoip --- htdocs/admin/geoipmaxmind.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/htdocs/admin/geoipmaxmind.php b/htdocs/admin/geoipmaxmind.php index 9c944324527..29819cd4034 100644 --- a/htdocs/admin/geoipmaxmind.php +++ b/htdocs/admin/geoipmaxmind.php @@ -24,6 +24,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/dolgeoip.class.php'; // Security check @@ -150,6 +151,25 @@ if ($geoip) if ($result) print $result; else print $langs->trans("Error"); */ + //var_dump($_SERVER); + $ip = $_SERVER['REMOTE_ADDR']?$_SERVER['REMOTE_ADDR']:(($_SERVER['HTTP_X_FORWARDED_FOR']?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['HTTP_CLIENT_IP'])); + //$ip='91.161.249.43'; + $isip=is_ip($ip); + if ($isip == 1) + { + print '
'.$ip.' -> '; + $result=dol_print_ip($ip,1); + if ($result) print $result; + else print $langs->trans("Error"); + } + elseif ($isip == 2) + { + print '
'.$ip.' -> '; + $result=dol_print_ip($ip,1); + if ($result) print $result; + else print $langs->trans("NotAPublicIp"); + } + $geoip->close(); } From b6dac7da20d6394a25f44c16666fa8aefe67b0a9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2018 15:40:15 +0100 Subject: [PATCH 147/199] FIX Remote ip detection was wrong with proxy (example: cloudflare) --- htdocs/admin/geoipmaxmind.php | 4 +- htdocs/core/class/events.class.php | 5 +- htdocs/core/lib/functions.lib.php | 264 ++++++++++++++++++++++++++++- 3 files changed, 267 insertions(+), 6 deletions(-) diff --git a/htdocs/admin/geoipmaxmind.php b/htdocs/admin/geoipmaxmind.php index 9b755d9bf57..47c51069299 100644 --- a/htdocs/admin/geoipmaxmind.php +++ b/htdocs/admin/geoipmaxmind.php @@ -152,7 +152,7 @@ if ($geoip) else print $langs->trans("Error"); */ //var_dump($_SERVER); - $ip = $_SERVER['REMOTE_ADDR']?$_SERVER['REMOTE_ADDR']:(($_SERVER['HTTP_X_FORWARDED_FOR']?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['HTTP_CLIENT_IP'])); + $ip = getUserRemoteIP(); //$ip='91.161.249.43'; $isip=is_ip($ip); if ($isip == 1) @@ -162,7 +162,7 @@ if ($geoip) if ($result) print $result; else print $langs->trans("Error"); } - elseif ($isip == 2) + else { print '
'.$ip.' -> '; $result=dol_print_ip($ip,1); diff --git a/htdocs/core/class/events.class.php b/htdocs/core/class/events.class.php index c4b726b19d1..78439af1134 100644 --- a/htdocs/core/class/events.class.php +++ b/htdocs/core/class/events.class.php @@ -137,6 +137,7 @@ class Events // extends CommonObject // Clean parameters $this->description=trim($this->description); + if (empty($this->user_agent) && !empty($_SERVER['HTTP_USER_AGENT'])) $this->user_agent=$_SERVER['HTTP_USER_AGENT']; // Check parameters if (empty($this->description)) { $this->error='ErrorBadValueForParameterCreateEventDesc'; return -1; } @@ -153,8 +154,8 @@ class Events // extends CommonObject $sql.= ") VALUES ("; $sql.= " '".$this->db->escape($this->type)."',"; $sql.= " ".$conf->entity.","; - $sql.= " '".$this->db->escape($_SERVER['REMOTE_ADDR'])."',"; - $sql.= " ".($_SERVER['HTTP_USER_AGENT']?"'".$this->db->escape(dol_trunc($_SERVER['HTTP_USER_AGENT'],250))."'":'NULL').","; + $sql.= " '".$this->db->escape(getUserRemoteIP())."',"; + $sql.= " ".($this->user_agent ? "'".$this->db->escape(dol_trunc($this->user_agent,250))."'" : 'NULL').","; $sql.= " '".$this->db->idate($this->dateevent)."',"; $sql.= " ".($user->id?"'".$this->db->escape($user->id)."'":'NULL').","; $sql.= " '".$this->db->escape(dol_trunc($this->description,250))."'"; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 947b3800d60..48f6242bf66 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2665,6 +2665,20 @@ function dol_print_ip($ip,$mode=0) return $ret; } +/** + * Return the IP of remote user. + * Take HTTP_X_FORWARDED_FOR (defined when using proxy) + * Then HTTP_CLIENT_IP if defined (rare) + * Then REMOTE_ADDR (not way to be modified by user but may be wrong if using proxy) + * + * @return string Ip of remote user. + */ +function getUserRemoteIP() +{ + $ip = $_SERVER['HTTP_X_FORWARDED_FOR']?$_SERVER['HTTP_X_FORWARDED_FOR']:(($_SERVER['HTTP_CLIENT_IP']?$_SERVER['HTTP_CLIENT_IP']:$_SERVER['REMOTE_ADDR'])); + return $ip; +} + /** * Return a country code from IP. Empty string if not found. * @@ -2708,7 +2722,7 @@ function dol_user_country() $ret=''; if (! empty($conf->geoipmaxmind->enabled)) { - $ip=$_SERVER["REMOTE_ADDR"]; + $ip=getUserRemoteIP(); $datafile=$conf->global->GEOIPMAXMIND_COUNTRY_DATAFILE; //$ip='24.24.24.24'; //$datafile='E:\Mes Sites\Web\Admin1\awstats\maxmind\GeoIP.dat'; @@ -5783,7 +5797,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob '__USER_FIRSTNAME__' => (string) $user->firstname, '__USER_FULLNAME__' => (string) $user->getFullName($outputlangs), '__USER_SUPERVISOR_ID__' => (string) ($user->fk_user ? $user->fk_user : '0'), - '__USER_REMOTE_IP__' => (string) $_SERVER['REMOTE_ADDR'] + '__USER_REMOTE_IP__' => (string) getUserRemoteIP() ) ); } @@ -6770,6 +6784,252 @@ function picto_from_langcode($codelang, $moreatt = '') return img_picto_common($codelang, 'flags/'.strtolower($flagImage).'.png', $moreatt); } +/** + * Return default language from country code + * + * @param string $countrycode Country code like 'US', 'FR', 'CA', ... + * @return string Value of locale like 'en_US', 'fr_FR', ... + */ +function getLanguageCodeFromCountryCode($countrycode) +{ + $countrycodetolanguage = array( + 'SA' => 'ar_AR', + 'DK' => 'da_DA', + 'CA' => 'en_CA', + 'SE' => 'sv_SV' + ); + if (! empty($countrycodetolanguage[$countrycode])) return $countrycodetolanguage[$countrycode]; + + // Locale list taken from: + // http://stackoverflow.com/questions/3191664/ + // list-of-all-locales-and-their-short-codes + $locales = array( + 'af-ZA', + 'am-ET', + 'ar-AE', + 'ar-BH', + 'ar-DZ', + 'ar-EG', + 'ar-IQ', + 'ar-JO', + 'ar-KW', + 'ar-LB', + 'ar-LY', + 'ar-MA', + 'arn-CL', + 'ar-OM', + 'ar-QA', + 'ar-SA', + 'ar-SY', + 'ar-TN', + 'ar-YE', + 'as-IN', + 'az-Cyrl-AZ', + 'az-Latn-AZ', + 'ba-RU', + 'be-BY', + 'bg-BG', + 'bn-BD', + 'bn-IN', + 'bo-CN', + 'br-FR', + 'bs-Cyrl-BA', + 'bs-Latn-BA', + 'ca-ES', + 'co-FR', + 'cs-CZ', + 'cy-GB', + 'da-DK', + 'de-AT', + 'de-CH', + 'de-DE', + 'de-LI', + 'de-LU', + 'dsb-DE', + 'dv-MV', + 'el-GR', + 'en-029', + 'en-AU', + 'en-BZ', + 'en-CA', + 'en-GB', + 'en-IE', + 'en-IN', + 'en-JM', + 'en-MY', + 'en-NZ', + 'en-PH', + 'en-SG', + 'en-TT', + 'en-US', + 'en-ZA', + 'en-ZW', + 'es-AR', + 'es-BO', + 'es-CL', + 'es-CO', + 'es-CR', + 'es-DO', + 'es-EC', + 'es-ES', + 'es-GT', + 'es-HN', + 'es-MX', + 'es-NI', + 'es-PA', + 'es-PE', + 'es-PR', + 'es-PY', + 'es-SV', + 'es-US', + 'es-UY', + 'es-VE', + 'et-EE', + 'eu-ES', + 'fa-IR', + 'fi-FI', + 'fil-PH', + 'fo-FO', + 'fr-BE', + 'fr-CA', + 'fr-CH', + 'fr-FR', + 'fr-LU', + 'fr-MC', + 'fy-NL', + 'ga-IE', + 'gd-GB', + 'gl-ES', + 'gsw-FR', + 'gu-IN', + 'ha-Latn-NG', + 'he-IL', + 'hi-IN', + 'hr-BA', + 'hr-HR', + 'hsb-DE', + 'hu-HU', + 'hy-AM', + 'id-ID', + 'ig-NG', + 'ii-CN', + 'is-IS', + 'it-CH', + 'it-IT', + 'iu-Cans-CA', + 'iu-Latn-CA', + 'ja-JP', + 'ka-GE', + 'kk-KZ', + 'kl-GL', + 'km-KH', + 'kn-IN', + 'kok-IN', + 'ko-KR', + 'ky-KG', + 'lb-LU', + 'lo-LA', + 'lt-LT', + 'lv-LV', + 'mi-NZ', + 'mk-MK', + 'ml-IN', + 'mn-MN', + 'mn-Mong-CN', + 'moh-CA', + 'mr-IN', + 'ms-BN', + 'ms-MY', + 'mt-MT', + 'nb-NO', + 'ne-NP', + 'nl-BE', + 'nl-NL', + 'nn-NO', + 'nso-ZA', + 'oc-FR', + 'or-IN', + 'pa-IN', + 'pl-PL', + 'prs-AF', + 'ps-AF', + 'pt-BR', + 'pt-PT', + 'qut-GT', + 'quz-BO', + 'quz-EC', + 'quz-PE', + 'rm-CH', + 'ro-RO', + 'ru-RU', + 'rw-RW', + 'sah-RU', + 'sa-IN', + 'se-FI', + 'se-NO', + 'se-SE', + 'si-LK', + 'sk-SK', + 'sl-SI', + 'sma-NO', + 'sma-SE', + 'smj-NO', + 'smj-SE', + 'smn-FI', + 'sms-FI', + 'sq-AL', + 'sr-Cyrl-BA', + 'sr-Cyrl-CS', + 'sr-Cyrl-ME', + 'sr-Cyrl-RS', + 'sr-Latn-BA', + 'sr-Latn-CS', + 'sr-Latn-ME', + 'sr-Latn-RS', + 'sv-FI', + 'sv-SE', + 'sw-KE', + 'syr-SY', + 'ta-IN', + 'te-IN', + 'tg-Cyrl-TJ', + 'th-TH', + 'tk-TM', + 'tn-ZA', + 'tr-TR', + 'tt-RU', + 'tzm-Latn-DZ', + 'ug-CN', + 'uk-UA', + 'ur-PK', + 'uz-Cyrl-UZ', + 'uz-Latn-UZ', + 'vi-VN', + 'wo-SN', + 'xh-ZA', + 'yo-NG', + 'zh-CN', + 'zh-HK', + 'zh-MO', + 'zh-SG', + 'zh-TW', + 'zu-ZA', + ); + + foreach ($locales as $locale) + { + $locale_region = locale_get_region($locale); + $locale_language = locale_get_primary_language($locale); + $locale_array = array('language' => $locale_language, 'region' => $locale_region); + if (strtoupper($countrycode) == $locale_region) + { + return locale_compose($locale_array); + } + } + + return null; +} + /** * Complete or removed entries into a head array (used to build tabs). * For example, with value added by external modules. Such values are declared into $conf->modules_parts['tab']. From 5e9abe6aad89aa23c18e2399b36663007683678b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2018 16:28:36 +0100 Subject: [PATCH 148/199] Fix getLanguageCodeFromCountryCode --- htdocs/core/lib/functions.lib.php | 66 +++++++------------------------ test/phpunit/FunctionsLibTest.php | 53 ++++++++++++++++++++++++- 2 files changed, 67 insertions(+), 52 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 48f6242bf66..d9d79994b65 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -6792,13 +6792,15 @@ function picto_from_langcode($codelang, $moreatt = '') */ function getLanguageCodeFromCountryCode($countrycode) { - $countrycodetolanguage = array( - 'SA' => 'ar_AR', - 'DK' => 'da_DA', - 'CA' => 'en_CA', - 'SE' => 'sv_SV' - ); - if (! empty($countrycodetolanguage[$countrycode])) return $countrycodetolanguage[$countrycode]; + global $mysoc; + + if (strtoupper($countrycode) == 'MQ') return 'fr_CA'; + if (strtoupper($countrycode) == 'SE') return 'sv_SE'; // se_SE is Sami/Sweden, and we want in priority sv_SE for SE country + if (strtoupper($countrycode) == 'CH') + { + if ($mysoc->country_code == 'FR') return 'fr_CH'; + if ($mysoc->country_code == 'DE') return 'de_CH'; + } // Locale list taken from: // http://stackoverflow.com/questions/3191664/ @@ -6816,7 +6818,6 @@ function getLanguageCodeFromCountryCode($countrycode) 'ar-LB', 'ar-LY', 'ar-MA', - 'arn-CL', 'ar-OM', 'ar-QA', 'ar-SA', @@ -6824,8 +6825,6 @@ function getLanguageCodeFromCountryCode($countrycode) 'ar-TN', 'ar-YE', 'as-IN', - 'az-Cyrl-AZ', - 'az-Latn-AZ', 'ba-RU', 'be-BY', 'bg-BG', @@ -6833,8 +6832,6 @@ function getLanguageCodeFromCountryCode($countrycode) 'bn-IN', 'bo-CN', 'br-FR', - 'bs-Cyrl-BA', - 'bs-Latn-BA', 'ca-ES', 'co-FR', 'cs-CZ', @@ -6845,10 +6842,8 @@ function getLanguageCodeFromCountryCode($countrycode) 'de-DE', 'de-LI', 'de-LU', - 'dsb-DE', 'dv-MV', 'el-GR', - 'en-029', 'en-AU', 'en-BZ', 'en-CA', @@ -6888,7 +6883,6 @@ function getLanguageCodeFromCountryCode($countrycode) 'eu-ES', 'fa-IR', 'fi-FI', - 'fil-PH', 'fo-FO', 'fr-BE', 'fr-CA', @@ -6900,14 +6894,11 @@ function getLanguageCodeFromCountryCode($countrycode) 'ga-IE', 'gd-GB', 'gl-ES', - 'gsw-FR', 'gu-IN', - 'ha-Latn-NG', 'he-IL', 'hi-IN', 'hr-BA', 'hr-HR', - 'hsb-DE', 'hu-HU', 'hy-AM', 'id-ID', @@ -6916,15 +6907,12 @@ function getLanguageCodeFromCountryCode($countrycode) 'is-IS', 'it-CH', 'it-IT', - 'iu-Cans-CA', - 'iu-Latn-CA', 'ja-JP', 'ka-GE', 'kk-KZ', 'kl-GL', 'km-KH', 'kn-IN', - 'kok-IN', 'ko-KR', 'ky-KG', 'lb-LU', @@ -6935,8 +6923,6 @@ function getLanguageCodeFromCountryCode($countrycode) 'mk-MK', 'ml-IN', 'mn-MN', - 'mn-Mong-CN', - 'moh-CA', 'mr-IN', 'ms-BN', 'ms-MY', @@ -6946,24 +6932,17 @@ function getLanguageCodeFromCountryCode($countrycode) 'nl-BE', 'nl-NL', 'nn-NO', - 'nso-ZA', 'oc-FR', 'or-IN', 'pa-IN', 'pl-PL', - 'prs-AF', 'ps-AF', 'pt-BR', 'pt-PT', - 'qut-GT', - 'quz-BO', - 'quz-EC', - 'quz-PE', 'rm-CH', 'ro-RO', 'ru-RU', 'rw-RW', - 'sah-RU', 'sa-IN', 'se-FI', 'se-NO', @@ -6971,39 +6950,21 @@ function getLanguageCodeFromCountryCode($countrycode) 'si-LK', 'sk-SK', 'sl-SI', - 'sma-NO', - 'sma-SE', - 'smj-NO', - 'smj-SE', - 'smn-FI', - 'sms-FI', 'sq-AL', - 'sr-Cyrl-BA', - 'sr-Cyrl-CS', - 'sr-Cyrl-ME', - 'sr-Cyrl-RS', - 'sr-Latn-BA', - 'sr-Latn-CS', - 'sr-Latn-ME', - 'sr-Latn-RS', 'sv-FI', 'sv-SE', 'sw-KE', 'syr-SY', 'ta-IN', 'te-IN', - 'tg-Cyrl-TJ', 'th-TH', 'tk-TM', 'tn-ZA', 'tr-TR', 'tt-RU', - 'tzm-Latn-DZ', 'ug-CN', 'uk-UA', 'ur-PK', - 'uz-Cyrl-UZ', - 'uz-Latn-UZ', 'vi-VN', 'wo-SN', 'xh-ZA', @@ -7016,14 +6977,17 @@ function getLanguageCodeFromCountryCode($countrycode) 'zu-ZA', ); + $buildprimarykeytotest = strtolower($countrycode).'-'.strtoupper($countrycode); + if (in_array($buildprimarykeytotest, $locales)) return strtolower($countrycode).'_'.strtoupper($countrycode); + foreach ($locales as $locale) { - $locale_region = locale_get_region($locale); $locale_language = locale_get_primary_language($locale); - $locale_array = array('language' => $locale_language, 'region' => $locale_region); + $locale_region = locale_get_region($locale); if (strtoupper($countrycode) == $locale_region) { - return locale_compose($locale_array); + //var_dump($locale.'-'.$locale_language.'-'.$locale_region); + return strtolower($locale_language).'_'.strtoupper($locale_region); } } diff --git a/test/phpunit/FunctionsLibTest.php b/test/phpunit/FunctionsLibTest.php index daaa0dda2f5..b693290b9c4 100644 --- a/test/phpunit/FunctionsLibTest.php +++ b/test/phpunit/FunctionsLibTest.php @@ -48,7 +48,7 @@ if (! defined("NOLOGIN")) define("NOLOGIN",'1'); // If this page is * @backupStaticAttributes enabled * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased. */ -class FunctionsLibTest extends PHPUnit_Framework_TestCase +class FunctionsLibTest extends PHPUnit\Framework\TestCase { protected $savconf; protected $savuser; @@ -325,6 +325,57 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase } + /** + * testGetLanguageCodeFromCountryCode + * + * @return void + */ + public function testGetLanguageCodeFromCountryCode() + { + global $mysoc; + + $language = getLanguageCodeFromCountryCode('US'); + $this->assertEquals('en_US', $language, 'US'); + + $language = getLanguageCodeFromCountryCode('ES'); + $this->assertEquals('es_ES', $language, 'ES'); + + $language = getLanguageCodeFromCountryCode('CL'); + $this->assertEquals('es_CL', $language, 'CL'); + + $language = getLanguageCodeFromCountryCode('CA'); + $this->assertEquals('en_CA', $language, 'CA'); + + $language = getLanguageCodeFromCountryCode('MQ'); + $this->assertEquals('fr_CA', $language); + + $language = getLanguageCodeFromCountryCode('FR'); + $this->assertEquals('fr_FR', $language); + + $language = getLanguageCodeFromCountryCode('BE'); + $this->assertEquals('fr_BE', $language); + + $mysoc->country_code = 'FR'; + $language = getLanguageCodeFromCountryCode('CH'); + $this->assertEquals('fr_CH', $language); + + $mysoc->country_code = 'DE'; + $language = getLanguageCodeFromCountryCode('CH'); + $this->assertEquals('de_CH', $language); + + $language = getLanguageCodeFromCountryCode('DE'); + $this->assertEquals('de_DE', $language); + + $language = getLanguageCodeFromCountryCode('SA'); + $this->assertEquals('ar_SA', $language); + + $language = getLanguageCodeFromCountryCode('SE'); + $this->assertEquals('sv_SE', $language); + + $language = getLanguageCodeFromCountryCode('DK'); + $this->assertEquals('da_DK', $language); + } + /** * testDolTextIsHtml * From 463aff45407bf6905352709249fc6087b1a87513 Mon Sep 17 00:00:00 2001 From: andreubisquerra Date: Wed, 21 Nov 2018 16:54:40 +0100 Subject: [PATCH 149/199] Cash drawer button --- htdocs/takepos/takepos.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 8dec143bffe..c84f283d9f2 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -36,7 +36,7 @@ $place = GETPOST('place','int'); if ($place=="") $place="0"; $action = GETPOST('action','alpha'); -$langs->loadLangs(array("bills","orders","commercial","cashdesk")); +$langs->loadLangs(array("bills","orders","commercial","cashdesk","receiptprinter")); /* @@ -292,6 +292,14 @@ function TakeposPrintingOrder(){ }); } +function OpenDrawer(){ + $.ajax({ + type: "POST", + url: 'http://global->TAKEPOS_PRINT_SERVER;?>:8111/print', + data: "opendrawer" + }); +} + $( document ).ready(function() { PrintCategories(0); LoadProducts(0); @@ -347,6 +355,10 @@ if($conf->global->TAKEPOS_BAR_RESTAURANT){ 'action'=>'TakeposPrintingOrder();'); } } +if ($conf->global->TAKEBOX){ + $menus[$r++]=array('title'=>$langs->trans("DOL_OPEN_DRAWER"), + 'action'=>'OpenDrawer();'); +} ?>
Date: Wed, 21 Nov 2018 19:50:55 +0100 Subject: [PATCH 150/199] Fix sql don.class.php --- htdocs/don/class/don.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 5e035febd14..b6604133c31 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -653,7 +653,7 @@ class Don extends CommonObject } else if (! empty($ref)) { - $sql.= " AND ref='".$this->db->escape($ref)."'"; + $sql.= " AND d.ref='".$this->db->escape($ref)."'"; } dol_syslog(get_class($this)."::fetch", LOG_DEBUG); From 491270b27f9c128f699f7865ef8bc82fa1afb7eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 21 Nov 2018 23:06:52 +0100 Subject: [PATCH 151/199] try to fix the expensereport pdf --- .../doc/pdf_standard.modules.php | 385 ++++++++++-------- 1 file changed, 204 insertions(+), 181 deletions(-) diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index ec03a2cef8e..7e7d58047b9 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -1,7 +1,8 @@ - * Copyright (C) 2015 Alexandre Spangaro - * Copyright (C) 2016-2018 Philippe Grand +/* Copyright (C) 2015 Laurent Destailleur + * Copyright (C) 2015 Alexandre Spangaro + * Copyright (C) 2016-2018 Philippe Grand + * Copyright (C) 2018 Frédéric France * * 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 @@ -150,7 +151,7 @@ class pdf_standard extends ModeleExpenseReport $this->option_freetext = 1; // Support add of a personalised text $this->option_draft_watermark = 1; // Support add of a watermark on drafts - $this->franchise=!$mysoc->tva_assuj; + $this->franchise = !$mysoc->tva_assuj; // Get source company $this->emetteur=$mysoc; @@ -159,19 +160,19 @@ class pdf_standard extends ModeleExpenseReport // Define position of columns $this->posxpiece=$this->marge_gauche+1; $this->posxcomment=$this->marge_gauche+10; - $this->posxdate=88; - $this->posxtype=107; - $this->posxprojet=120; - $this->posxtva=138; - $this->posxup=154; + //$this->posxdate=88; + //$this->posxtype=107; + //$this->posxprojet=120; + $this->posxtva=130; + $this->posxup=145; $this->posxqty=168; $this->postotalttc=178; - if (empty($conf->projet->enabled)) { - $this->posxtva-=20; - $this->posxup-=20; - $this->posxqty-=20; - $this->postotalttc-=20; - } + // if (empty($conf->projet->enabled)) { + // $this->posxtva-=20; + // $this->posxup-=20; + // $this->posxqty-=20; + // $this->postotalttc-=20; + // } if ($this->page_largeur < 210) // To work with US executive format { $this->posxdate-=20; @@ -202,10 +203,10 @@ class pdf_standard extends ModeleExpenseReport * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable - global $user,$langs,$conf,$mysoc,$db,$hookmanager; + global $user, $langs, $conf, $mysoc, $db, $hookmanager; if (! is_object($outputlangs)) $outputlangs=$langs; // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO @@ -216,11 +217,9 @@ class pdf_standard extends ModeleExpenseReport $nblignes = count($object->lines); - if ($conf->expensereport->dir_output) - { + if ($conf->expensereport->dir_output) { // Definition of $dir and $file - if ($object->specimen) - { + if ($object->specimen) { $dir = $conf->expensereport->dir_output; $file = $dir . "/SPECIMEN.pdf"; } @@ -258,7 +257,7 @@ class pdf_standard extends ModeleExpenseReport $default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance $heightforinfotot = 40; // Height reserved to output the info and total part $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page - $heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin) + $heightforfooter = $this->marge_basse + 12; // Height reserved to output the footer (value include bottom margin) $pdf->SetAutoPageBreak(1,0); if (class_exists('TCPDF')) @@ -344,82 +343,47 @@ class pdf_standard extends ModeleExpenseReport $nexY = $tab_top + 7; // Loop on each lines - for ($i = 0 ; $i < $nblignes ; $i++) - { - $piece_comptable = $i +1; - + for ($i = 0 ; $i < $nblignes ; $i++) { $pdf->SetFont('','', $default_font_size - 2); // Into loop to work with multipage $pdf->SetTextColor(0,0,0); $pdf->setTopMargin($tab_top_newpage); $pdf->setPageOrientation('', 1, $heightforfooter+$heightforfreetext+$heightforinfotot); // The only function to edit the bottom margin of current page to set it. - $pageposbefore=$pdf->getPage(); + $pageposbefore = $pdf->getPage(); $curY = $nexY; - - $pdf->SetFont('','', $default_font_size - 1); - - // Accountancy piece - $pdf->SetXY($this->posxpiece, $curY); - $pdf->writeHTMLCell($this->posxcomment-$this->posxpiece-0.8, 4, $this->posxpiece-1, $curY, $piece_comptable, 0, 1); - $curY = ($pdf->PageNo() > $pageposbefore) ? $pdf->GetY()-4 : $curY; - - // Comments - $pdf->SetXY($this->posxcomment, $curY ); - $pdf->writeHTMLCell($this->posxdate-$this->posxcomment-0.8, 4, $this->posxcomment-1, $curY, $object->lines[$i]->comments, 0, 1); - $curY = ($pdf->PageNo() > $pageposbefore) ? $pdf->GetY()-4 : $curY; - - // Date - $pdf->SetXY($this->posxdate -1, $curY); - $pdf->MultiCell($this->posxtype-$this->posxdate-0.8, 4, dol_print_date($object->lines[$i]->date,"day",false,$outputlangs), 0, 'C'); - - // Type - $pdf->SetXY($this->posxtype -1, $curY); - $nextColumnPosX = $this->posxup; - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { - $nextColumnPosX = $this->posxtva; - } - if (!empty($conf->projet->enabled)) { - $nextColumnPosX = $this->posxprojet; - } - - $expensereporttypecode = $object->lines[$i]->type_fees_code; - $expensereporttypecodetoshow = $outputlangs->transnoentities($expensereporttypecode); - if ($expensereporttypecodetoshow == $expensereporttypecode) - { - $expensereporttypecodetoshow = preg_replace('/^(EX_|TF_)/', '', $expensereporttypecodetoshow); - } - $expensereporttypecodetoshow = dol_trunc($expensereporttypecodetoshow, 9); // 10 is too much - - $pdf->MultiCell($nextColumnPosX-$this->posxtype-0.8, 4, $expensereporttypecodetoshow, 0, 'C'); - - // Project - if (! empty($conf->projet->enabled)) + $pdf->startTransaction(); + $this->printLine($pdf, $object, $i, $curY, $default_font_size, $outputlangs); + $pageposafter=$pdf->getPage(); + if ($pageposafter > $pageposbefore) { + // There is a pagebreak + $pdf->rollbackTransaction(true); + $pageposafter = $pageposbefore; + //print $pageposafter.'-'.$pageposbefore;exit; + $pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it. + $this->printLine($pdf, $object, $i, $curY, $default_font_size, $outputlangs); + $pageposafter = $pdf->getPage(); + $posyafter = $pdf->GetY(); + //var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit; + if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) { + // There is no space left for total+free text + if ($i == ($nblignes-1)) { + // No more lines, and no space left to show total, so we create a new page + $pdf->AddPage('', '', true); + if (! empty($tplidx)) $pdf->useTemplate($tplidx); + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + $pdf->setPage($pageposafter+1); + } + } + else + { + // We found a page break + $showpricebeforepagebreak=0; + } + } + else // No pagebreak { - $pdf->SetFont('','', $default_font_size - 1); - $pdf->SetXY($this->posxprojet, $curY); - $pdf->MultiCell($this->posxtva-$this->posxprojet-0.8, 4, $object->lines[$i]->projet_ref, 0, 'C'); - } - - // VAT Rate - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) - { - $vat_rate = pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails); - $pdf->SetXY($this->posxtva, $curY); - $pdf->MultiCell($this->posxup-$this->posxtva-0.8, 4,$vat_rate, 0, 'C'); - } - - // Unit price - $pdf->SetXY($this->posxup, $curY); - $pdf->MultiCell($this->posxqty-$this->posxup-0.8, 4,price($object->lines[$i]->value_unit), 0, 'R'); - - // Quantity - $pdf->SetXY($this->posxqty, $curY); - $pdf->MultiCell($this->postotalttc-$this->posxqty-0.8, 4,$object->lines[$i]->qty, 0, 'R'); - - // Total with all taxes - $pdf->SetXY($this->postotalttc-1, $curY); - $pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->postotalttc, 4, price($object->lines[$i]->total_ttc), 0, 'R'); - + $pdf->commitTransaction(); + } //nexY $nexY = $pdf->GetY(); $pageposafter=$pdf->getPage(); @@ -427,22 +391,23 @@ class pdf_standard extends ModeleExpenseReport $pdf->setTopMargin($this->marge_haute); $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. - $nblineFollowComment = 1; + //$nblineFollowComment = 1; // Cherche nombre de lignes a venir pour savoir si place suffisante - if ($i < ($nblignes - 1)) // If it's not last line - { - //Fetch current description to know on which line the next one should be placed - $follow_comment = $object->lines[$i]->comments; - $follow_type = $object->lines[$i]->type_fees_code; + // if ($i < ($nblignes - 1)) // If it's not last line + // { + // //Fetch current description to know on which line the next one should be placed + // $follow_comment = $object->lines[$i]->comments; + // $follow_type = $object->lines[$i]->type_fees_code; - //on compte le nombre de ligne afin de verifier la place disponible (largeur de ligne 52 caracteres) - $nbLineCommentNeed = dol_nboflines_bis($follow_comment,52,$outputlangs->charset_output); - $nbLineTypeNeed = dol_nboflines_bis($follow_type,4,$outputlangs->charset_output); + // //on compte le nombre de ligne afin de verifier la place disponible (largeur de ligne 52 caracteres) + // $nbLineCommentNeed = dol_nboflines_bis($follow_comment,52,$outputlangs->charset_output); + // $nbLineTypeNeed = dol_nboflines_bis($follow_type,4,$outputlangs->charset_output); - $nblineFollowComment = max($nbLineCommentNeed, $nbLineTypeNeed); - } + // $nblineFollowComment = max($nbLineCommentNeed, $nbLineTypeNeed); + // } - $nexY+=$nblineFollowComment*($pdf->getFontSize()*1.3); // Passe espace entre les lignes + //$nexY+=$nblineFollowComment*($pdf->getFontSize()*1.3); // Passe espace entre les lignes + $nexY += ($pdf->getFontSize()*1.3); // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages while ($pagenb < $pageposafter) @@ -524,7 +489,7 @@ class pdf_standard extends ModeleExpenseReport // Pied de page $this->_pagefoot($pdf,$object,$outputlangs); - if (method_exists($pdf,'AliasNbPages')) $pdf->AliasNbPages(); + if (method_exists($pdf,'AliasNbPages')) $pdf->AliasNbPage(); $pdf->Close(); @@ -556,7 +521,86 @@ class pdf_standard extends ModeleExpenseReport } } - /** + /** + * @param PDF $pdf Object PDF + * @param Object $object Object to show + * @param int $linenumber line number + * @param int $curY current y position + * @param int $default_font_size default siez of font + * @param Translate $outputlangs Object lang for output + * @return void + */ + private function printLine(&$pdf, $object, $linenumber, $curY, $default_font_size, $outputlangs) + { + global $conf; + $pdf->SetFont('','', $default_font_size - 1); + + // Accountancy piece + $pdf->SetXY($this->posxpiece, $curY); + $pdf->writeHTMLCell($this->posxcomment-$this->posxpiece-0.8, 4, $this->posxpiece-1, $curY, $linenumber + 1, 0, 1); + + // Date + //$pdf->SetXY($this->posxdate -1, $curY); + //$pdf->MultiCell($this->posxtype-$this->posxdate-0.8, 4, dol_print_date($object->lines[$linenumber]->date,"day",false,$outputlangs), 0, 'C'); + + // Type + $pdf->SetXY($this->posxtype -1, $curY); + $nextColumnPosX = $this->posxup; + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { + $nextColumnPosX = $this->posxtva; + } + if (!empty($conf->projet->enabled)) { + $nextColumnPosX = $this->posxprojet; + } + + $expensereporttypecode = $object->lines[$linenumber]->type_fees_code; + $expensereporttypecodetoshow = $outputlangs->trans($expensereporttypecode); + if ($expensereporttypecodetoshow == $expensereporttypecode) { + $expensereporttypecodetoshow = preg_replace('/^(EX_|TF_)/', '', $expensereporttypecodetoshow); + } + //$expensereporttypecodetoshow = dol_trunc($expensereporttypecodetoshow, 9); + + //$pdf->MultiCell($nextColumnPosX-$this->posxtype-0.8, 4, $expensereporttypecodetoshow, 0, 'C'); + + // Project + //if (! empty($conf->projet->enabled)) + //{ + // $pdf->SetFont('','', $default_font_size - 1); + // $pdf->SetXY($this->posxprojet, $curY); + // $pdf->MultiCell($this->posxtva-$this->posxprojet-0.8, 4, $object->lines[$linenumber]->projet_ref, 0, 'C'); + //} + + // VAT Rate + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { + $vat_rate = pdf_getlinevatrate($object, $linenumber, $outputlangs, $hidedetails); + $pdf->SetXY($this->posxtva, $curY); + $pdf->MultiCell($this->posxup-$this->posxtva-0.8, 4,$vat_rate, 0, 'R'); + } + + // Unit price + $pdf->SetXY($this->posxup, $curY); + $pdf->MultiCell($this->posxqty-$this->posxup-0.8, 4,price($object->lines[$linenumber]->value_unit), 0, 'R'); + + // Quantity + $pdf->SetXY($this->posxqty, $curY); + $pdf->MultiCell($this->postotalttc-$this->posxqty-0.8, 4,$object->lines[$linenumber]->qty, 0, 'R'); + + // Total with all taxes + $pdf->SetXY($this->postotalttc-1, $curY); + $pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->postotalttc, 4, price($object->lines[$linenumber]->total_ttc), 0, 'R'); + + // Comments + $pdf->SetXY($this->posxcomment, $curY ); + $comment = $outputlangs->trans("Date").':'. dol_print_date($object->lines[$linenumber]->date,"day",false,$outputlangs).' '; + $comment .= $outputlangs->trans("Type").':'. $expensereporttypecodetoshow.'
'; + if (! empty($object->lines[$linenumber]->projet_ref)) { + $comment .= $outputlangs->trans("Project").':'. $object->lines[$linenumber]->projet_ref.'
'; + } + $comment .= $object->lines[$linenumber]->comments; + $pdf->writeHTMLCell($this->posxtva-$this->posxcomment-0.8, 4, $this->posxcomment-1, $curY, $comment, 0, 1); + } + + /** * Show top header of page. * * @param PDF $pdf Object PDF @@ -583,13 +627,12 @@ class pdf_standard extends ModeleExpenseReport */ // Draft watermark - if ($object->fk_statut == 0 && ! empty($conf->global->EXPENSEREPORT_DRAFT_WATERMARK)) - { + if ($object->fk_statut == 0 && ! empty($conf->global->EXPENSEREPORT_DRAFT_WATERMARK)) { pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->EXPENSEREPORT_DRAFT_WATERMARK); } - $pdf->SetTextColor(0,0,60); - $pdf->SetFont('','B', $default_font_size + 3); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFont('', 'B', $default_font_size + 3); $posy=$this->marge_haute; $posx=$this->page_largeur-$this->marge_droite-100; @@ -597,16 +640,12 @@ class pdf_standard extends ModeleExpenseReport $pdf->SetXY($this->marge_gauche,$posy); // Logo - $logo=$conf->mycompany->dir_output.'/logos/'.$this->emetteur->logo; - if ($this->emetteur->logo) - { - if (is_readable($logo)) - { + $logo = $conf->mycompany->dir_output.'/logos/'.$this->emetteur->logo; + if ($this->emetteur->logo) { + if (is_readable($logo)) { $height=pdf_getHeightForLogo($logo); $pdf->Image($logo, $this->marge_gauche, $posy, 0, $height); // width=0 (auto) - } - else - { + } else { $pdf->SetTextColor(200,0,0); $pdf->SetFont('','B', $default_font_size -2); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L'); @@ -651,8 +690,7 @@ class pdf_standard extends ModeleExpenseReport $pdf->SetTextColor(111,81,124); $pdf->MultiCell($this->page_largeur-$this->marge_droite-$posx, 3, $object->getLibStatut(0), '', 'R'); - if ($showaddress) - { + if ($showaddress) { // Sender properties $carac_emetteur = ''; $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->convToOutputCharset($this->emetteur->address); @@ -674,14 +712,14 @@ class pdf_standard extends ModeleExpenseReport if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=118; // Show sender frame - $pdf->SetTextColor(0,0,0); + $pdf->SetTextColor(0, 0, 0); $pdf->SetFont('','B', $default_font_size - 2); $pdf->SetXY($posx,$posy-5); $pdf->MultiCell(66,5, $outputlangs->transnoentities("TripSociete")." :",'','L'); $pdf->SetXY($posx,$posy); $pdf->SetFillColor(224,224,224); $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0,0,60); + $pdf->SetTextColor(0, 0, 60); // Show sender name $pdf->SetXY($posx+2,$posy+3); @@ -690,7 +728,7 @@ class pdf_standard extends ModeleExpenseReport // Show sender information $pdf->SetXY($posx+2,$posy+8); - $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetFont('', '', $default_font_size - 1); $pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L'); // Show recipient @@ -698,15 +736,14 @@ class pdf_standard extends ModeleExpenseReport $posx=100; // Show recipient frame - $pdf->SetTextColor(0,0,0); - $pdf->SetFont('','B',8); + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', 'B', 8); $pdf->SetXY($posx,$posy-5); - $pdf->MultiCell(80,5, $outputlangs->transnoentities("TripNDF")." :", 0, 'L'); + $pdf->MultiCell(80, 5, $outputlangs->transnoentities("TripNDF")." :", 0, 'L'); $pdf->rect($posx, $posy, $this->page_largeur - $this->marge_gauche - $posx, $hautcadre); // Informations for trip (dates and users workflow) - if ($object->fk_user_author > 0) - { + if ($object->fk_user_author > 0) { $userfee=new User($this->db); $userfee->fetch($object->fk_user_author); $posy+=3; $pdf->SetXY($posx+2,$posy); @@ -719,8 +756,7 @@ class pdf_standard extends ModeleExpenseReport if ($object->fk_statut==99) { - if ($object->fk_user_refuse > 0) - { + if ($object->fk_user_refuse > 0) { $userfee=new User($this->db); $userfee->fetch($object->fk_user_refuse); $posy+=6; $pdf->SetXY($posx+2,$posy); @@ -735,8 +771,7 @@ class pdf_standard extends ModeleExpenseReport } else if($object->fk_statut==4) { - if ($object->fk_user_cancel > 0) - { + if ($object->fk_user_cancel > 0) { $userfee=new User($this->db); $userfee->fetch($object->fk_user_cancel); $posy+=6; $pdf->SetXY($posx+2,$posy); @@ -751,8 +786,7 @@ class pdf_standard extends ModeleExpenseReport } else { - if ($object->fk_user_approve > 0) - { + if ($object->fk_user_approve > 0) { $userfee=new User($this->db); $userfee->fetch($object->fk_user_approve); $posy+=6; $pdf->SetXY($posx+2,$posy); @@ -763,10 +797,8 @@ class pdf_standard extends ModeleExpenseReport } } - if($object->fk_statut==6) - { - if ($object->fk_user_paid > 0) - { + if($object->fk_statut==6) { + if ($object->fk_user_paid > 0) { $userfee=new User($this->db); $userfee->fetch($object->fk_user_paid); $posy+=6; $pdf->SetXY($posx+2,$posy); @@ -805,8 +837,8 @@ class pdf_standard extends ModeleExpenseReport // Amount in (at tab_top - 1) $pdf->SetTextColor(0,0,0); - $pdf->SetFont('','', $default_font_size - 2); - $titre = $outputlangs->transnoentities("AmountInCurrency",$outputlangs->transnoentitiesnoconv("Currency".$currency)); + $pdf->SetFont('', '', $default_font_size - 2); + $titre = $outputlangs->transnoentities("AmountInCurrency", $outputlangs->transnoentitiesnoconv("Currency".$currency)); $pdf->SetXY($this->page_largeur - $this->marge_droite - ($pdf->GetStringWidth($titre) + 4), $tab_top -4); $pdf->MultiCell(($pdf->GetStringWidth($titre) + 3), 2, $titre); @@ -815,61 +847,55 @@ class pdf_standard extends ModeleExpenseReport // Rect prend une longueur en 3eme param $pdf->Rect($this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height); // line prend une position y en 3eme param - if (empty($hidetop)) - { + if (empty($hidetop)) { $pdf->line($this->marge_gauche, $tab_top+5, $this->page_largeur-$this->marge_droite, $tab_top+5); } $pdf->SetFont('','',8); // Accountancy piece - if (empty($hidetop)) - { + if (empty($hidetop)) { $pdf->SetXY($this->posxpiece-1, $tab_top+1); - $pdf->MultiCell($this->posxcomment-$this->posxpiece-1,1,'','','R'); + $pdf->MultiCell($this->posxcomment-$this->posxpiece-1, 1, '', '', 'R'); } // Comments $pdf->line($this->posxcomment-1, $tab_top, $this->posxcomment-1, $tab_top + $tab_height); - if (empty($hidetop)) - { + if (empty($hidetop)) { $pdf->SetXY($this->posxcomment-1, $tab_top+1); - $pdf->MultiCell($this->posxdate-$this->posxcomment-1,1,$outputlangs->transnoentities("Description"),'','L'); + $pdf->MultiCell($this->posxdate-$this->posxcomment-1, 1, $outputlangs->transnoentities("Description"),'','L'); } // Date - $pdf->line($this->posxdate-1, $tab_top, $this->posxdate-1, $tab_top + $tab_height); - if (empty($hidetop)) - { - $pdf->SetXY($this->posxdate-1, $tab_top+1); - $pdf->MultiCell($this->posxtype-$this->posxdate-1,2, $outputlangs->transnoentities("Date"),'','C'); - } + //$pdf->line($this->posxdate-1, $tab_top, $this->posxdate-1, $tab_top + $tab_height); + //if (empty($hidetop)) + //{ + // $pdf->SetXY($this->posxdate-1, $tab_top+1); + // $pdf->MultiCell($this->posxtype-$this->posxdate-1,2, $outputlangs->transnoentities("Date"),'','C'); + //} // Type - $pdf->line($this->posxtype-1, $tab_top, $this->posxtype-1, $tab_top + $tab_height); - if (empty($hidetop)) - { - $pdf->SetXY($this->posxtype-1, $tab_top+1); - $pdf->MultiCell($this->posxprojet-$this->posxtype - 1, 2, $outputlangs->transnoentities("Type"), '', 'C'); - } + //$pdf->line($this->posxtype-1, $tab_top, $this->posxtype-1, $tab_top + $tab_height); + //if (empty($hidetop)) + //{ + // $pdf->SetXY($this->posxtype-1, $tab_top+1); + // $pdf->MultiCell($this->posxprojet-$this->posxtype - 1, 2, $outputlangs->transnoentities("Type"), '', 'C'); + //} - if (!empty($conf->projet->enabled)) - { - // Project - $pdf->line($this->posxprojet - 1, $tab_top, $this->posxprojet - 1, $tab_top + $tab_height); - if (empty($hidetop)) - { - $pdf->SetXY($this->posxprojet - 1, $tab_top + 1); - $pdf->MultiCell($this->posxtva - $this->posxprojet - 1, 2, $outputlangs->transnoentities("Project"), '', 'C'); - } - } + //if (!empty($conf->projet->enabled)) + //{ + // // Project + // $pdf->line($this->posxprojet - 1, $tab_top, $this->posxprojet - 1, $tab_top + $tab_height); + // if (empty($hidetop)) { + // $pdf->SetXY($this->posxprojet - 1, $tab_top + 1); + // $pdf->MultiCell($this->posxtva - $this->posxprojet - 1, 2, $outputlangs->transnoentities("Project"), '', 'C'); + // } + //} // VAT - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) - { + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { $pdf->line($this->posxtva-1, $tab_top, $this->posxtva-1, $tab_top + $tab_height); - if (empty($hidetop)) - { + if (empty($hidetop)) { $pdf->SetXY($this->posxtva-1, $tab_top+1); $pdf->MultiCell($this->posxup-$this->posxtva - 1, 2, $outputlangs->transnoentities("VAT"), '', 'C'); } @@ -877,24 +903,21 @@ class pdf_standard extends ModeleExpenseReport // Unit price $pdf->line($this->posxup-1, $tab_top, $this->posxup-1, $tab_top + $tab_height); - if (empty($hidetop)) - { + if (empty($hidetop)) { $pdf->SetXY($this->posxup-1, $tab_top+1); $pdf->MultiCell($this->posxqty-$this->posxup-1,2, $outputlangs->transnoentities("PriceU"),'','C'); } // Quantity $pdf->line($this->posxqty-1, $tab_top, $this->posxqty-1, $tab_top + $tab_height); - if (empty($hidetop)) - { + if (empty($hidetop)) { $pdf->SetXY($this->posxqty-1, $tab_top+1); $pdf->MultiCell($this->postotalttc-$this->posxqty - 1,2, $outputlangs->transnoentities("Qty"),'','R'); } // Total with all taxes $pdf->line($this->postotalttc, $tab_top, $this->postotalttc, $tab_top + $tab_height); - if (empty($hidetop)) - { + if (empty($hidetop)) { $pdf->SetXY($this->postotalttc-1, $tab_top+1); $pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->postotalttc, 2, $outputlangs->transnoentities("TotalTTC"),'','R'); } @@ -914,7 +937,7 @@ class pdf_standard extends ModeleExpenseReport function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) { global $conf; - $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; - return pdf_pagefoot($pdf,$outputlangs,'EXPENSEREPORT_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,$showdetails,$hidefreetext); + $showdetails = $conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; + return pdf_pagefoot($pdf, $outputlangs, 'EXPENSEREPORT_FREE_TEXT', $this->emetteur, $this->marge_basse, $this->marge_gauche, $this->page_hauteur, $object, $showdetails, $hidefreetext); } } From 21e9c02b11909a5c8db7ccaa09c4d88accc2fa16 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 10:40:15 +0100 Subject: [PATCH 152/199] Performance enhancement in Accounting Personalized report --- .../class/accountancycategory.class.php | 18 +++++++--- htdocs/compta/resultat/clientfourn.php | 2 +- htdocs/compta/resultat/result.php | 33 ++++++++++++------- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index e2a7b14033c..6c389f20239 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -713,27 +713,36 @@ class AccountancyCategory // extends CommonObject * Function to show result of an accounting account from the ledger with a direction and a period * * @param int $cpt Id accounting account - * @param string $month Specifig month - Can be empty * @param string $date_start Date start * @param string $date_end Date end * @param int $sens Sens of the account: 0: credit - debit, 1: debit - credit * @param string $thirdparty_code Thirdparty code + * @param string $month Specifig month - Can be empty + * @param string $year Specifig year - Can be empty * @return integer Result in table */ - public function getResult($cpt, $month, $date_start, $date_end, $sens, $thirdparty_code='nofilter') + public function getSumDebitCredit($cpt, $date_start, $date_end, $sens, $thirdparty_code='nofilter', $month=0, $year=0) { $sql = "SELECT SUM(t.debit) as debit, SUM(t.credit) as credit"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t"; - $sql .= " WHERE t.numero_compte = '" . $cpt."'"; + $sql .= " WHERE t.numero_compte = '" . $this->db->escape($cpt) . "'"; + /* if (! empty($date_start) && ! empty($date_end)) $sql.= " AND t.doc_date >= '".$this->db->idate($date_start)."' AND t.doc_date <= '".$this->db->idate($date_end)."'"; if (! empty($month)) { $sql .= " AND MONTH(t.doc_date) = " . $month; } + */ + if (! empty($date_start) && ! empty($date_end)) + $sql .= " AND t.doc_date BETWEEN '".$this->db->idate($date_start)."' AND '".$this->db->idate($date_end)."'"; + if (! empty($month) && ! empty($year)) { + $sql .= " AND t.doc_date BETWEEN '".$this->db->idate(dol_get_first_day($year, $month))."' AND '".$this->db->idate(dol_get_last_day($year, $month))."'"; + } if ($thirdparty_code != 'nofilter') { $sql .= " AND thirdparty_code = '".$this->db->escape($thirdparty_code)."'"; } + //print $sql; dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG); $resql = $this->db->query($sql); @@ -856,13 +865,12 @@ class AccountancyCategory // extends CommonObject if ($num) { while ($obj = $this->db->fetch_object($resql)) { - $name_cat = $obj->name_cat; $data[] = array ( 'id' => $obj->rowid, 'account_number' => $obj->account_number, 'account_label' => $obj->account_label, ); - $i ++; + $i++; } } return $data; diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index e08ebb17ed1..ee94b4ab5fc 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -303,7 +303,7 @@ if ($modecompta == 'BOOKKEEPING') foreach($cpts as $i => $cpt) { - $return = $AccCat->getResult($cpt['account_number'], 0, $date_start, $date_end, $cpt['dc']); + $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']); if ($return < 0) { setEventMessages(null, $AccCat->errors, 'errors'); $resultN=0; diff --git a/htdocs/compta/resultat/result.php b/htdocs/compta/resultat/result.php index c4a6e2ec755..3f53cfdc27c 100644 --- a/htdocs/compta/resultat/result.php +++ b/htdocs/compta/resultat/result.php @@ -78,7 +78,7 @@ if (empty($date_start) || empty($date_end)) // We define date_start and date_end { // We define date_start and date_end $year_end=$year_start + ($nbofyear - 1); - $month_start=GETPOST("month")?GETPOST("month"):($conf->global->SOCIETE_FISCAL_MONTH_START?($conf->global->SOCIETE_FISCAL_MONTH_START):1); + $month_start=GETPOST("month",'int')?GETPOST("month",'int'):($conf->global->SOCIETE_FISCAL_MONTH_START?($conf->global->SOCIETE_FISCAL_MONTH_START):1); $date_startmonth = $month_start; if (! GETPOST('month')) { @@ -108,8 +108,10 @@ if (($date_start < dol_time_plus_duree($date_end, -1, 'y')) || ($date_start > $d // $date_start and $date_end are defined. We force $start_year and $nbofyear $tmps=dol_getdate($date_start); $start_year = $tmps['year']; +$start_month = $tmps['mon']; $tmpe=dol_getdate($date_end); $year_end = $tmpe['year']; +$month_end = $tmpe['mon']; $nbofyear = ($year_end - $start_year) + 1; $date_start_previous = dol_time_plus_duree($date_start, -1, 'y'); @@ -374,7 +376,6 @@ elseif ($modecompta=="BOOKKEEPING") } } - print "\n"; //var_dump($sommes); @@ -390,7 +391,7 @@ elseif ($modecompta=="BOOKKEEPING") $totCat['M'][$k] = 0; } - // Set $cpts of with array of accounts in the category/group + // Set $cpts with array of accounts in the category/group $cpts = $AccCat->getCptsCat($cat['rowid']); print ""; @@ -428,13 +429,15 @@ elseif ($modecompta=="BOOKKEEPING") $code = $cat['code']; - // Set value into column NPrevious, N and each month M ($totCat) - // This make 14 calls for each detail of account (NP, N and month m) - foreach($cpts as $i => $cpt) + // Set value into column N-1, N and each month M ($totCat) + // This make 14 calls for each detail of account (N-1, N and 12 monthes m) + foreach($cpts as $i => $cpt) // Loop on each account. { - // N-1 - $return = $AccCat->getResult($cpt['account_number'], 0, $date_start_previous, $date_end_previous, $cpt['dc']); + // We make 1 loop for each account because we may want detail. + // @TODO Optimize mode when $showaccountdetail == 'no' + // N-1 + $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start_previous, $date_end_previous, $cpt['dc']); if ($return < 0) { setEventMessages(null, $AccCat->errors, 'errors'); $resultNP=0; @@ -442,8 +445,8 @@ elseif ($modecompta=="BOOKKEEPING") $resultNP=$AccCat->sdc; } - //N - $return = $AccCat->getResult($cpt['account_number'], 0, $date_start, $date_end, $cpt['dc']); + // N + $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']); if ($return < 0) { setEventMessages(null, $AccCat->errors, 'errors'); $resultN=0; @@ -458,9 +461,15 @@ elseif ($modecompta=="BOOKKEEPING") $totPerAccount[$cpt['account_number']]['NP'] = $resultNP; $totPerAccount[$cpt['account_number']]['N'] = $resultN; + // Each month foreach($months as $k => $v) { - $return = $AccCat->getResult($cpt['account_number'], $k+1, $date_start, $date_end, $cpt['dc']); + $monthtoprocess = $k+1; // ($k+1) is month 1, 2, ..., 12 + $yeartoprocess = $start_year; + if (($k+1) < $start_month) $yeartoprocess++; + + //var_dump($monthtoprocess.'_'.$yeartoprocess); + $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc'], 'nofilter', $monthtoprocess, $yeartoprocess); if ($return < 0) { setEventMessages(null, $AccCat->errors, 'errors'); $resultM=0; @@ -488,7 +497,7 @@ elseif ($modecompta=="BOOKKEEPING") print "\n"; // Loop on detail of all accounts - // This make 14 calls for each detail of account (NP, N and month m) + // This make 14 calls for each detail of account (N-1, N and 12 monthes m) if ($showaccountdetail != 'no') { foreach($cpts as $i => $cpt) From 89138bc349a2f3fe89132fb14fd21012fb43f306 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 10:59:39 +0100 Subject: [PATCH 153/199] FIX Accounting personalized report when using multicompany --- .../class/accountancycategory.class.php | 57 ++++++++++--------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 6c389f20239..b70341e21f7 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -163,16 +163,17 @@ class AccountancyCategory // extends CommonObject // Insert request $sql = "INSERT INTO ".MAIN_DB_PREFIX."c_accounting_category("; - if ($this->rowid > 0) $sql.= "rowid,"; - $sql.= "code,"; - $sql.= "label,"; - $sql.= "range_account,"; - $sql.= "sens,"; - $sql.= "category_type,"; - $sql.= "formula,"; - $sql.= "position,"; - $sql.= "fk_country,"; - $sql.= "active"; + if ($this->rowid > 0) $sql.= "rowid, "; + $sql.= "code, "; + $sql.= "label, "; + $sql.= "range_account, "; + $sql.= "sens, "; + $sql.= "category_type, "; + $sql.= "formula, "; + $sql.= "position, "; + $sql.= "fk_country, "; + $sql.= "active, "; + $sql.= "entity"; $sql.= ") VALUES ("; if ($this->rowid > 0) $sql.= " ".$this->rowid.","; $sql.= " ".(! isset($this->code)?'NULL':"'".$this->db->escape($this->code)."'").","; @@ -184,6 +185,7 @@ class AccountancyCategory // extends CommonObject $sql.= " ".(! isset($this->position)?'NULL':$this->db->escape($this->position)).","; $sql.= " ".(! isset($this->fk_country)?'NULL':$this->db->escape($this->fk_country)).","; $sql.= " ".(! isset($this->active)?'NULL':$this->db->escape($this->active)); + $sql.= ", ".$conf->entity; $sql.= ")"; $this->db->begin(); @@ -237,9 +239,8 @@ class AccountancyCategory // extends CommonObject * @param string $label Label * @return int <0 if KO, >0 if OK */ - function fetch($id,$code='',$label='') + function fetch($id, $code='', $label='') { - global $langs; $sql = "SELECT"; $sql.= " t.rowid,"; $sql.= " t.code,"; @@ -253,8 +254,12 @@ class AccountancyCategory // extends CommonObject $sql.= " t.active"; $sql.= " FROM ".MAIN_DB_PREFIX."c_accounting_category as t"; if ($id) $sql.= " WHERE t.rowid = ".$id; - elseif ($code) $sql.= " WHERE t.code = '".$this->db->escape($code)."'"; - elseif ($label) $sql.= " WHERE t.label = '".$this->db->escape($label)."'"; + else + { + $sql.= " WHERE t.entity IN (".getEntity('c_accounting_category').")"; // Dont't use entity if you use rowid + if ($code) $sql.= " AND t.code = '".$this->db->escape($code)."'"; + elseif ($label) $sql.= " AND t.label = '".$this->db->escape($label)."'"; + } dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $resql=$this->db->query($sql); @@ -480,7 +485,7 @@ class AccountancyCategory // extends CommonObject $sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version"; $sql .= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS; $sql .= " AND aa.active = 1"; - $sql .= " AND aa.entity = = " . $conf->entity . ")"; + $sql .= " AND aa.entity = " . $conf->entity . ")"; $sql .= " GROUP BY t.numero_compte, t.label_operation, t.doc_ref"; $sql .= " ORDER BY t.numero_compte"; @@ -723,25 +728,21 @@ class AccountancyCategory // extends CommonObject */ public function getSumDebitCredit($cpt, $date_start, $date_end, $sens, $thirdparty_code='nofilter', $month=0, $year=0) { + global $conf; + $sql = "SELECT SUM(t.debit) as debit, SUM(t.credit) as credit"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t"; $sql .= " WHERE t.numero_compte = '" . $this->db->escape($cpt) . "'"; - /* - if (! empty($date_start) && ! empty($date_end)) - $sql.= " AND t.doc_date >= '".$this->db->idate($date_start)."' AND t.doc_date <= '".$this->db->idate($date_end)."'"; - if (! empty($month)) { - $sql .= " AND MONTH(t.doc_date) = " . $month; - } - */ - if (! empty($date_start) && ! empty($date_end)) + if (! empty($date_start) && ! empty($date_end) && (empty($month) || empty($year))) // If month/year provided, it is stronger than filter date_start/date_end $sql .= " AND t.doc_date BETWEEN '".$this->db->idate($date_start)."' AND '".$this->db->idate($date_end)."'"; if (! empty($month) && ! empty($year)) { $sql .= " AND t.doc_date BETWEEN '".$this->db->idate(dol_get_first_day($year, $month))."' AND '".$this->db->idate(dol_get_last_day($year, $month))."'"; } if ($thirdparty_code != 'nofilter') { - $sql .= " AND thirdparty_code = '".$this->db->escape($thirdparty_code)."'"; + $sql .= " AND t.thirdparty_code = '".$this->db->escape($thirdparty_code)."'"; } + $sql .= " AND t.entity = ".$conf->entity; //print $sql; dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG); @@ -775,7 +776,7 @@ class AccountancyCategory // extends CommonObject */ public function getCats($categorytype=-1) { - global $db, $langs, $user, $mysoc, $conf; + global $conf, $mysoc; if (empty($mysoc->country_id)) { dol_print_error('', 'Call to select_accounting_account with mysoc country not yet defined'); @@ -784,7 +785,7 @@ class AccountancyCategory // extends CommonObject $sql = "SELECT c.rowid, c.code, c.label, c.formula, c.position, c.category_type"; $sql .= " FROM " . MAIN_DB_PREFIX . "c_accounting_category as c"; - $sql .= " WHERE c.active = 1 "; + $sql .= " WHERE c.active = 1"; $sql .= " AND c.entity = " . $conf->entity; if ($categorytype >= 0) $sql.=" AND c.category_type = 1"; $sql .= " AND (c.fk_country = ".$mysoc->country_id." OR c.fk_country = 0)"; @@ -832,7 +833,7 @@ class AccountancyCategory // extends CommonObject */ public function getCptsCat($cat_id, $predefinedgroupwhere='') { - global $mysoc; + global $conf, $mysoc; $sql = ''; if (empty($mysoc->country_id) && empty($mysoc->country_code)) { @@ -845,6 +846,7 @@ class AccountancyCategory // extends CommonObject $sql = "SELECT t.rowid, t.account_number, t.label as account_label"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as t"; $sql .= " WHERE t.fk_accounting_category = ".$cat_id; + $sql .= " AND t.entity = " . $conf->entity; $sql .= " ORDER BY t.account_number"; } else @@ -852,6 +854,7 @@ class AccountancyCategory // extends CommonObject $sql = "SELECT t.rowid, t.account_number, t.label as account_label"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as t"; $sql .= " WHERE ".$predefinedgroupwhere; + $sql .= " AND t.entity = " . $conf->entity; $sql .= " ORDER BY t.account_number"; } //echo $sql; From 784c13d9d062c5743e824c6a2475b35b5b6e48c4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 11:14:05 +0100 Subject: [PATCH 154/199] Fix label of month --- htdocs/compta/resultat/result.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/resultat/result.php b/htdocs/compta/resultat/result.php index 3f53cfdc27c..9e3c28f529d 100644 --- a/htdocs/compta/resultat/result.php +++ b/htdocs/compta/resultat/result.php @@ -233,13 +233,13 @@ print ''.$langs->trans("SelectedPeriod").' foreach($months as $k => $v){ if (($k+1) >= $date_startmonth) { - print ''.$langs->trans($v).''; + print ''.$langs->trans('MonthShort'.sprintf("%02s",($k+1))).''; } } foreach($months as $k => $v){ if (($k+1) < $date_startmonth) { - print ''.$langs->trans($v).''; + print ''.$langs->trans('MonthShort'.sprintf("%02s",($k+1))).''; } } print ''; From c2e5a292466a2f01ce94351475ca6fa7cab106dd Mon Sep 17 00:00:00 2001 From: Thibault Descamps Date: Thu, 22 Nov 2018 11:36:30 +0100 Subject: [PATCH 155/199] NEW redirect if only one result on global search on card --- htdocs/comm/propal/list.php | 15 ++++++++++++++- htdocs/commande/list.php | 12 +++++++++++- htdocs/compta/facture/list.php | 15 +++++++++++++-- htdocs/fourn/commande/list.php | 17 ++++++++++++++--- htdocs/fourn/facture/list.php | 13 ++++++++++++- htdocs/product/list.php | 1 + htdocs/projet/list.php | 3 +-- htdocs/projet/tasks/list.php | 5 ++--- htdocs/supplier_proposal/list.php | 21 ++++++++++++++++++--- 9 files changed, 86 insertions(+), 16 deletions(-) diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 89b6211d644..61ad93660b6 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -258,7 +258,7 @@ $projectstatic=new Project($db); $formcompany=new FormCompany($db); $help_url='EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos'; -llxHeader('',$langs->trans('Proposal'),$help_url); +//llxHeader('',$langs->trans('Proposal'),$help_url); $sql = 'SELECT'; if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; @@ -404,6 +404,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $sql.= $db->plimit($limit+1, $offset); $resql=$db->query($sql); + if ($resql) { $objectstatic=new Propal($db); @@ -424,6 +425,18 @@ if ($resql) $num = $db->num_rows($resql); $arrayofselected=is_array($toselect)?$toselect:array(); + + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + { + $obj = $db->fetch_object($resql); + + $id = $obj->rowid; + + header("Location: ".DOL_URL_ROOT.'/comm/propal/card.php?id='.$id); + exit; + } + + llxHeader('',$langs->trans('Proposal'),$help_url); $param='&viewstatut='.urlencode($viewstatut); if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index dbe2b29e63a..55e6e2f8ff5 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -233,7 +233,7 @@ $projectstatic=new Project($db); $title=$langs->trans("Orders"); $help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes"; -llxHeader('',$title,$help_url); +// llxHeader('',$title,$help_url); $sql = 'SELECT'; if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; @@ -401,6 +401,16 @@ if ($resql) $arrayofselected=is_array($toselect)?$toselect:array(); + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + { + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: ".DOL_URL_ROOT.'/commande/card.php?id='.$id); + exit; + } + + llxHeader('',$title,$help_url); + $param=''; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 83925a38b08..eb7408cabf6 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -354,7 +354,7 @@ $facturestatic=new Facture($db); $formcompany=new FormCompany($db); $thirdpartystatic=new Societe($db); -llxHeader('',$langs->trans('CustomersInvoices'),'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); +// llxHeader('',$langs->trans('CustomersInvoices'),'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); $sql = 'SELECT'; if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; @@ -532,15 +532,26 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) } $sql.= $db->plimit($limit+1,$offset); -//print $sql; $resql = $db->query($sql); + if ($resql) { $num = $db->num_rows($resql); $arrayofselected=is_array($toselect)?$toselect:array(); + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + { + $obj = $db->fetch_object($resql); + $id = $obj->id; + + header("Location: ".DOL_URL_ROOT.'/compta/facture/card.php?facid='.$id); + exit; + } + + llxHeader('',$langs->trans('CustomersInvoices'),'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); + if ($socid) { $soc = new Societe($db); diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index a08e39e157c..3208dc36f75 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -56,7 +56,8 @@ $search_deliveryyear=GETPOST("search_deliveryyear","int"); $search_deliverymonth=GETPOST("search_deliverymonth","int"); $search_deliveryday=GETPOST("search_deliveryday","int"); -$sall=GETPOST('search_all', 'alphanohtml'); +$sall=trim((GETPOST('search_all', 'alphanohtml')!='')?GETPOST('search_all', 'alphanohtml'):GETPOST('sall', 'alphanohtml')); + $search_product_category=GETPOST('search_product_category','int'); $search_ref=GETPOST('search_ref'); $search_refsupp=GETPOST('search_refsupp'); @@ -473,7 +474,7 @@ if ($search_billed > 0) $title.=' - '.$langs->trans("Billed"); //$help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes"; $help_url=''; -llxHeader('',$title,$help_url); +// llxHeader('',$title,$help_url); $sql = 'SELECT'; if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; @@ -604,9 +605,19 @@ if ($resql) } $num = $db->num_rows($resql); - + $arrayofselected=is_array($toselect)?$toselect:array(); + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + { + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: ".DOL_URL_ROOT.'/fourn/commande/card.php?id='.$id); + exit; + } + + llxHeader('',$title,$help_url); + $param=''; if ($socid > 0) $param.='&socid='.$socid; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 07b53981faf..38c3ef10a2e 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -256,7 +256,7 @@ $facturestatic=new FactureFournisseur($db); $formcompany=new FormCompany($db); $thirdparty=new Societe($db); -llxHeader('',$langs->trans("SuppliersInvoices"),'EN:Suppliers_Invoices|FR:FactureFournisseur|ES:Facturas_de_proveedores'); +// llxHeader('',$langs->trans("SuppliersInvoices"),'EN:Suppliers_Invoices|FR:FactureFournisseur|ES:Facturas_de_proveedores'); $sql = "SELECT"; if ($search_all || $search_product_category > 0) $sql = 'SELECT DISTINCT'; @@ -427,6 +427,17 @@ if ($resql) $arrayofselected=is_array($toselect)?$toselect:array(); + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + { + $obj = $db->fetch_object($resql); + $id = $obj->facid; + + header("Location: ".DOL_URL_ROOT.'/fourn/facture/card.php?facid='.$id); + exit; + } + + llxHeader('',$langs->trans("SuppliersInvoices"),'EN:Suppliers_Invoices|FR:FactureFournisseur|ES:Facturas_de_proveedores'); + if ($socid) { $soc = new Societe($db); diff --git a/htdocs/product/list.php b/htdocs/product/list.php index 03d69a7a243..8c3196e1ec6 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -357,6 +357,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $sql.= $db->plimit($limit + 1, $offset); $resql = $db->query($sql); + if ($resql) { $num = $db->num_rows($resql); diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index 6f3ca7215a7..dac11d34519 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -386,9 +386,8 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $sql.= $db->plimit($limit + 1,$offset); -//print $sql; dol_syslog("list allowed project", LOG_DEBUG); -//print $sql; + $resql = $db->query($sql); if (! $resql) { diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php index 93ff5fab7a8..e1a77f0b824 100644 --- a/htdocs/projet/tasks/list.php +++ b/htdocs/projet/tasks/list.php @@ -42,7 +42,7 @@ $toselect = GETPOST('toselect', 'array'); $id=GETPOST('id','int'); -$search_all=GETPOST('search_all', 'alphanohtml'); +$search_all=trim((GETPOST('search_all', 'alphanohtml')!='')?GETPOST('search_all', 'alphanohtml'):GETPOST('sall', 'alphanohtml')); $search_categ=GETPOST("search_categ",'alpha'); $search_project=GETPOST('search_project'); if (! isset($_GET['search_projectstatus']) && ! isset($_POST['search_projectstatus'])) @@ -336,10 +336,9 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) } $sql.= $db->plimit($limit + 1,$offset); -//print $sql; dol_syslog("list allowed project", LOG_DEBUG); -//print $sql; + $resql = $db->query($sql); if (! $resql) { diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index 642d4610a10..8915532ff22 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -73,6 +73,7 @@ $search_btn=GETPOST('button_search','alpha'); $search_remove_btn=GETPOST('button_removefilter','alpha'); $sall=trim((GETPOST('search_all', 'alphanohtml')!='')?GETPOST('search_all', 'alphanohtml'):GETPOST('sall', 'alphanohtml')); + $mesg=(GETPOST("msg") ? GETPOST("msg") : GETPOST("mesg")); $year=GETPOST("year"); $month=GETPOST("month"); @@ -122,10 +123,10 @@ $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, // List of fields to search into when doing a "search in all" $fieldstosearchall = array( - 'p.ref'=>'Ref', + 'sp.ref'=>'Ref', 's.nom'=>'Supplier', 'pd.description'=>'Description', - 'p.note_public'=>'NotePublic', + 'sp.note_public'=>'NotePublic', ); if (empty($user->socid)) $fieldstosearchall["p.note_private"]="NotePrivate"; @@ -217,6 +218,7 @@ if (empty($reshook)) * View */ + $now=dol_now(); $form = new Form($db); @@ -227,7 +229,7 @@ $companystatic=new Societe($db); $formcompany=new FormCompany($db); $help_url='EN:Ask_Price_Supplier|FR:Demande_de_prix_fournisseur'; -llxHeader('',$langs->trans('CommRequest'),$help_url); +//llxHeader('',$langs->trans('CommRequest'),$help_url); $sql = 'SELECT'; if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; @@ -358,7 +360,20 @@ if ($resql) $num = $db->num_rows($resql); $arrayofselected=is_array($toselect)?$toselect:array(); + + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + { + $obj = $db->fetch_object($resql); + + $id = $obj->rowid; + + header("Location: ".DOL_URL_ROOT.'/supplier_proposal/card.php?id='.$id); + exit; + } + + llxHeader('',$langs->trans('CommRequest'),$help_url); + $param=''; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; From 1d4c756783c8c44f0d9302ba192915b41c61c662 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2018 15:40:15 +0100 Subject: [PATCH 156/199] FIX Remote ip detection was wrong with proxy (example: cloudflare) --- htdocs/admin/geoipmaxmind.php | 4 +- htdocs/core/class/events.class.php | 5 +- htdocs/core/lib/functions.lib.php | 264 ++++++++++++++++++++++++++++- 3 files changed, 267 insertions(+), 6 deletions(-) diff --git a/htdocs/admin/geoipmaxmind.php b/htdocs/admin/geoipmaxmind.php index 29819cd4034..fd1358b69cb 100644 --- a/htdocs/admin/geoipmaxmind.php +++ b/htdocs/admin/geoipmaxmind.php @@ -152,7 +152,7 @@ if ($geoip) else print $langs->trans("Error"); */ //var_dump($_SERVER); - $ip = $_SERVER['REMOTE_ADDR']?$_SERVER['REMOTE_ADDR']:(($_SERVER['HTTP_X_FORWARDED_FOR']?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['HTTP_CLIENT_IP'])); + $ip = getUserRemoteIP(); //$ip='91.161.249.43'; $isip=is_ip($ip); if ($isip == 1) @@ -162,7 +162,7 @@ if ($geoip) if ($result) print $result; else print $langs->trans("Error"); } - elseif ($isip == 2) + else { print '
'.$ip.' -> '; $result=dol_print_ip($ip,1); diff --git a/htdocs/core/class/events.class.php b/htdocs/core/class/events.class.php index abdbb1689f8..bb63e5b199f 100644 --- a/htdocs/core/class/events.class.php +++ b/htdocs/core/class/events.class.php @@ -112,6 +112,7 @@ class Events // extends CommonObject // Clean parameters $this->description=trim($this->description); + if (empty($this->user_agent) && !empty($_SERVER['HTTP_USER_AGENT'])) $this->user_agent=$_SERVER['HTTP_USER_AGENT']; // Check parameters if (empty($this->description)) { $this->error='ErrorBadValueForParameterCreateEventDesc'; return -1; } @@ -128,8 +129,8 @@ class Events // extends CommonObject $sql.= ") VALUES ("; $sql.= " '".$this->db->escape($this->type)."',"; $sql.= " ".$conf->entity.","; - $sql.= " '".$this->db->escape($_SERVER['REMOTE_ADDR'])."',"; - $sql.= " ".($_SERVER['HTTP_USER_AGENT']?"'".$this->db->escape(dol_trunc($_SERVER['HTTP_USER_AGENT'],250))."'":'NULL').","; + $sql.= " '".$this->db->escape(getUserRemoteIP())."',"; + $sql.= " ".($this->user_agent ? "'".$this->db->escape(dol_trunc($this->user_agent,250))."'" : 'NULL').","; $sql.= " '".$this->db->idate($this->dateevent)."',"; $sql.= " ".($user->id?"'".$this->db->escape($user->id)."'":'NULL').","; $sql.= " '".$this->db->escape(dol_trunc($this->description,250))."'"; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 87e63517ac2..d5046a42b0d 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2656,6 +2656,20 @@ function dol_print_ip($ip,$mode=0) return $ret; } +/** + * Return the IP of remote user. + * Take HTTP_X_FORWARDED_FOR (defined when using proxy) + * Then HTTP_CLIENT_IP if defined (rare) + * Then REMOTE_ADDR (not way to be modified by user but may be wrong if using proxy) + * + * @return string Ip of remote user. + */ +function getUserRemoteIP() +{ + $ip = $_SERVER['HTTP_X_FORWARDED_FOR']?$_SERVER['HTTP_X_FORWARDED_FOR']:(($_SERVER['HTTP_CLIENT_IP']?$_SERVER['HTTP_CLIENT_IP']:$_SERVER['REMOTE_ADDR'])); + return $ip; +} + /** * Return a country code from IP. Empty string if not found. * @@ -2699,7 +2713,7 @@ function dol_user_country() $ret=''; if (! empty($conf->geoipmaxmind->enabled)) { - $ip=$_SERVER["REMOTE_ADDR"]; + $ip=getUserRemoteIP(); $datafile=$conf->global->GEOIPMAXMIND_COUNTRY_DATAFILE; //$ip='24.24.24.24'; //$datafile='E:\Mes Sites\Web\Admin1\awstats\maxmind\GeoIP.dat'; @@ -5902,7 +5916,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob '__USER_FIRSTNAME__' => (string) $user->firstname, '__USER_FULLNAME__' => (string) $user->getFullName($outputlangs), '__USER_SUPERVISOR_ID__' => (string) ($user->fk_user ? $user->fk_user : '0'), - '__USER_REMOTE_IP__' => (string) $_SERVER['REMOTE_ADDR'] + '__USER_REMOTE_IP__' => (string) getUserRemoteIP() ) ); } @@ -6869,6 +6883,252 @@ function picto_from_langcode($codelang, $moreatt = '') return img_picto_common($codelang, 'flags/'.strtolower($flagImage).'.png', $moreatt); } +/** + * Return default language from country code + * + * @param string $countrycode Country code like 'US', 'FR', 'CA', ... + * @return string Value of locale like 'en_US', 'fr_FR', ... + */ +function getLanguageCodeFromCountryCode($countrycode) +{ + $countrycodetolanguage = array( + 'SA' => 'ar_AR', + 'DK' => 'da_DA', + 'CA' => 'en_CA', + 'SE' => 'sv_SV' + ); + if (! empty($countrycodetolanguage[$countrycode])) return $countrycodetolanguage[$countrycode]; + + // Locale list taken from: + // http://stackoverflow.com/questions/3191664/ + // list-of-all-locales-and-their-short-codes + $locales = array( + 'af-ZA', + 'am-ET', + 'ar-AE', + 'ar-BH', + 'ar-DZ', + 'ar-EG', + 'ar-IQ', + 'ar-JO', + 'ar-KW', + 'ar-LB', + 'ar-LY', + 'ar-MA', + 'arn-CL', + 'ar-OM', + 'ar-QA', + 'ar-SA', + 'ar-SY', + 'ar-TN', + 'ar-YE', + 'as-IN', + 'az-Cyrl-AZ', + 'az-Latn-AZ', + 'ba-RU', + 'be-BY', + 'bg-BG', + 'bn-BD', + 'bn-IN', + 'bo-CN', + 'br-FR', + 'bs-Cyrl-BA', + 'bs-Latn-BA', + 'ca-ES', + 'co-FR', + 'cs-CZ', + 'cy-GB', + 'da-DK', + 'de-AT', + 'de-CH', + 'de-DE', + 'de-LI', + 'de-LU', + 'dsb-DE', + 'dv-MV', + 'el-GR', + 'en-029', + 'en-AU', + 'en-BZ', + 'en-CA', + 'en-GB', + 'en-IE', + 'en-IN', + 'en-JM', + 'en-MY', + 'en-NZ', + 'en-PH', + 'en-SG', + 'en-TT', + 'en-US', + 'en-ZA', + 'en-ZW', + 'es-AR', + 'es-BO', + 'es-CL', + 'es-CO', + 'es-CR', + 'es-DO', + 'es-EC', + 'es-ES', + 'es-GT', + 'es-HN', + 'es-MX', + 'es-NI', + 'es-PA', + 'es-PE', + 'es-PR', + 'es-PY', + 'es-SV', + 'es-US', + 'es-UY', + 'es-VE', + 'et-EE', + 'eu-ES', + 'fa-IR', + 'fi-FI', + 'fil-PH', + 'fo-FO', + 'fr-BE', + 'fr-CA', + 'fr-CH', + 'fr-FR', + 'fr-LU', + 'fr-MC', + 'fy-NL', + 'ga-IE', + 'gd-GB', + 'gl-ES', + 'gsw-FR', + 'gu-IN', + 'ha-Latn-NG', + 'he-IL', + 'hi-IN', + 'hr-BA', + 'hr-HR', + 'hsb-DE', + 'hu-HU', + 'hy-AM', + 'id-ID', + 'ig-NG', + 'ii-CN', + 'is-IS', + 'it-CH', + 'it-IT', + 'iu-Cans-CA', + 'iu-Latn-CA', + 'ja-JP', + 'ka-GE', + 'kk-KZ', + 'kl-GL', + 'km-KH', + 'kn-IN', + 'kok-IN', + 'ko-KR', + 'ky-KG', + 'lb-LU', + 'lo-LA', + 'lt-LT', + 'lv-LV', + 'mi-NZ', + 'mk-MK', + 'ml-IN', + 'mn-MN', + 'mn-Mong-CN', + 'moh-CA', + 'mr-IN', + 'ms-BN', + 'ms-MY', + 'mt-MT', + 'nb-NO', + 'ne-NP', + 'nl-BE', + 'nl-NL', + 'nn-NO', + 'nso-ZA', + 'oc-FR', + 'or-IN', + 'pa-IN', + 'pl-PL', + 'prs-AF', + 'ps-AF', + 'pt-BR', + 'pt-PT', + 'qut-GT', + 'quz-BO', + 'quz-EC', + 'quz-PE', + 'rm-CH', + 'ro-RO', + 'ru-RU', + 'rw-RW', + 'sah-RU', + 'sa-IN', + 'se-FI', + 'se-NO', + 'se-SE', + 'si-LK', + 'sk-SK', + 'sl-SI', + 'sma-NO', + 'sma-SE', + 'smj-NO', + 'smj-SE', + 'smn-FI', + 'sms-FI', + 'sq-AL', + 'sr-Cyrl-BA', + 'sr-Cyrl-CS', + 'sr-Cyrl-ME', + 'sr-Cyrl-RS', + 'sr-Latn-BA', + 'sr-Latn-CS', + 'sr-Latn-ME', + 'sr-Latn-RS', + 'sv-FI', + 'sv-SE', + 'sw-KE', + 'syr-SY', + 'ta-IN', + 'te-IN', + 'tg-Cyrl-TJ', + 'th-TH', + 'tk-TM', + 'tn-ZA', + 'tr-TR', + 'tt-RU', + 'tzm-Latn-DZ', + 'ug-CN', + 'uk-UA', + 'ur-PK', + 'uz-Cyrl-UZ', + 'uz-Latn-UZ', + 'vi-VN', + 'wo-SN', + 'xh-ZA', + 'yo-NG', + 'zh-CN', + 'zh-HK', + 'zh-MO', + 'zh-SG', + 'zh-TW', + 'zu-ZA', + ); + + foreach ($locales as $locale) + { + $locale_region = locale_get_region($locale); + $locale_language = locale_get_primary_language($locale); + $locale_array = array('language' => $locale_language, 'region' => $locale_region); + if (strtoupper($countrycode) == $locale_region) + { + return locale_compose($locale_array); + } + } + + return null; +} + /** * Complete or removed entries into a head array (used to build tabs). * For example, with value added by external modules. Such values are declared into $conf->modules_parts['tab']. From 0fbf213739dbe53ab6444b58967d322ef6d1989b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 13:08:18 +0100 Subject: [PATCH 157/199] Fix length of field --- htdocs/core/lib/pdf.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index a9e8807c66a..a6899697860 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -757,7 +757,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $content = $account->number; } elseif ($val == 'BankAccountNumberKey') { // Key - $tmplength = 13; + $tmplength = 15; $content = $account->cle_rib; }elseif ($val == 'IBAN' || $val == 'BIC') { // Key From 8de30c12d8d0fa248b73f10789de831a20d3479d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 13:19:25 +0100 Subject: [PATCH 158/199] Fix translation --- htdocs/langs/en_US/boxes.lang | 4 ++-- htdocs/langs/en_US/companies.lang | 16 ++++++++-------- htdocs/langs/en_US/mails.lang | 4 ++-- htdocs/langs/en_US/main.lang | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index 8a519879ac3..ded846feb7d 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -15,7 +15,7 @@ BoxLastSuppliers=Latest modified suppliers BoxLastCustomerOrders=Latest customer orders BoxLastActions=Latest actions BoxLastContracts=Latest contracts -BoxLastContacts=Latest contacts/addresses +BoxLastContacts=Latest contact addresses BoxLastMembers=Latest members BoxFicheInter=Latest interventions BoxCurrentAccounts=Open accounts balance @@ -34,7 +34,7 @@ BoxTitleLastFicheInter=Latest %s modified interventions BoxTitleOldestUnpaidCustomerBills=Customer Invoices: oldest %s unpaid BoxTitleOldestUnpaidSupplierBills=Supplier Invoices: oldest %s unpaid BoxTitleCurrentAccounts=Open Accounts: balances -BoxTitleLastModifiedContacts=Contacts/Addresses: latest %s modified +BoxTitleLastModifiedContacts=Latest %s modified contact addresses BoxMyLastBookmarks=Bookmarks: latest %s modified BoxOldestExpiredServices=Oldest active expired services BoxLastExpiredServices=Latest %s oldest contacts with active expired services diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index e5de5614886..a528d232c47 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -19,9 +19,9 @@ ProspectionArea=Prospection area IdThirdParty=Id third party IdCompany=Company Id IdContact=Contact Id -Contacts=Contacts/Addresses +Contacts=Contact addresses ThirdPartyContacts=Third party contacts -ThirdPartyContact=Third party contact/address +ThirdPartyContact=Third party contact address Company=Company CompanyName=Company name AliasNames=Alias name (commercial, trademark, ...) @@ -289,12 +289,12 @@ SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) DiscountNone=None Supplier=Vendor AddContact=Create contact -AddContactAddress=Create contact/address +AddContactAddress=Create contact address EditContact=Edit contact -EditContactAddress=Edit contact/address +EditContactAddress=Edit contact address Contact=Contact ContactId=Contact id -ContactsAddresses=Contacts/Addresses +ContactsAddresses=Contact addresses FromContactName=Name: NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined @@ -315,8 +315,8 @@ ValidityControledByModule=Validity controlled by module ThisIsModuleRules=Rules for this module ProspectToContact=Prospect to contact CompanyDeleted=Company "%s" deleted from database. -ListOfContacts=List of contacts/addresses -ListOfContactsAddresses=List of contacts/addresses +ListOfContacts=List of contact addresses +ListOfContactsAddresses=List of contact addresses ListOfThirdParties=List of Third Parties ShowCompany=Show Third Party ShowContact=Show contact @@ -390,7 +390,7 @@ NoDolibarrAccess=No Dolibarr access ExportDataset_company_1=Third Parties (companies/foundations/physical people) and their properties ExportDataset_company_2=Contacts and their properties ImportDataset_company_1=Third Parties (companies/foundations/physical people) and their properties -ImportDataset_company_2=Contacts/Addresses and attributes +ImportDataset_company_2=Contact addresses and attributes ImportDataset_company_3=Bank accounts of Third Parties ImportDataset_company_4=Third Parties - sales representatives (assign sales representatives/users to companies) PriceLevel=Price level diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang index d4f835874e7..279a2f3118b 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -99,7 +99,7 @@ MailSelectedRecipients=Selected recipients MailingArea=EMailings area LastMailings=Latest %s emailings TargetsStatistics=Targets statistics -NbOfCompaniesContacts=Unique contacts/addresses +NbOfCompaniesContacts=Unique contact addresses MailNoChangePossible=Recipients for validated emailing can't be changed SearchAMailing=Search mailing SendMailing=Send emailing @@ -138,7 +138,7 @@ NbOfTargetedContacts=Current number of targeted contact emails UseFormatFileEmailToTarget=Imported file must have format email;name;firstname;other UseFormatInputEmailToTarget=Enter a string with format email;name;firstname;other MailAdvTargetRecipients=Recipients (advanced selection) -AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target +AdvTgtTitle=Fill input fields to preselect the third parties or contact addresses to target AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima% will target all jean, joe, start with jim but not jimo and not everything that starts with jima AdvTgtSearchIntHelp=Use interval to select int or float value AdvTgtMinVal=Minimum value diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 233b9bba076..c51f8a3683b 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -434,7 +434,7 @@ LatestLinkedEvents=Latest %s linked events CompanyFoundation=Company/Organization Accountant=Accountant ContactsForCompany=Contacts for this third party -ContactsAddressesForCompany=Contacts/addresses for this third party +ContactsAddressesForCompany=Contact addresses for this third party AddressesForCompany=Addresses for this third party ActionsOnCompany=Events about this third party ActionsOnMember=Events about this member From 3bb7726101234b1bb9390dd5358ec9e7b64a5a5b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 13:22:05 +0100 Subject: [PATCH 159/199] Revert "Fix translation" This reverts commit 8de30c12d8d0fa248b73f10789de831a20d3479d. --- htdocs/langs/en_US/boxes.lang | 4 ++-- htdocs/langs/en_US/companies.lang | 16 ++++++++-------- htdocs/langs/en_US/mails.lang | 4 ++-- htdocs/langs/en_US/main.lang | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index ded846feb7d..8a519879ac3 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -15,7 +15,7 @@ BoxLastSuppliers=Latest modified suppliers BoxLastCustomerOrders=Latest customer orders BoxLastActions=Latest actions BoxLastContracts=Latest contracts -BoxLastContacts=Latest contact addresses +BoxLastContacts=Latest contacts/addresses BoxLastMembers=Latest members BoxFicheInter=Latest interventions BoxCurrentAccounts=Open accounts balance @@ -34,7 +34,7 @@ BoxTitleLastFicheInter=Latest %s modified interventions BoxTitleOldestUnpaidCustomerBills=Customer Invoices: oldest %s unpaid BoxTitleOldestUnpaidSupplierBills=Supplier Invoices: oldest %s unpaid BoxTitleCurrentAccounts=Open Accounts: balances -BoxTitleLastModifiedContacts=Latest %s modified contact addresses +BoxTitleLastModifiedContacts=Contacts/Addresses: latest %s modified BoxMyLastBookmarks=Bookmarks: latest %s modified BoxOldestExpiredServices=Oldest active expired services BoxLastExpiredServices=Latest %s oldest contacts with active expired services diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index a528d232c47..e5de5614886 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -19,9 +19,9 @@ ProspectionArea=Prospection area IdThirdParty=Id third party IdCompany=Company Id IdContact=Contact Id -Contacts=Contact addresses +Contacts=Contacts/Addresses ThirdPartyContacts=Third party contacts -ThirdPartyContact=Third party contact address +ThirdPartyContact=Third party contact/address Company=Company CompanyName=Company name AliasNames=Alias name (commercial, trademark, ...) @@ -289,12 +289,12 @@ SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) DiscountNone=None Supplier=Vendor AddContact=Create contact -AddContactAddress=Create contact address +AddContactAddress=Create contact/address EditContact=Edit contact -EditContactAddress=Edit contact address +EditContactAddress=Edit contact/address Contact=Contact ContactId=Contact id -ContactsAddresses=Contact addresses +ContactsAddresses=Contacts/Addresses FromContactName=Name: NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined @@ -315,8 +315,8 @@ ValidityControledByModule=Validity controlled by module ThisIsModuleRules=Rules for this module ProspectToContact=Prospect to contact CompanyDeleted=Company "%s" deleted from database. -ListOfContacts=List of contact addresses -ListOfContactsAddresses=List of contact addresses +ListOfContacts=List of contacts/addresses +ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties ShowCompany=Show Third Party ShowContact=Show contact @@ -390,7 +390,7 @@ NoDolibarrAccess=No Dolibarr access ExportDataset_company_1=Third Parties (companies/foundations/physical people) and their properties ExportDataset_company_2=Contacts and their properties ImportDataset_company_1=Third Parties (companies/foundations/physical people) and their properties -ImportDataset_company_2=Contact addresses and attributes +ImportDataset_company_2=Contacts/Addresses and attributes ImportDataset_company_3=Bank accounts of Third Parties ImportDataset_company_4=Third Parties - sales representatives (assign sales representatives/users to companies) PriceLevel=Price level diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang index 279a2f3118b..d4f835874e7 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -99,7 +99,7 @@ MailSelectedRecipients=Selected recipients MailingArea=EMailings area LastMailings=Latest %s emailings TargetsStatistics=Targets statistics -NbOfCompaniesContacts=Unique contact addresses +NbOfCompaniesContacts=Unique contacts/addresses MailNoChangePossible=Recipients for validated emailing can't be changed SearchAMailing=Search mailing SendMailing=Send emailing @@ -138,7 +138,7 @@ NbOfTargetedContacts=Current number of targeted contact emails UseFormatFileEmailToTarget=Imported file must have format email;name;firstname;other UseFormatInputEmailToTarget=Enter a string with format email;name;firstname;other MailAdvTargetRecipients=Recipients (advanced selection) -AdvTgtTitle=Fill input fields to preselect the third parties or contact addresses to target +AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima% will target all jean, joe, start with jim but not jimo and not everything that starts with jima AdvTgtSearchIntHelp=Use interval to select int or float value AdvTgtMinVal=Minimum value diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index c51f8a3683b..233b9bba076 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -434,7 +434,7 @@ LatestLinkedEvents=Latest %s linked events CompanyFoundation=Company/Organization Accountant=Accountant ContactsForCompany=Contacts for this third party -ContactsAddressesForCompany=Contact addresses for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party AddressesForCompany=Addresses for this third party ActionsOnCompany=Events about this third party ActionsOnMember=Events about this member From 97af22369db1c1ca3db4f3b7cdc9955a88a4e1d6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 13:47:55 +0100 Subject: [PATCH 160/199] Trans --- htdocs/langs/en_US/admin.lang | 6 +++--- htdocs/langs/en_US/bills.lang | 2 +- htdocs/langs/en_US/propal.lang | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index f528c23818b..a5f81fb11a5 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -902,7 +902,7 @@ DictionaryVAT=VAT Rates or Sales Tax Rates DictionaryRevenueStamp=Amount of tax stamps DictionaryPaymentConditions=Payment terms DictionaryPaymentModes=Payment modes -DictionaryTypeContact=Contact address types +DictionaryTypeContact=Contacts/addresses types DictionaryTypeOfContainer=Type of website pages/containers DictionaryEcotaxe=Ecotax (WEEE) DictionaryPaperFormat=Paper formats @@ -1142,7 +1142,7 @@ ExtraFieldsLinesRec=Complementary attributes (templates invoices lines) ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Complementary attributes (thirdparty) -ExtraFieldsContacts=Complementary attributes (contact address) +ExtraFieldsContacts=Complementary attributes (contacts/address) ExtraFieldsMember=Complementary attributes (member) ExtraFieldsMemberType=Complementary attributes (member type) ExtraFieldsCustomerInvoices=Complementary attributes (invoices) @@ -1702,7 +1702,7 @@ ListOfNotificationsPerUser=List of notifications per user* ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users -GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contact addresses +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason: diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index 9e3d2a4af98..ed988d580e2 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -465,7 +465,7 @@ Cheques=Checks DepositId=Id deposit NbCheque=Number of checks CreditNoteConvertedIntoDiscount=This %s has been converted into %s -UsBillingContactAsIncoiveRecipientIfExist=Use customer billing contact address instead of third party address as recipient for invoices +UsBillingContactAsIncoiveRecipientIfExist=Use contact/address with type 'billing contact' instead of third party address as recipient for invoices ShowUnpaidAll=Show all unpaid invoices ShowUnpaidLateOnly=Show late unpaid invoices only PaymentInvoiceRef=Payment invoice %s diff --git a/htdocs/langs/en_US/propal.lang b/htdocs/langs/en_US/propal.lang index fd1240e3ea6..c258381ea85 100644 --- a/htdocs/langs/en_US/propal.lang +++ b/htdocs/langs/en_US/propal.lang @@ -55,7 +55,7 @@ NoDraftProposals=No draft proposals CopyPropalFrom=Create commercial proposal by copying existing proposal CreateEmptyPropal=Create empty commercial proposal or from list of products/services DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +UseCustomerContactAsPropalRecipientIfExist=Use contact/address with type 'Contact following-up proposal' if defined instead of third party address as proposal recipient address ClonePropal=Clone commercial proposal ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s? ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s? From 72fc0226e327604a6169816e6d8cd91e7746b1ef Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 19:45:35 +0100 Subject: [PATCH 161/199] Optimize performance: Remove call for year N, can be done with total of each month --- .../class/accountancycategory.class.php | 1 + htdocs/compta/resultat/result.php | 29 ++++++++++--------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index b70341e21f7..6bb7be94f81 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -732,6 +732,7 @@ class AccountancyCategory // extends CommonObject $sql = "SELECT SUM(t.debit) as debit, SUM(t.credit) as credit"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t"; + //if (in_array($this->db->type, array('mysql', 'mysqli'))) $sql.=' USE INDEX idx_accounting_bookkeeping_doc_date'; $sql .= " WHERE t.numero_compte = '" . $this->db->escape($cpt) . "'"; if (! empty($date_start) && ! empty($date_end) && (empty($month) || empty($year))) // If month/year provided, it is stronger than filter date_start/date_end $sql .= " AND t.doc_date BETWEEN '".$this->db->idate($date_start)."' AND '".$this->db->idate($date_end)."'"; diff --git a/htdocs/compta/resultat/result.php b/htdocs/compta/resultat/result.php index 9e3c28f529d..39b6a8dc79a 100644 --- a/htdocs/compta/resultat/result.php +++ b/htdocs/compta/resultat/result.php @@ -445,23 +445,12 @@ elseif ($modecompta=="BOOKKEEPING") $resultNP=$AccCat->sdc; } - // N - $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']); - if ($return < 0) { - setEventMessages(null, $AccCat->errors, 'errors'); - $resultN=0; - } else { - $resultN=$AccCat->sdc; - } - $totCat['NP'] += $resultNP; - $totCat['N'] += $resultN; $sommes[$code]['NP'] += $resultNP; - $sommes[$code]['N'] += $resultN; $totPerAccount[$cpt['account_number']]['NP'] = $resultNP; - $totPerAccount[$cpt['account_number']]['N'] = $resultN; // Each month + $resultN = 0; foreach($months as $k => $v) { $monthtoprocess = $k+1; // ($k+1) is month 1, 2, ..., 12 @@ -479,7 +468,22 @@ elseif ($modecompta=="BOOKKEEPING") $totCat['M'][$k] += $resultM; $sommes[$code]['M'][$k] += $resultM; $totPerAccount[$cpt['account_number']]['M'][$k] = $resultM; + + $resultN += $resultM; } + + // N + /*$return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']); + if ($return < 0) { + setEventMessages(null, $AccCat->errors, 'errors'); + $resultN=0; + } else { + $resultN=$AccCat->sdc; + }*/ + + $totCat['N'] += $resultN; + $sommes[$code]['N'] += $resultN; + $totPerAccount[$cpt['account_number']]['N'] = $resultN; } // Now output columns for row $code ('VTE', 'MAR', ...) @@ -497,7 +501,6 @@ elseif ($modecompta=="BOOKKEEPING") print "\n"; // Loop on detail of all accounts - // This make 14 calls for each detail of account (N-1, N and 12 monthes m) if ($showaccountdetail != 'no') { foreach($cpts as $i => $cpt) From 5727cf2910744e4aabb5ad233efb4e01284ee078 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 20:09:27 +0100 Subject: [PATCH 162/199] Prepare code for performance enhancement --- .../class/accountancycategory.class.php | 26 ++++++++++--------- htdocs/compta/resultat/result.php | 4 +-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 6bb7be94f81..14c4bce3126 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -724,48 +724,50 @@ class AccountancyCategory // extends CommonObject * @param string $thirdparty_code Thirdparty code * @param string $month Specifig month - Can be empty * @param string $year Specifig year - Can be empty - * @return integer Result in table + * @return integer <0 if KO, >= 0 if OK */ public function getSumDebitCredit($cpt, $date_start, $date_end, $sens, $thirdparty_code='nofilter', $month=0, $year=0) { global $conf; + $this->sdc = 0; + $this->sdcpermonth = array(); + $sql = "SELECT SUM(t.debit) as debit, SUM(t.credit) as credit"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t"; //if (in_array($this->db->type, array('mysql', 'mysqli'))) $sql.=' USE INDEX idx_accounting_bookkeeping_doc_date'; - $sql .= " WHERE t.numero_compte = '" . $this->db->escape($cpt) . "'"; + $sql .= " WHERE t.entity = ".$conf->entity; + $sql .= " AND t.numero_compte = '" . $this->db->escape($cpt) . "'"; if (! empty($date_start) && ! empty($date_end) && (empty($month) || empty($year))) // If month/year provided, it is stronger than filter date_start/date_end - $sql .= " AND t.doc_date BETWEEN '".$this->db->idate($date_start)."' AND '".$this->db->idate($date_end)."'"; + $sql .= " AND (t.doc_date BETWEEN '".$this->db->idate($date_start)."' AND '".$this->db->idate($date_end)."')"; if (! empty($month) && ! empty($year)) { - $sql .= " AND t.doc_date BETWEEN '".$this->db->idate(dol_get_first_day($year, $month))."' AND '".$this->db->idate(dol_get_last_day($year, $month))."'"; + $sql .= " AND (t.doc_date BETWEEN '".$this->db->idate(dol_get_first_day($year, $month))."' AND '".$this->db->idate(dol_get_last_day($year, $month))."')"; } if ($thirdparty_code != 'nofilter') { $sql .= " AND t.thirdparty_code = '".$this->db->escape($thirdparty_code)."'"; } - $sql .= " AND t.entity = ".$conf->entity; //print $sql; - dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG); $resql = $this->db->query($sql); - - if ($resql) { + if ($resql) + { $num = $this->db->num_rows($resql); - $this->sdc = 0; - if ($num) { + if ($num) + { $obj = $this->db->fetch_object($resql); if ($sens == 1) { $this->sdc = $obj->debit - $obj->credit; } else { $this->sdc = $obj->credit - $obj->debit; } + $this->sdcpermonth[$year.'_'.$month.'_'.$sens] = $this->sdc; } return $num; } else { $this->error = "Error " . $this->db->lasterror(); dol_syslog(__METHOD__ . " " . $this->error, LOG_ERR); - - return - 1; + return -1; } } diff --git a/htdocs/compta/resultat/result.php b/htdocs/compta/resultat/result.php index 39b6a8dc79a..d5d0bffc2e3 100644 --- a/htdocs/compta/resultat/result.php +++ b/htdocs/compta/resultat/result.php @@ -437,7 +437,7 @@ elseif ($modecompta=="BOOKKEEPING") // @TODO Optimize mode when $showaccountdetail == 'no' // N-1 - $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start_previous, $date_end_previous, $cpt['dc']); + $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start_previous, $date_end_previous, $cpt['dc']?$cpt['dc']:0); if ($return < 0) { setEventMessages(null, $AccCat->errors, 'errors'); $resultNP=0; @@ -458,7 +458,7 @@ elseif ($modecompta=="BOOKKEEPING") if (($k+1) < $start_month) $yeartoprocess++; //var_dump($monthtoprocess.'_'.$yeartoprocess); - $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc'], 'nofilter', $monthtoprocess, $yeartoprocess); + $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']?$cpt['dc']:0, 'nofilter', $monthtoprocess, $yeartoprocess); if ($return < 0) { setEventMessages(null, $AccCat->errors, 'errors'); $resultM=0; From fe35e72e835f60bacf03c77be4e01b40070aa226 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 20:45:50 +0100 Subject: [PATCH 163/199] Fix perf. Make only one request per group for year N-1. --- .../class/accountancycategory.class.php | 25 +++- htdocs/compta/resultat/result.php | 129 +++++++++--------- 2 files changed, 89 insertions(+), 65 deletions(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 14c4bce3126..043021df367 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -717,7 +717,7 @@ class AccountancyCategory // extends CommonObject /** * Function to show result of an accounting account from the ledger with a direction and a period * - * @param int $cpt Id accounting account + * @param int[array $cpt Accounting account or array of accounting account * @param string $date_start Date start * @param string $date_end Date end * @param int $sens Sens of the account: 0: credit - debit, 1: debit - credit @@ -734,10 +734,24 @@ class AccountancyCategory // extends CommonObject $this->sdcpermonth = array(); $sql = "SELECT SUM(t.debit) as debit, SUM(t.credit) as credit"; + if (is_array($cpt)) $sql.=", t.numero_compte as accountancy_account"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t"; //if (in_array($this->db->type, array('mysql', 'mysqli'))) $sql.=' USE INDEX idx_accounting_bookkeeping_doc_date'; $sql .= " WHERE t.entity = ".$conf->entity; - $sql .= " AND t.numero_compte = '" . $this->db->escape($cpt) . "'"; + if (is_array($cpt)) + { + $listofaccount=''; + foreach($cpt as $cptcursor) + { + if ($listofaccount) $listofaccount.=","; + $listofaccount.="'".$cptcursor."'"; + } + $sql .= " AND t.numero_compte IN (" .$listofaccount. ")"; + } + else + { + $sql .= " AND t.numero_compte = '" . $this->db->escape($cpt) . "'"; + } if (! empty($date_start) && ! empty($date_end) && (empty($month) || empty($year))) // If month/year provided, it is stronger than filter date_start/date_end $sql .= " AND (t.doc_date BETWEEN '".$this->db->idate($date_start)."' AND '".$this->db->idate($date_end)."')"; if (! empty($month) && ! empty($year)) { @@ -747,6 +761,7 @@ class AccountancyCategory // extends CommonObject { $sql .= " AND t.thirdparty_code = '".$this->db->escape($thirdparty_code)."'"; } + if (is_array($cpt)) $sql.=" GROUP BY t.numero_compte"; //print $sql; $resql = $this->db->query($sql); @@ -761,11 +776,15 @@ class AccountancyCategory // extends CommonObject } else { $this->sdc = $obj->credit - $obj->debit; } - $this->sdcpermonth[$year.'_'.$month.'_'.$sens] = $this->sdc; + if (is_array($cpt)) + { + $this->sdcperaccount[$obj->accountancy_account] = $this->sdc; + } } return $num; } else { $this->error = "Error " . $this->db->lasterror(); + $this->errors[] = $this->error; dol_syslog(__METHOD__ . " " . $this->error, LOG_ERR); return -1; } diff --git a/htdocs/compta/resultat/result.php b/htdocs/compta/resultat/result.php index d5d0bffc2e3..fcb329dd730 100644 --- a/htdocs/compta/resultat/result.php +++ b/htdocs/compta/resultat/result.php @@ -382,6 +382,8 @@ elseif ($modecompta=="BOOKKEEPING") } else // normal category { + $code = $cat['code']; // Category code we process + $totCat = array(); $totCat['NP'] = 0; $totCat['N'] = 0; @@ -394,6 +396,70 @@ elseif ($modecompta=="BOOKKEEPING") // Set $cpts with array of accounts in the category/group $cpts = $AccCat->getCptsCat($cat['rowid']); + $arrayofaccountforfilter=array(); + foreach($cpts as $i => $cpt) // Loop on each account. + { + $arrayofaccountforfilter[]=$cpt['account_number']; + } + + // N-1 + if (! empty($arrayofaccountforfilter)) + { + $return = $AccCat->getSumDebitCredit($arrayofaccountforfilter, $date_start_previous, $date_end_previous, $cpt['dc']?$cpt['dc']:0); + var_dump($AccCat->sdcperaccount); + if ($return < 0) { + setEventMessages(null, $AccCat->errors, 'errors'); + $resultNP=0; + } else { + foreach($cpts as $i => $cpt) // Loop on each account. + { + $resultNP = empty($AccCat->sdcperaccount[$cpt['account_number']])?0:$AccCat->sdcperaccount[$cpt['account_number']]; + + $totCat['NP'] += $resultNP; + $sommes[$code]['NP'] += $resultNP; + $totPerAccount[$cpt['account_number']]['NP'] = $resultNP; + } + } + } + + // Set value into column N-1, N and each month M ($totCat) + // This make 14 calls for each detail of account (N-1, N and 12 monthes m) + foreach($cpts as $i => $cpt) // Loop on each account. + { + // We make 1 loop for each account because we may want detail per account. + // @TODO Optimize to ask a 'group by' account and a filter with account in (..., ...) in request + + // Each month + $resultN = 0; + foreach($months as $k => $v) + { + $monthtoprocess = $k+1; // ($k+1) is month 1, 2, ..., 12 + $yeartoprocess = $start_year; + if (($k+1) < $start_month) $yeartoprocess++; + + //var_dump($monthtoprocess.'_'.$yeartoprocess); + $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']?$cpt['dc']:0, 'nofilter', $monthtoprocess, $yeartoprocess); + if ($return < 0) { + setEventMessages(null, $AccCat->errors, 'errors'); + $resultM=0; + } else { + $resultM=$AccCat->sdc; + } + $totCat['M'][$k] += $resultM; + $sommes[$code]['M'][$k] += $resultM; + $totPerAccount[$cpt['account_number']]['M'][$k] = $resultM; + + $resultN += $resultM; + } + + $totCat['N'] += $resultN; + $sommes[$code]['N'] += $resultN; + $totPerAccount[$cpt['account_number']]['N'] = $resultN; + } + + + // Now output columns for row $code ('VTE', 'MAR', ...) + print ""; // Column group @@ -427,66 +493,6 @@ elseif ($modecompta=="BOOKKEEPING") } print ''; - $code = $cat['code']; - - // Set value into column N-1, N and each month M ($totCat) - // This make 14 calls for each detail of account (N-1, N and 12 monthes m) - foreach($cpts as $i => $cpt) // Loop on each account. - { - // We make 1 loop for each account because we may want detail. - // @TODO Optimize mode when $showaccountdetail == 'no' - - // N-1 - $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start_previous, $date_end_previous, $cpt['dc']?$cpt['dc']:0); - if ($return < 0) { - setEventMessages(null, $AccCat->errors, 'errors'); - $resultNP=0; - } else { - $resultNP=$AccCat->sdc; - } - - $totCat['NP'] += $resultNP; - $sommes[$code]['NP'] += $resultNP; - $totPerAccount[$cpt['account_number']]['NP'] = $resultNP; - - // Each month - $resultN = 0; - foreach($months as $k => $v) - { - $monthtoprocess = $k+1; // ($k+1) is month 1, 2, ..., 12 - $yeartoprocess = $start_year; - if (($k+1) < $start_month) $yeartoprocess++; - - //var_dump($monthtoprocess.'_'.$yeartoprocess); - $return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']?$cpt['dc']:0, 'nofilter', $monthtoprocess, $yeartoprocess); - if ($return < 0) { - setEventMessages(null, $AccCat->errors, 'errors'); - $resultM=0; - } else { - $resultM=$AccCat->sdc; - } - $totCat['M'][$k] += $resultM; - $sommes[$code]['M'][$k] += $resultM; - $totPerAccount[$cpt['account_number']]['M'][$k] = $resultM; - - $resultN += $resultM; - } - - // N - /*$return = $AccCat->getSumDebitCredit($cpt['account_number'], $date_start, $date_end, $cpt['dc']); - if ($return < 0) { - setEventMessages(null, $AccCat->errors, 'errors'); - $resultN=0; - } else { - $resultN=$AccCat->sdc; - }*/ - - $totCat['N'] += $resultN; - $sommes[$code]['N'] += $resultN; - $totPerAccount[$cpt['account_number']]['N'] = $resultN; - } - - // Now output columns for row $code ('VTE', 'MAR', ...) print '' . price($totCat['NP']) . ''; print '' . price($totCat['N']) . ''; @@ -500,7 +506,7 @@ elseif ($modecompta=="BOOKKEEPING") print "\n"; - // Loop on detail of all accounts + // Loop on detail of all accounts to output the detail if ($showaccountdetail != 'no') { foreach($cpts as $i => $cpt) @@ -537,7 +543,6 @@ elseif ($modecompta=="BOOKKEEPING") print '' . price($resultM) . ''; } } - print "\n"; } } From 0a057c8277b26e2429b51f9f2c54e81a0445fd6c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 22 Nov 2018 20:47:53 +0100 Subject: [PATCH 164/199] Clean var_dump --- htdocs/compta/resultat/result.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/compta/resultat/result.php b/htdocs/compta/resultat/result.php index fcb329dd730..16d2631686c 100644 --- a/htdocs/compta/resultat/result.php +++ b/htdocs/compta/resultat/result.php @@ -406,7 +406,7 @@ elseif ($modecompta=="BOOKKEEPING") if (! empty($arrayofaccountforfilter)) { $return = $AccCat->getSumDebitCredit($arrayofaccountforfilter, $date_start_previous, $date_end_previous, $cpt['dc']?$cpt['dc']:0); - var_dump($AccCat->sdcperaccount); + if ($return < 0) { setEventMessages(null, $AccCat->errors, 'errors'); $resultNP=0; @@ -422,8 +422,8 @@ elseif ($modecompta=="BOOKKEEPING") } } - // Set value into column N-1, N and each month M ($totCat) - // This make 14 calls for each detail of account (N-1, N and 12 monthes m) + // Set value into column N and month M ($totCat) + // This make 12 calls for each accountancy account (12 monthes M) foreach($cpts as $i => $cpt) // Loop on each account. { // We make 1 loop for each account because we may want detail per account. From 21b429836a24d60fafa91cde226818c82c72ee1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 22 Nov 2018 21:08:03 +0100 Subject: [PATCH 165/199] doc comment accountancycategory class --- htdocs/accountancy/class/accountancycategory.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 043021df367..99b922419c9 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -78,7 +78,7 @@ class AccountancyCategory // extends CommonObject public $range_account; /** - * @var mixed Sample property 1 + * @var int $sens Sens of the account: 0: credit - debit, 1: debit - credit */ public $sens; @@ -722,8 +722,8 @@ class AccountancyCategory // extends CommonObject * @param string $date_end Date end * @param int $sens Sens of the account: 0: credit - debit, 1: debit - credit * @param string $thirdparty_code Thirdparty code - * @param string $month Specifig month - Can be empty - * @param string $year Specifig year - Can be empty + * @param int $month Specifig month - Can be empty + * @param int $year Specifig year - Can be empty * @return integer <0 if KO, >= 0 if OK */ public function getSumDebitCredit($cpt, $date_start, $date_end, $sens, $thirdparty_code='nofilter', $month=0, $year=0) From 295d082da12b67701df29da43a6010aa6964b680 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 22 Nov 2018 22:56:38 +0100 Subject: [PATCH 166/199] Update accountancycategory.class.php --- htdocs/accountancy/class/accountancycategory.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 99b922419c9..9250d2190a9 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -717,7 +717,7 @@ class AccountancyCategory // extends CommonObject /** * Function to show result of an accounting account from the ledger with a direction and a period * - * @param int[array $cpt Accounting account or array of accounting account + * @param int|array $cpt Accounting account or array of accounting account * @param string $date_start Date start * @param string $date_end Date end * @param int $sens Sens of the account: 0: credit - debit, 1: debit - credit From d21abc2dc36783a6a2856453e4dc8dd3a25d3353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 22 Nov 2018 23:26:04 +0100 Subject: [PATCH 167/199] Update accountancycategory.class.php --- htdocs/accountancy/class/accountancycategory.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 9250d2190a9..5b3282a3b29 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -78,7 +78,7 @@ class AccountancyCategory // extends CommonObject public $range_account; /** - * @var int $sens Sens of the account: 0: credit - debit, 1: debit - credit + * @var int Sens of the account: 0: credit - debit, 1: debit - credit */ public $sens; From 322ce410d782a7b280810ab2a32990c5999035e6 Mon Sep 17 00:00:00 2001 From: fappels Date: Fri, 23 Nov 2018 09:42:43 +0100 Subject: [PATCH 168/199] Add missing paid field in fetch sql --- htdocs/expensereport/class/expensereport.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index c6debbe60ff..6feb2225cca 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -456,7 +456,7 @@ class ExpenseReport extends CommonObject $sql.= " d.date_debut, d.date_fin, d.date_create, d.tms as date_modif, d.date_valid, d.date_approve,"; // DATES (datetime) $sql.= " d.fk_user_author, d.fk_user_modif, d.fk_user_validator,"; $sql.= " d.fk_user_valid, d.fk_user_approve,"; - $sql.= " d.fk_statut as status, d.fk_c_paiement,"; + $sql.= " d.fk_statut as status, d.fk_c_paiement, d.paid,"; $sql.= " dp.libelle as libelle_paiement, dp.code as code_paiement"; // INNER JOIN paiement $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as d"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as dp ON d.fk_c_paiement = dp.id AND dp.entity IN (".getEntity('c_paiement').")"; From a06b032c23590c190860d2e87795fa62943d8375 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 23 Nov 2018 10:53:04 +0100 Subject: [PATCH 169/199] fix trans --- htdocs/langs/en_US/website.lang | 2 +- htdocs/website/index.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/website.lang b/htdocs/langs/en_US/website.lang index bee23264d7a..55ca8ceaf3d 100644 --- a/htdocs/langs/en_US/website.lang +++ b/htdocs/langs/en_US/website.lang @@ -89,7 +89,7 @@ CorporateHomePage=Corporate Home page EmptyPage=Empty page ExternalURLMustStartWithHttp=External URL must start with http:// or https:// ZipOfWebsitePackageToImport=Zip file of website package -ShowSubcontainers=Show included containers +ShowSubcontainers=Include dynamic content InternalURLOfPage=Internal URL of page ThisPageIsTranslationOf=This page/container is translation of ThisPageHasTranslationPages=This page/container has translation \ No newline at end of file diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 2082b9b70b6..82d30484a54 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -216,7 +216,7 @@ if ($action == 'seteditinline') { dolibarr_set_const($db, 'WEBSITE_EDITINLINE', 1); setEventMessages($langs->trans("FeatureNotYetAvailable"), null, 'warnings'); - dolibarr_set_const($db, 'WEBSITE_SUBCONTAINERSINLINE', 0); // Force disable of show included containers + dolibarr_set_const($db, 'WEBSITE_SUBCONTAINERSINLINE', 0); // Force disable of 'Include dynamic content' header("Location: ".$_SERVER["PHP_SELF"].'?website='.GETPOST('website','alphanohtml').'&pageid='.GETPOST('pageid','int')); exit; } From ea7c77d788ed34de6935c592a4ce76daa1c52eb4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 23 Nov 2018 11:09:27 +0100 Subject: [PATCH 170/199] Trans --- htdocs/langs/en_US/admin.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index a5f81fb11a5..53e5ab333a4 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -501,7 +501,7 @@ Module23Desc=Monitoring the consumption of energies Module25Name=Customer Orders Module25Desc=Customer order management Module30Name=Invoices -Module30Desc=Invoice and credit note management for customers. Invoice management for suppliers +Module30Desc=Management of invoices and credit notes for customers. Management of invoices and credit notes for suppliers Module40Name=Suppliers Module40Desc=Suppliers and purchase management (purchase orders and billing) Module42Name=Debug Logs From 1cc6763950f748167e803ee4b5bd00e6101f6ac6 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 23 Nov 2018 11:40:38 +0100 Subject: [PATCH 171/199] Fix order billed online payment --- htdocs/public/payment/newpayment.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index 836540e6a58..1da245bf933 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -1437,7 +1437,11 @@ if ($action != 'dopayment') { if ($found && ! $error) // We are in a management option and no error { - if ($source == 'invoice' && $object->paye) + if ($source == 'order' && $object->billed) + { + print '

'.$langs->trans("OrderBilled").''; + } + elseif ($source == 'invoice' && $object->paye) { print '

'.$langs->trans("InvoicePaid").''; } From 6a232a8754c11c6c276644a16684447d0813fc13 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 23 Nov 2018 12:27:24 +0100 Subject: [PATCH 172/199] Update newpayment.php --- htdocs/public/payment/newpayment.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index 1da245bf933..6931b3b77f6 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -1445,6 +1445,10 @@ if ($action != 'dopayment') { print '

'.$langs->trans("InvoicePaid").''; } + elseif ($source == 'donation' && $object->paid) + { + print '

'.$langs->trans("DonationPaid").''; + } else { // Buttons for all payments registration methods From e8ba8814cdee6447097375fc55a1816db1fa6b21 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 23 Nov 2018 12:45:37 +0100 Subject: [PATCH 173/199] Update newpayment.php --- htdocs/public/payment/newpayment.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index 6931b3b77f6..435655eec3a 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -1445,6 +1445,10 @@ if ($action != 'dopayment') { print '

'.$langs->trans("InvoicePaid").''; } + elseif ($source == 'membersubscription' && $object->datefin>dol_now()) + { + print '

'.$langs->trans("MembershipPaid").''; + } elseif ($source == 'donation' && $object->paid) { print '

'.$langs->trans("DonationPaid").''; From 9f610c2279070bc6e44fffd98a4408b8defaf62e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 23 Nov 2018 12:46:32 +0100 Subject: [PATCH 174/199] Add website template --- .../websites/website_template-corporate.zip | Bin 2292383 -> 3837617 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/htdocs/install/doctemplates/websites/website_template-corporate.zip b/htdocs/install/doctemplates/websites/website_template-corporate.zip index 0c45f47e84ff1179a50844cd263604c8a9aa56eb..e3bc4063fcbabc126a7a30ff077773dc110b27b8 100644 GIT binary patch delta 1673814 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%0D@+yx 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

DfbV)-jkCc=Eq<;y=Qg10w$Y#HxPFrVl@CnQ za*2ObW@<3-ba&O#1{ZBknrAx9DNZXJydudTZg@UP5o(=PNf4^^slUOVa!{G%2lND0 z^-HscWzeruQ_O$N$`p@&5W;Z|XXnnO38AGC03@yXG8wT2XJ5lSVCN6Rb-z>+@5hNB4$JtiSS>Zc>({099DGejG9r zO5mffKwh&ojqovI0x4Oig-9>T94#MLcdwo8JQO#h_4LiHPk8!m3oDwgMdYT{!xdE%~AiVWms zC-!_?!&4A`l{*^lXtB7Dc=G#Fb}> z%+;S#r&%EQFV7Abl!@sn!BzvtoRoj*YmVZCKfiN4XG+cLvj9KKm834a@qCv7oduhO z{eVbH2n##P^-^!&NP|;VDynPzRz{lfIA1&bwry+aXGOMK564zd3E2*_InTQWkY78B zP)l}vVat3Duxu#e|B6PB6Ix#xLZ{K12-i}1U6TEG$wz`B7H_gW;Ht@1B@%y%NLwz0t>MSFE;NNd4}K3m6=m@{fN%5FGKP8>PR=r8U#DO%1ldbrr*G(Zo!st$RM@DVAf- z)dnlF6sd(hww)&0f*{jc>&UR>i>HWGD5zo|>r}=acuz{yI^R#qTJ;^oVmmbqvjN_4rCxb(8k@1o-yG?(->5Q6zk}#Gl z+P-1Fsr|n6mwXOhMOMEle^$_Ut!RGLxvEzsf0V$Ky`Z*52N2SD67=zvKI@DMD^u!* z5aH1iOSBALDQiPLOX|C@g#J?>5@rj%nmN?a7yD|?22SF7$Y)w=)haPB17wdPZJ!HO zSX~l2l^}v^Na9Xm6oh}#UHA*_Lxw|$`x}(Q>S^+{es+O2aRN{V*0THB#>0+pLQkP_ z5i?j|ECs&AMhnx7!o+!2#i`4Kl|VnAMFFu(&c2$}>~H?}O26zH-S8CnxOue-nl2V1ihpM$#M z)KxL)8I|oI4J6FKjllFpq)Hhx;^H~Y@)5SWex85E?2hkuok`2fls=v`i|M%e5pY%QIcpCk$*uc~6ve#3A2m-x_GC1bWVHpH?qSU{Hf zP*%HMj8%4^1{`<~Sz8xFJY+NJz(84+!)s!n|*$OL_7To4bpK?9moE-pjNI4NF4 zMHPFzx4Gig(0>uy&T>b3I8TU(*tFmMD&B0$N&kPh^>-uMM_hWGzYw=Z2)~160@uk$ z!I@^ayBM!9?S;b%stJ`Qy=g1X7c2=NS~k85gC zRv~|@MsJpUy>r#yn86Ml+jwUqTu#>%X#-IDD+`XzHMCd-wbffdP_cA2zv{+GK3EBy zhVP!xr&U|%F2^d*ScBpq9Z@7B^E%9a8SOFsqbC0M*Ke{cDPRM{XtM z)xJ>8gequPn)46WL+L~%#9tPo1+jQEh~aG%SF%e!_s3}vyLzBg*=R2h(ong1!+y_$ z)y;tzRg252bVW1xC-XHZ0o4sGA`{m(JwcgRtB>@3?tFSR+Pl_;u_?p+!@zB!<+6VW zjf-zr2*O7Jz=z)Xk*=ii_ixYz)6Kh%@g$!rWu4)p8!RR@MK5$iTZR*lk+KULNW{`+arBp;N!MxE9wi?|77*H%^B4f}fpIriUNSRP9J2|6M68xc=9h zjjuCsroOFqHoGxBy+6`BsouLjx#fR&Qg_E|p$!cU)hsCj(3gy#R6fp5;k{I;0EUQk zQZiMt-SZeY;N@qxpz&+H)ZTn%W_{cKUE`FZlr&jW?N3|ezKDYs zR)hx!x`@2NIYW*YF*1ee;$h)xIifW(IRZJF+lIbW=NI%rCbS?HJhkES+n9fGKp7RH zvbq{q$tW**S*crTYYK(M?te5;_l;X&<9yHO@lxN(sY!p5e?V80EX+IRBJOSHQuPM^ zi%`1E>yfQfch71lTnQ`g=E>ZUBP>sMg=p6b(f+#lG{7U>$Rbw zue>4|AD~TOunu_Z?(x5mQec10%j-3Qcrq(q;Usmm3|pEaHK@$DmN5D5krAW|P&HnS z^voMn2Gx>sHz2d_{Lx9FUWx_%G<OQThb|XrfC+6%w_$S z)N;Hfa_qe=MJev+k!-KSG*sfPKC*7PyEcA?txx`_h-v=?ub0vVmIZ*`j={BNA?ccS zxF(L-aWJ@%sHhP~nx225mI8T?yO<#dnU$55yymQj0~#9ab9M0P##|@7Dj+BOFW`1eIDG2-CR%_^0)Eqm#1fYPZ07ced`YTN)HUzg-3$VFe8oc@0kLh?Cup_JXz*7V*Picy^}iss zCVa*dyXCcE+4q?YBQKt z*j);{1`WV*xKZBz`A9lGwDgj=H&m-44XG@$1h=JQSRr}6}slOoal3bG@T{3|q zG&oRWLe=sZyhp+FUR>2Z)ECs)&@~zPD$#`Uj-W3qXHI{U)0cDpft&O8?rZ39`p7Y{ zWF1RZ(NGy5b=KDU|9fM%kweV1OD4HhHc^}&uY(1D{8Y8gu!40$W}&~ZezRtkeR`^% z=lOL6Re~C<6*as&VU`E`;VO5An4;mVLEoAtx-6@arf4i!;6DSv;0}4`QDGW*Y55L0 zvIu;VunB(wUCWVoQdyK0uoZL)SsTi%X>?=MPh*&Tv{C}G49m;_sH2Rrx(*9YqD?fz z;4pn-1hVUPA0x#?lV%nl?pqv{N} zhyhakQA$DQ_Tee@R~vL;jg&-DeIZOz5TiM+0L*`#Wrk27Ox14hZ&TB&S485ePDgCph$8^_rACpwEX5Yq+-3j@ zbLx5+i(kH5+DL8~`a(J|>DjPk-&|H!He~%74-Jz+vJi?PCFN~M8i&%iPT-*HwH@S*olkGCx0X@-M4qpF2y{8a4%ng}LG>C?9xt z@+zIf&KpBQJ_^@!)20mhFvoeK!Qb1#{_>ImWKX($# zt6(#C@p*1qTa@7K!fk<5H$)1?xwTkFWAcCJs`sA{@q!zQ#<3R{FP?+~aAi&9iyG^s zfsO)M`psip+}za91Kjs{zCu+>fVf+qS(RDvHiVS53O*U=bkc&pD+!y*;>brA(9+4| zZb<`GDxQ}V3%nh^=b;Ou*TPE^1}PLUne%4~sKRw?e)8BCyZ_Vc)n|!QQ!b0@sCj=u z_2tL$fRoz$VWWqV!N8OEite@}$nEz{3T}s=wEA4^dv2w^^`=Y})|6=3=HX&PCxgjw zGhD`Bs*t~@s31MNarZR;isV81bS~OAYm%^<;S>cQy~h~%R{491Wk%`S#uhmAU-y-0 zl_8PxY5K(r5J@%IOtz+iw`qYRCV+px5X+q?c96V408wo)#}uYS&)x9*;s?rFh6VXM zs08|Un~q6~eGm`F%>cVtK+AR@qeLl~cYvY*h)aw`*HDiV-X3`gFjg%H|qLvO_mW_dsrd96%)=Ii4IZm9SI23x&rv-?497f?~?{$vXvO&!p z64?x&T_B!w>EOX?)M6QQL1ce$Mi&Yx!%0#^6dPU^Gmg6s=z<16I3GH19}7h{IvjmA z>4q?7hw@^vx=@dUic-(TXaRd{$P{afB1Y52H5pq6PE(+~hk?B2sSmJb&Ti19Bqi*O z4u_f>vr&N^rV3K1y4c&_zr45?aW;tjlEQP?x&Rt#jOq8;C}JZFC>0PAUY(kj8I z_Oz;Ed6jrhU&|#Oc;+GnW6M(+7cEknxB)?!8S2#IWQ7F1KWr**Ov&Y4^mO7jTC_?x zFmar>wLP|44Byl;vRQY3>2vG?nL zT~y@o6`4&|-NuAoV@`ka*~Ut5gP5w}QaILT`rIFih`zp~z(r#mu$F0=nL^j)#NC=u zDC3K!lm7`#oOK1rsSFpkv>Vn4wzVcs+^ByS=u@UTXliSInhZQWd3xw-luqv~T#s}~ zfuaS8F5?MZmN+aE_#BNs+h3)1pJg(5ap$aq-90TKdq;hWAwYlgxhS4##zA9M!kw9F z!kV&g73-6@G1qtOt1vR>Bf!mT0>m^$chi^s@3fC0f4EbFF=g*xgraD^J;#)~lYtuq zUTJugmpSURKRw7-Vfapf%Z|~2{c+7fV~+Wf9!|xGi&fR&Rp+75G{Dsff>89b!}!2b zZEi;J&oQ64%Lack%VIV8{&{ENQ3fT&zy2YOsN4ffmV+V-FGMKf!m>CUNP%rRm01ge zowBXdcg7q`QhTj6ZOpCrJ`cu1Q1U+6GweO@jNI?NZBFGalpG%v!Hb|xY_x(lBm24H zHDiYtOve)r{;xLaCQVie5BcnR7D#s<`lPo;EWUizsV;wc%m}>9dpdf|dTM>TK6=1@ zS|bcNZX5V^6mUg&KOcCua;?RAr+1_0UBK^gHeJRR@GuwnfJbxF?-m1Oj6=DM!K}}c zh#8f3B-U8yh-E+_&lcJQ8b1P<$f5)0Rt61 z3@BN%N;5u`LMmo#dBsIei-OSk26izYx*Lqe#&Kl>CGwEPmQZw{oM`TcFrW&X4L^jD z#Iuc>fziemnmO>Ygak>Iuj(EWFyV@g9`&?8AHLz6eBv%)luebV#EDbjtp_MXvxB2| zv&4U8l_u7cs}4w0IS->Lt@=8A@L9PU8&k_F9YRfch`;znJzm06{CBHm!zbnBpAogP zYSz!fQ2_=C$Mxc{qB4Q&*fd^WvinB*Kii1s8I^3ffSB7HJl)+*yXm?G#uwz?b{<)I zlQIv@T+GbRS6JJ|c>0LJNm+U-YgoYT{?n9I|nOz=N;RUu!v5s zum5UA-UVxCYM4X&H5vD?aLz)y@nq?lbWy_9q|u`7brHl6^L}^FDgJjw?k##meXW%X z4oF5-|8YH7+6nBJwHZ7EI$)gwgrk3W82jE&iH(yZrEuNa`Bh_Qj7>V*pKp9p8G^w9 z$-AHUV^Jc|SpPW_0goagug~WAxF;Cg=QlOw30ib=HdUPD@yx2Psm8pvR9LCy*KFZh zDml5?(WU&*TNC3()t`T?bBcMrsDbFXC;nY5d>8_8(>Hzr{G!AjJ=JLnz9xU!78$^h ziS6r6T{|~_k9QfPRFN;G2CnS|DzX&V)>_qeVgt|3FXqLUqXuM12EW2>vp?8X_^VJ7 zK>%{7yG}S=$?@l_n=>o8^*TRi)%N~=)1N7mY5^>c9seLPdp9@>(?If9+FK|P04>x| zv4IhwuLz48IC*xLqgqM7ZeV|f6#(nm@QVMqEZtn(pP%<#Jycdwjb&1VvY3b2I#3P1 z3*IJ(Uo7W%Z)ehyt!P6$pqxwAFkdInp4FP7@?07RH^jJM>5a0FzrVkqD<(i8t0?)k zU7{w(@YI$>NuSrePn(-qyvF)18Zw)2ivMT6=0J8%u5HC|{RhRO15bZS%tv<-kB%S) zZScljr{~}0{`iDSwqZVOm4RtJ@QjU!HbfJ1&)Y(eeiB+g<0DQJ9}d(cfxBJI&kL7) ziY`s`pi=Cll`Ak3{COd6io+)R&5d8Q$vAb^>0wRsrulKO>lW_YOhiml%L6 z-JrfPa|q&@a8P=KF-w0(Ttp#beb*^I*+d>kR6P@AjfT5w+H$jWb=dqGlL&{w?F;d< zY|Ri%;K0VY*Hiq8(i<-+gHOy|;9a^T$779J*eKqw2!2x zt5aG~GHe{3z$$;9A(ocWZ;KGmbP|k$9yXd|nI2##9q`#VR&e{gT4+Lu#H7)qg;JmW zvDq~qU*MWwpe&`P!Jh0!mlBMFzO!_?xAUzDaSu({pDTg6=X71>*4cWUL9z_ZoVnBc z12{ZL2-YQ*^|H(eainDuv=*K0=o@>>!Tp`e4pq0oe+YlS(Hl(0mWUgfijp2WF9gNU zKSha42?0%V0wSnBBJ3uXZSF45Qx<5z`|6CotV3&^D5Z{?kq@G2zsnMRj680#bMm@Q zjUIIZuL&Ot0uOWo`#qMrP9z`3pZbk%N4m~y??)ta(jKbspX%?AJFcP&uXpvqenb@O zG07ATlL~*)3UpZ19jYuAVN)IRKbOCv;|CphJ{IIS94C<4)1DAb?sd!?j6X0GYEvv+ zyr7>zJ9?mO^J43fmLNbBxc-%7=mxbR|6UDVjraM-_`DqTB%hp}NqloqfU(?Uc8Q4j zsd`BXgz=_<_`j14L+tYX*PA|anvOWq(Ua(7|KooqnthQg_Sk@CW61_uk|kAyaV7)3+)^gg>!^ z)jDZlH=E>Zx!>7_sG%gZ-9F4n1?$bkIvW4d#{KHt{9PWbI{Inls`IL2h63==ohU<( zHXJqi$HTy(aZq^U6Fc3nDgKeO`&+mj>LPy===@m+2Mv&mBw{im@8mQ3K%GuYbNEuG za?xB*EA18ipR0}`bH1I6s>(f25t)=BKKrTb;A~;Q)LJf-4f;57NNhsq(GUNOT;-d;cW2{AsZQO0n1@w&$=bt+*BK3a) zSpqTP zWsJ>+@JI%jM^I(Ku}^Y2REV&`N~b zXiFL7B_h4*or@G!PWp{>Q_GkY8R5%X?*Y9|{T=iB>MrUN2L9z$m_|17xQBl%9b~s$ z6cg6leI_ocS9?i#Ia0U^W!21;)bq~GVyvp?xb=NqvT5zapZmErcW$?@W^jZUI;ja_ z1#`pwR=lVqKVs#V0KIczq%pau+9dusvyzmgVK-3WJmq;BN{)5LHXO{92x9DJIr?|! znvMD}?J_1d3w|pgqw8D?FF0$VRM+zt5#@9nUtsG!=i=dJc;)AH$r@ zdY0#N9)2seDfNUzUf+(qEm&1p{8n^S@K}9AJ5jCPiOu?)GQ4`6mJQyu)4T&LO#36> zS)LDkqy5o&^vZ&!-(heq#e`KZ^Gyj~wx|h-+Q3F{=tDir-9x9=@Y-i(I0UwDm!<^) zmms}!)FNHWs-I)*2=#xtP|>HLjk2UdVcMweAx^@}tJuk^t@fm0i)<}6xglZo=|3)1 za_1Q8&*6~TyN7_mSR&u{-WP&*>*g0afI?E#Uzkjy5nhnunLL%c54mc_s?9y zR&g6bxkmrcTdnLRMqv_!b?wJ;o8*IjWCK6@bFKaZ0SZpJ5;%Vvqk^&-Ke1&?!YFmq zbhdvD5$?0soX2WW0;P?{A`H^Q(zt++DeK9i@t`748fHxDLws!UkW8(tebQK7<3{aW zug-@9+K#JDq%Xp+grQLZ)6AZP5t!A6nUxyKTMk!P@_Y7|f(xKQnN4|H$_r3R!TO^e zH8-|Sf-7GP*DHUAm8PcE6Bj0>PH2Tp$zf2~DN=-xOhST4Smjl4i^6#GNm!pP79UP2 zuunWsL1)!aNr`4LBcU+Jsz~7*5H`!!Fnw`4fWw^CSk^QL=S>6tn;$B+C5>7Nwnedg z`LT6AyCg7vbYdxt@^?W~08DB9ZQGZrXz*7MSx{39KLCHiO>B)p0@Mh7_0o6kl#$*9zrH6k~u=yjEKR}4nL!t6Lf{7_iOGa3Wpvl8ny~I9>kL8()qYo~B{+l2v z*el1^!K|`&!TKMwwHV*+7z3bM5S90pU@coFcvAVEuPuD+9hxmZuM)nNS&lYfAxI#< zN%%CsE)9PzldAACV%8exuWw-^{eaYg@M|d+;svO>nQ)VeGAmnEBP^9qKu4S(Z+#Sp z@lWe+0#PwOtL#sFdo_!#p~l3YN@!Zd6;SjEYxyx2`V>9|@`4mCl}yb)LDo3M+q>2< z+n}K_6BQe#*r|Mzm@yl4YkYKGr652;Yx+d~)H{FX!ENRF9#(r6ia*rmjc9V{7YP^u zMycOe`=JquvBMEz?^(^6Qh*TFiA+#8g(I42#X?k*W|-zrAuY=X%+k1|S<>HcRmfpd zk419q0r$yWcj-^3Mn7us08clPcjJ$Ur^EQbSnd1P`}SvOtCJgpPuuEGW#f-Wl4*d1 z98-U>xecgAeQr!n<~~=qQ^>#NJRVI^F}GQ&vuHD zy8T|VlfJxhVTG1FsE|#3P(Gw#z7c=1yCqN5yZ{FC9%`tNzn0hYj(Z>UX}Ee0B{trc zZK;Q$?oBS2RY47z<>%3{u7qLhN>~ zgpgppf9M6S-9M@-)MY|>E)vTqF{Q|jeE~Hm^B-LJKwZXcz+Wc_G0F7wVA_9GWZRhY zs(P6z%IDw&JW&sckM$gPlktz+lSPr2?8p?Y^Uvd4uG}E%al|hSc~C# z5yuF+0;~MMw@*LU)H16hdNqG@kAvWzm%OTeHo3r!_fPI`v(hb@28Eg=G=nx;kE z2AO<8<8~N2!v+a%K?+y;GpV&_!P>)D9Ty@dDMWMAnV)1f^$21Gd@{{Vs6+_3tA?+B z&f7--T&S$PiLoYKTQ+~+tc!B7)qSq^>B!Ym!Qowy{BTyCyZ5gM>s{g)A$Qw8 z6E0W`qQ@MrbQg**WFdcRWr>-YshopD*~-|$XG=NQ=Uy4^*CxZu!;bEZ>Bi4KX+zr< zFB*9XkYJ`TmR`E{ADJZb1#rvkV1X!I?N{`2HvaBHQ;^y@yF+IgXR($&PoJnAZ)rV} zIOJOe;j(|Dsiw@&NXNAUl5R0?3y*2v%zisC%~3I|V%HC9_=A6C1_d&V)Vp_>##QkH zL*h0_|C*$5m?Dob`!dTD^-|=7S29PeVENai5zG%k53nJG>DODX-TP6pp{qJ@@3>t{%ef1 zX}3pCzp2Fv+pvEWn6bmrs_An9@30j6^VB5DNPu;$Hm>hkTDd`eWnz52y@~_0-mtmo$~JDGJI(#fiizm=#|I@_Rt&04&^sY}dJH zWgC2KKc{8I=H3!70c_(8|C})CK&|Mhde>yM)U=MFBSnU;cdX;zvE@6M+9ho?Bqf+&rKVk*7wNzNcNMvwL zQfvw4iETLcpM^14kX|yRKt6t^e8I+T{Yvq4^o*O+g(zY!zN)J3XJy6wWF#~i9xluW)_Kiwp zrGKCr6h#mbCEtLX5%XV`&}@B$R6mxOQz?G}jvplNL&ptoC1uLdp}|#E%1$d70~D*D z^=s4nqf@8KVePfN1D4(YLRzLGNE(I7!e^f z>wK4g=rZlhvu{WFg2D`^&Na*WMS$6d|3lMRMYZ+xT{uvR7c0dn?i6>2Kkia2cyWJs zcc*A^cPkPo5?o4wP&7z!*WkfjKHiJ(td)ygWM(q+o4xn5&a86+t?j?%bU%U}kf^Dt zRN`gFN$qR>LmdC2>hU0Z_Ty3g%x#k!9r>mCSy3NXoyQclc*<3$Yq#`gPs5WU3P^6<6 zT6d5ryjfgmf=Z<`#~Dj4p-OB(=MHLOyt-`e@V?zF61MmZLdpmez@u34=g5WjzJQ$X zjgfvgvYrRP&$mAgd2R`007E&0CPzjV-ST}Cb1k`?l3AIg*keo1uC|^M_}72CIyx=_ zyaGI~PCMc6lQRj0Ms@18MFiW|4?T>arFnxq$VgOu*Uvhg-C3%F*l6zbslGiU*v@2L zkB>Y z)+jT~!nN`-wXo|}xc9M;QmTJL)j0V2n&Rb5&a8$vyY`38{H9t#UR#g^(=}r6{7I~0 znLe>*CL%(=)#bpYC;q)!1*}`6ei?3JXxQO|1RTp$I&F_2s;aITy)3n#x4NXGb~WO+ z8#Kj~bOJ+23@2J8?nKJ5n|=f6OkR41QPqSJPpTI4b;#h<3u1AHEDZhK#&gP;2; zh=1QxuP$S-O{lI=asZw;L+}pUu&7jnZg$+bU`28$^Ak{LMW*?X>r(gJNfHI-WB0+; z*4_TY!Q#CskLL7B=j(sMW*(Q-@8fG>1W(*48D5hzSLkI}8!NN9di$Ht-TQb3d5V!G z{$WI^^nig*NeD_nFY-y+rk2-(0gq1K}a8=S?(1h$W znW0ghNnR3m{h)PbrgM)VYc>9NtG^Qy>>c67{lrwYc)lrCGY70r-T~_@k)~<3{~4Tk zCGXmBC|P#Gm6!;&Eo)XgytaY*!w%pa6J>1K@L?a#PtyP+P(|L995w~+7uoqb8ZN4c zK)38|C=8>D3NwGK@!#!fz(2?98>}e#JjI;?E49ysB0gt`Xddh_KiX~Ch^VBBaDLRz z{B^|ke`cs8?7d!v8yg$?iFLZ3oDGTJf8X|rli}LC

'; @@ -2497,28 +2497,28 @@ else print ''; } - // Incoterms - if (!empty($conf->incoterm->enabled)) - { - print ''; - print '
'; - print $langs->trans('IncotermLabel'); - print ''; - if ($user->rights->societe->creer) print ''.img_edit('',1).''; - else print ' '; - print '
'; - print ''; - print ''; - if ($action != 'editincoterm') - { - print $form->textwithpicto($object->display_incoterms(), $object->libelle_incoterms, 1); - } - else - { - print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:''), $_SERVER['PHP_SELF'].'?socid='.$object->id); - } - print ''; - } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
'; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->societe->creer) print ''.img_edit('',1).''; + else print ' '; + print '
'; + print ''; + print ''; + if ($action != 'editincoterm') + { + print $form->textwithpicto($object->display_incoterms(), $object->libelle_incoterms, 1); + } + else + { + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:''), $_SERVER['PHP_SELF'].'?socid='.$object->id); + } + print ''; + } // Multicurrency if (! empty($conf->multicurrency->enabled)) From 71bcabd8ebc89b62c3ad7459b9738c2af2376cb3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Nov 2018 10:23:58 +0100 Subject: [PATCH 191/199] Missing trans --- htdocs/langs/en_US/dict.lang | 3 ++- htdocs/langs/en_US/other.lang | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/dict.lang b/htdocs/langs/en_US/dict.lang index 59e7cc058f4..ad3a24e12f6 100644 --- a/htdocs/langs/en_US/dict.lang +++ b/htdocs/langs/en_US/dict.lang @@ -295,7 +295,7 @@ CurrencyCentINR=paisa CurrencyCentSingINR=paise CurrencyThousandthSingTND=thousandth #### Input reasons ##### -DemandReasonTypeSRC_INTE=Internetaaa +DemandReasonTypeSRC_INTE=Internet DemandReasonTypeSRC_CAMP_MAIL=Mailing campaign DemandReasonTypeSRC_CAMP_EMAIL=EMailing campaign DemandReasonTypeSRC_CAMP_PHO=Phone campaign @@ -306,6 +306,7 @@ DemandReasonTypeSRC_WOM=Word of mouth DemandReasonTypeSRC_PARTNER=Partner DemandReasonTypeSRC_EMPLOYEE=Employee DemandReasonTypeSRC_SPONSORING=Sponsorship +DemandReasonTypeSRC_SRC_CUSTOMER=Incoming contact of a customer #### Paper formats #### PaperFormatEU4A0=Format 4A0 PaperFormatEU2A0=Format 2A0 diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index 317ce72b3af..ec0315b94cd 100644 --- a/htdocs/langs/en_US/other.lang +++ b/htdocs/langs/en_US/other.lang @@ -262,6 +262,6 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used when container is of type 'blog_post' to show a preview of a news in some pages with dynamic content of Blog Posts. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a preview of a list of blog posts). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import From 0367795488c32e8003d1db5957adf576fad0cb5e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Nov 2018 11:09:47 +0100 Subject: [PATCH 192/199] Fix auto jump on record if only 1 record in a search --- htdocs/comm/propal/list.php | 6 +- htdocs/commande/list.php | 8 +- htdocs/compta/facture/list.php | 8 +- htdocs/fourn/commande/list.php | 6 +- htdocs/fourn/facture/list.php | 8 +- htdocs/langs/en_US/holiday.lang | 2 +- htdocs/langs/fr_FR/accountancy.lang | 20 +-- htdocs/langs/fr_FR/admin.lang | 183 +++++++++++++------------- htdocs/langs/fr_FR/bills.lang | 86 ++++++------ htdocs/langs/fr_FR/blockedlog.lang | 64 ++++----- htdocs/langs/fr_FR/cashdesk.lang | 16 +-- htdocs/langs/fr_FR/categories.lang | 16 ++- htdocs/langs/fr_FR/commercial.lang | 3 +- htdocs/langs/fr_FR/companies.lang | 54 ++++---- htdocs/langs/fr_FR/compta.lang | 10 +- htdocs/langs/fr_FR/contracts.lang | 3 +- htdocs/langs/fr_FR/cron.lang | 14 +- htdocs/langs/fr_FR/dict.lang | 4 +- htdocs/langs/fr_FR/ecm.lang | 2 +- htdocs/langs/fr_FR/errors.lang | 32 ++--- htdocs/langs/fr_FR/help.lang | 17 +-- htdocs/langs/fr_FR/holiday.lang | 24 ++-- htdocs/langs/fr_FR/install.lang | 116 ++++++++-------- htdocs/langs/fr_FR/mails.lang | 14 +- htdocs/langs/fr_FR/main.lang | 56 ++++---- htdocs/langs/fr_FR/modulebuilder.lang | 24 ++-- htdocs/langs/fr_FR/multicurrency.lang | 12 +- htdocs/langs/fr_FR/opensurvey.lang | 6 +- htdocs/langs/fr_FR/orders.lang | 4 +- htdocs/langs/fr_FR/other.lang | 53 ++++---- htdocs/langs/fr_FR/paybox.lang | 1 + htdocs/langs/fr_FR/paypal.lang | 8 +- htdocs/langs/fr_FR/printing.lang | 6 +- htdocs/langs/fr_FR/products.lang | 22 ++-- htdocs/langs/fr_FR/projects.lang | 14 +- htdocs/langs/fr_FR/propal.lang | 4 +- htdocs/langs/fr_FR/resource.lang | 2 +- htdocs/langs/fr_FR/salaries.lang | 5 +- htdocs/langs/fr_FR/stocks.lang | 36 ++--- htdocs/langs/fr_FR/users.lang | 7 +- htdocs/langs/fr_FR/website.lang | 24 ++-- htdocs/supplier_proposal/list.php | 12 +- 42 files changed, 515 insertions(+), 497 deletions(-) diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 61ad93660b6..937160f7bb6 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -425,13 +425,13 @@ if ($resql) $num = $db->num_rows($resql); $arrayofselected=is_array($toselect)?$toselect:array(); - - if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $sall) { $obj = $db->fetch_object($resql); $id = $obj->rowid; - + header("Location: ".DOL_URL_ROOT.'/comm/propal/card.php?id='.$id); exit; } diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 55e6e2f8ff5..f26d7b86b44 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -401,7 +401,7 @@ if ($resql) $arrayofselected=is_array($toselect)?$toselect:array(); - if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $sall) { $obj = $db->fetch_object($resql); $id = $obj->rowid; @@ -410,7 +410,7 @@ if ($resql) } llxHeader('',$title,$help_url); - + $param=''; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); @@ -479,8 +479,8 @@ if ($resql) print ''; print ''; print ''; - - + + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_commercial.png', 0, $newcardbutton, '', $limit); $topicmail="SendOrderRef"; diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index eb7408cabf6..6b0164058c2 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -541,17 +541,17 @@ if ($resql) $arrayofselected=is_array($toselect)?$toselect:array(); - if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $sall) { $obj = $db->fetch_object($resql); $id = $obj->id; - + header("Location: ".DOL_URL_ROOT.'/compta/facture/card.php?facid='.$id); exit; } - + llxHeader('',$langs->trans('CustomersInvoices'),'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); - + if ($socid) { $soc = new Societe($db); diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index 3208dc36f75..729899a8ff2 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -605,10 +605,10 @@ if ($resql) } $num = $db->num_rows($resql); - + $arrayofselected=is_array($toselect)?$toselect:array(); - if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $sall) { $obj = $db->fetch_object($resql); $id = $obj->rowid; @@ -617,7 +617,7 @@ if ($resql) } llxHeader('',$title,$help_url); - + $param=''; if ($socid > 0) $param.='&socid='.$socid; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 38c3ef10a2e..9a53b31c8a1 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -427,17 +427,17 @@ if ($resql) $arrayofselected=is_array($toselect)?$toselect:array(); - if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $sall) { $obj = $db->fetch_object($resql); $id = $obj->facid; - + header("Location: ".DOL_URL_ROOT.'/fourn/facture/card.php?facid='.$id); exit; } - + llxHeader('',$langs->trans("SuppliersInvoices"),'EN:Suppliers_Invoices|FR:FactureFournisseur|ES:Facturas_de_proveedores'); - + if ($socid) { $soc = new Societe($db); diff --git a/htdocs/langs/en_US/holiday.lang b/htdocs/langs/en_US/holiday.lang index 8cf5ec2c1e6..2fad3d02a7f 100644 --- a/htdocs/langs/en_US/holiday.lang +++ b/htdocs/langs/en_US/holiday.lang @@ -112,7 +112,7 @@ NoticePeriod=Notice period HolidaysToValidate=Validate leave requests HolidaysToValidateBody=Below is a leave request to validate HolidaysToValidateDelay=This leave request will take place within a period of less than %s days. -HolidaysToValidateAlertSolde=The user who made this leave request does have enough available days. +HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days. HolidaysValidated=Validated leave requests HolidaysValidatedBody=Your leave request for %s to %s has been validated. HolidaysRefused=Request denied diff --git a/htdocs/langs/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index 2520a840997..b8d8c461eb3 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -36,12 +36,12 @@ AlreadyInGeneralLedger=Enregistrement déjà présent dans le grand livre NotYetInGeneralLedger=Pas encore envoyé dans le grand livre GroupIsEmptyCheckSetup=Le groupe est vide. Vérifier la configuration du groupe personnalisé DetailByAccount=Afficher le détail par compte -AccountWithNonZeroValues=Accounts with non-zero values +AccountWithNonZeroValues=Comptes avec des valeurs non nulles ListOfAccounts=Liste des comptes -CountriesInEEC=Countries in EEC -CountriesNotInEEC=Countries not in EEC -CountriesInEECExceptMe=Countries in EEC except %s -CountriesExceptMe=All countries except %s +CountriesInEEC=Pays de la CEE +CountriesNotInEEC=Pays hors CEE +CountriesInEECExceptMe=Pays de la CEE sauf %s +CountriesExceptMe=Tous les pays sauf %s MainAccountForCustomersNotDefined=Compte comptable général pour les clients non défini dans la configuration MainAccountForSuppliersNotDefined=Compte comptable général pour les fournisseurs non défini dans la configuration @@ -160,7 +160,7 @@ Docref=Référence LabelAccount=Libellé du compte LabelOperation=Libellé opération Sens=Sens -LetteringCode=Lettering code +LetteringCode=Code de lettrage Codejournal=Journal NumPiece=Numéro de pièce TransactionNumShort=Num. transaction @@ -203,7 +203,7 @@ PaymentsNotLinkedToProduct=Paiement non lié à un produit / service Pcgtype=Groupe de comptes comptables Pcgsubtype=Sous-groupe de comptes comptables -PcgtypeDesc=Group and subgroup of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. +PcgtypeDesc=Les groupes et sous-groupes de comptes sont utilisés comme critères de filtre et de regroupement prédéfinis pour certains rapports de comptabilité. Par exemple, «REVENU» ou «CHARGES» sont utilisés en tant que groupes pour la comptabilité des produits afin de générer le rapport dépenses / revenus. TotalVente=Total chiffre affaires hors taxe TotalMarge=Total marge @@ -226,7 +226,7 @@ AutomaticBindingDone=Liaison automatique faite ErrorAccountancyCodeIsAlreadyUse=Erreur, vous ne pouvez pas détruire de compte comptable car il est utilisé MvtNotCorrectlyBalanced=Mouvement non équilibré. Débit = %s| Crébit = %s -Balancing=Balancing +Balancing=Équilibrage FicheVentilation=Fiche lien GeneralLedgerIsWritten=Les transactions sont enregistrées dans le grand livre GeneralLedgerSomeRecordWasNotRecorded=Certaines des opérations n'ont pu être journalisées. S'il n'y a pas d'autres messages, c'est probablement car elles sont déjà comptabilisées. @@ -269,7 +269,7 @@ Modelcsv_ebp=Export vers EBP Modelcsv_cogilog=Export vers Cogilog Modelcsv_agiris=Export vers Agiris Modelcsv_configurable=Export CSV Configurable -Modelcsv_FEC=Export FEC (Art. L47 A) (Test) +Modelcsv_FEC=Exportation FEC (Art. L47 A) (Test) ChartofaccountsId=Id plan comptable ## Tools - Init accounting account on product / service @@ -303,7 +303,7 @@ BookeppingLineAlreayExists=Lignes dejà existantes dans le grand livre NoJournalDefined=Pas de journal défini Binded=Lignes liées ToBind=Lignes à lier -UseMenuToSetBindindManualy=Lines not yet bound, use menu %s to make the binding manually +UseMenuToSetBindindManualy=Lignes non encore liées, utilisez le menu %s pour effectuer la liaison manuellement. ## Import ImportAccountingEntries=Écritures comptables diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 943a3398b87..2d332cfa0d9 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -193,7 +193,7 @@ FeatureDisabledInDemo=Fonction désactivée dans la démo FeatureAvailableOnlyOnStable=Fonction disponible uniquement sur les versions officielles stables BoxesDesc=Les widgets sont des composants montrant des informations que vous pouvez ajouter à vos pages pour les personnaliser. Vous pouvez choisir de les afficher ou non en sélectionnant la page cible et en cliquant sur "Activer" ou "Désactiver". OnlyActiveElementsAreShown=Seuls les éléments en rapport avec un module actif sont présentés. -ModulesDesc=Les modules Dolibarr définissent quelles fonctionnalités sont disponibles dans le logiciel. Certains modules / applications nécessitent, après activation, d'accorder des autorisations aux utilisateurs. Cliquez sur le bouton activé / désactivé pour activer un module / application. +ModulesDesc=Les modules Dolibarr définissent quelles fonctionnalités sont disponibles dans le logiciel. Certains modules / applications nécessitent, après activation, d'accorder des autorisations aux utilisateurs. Cliquez sur le bouton activé/désactivé (en fin de ligne) pour activer un module/application. ModulesMarketPlaceDesc=D'autres modules/extensions sont disponibles en téléchargement sur des sites externes sur Internet... ModulesDeployDesc=Si les permissions de votre système de fichier le permettent , vous pouvez utiliser cet outil pour déployer un module externe. Le module sera alors visible dans l'onglet %s. ModulesMarketPlaces=Rechercher un module/application externe @@ -463,9 +463,9 @@ ClickToShowDescription=Cliquer pour afficher la description DependsOn=Ce module a besoin du(des) module(s) RequiredBy=Ce module est requis par le ou les module(s) TheKeyIsTheNameOfHtmlField=C'est le nom du champ HTML. Cela nécessite d'avoir des connaissances techniques pour lire le contenu de la page HTML et récupérer le nom d'un champ. -PageUrlForDefaultValues=Vous devez entrer ici l'URL relative de la page. Si vous indiquez des paramètres dans l'URL, les valeurs par défaut seront effectives si tous les paramètres sont définis sur la même valeur. Exemples : -PageUrlForDefaultValuesCreate=
Pour le formulaire pour créer un nouveau tiers, c'est %s ,
Si vous voulez une valeur par défaut seulement si l'url a certains paramètres, vous pouvez utiliser %s -PageUrlForDefaultValuesList=
Pour la page de liste des tiers, c'est %s,
Si vous voulez une valeur par défaut uniquement sir l'url a certains paramètres, vous pouvez utiliser %s +PageUrlForDefaultValues=Vous devez entrer ici l'URL relative de la page. Si vous indiquez des paramètres dans l'URL, les valeurs par défaut seront effectives si tous les paramètres sont définis avec la même valeur. +PageUrlForDefaultValuesCreate=
Example:
Pour le formulaire pour créer un nouveau tiers, c'est %s .
Pour l'URL des modules externes installés dans le répertoire custom, n'incluez pas le "custom/", aussi le chemin ressemblera à monmodule/mapage.php et non custom/monmodule/mapache.php.
Si voulez une valeur par défaut seulement si l'url a certains paramètres, vous pouvez utiliser %s +PageUrlForDefaultValuesList=
Example:
Pour la page de liste des tiers, c'est %s,
Pour une URL des modules externes installés dans le répertoire custom, n'incluez pas le "custom/" aussi le chemin sera monmodule/mapage.php et non custom/monmodule/mapage.php.
Si vous voulez une valeur par défaut uniquement si l'url a certains paramètres, vous pouvez utiliser %s EnableDefaultValues=Activer la fonction de valeurs par défaut personnalisées EnableOverwriteTranslation=Permettre la réécriture des traductions GoIntoTranslationMenuToChangeThis=Une traduction a été trouvée pour le code de cette valeur. Pour changer cette valeur, vous devez modifier le fichier depuis Accueil > Configuration > Traduction. @@ -487,7 +487,7 @@ DAV_ALLOW_ECM_DIRTooltip=Répertoire racine où tous les fichiers sont télécha Module0Name=Utilisateurs & Groupes Module0Desc=Gestion des utilisateurs / employés et groupes Module1Name=Tiers -Module1Desc=Gestion des tiers (sociétés, particuliers) et contacts +Module1Desc=Gestion des tiers (clients, prospects) et contacts Module2Name=Commercial Module2Desc=Gestion commerciale Module10Name=Comptabilité @@ -501,7 +501,7 @@ Module23Desc=Suivi de la consommation des énergies Module25Name=Commandes clients Module25Desc=Gestion des commandes clients Module30Name=Factures et avoirs -Module30Desc=Gestion des factures et avoirs clients. Gestion des factures fournisseurs +Module30Desc=Gestion des factures et avoirs clients. Gestion des factures et avoirs fournisseurs Module40Name=Fournisseurs Module40Desc=Gestion des fournisseurs et des achats (commandes et factures fournisseurs) Module42Name=Journaux et traces de Debug @@ -928,22 +928,22 @@ SetupNotSaved=Configuration non enregistrée BackToModuleList=Retour liste des modules BackToDictionaryList=Retour liste des dictionnaires TypeOfRevenueStamp=Type de timbre fiscal -VATManagement=Sale Tax Management -VATIsUsedDesc=By default when creating prospects, invoices, orders etc. the Sale Tax rate follows the active standard rule:
If the seller is not subject to Sale tax, then Sale tax defaults to 0. End of rule.
If the (seller's country = buyer's country), then the Sale tax by default equals the Sale tax of the product in the seller's country. End of rule.
If the seller and buyer are both in the European Community and goods are transport-related products (haulage, shipping, airline), the default Sale tax is 0. This rule is dependant on the seller's country - please consult with your accountant. The Sale tax should be paid by the buyer to their customs office in their country and not to the seller. End of rule.
If the seller and buyer are both in the European Community and the buyer is not a company (with a registered intra-Community Sale tax number) then the Sale tax by defaults to the Sale tax of the seller's country. End of rule.
If the seller and buyer are both in the European Community and the buyer is a company (with a registered intra-Community Sale tax number), then the Sale tax is 0 by default. End of rule.
In any other case the proposed default is Sale tax=0. End of rule. +VATManagement=Gestion TVA +VATIsUsedDesc=Le taux de TVA proposé par défaut lors de la création de propositions commerciales, factures, commandes, etc... répond à la règle standard suivante :
Si vendeur non assujetti à TVA, TVA par défaut=0. Fin de règle.
Si le (pays vendeur= pays acheteur) alors 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 transport neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payée par acheteur au centre d'impôts de son pays et non au vendeur). Fin de règle.
Si vendeur et acheteur dans Communauté européenne et acheteur= particulier alors TVA par défaut=TVA du produit vendu. Fin de règle.
Si vendeur et acheteur sont dans la Communauté européenne et que l'acheteur est une société alors TVA par défaut=0. Fin de règle.
Sinon la TVA proposée par défaut=0. Fin de règle. VATIsNotUsedDesc=Le taux de TVA proposé par défaut est 0. C'est le cas d'associations, particuliers ou certaines petites sociétés. VATIsUsedExampleFR=En France, cela signifie que les entreprises ou les organisations sont assuetis à la tva (réel ou normal). -VATIsNotUsedExampleFR=In France, it means associations that are non Sale tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sale tax in franchise) and paid a franchise Sale tax without any Sale tax declaration. This choice will display the reference "Non applicable Sale tax - art-293B of CGI" on invoices. +VATIsNotUsedExampleFR=En France, il s'agit des associations ne déclarant pas de TVA ou sociétés, organismes ou professions libérales ayant choisi le régime fiscal micro entreprise (TVA en franchise) et payant une TVA en franchise sans faire de déclaration de TVA. Ce choix fait de plus apparaître la mention "TVA non applicable - art-293B du CGI" sur les factures. ##### Local Taxes ##### LTRate=Taux LocalTax1IsNotUsed=Non assujeti -LocalTax1IsUsedDesc=Utilisation d'un 2ème type taxe (autre que TVA) -LocalTax1IsNotUsedDesc=Pas d'utilisation de 2ème type taxe (autre que TVA) +LocalTax1IsUsedDesc=Utilisation d'un 2ème type taxe (autre que le premier) +LocalTax1IsNotUsedDesc=Pas d'utilisation de 2ème type taxe (autre que le premier) LocalTax1Management=Gestion 2ème type de taxe LocalTax1IsUsedExample= LocalTax1IsNotUsedExample= LocalTax2IsNotUsed=Non assujeti -LocalTax2IsUsedDesc=Use a third type of tax (other than first one) -LocalTax2IsNotUsedDesc=Pas d'utilisation de 2ème type taxe (autre que TVA) +LocalTax2IsUsedDesc=Utilisation d'un 3ème type taxe (autre que le premier) +LocalTax2IsNotUsedDesc=Pas d'utilisation de 2ème type taxe (autre que le premier) LocalTax2Management=Gestion 3ème type de tax LocalTax2IsUsedExample= LocalTax2IsNotUsedExample= @@ -967,6 +967,7 @@ CalcLocaltax3Desc=Le Rapports des Taxes locales sont le total des taxes locales LabelUsedByDefault=Libellé qui sera utilisé si aucune traduction n'est trouvée pour ce code LabelOnDocuments=Libellé sur les documents LabelOrTranslationKey=Libellé ou clé de traduction +ValueOfConstantKey=Valeur de constante NbOfDays=Nb. de jours AtEndOfMonth=En fin de mois CurrentNext=Current/Next @@ -1053,7 +1054,7 @@ SetupDescription3=%s -> %s. Paramètres pour personnaliser le c SetupDescription4= %s -> %s
Cette étape est requise car Dolibarr ERP/CRM est un ensemble de plusieurs modules/applications, tous plus ou moins indépendants. Les fonctionnalités sont ajoutées aux menus pour chaque module que vous activez. SetupDescription5=Les autres entrées de configuration gèrent des paramètres facultatifs. LogEvents=Événements d'audit de sécurité -Audit=Audit +Audit=Audit de sécurité InfoDolibarr=Infos Dolibarr InfoBrowser=Infos navigateur InfoOS=Infos OS @@ -1065,7 +1066,7 @@ BrowserName=Nom du navigateur BrowserOS=OS du navigateur ListOfSecurityEvents=Liste des événements de sécurité Dolibarr SecurityEventsPurged=Evenement de sécurité purgés -LogEventDesc=Vous pouvez activer ici, la journalisation des événements d'audit de sécurité. Cet historique est consultable par les administrateurs dans le menu Outils systèmes - Audit. Attention, cette fonctionnalité peut générer un gros volume de données. +LogEventDesc=Vous pouvez activer ici, l'historique des événements d'audit de sécurité. Cet historique est consultable par les administrateurs dans le menu %s - %s. Attention, cette fonctionnalité peut générer un gros volume de données. AreaForAdminOnly=Les paramètres d'installation ne peuvent être remplis que par les utilisateurs administrateurs uniquement. SystemInfoDesc=Les informations systèmes sont des informations techniques diverses accessibles en lecture seule aux administrateurs uniquement. SystemAreaForAdminOnly=Cet espace n'est accessible qu'aux utilisateurs de type administrateur. Aucune permission Dolibarr ne permet d'étendre le cercle des utilisateurs autorisés à cet espace. @@ -1076,7 +1077,7 @@ DisplayDesc=Vous pouvez choisir ici tous les paramètres liés à l'apparence de AvailableModules=Modules/applications installés ToActivateModule=Pour activer des modules, aller dans l'espace Configuration (Accueil->Configuration->Modules). SessionTimeOut=Délai expiration des sessions -SessionExplanation=Ce nombre garanti que la session n'expire pas avant ce délai, lorsque le nettoyage des sessions est assurés par le mécanisme de nettoyage interne à PHP (et aucun autre). Le nettoyage interne de sessions PHP ne garantie pas que la session expire juste au moment de ce délai. Elle expirera après ce délai, mais au moment du nettoyage des sessions, qui a lieu toutes les %s/%s accès environ, mais uniquement lors d'accès fait par d'autres sessions.
Note : sur certains serveurs munis d'un mécanisme de nettoyage de session externe (cron sous Debian, Ubuntu…), le sessions peuvent être détruites après un délai, défini par la valeur par défaut de session.gc_maxlifetime, quelle que soit la valeur saisie ici. +SessionExplanation=Ce nombre garanti que la session n'expire pas avant ce délai, lorsque le nettoyage des sessions est assurés par le mécanisme de nettoyage interne à PHP (et aucun autre). Le nettoyage interne de sessions PHP ne garantie pas que la session expire juste au moment de ce délai. Elle expirera après ce délai, mais au moment du nettoyage des sessions, qui a lieu toutes les %s/%s accès environ, mais uniquement lors d'accès fait par d'autres sessions (si la valeur est 0, cela signifie que le nettoyage des session est fait par un process externe).
Note: sur certains serveurs munis d'un mécanisme de nettoyage de session externe (cron sous Debian, Ubuntu…), le sessions peuvent être détruites après un délai, défini par une configuration extérieure, quelle que soit la valeur saisie ici. TriggersAvailable=Déclencheurs disponibles TriggersDesc=Les déclencheurs sont des fichiers qui, une fois déposés dans le répertoire htdocs/core/triggers, modifient le comportement du workflow de Dolibarr. Ils réalisent des actions supplémentaires, déclenchées par les événements Dolibarr (création société, validation facture, clôture contrat…). TriggerDisabledByName=Déclencheurs de ce fichier désactivés par le suffix -NORUN dans le nom du fichier. @@ -1096,12 +1097,12 @@ MAIN_ROUNDING_RULE_TOT=Pas de la plage d'arrondi (pour les pays où l'arrondi se UnitPriceOfProduct=Prix unitaire HT d'un produit TotalPriceAfterRounding=Prix total (HT/TVA/TTC) après arrondis ParameterActiveForNextInputOnly=Paramètre effectif pour les prochaines saisies uniquement -NoEventOrNoAuditSetup=Aucun événement d'audit de sécurité n'a été enregistré. Ceci peut être normal si l'audit n'a pas été activé dans la configuration - sécurité - audit. +NoEventOrNoAuditSetup=Aucun événement d'audit de sécurité n'a été enregistré. Ceci peut être normal si l'audit n'a pas été activé dans "Configuration - Sécurité - Evénements de sécurité". NoEventFoundWithCriteria=Aucun événement d'audit de sécurité trouvé avec ces critères de recherche. SeeLocalSendMailSetup=Voir la configuration locale de sendmail BackupDesc=Pour réaliser une sauvegarde complète de Dolibarr, vous devez : BackupDesc2=Sauvegardez le contenu du répertoire document (%s) qui contient tous les fichiers envoyés et générés (Par conséquent il contient également les fichiers dump générés à l'étape 1). -BackupDesc3=Save content of your database (%s) into a dump file. For this, you can use the following assistant. +BackupDesc3=Sauvez le contenu de votre base de données (%s) dans un fichier « dump ». Pour cela vous pouvez utiliser l'assistant ci-dessous. BackupDescX=Le répertoire archivé devra être placé en lieu sûr. BackupDescY=Le fichier « dump » généré devra être placé en lieu sûr. BackupPHPWarning=La sauvegarde n'est pas garantie avec cette méthode. Il est recommandé d'utiliser la méthode précédente. @@ -1141,7 +1142,7 @@ ExtraFieldsLinesRec=Attributs supplémentaires (ligne de factures modèles) ExtraFieldsSupplierOrdersLines=Attributs supplémentaires (lignes de commandes) ExtraFieldsSupplierInvoicesLines=Attributs supplémentaires (lignes de factures) ExtraFieldsThirdParties=Attributs supplémentaires (tiers) -ExtraFieldsContacts=Attributs supplémentaires (adresses de contacts) +ExtraFieldsContacts=Attributs supplémentaires (contacts/adresses) ExtraFieldsMember=Attributs supplémentaires (adhérents) ExtraFieldsMemberType=Attributs supplémentaires (type d'adhérents) ExtraFieldsCustomerInvoices=Attributs supplémentaires (factures) @@ -1155,7 +1156,7 @@ AlphaNumOnlyLowerCharsAndNoSpace=uniquement des caractères alphanumériques et SendmailOptionNotComplete=Attention, sur certains systèmes Linux, avec cette méthode d'envoi, pour pouvoir envoyer des emails en votre nom, la configuration d'exécution de sendmail doit contenir l'option -ba (paramètre mail.force_extra_parameters dans le fichier php.ini). Si certains de vos destinataires ne reçoivent pas de message, essayer de modifier ce paramètre PHP avec mail.force_extra_parameters = -ba. PathToDocuments=Chemin d'accès aux documents PathDirectory=Répertoire -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might not be parsed correctly by some receiving mail servers. The result is that some mails can't be read by people hosted by those bugged platforms. This is the case for some Internet providers (Ex: Orange in France). This is not a problem with Dolibarr or PHP but with the receiving mail server. You can however add an option MAIN_FIX_FOR_BUGGED_MTA to 1 in Setup - Other to modify Dolibarr to avoid this. However, you may experience problems with other servers that strictly use the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" which has no disadvantages. +SendmailOptionMayHurtBuggedMTA=La fonction permettant d’envoyer des e-mails à l’aide de la méthode "PHP mail direct" générera un message qui risque de ne pas être analysé correctement par certains serveurs de messagerie. Le résultat est que certains mails ne peuvent pas être lus par des personnes hébergées par ces plateformes. C'est le cas de certains fournisseurs d'accès Internet (Ex: Orange en France). Ce n'est pas un problème avec Dolibarr ou PHP, mais avec le serveur de messagerie destinataire. Vous pouvez cependant ajouter une option MAIN_FIX_FOR_BUGGED_MTA à 1 dans Configuration - Autre pour modifier Dolibarr afin d'éviter cela. Cependant, vous pouvez rencontrer des problèmes avec d'autres serveurs qui utilisent strictement le standard SMTP. L'autre solution (recommandée) consiste à utiliser la méthode "Bibliothèque de socket SMTP" qui ne présente aucun inconvénient. TranslationSetup=Configuration de la traduction TranslationKeySearch=Rechercher une traduction TranslationOverwriteKey=Ajouter une traduction @@ -1170,18 +1171,18 @@ OriginalValueWas=La traduction d'origine est écrasée. La valeur initiale étai TransKeyWithoutOriginalValue=Vous avez forcé une nouvelle traduction pour la clé de traduction '%s' qui n'existe dans aucun fichier de langue TotalNumberOfActivatedModules=Modules activés : %s / %s YouMustEnableOneModule=Vous devez activer au moins une fonctionnalité -ClassNotFoundIntoPathWarning=Class %s not found in PHP path +ClassNotFoundIntoPathWarning=La classe %s n'a pas été trouvée dans le chemin PHP YesInSummer=Oui en été -OnlyFollowingModulesAreOpenedToExternalUsers=Note, only the following modules are opened to external users (whatever the permissions of such users) and only if permissions are granted: +OnlyFollowingModulesAreOpenedToExternalUsers=Remarque, seuls les modules suivants sont ouverts aux utilisateurs externes (quelles qu'en soient les permissions de ces utilisateurs) et seulement si les permissions leur ont été données: SuhosinSessionEncrypt=Stockage des sessions chiffrées par Suhosin ConditionIsCurrently=La condition est actuellement %s YouUseBestDriver=Vous utilisez le driver %s qui est le driver recommandé actuellement. -YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. -NbOfProductIsLowerThanNoPb=You have only %s products/services in the database. This does not require any particular optimization. +YouDoNotUseBestDriver=Vous utilisez le pilote %s mais le pilote %s est recommandé. +NbOfProductIsLowerThanNoPb=Vous avez uniquement %s produits / services dans la base de données. Cela ne nécessite aucune optimisation particulière. SearchOptim=Optimisation des recherches -YouHaveXProductUseSearchOptim=You have %s products in the database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Home-Setup-Other. Limit the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response. -BrowserIsOK=You are using the %s web browser. This browser is ok for security and performance. -BrowserIsKO=You are using the %s web browser. This browser is known to be a bad choice for security, performance and reliability. We recommend using Firefox, Chrome, Opera or Safari. +YouHaveXProductUseSearchOptim=Vous avez des produits %s dans la base de données. Vous devez ajouter la constante PRODUCT_DONOTSEARCH_ANYWHERE à 1 dans Home-Setup-Other. Limitez la recherche au début des chaînes, ce qui permet à la base de données d'utiliser des index et vous devez obtenir une réponse immédiate. +BrowserIsOK=Vous utilisez le navigateur Web %s. Ce navigateur est correct pour la sécurité et la performance. +BrowserIsKO=Vous utilisez le navigateur Web %s. Ce navigateur est connu pour être un mauvais choix pour la sécurité, la performance et la fiabilité. Nous vous recommandons d'utiliser Firefox, Chrome, Opera ou Safari. XDebugInstalled=XDebug est chargé. XCacheInstalled=XCache est chargé. AddRefInList=Afficher les références client/fournisseur dans les listes (listes déroulantes ou à autocomplétion) et les libellés des liens clicables.
Les tiers apparaîtront alors sous la forme "CC12345 - SC45678 - La big company coorp", au lieu de "La big company coorp". @@ -1205,8 +1206,8 @@ UserMailRequired=Email requis pour créer un nouvel utilisateur HRMSetup=Configuration du module GRH ##### Company setup ##### CompanySetup=Configuration du module Tiers -CompanyCodeChecker=Options for automatic generation of customer / vendor codes -AccountCodeManager=Options for automatic generation of customer / vendor accounting codes +CompanyCodeChecker=Options pour la génération automatique de codes client / fournisseur +AccountCodeManager=Options pour la génération automatique de codes comptable client ou fournisseur NotificationsDesc=Les notifications activent l'envoi d'e-mails automatiques pour certains événements de Dolibarr. L'envoi de ces e-mails automatiques est défini selon : NotificationsDescUser=* par utilisateurs, utilisateur par utilisateur. NotificationsDescContact=* par tiers de contacts (clients ou fournisseur), contact par contact. @@ -1217,7 +1218,7 @@ WatermarkOnDraft=Filigrane sur les documents brouillons JSOnPaimentBill=Activer la fonctionnalité de remplissage automatique des lignes de paiement sur le formulaire de paiement CompanyIdProfChecker=Règles sur les Identifiants professionnels MustBeUnique=Doit être unique ? -MustBeMandatory=Obligatoire pour créer des tiers ? +MustBeMandatory=Obligatoire pour créer des tiers (si le numéro de TVA ou le type d'entreprise est défini) ? MustBeInvoiceMandatory=Obligatoire pour valider des factures ? TechnicalServicesProvided=Services techniques fournis #####DAV ##### @@ -1229,7 +1230,7 @@ WebCalUrlForVCalExport=Un lien d'exportation du calendrier au format %s s BillsSetup=Configuration du module Factures BillsNumberingModule=Modèle de numérotation des factures et avoirs BillsPDFModules=Modèle de document de factures -BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type +BillsPDFModulesAccordindToInvoiceType=Modèles de documents de facturation en fonction du type de facture PaymentsPDFModules=Modèle de document pour les règlements CreditNote=Avoir CreditNotes=Avoirs @@ -1358,8 +1359,8 @@ LDAPSynchroKO=Échec du test de synchronisation LDAPSynchroKOMayBePermissions=Échec du test de synchronisation. Vérifier que la connexion au serveur est correctement configurée et permet les mises à jour LDAP LDAPTCPConnectOK=Connexion TCP au serveur LDAP réussie (Serveur=%s, Port=%s) LDAPTCPConnectKO=Connexion TCP au serveur LDAP échouée (Serveur=%s, Port=%s) -LDAPBindOK=Connect/Authenticate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) -LDAPBindKO=Connect/Authenticate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindOK=Connexion / Authentification réussie sur le serveur LDAP (Serveur = %s, Port = %s, Admin = %s, Mot de passe = %s) +LDAPBindKO=La connexion / l'authentification au serveur LDAP a échoué (serveur = %s, port = %s, administrateur = %s, mot de passe = %s) LDAPSetupForVersion3=Serveur LDAP configuré en version 3 LDAPSetupForVersion2=Serveur LDAP configuré en version 2 LDAPDolibarrMapping=Mapping Dolibarr @@ -1421,40 +1422,40 @@ LDAPDescMembersTypes=Cette page permet de définir le nom des attributs de l'arb LDAPDescValues=Les valeurs exemples sont adaptées à OpenLDAP avec les schémas suivant chargés: core.schema, cosine.schema, inetorgperson.schema). Si vous utilisez les valeurs suggérées et OpenLDAP, modifiez votre fichier de configuration LDAP slapd.conf pour avoir tous ces schémas actifs. ForANonAnonymousAccess=Pour un accès authentifié (pour accès en écriture par exemple) PerfDolibarr=Rapport de configuration/optimisation sur la performance -YouMayFindPerfAdviceHere=This page provides some checks or advice related to performance. -NotInstalled=Not installed, so your server is not slowed down by this. +YouMayFindPerfAdviceHere=Cette page fournit des vérifications ou des conseils relatifs aux performances. +NotInstalled=Non installé, votre serveur n'est donc pas ralenti. ApplicativeCache=Cache applicatif MemcachedNotAvailable=Aucun cache applicatif trouvé. Vous pouvez accélérer les performances de Dolibarr en installant un serveur de cache Memcached et un module de cache applicatif exploitant ce serveur.
Plus d'info sur la page http://wiki.dolibarr.org/index.php/Module_MemCached. Notez que de nombreux hébergeurs low-cost ne fournissent pas de tels serveurs de cache dans leur infrastructure. MemcachedModuleAvailableButNotSetup=Le module memcached pour le cache applicatif a été trouvé mais la configuration de ce module n'est pas complète. MemcachedAvailableAndSetup=Le module memcached dédié à l'utilisation du serveur de cache memcached est activé. OPCodeCache=Cache OPCode -NoOPCodeCacheFound=No OPCode cache found. Maybe you are using an OPCode cache other than XCache or eAccelerator (good), or maybe you don't have OPCode cache (very bad). +NoOPCodeCacheFound=Aucun cache OPCode trouvé. Peut-être utilisez-vous un cache OPCode autre que XCache ou eAccelerator (bon) ou n’avez-vous pas un cache OPCode (très mauvais). HTTPCacheStaticResources=Cache HTTP des ressources statiques (css, img, javascript) FilesOfTypeCached=Fichiers de type %s mis en cache par le serveur HTTP FilesOfTypeNotCached=Fichiers de type %s non mis en cache par le serveur HTTP FilesOfTypeCompressed=Fichiers de type %s compressé par le serveur HTTP FilesOfTypeNotCompressed=Fichiers de type %s non compressé par le serveur HTTP CacheByServer=Cache par le serveur -CacheByServerDesc=For example using the Apache directive "ExpiresByType image/gif A2592000" +CacheByServerDesc=Par exemple, en utilisant la directive Apache "ExpiresByType image / gif A2592000" CacheByClient=Cache par le navigateur CompressionOfResources=Compression des réponses HTTP -CompressionOfResourcesDesc=For example using the Apache directive "AddOutputFilterByType DEFLATE" +CompressionOfResourcesDesc=Par exemple, en utilisant la directive Apache "AddOutputFilterByType DEFLATE" TestNotPossibleWithCurrentBrowsers=Une détection automatique n'est pas possible avec le navigateur courant DefaultValuesDesc=Vous pouvez définir/forcer ici la valeur par défaut que vous voulez obtenir lorsque vous créez un nouvel enregistrement, et/ou les filtres par défaut ou ordre de tri des listes. DefaultCreateForm=Valeurs par défaut (sur les formulaires de création) DefaultSearchFilters=Filtres de recherche par défaut DefaultSortOrder=Ordre de tri par défaut DefaultFocus=Champs par défaut ayant le focus -DefaultMandatory=Mandatory form fields +DefaultMandatory=Champs de formulaire obligatoires ##### Products ##### ProductSetup=Configuration du module Produits ServiceSetup=Configuration du module Services ProductServiceSetup=Configuration des modules Produits et Services NumberOfProductShowInSelect=Nombre maximum de produits dans les listes déroulantes (0=aucune limite) -ViewProductDescInFormAbility=Display product descriptions in forms (otherwise as popup tooltip) +ViewProductDescInFormAbility=Afficher les descriptions de produits dans des formulaires (sinon, comme info-bulle contextuelle) MergePropalProductCard=Ajoute dans l'onglet Fichiers joints des produits/services, une option pour fusionner le document PDF du produit au PDF des propositions Azur si le produit/services est inclut dans la proposition. -ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in the language of the third party -UseSearchToSelectProductTooltip=Also if you have a large number of products (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +ViewProductDescInThirdpartyLanguageAbility=Afficher les descriptions de produits dans la langue du tiers +UseSearchToSelectProductTooltip=De même, si vous avez un grand nombre de produits (> 100 000), vous pouvez augmenter la vitesse en définissant une constante PRODUCT_DONOTSEARCH_ANYWHERE sur 1 dans Configuration-> Autre. La recherche sera alors limitée au début de la chaîne. UseSearchToSelectProduct=Attendre que vous ayez appuyé sur une touche avant de charger le contenu de la liste déroulante des produits (Cela peut augmenter les performances si vous avez un grand nombre de produits, mais cela est moins convivial) SetDefaultBarcodeTypeProducts=Type de code-barre utilisé par défaut pour les produits SetDefaultBarcodeTypeThirdParties=Type de code-barre utilisé par défaut pour les tiers @@ -1528,18 +1529,18 @@ AdvancedEditor=Editeur avancé ActivateFCKeditor=Activer l'éditeur avancé pour : FCKeditorForCompany=Création/édition WYSIWIG de la description et note des éléments (autre que produits/services) FCKeditorForProduct=Création/édition WYSIWIG de la description et note des produits/services -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. +FCKeditorForProductDetails=WYSIWIG création / édition de lignes de détails de produits pour toutes les entités (propositions, commandes, factures, etc ...). Avertissement: L'utilisation de cette option dans ce cas est fortement déconseillée car elle peut créer des problèmes de caractères spéciaux et de formatage de page lors de la création de fichiers PDF. FCKeditorForMailing= Création/édition WYSIWIG des emailings (Outils->Emailings) FCKeditorForUserSignature=Création/édition WYSIWIG de la signature des utilisateurs FCKeditorForMail=Création/édition WYSIWIG tous les emails (sauf Outils->Emailings) ##### OSCommerce 1 ##### -OSCommerceErrorConnectOkButWrongDatabase=Connection succeeded but database does not appear to be an OSCommerce database (Key %s not found in table %s). +OSCommerceErrorConnectOkButWrongDatabase=La connexion a réussi, mais la base de données ne semble pas être une base de données OSCommerce (la clé %s n’a pas été trouvée dans le tableau %s). OSCommerceTestOk=La connexion au serveur '%s' sur la base '%s' par l'utilisateur '%s' a réussi. -OSCommerceTestKo1=Connection to server '%s' succeeded but database '%s' could not be reached. +OSCommerceTestKo1=La connexion au serveur '%s' a réussi mais la base de données '%s' n'a pas pu être atteinte. OSCommerceTestKo2=La connexion au serveur '%s' par l'utilisateur '%s' à échoué. ##### Stock ##### StockSetup=Configuration du module Stock / Entrepôt -IfYouUsePointOfSaleCheckModule=If you use the Point of Sale module (POS) provided by default or an external module, this setup may be ignored by your POS module. Most POS modules are designed by default to create an invoice immediately and decrease stock irrespective of the options here. So if you need or not to have a stock decrease when registering a sale from your POS, check also your POS module setup. +IfYouUsePointOfSaleCheckModule=Si vous utilisez le module de point de vente (PDV) fourni par défaut ou un module externe, cette configuration peut être ignorée par votre module de PDV. La plupart des modules de PDV sont conçus par défaut pour créer une facture immédiatement et réduire le stock quelles que soient les options proposées. Donc, si vous avez besoin ou non d'une réduction de stock lors de l'enregistrement d'une vente depuis votre point de vente, vérifiez également la configuration de votre module de point de vente. ##### Menu ##### MenuDeleted=Menu supprimé Menus=Menus @@ -1561,7 +1562,7 @@ DetailRight=Condition d'affichage plein ou grisé DetailLangs=Fichier .lang pour la traduction du code libellé DetailUser=Interne / Externe / Tous Target=Cible -DetailTarget=Target for links (_blank top opens a new window) +DetailTarget=Cible pour les liens (_blank ouvre une nouvelle fenêtre) DetailLevel=Niveau (-1:menu haut, 0:entête menu, >0 menu et sous menu) ModifMenu=Modification du menu DeleteMenu=Effacer entrée de menu @@ -1576,7 +1577,7 @@ OptionVatDefaultDesc=TVA sur encaissement, l'exigibilité de la TVA est:
- su OptionVatDebitOptionDesc=TVA sur débit, l'exigibilité de la TVA est:
- sur livraison pour les biens (en pratique on utilise la date de facturation)
- sur facturation (débit) pour les services OptionPaymentForProductAndServices=Sur paiements pour les produits et services OptionPaymentForProductAndServicesDesc=La TVA est due:
- sur le paiement pour les marchandises
- sur les paiements pour les services -SummaryOfVatExigibilityUsedByDefault=Time of VAT eligibility by default according to chosen option: +SummaryOfVatExigibilityUsedByDefault=Moment d'exigibilité par défaut de la TVA pour l'option choisie: OnDelivery=Sur livraison OnPayment=Sur paiement OnInvoice=Sur facture @@ -1593,36 +1594,36 @@ AccountancyCodeBuy=Code comptable achat AgendaSetup=Configuration du module actions et agenda PasswordTogetVCalExport=Clé pour autoriser le lien d'exportation PastDelayVCalExport=Ne pas exporter les événements de plus de -AGENDA_USE_EVENT_TYPE=Use events types (managed in menu Setup -> Dictionaries -> Type of agenda events) -AGENDA_USE_EVENT_TYPE_DEFAULT=Automatically set this default value for type of event in event create form -AGENDA_DEFAULT_FILTER_TYPE=Automatically set this type of event in search filter of agenda view -AGENDA_DEFAULT_FILTER_STATUS=Automatically set this status for events in search filter of agenda view +AGENDA_USE_EVENT_TYPE=Utiliser les types d'événements (gérés dans le menu Configuration -> Dictionnaires -> Type d'événements de l'agenda) +AGENDA_USE_EVENT_TYPE_DEFAULT=Définir automatiquement cette valeur par défaut pour le type d'événement dans le formulaire de création d'événement +AGENDA_DEFAULT_FILTER_TYPE=Définir automatiquement ce type d'événement dans le filtre de recherche de la vue agenda +AGENDA_DEFAULT_FILTER_STATUS=Définir automatiquement cet état pour les événements dans le filtre de recherche de la vue agenda AGENDA_DEFAULT_VIEW=Quel onglet voulez-vous voir ouvrir par défaut quand on choisit le menu Agenda AGENDA_REMINDER_EMAIL=Activer le rappel d'événement par e-mail (l'option de rappel / délai peut être défini pour chaque événement). Remarque: Le module %s doit être activé et configuré correctement pour que le rappel soit envoyé à la bonne fréquence. -AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (when event date is reached, each user is able to refuse this from the browser confirmation question) +AGENDA_REMINDER_BROWSER=Activer le rappel d'événement sur le navigateur de l'utilisateur (lorsque la date de l'événement est atteinte, chaque utilisateur peut le refuser à partir de la question de confirmation du navigateur) AGENDA_REMINDER_BROWSER_SOUND=Activer les notifications sonores. AGENDA_SHOW_LINKED_OBJECT=Afficher l'objet lié dans la vue agenda ##### Clicktodial ##### ClickToDialSetup=Configuration du module Click To Dial ClickToDialUrlDesc=URL appelée quand un clic sur l'icône téléphone est fait. Dans l'URL, vous pouvez utiliser les tags
__PHONETO__ qui sera remplacée par le numéro de téléphone de la personne à appeler
__PHONEFROM__ qui sera remplacée par le numéro de l'appelant (vous)
__LOGIN__ qui sera remplacée par l'identifiant d'accès de l'utilisateur à l'application d'appel (à définir sur la fiche utilisateur) et
__PASS__ qui sera remplacée par le mot de passe d'accès de l'utilisateur à l'application d'appel (également à définir sur la fiche utilisateur). -ClickToDialDesc=This module allows to make phone numbers clickable. A click on this icon will call make your phone call the phone number. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example. +ClickToDialDesc=Ce module permet de rendre les numéros de téléphone cliquables. Un clic sur cette icône appellera votre téléphone à composer le numéro de téléphone. Cela peut être utilisé pour appeler un système de centre d'appels de Dolibarr qui peut appeler le numéro de téléphone d'un système SIP, par exemple. ClickToDialUseTelLink=Utiliser un lien «Tel.» sur les numéros de téléphone ClickToDialUseTelLinkDesc=Utilisez cette méthode si vos utilisateurs ont un softphone ou une interface de logiciel installé sur un même ordinateur que le navigateur, et a appelé lorsque vous cliquez sur un lien dans votre navigateur qui commencent par "tel:". Si vous avez besoin d'une solution de serveur complet (pas besoin d'installation locale du logiciel), vous devez définir ceci à "Non" et remplir le champ suivant. ##### Point Of Sales (CashDesk) ##### CashDesk=Caisse enregistreuse CashDeskSetup=Configuration du module Point de vente/caisse enregistreuse -CashDeskThirdPartyForSell=Default generic third party to use for sales +CashDeskThirdPartyForSell=Tiers générique à utiliser par défaut pour les ventes CashDeskBankAccountForSell=Compte par défaut à utiliser pour l'encaissement en liquide CashDeskBankAccountForCheque= Compte par défaut à utiliser pour l'encaissement en chèque CashDeskBankAccountForCB= Compte par défaut à utiliser pour l'encaissement en carte de crédit -CashDeskDoNotDecreaseStock=Disable stock decrease when a sale is done from Point of Sale (if "no", stock decrease is done for each sale done from POS, irrespective of the option set in module Stock). +CashDeskDoNotDecreaseStock=Désactiver la réduction de stock lorsqu'une vente est effectuée à partir du point de vente (si "non", une réduction de stock est effectuée pour chaque vente effectuée à partir du point de vente, quelle que soit l'option définie dans le module Stock). CashDeskIdWareHouse=Forcer et restreindre l'emplacement/entrepôt à utiliser pour la réduction de stock -StockDecreaseForPointOfSaleDisabled=Stock decrease from Point of Sale disabled +StockDecreaseForPointOfSaleDisabled=Diminution du stock du point de vente désactivé StockDecreaseForPointOfSaleDisabledbyBatch=La décrémentation de stock depuis ce module Point de Vente n'est pas encore compatible avec la gestion des numéros de lots/série. -CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sale from Point of Sale. Hence a warehouse is required. +CashDeskYouDidNotDisableStockDecease=Vous n'avez pas désactivé la réduction de stock lors d'une vente depuis le point de vente. Par conséquent, un entrepôt est nécessaire. ##### Bookmark ##### BookmarkSetup=Configuration du module Marque-pages -BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or external web sites on your left menu. +BookmarkDesc=Ce module vous permet de gérer les signets. Vous pouvez également ajouter des raccourcis vers les pages Dolibarr ou les sites Web externes dans le menu de gauche. NbOfBoomarkToShow=Nombre maximum de marques-pages à afficher dans le menu ##### WebServices ##### WebServicesSetup=Configuration du module Webservices @@ -1650,7 +1651,7 @@ ChequeReceiptsNumberingModule=Module de numérotation des bordereaux de remises MultiCompanySetup=Configuration du module Multi-société ##### Suppliers ##### SuppliersSetup=Configuration du module Fournisseurs -SuppliersCommandModel=Complete template of purchase order (logo...) +SuppliersCommandModel=Modèle de commandes fournisseur complet (logo…) SuppliersInvoiceModel=Modèle de factures fournisseur complet (logo…) SuppliersInvoiceNumberingModel=Modèles de numérotation des factures fournisseur IfSetToYesDontForgetPermission=Si positionné sur Oui, n'oubliez pas de donner les permissions aux groupes ou utilisateurs qui auront le droit de cette action. @@ -1701,7 +1702,7 @@ ListOfNotificationsPerUser=Liste des notifications par utilisateur* ListOfNotificationsPerUserOrContact=Liste des notifications par utilisateur* ou par contact** ListOfFixedNotifications=Liste des notifications emails fixes GoOntoUserCardToAddMore=Allez dans l'onglet "Notifications" d'un utilisateur pour ajouter ou supprimer des notifications pour les utilisateurs -GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contact addresses +GoOntoContactCardToAddMore=Rendez-vous sur l'onglet "Notifications" d'un tiers pour ajouter ou enlever les notifications pour les contacts/adresses Threshold=Seuil BackupDumpWizard=Assistant de génération d'un fichier de sauvegarde de la base de données SomethingMakeInstallFromWebNotPossible=L'installation de module externe est impossible depuis l'interface web pour la raison suivante : @@ -1785,9 +1786,9 @@ AddOtherPagesOrServices=Ajout d'autres pages ou services AddModels=Ajout de modèles de document ou de numérotation AddSubstitutions=Ajout de valeurs de substitution DetectionNotPossible=Détection impossible -UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received it is saved in database user table and must be provided on each API call) +UrlToGetKeyToUseAPIs=Url pour que le jeton utilise l'API (une fois le jeton reçu, il est enregistré dans la table des utilisateurs de la base de données et doit être fourni à chaque appel d'API) ListOfAvailableAPIs=Liste des APIs disponibles -activateModuleDependNotSatisfied=Module "%s" depends on module "%s", that is missing, so module "%1$s" may not work correctly. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise +activateModuleDependNotSatisfied=Le module "%s" dépend du module "%s" manquant. Le module "%1$s" risque donc de ne pas fonctionner correctement. Veuillez installer le module "%2$s" ou désactiver le module "%1$s" si vous souhaitez être à l'abri de toute surprise. CommandIsNotInsideAllowedCommands=La commande que vous essayez d'exécuter ne figure pas dans la liste des commandes autorisées définies dans le paramètre $dolibarr_main_restrict_os_commands du fichier conf.php . LandingPage=Page cible SamePriceAlsoForSharedCompanies=Si vous utilisez un module multi-société, avec le choix «prix unique», le prix sera aussi le même pour toutes les sociétés si les produits sont partagés entre les environnements @@ -1804,40 +1805,44 @@ MAIN_PDF_MARGIN_TOP=Marge haute sur les PDF MAIN_PDF_MARGIN_BOTTOM=Marge bas sur les PDF NothingToSetup=Aucune configuration particulière n'est requise pour ce module. SetToYesIfGroupIsComputationOfOtherGroups=Réglez ceci sur Oui si ce groupe est un calcul d'autres groupes -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes (For example 'CODEGRP1+CODEGRP2') +EnterCalculationRuleIfPreviousFieldIsYes=Entrez la règle de calcul si le champ précédent était défini sur Oui (par exemple, 'CODEGRP1 + CODEGRP2') SeveralLangugeVariatFound=Plusieurs variantes de langue trouvées COMPANY_AQUARIUM_REMOVE_SPECIAL=Supprimer les caractères spéciaux COMPANY_AQUARIUM_CLEAN_REGEX=Filtre Regex pour nettoyer la valeur (COMPANY_AQUARIUM_CLEAN_REGEX) -GDPRContact=Data Protection Officer (DPO, Data Privacy or GDPR contact) -GDPRContactDesc=If you store data about European companies/citizen, you can store the contact who is responsible for the General Data Protection Regulation here -HelpOnTooltip=Help text to show on tooltip -HelpOnTooltipDesc=Put text or a translation key here for the text to show on a tooltip when this field appears in a form -YouCanDeleteFileOnServerWith=You can delete this file on server with Command Line:
%s +GDPRContact=Responsable de la protection des données (DPD, Data Privacy ou contact GDPR) +GDPRContactDesc=Si vous stockez des données sur des entreprises / citoyens européens, vous pouvez enregistrer ici le contact responsable du règlement général sur la protection des données. +HelpOnTooltip=Texte d'aide à afficher dans l'info-bulle +HelpOnTooltipDesc=Mettez du texte ou une clé de traduction ici pour que le texte apparaisse dans une info-bulle lorsque ce champ apparaît dans un formulaire +YouCanDeleteFileOnServerWith=Vous pouvez supprimer ce fichier sur le serveur avec la ligne de commande:
%s ChartLoaded=Modèle de plan de compte chargé SocialNetworkSetup=Configuration du module Réseaux Sociaux -EnableFeatureFor=Enable features for %s -VATIsUsedIsOff=Note: The option to use sales Tax or VAT has been set to Off in the menu %s - %s, so Sale tax or Vat used will always be 0 for sales. +EnableFeatureFor=Activer les fonctionnalités pour %s +VATIsUsedIsOff=Remarque: l'option d'utilisation de la taxe de vente ou de la TVA a été définie sur Désactivée dans le menu %s - %s. La taxe de vente ou la TVA utilisée sera toujours égale à 0 pour les ventes. SwapSenderAndRecipientOnPDF=Échanger adresses expéditeurs et destinataires sur le PDF FeatureSupportedOnTextFieldsOnly=Attention, fonctionnalité prise en charge sur les champs de texte uniquement -EmailCollector=Email collector +EmailCollector=Collecteur de courrier électronique EmailCollectorDescription=Ajoute un travail planifié et une page de configuration pour analyser régulièrement les boîtes aux lettres (à l'aide du protocole IMAP) et enregistrer les courriers électroniques reçus dans votre application, au bon endroit et/ou créer automatiquement certains enregistrements (comme des opportunités). -NewEmailCollector=New Email Collector -EMailHost=Host of email IMAP server -MailboxSourceDirectory=Mailbox source directory -MailboxTargetDirectory=Mailbox target directory -EmailcollectorOperations=Operations to do by collector -CollectNow=Collect now -DateLastResult=Date last collect -LastResult=Last result -EmailCollectorConfirmCollectTitle=Email collect confirmation -EmailCollectorConfirmCollect=Do you want to run the collect for this collector now ? -NoNewEmailToProcess=No new email (matching filters) to process -NothingProcessed=Nothing done -XEmailsDoneYActionsDone=%s emails analyzed, %s emails successfuly processed (for %s record/actions done) by collector -RecordEvent=Record event +NewEmailCollector=Nouveau collecteur d'email +EMailHost=Hôte du serveur de messagerie IMAP +MailboxSourceDirectory=Répertoire source dans la boîte aux lettres +MailboxTargetDirectory=Répertoire cible dans la boîte aux lettres +EmailcollectorOperations=Opérations à effectuer par le collectionneur +CollectNow=Collecter maintenant +DateLastResult=Date de dernière collecte +LastResult=Dernier résultat +EmailCollectorConfirmCollectTitle=Confirmation de la collecte Email +EmailCollectorConfirmCollect=Voulez-vous exécuter la collecte pour ce collecteur maintenant ? +NoNewEmailToProcess=Aucun nouvel email (correspondants aux filtres) à traiter +NothingProcessed=Aucune action faite +XEmailsDoneYActionsDone=%s e-mails qualifiés, %s e-mails traités avec succès (pour %s enregistrements/actions faites) par le collecteur +RecordEvent=Enregistrer événement émail CreateLeadAndThirdParty=Créer opportunité (et tiers si nécessaire) -CodeLastResult=Result code of last collect -NbOfEmailsInInbox=Number of email in source directory +CodeLastResult=Code du résultat de la dernière collecte +NbOfEmailsInInbox=Nombre de courriels dans le répertoire source +LoadThirdPartyFromName=Charger le tiers à partir du nom (charger uniquement) +LoadThirdPartyFromNameOrCreate=Charger le tiers à partir du nom (créer si non trouvé) +WithDolTrackingID=ID Tracker Dolibarr trouvé +WithoutDolTrackingID=ID Tracker Dolibarr non trouvé ##### Resource #### ResourceSetup=Configuration du module Ressource UseSearchToSelectResource=Utilisez un champ avec auto-complétion pour choisir les ressources (plutôt qu'une liste déroulante). @@ -1845,4 +1850,4 @@ DisabledResourceLinkUser=Désactiver la fonctionnalité pour lier une ressource DisabledResourceLinkContact=Désactiver la fonctionnalité pour lier une ressource aux contacts/adresses ConfirmUnactivation=Confirmer réinitialisation du module OnMobileOnly=Sur petit écran (smartphone) uniquement -DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be Prospect or Customer but can't be both) +DisableProspectCustomerType=Désactiver le type de tiers "Prospect + Client" (le tiers doit donc être un client potentiel ou un client, mais ne peut pas être les deux) diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 19e4e877acb..14b5d97a7b9 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -25,10 +25,10 @@ InvoiceProFormaAsk=Facture proforma InvoiceProFormaDesc=La facture proforma est une image de facture définitive mais qui n'a aucune valeur comptable. InvoiceReplacement=Facture de remplacement InvoiceReplacementAsk=Facture de remplacement de la facture -InvoiceReplacementDesc=Replacement invoice is used to cancel and completely replace an invoice with no payment already received.

Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. +InvoiceReplacementDesc=La facture de remplacement sert à annuler et remplacer complètement une facture existante sur laquelle aucun paiement n'a encore eu lieu.

Rem: Seules les factures sans aucun paiement peuvent être remplacées. Si ces dernières ne sont pas fermées, elles le seront automatiquement au statut 'abandonnée'. InvoiceAvoir=Facture avoir InvoiceAvoirAsk=Facture avoir pour correction de la facture -InvoiceAvoirDesc=The credit note is a negative invoice used to correct the fact that an invoice has an amount that differs from the amount really paid (eg customer paid too much by mistake, or will not pay completely since he returned some products). +InvoiceAvoirDesc=La facture d'avoir est une facture négative destinée à compenser un montant de facture qui diffère du montant réellement versé (suite à un trop versé par le client par erreur ou un manque non versé par le client suite à un retour produit par exemple). invoiceAvoirWithLines=Créer l'avoir avec les même lignes que la factures dont il est issu invoiceAvoirWithPaymentRestAmount=Créer l'avoir avec le montant restant à payer de la facture dont il est issu. invoiceAvoirLineWithPaymentRestAmount=Avoir sur le reste à payer @@ -66,12 +66,12 @@ paymentInInvoiceCurrency=Dans la devise des factures PaidBack=Remboursé DeletePayment=Supprimer le paiement ConfirmDeletePayment=Êtes-vous sûr de vouloir supprimer ce paiement ? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount?
The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount?
The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this supplier. +ConfirmConvertToReduc=Voulez vous convertir ce(cet) %s en remise fixe ?
Le montant sera enregistré parmi les autres remises et pourra être utilisé en tant que remise sur une autre facture du client. +ConfirmConvertToReducSupplier=Souhaitez-vous convertir ce %s en une remise absolue?
Le montant sera sauvegardé parmi toutes les remises et pourra être utilisé comme remise pour une facture actuelle ou future de ce fournisseur. SupplierPayments=Règlements fournisseurs ReceivedPayments=Règlements reçus ReceivedCustomersPayments=Règlements reçus du client -PayedSuppliersPayments=Payments paid to suppliers +PayedSuppliersPayments=Paiements versés aux fournisseurs ReceivedCustomersPaymentsToValid=Règlements clients reçus à valider PaymentsReportsForYear=Rapports de règlements pour %s PaymentsReports=Rapports de règlements @@ -91,8 +91,8 @@ PaymentConditionsShort=Conditions de règlement PaymentAmount=Montant règlement ValidatePayment=Valider ce règlement PaymentHigherThanReminderToPay=Règlement supérieur au reste à payer -HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay.
Edit your entry, otherwise confirm and consider creating a credit note for the excess received for each overpaid invoice. -HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay.
Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice. +HelpPaymentHigherThanReminderToPay=Attention, le montant de paiement pour une ou plusieurs factures est supérieur au reste à payer.
Corrigez votre saisie, sinon, confirmez et pensez à créer un avoir du trop perçu lors de la fermeture de chacune des factures surpayées. +HelpPaymentHigherThanReminderToPaySupplier=Attention, le montant du paiement d'une ou plusieurs factures est supérieur au montant restant à payer.
Modifiez votre entrée, sinon confirmez et envisagez de créer une note de crédit pour l'excédent payé pour chaque facture en trop. ClassifyPaid=Classer 'Payée' ClassifyPaidPartially=Classer 'Payée partiellement' ClassifyCanceled=Classer 'Abandonnée' @@ -131,8 +131,8 @@ BillStatusClosedUnpaid=Fermée (impayée) BillStatusClosedPaidPartially=Payée (partiellement) BillShortStatusDraft=Brouillon BillShortStatusPaid=Payée -BillShortStatusPaidBackOrConverted=Refunded or converted -Refunded=Refunded +BillShortStatusPaidBackOrConverted=Remboursé ou converti +Refunded=Remboursé BillShortStatusConverted=Payé BillShortStatusCanceled=Abandonnée BillShortStatusValidated=Validée @@ -142,16 +142,16 @@ BillShortStatusNotRefunded=Non remboursé BillShortStatusClosedUnpaid=Fermée BillShortStatusClosedPaidPartially=Payée PaymentStatusToValidShort=A valider -ErrorVATIntraNotConfigured=Intra-Community VAT number not yet defined +ErrorVATIntraNotConfigured=Numéro de TVA intracommunautaire non encore défini ErrorNoPaiementModeConfigured=Aucun mode de règlement défini par défaut. Allez corriger dans la configuration du module facture. ErrorCreateBankAccount=Créer un compte bancaire puis aller dans la configuration du module facture pour définir les modes de règlement ErrorBillNotFound=Facture %s inexistante -ErrorInvoiceAlreadyReplaced=Error, you tried to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. +ErrorInvoiceAlreadyReplaced=Erreur, vous avez tenté de valider une facture pour remplacer la facture %s. Mais celle-ci a déjà été remplacée par la facture %s. ErrorDiscountAlreadyUsed=Erreur, la remise a déjà été attribuée ErrorInvoiceAvoirMustBeNegative=Erreur, une facture de type Avoir doit avoir un montant négatif ErrorInvoiceOfThisTypeMustBePositive=Erreur, une facture de ce type doit avoir un montant positif ErrorCantCancelIfReplacementInvoiceNotValidated=Erreur, il n'est pas possible d'annuler une facture qui a été remplacée par une autre qui se trouve toujours à l'état 'brouillon'. -ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=This part or another is already used so discount series cannot be removed. +ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=Cette partie ou une autre est déjà utilisée et les séries d'escompte ne peuvent donc pas être supprimées. BillFrom=Émetteur BillTo=Adressé à ActionsOnBill=Événements sur la facture @@ -180,20 +180,20 @@ ConfirmClassifyPaidBill=Êtes-vous sûr de vouloir classer la facture %s ConfirmCancelBill=Êtes-vous sûr de vouloir annuler la facture %s ? ConfirmCancelBillQuestion=Pour quelle raison voulez-vous classer la facture abandonnée ? ConfirmClassifyPaidPartially=Êtes-vous sûr de vouloir classer la facture %s comme payée ? -ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What is the reason/s for you closing this invoice? -ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularize the VAT with a credit note. +ConfirmClassifyPaidPartiallyQuestion=Cette facture n'a pas été payée complètement. Quelle est la raison pour la fermeture de cette facture? +ConfirmClassifyPaidPartiallyReasonAvoir=Rester impayé (%s %s) est une réduction accordée car le paiement a été effectué avant terme. Je régularise la TVA avec un avoir. ConfirmClassifyPaidPartiallyReasonDiscount=Le reste à payer (%s %s) est un escompte accordé parce que le paiement a été effectué avant terme. ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Le reste à payer (%s %s) est un escompte accordé après facture. J'accepte de perdre la TVA sur cet escompte ConfirmClassifyPaidPartiallyReasonDiscountVat=Le reste à payer (%s %s) est un escompte ConfirmClassifyPaidPartiallyReasonBadCustomer=Mauvais payeur ConfirmClassifyPaidPartiallyReasonProductReturned=Produits en partie retournés ConfirmClassifyPaidPartiallyReasonOther=Créance abandonnée pour autre raison -ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice has been provided with suitable comments. (Example «Only the tax corresponding to the price that has been actually paid gives rights to deduction») -ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct notes. +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Ce choix est possible si votre facture a été fournie avec les commentaires appropriés. (Exemple «Seule la taxe correspondant au prix effectivement payé donne droit à déduction») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=Dans certains pays, ce choix n'est possible que si votre facture contient des notes correctes. ConfirmClassifyPaidPartiallyReasonAvoirDesc=Ce choix est le choix à prendre si les autres ne sont pas applicables -ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuses to pay his debt. +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=Un mauvais client est un client qui refuse de payer sa dette. ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Ce choix sera celui choisi, dans le cas du paiement incomplet suite au retour d'une partie des produits -ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all others are not suitable, for example in following situation:
- payment not complete because some products were shipped back
- amount claimed too important because a discount was forgotten
In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. +ConfirmClassifyPaidPartiallyReasonOtherDesc=Utilisez ce choix si tous les autres ne conviennent pas, par exemple dans les situations suivantes:
- paiement non effectué car certains produits ont été retournés
- montant réclamé trop important car une remise a été oubliée
Dans tous les cas, montant la sur-réclamation doit être corrigée dans le système comptable en créant une note de crédit. ConfirmClassifyAbandonReasonOther=Autre ConfirmClassifyAbandonReasonOtherDesc=Ce choix sera celui choisi dans tout autre cas. Par exemple suite à l'intention de créer une facture de remplacement. ConfirmCustomerPayment=Confirmez-vous la saisie de ce règlement de %s %s ? @@ -201,10 +201,10 @@ ConfirmSupplierPayment=Confirmez-vous la saisie de ce règlement de %s %s ConfirmValidatePayment=Êtes-vous sûr de vouloir valider ce paiement, aucune modification n'est possible une fois le paiement validé ? ValidateBill=Valider facture UnvalidateBill=Repasser facture en brouillon -NumberOfBills=No. of invoices -NumberOfBillsByMonth=No. of invoices per month +NumberOfBills=Nb de factures +NumberOfBillsByMonth=Nb de factures par mois AmountOfBills=Montant de factures -AmountOfBillsHT=Amount of invoices (net of tax) +AmountOfBillsHT=Montant des factures (HT) AmountOfBillsByMonthHT=Montant de factures par mois (HT) ShowSocialContribution=Afficher charge fiscale/sociale ShowBill=Afficher facture @@ -262,9 +262,9 @@ Repeatables=Modèles ChangeIntoRepeatableInvoice=Convertir en facture modèle CreateRepeatableInvoice=Créer facture modèle CreateFromRepeatableInvoice=Créer depuis facture modèle -CustomersInvoicesAndInvoiceLines=Customer invoices and invoice details +CustomersInvoicesAndInvoiceLines=Factures clients et lignes de factures CustomersInvoicesAndPayments=Factures clients et règlements -ExportDataset_invoice_1=Customer invoices and invoice details +ExportDataset_invoice_1=Factures clients et lignes de facture ExportDataset_invoice_2=Factures clients et règlements ProformaBill=Facture Proforma : Reduction=Réduction @@ -304,9 +304,9 @@ DiscountAlreadyCounted=Réductions ou crédits déjà consommés CustomerDiscounts=Remises client SupplierDiscounts=Remises vendeurs BillAddress=Adresse de facturation -HelpEscompte=This discount is a discount granted to customer because payment was made before term. -HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loss. -HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by another for example) +HelpEscompte=Un escompte est une remise accordée, sur une facture donnée, à un client car ce dernier a réalisé son règlement bien avant l'échéance. +HelpAbandonBadCustomer=Ce montant a été abandonné (client jugé mauvais payeur) et est considéré comme une perte exceptionnelle. +HelpAbandonOther=Ce montant a été abandonné car il s'agissait d'une erreur de facturation (saisie mauvais client, facture remplacée par une autre par exemple). IdSocialContribution=Id de paiement charge fiscale ou sociale PaymentId=Id paiement PaymentRef=Ref paiement @@ -323,19 +323,19 @@ InvoiceNotChecked=Aucune facture n'a été sélectionnée CloneInvoice=Cloner facture ConfirmCloneInvoice=Êtes-vous sûr de vouloir cloner cette facture %s ? DisabledBecauseReplacedInvoice=Action désactivée car facture remplacée -DescTaxAndDividendsArea=Cet écran résume la liste de toutes les paiements réalisés pour des dépenses particulières. Seuls les paiements de l'année choisi sont inclus ici. -NbOfPayments=No. of payments +DescTaxAndDividendsArea=Cet écran résume la liste de toutes les paiements réalisés pour des dépenses particulières. Seuls les paiements de l'année choisie sont inclus ici. +NbOfPayments=Nb de paiements SplitDiscount=Scinder réduction en deux -ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into 2 smaller discounts? -TypeAmountOfEachNewDiscount=Input amount for each of two parts: -TotalOfTwoDiscountMustEqualsOriginal=Total of two new discounts must be equal to original discount amount. +ConfirmSplitDiscount=Voulez-vous vraiment diviser cette remise de %s %s en deux remises plus petites? +TypeAmountOfEachNewDiscount=Quantité d'entrée pour chacune des deux parties: +TotalOfTwoDiscountMustEqualsOriginal=Le total de deux nouvelles remises doit être égal au montant de la remise initiale. ConfirmRemoveDiscount=Êtes-vous sûr de vouloir supprimer cette réduction ? RelatedBill=Facture associée RelatedBills=Factures associées RelatedCustomerInvoices=Factures clients liées RelatedSupplierInvoices=Factures fournisseurs liées LatestRelatedBill=Dernière facture en rapport -WarningBillExist=Warning, one or more invoices already exist +WarningBillExist=Attention, une ou plusieurs factures existent déjà MergingPDFTool=Outil de fusion de PDF AmountPaymentDistributedOnInvoice=Montant paiement affecté à la facture PaymentOnDifferentThirdBills=Autoriser le règlement de factures de différents tiers si ils ont la même maison-mère @@ -410,19 +410,19 @@ PaymentTypeCHQ=Chèque PaymentTypeShortCHQ=Chèque PaymentTypeTIP=TIP (Titre interbancaire de paiement) PaymentTypeShortTIP=Paiement TIP -PaymentTypeVAD=Online payment -PaymentTypeShortVAD=Online payment +PaymentTypeVAD=Paiement en ligne +PaymentTypeShortVAD=Paiement en ligne PaymentTypeTRA=Traite PaymentTypeShortTRA=Traite PaymentTypeFAC=Facteur PaymentTypeShortFAC=Facteur BankDetails=Coordonnées bancaires BankCode=Code banque -DeskCode=Office code +DeskCode=Code guichet BankAccountNumber=Numéro de compte -BankAccountNumberKey=Check digits +BankAccountNumberKey=Clé Residence=Domiciliation -IBANNumber=IBAN complete account number +IBANNumber=Code IBAN IBAN=IBAN BIC=BIC/SWIFT BICNumber=Code BIC/SWIFT @@ -447,7 +447,7 @@ PaymentByTransferOnThisBankAccount=Règlement par virement sur le compte bancair VATIsNotUsedForInvoice=* TVA non applicable art-293B du CGI LawApplicationPart1=Par application de la loi 80.335 du 12/05/80 LawApplicationPart2=les marchandises demeurent la propriété du -LawApplicationPart3=the seller until full payment of +LawApplicationPart3=vendeur jusqu'à complet encaissement de LawApplicationPart4=leurs prix. LimitedLiabilityCompanyCapital=SARL au Capital de UseLine=Appliquer @@ -465,7 +465,7 @@ Cheques=Chèques DepositId=Id dépôt NbCheque=Nombre de chèques CreditNoteConvertedIntoDiscount=Ce %s a été converti en %s -UsBillingContactAsIncoiveRecipientIfExist=Utiliser l'adresse du contact facturation client de la facture plutôt que l'adresse du tiers comme destinataire des factures +UsBillingContactAsIncoiveRecipientIfExist=Utiliser l'adresse du contact de type 'contact facturation' plutôt que l'adresse du tiers comme destinataire des factures ShowUnpaidAll=Afficher tous les impayés ShowUnpaidLateOnly=Afficher uniquement les factures impayées en retard PaymentInvoiceRef=Paiement facture %s @@ -478,20 +478,20 @@ CantRemovePaymentWithOneInvoicePaid=Suppression impossible quand il existe au mo ExpectedToPay=Paiement attendu CantRemoveConciliatedPayment=Suppression d'un paiement rapproché impossible PayedByThisPayment=Règlé par ce paiement -ClosePaidInvoicesAutomatically=Classify "Paid" all standard, down payment or replacement invoices paid entirely. +ClosePaidInvoicesAutomatically=Classer «payées» toutes les factures standard, les acomptes ou les factures de remplacement entièrement payées ClosePaidCreditNotesAutomatically=Classer automatiquement à "Payé" les factures avoirs entièrement remboursées. ClosePaidContributionsAutomatically=Classer "payé" toutes les contributions sociales ou fiscales payées entièrement. -AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remainder to pay will be automatically closed with status "Paid". +AllCompletelyPayedInvoiceWillBeClosed=Toutes les factures sans reste à payer seront automatiquement clôturées avec le statut "Payée". ToMakePayment=Payer ToMakePaymentBack=Rembourser ListOfYourUnpaidInvoices=Liste des factures impayées NoteListOfYourUnpaidInvoices=Remarque: Cette liste ne contient que les factures des Tiers pour lesquels vous êtes le commercial affecté. RevenueStamp=Timbre fiscal -YouMustCreateInvoiceFromThird=This option is only available when creating invoices from tab "customer" of third party +YouMustCreateInvoiceFromThird=Cette option est uniquement disponible lors de la création de factures à partir de l'onglet "client" d'un tiers YouMustCreateInvoiceFromSupplierThird=Cette option est disponible uniquement lors de la création d'une facture depuis l'onglet «fournisseur» d'un tiers YouMustCreateStandardInvoiceFirstDesc=Pour créer une facture modèle, vous devez d'abord créer une facture standard brouillon et la convertir en modèle. PDFCrabeDescription=Modèle de facture PDF complet (modèle recommandé par défaut) -PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template +PDFSpongeDescription=Modèle de facture PDF Sponge. Un modèle de facture complet PDFCrevetteDescription=Modèle de facture PDF Crevette (modèle complet pour les factures de situation) TerreNumRefModelDesc1=Renvoie le numéro sous la forme %syymm-nnnn pour les factures et factures de remplacement, %syymm-nnnn pour les avoirs et %syymm-nnnn pour les acomptes où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0 MarsNumRefModelDesc1=Renvoie une numérotation au format %syymm-nnnn pour les factures standards, %syymm-nnnn pour les factures de remplacement, %syymm-nnnn pour les factures d'acompte et %syymm-nnnn pour les factures d'avoir où yy est l'année, mm le mois et nnnn un compteur sans rupture ni retour à zéro. diff --git a/htdocs/langs/fr_FR/blockedlog.lang b/htdocs/langs/fr_FR/blockedlog.lang index 440f0d0d176..ae0b630096d 100644 --- a/htdocs/langs/fr_FR/blockedlog.lang +++ b/htdocs/langs/fr_FR/blockedlog.lang @@ -1,6 +1,6 @@ -BlockedLog=Unalterable Logs +BlockedLog=Journaux Inaltérables Field=Champ -BlockedLogDesc=Ce module suit à la trace quelques événements dans un journal invariable (que vous ne pouvez pas modifier une fois enregistré) dans une chaîne de bloc, en temps réel. Ce module fournit la compatibilité avec les exigences des lois de quelques pays (comme la France avec la Loi de Finance 2016 - Norme NF535) +BlockedLogDesc=Ce module retrace certains événements dans un journal immuable (que vous ne pouvez pas modifier une fois enregistré) dans une chaîne de blocs, en temps réel. Ce module assure la compatibilité avec les exigences des lois de certains pays (comme la France avec la loi Finance 2016 - Norme NF535). Fingerprints=Événements et empreintes archivés FingerprintsDesc=C'est l'outil pour parcourir ou extraire les logs inaltérables. Les journaux inaltérables sont générés et archivés localement dans une table dédiée, en temps réel lorsque vous enregistrez une action dans dolibarr. Vous pouvez utiliser cet outil pour exporter cette archive et l'enregistrer sur un support externe (certains pays, comme la France, vous demandent de le faire chaque année). Notez qu'il n'y a pas de fonction pour purger ce journal et chaque changement essayé d'être fait directement dans ce journal (par un hacker par exemple) sera rapporté avec une empreinte non valide. Si vous avez vraiment besoin de purger cette table parce que vous avez utilisé votre application à des fins de démonstration/test et que vous voulez nettoyer vos données pour démarrer votre production, vous pouvez demander à votre revendeur ou intégrateur de réinitialiser votre base de données (toutes vos données seront supprimées).\n CompanyInitialKey=Clé initiale de la société (hachage du bloc de genèse) @@ -8,46 +8,46 @@ BrowseBlockedLog=Logs inaltérables ShowAllFingerPrintsMightBeTooLong=Afficher tous les journaux archivés (peut être long) ShowAllFingerPrintsErrorsMightBeTooLong=Afficher tous les logs d'archives non valides (peut être long) DownloadBlockChain=Télécharger les empreintes -KoCheckFingerprintValidity=Archived log is not valid. It means someone (a hacker?) has modified some data of this archived log after it was recorded, or has erased the previous archived record (check that line with previous # exists). -OkCheckFingerprintValidity=Archived log is valid. It means all data on this line were not modified and record follow the previous one. -OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. -AddedByAuthority=Stored into remote authority -NotAddedByAuthorityYet=Not yet stored into remote authority +KoCheckFingerprintValidity=Le journal archivé n'est pas valide. Cela signifie que quelqu'un (un pirate informatique?) A modifié certaines données de ce journal archivé après son enregistrement ou a effacé l'enregistrement archivé précédent (vérifiez que la ligne avec le # précédent existe). +OkCheckFingerprintValidity=Le journal archivé est valide. Cela signifie que toutes les données de cette ligne n'ont pas été modifiées et l'enregistrement suit la précédente. +OkCheckFingerprintValidityButChainIsKo=Le journal archivé semble valide par rapport au précédent mais la chaîne était corrompue auparavant. +AddedByAuthority=Stocké dans une autorité distante +NotAddedByAuthorityYet=Pas encore stocké dans une autorité distante ShowDetails=Voir plus de détails -logPAYMENT_VARIOUS_CREATE=Payment (not assigned to invoice) created -logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to invoice) modified -logPAYMENT_VARIOUS_DELETE=Payment (not assigned to invoice) logical deletion -logPAYMENT_ADD_TO_BANK=Payment added to bank -logPAYMENT_CUSTOMER_CREATE=Customer payment created -logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion -logDONATION_PAYMENT_CREATE=Donation payment created -logDONATION_PAYMENT_DELETE=Donation payment logical deletion -logBILL_PAYED=Customer invoice paid -logBILL_UNPAYED=Customer invoice set unpaid +logPAYMENT_VARIOUS_CREATE=Paiement créé (non affecté à la facture) +logPAYMENT_VARIOUS_MODIFY=Paiement modifié (non affecté à la facture) +logPAYMENT_VARIOUS_DELETE=Suppression logique du paiement (non affecté à la facture) +logPAYMENT_ADD_TO_BANK=Paiement ajouté à la banque +logPAYMENT_CUSTOMER_CREATE=Paiement client créé +logPAYMENT_CUSTOMER_DELETE=Suppression logique du paiement client +logDONATION_PAYMENT_CREATE=Paiement de donation créé +logDONATION_PAYMENT_DELETE=Suppression logique du paiement des dons +logBILL_PAYED=Facture client payée +logBILL_UNPAYED=Facture client impayée logBILL_VALIDATE=Facture client validée logBILL_SENTBYMAIL=Facture client envoyée par mail -logBILL_DELETE=Customer invoice logically deleted -logMODULE_RESET=Module BlockedLog was disabled -logMODULE_SET=Module BlockedLog was enabled +logBILL_DELETE=Facture client supprimée logiquement +logMODULE_RESET=Le module BlockedLog a été désactivé +logMODULE_SET=Le module BlockedLog a été activé logDON_VALIDATE=Don validé logDON_MODIFY=Don modifié -logDON_DELETE=Donation logical deletion +logDON_DELETE=Don logique suppression logMEMBER_SUBSCRIPTION_CREATE=Cotisation adhérent créée logMEMBER_SUBSCRIPTION_MODIFY=Cotisation adhérent modifiée -logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion +logMEMBER_SUBSCRIPTION_DELETE=Suppression logique d'abonnement de membre BlockedLogBillDownload=Téléchargement facture client BlockedLogBillPreview=Aperçu facture client BlockedlogInfoDialog=Détail du log ListOfTrackedEvents=Liste des actions suivies Fingerprint=Empreinte -DownloadLogCSV=Export archived logs (CSV) -logDOC_PREVIEW=Preview of a validated document in order to print or download -logDOC_DOWNLOAD=Download of a validated document in order to print or send -DataOfArchivedEvent=Full datas of archived event -ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data) -BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit. -BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit. +DownloadLogCSV=Exporter les journaux archivés (CSV) +logDOC_PREVIEW=Aperçu d'un document validé pour impression ou téléchargement +logDOC_DOWNLOAD=Téléchargement d'un document validé pour impression ou envoi +DataOfArchivedEvent=Données complètes de l'événement archivé +ImpossibleToReloadObject=Objet d'origine (type %s, id %s) non lié (voir la colonne 'Données complètes' pour obtenir les données sauvegardées non modifiables) +BlockedLogAreRequiredByYourCountryLegislation=Le module Journaux inaltérables peut être requis par la législation de votre pays. La désactivation de ce module peut invalider toute transaction future au regard de la loi et de l'utilisation de logiciels légaux, car elles ne peuvent être validées par un contrôle fiscal. +BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Le module Journaux inaltérables a été activé en raison de la législation de votre pays. La désactivation de ce module peut invalider toute transaction future au regard de la loi et de l’utilisation de logiciels légaux, car elles ne peuvent pas être validées par un audit fiscal. BlockedLogDisableNotAllowedForCountry=Liste des pays où l'utilisation de ce module est obligatoire (juste pour éviter de désactiver le module par erreur. Si votre pays est dans cette liste, la désactivation du module n'est pas possible sans la modification préalable de cette liste. Notez également que l'activation/désactivation de ce module garder une trace dans le journal des logs inaltérables). -OnlyNonValid=Non-valid -TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters. -RestrictYearToExport=Restrict month / year to export +OnlyNonValid=Non valide +TooManyRecordToScanRestrictFilters=Trop d'enregistrements à analyser / analyser. Veuillez restreindre la liste avec des filtres plus restrictifs. +RestrictYearToExport=Restreindre mois / année pour exporter diff --git a/htdocs/langs/fr_FR/cashdesk.lang b/htdocs/langs/fr_FR/cashdesk.lang index e152f2c4318..af1a1b7c91b 100644 --- a/htdocs/langs/fr_FR/cashdesk.lang +++ b/htdocs/langs/fr_FR/cashdesk.lang @@ -30,14 +30,14 @@ ShowCompany=Voir société ShowStock=Voir entrepôt DeleteArticle=Cliquez pour enlever cet article FilterRefOrLabelOrBC=Recherche (Ref/Lib.) -UserNeedPermissionToEditStockToUsePos=Vous avez demandé de réduire le stock sur création de facture, aussi l'utilisateur qui utilise le Point De Vente doit avoir la permission d'éditer le stock. +UserNeedPermissionToEditStockToUsePos=Vous demandez de réduire le stock lors de la création de la facture. L'utilisateur qui utilise le Point De Vente doit donc avoir l'autorisation de modifier le stock. DolibarrReceiptPrinter=Imprimante reçu -PointOfSale=Point de Vente -CloseBill=Fermer Bill -Floors=Étages -Floor=Étage +PointOfSale=Caisse enregistreuses +CloseBill=Fermer la facture +Floors=Etages +Floor=Etage AddTable=Ajouter une table -Place=Endroit -TakeboxNecesary='TakeBOX' Application requise +Place=Marché +TakeboxNecesary=Application 'TakeBOX' requise OrderPrinters=Commande imprimantes -SearchProduct=Recherche produit +SearchProduct=Rechercher un produit diff --git a/htdocs/langs/fr_FR/categories.lang b/htdocs/langs/fr_FR/categories.lang index e40474eb925..b65024a5217 100644 --- a/htdocs/langs/fr_FR/categories.lang +++ b/htdocs/langs/fr_FR/categories.lang @@ -16,6 +16,7 @@ MembersCategoriesArea=Espace tags/catégories adhérents ContactsCategoriesArea=Espace tags/catégories de contacts AccountsCategoriesArea=Espace des tags/categories ProjectsCategoriesArea=Zone des tags/catégories des projets +UsersCategoriesArea=Espace tags/catégories des utlisateurs SubCats=Sous-catégories CatList=Liste des tags/catégories NewCategory=Nouveau tag/catégorie @@ -52,14 +53,15 @@ CustomersCategoryShort=Tag/catégorie de clients ProductsCategoryShort=Tag/catégorie de produits MembersCategoryShort=Tag/catégorie adhérents SuppliersCategoriesShort=Tags fournisseurs -CustomersCategoriesShort=Tags/catégories de clients -ProspectsCategoriesShort=Tags/Catégories de prospects +CustomersCategoriesShort=Tags clients +ProspectsCategoriesShort=Tags prospects CustomersProspectsCategoriesShort=Tags clients/prosp. -ProductsCategoriesShort=Tags/catégories de produits -MembersCategoriesShort=Tags/catégories de membres -ContactCategoriesShort=Tags/catégories de contacts -AccountsCategoriesShort=Tag/catégorie des comptes -ProjectsCategoriesShort=Tags/catégories de projets +ProductsCategoriesShort=Tags de produits +MembersCategoriesShort=Tags des adhérents +ContactCategoriesShort=Tags de contacts +AccountsCategoriesShort=Tags des comptes +ProjectsCategoriesShort=Tags de projets +UsersCategoriesShort=Tags utlisateurs ThisCategoryHasNoProduct=Ce tag/catégorie ne contient aucun produit. ThisCategoryHasNoSupplier=Ce tag/catégorie ne contient aucun fournisseur. ThisCategoryHasNoCustomer=Ce tag/catégorie ne contient aucun client. diff --git a/htdocs/langs/fr_FR/commercial.lang b/htdocs/langs/fr_FR/commercial.lang index 77b4a095834..8619101a5f4 100644 --- a/htdocs/langs/fr_FR/commercial.lang +++ b/htdocs/langs/fr_FR/commercial.lang @@ -52,6 +52,7 @@ ActionAC_TEL=Appel téléphonique ActionAC_FAX=Envoi fax ActionAC_PROP=Envoi proposition par email ActionAC_EMAIL=Envoi email +ActionAC_EMAIL_IN=Réception d'email ActionAC_RDV=Rendez-vous ActionAC_INT=Intervention sur site ActionAC_FAC=Envoi facture client par email @@ -75,5 +76,5 @@ ToOfferALinkForOnlineSignature=Lien pour signature en ligne WelcomeOnOnlineSignaturePage=Bienvenue sur la page pour accepter les propositions commerciales de%s ThisScreenAllowsYouToSignDocFrom=Cet écran vous permet d'accepter et signer ou de refuser le devis ou la proposition commerciale ThisIsInformationOnDocumentToSign=Ceci est une information sur le document à accepter ou à refuser -SignatureProposalRef=Signer le devis ou la proposition commerciale %s +SignatureProposalRef=Signature du devis ou proposition commerciale %s FeatureOnlineSignDisabled=Fonctionnalité pour la signature en ligne désactivée ou document généré avant l'activation de la fonctionnalité diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang index 1016091557d..ae1ff48f688 100644 --- a/htdocs/langs/fr_FR/companies.lang +++ b/htdocs/langs/fr_FR/companies.lang @@ -38,9 +38,9 @@ ThirdPartyCustomers=Clients ThirdPartyCustomersStats=Clients ThirdPartyCustomersWithIdProf12=Clients avec %s ou %s ThirdPartySuppliers=Fournisseurs -ThirdPartyType=Type of company +ThirdPartyType=Type du tiers Individual=Individu privé -ToCreateContactWithSameName=Will create a Third Party and a linked Contact/Address with same information as the Third Party. In most cases, even if your Third Party is a physical person, creating a Third Party alone is enough. +ToCreateContactWithSameName=Crée automatiquement un contact/adresse, sous le tiers, avec la même information que le tiers. Dans la plupart des cas, même si votre tiers est une personne physique, la création d'un tiers seul suffit. ParentCompany=Maison mère Subsidiaries=Filiales ReportByMonth=Rapport par mois @@ -76,8 +76,8 @@ Town=Ville Web=Web Poste= Poste DefaultLang=Langue par défaut -VATIsUsed=Sales tax used -VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers +VATIsUsed=Assujetti à la TVA +VATIsUsedWhenSelling=Cela définit si ce tiers inclut une taxe de vente ou non lorsqu'il facture une facture à ses propres clients. VATIsNotUsed=Non assujetti à la TVA CopyAddressFromSoc=Remplir avec l'adresse du tiers ThirdpartyNotCustomerNotSupplierSoNoRef=Tiers ni client ni fournisseur, pas d'objets référents disponibles @@ -258,7 +258,7 @@ ProfId1DZ=RC ProfId2DZ=Article ProfId3DZ=Numéro d'identification du fournisseur ProfId4DZ=Numéro d'identification du client -VATIntra=Sales Tax/VAT ID +VATIntra=Numéro de TVA VATIntraShort=Num. TVA VATIntraSyntaxIsValid=Syntaxe valide VATReturn=Fréquence TVA @@ -274,8 +274,8 @@ CompanyHasRelativeDiscount=Ce client a une remise par défaut de %s%% CompanyHasNoRelativeDiscount=Ce client n'a pas de remise relative par défaut HasRelativeDiscountFromSupplier=Vous avez une réduction par défaut de %s%% chez ce fournisseur HasNoRelativeDiscountFromSupplier=Vous n'avez pas de remise relative par défaut chez ce fournisseur -CompanyHasAbsoluteDiscount=This customer has discounts available (credits notes or down payments) for %s %s -CompanyHasDownPaymentOrCommercialDiscount=This customer has discounts available (commercial, down payments) for %s %s +CompanyHasAbsoluteDiscount=Ce client dispose de crédits disponibles (avoirs ou acomptes) pour un montant de %s %s +CompanyHasDownPaymentOrCommercialDiscount=Ce client a des remises disponibles (commercial, acompte) pour %s %s CompanyHasCreditNote=Ce client a %s %s d'avoirs disponibles HasNoAbsoluteDiscountFromSupplier=Vous n'avez aucun crédit de réduction disponible auprès de ce fournisseur HasAbsoluteDiscountFromSupplier=Vous avez des crédits disponibles (avoirs ou acomptes) pour %s %s chez ce fournisseur @@ -307,18 +307,18 @@ CustomerCode=Code client SupplierCode=Code fournisseur CustomerCodeShort=Code client SupplierCodeShort=Code fournisseur -CustomerCodeDesc=Customer Code, unique for all customers -SupplierCodeDesc=Vendor Code, unique for all vendors +CustomerCodeDesc=Code client unique pour chaque client +SupplierCodeDesc=Code fournisseur unique pour chaque fournisseur RequiredIfCustomer=Requis si le tiers est un client ou un prospect RequiredIfSupplier=Requis si un tiers est un fournisseur -ValidityControledByModule=Validity controlled by module -ThisIsModuleRules=Rules for this module +ValidityControledByModule=Validité contrôlée par le module +ThisIsModuleRules=Voici les règles de ce module ProspectToContact=Prospect à contacter CompanyDeleted=La société "%s" a été supprimée de la base. ListOfContacts=Liste des contacts ListOfContactsAddresses=Liste des contacts/adresses ListOfThirdParties=Liste des tiers -ShowCompany=Show Third Party +ShowCompany=Affichier tiers ShowContact=Afficher contact ContactsAllShort=Tous (pas de filtre) ContactType=Type de contact @@ -333,20 +333,20 @@ NoContactForAnyProposal=Ce contact n'est contact d'aucune proposition commercial NoContactForAnyContract=Ce contact n'est contact d'aucun contrat NoContactForAnyInvoice=Ce contact n'est contact d'aucune facture NewContact=Nouveau contact -NewContactAddress=New Contact/Address +NewContactAddress=Nouveau Contact/Adresse MyContacts=Mes contacts Capital=Capital CapitalOf=Capital de %s EditCompany=Modification société -ThisUserIsNot=This user is not a prospect, customer or vendor +ThisUserIsNot=Cet utilisateur n'est ni un prospect, ni un client, ni un fournisseur VATIntraCheck=Vérifier -VATIntraCheckDesc=The link %s uses the European VAT checker service (VIES). An external internet access from server is required for this service to work. +VATIntraCheckDesc=Le lien %s permet d'interroger le service européen de contrôle des numéro de TVA intracommunautaire. Un accès à Internet depuis le serveur est requis pour que ce service fonctionne. VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do VATIntraCheckableOnEUSite=Vérifier la TVA intra-communautaire sur le site de la Commission Européenne VATIntraManualCheck=Vous pouvez aussi vérifier manuellement via le site de la commission européenne %s ErrorVATCheckMS_UNAVAILABLE=Vérification impossible. Le service de vérification n'est pas fourni par ce pays membre (%s). -NorProspectNorCustomer=Not prospect, or customer -JuridicalStatus=Legal Entity Type +NorProspectNorCustomer=Ni client, ni prospect +JuridicalStatus=Type d'entité légale Staff=Effectif ProspectLevelShort=Potentiel ProspectLevel=Potentiel du prospect @@ -387,11 +387,11 @@ ExportCardToFormat=Exporter fiche au format ContactNotLinkedToCompany=Contact non lié à un tiers DolibarrLogin=Identifiant utilisateur NoDolibarrAccess=Pas d'accès utilisateur -ExportDataset_company_1=Third Parties (companies/foundations/physical people) and their properties -ExportDataset_company_2=Contacts and their properties -ImportDataset_company_1=Third Parties (companies/foundations/physical people) and their properties -ImportDataset_company_2=Contacts/Addresses and attributes -ImportDataset_company_3=Bank accounts of Third Parties +ExportDataset_company_1=Tiers (sociétés/institutions/particuliers) et attributs +ExportDataset_company_2=Contacts (de tiers) et attributs +ImportDataset_company_1=Tiers (sociétés/institutions/particuliers) et attributs +ImportDataset_company_2=Contacts/Adresses (de tiers ou libre) et attributs +ImportDataset_company_3=Coordonnées bancaires des tiers ImportDataset_company_4=Tiers - Commerciaux (Affectation des Commerciaux aux Tiers) PriceLevel=Niveau de prix DeliveryAddress=Adresse de livraison @@ -402,16 +402,16 @@ DeleteFile=Suppression d'un fichier ConfirmDeleteFile=Êtes-vous sûr de vouloir supprimer ce fichier ? AllocateCommercial=Affecter un commercial Organization=Organisme -FiscalYearInformation=Fiscal Year +FiscalYearInformation=Exercice fiscal FiscalMonthStart=Mois de début d'exercice YouMustAssignUserMailFirst=Vous devez définir un email pour cet utilisateur avant de pouvoir ajouter une notification par courrier électronique. YouMustCreateContactFirst=Pour pouvoir ajouter une notifications par mail,vous devez déjà définir des contacts valides pour le tiers ListSuppliersShort=Liste des fournisseurs ListProspectsShort=Liste des prospects ListCustomersShort=Liste des clients -ThirdPartiesArea=Third Parties/Contacts -LastModifiedThirdParties=Last %s modified Third Parties -UniqueThirdParties=Total of Third Parties +ThirdPartiesArea=Tiers / Contacts +LastModifiedThirdParties=Les %s derniers tiers modifiés +UniqueThirdParties=Total de tiers uniques InActivity=Ouvert ActivityCeased=Clos ThirdPartyIsClosed=Le tiers est clôturé @@ -420,7 +420,7 @@ CurrentOutstandingBill=Montant encours OutstandingBill=Montant encours autorisé OutstandingBillReached=Montant encours autorisé dépassé OrderMinAmount=Montant minimum pour la commande -MonkeyNumRefModelDesc=Return a number with the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. +MonkeyNumRefModelDesc=Renvoie un nombre au format %syymm-nnnn pour le code client et %syymm-nnnn pour le code fournisseur, où yy est année, mm est mois et nnnn est une séquence sans interruption ni retour à 0. LeopardNumRefModelDesc=Code libre sans vérification. Peut être modifié à tout moment. ManagingDirectors=Nom du(des) gestionnaire(s) (PDG, directeur, président...) MergeOriginThirdparty=Tiers en doublon (le tiers que vous voulez supprimer) diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 297db2e5c13..e7f50ef2a2a 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -142,7 +142,7 @@ CalcModeVATDebt=Mode %sTVA sur débit%s. CalcModeVATEngagement=Mode %sTVA sur encaissement%s. CalcModeDebt=Analyse des factures enregistrées connues même si elles ne sont pas encore comptabilisées dans le Grand Livre. CalcModeEngagement=Analyse des paiements enregistrés connus, même s'ils ne sont pas encore comptabilisés dans le Grand Livre. -CalcModeBookkeeping=Analyse des données journalisées dans le grand livre +CalcModeBookkeeping=Analyse des données journalisées dans le tableau Grand livre. CalcModeLT1= Mode %sRE sur factures clients - factures fournisseurs%s CalcModeLT1Debt=Mode %sRE sur factures clients%s CalcModeLT1Rec= Mode %sRE sur factures fournisseurs%s @@ -229,11 +229,11 @@ ACCOUNTING_VAT_SOLD_ACCOUNT=Compte comptable par défaut pour la TVA - TVA sur l ACCOUNTING_VAT_BUY_ACCOUNT=Compte comptable par défaut pour la TVA - TVA sur les achats (utilisé si non défini au niveau de la configuration du dictionnaire de TVA) ACCOUNTING_VAT_PAY_ACCOUNT=Compte comptable par défaut pour le paiement de la TVA ACCOUNTING_ACCOUNT_CUSTOMER=Compte comptable utilisé pour le tiers client -ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Le compte comptable dédié défini sur la fiche tiers sera utilisé pour l'affectation du compte auxiliaire uniquement. Celui-ci sera utilisé pour la comptabilité générale et comme valeur par défaut de la comptabilité auxiliaire si le compte comptable client dédié du ties n'est pas défini. +ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Le compte de comptabilité dédié défini sur la carte tierce sera utilisé pour la comptabilité Subledger uniquement. Celui-ci sera utilisé pour le grand livre et comme valeur par défaut de la comptabilité Subledger si le compte de comptabilité client dédié sur une tierce partie n'est pas défini. ACCOUNTING_ACCOUNT_SUPPLIER=Compte comptable utilisé pour les tiers fournisseur -ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Le compte comptable dédié défini sur la carte tierce sera utilisé pour l'affectation du compte secondaire uniquement. Celui-ci sera utilisé pour le grand livre général et comme valeur par défaut de la comptabilité du sous-compte rendu si le compte d'affectation spécialisé du fournisseur sur un tiers n'est pas défini. +ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Le compte de comptabilité dédié défini sur la carte tierce sera utilisé pour la comptabilité Subledger uniquement. Celui-ci sera utilisé pour le grand livre et comme valeur par défaut de la comptabilité Subledger si le compte de comptabilité fournisseur dédié sur une tierce partie n'est pas défini. CloneTax=Cloner une charge sociale/fiscale -ConfirmCloneTax=Confirmez le clone du paiement de charge sociale/fiscale +ConfirmCloneTax=Confirmer le clone d'un impôt social / fiscal CloneTaxForNextMonth=Cloner pour le mois suivant SimpleReport=Rapport simple AddExtraReport=Rapports complémentaires (Ajouter le rapport client local et international) @@ -248,7 +248,7 @@ ErrorBankAccountNotFound=Erreur: compte banque non trouvé FiscalPeriod=Période fiscale ListSocialContributionAssociatedProject=Liste des charges sociales liées au projet DeleteFromCat=Supprimer du groupe comptable -AccountingAffectation=Compte affecté +AccountingAffectation=Affectation comptable LastDayTaxIsRelatedTo=Dernier jour de la période pour laquelle la taxe est due VATDue=TVA réclamée ClaimedForThisPeriod=Réclamé pour la période diff --git a/htdocs/langs/fr_FR/contracts.lang b/htdocs/langs/fr_FR/contracts.lang index a75d83c1dbd..c984f6cd951 100644 --- a/htdocs/langs/fr_FR/contracts.lang +++ b/htdocs/langs/fr_FR/contracts.lang @@ -67,7 +67,7 @@ CloseService=Fermer service BoardRunningServices=Services actifs et expirés en contrat ServiceStatus=Statut du service DraftContracts=Contrats brouillons -CloseRefusedBecauseOneServiceActive=Fermeture du contrat impossible car il y a au moins un service actif +CloseRefusedBecauseOneServiceActive=Le contrat ne peut pas être fermé car il y a au moins un service ouvert dessus ActivateAllContracts=Activer tous les services CloseAllContracts=Clôturer tous les services DeleteContractLine=Supprimer ligne de contrat @@ -89,6 +89,7 @@ CloneContract=Cloner le contrat ConfirmCloneContract=Etes vous sûr de vouloir cloner le contrat %s ? LowerDateEndPlannedShort=Date de fin de service la plus basse parmi les services actifs SendContractRef=Informations contrat __REF__ +OtherContracts=Autres contrats ##### Types de contacts ##### TypeContact_contrat_internal_SALESREPSIGN=Commercial signataire du contrat TypeContact_contrat_internal_SALESREPFOLL=Commercial suivi du contrat diff --git a/htdocs/langs/fr_FR/cron.lang b/htdocs/langs/fr_FR/cron.lang index 3a78b48e2b6..bd35edf1273 100644 --- a/htdocs/langs/fr_FR/cron.lang +++ b/htdocs/langs/fr_FR/cron.lang @@ -12,7 +12,7 @@ OrToLaunchASpecificJob=Ou pour vérifier et lancer un travail programmé spécif KeyForCronAccess=Clé de sécurité pour l'URL de lancement des travaux programmés FileToLaunchCronJobs=Ligne de commande pour vérifier et lancer les travaux programmés qualifiés CronExplainHowToRunUnix=Sur un environnement Unix vous pouvez utiliser l'entrée suivante en crontab pour exécuter la ligne de commande toutes les 5 minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes +CronExplainHowToRunWin=Sous Microsoft (tm) Windows, vous pouvez utiliser les outils Tâches programmées pour exécuter la ligne de commande toutes les 5 minutes. CronMethodDoesNotExists=La classe %s ne contient aucune méthode %s CronJobDefDesc=Les travaux planifiés sont définis dans le fichier descripteur de module. Lorsque le module est activé, ils sont chargés et disponibles afin que vous puissiez administrer les travaux à partir du menu des outils d'administration %s. CronJobProfiles=Liste des profils de travaux planifiés prédéfinis @@ -42,7 +42,7 @@ CronModule=Module CronNoJobs=Aucun travail enregistré CronPriority=Priorité CronLabel=Libellé -CronNbRun=No. launches +CronNbRun=Nb. lancements CronMaxRun=Nb max de lancement CronEach=Tous les JobFinished=Travail lancé et terminé @@ -61,11 +61,11 @@ CronStatusInactiveBtn=Désactiver CronTaskInactive=Cette tâche est désactivée CronId=Id CronClassFile=Nom de fichier intégrant la classe -CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
product -CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory).
For example to call the fetch method of Dolibarr Product object htdocs/product/class/product.class.php, the value for class file name is
product/class/product.class.php -CronObjectHelp=The object name to load.
For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is
Product -CronMethodHelp=The object method to launch.
For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is
fetch -CronArgsHelp=The method arguments.
For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be
0, ProductRef +CronModuleHelp=Nom du répertoire du module Dolibarr (fonctionne également avec le module externe Dolibarr).
Par exemple, pour appeler la méthode fetch de l'objet produit Dolibarr /htdocs/product/class/product.class.php, la valeur du module est
produit +CronClassFileHelp=Chemin relatif et nom de fichier à charger (chemin est relatif au répertoire racine du serveur Web).
Par exemple, pour appeler la méthode fetch de l'objet produit Dolibarr htdocs / product / class / product.class.php , la valeur du nom de fichier de la classe est
product / class / product.class.php +CronObjectHelp=Le nom de l'objet à charger.
Par exemple, pour appeler la méthode fetch de l'objet produit Dolibarr /htdocs/product/class/product.class.php, la valeur du nom du fichier de classe est
Produit +CronMethodHelp=La méthode d'objet à lancer.
Par exemple, pour appeler la méthode fetch de l'objet produit Dolibarr /htdocs/product/class/product.class.php, la valeur de la méthode est
fetch +CronArgsHelp=Les arguments de la méthode.
Par exemple, pour appeler la méthode fetch de l'objet produit Dolibarr /htdocs/product/class/product.class.php, la valeur des paramètres peut être: 0, ProductRef . CronCommandHelp=La commande système a exécuter. CronCreateJob=Créer un nouveau travail planifié CronFrom=A partir du diff --git a/htdocs/langs/fr_FR/dict.lang b/htdocs/langs/fr_FR/dict.lang index eba530a3970..076c5e5e005 100644 --- a/htdocs/langs/fr_FR/dict.lang +++ b/htdocs/langs/fr_FR/dict.lang @@ -223,7 +223,7 @@ CountryTO=Tonga CountryTT=Trinité-et-Tobago CountryTR=Turquie CountryTM=Turkménistan -CountryTC=Iles Turks-et-Caicos +CountryTC=Iles Turques-et-Caïques CountryTV=Tuvalu CountryUG=Ouganda CountryUA=Ukraine @@ -295,7 +295,7 @@ CurrencyCentINR=paisa CurrencyCentSingINR=paise CurrencyThousandthSingTND=millime #### Input reasons ##### -DemandReasonTypeSRC_INTE=Internet +DemandReasonTypeSRC_INTE=Internet DemandReasonTypeSRC_CAMP_MAIL=Campagne Publipostage DemandReasonTypeSRC_CAMP_EMAIL=Campagne d'emailing DemandReasonTypeSRC_CAMP_PHO=Campagne Téléphonique diff --git a/htdocs/langs/fr_FR/ecm.lang b/htdocs/langs/fr_FR/ecm.lang index 0f92ea1917a..dccaf7181dd 100644 --- a/htdocs/langs/fr_FR/ecm.lang +++ b/htdocs/langs/fr_FR/ecm.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - ecm -ECMNbOfDocs=Nombre de documents du répertoire +ECMNbOfDocs=Nb. de documents du répertoire ECMSection=Répertoire ECMSectionManual=Répertoire manuel ECMSectionAuto=Répertoire automatique diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index 2e695768355..a17f8282f6f 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -42,7 +42,7 @@ ErrorBadDateFormat=La valeur '%s' a un format de date non reconnu ErrorWrongDate=La date est incorrecte ErrorFailedToWriteInDir=Impossible d'écrire dans le répertoire %s ErrorFoundBadEmailInFile=Syntaxe d'email incorrecte trouvée pour %s lignes dans le fichier (exemple ligne %s avec email=%s) -ErrorUserCannotBeDelete=User cannot be deleted. Maybe it is associated to Dolibarr entities. +ErrorUserCannotBeDelete=L'utilisateur ne peut pas être supprimé. Peut-être est-il associé à des entités Dolibarr. ErrorFieldsRequired=Des champs obligatoires n'ont pas été renseignés ErrorSubjectIsRequired=Le sujet du mail est obligatoire ErrorFailedToCreateDir=Echec à la création d'un répertoire. Vérifiez que le user du serveur Web ait bien les droits d'écriture dans les répertoires documents de Dolibarr. Si le paramètre safe_mode a été activé sur ce PHP, vérifiez que les fichiers php dolibarr appartiennent à l'utilisateur du serveur Web. @@ -65,22 +65,22 @@ ErrorNoValueForSelectType=Les valeurs de la liste de sélection doivent être re ErrorNoValueForCheckBoxType=Les valeurs de la liste de case à cochées doivent être renseignées ErrorNoValueForRadioType=Les valeurs de la liste d'options doivent être renseignées ErrorBadFormatValueList=Les valeurs de la liste ne peuvent pas avoir plus d'une virgule: %s mais il en faut au moins une: clé, valeur -ErrorFieldCanNotContainSpecialCharacters=The field %s must not contains special characters. -ErrorFieldCanNotContainSpecialNorUpperCharacters=The field %s must not contain special characters, nor upper case characters and cannot contain only numbers. -ErrorFieldMustHaveXChar=The field %s must have at least %s characters. +ErrorFieldCanNotContainSpecialCharacters=Le champ %s ne peut contenir de caractères spéciaux. +ErrorFieldCanNotContainSpecialNorUpperCharacters=Le champ %s ne doit contenir ni caractères spéciaux ni majuscules et ne peut contenir que des chiffres. +ErrorFieldMustHaveXChar=Le champ %s doit comporter au moins %s caractères. ErrorNoAccountancyModuleLoaded=Aucun module de comptabilité activé ErrorExportDuplicateProfil=Ce nom de profil existe déjà pour ce lot d'export. ErrorLDAPSetupNotComplete=Le matching Dolibarr-LDAP est incomplet. ErrorLDAPMakeManualTest=Un fichier .ldif a été généré dans le répertoire %s. Essayez de charger ce fichier manuellement depuis la ligne de commande pour plus de détail sur l'erreur. -ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled. +ErrorCantSaveADoneUserWithZeroPercentage=Impossible de sauver une action à l'état "non commencé" si le champ "réalisé par" est aussi défini. ErrorRefAlreadyExists=La référence utilisée pour la création existe déjà ErrorPleaseTypeBankTransactionReportName=Choisissez le nom du relevé bancaire sur lequel la ligne est rapportées (Format AAAAMM ou AAAAMMJJ) -ErrorRecordHasChildren=Failed to delete record since it has some child records. +ErrorRecordHasChildren=Impossible de supprimer l'enregistrement car il possède des enregistrements fils. ErrorRecordHasAtLeastOneChildOfType=L'objet a au moins un enfant de type %s -ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object. +ErrorRecordIsUsedCantDelete=Impossible de supprimer l'enregistrement. Il est déjà utilisé ou inclus dans un autre objet. ErrorModuleRequireJavascript=Le javascript ne doit pas être désactivé pour que cette fonctionnalité soit utilisable. Pour activer/désactiver l'utilisation de javascript, allez dans le menu Accueil->Configuration->Affichage. ErrorPasswordsMustMatch=Les 2 mots de passe saisis doivent correspondre -ErrorContactEMail=A technical error occured. Please, contact administrator to following email %s and provide the error code %s in your message, or add a screen copy of this page. +ErrorContactEMail=Une erreur technique est apparue. Merci de contacter l'administrateur à l'email suivant %s en lui indiquant le code erreur %s dans votre message ou mieux en fournissant une copie d'écran de cette page. ErrorWrongValueForField=Mauvaise valeur pour le champ numéro %s (la valeur '%s' ne respecte pas la règle %s) ErrorFieldValueNotIn=Mauvaise valeur pour le champ numéro %s (la valeur '%s' n'est pas une valeur disponible dans le champ %s de la table %s) ErrorFieldRefNotIn=Mauvaise valeur pour le champ numéro %s (la valeur '%s' n'est pas une référence existante comme %s) @@ -97,7 +97,7 @@ ErrorBadMaskBadRazMonth=Erreur, mauvais valeur de remise à zéro ErrorMaxNumberReachForThisMask=Nombre maximum atteint pour ce masque ErrorCounterMustHaveMoreThan3Digits=Le compteur doit avoir au moins 3 positions ErrorSelectAtLeastOne=Erreur. Sélectionnez au moins une entrée. -ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transaction that is conciliated +ErrorDeleteNotPossibleLineIsConsolidated=Suppression impossible car l'enregistrement porte sur au moins une transaction bancaire rapprochée ErrorProdIdAlreadyExist=%s est attribué à un autre tiers ErrorFailedToSendPassword=Échec de l'envoi du mot de passe ErrorFailedToLoadRSSFile=Echec de la récupération du flux RSS. Ajoutez la constante MAIN_SIMPLEXMLLOAD_DEBUG si le message d'erreur n'est pas assez explicite. @@ -117,7 +117,7 @@ ErrorLoginDoesNotExists=Le compte utilisateur identifié par %s n'a pu ê ErrorLoginHasNoEmail=Cet utilisateur n'a pas d'email. Impossible de continuer. ErrorBadValueForCode=Mauvaise valeur saisie pour le code. Réessayez avec une nouvelle valeur... ErrorBothFieldCantBeNegative=Les champs %s et %s ne peuvent être tous deux négatifs -ErrorFieldCantBeNegativeOnInvoice=Field %s can't be negative on such type of invoice. If you want to add a discount line, just create the discount first with link %s on screen and apply it to invoice. You can also ask your admin to set option FACTURE_ENABLE_NEGATIVE_LINES to 1 to restore old behaviour. +ErrorFieldCantBeNegativeOnInvoice=Le champ %s ne peut pas être négatif pour ce type de facture. Si vous souhaitez ajouter une ligne de remise, créez tout d'abord la remise avec le lien %s à l'écran et appliquez-la à la facturation. Vous pouvez également demander à votre administrateur de définir l'option FACTURE_ENABLE_NEGATIVE_LINES sur 1 pour restaurer l'ancien comportement. ErrorQtyForCustomerInvoiceCantBeNegative=La quantité d'une ligne ne peut pas être négative dans les factures clients ErrorWebServerUserHasNotPermission=Le compte d'exécution du serveur web %s n'a pas les permissions pour cela ErrorNoActivatedBarcode=Aucun type de code-barres activé @@ -141,7 +141,7 @@ ErrorBadFormat=Mauvais format ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Erreur, cet adhérent n'ait pas encore lié à un tiers. Lier le tier à un tiers existant ou créer un nouveau tiers avant de créer une adhésion avec facture. ErrorThereIsSomeDeliveries=Erreur, il y a des bordereaux de réception liées à ces expéditions. La suppression est refusée. ErrorCantDeletePaymentReconciliated=Impossible d'effacer un paiement qui a généré une écriture sur le compte bancaire et qui a été rapprochée. -ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Paid +ErrorCantDeletePaymentSharedWithPayedInvoice=Impossible de supprimer un paiement partagé par au moins une facture avec le statut Payé ErrorPriceExpression1=Ne peut assigner la constante '%s' ErrorPriceExpression2=Ne peut redéfinir la fonction '%s' ErrorPriceExpression3=Variable '%s' non définie dans la définition de fonction @@ -150,7 +150,7 @@ ErrorPriceExpression5=Unexpected '%s' ErrorPriceExpression6=Nombre incorrect d'arguments (%s donné,%s attendu) ErrorPriceExpression8=Operateur '%s' non attendu ErrorPriceExpression9=Une erreur inattendue s'est produite -ErrorPriceExpression10=Operator '%s' lacks operand +ErrorPriceExpression10=L'opérateur '%s' manque d'opérande ErrorPriceExpression11=Attendu '%s' ErrorPriceExpression14=Division par zéro ErrorPriceExpression17=Variable '%s' non définie @@ -211,8 +211,8 @@ ErrorFileNotFoundWithSharedLink=Fichier non trouvé. Peut que la clé de partage ErrorProductBarCodeAlreadyExists=Le code-barre du produit %s existe déjà sur une autre référence de produit ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Notez également que l'utilisation d'un produit virtuel pour augmenter ou réduire automatiquement les sous-produits n'est pas possible lorsqu'au moins un sous-produit (ou sous-produit de sous-produits) a besoin d'un numéro de série/lot. ErrorDescRequiredForFreeProductLines=La description est obligatoire pour les lignes avec un produit non prédéfini -ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container %s has the same name or alternative alias that the one your try to use - +ErrorAPageWithThisNameOrAliasAlreadyExists=La page / conteneur %s a le même nom ou un autre alias que celui que vous tentez d'utiliser. +ErrorDuringChartLoad=Erreur lors du chargement du tableau de compte. Si certains comptes n'ont pas été chargés, vous pouvez toujours les entrer manuellement. # Warnings WarningPasswordSetWithNoAccount=Un mot de passe a été fixé pour cet adhérent. Cependant, aucun compte d'utilisateur n'a été créé. Donc, ce mot de passe est stocké, mais ne peut être utilisé pour accéder à Dolibarr. Il peut être utilisé par un module/interface externe, mais si vous n'avez pas besoin de définir ni login ni mot de passe pour un adhérent, vous pouvez désactiver l'option «Gérer un login pour chaque adhérent" depuis la configuration du module Adhérents. Si vous avez besoin de gérer un login, mais pas de mot de passe, vous pouvez laisser ce champ vide pour éviter cet avertissement. Remarque: L'email peut également être utilisé comme login si l'adhérent est lié à un utilisateur. WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent être renseignées @@ -221,9 +221,9 @@ WarningBookmarkAlreadyExists=Un marque-page avec ce titre ou cette destination ( WarningPassIsEmpty=Attention, le mot de passe de la base de données Dolibarr est vide. Cela représente une faille de sécurité. Il est recommandé d'ajouter manuellement un mot de passe à la base et de modifier le fichier conf.php pour refléter ce changement. WarningConfFileMustBeReadOnly=Attention, votre fichier de configuration (htdocs/conf/conf.php) est accessible en écriture au serveur Web. Ceci représente une faille sérieuse de sécurité. Modifiez les permissions pour qu'il soit en lecture seule pour le compte sous lequel tourne le serveur Web et non lisible pour les autres.
Si vous êtes sous Windows sur un disque dur utilisant un formatage FAT, sachez que ce système de fichier ne permet pas de protéger des fichiers et n'offre donc aucune solution pour réduire les risques de manipulation de ce fichier. WarningsOnXLines=Alertes sur %s enregistrement(s) source -WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be chosen by default until you check your module setup. +WarningNoDocumentModelActivated=Aucun modèle, pour la génération de document, n'a été activé. Un modèle sera choisi par défaut jusqu'à ce que vous vérifiiez la configuration de votre module. WarningLockFileDoesNotExists=Attention, une fois l'installation terminée, les outils d'installation/migration doivent être désactivés en ajoutant un fichier install.lock dans le répertoire %s. L'absence de ce fichier représente une faille de sécurité. -WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other Setup). +WarningUntilDirRemoved=Tous les avertissements de sécurité (visibles uniquement par les administrateurs) resteront actifs tant que la vulnérabilité sera présente (ou que la constante MAIN_REMOVE_INSTALL_WARNING sera ajoutée dans Setup -> Other Setup). WarningCloseAlways=Attention, la fermeture se fait même lorsque le montant diffère. N'activez cette fonctionnalité qu'en connaissance de cause. WarningUsingThisBoxSlowDown=Attention, l'utilisation de cette boîte provoque de sérieux ralentissements des pages affichant cette boîte. WarningClickToDialUserSetupNotComplete=La configuration ClickToDial pour votre compte utilisateur n'est pas complète (voir l'onglet ClickToDial sur votre fiche utilisateur) diff --git a/htdocs/langs/fr_FR/help.lang b/htdocs/langs/fr_FR/help.lang index 29bba422142..9bf855f8704 100644 --- a/htdocs/langs/fr_FR/help.lang +++ b/htdocs/langs/fr_FR/help.lang @@ -5,9 +5,9 @@ RemoteControlSupport=Assistance en ligne temps réel OtherSupport=Autres type d'assistance ToSeeListOfAvailableRessources=Pour contacter/voir les ressources disponibles : HelpCenter=Centre d'assistance -DolibarrHelpCenter=Dolibarr Help and Support Center -ToGoBackToDolibarr=Otherwise, click here to continue to use Dolibarr. -TypeOfSupport=Type of support +DolibarrHelpCenter=Centre d'aide et de support de Dolibarr +ToGoBackToDolibarr=Sinon, cliquez ici pour continuer à utiliser Dolibarr . +TypeOfSupport=Source de l'assistance TypeSupportCommunauty=Communautaire (gratuit) TypeSupportCommercial=Commercial TypeOfHelp=Type @@ -15,12 +15,9 @@ NeedHelpCenter=Besoin d'assistance ou aide ? Efficiency=Efficacité TypeHelpOnly=Aide uniquement TypeHelpDev=Aide+Développement -TypeHelpDevForm=Help+Development+Training -ToGetHelpGoOnSparkAngels1=Some companies can provide a fast (sometime immediate) and more efficient online support by remote control of your computer. Such help can be found on %s web site: -ToGetHelpGoOnSparkAngels3=Vous pouvez aussi accéder à la liste complète de tous les accompagnants possibles, pour cela cliquez sur le bouton -ToGetHelpGoOnSparkAngels2=Sometimes, there is no company available when you make your search, so change the filter to look for "all availability". You will be able to send more requests. -BackToHelpCenter=Otherwise, go back to Help center home page. -LinkToGoldMember=You can call one of the trainers preselected by Dolibarr for your language (%s) by clicking their Widget (status and maximum price are automatically updated): +TypeHelpDevForm=Aide+Développement+Formation +BackToHelpCenter=Sinon, cliquez ici pour retourner au centre d'assistance. +LinkToGoldMember=Vous pouvez appeler immédiatement un des quelques accompagnateurs présélectionnés par Dolibarr pour votre langue (%s) en cliquant son Widget (disponibilité et tarif maximum sont rafraîchis automatiquement): PossibleLanguages=Langues disponibles -SubscribeToFoundation=Help the Dolibarr project, subscribe to the foundation +SubscribeToFoundation=Aidez le projet Dolibarr, adhérez à l'association Dolibarr SeeOfficalSupport=Pour un accompagnement officiel Dolibarr dans votre langue :
%s diff --git a/htdocs/langs/fr_FR/holiday.lang b/htdocs/langs/fr_FR/holiday.lang index 030ff513622..2799105a3e8 100644 --- a/htdocs/langs/fr_FR/holiday.lang +++ b/htdocs/langs/fr_FR/holiday.lang @@ -4,7 +4,7 @@ Holidays=Congés CPTitreMenu=Congés MenuReportMonth=État mensuel MenuAddCP=Créer demande de congés -NotActiveModCP=You must enable the module Leave to view this page. +NotActiveModCP=Vous devez activer le module Laisser pour voir cette page. AddCP=Créer une demande de congés DateDebCP=Date Début DateFinCP=Date Fin @@ -19,14 +19,14 @@ ListeCP=Liste des demandes de congés LeaveId=ID demande de congès ReviewedByCP=Sera approuvé par UserForApprovalID=ID de l'utilisateur d'approbation -UserForApprovalFirstname=First name of approval user -UserForApprovalLastname=Last name of approval user +UserForApprovalFirstname=Prénom de l'utilisateur d'approbation +UserForApprovalLastname=Nom d'utilisateur d'approbation UserForApprovalLogin=Login de l'utilisateur d'approbation DescCP=Description SendRequestCP=Créer une demande de congés DelayToRequestCP=Les demandes de congés doivent être faites au moins %s jour(s) avant la date de ceux-ci. -MenuConfCP=Balance of leave -SoldeCPUser=Leave balance is %s days. +MenuConfCP=Solde des congés +SoldeCPUser=Solde de congés: %s jours. ErrorEndDateCP=Vous devez choisir une date de fin supérieur à la date de début. ErrorSQLCreateCP=Une erreur SQL est survenue durant la création : ErrorIDFicheCP=Une erreur est survenue, cette demande de congés n'existe pas. @@ -101,7 +101,7 @@ LEAVE_SICK=Congé maladie LEAVE_OTHER=Autre congé LEAVE_PAID_FR=Congés payés ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation +LastUpdateCP=Dernière mise à jour automatique de l'attribution des congés MonthOfLastMonthlyUpdate=Mois de la dernière mise à jour automatique des attributions de congés UpdateConfCPOK=Mise à jour effectuée avec succès. Module27130Name= Demandes de congés @@ -112,7 +112,7 @@ NoticePeriod=Délai de prévenance HolidaysToValidate=Valider les demandes de congés HolidaysToValidateBody=Veuillez trouver ci-dessous une demande de congés à valider. HolidaysToValidateDelay=Cette demande de congés a été effectuée dans un délai de moins de %s jours avant ceux-ci. -HolidaysToValidateAlertSolde=The user who made this leave request does have enough available days. +HolidaysToValidateAlertSolde=L'utilisateur ayant fait cette demande de congés payés n'a pas le solde requis. HolidaysValidated=Validation de la demande de congés HolidaysValidatedBody=Votre demande de congés du %s au %s vient d'être approuvée. HolidaysRefused=Congés refusés @@ -122,8 +122,8 @@ HolidaysCanceledBody=Votre demande de congés du %s au %s a été annulée. FollowedByACounter=1: Ce type de congé doit être suivis par un compteur. Le compteur est incrémenté manuellement ou automatiquement et quand une demande de congé est validée, le compteur est décrémenté.
0: Non suivi par un compteur. NoLeaveWithCounterDefined=Il n'y a pas de type de congés définis qui requiert un suivi par un compteur GoIntoDictionaryHolidayTypes=Aller dans Accueil - Configuration - Dictionnaires - Type de congés pour configurer les différents types de congés. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models -TemplatePDFHolidays=Template for leave requests PDF -FreeLegalTextOnHolidays=Free text on PDF -WatermarkOnDraftHolidayCards=Watermarks on draft leave requests +HolidaySetup=Configuration du module Congés +HolidaysNumberingModules=Modèles de numérotation des demandes de congés +TemplatePDFHolidays=Modèle de demande de congés PDF +FreeLegalTextOnHolidays=Texte libre sur PDF +WatermarkOnDraftHolidayCards=Filigranes sur les demandes de congés brouillons diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index 7035e0d8ed6..f9a0c1f4a04 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -2,37 +2,37 @@ InstallEasy=Veuillez suivre les étapes une à une. MiscellaneousChecks=Vérification des prérequis ConfFileExists=Le fichier de configuration %s existe. -ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created! +ConfFileDoesNotExistsAndCouldNotBeCreated=Le fichier de configuration %s n'existe pas et n'a pu être créé ! ConfFileCouldBeCreated=Le fichier de configuration %s a pu être créé. -ConfFileIsNotWritable=Configuration file %s is not writable. Check permissions. For first install, your web server must be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). +ConfFileIsNotWritable=Le fichier %s n'est pas modifiable. Pour une première installation, modifiez ses permissions. Le serveur Web doit avoir le droit d'écrire dans ce fichier le temps de la configuration ("chmod 666" par exemple sur un OS compatible Unix). ConfFileIsWritable=Le fichier %s est modifiable. ConfFileMustBeAFileNotADir=Le fichier de configuration %s doit être un fichier, pas un répertoire. -ConfFileReload=Reloading parameters from configuration file. +ConfFileReload=Rechargement des paramètres depuis le fichier de configuration. PHPSupportSessions=Ce PHP prend en charge les sessions. PHPSupportPOSTGETOk=Ce PHP prend bien en charge les variables POST et GET. -PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter variables_order in php.ini. -PHPSupportGD=This PHP supports GD graphical functions. +PHPSupportPOSTGETKo=Il est possible que votre configuration PHP ne supporte pas les variables POST et / ou GET. Vérifiez le paramètre variables_order dans le fichier php.ini. +PHPSupportGD=Ce PHP prend en charge les fonctions graphiques GD. PHPSupportCurl=PHP supporte l'extension Curl -PHPSupportUTF8=This PHP supports UTF8 functions. +PHPSupportUTF8=Ce PHP prend en charge les fonctions UTF8. PHPMemoryOK=Votre mémoire maximum de session PHP est définie à %s. Ceci devrait être suffisant. -PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. -Recheck=Click here for a more detailed test -ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to allow Dolibarr to work. Check your PHP setup and permissions of the sessions directory. -ErrorPHPDoesNotSupportGD=Your PHP installation does not support GD graphical functions. No graphs will be available. +PHPMemoryTooLow=Votre mémoire maximum de session PHP est définie à %s octets. Ceci est trop faible. Il est recommandé de modifier le paramètre memory_limit de votre fichier php.ini à au moins %s octets. +Recheck=Cliquez ici pour un test plus détaillé +ErrorPHPDoesNotSupportSessions=Votre installation PHP ne supporte pas les sessions. Cette fonctionnalité est nécessaire pour permettre à Dolibarr de fonctionner. Vérifiez votre configuration PHP et les autorisations du répertoire des sessions. +ErrorPHPDoesNotSupportGD=Votre installation PHP ne supporte pas les fonctions graphiques GD. Aucun graphique ne sera disponible. ErrorPHPDoesNotSupportCurl=Votre version de PHP ne supporte pas l'extension Curl -ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. +ErrorPHPDoesNotSupportUTF8=Votre installation de PHP ne supporte pas les fonctions UTF8. Dolibarr ne peut pas fonctionner correctement. Résolvez ce problème avant d'installer Dolibarr. ErrorDirDoesNotExists=Le répertoire %s n'existe pas ou n'est pas accessible. -ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. +ErrorGoBackAndCorrectParameters=Revenez en arrière et vérifiez / corrigez les paramètres. ErrorWrongValueForParameter=Vous avez peut-être saisi une mauvaise valeur pour le paramètre '%s'. ErrorFailedToCreateDatabase=Échec de la création de la base '%s'. ErrorFailedToConnectToDatabase=Échec de connexion à la base '%s'. ErrorDatabaseVersionTooLow=Version de base de donnée (%s) trop ancienne. La version %s ou supérieure est requise. ErrorPHPVersionTooLow=Version de PHP trop ancienne. La version %s est requise. -ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. +ErrorConnectedButDatabaseNotFound=Connexion au serveur réussie mais base '%s' introuvable. ErrorDatabaseAlreadyExists=La base de données '%s' existe déjà. -IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database". +IfDatabaseNotExistsGoBackAndUncheckCreate=Si la base de données n'existe pas, revenez en arrière et cochez l'option "Créer une base de données". IfDatabaseExistsGoBackAndCheckCreate=Si la base existe déjà, revenez en arrière et désactiver l'option "Créer la base de données". -WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended. +WarningBrowserTooOld=La version du navigateur est trop ancienne. La mise à niveau de votre navigateur vers une version récente de Firefox, Chrome ou Opera est vivement recommandée. PHPVersion=Version de PHP License=Licence d'utilisation ConfigurationFile=Fichier de configuration @@ -45,23 +45,23 @@ DolibarrDatabase=Base de données Dolibarr DatabaseType=Type de la base de données DriverType=Type du pilote Server=Serveur -ServerAddressDescription=Name or ip address for the database server. Usually 'localhost' when the database server is hosted on the same server as the web server. +ServerAddressDescription=Nom ou adresse IP du serveur de base de données. Habituellement, "hôte local" lorsque le serveur de base de données est hébergé sur le même serveur que le serveur Web. ServerPortDescription=Port du serveur. Ne rien mettre si inconnu. DatabaseServer=Serveur de base de données DatabaseName=Nom de la base de données -DatabasePrefix=Database table prefix -DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. -AdminLogin=User account for the Dolibarr database owner. -PasswordAgain=Retype password confirmation +DatabasePrefix=Préfixe de table de base de données +DatabasePrefixDescription=Préfixe de table de base de données. Si vide, la valeur par défaut est llx_. +AdminLogin=Compte utilisateur du propriétaire de la base de données Dolibarr. +PasswordAgain=Confirmer la confirmation du mot de passe AdminPassword=Mot de passe du propriétaire de la base de données Dolibarr. CreateDatabase=Créer la base de données -CreateUser=Create user account or grant user account permission on the Dolibarr database +CreateUser=Créer un compte utilisateur ou accorder une autorisation de compte utilisateur sur la base de données Dolibarr DatabaseSuperUserAccess=Serveur de base de données - Accès super utilisateur CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.
In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. -CheckToCreateUser=Check the box if:
the database user account does not yet exist and so must be created, or
if the user account exists but the database does not exist and permissions must be granted.
In this case, you must enter the user account and password and also the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. -DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. -KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) -SaveConfigurationFile=Saving parameters to +CheckToCreateUser=Cochez la case si: le compte d'utilisateur de la base de données n'existe pas encore et doit donc être créé, ou si le compte d'utilisateur existe mais que la base de données n'existe pas et que les autorisations doivent être accordées.
Dans ce cas, vous devez entrer le compte d'utilisateur et le mot de passe et aussi le nom et le mot de passe du compte superutilisateur au bas de cette page. Si cette case est décochée, le propriétaire de la base de données et le mot de passe doivent déjà exister. +DatabaseRootLoginDescription=Nom du compte superutilisateur (pour créer de nouvelles bases de données ou de nouveaux utilisateurs), obligatoire si la base de données ou son propriétaire n'existe pas déjà. +KeepEmptyIfNoPassword=Laisser vide si le superutilisateur n'a pas de mot de passe (NON recommandé) +SaveConfigurationFile=Enregistrement des paramètres dans ServerConnection=Connexion au serveur DatabaseCreation=Création de la base de données CreateDatabaseObjects=Création des objets de la base @@ -72,9 +72,9 @@ CreateOtherKeysForTable=Création des clés étrangères et des index pour la ta OtherKeysCreation=Création des clés étrangères et des index FunctionsCreation=Création des fonctions AdminAccountCreation=Création du compte administrateur -PleaseTypePassword=Please type a password, empty passwords are not allowed! -PleaseTypeALogin=Please type a login! -PasswordsMismatch=Passwords differs, please try again! +PleaseTypePassword=Veuillez saisir un mot de passe, les mots de passe vides ne sont pas autorisés! +PleaseTypeALogin=Veuillez taper un identifiant! +PasswordsMismatch=Les mots de passe diffèrent, veuillez réessayer! SetupEnd=Fin de l'installation SystemIsInstalled=Votre système est maintenant installé. SystemIsUpgraded=Dolibarr a été mis à jour avec succès. @@ -82,65 +82,65 @@ YouNeedToPersonalizeSetup=Vous devez maintenant configurer Dolibarr selon vos be AdminLoginCreatedSuccessfuly=Création du compte administrateur Dolibarr '%s' réussie. GoToDolibarr=Accéder à Dolibarr GoToSetupArea=Accéder à Dolibarr (espace de configuration) -MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. +MigrationNotFinished=La version de la base de données n'est pas complètement à jour: exécutez à nouveau le processus de mise à niveau. GoToUpgradePage=Accéder à la page de migration à nouveau WithNoSlashAtTheEnd=Sans le slash "/" à la fin -DirectoryRecommendation=It is recommended to use a directory outside of the web pages. +DirectoryRecommendation=Il est recommandé d'utiliser un répertoire en dehors des pages Web. LoginAlreadyExists=Existe déjà DolibarrAdminLogin=Identifiant de l'utilisateur administrateur de Dolibarr -AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back if you want to create another one. +AdminLoginAlreadyExists=Le compte administrateur Dolibarr ' %s ' existe déjà. Retournez si vous voulez en créer un autre. FailedToCreateAdminLogin=Echec de la création du compte administrateur Dolibarr -WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called install.lock into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. -FunctionNotAvailableInThisPHP=Not available in this PHP +WarningRemoveInstallDir=Attention, pour des raisons de sécurité, une fois l'installation ou la mise à niveau terminée, vous devez ajouter un fichier nommé install.lock dans le répertoire du document Dolibarr afin d'éviter toute utilisation accidentelle / malveillante des outils d'installation. +FunctionNotAvailableInThisPHP=Non disponible dans ce PHP ChoosedMigrateScript=Choix du script de migration DataMigration=Migration de la base (données) DatabaseMigration=Migration de la base de données (structure + certaines données) ProcessMigrateScript=Exécution du script ChooseYourSetupMode=Choisissez votre mode d'installation et cliquez sur "Démarrer"… FreshInstall=Première installation -FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install. If you want to upgrade your version, choose "Upgrade" mode. +FreshInstallDesc=Utilisez ce mode s'il s'agit de votre première installation. Sinon, ce mode peut réparer une installation précédente incomplète. Si vous souhaitez mettre à niveau votre version, choisissez le mode "Mettre à niveau". Upgrade=Mise à jour UpgradeDesc=Utilisez ce mode après avoir écrasé les fichiers d'une ancienne installation Dolibarr par ceux d'une version plus récente. Ce choix permet de mettre à jour votre base et vos données pour cette nouvelle version. Start=Démarrer InstallNotAllowed=Installation non autorisée par les permissions du fichier conf.php YouMustCreateWithPermission=Vous devez créer un fichier %s et donner les droits d'écriture dans celui-ci au serveur web durant le processus d'installation. -CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. +CorrectProblemAndReloadPage=Veuillez résoudre le problème et appuyez sur F5 pour recharger la page. AlreadyDone=Déjà migré DatabaseVersion=Version de la base ServerVersion=Version du serveur de base de données YouMustCreateItAndAllowServerToWrite=Vous devez créer ce dossier et permettre au serveur web d'écrire dans celui-ci. DBSortingCollation=Ordre de tri utilisé pour la base de données -YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. +YouAskDatabaseCreationSoDolibarrNeedToConnect=Vous avez sélectionné la création de la base de données %s , mais Dolibarr doit se connecter au serveur %s avec les autorisations de super-utilisateur %s . +YouAskLoginCreationSoDolibarrNeedToConnect=Vous avez choisi de créer l'utilisateur de base de données %s , mais Dolibarr doit se connecter au serveur %s avec les autorisations de super-utilisateur %s . +BecauseConnectionFailedParametersMayBeWrong=La connexion à la base de données a échoué: les paramètres de l'hôte ou du super utilisateur doivent être erronés. OrphelinsPaymentsDetectedByMethod=Paiement orphelins détectés par la méthode %s RemoveItManuallyAndPressF5ToContinue=Supprimez-le manuellement et actualisez la page pour continuer (F5). FieldRenamed=Champ renommé -IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" -ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or the PHP client version may be too old compared to the database version. +IfLoginDoesNotExistsCheckCreateUser=Si l'utilisateur n'existe pas encore, vous devez cocher l'option "Créer un utilisateur" +ErrorConnection=Serveur " %s ", nom de base de données " %s ", identifiez-vous " %s " ou le mot de passe de la base de données peut être incorrect ou la version du client PHP peut être incorrecte trop vieux par rapport à la version de base de données. InstallChoiceRecommanded=Choix recommandé pour installer la version %s depuis votre version actuelle %s InstallChoiceSuggested=Choix suggéré par l'installeur. -MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions. The install wizard will come back to suggest a further migration once this one is complete. -CheckThatDatabasenameIsCorrect=Check that the database name "%s" is correct. +MigrateIsDoneStepByStep=La version ciblée (%s) présente un écart de plusieurs versions. L'assistant d'installation reviendra pour vous suggérer une migration supplémentaire une fois celle-ci terminée. +CheckThatDatabasenameIsCorrect=Vérifiez que le nom de la base de données " %s " est correct. IfAlreadyExistsCheckOption=Si ce nom est correct et que cette base n'existe pas déjà, vous devez cocher l'option "Créer la base de données". OpenBaseDir=Paramètre PHP openbasedir -YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). -YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). -NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. +YouAskToCreateDatabaseSoRootRequired=Vous avez coché la case "Créer une base de données". Pour cela, vous devez fournir le nom d'utilisateur / mot de passe du superutilisateur (bas du formulaire). +YouAskToCreateDatabaseUserSoRootRequired=Vous avez coché la case "Créer une base de données propriétaire". Pour cela, vous devez fournir le nom d'utilisateur / mot de passe du superutilisateur (bas du formulaire). +NextStepMightLastALongTime=L'étape en cours peut prendre plusieurs minutes. Veuillez patienter jusqu'à ce que l'écran suivant apparaisse complètement avant de continuer. MigrationCustomerOrderShipping=Mise à jour stockage des expéditions des commandes clients MigrationShippingDelivery=Mise à jour stockage des expéditions MigrationShippingDelivery2=Mise à jour stockage des expéditions 2 MigrationFinished=Migration terminée -LastStepDesc=Last step: Define here the login and password you wish to use to connect to Dolibarr. Do not lose this as it is the master account to administer all other/additional user accounts. +LastStepDesc= Dernière étape : définissez ici le nom d'utilisateur et le mot de passe que vous souhaitez utiliser pour vous connecter à Dolibarr. Ne perdez pas cette information, car il s’agit du compte principal pour administrer tous les comptes d’utilisateurs supplémentaires / supplémentaires. ActivateModule=Activation du module %s ShowEditTechnicalParameters=Cliquer ici pour afficher/éditer les paramètres techniques (mode expert) -WarningUpgrade=Warning:\nDid you run a database backup first?\nThis is highly recommended. Loss of data (due to for example bugs in mysql version 5.5.40/41/42/43) may be possible during this process, so it is essential to take a complete dump of your database before starting any migration.\n\nClick OK to start migration process... +WarningUpgrade=Attention:\nAvez-vous d'abord effectué une sauvegarde de base de données?\nCeci est hautement recommandé. Une perte de données (due par exemple à des bogues dans mysql version 5.5.40 / 41/42/43) peut être possible au cours de ce processus. Il est donc essentiel de réaliser un vidage complet de votre base de données avant de commencer toute migration.\n\nCliquez sur OK pour démarrer le processus de migration ... ErrorDatabaseVersionForbiddenForMigration=La version de votre gestionnaire de base de données est %s. Celle-ci présente un défaut critique entraînant des pertes de données si vous changez la structure de votre base de données tel que requis par le processus de migration. C'est pourquoi la migration vous sera interdite tant que vous n'aurez pas mis à jour votre gestionnaire de base de données vers une version supérieure corrigée (Liste des versions affectées par le défaut: %s). KeepDefaultValuesWamp=Si vous utilisez l'installeur automatique DoliWamp, les données présentes ici sont pré-remplies. Ne les modifiez qu'en connaissance de cause. KeepDefaultValuesDeb=Vous utilisez l'assistant d'installation depuis un environnement Linux (Ubuntu, Debian, Fedora...). Les valeurs présentes ici sont pré-remplies. Seul le mot de passe d'accès du propriétaire de base de données à créer doit être renseigné. Les autres paramètres ne doivent être modifiés qu'en connaissance de cause. KeepDefaultValuesMamp=Vous utilisez l'assistant d'installation DoliMamp. Les valeurs présentes ici sont pré-remplies. Leur modification ne doit être effectuée qu'en connaissance de cause. KeepDefaultValuesProxmox=Vous utilisez l'assistant d'installation depuis une application Proxmox. Les valeurs présentes ici sont pré-remplies. Leur modification ne doit être effectuée qu'en connaissance de cause. -UpgradeExternalModule=Run dedicated upgrade process of external module +UpgradeExternalModule=Exécuter le processus de mise à niveau dédié du module externe SetAtLeastOneOptionAsUrlParameter=Définissez au moins une option en tant que paramètre dans l'URL. Par exemple: '... repair.php?standard=confirmed' NothingToDelete=Rien a supprimer NothingToDo=Rien à faire @@ -164,9 +164,9 @@ MigrationContractsUpdate=Mise à jour des contrats sans détail (gestion du cont MigrationContractsNumberToUpdate=%s contrat(s) a mettre à jour MigrationContractsLineCreation=Création ligne contrat pour contrat ref %s MigrationContractsNothingToUpdate=Pas ou plus de contrats (liés à un produit) sans ligne de détail à corriger. -MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. +MigrationContractsFieldDontExist=Le champ fk_facture n'existe plus. Rien à faire. MigrationContractsEmptyDatesUpdate=Mise à jour des dates de contrats non renseignées -MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully +MigrationContractsEmptyDatesUpdateSuccess=Correction de la date de contrat vide effectuée avec succès MigrationContractsEmptyDatesNothingToUpdate=Pas ou plus de date de contrats à renseigner. MigrationContractsEmptyCreationDatesNothingToUpdate=Pas ou plus de date de création à renseigner. MigrationContractsInvalidDatesUpdate=Mise à jour dates contrat incorrectes (pour contrats avec détail en service) @@ -188,24 +188,24 @@ MigrationDeliveryDetail=Mise à jour bon réception MigrationStockDetail=Mise à jour valeur en stock des produits MigrationMenusDetail=Mise à jour table des menus dynamiques MigrationDeliveryAddress=Mise à jour des adresses de livraison dans les bons d'expédition -MigrationProjectTaskActors=Data migration for table llx_projet_task_actors +MigrationProjectTaskActors=Migration de données pour la table llx_projet_task_actors MigrationProjectUserResp=Migration du champ fk_user_resp de llx_projet vers llx_element_contact MigrationProjectTaskTime=Mise à jour du temps consommé en secondes MigrationActioncommElement=Mise à jour des données des actions des éléments MigrationPaymentMode=Migration des modes de paiement MigrationCategorieAssociation=Migration des categories -MigrationEvents=Migration of events to add event owner into assignment table -MigrationEventsContact=Migration of events to add event contact into assignment table +MigrationEvents=Migration d'événements pour ajouter le propriétaire d'événement dans la table d'affectation +MigrationEventsContact=Migration d'événements pour ajouter un contact d'événement dans la table d'affectation MigrationRemiseEntity=Mettre à jour le champ "entity" de la table "llx_societe_remise MigrationRemiseExceptEntity=Mettre à jour le champ "entity" de la table "llx_societe_remise_except" MigrationUserRightsEntity=Mise à jour du champ entity de llx_user_rights MigrationUserGroupRightsEntity=Mise à jour du champ entity de llx_usergroup_rights MigrationReloadModule=Rechargement du module %s MigrationResetBlockedLog=Réinitialiser le module BlockedLog pour l'algorithme v7 -ShowNotAvailableOptions=Show unavailable options -HideNotAvailableOptions=Hide unavailable options +ShowNotAvailableOptions=Afficher les options non disponibles +HideNotAvailableOptions=Masquer les options non disponibles ErrorFoundDuringMigration=Une erreur est survenu lors du processus de migration, aussi l'étape suivante ne peut pas être réalisée. Pour ignorer les erreurs, vous pouvez cliquer ici, mais l'application ou certaines fonctionnalités risquent de présenter des dysfonctionnements jusqu'à la résolution de la ou des erreurs -YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
-YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
+YouTryInstallDisabledByDirLock=L'application a tenté de se mettre à niveau automatiquement, mais les pages d'installation / de mise à niveau ont été désactivées pour des raisons de sécurité (répertoire renommé avec le suffixe .lock).
+YouTryInstallDisabledByFileLock=L'application a tenté de se mettre à niveau automatiquement, mais les pages d'installation / de mise à niveau ont été désactivées pour des raisons de sécurité (grâce à l'existence d'un fichier de verrouillage install.lock dans le répertoire de documents dolibarr).
ClickHereToGoToApp=Cliquez ici pour aller sur votre application -ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +ClickOnLinkOrRemoveManualy=Cliquez sur le lien suivant. Si vous voyez toujours cette même page, vous devez supprimer / renommer le fichier install.lock dans le répertoire des documents. diff --git a/htdocs/langs/fr_FR/mails.lang b/htdocs/langs/fr_FR/mails.lang index 4aef2bc0467..5ef510ee957 100644 --- a/htdocs/langs/fr_FR/mails.lang +++ b/htdocs/langs/fr_FR/mails.lang @@ -45,10 +45,10 @@ MailingStatusReadAndUnsubscribe=Lu et désinscrit ErrorMailRecipientIsEmpty=L'adresse du destinataire est vide WarningNoEMailsAdded=Aucun nouvel email à ajouter à la liste des destinataires. ConfirmValidMailing=Confirmez-vous la validation de l'emailing ? -ConfirmResetMailing=Warning, by re-initializing emailing %s , you will allow resending this email in a mass mailing. Are you sure you want to do this? -ConfirmDeleteMailing=Are you sure you want to delete this emailing? -NbOfUniqueEMails=No. of unique emails -NbOfEMails=No. of EMails +ConfirmResetMailing=Attention, en réinitialisant l'e-mailing %s , vous autoriserez le renvoi de cet e-mail dans un envoi en masse. Est-vous sûr de vouloir faire ça? +ConfirmDeleteMailing=Êtes-vous sûr de vouloir supprimer cet email? +NbOfUniqueEMails=Nombre d'e-mails uniques +NbOfEMails=Nombre de courriels TotalNbOfDistinctRecipients=Nombre de destinataires uniques NoTargetYet=Aucun destinataire défini (Aller sur l'onglet Destinataires) NoRecipientEmail=Aucun e-mail de destinataire pour %s @@ -66,8 +66,8 @@ DateLastSend=Date de la dernière expédition DateSending=Date envoi SentTo=Envoyés à %s MailingStatusRead=Lu -YourMailUnsubcribeOK=The email %s is correctly unsubscribe from mailing list -ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubscribe" feature +YourMailUnsubcribeOK=L'e-mail %s est correctement désabonné de la liste de diffusion +ActivateCheckReadKey=Clé utilisée pour chiffrer l'URL utilisée pour les fonctions "Lire accusé de réception" et "Se désabonner" EMailSentToNRecipients=Email envoyé à %s destinataires. EMailSentForNElements=Email envoyé pour %s enregistrements XTargetsAdded=%s destinataires ajoutés dans la liste cible @@ -166,4 +166,4 @@ InGoingEmailSetup=Configuration email entrant OutGoingEmailSetupForEmailing=Configuration des e-mail sortant (pour les e-mails de masse) DefaultOutgoingEmailSetup=Configuration des emails sortant Information=Information -ContactsWithThirdpartyFilter=Contacts with third party filter +ContactsWithThirdpartyFilter=Contacts avec filtre tiers diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index d98af2bdd95..7b6f509625d 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -50,15 +50,15 @@ ErrorFailedToSendMail=Échec de l'envoi de l'email (émetteur=%s, destinataire=% ErrorFileNotUploaded=Le fichier n'a pas été transféré. Vérifiez que sa taille ne dépasse pas le maxium autorisé, que l'espace disque est disponible et qu'un fichier du même nom n'existe pas déjà. ErrorInternalErrorDetected=Erreur détectée ErrorWrongHostParameter=Mauvais paramètre Serveur -ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post the form again. -ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child record. +ErrorYourCountryIsNotDefined=Votre pays n'est pas défini. Allez dans Home-Setup-Edit et publiez à nouveau le formulaire. +ErrorRecordIsUsedByChild=Impossible de supprimer cet enregistrement. Cet enregistrement est utilisé par au moins un enregistrement enfant. ErrorWrongValue=Valeur incorrecte ErrorWrongValueForParameterX=Valeur incorrecte pour le paramètre %s ErrorNoRequestInError=Aucune requête en erreur -ErrorServiceUnavailableTryLater=Service not available at the moment. Try again later. +ErrorServiceUnavailableTryLater=Service non disponible pour le moment. Réessayez plus tard. ErrorDuplicateField=Doublon dans un champ unique -ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. Changes have been rolled back. -ErrorConfigParameterNotDefined=Parameter %s is not defined in Dolibarr config file conf.php. +ErrorSomeErrorWereFoundRollbackIsDone=Quelques erreurs ont été trouvées. Les modifications ont été annulées. +ErrorConfigParameterNotDefined=Le paramètre %s n'est pas défini dans le fichier de configuration Dolibarr conf.php . ErrorCantLoadUserFromDolibarrDatabase=Impossible de trouver l'utilisateur %s dans la base Dolibarr. ErrorNoVATRateDefinedForSellerCountry=Erreur, aucun taux tva défini pour le pays '%s'. ErrorNoSocialContributionForSellerCountry=Erreur, pas de types de charges sociales/fiscales définies pour le pays '%s'. @@ -78,10 +78,10 @@ FileRenamed=Le fichier a été renommé avec succès FileGenerated=Le fichier a été généré avec succès FileSaved=Fichier enregistré avec succès FileUploaded=Le fichier a été transféré avec succès -FileTransferComplete=File(s) uploaded successfully +FileTransferComplete=Fichier (s) chargé (s) avec succès FilesDeleted=Fichier(s) supprimé(s) avec succès FileWasNotUploaded=Un fichier a été sélectionné pour attachement mais n'a pas encore été uploadé. Cliquez sur "Joindre ce fichier" pour cela. -NbOfEntries=No. of entries +NbOfEntries=Nombre de Entrées GoToWikiHelpPage=Consulter l'aide (nécessite un accès internet) GoToHelpPage=Consulter l'aide RecordSaved=Enregistrement sauvegardé @@ -154,7 +154,7 @@ Update=Modifier Close=Clôturer CloseBox=Supprimer le widget du tableau de bord Confirm=Confirmer -ConfirmSendCardByMail=Do you really want to send the content of this card by mail to %s? +ConfirmSendCardByMail=Voulez-vous vraiment envoyer le contenu de cette carte par courrier à %s ? Delete=Supprimer Remove=Enlever Resiliate=Résilier @@ -328,7 +328,7 @@ Copy=Copier Paste=Coller Default=Défaut DefaultValue=Valeur par défaut -DefaultValues=Default values/filters/sorting +DefaultValues=Valeurs/filtres/tris par défaut Price=Prix PriceCurrency=Prix ​​(devise) UnitPrice=Prix unitaire @@ -429,7 +429,7 @@ ActionNotApplicable=Non applicable ActionRunningNotStarted=A réaliser ActionRunningShort=En cours ActionDoneShort=Terminé -ActionUncomplete=Incomplete +ActionUncomplete=Incomplet LatestLinkedEvents=Les %s derniers événements liés CompanyFoundation=Société/Organisation Accountant=Comptable @@ -437,6 +437,7 @@ ContactsForCompany=Contacts de ce tiers ContactsAddressesForCompany=Contacts/adresses de ce tiers AddressesForCompany=Adresses de ce tiers ActionsOnCompany=Événements vis à vis de ce tiers +ActionsOnContact=Événements à propos de ce contact/adresse ActionsOnMember=Événements vis à vis de cet adhérent ActionsOnProduct=Événements liés au produit NActionsLate=%s en retard @@ -455,7 +456,7 @@ Duration=Durée TotalDuration=Durée totale Summary=Résumé DolibarrStateBoard=Statistiques de la base -DolibarrWorkBoard=Pending Items +DolibarrWorkBoard=Éléments en attente NoOpenedElementToProcess=Aucun élément ouvert à traiter Available=Disponible NotYetAvailable=Pas encore disponible @@ -707,7 +708,7 @@ Merge=Fusionner DocumentModelStandardPDF=Modèle PDF standard PrintContentArea=Afficher page d'impression de la zone centrale MenuManager=Gestionnaire de menu -WarningYouAreInMaintenanceMode=Warning, you are in maintenance mode, so only login %s is allowed to use the application at this time. +WarningYouAreInMaintenanceMode=Attention, vous êtes en mode maintenance, seul le login %s est autorisé à utiliser l'application pour le moment. CoreErrorTitle=Erreur système CoreErrorMessage=Désolé, une erreur s'est produite. Contacter votre administrateur système pour vérifier les logs ou désactiver l'option $dolibarr_main_prod=1 pour obtenir plus d'information. CreditCard=Carte de crédit @@ -715,7 +716,7 @@ ValidatePayment=Valider ce règlement CreditOrDebitCard=Carte de crédit ou débit FieldsWithAreMandatory=Les champs marqués par un %s sont obligatoires FieldsWithIsForPublic=Les champs marqués par %s seront affichés sur la liste publique des adhérents. Si vous ne le souhaitez pas, décochez la case "public". -AccordingToGeoIPDatabase=(according to GeoIP conversion) +AccordingToGeoIPDatabase=(selon conversion GeoIP) Line=Ligne NotSupported=Non pris en charge RequiredField=Champ obligatoire @@ -723,8 +724,8 @@ Result=Résultat ToTest=Tester ValidateBefore=La fiche doit être validée pour pouvoir utiliser cette fonction Visibility=Visibilité -Totalizable=Totalizable -TotalizableDesc=This field is totalizable in list +Totalizable=Totalisable +TotalizableDesc=Ce champ est totalisable en liste Private=Privé Hidden=Caché Resources=Ressources @@ -743,7 +744,7 @@ LinkTo=Lier à LinkToProposal=Lier à une proposition commerciale LinkToOrder=Lier à une commande LinkToInvoice=Lier à une facture -LinkToTemplateInvoice=Link to template invoice +LinkToTemplateInvoice=Lien vers le modèle de facture LinkToSupplierOrder=Lier à une commande fournisseur LinkToSupplierProposal=Lier à une proposition commerciale fournisseur LinkToSupplierInvoice=Lier à une facture fournisseur @@ -797,7 +798,7 @@ PrintFile=Imprimer fichier %s ShowTransaction=Afficher l'écriture sur le compte bancaire ShowIntervention=Afficher intervention ShowContract=Afficher contrat -GoIntoSetupToChangeLogo=Go to Home - Setup - Company to change logo or go to Home - Setup - Display to hide. +GoIntoSetupToChangeLogo=Allez à Accueil - Configuration - Société pour changer de logo ou allez à Accueil - Configuration - Afficher pour masquer. Deny=Refuser Denied=Refusé ListOf=Liste de %s @@ -817,8 +818,8 @@ TooManyRecordForMassAction=Trop d'enregistrements sélectionnés pour l'action d NoRecordSelected=Aucu enregistrement sélectionné MassFilesArea=Zone des fichiers générés en masse ShowTempMassFilesArea=Afficher la zone des fichiers générés en masse -ConfirmMassDeletion=Mass delete confirmation -ConfirmMassDeletionQuestion=Are you sure you want to delete the %s selected record? +ConfirmMassDeletion=Confirmation de suppression en masse +ConfirmMassDeletionQuestion=Êtes-vous sûr de vouloir supprimer l’enregistrement sélectionné %s? RelatedObjects=Objets liés ClassifyBilled=Classer facturé ClassifyUnbilled=Classer non facturé @@ -836,7 +837,7 @@ Calendar=Calendrier GroupBy=Grouper par... ViewFlatList=Voir vue liste RemoveString=Supprimer la chaine '%s' -SomeTranslationAreUncomplete=Some of the languages offered may be only partially translated or may contain errors. Please help to correct your language by registering at https://transifex.com/projects/p/dolibarr/ to add your improvements. +SomeTranslationAreUncomplete=Certaines des langues proposées peuvent ne pas être traduites partiellement ou contenir des erreurs. Aidez-nous à corriger votre langue en vous inscrivant à l'adresse https://transifex.com/projects/p/dolibarr/. < / a> ajouter vos améliorations. DirectDownloadLink=Lien de téléchargement direct (public/externe) DirectDownloadInternalLink=Lien de téléchargement direct (requiert d'être logué et autorisé) Download=Téléchargement @@ -856,11 +857,11 @@ HR=HR HRAndBank=HR et banque AutomaticallyCalculated=Calculé automatiquement TitleSetToDraft=Retour à l'état de brouillon -ConfirmSetToDraft=Are you sure you want to go back to Draft status? +ConfirmSetToDraft=Êtes-vous sûr de vouloir revenir au statut de brouillon? ImportId=Id import Events=Événements EMailTemplates=Modèles des courriels -FileNotShared=File not shared to external public +FileNotShared=Fichier non partagé avec un public externe Project=Projet Projects=Projets LeadOrProject=Opportunités | Projet @@ -873,8 +874,8 @@ NewLeadOrProject=Nouvelle opportunité ou projet Rights=Permissions LineNb=No ligne IncotermLabel=Incoterms -TabLetteringCustomer=Customer lettering -TabLetteringSupplier=Supplier lettering +TabLetteringCustomer=Lettrage client +TabLetteringSupplier=Lettrage fournisseur # Week day Monday=Lundi Tuesday=Mardi @@ -939,7 +940,7 @@ CommentAdded=Commentaire ajouté CommentDeleted=Commentaire supprimé Everybody=Tout le monde PayedBy=Payé par -PayedTo=Paid to +PayedTo=Versée à Monthly=Mensuel Quarterly=Trimestriel Annual=Annuel @@ -949,7 +950,8 @@ LocalAndRemote=Local et distant KeyboardShortcut=Raccourci clavier AssignedTo=Assigné à Deletedraft=Supprimer brouillon -ConfirmMassDraftDeletion=Draft mass delete confirmation +ConfirmMassDraftDeletion=Projet de confirmation de suppression en masse FileSharedViaALink=Fichier partagé via un lien -SelectAThirdPartyFirst=Select a third party first... +SelectAThirdPartyFirst=Sélectionnez d'abord un tiers ... YouAreCurrentlyInSandboxMode=Vous travaillez actuellement dans le mode "bac à sable" de %s +Inventory=Inventaire diff --git a/htdocs/langs/fr_FR/modulebuilder.lang b/htdocs/langs/fr_FR/modulebuilder.lang index fd4e66e5ff3..91e88835da4 100644 --- a/htdocs/langs/fr_FR/modulebuilder.lang +++ b/htdocs/langs/fr_FR/modulebuilder.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - loan -ModuleBuilderDesc=This tool must be used by only by experienced users or developers. It gives you utilities to build or edit your own module.
Documentation for alternative
manual development is here. +ModuleBuilderDesc=Cet outil ne doit être utilisé que par des utilisateurs expérimentés ou des développeurs. Il vous fournit des utilitaires pour construire ou éditer votre propre module.
La documentation relative au développement manuel alternatif est ici . EnterNameOfModuleDesc=Saisissez le nom du module/application à créer, sans espaces. Utilisez les majuscules pour identifier les mots (par exemple : MonModule, BoutiqueECommerce,...) EnterNameOfObjectDesc=Entrez le nom de l'objet à créer sans espaces. Utilisez les majuscules pour séparer des mots (par exemple: MyObject, Student, Teacher ...). Le fichier de classe CRUD, mais aussi le fichier API, les pages à afficher / ajouter / éditer / supprimer des objets et des fichiers SQL seront générés. ModuleBuilderDesc2=Chemin ou les modules sont générés/modifiés (premier répertoire alternatif défini dans %s):%s @@ -13,7 +13,7 @@ ModuleInitialized=Module initialisé FilesForObjectInitialized=Fichiers pour les nouvel objet '%s' initialisés FilesForObjectUpdated=Les fichiers pour l'objet '%s' ont été mis à jour ( fichiers .sql et .class.php ) ModuleBuilderDescdescription=Entrez ici toutes les informations générales qui décrivent votre module. -ModuleBuilderDescspecifications=You can enter here a detailed description of the specifications of your module that is not already structured into other tabs. So you have within easy reach all the rules to develop. Also this text content will be included into the generated documentation (see last tab). You can use Markdown format, but it is recommended to use Asciidoc format (comparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). +ModuleBuilderDescspecifications=Vous pouvez entrer ici une description détaillée des spécifications de votre module qui n'est pas déjà structurée dans d'autres onglets. Vous avez donc à portée de main toutes les règles à développer. Ce contenu textuel sera également inclus dans la documentation générée (voir dernier onglet). Vous pouvez utiliser le format Markdown, mais il est recommandé d'utiliser le format Asciidoc (comparaison entre .md et .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). ModuleBuilderDescobjects=Définissez ici les objets que vous souhaitez gérer avec votre module. Une classe CRUD DAO, des fichiers SQL, une page pour lister l'enregistrement des objets, pour créer / modifier / afficher un enregistrement et une API sera générée. ModuleBuilderDescmenus=Cet onglet est dédié à la définition des entrées menu fournies par votre module. ModuleBuilderDescpermissions=Cet onglet est dédié à la définition des nouvelles permissions dont vous voulez fournir avec votre module. @@ -21,12 +21,12 @@ ModuleBuilderDesctriggers=Vue des triggers ajoutés par votre module. Pour inclu ModuleBuilderDeschooks=Cet onglet est dédié aux points d'accroche. ModuleBuilderDescwidgets=Cet onglet est dédié à la gestion/construction de widgets. ModuleBuilderDescbuildpackage=Vous pouvez générer ici un fichier de package "prêt à distribuer" (un fichier .zip normalisé) de votre module et un fichier de documentation "prêt à distribuer". Cliquez simplement sur le bouton pour créer le paquet ou le fichier de documentation. -EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: ALL files of module AND structured data and documentation will be deleted! -EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All files related to object will be deleted! +EnterNameOfModuleToDeleteDesc=Vous pouvez supprimer votre module\nATTENTION:\nTous fichiers relatifs a ce module ET toutes bases de donnes seront supprimes +EnterNameOfObjectToDeleteDesc=Vous pouvez supprimer un objet\nATTENTION:\nTous fichiers relatifs a cet objet seront supprimes DangerZone=Zone de danger BuildPackage=Générer package/documentation BuildDocumentation=Générez la documentation -ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here: +ModuleIsNotActive=Ce module n'est pas encore activé. Allez à %s pour le faire vivre ou cliquez ici: ModuleIsLive=Ce module a été activé. Tout changement sur lui pourrait casser une fonctionnalité actuellement activée. DescriptionLong=Description longue EditorName=Nom de l'éditeur @@ -47,7 +47,7 @@ RegenerateClassAndSql=Effacer et générer à nouveau les fichiers de classe et RegenerateMissingFiles=Générer les fichiers manquant SpecificationFile=Fichier de description des règles métiers LanguageFile=Fichier langue -ConfirmDeleteProperty=Are you sure you want to delete the property %s? This will change code in PHP class but also remove column from table definition of object. +ConfirmDeleteProperty=Voulez-vous vraiment supprimer la propriété %s ? Cela modifiera le code de la classe PHP, mais supprimera également la colonne de la définition de la table de l'objet. NotNull=Non NULL NotNullDesc=1=Définir le champ en base à NOT NULL. -1=Autoriser les valeurs nulles et forcer la valeur à NULL si vide ('' ou 0). SearchAll=Utilisé par la "recherche globale" @@ -66,7 +66,7 @@ PageForLib=Fichier pour les librairies PHP SqlFileExtraFields=Fichier SQL pour les attributs complémentaires SqlFileKey=Fichier Sql pour les clés AnObjectAlreadyExistWithThisNameAndDiffCase=Un objet existe déjà avec ce nom dans une casse différente -UseAsciiDocFormat=You can use Markdown format, but it is recommended to use Asciidoc format (omparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) +UseAsciiDocFormat=Vous pouvez utiliser le format Markdown, mais il est recommandé d'utiliser le format Asciidoc (comparaison entre .md et .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) IsAMeasure=Est une mesure DirScanned=Répertoire scanné NoTrigger=Pas de trigger @@ -78,7 +78,7 @@ SeeExamples=Voir des exemples ici EnabledDesc=Condition pour que ce champ soit actif (Exemples: 1 ou $conf->global->MYMODULE_MYOPTION) VisibleDesc=Le champ est-il visible ? (Exemples: 0 = Jamais visible, 1 = Visible sur les listes et formulaires de création/mise à jour/visualisation, 2 = Visible uniquement sur la liste, 3 = Visible uniquement sur le formulaire de création/mise à jour/affichage. Utiliser une valeur négative signifie que le champ n'est pas affiché par défaut sur la liste mais peut être sélectionné pour l'affichage) IsAMeasureDesc=Peut-on cumuler la valeur du champ pour obtenir un total dans les listes ? (Exemples: 1 ou 0) -SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) +SearchAllDesc=Le champ est-il utilisé pour effectuer une recherche à partir de l'outil de recherche rapide? (Exemples: 1 ou 0) SpecDefDesc=Entrez ici toute la documentation que vous souhaitez joindre au module et qui n'a pas encore été définis dans d'autres onglets. Vous pouvez utiliser .md ou, mieux, la syntaxe enrichie .asciidoc. LanguageDefDesc=Entrez dans ces fichiers, toutes les clés et la traduction pour chaque fichier de langue. MenusDefDesc=Définissez ici les menus fournis par votre module (une fois définis, ils sont visibles dans l'éditeur de menu %s) @@ -88,7 +88,7 @@ TriggerDefDesc=Définissez dans le fichier trigger le code que vous souhaitez ex SeeIDsInUse=Voir les IDs utilisés dans votre installation SeeReservedIDsRangeHere=Voir la plage des ID réservés ToolkitForDevelopers=Boîte à outils pour développeurs Dolibarr -TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the native module builder wizard.
Enable the module %s and use the wizard by clicking the on the top right menu.
Warning: This is an advanced developer feature, do not experiment on your production site! +TryToUseTheModuleBuilder=Si vous connaissez SQL et PHP, vous pouvez utiliser l'assistant de création de module natif.
Activez le module %s et utilisez l'assistant en cliquant sur la . dans le menu en haut à droite.
Avertissement: Il s'agit d'une fonctionnalité avancée pour les développeurs. Ne pas d'expérimenter sur votre site de production! SeeTopRightMenu=Voir à droite de votre barre de menu principal AddLanguageFile=Ajouter le fichier de langue YouCanUseTranslationKey=Vous pouvez utiliser ici une clé qui est la clé de traduction trouvée dans le fichier de langue (voir l'onglet "Langues") @@ -96,7 +96,7 @@ DropTableIfEmpty=(Supprimer la table si vide) TableDoesNotExists=La table %s n'existe pas TableDropped=La table %s a été supprimée InitStructureFromExistingTable=Construire la chaîne du tableau de structure d'une table existante -UseAboutPage=Disable the about page -UseDocFolder=Disable the documentation folder +UseAboutPage=Désactiver la page "A propos" +UseDocFolder=Désactiver le dossier Documentation UseSpecificReadme=Utiliser un fichier ReadMe spécifique -RealPathOfModule=Real path of module +RealPathOfModule=Reel chemin du dossier du module diff --git a/htdocs/langs/fr_FR/multicurrency.lang b/htdocs/langs/fr_FR/multicurrency.lang index 3e4718a561e..7594442cb34 100644 --- a/htdocs/langs/fr_FR/multicurrency.lang +++ b/htdocs/langs/fr_FR/multicurrency.lang @@ -3,18 +3,18 @@ MultiCurrency=Multi-devise ErrorAddRateFail=Erreur lors de l'ajout du taux ErrorAddCurrencyFail=Erreur lors de l'ajout de la devise ErrorDeleteCurrencyFail=Erreur de suppression -multicurrency_syncronize_error=Erreur de synchronisation %s -MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Utilisez la date du document pour trouver le taux de change, au lieu d'utiliser dernier taux connu -multicurrency_useOriginTx=Quand un objet est créé à partir d'un autre, garder le taux original de l'objet source (sinon utiliser le dernier taux connu) +multicurrency_syncronize_error=Erreur de synchronisation: %s +MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Utilisez la date du document pour rechercher le taux de change, au lieu d'utiliser le dernier taux connu +multicurrency_useOriginTx=Lorsqu'un objet est créé à partir d'un autre, conservez le taux d'origine de l'objet source (sinon utilisez le dernier taux connu). CurrencyLayerAccount=API CurrencyLayer -CurrencyLayerAccount_help_to_synchronize=Vous devez créer un compte sur leur site web pour pouvoir utiliser cette fonctionnalité.
Obtenez votre Clé API
Si vous utilisez un compte gratuit, vous ne pouvez pas changer la devise source(USD par défaut)
Mais si votre devise principale n'est pas USD, vous pouvez utiliser une devise source alternative pour forcer votre devise principale

Vous êtes limité à 1000 synchronisations par mois. +CurrencyLayerAccount_help_to_synchronize=Vous devez créer un compte sur leur site Web pour utiliser cette fonctionnalité.
Obtenez votre clé d'API .
Si vous utilisez un compte gratuit, vous ne pouvez pas changer la source de devise (USD par défaut).
Si votre devise principale n'est pas le dollar américain, vous pouvez utiliser la source de devise alternative pour forcer votre devise principale.

Vous êtes limité à 1 000 synchronisations. par mois. multicurrency_appId=Clé API multicurrency_appCurrencySource=Devise source multicurrency_alternateCurrencySource=Devise du document source CurrenciesUsed=Devises utilisées -CurrenciesUsed_help_to_add=Ajoutez les différentes devises et taux dont vous avez besoin sur vos propositions commerciales,commandes, etc. +CurrenciesUsed_help_to_add=Ajoutez les différentes devises et taux que vous devez utiliser pour vos propositions , commandes , etc. rate=taux MulticurrencyReceived=Reçu, devise originale -MulticurrencyRemainderToTake=Montant restant, devise originale +MulticurrencyRemainderToTake=Montant restant, devise d'origine MulticurrencyPaymentAmount=Montant du règlement (devise d'origine) AmountToOthercurrency=Montant destination (en devise du compte de réception) diff --git a/htdocs/langs/fr_FR/opensurvey.lang b/htdocs/langs/fr_FR/opensurvey.lang index 0cf70c90257..1d85f539784 100644 --- a/htdocs/langs/fr_FR/opensurvey.lang +++ b/htdocs/langs/fr_FR/opensurvey.lang @@ -11,7 +11,7 @@ PollTitle=Titre sondage ToReceiveEMailForEachVote=Recevoir un email à chaque vote TypeDate=Type date TypeClassic=Type classique -OpenSurveyStep2=Sélectionner les dates parmis les jours libres (en gris). Les jours sélectionnés sont verts. Vous pouvez dé-sélectionner un jour en cliquant à nouveau dessus. +OpenSurveyStep2=Sélectionnez vos dates parmi les jours gratuits (gris). Les jours sélectionnés sont verts. Vous pouvez désélectionner un jour précédemment sélectionné en cliquant à nouveau dessus. RemoveAllDays=Efface tous les jours CopyHoursOfFirstDay=Copier heures du premier jour RemoveAllHours=Efface toutes les heures @@ -35,7 +35,7 @@ TitleChoice=Libellé du choix ExportSpreadsheet=Exporter feuille de résultats ExpireDate=Date expiration NbOfSurveys=Nombre de sondages -NbOfVoters=Nombre de votants +NbOfVoters=Nbre de votants SurveyResults=Résultats PollAdminDesc=Vous êtes habilité à modifier toutes les lignes de votes par le bouton "Éditer". Vous pouvez supprimer une colonne ou ligne avec %s. Vous pouvez aussi ajouter une nouvelle colonne avec %s. 5MoreChoices=5 choix suplémentaires @@ -58,4 +58,4 @@ MoreChoices=Entrez plus de choix pour les votants SurveyExpiredInfo=Le sondage a été fermé ou le délai de vote est expiré EmailSomeoneVoted=%s a rempli une ligne.\nVous pouvez trouver le sondage via le lien:\n%s ShowSurvey=Afficher le sondage -UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment +UserMustBeSameThanUserUsedToVote=Vous devez avoir voté et utiliser le même nom d'utilisateur que celui utilisé pour voter, pour poster un commentaire diff --git a/htdocs/langs/fr_FR/orders.lang b/htdocs/langs/fr_FR/orders.lang index 89a6c7dfebb..3e9e378c39f 100644 --- a/htdocs/langs/fr_FR/orders.lang +++ b/htdocs/langs/fr_FR/orders.lang @@ -19,7 +19,7 @@ SuppliersOrdersRunning=Commandes fournisseurs en cours CustomerOrder=Commande client CustomersOrders=Commandes clients CustomersOrdersRunning=Commandes clients en cours -CustomersOrdersAndOrdersLines=Customer orders and order details +CustomersOrdersAndOrdersLines=Commandes clients et détails de la commande OrdersDeliveredToBill=Commandes clients délivrées à facturer OrdersToBill=Commandes clients à délivrer OrdersInProcess=Commandes clients en traitement @@ -88,7 +88,7 @@ NumberOfOrdersByMonth=Nombre de commandes par mois AmountOfOrdersByMonthHT=Montant total de commandes par mois (HT) ListOfOrders=Liste des commandes CloseOrder=Clôturer commande -ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. +ConfirmCloseOrder=Voulez-vous vraiment que cette commande soit livrée? Une fois qu'une commande est livrée, elle peut être définie sur facturée. ConfirmDeleteOrder=Êtes-vous sûr de vouloir effacer cette commande ? ConfirmValidateOrder=Êtes-vous sûr de vouloir valider cette commande sous la référence %s ? ConfirmUnvalidateOrder=Êtes-vous sûr de vouloir restaurer la commande %s au statut brouillon ? diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index 5186a5313fd..1e49e3fdc4f 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -23,7 +23,7 @@ MessageForm=Message sur l'écran de paiement en ligne MessageOK=Message sur page de retour de paiement validé MessageKO=Message sur page de retour de paiement annulé ContentOfDirectoryIsNotEmpty=Le contenu de ce répertoire n'est pas vide. -DeleteAlsoContentRecursively=Check to delete all content recursively +DeleteAlsoContentRecursively=Cocher pour supprimer tout le contenu de manière récursive YearOfInvoice=Année de la date de facturation PreviousYearOfInvoice=Année précédente de la date de facturation @@ -38,8 +38,8 @@ Notify_ORDER_SUPPLIER_VALIDATE=Commande fournisseur enregistrée Notify_ORDER_SUPPLIER_APPROVE=Commande fournisseur approuvée Notify_ORDER_SUPPLIER_REFUSE=Commande fournisseur refusée Notify_PROPAL_VALIDATE=Validation proposition commerciale client -Notify_PROPAL_CLOSE_SIGNED=Customer proposal closed signed -Notify_PROPAL_CLOSE_REFUSED=Customer proposal closed refused +Notify_PROPAL_CLOSE_SIGNED=Proposition client fermée signée +Notify_PROPAL_CLOSE_REFUSED=Proposition client fermée refusée Notify_PROPAL_SENTBYMAIL=Envoi proposition commerciale par email Notify_WITHDRAW_TRANSMIT=Transmission prélèvement Notify_WITHDRAW_CREDIT=Crédit prélèvement @@ -48,11 +48,11 @@ Notify_COMPANY_CREATE=Tiers créé Notify_COMPANY_SENTBYMAIL=Email envoyé depuis la fiche Tiers Notify_BILL_VALIDATE=Facture client validée Notify_BILL_UNVALIDATE=Dévalidation facture client -Notify_BILL_PAYED=Customer invoice paid +Notify_BILL_PAYED=Facture client payée Notify_BILL_CANCEL=Annulation facture client Notify_BILL_SENTBYMAIL=Envoi facture client par email Notify_BILL_SUPPLIER_VALIDATE=Validation facture fournisseur -Notify_BILL_SUPPLIER_PAYED=Supplier invoice paid +Notify_BILL_SUPPLIER_PAYED=Facture fournisseur payée Notify_BILL_SUPPLIER_SENTBYMAIL=Envoi facture fournisseur par email Notify_BILL_SUPPLIER_CANCELED=Facture fournisseur annulée Notify_CONTRACT_VALIDATE=Validation contrat @@ -70,28 +70,29 @@ Notify_PROJECT_CREATE=Création de projet Notify_TASK_CREATE=Tâche créée Notify_TASK_MODIFY=Tâche modifiée Notify_TASK_DELETE=Tâche supprimée -Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required) -Notify_EXPENSE_REPORT_APPROVE=Expense report approved -Notify_HOLIDAY_VALIDATE=Leave request validated (approval required) -Notify_HOLIDAY_APPROVE=Leave request approved +Notify_EXPENSE_REPORT_VALIDATE=Rapport de dépenses validé (approbation requise) +Notify_EXPENSE_REPORT_APPROVE=Note de frais approuvé +Notify_HOLIDAY_VALIDATE=Demande de congé validée (approbation requise) +Notify_HOLIDAY_APPROVE=Demande de congé approuvée SeeModuleSetup=Voir la configuration du module %s NbOfAttachedFiles=Nombre de fichiers/documents liés TotalSizeOfAttachedFiles=Taille totale fichiers/documents liés MaxSize=Taille maximum AttachANewFile=Ajouter un nouveau fichier/document LinkedObject=Objet lié -NbOfActiveNotifications=Number of notifications (no. of recipient emails) +NbOfActiveNotifications=Nombre de notifications (nb d'e-mails de destinataires) PredefinedMailTest=__(Hello)__,\nCeci est un mail de test envoyé à __EMAIL__.\nLes deux lignes sont séparées par un saut de ligne.\n\n__USER_SIGNATURE__ PredefinedMailTestHtml=__(Hello)__\nCeci est un message de test (le mot test doit être en gras).
Les 2 lignes sont séparées par un retour à la ligne.

__SIGNATURE__ -PredefinedMailContentSendInvoice=__(Hello)__\n\nPlease find attached invoice __REF__\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__(Hello)__\n\nWe would like to warn you that the invoice __REF__ seems to have not been paid. The invoice is attached, as a reminder.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendProposal=__(Hello)__\n\nPlease find attached commercial proposal __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendInvoice=__(Bonjour)__\n\nVeuillez trouver la facture ci-jointe __REF__\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendInvoiceReminder=__(Bonjour)__\n\nNous tenons à vous avertir que la facture __REF__ ne semble pas avoir été payée. La facture est jointe, à titre de rappel.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendProposal=__(Bonjour)__\n\nVeuillez trouver ci-joint la proposition commerciale __REF__\n\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendSupplierProposal=__(Hello)__\n\nVeuillez trouver, ci-joint, une demande de prix avec la référence __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendOrder=__(Hello)__\n\nPlease find attached order __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__(Hello)__\n\nPlease find attached our order __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__(Hello)__\n\nPlease find attached invoice __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find attached shipping __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find attached intervention __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendOrder=__(Bonjour)__\n\nVeuillez trouver ci-joint l'ordre __REF__\n\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierOrder=__(Hello)__\n\nVeuillez trouver ci-joint notre commande __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierInvoice=__(Hello)__\n\nVeuillez trouver la facture ci-jointe __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendShipping=__(Hello)__\n\nVeuillez trouver ci-joint l'expédition __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendFichInter=__(Hello)__\n\nVeuillez trouver l'intervention ci-jointe __REF__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentThirdparty=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentUser=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentLink=Vous pouvez cliquer sur le lien ci-dessous pour effectuer votre paiement si ce n'est déjà fait.\n\n%s\n\n @@ -175,7 +176,7 @@ EnableGDLibraryDesc=Vous devez activer ou installer la librairie GD avec votre P ProfIdShortDesc=Id prof. %s est une information qui dépend du pays du tiers.
Par exemple, pour le pays %s, il s'agit du code %s. DolibarrDemo=Démonstration de Dolibarr ERP/CRM StatsByNumberOfUnits=Statistiques de quantités de produits/services -StatsByNumberOfEntities=Statistics in number of referring entities (no. of invoice, or order...) +StatsByNumberOfEntities=Statistiques en nombre d'entités référentes (n ° de facture, ou d'ordre ...) NumberOfProposals=Nombre de propositions commerciales NumberOfCustomerOrders=Nombre de commandes clients NumberOfCustomerInvoices=Nombre de factures clients @@ -191,7 +192,7 @@ NumberOfUnitsSupplierInvoices=Quantités présentes dans les factures fournisseu EMailTextInterventionAddedContact=Une nouvelle intervention %s vous a été assignée EMailTextInterventionValidated=La fiche intervention %s vous concernant a été validée. EMailTextInvoiceValidated=La facture %s vous concernant a été validée. -EMailTextInvoicePayed=The invoice %s has been paid. +EMailTextInvoicePayed=La facture %s a été payée. EMailTextProposalValidated=La proposition commerciale %s vous concernant a été validée. EMailTextProposalClosedSigned=La proposition %s a été clôturée signée. EMailTextOrderValidated=La commande %s vous concernant a été validée. @@ -201,10 +202,10 @@ EMailTextOrderApprovedBy=La commande %s a été approuvée par %s. EMailTextOrderRefused=La commande %s a été refusée. EMailTextOrderRefusedBy=La commande %s a été refusée par %s. EMailTextExpeditionValidated=L'expédition %s a été validée. -EMailTextExpenseReportValidated=The expense report %s has been validated. -EMailTextExpenseReportApproved=The expensereport %s has been approved. -EMailTextHolidayValidated=The leave request %s has been validated. -EMailTextHolidayApproved=The leave request %s has been approved. +EMailTextExpenseReportValidated=La note de frais %s a été validée. +EMailTextExpenseReportApproved=Le expensereport %s a été approuvé. +EMailTextHolidayValidated=La demande de congé %s a été validée. +EMailTextHolidayApproved=La demande de congé %s a été approuvée. ImportedWithSet=Lot d'importation (Import key) DolibarrNotification=Notification automatique ResizeDesc=Entrer la nouvelle largeur OU la nouvelle hauteur. Le ratio d'aspect est conservé lors du redimensionnement… @@ -243,7 +244,7 @@ YourPasswordMustHaveAtLeastXChars=Votre mot de passe doit avoir au moins &tag=value
à n'importe quelles de ces URL (obligatoire pour le paiement libre uniquement) pour ajouter votre propre "code commentaire" du paiement. SetupPayBoxToHavePaymentCreatedAutomatically=Configurez votre URL PayBox à %s pour avoir le paiement créé automatiquement si validé par Paybox. YourPaymentHasBeenRecorded=Cette page confirme que votre paiement a bien été enregistré. Merci. diff --git a/htdocs/langs/fr_FR/paypal.lang b/htdocs/langs/fr_FR/paypal.lang index 2e342fe9e5a..2d94ef5c1ff 100644 --- a/htdocs/langs/fr_FR/paypal.lang +++ b/htdocs/langs/fr_FR/paypal.lang @@ -11,7 +11,7 @@ PAYPAL_SSLVERSION=Curl Version SSL PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Proposer le paiement intégral (Carte+Paypal) ou Paypal seul PaypalModeIntegral=Intégral PaypalModeOnlyPaypal=PayPal seul -ONLINE_PAYMENT_CSS_URL=Optional URL of CSS stylesheet on online payment page +ONLINE_PAYMENT_CSS_URL=URL facultative de la feuille de style CSS sur la page de paiement en ligne ThisIsTransactionId=Voici l'identifiant de la transaction: %s PAYPAL_ADD_PAYMENT_URL=Ajouter l'URL de paiement Paypal lors de l'envoi d'un document par email NewOnlinePaymentReceived=Nouveau paiement en ligne reçu @@ -27,8 +27,8 @@ ShortErrorMessage=Message d'erreur court ErrorCode=Code erreur ErrorSeverityCode=Code d'erreur sévérité OnlinePaymentSystem=Système de paiement en ligne -PaypalLiveEnabled=PayPal live enabled (otherwise test/sandbox mode) -PaypalImportPayment=Import PayPal payments +PaypalLiveEnabled=PayPal live activé (sinon test / mode sandbox) +PaypalImportPayment=Importer des paiements PayPal PostActionAfterPayment=Actions complémentaires après paiement ARollbackWasPerformedOnPostActions=Une annulation a été effectuée sur toutes les actions Post paiement. Vous devez compléter les actions complémentaires manuellement si elles sont nécessaires. -ValidationOfPaymentFailed=Validation of payment has failed +ValidationOfPaymentFailed=La validation du paiement a échoué diff --git a/htdocs/langs/fr_FR/printing.lang b/htdocs/langs/fr_FR/printing.lang index 62cad4af2c5..e93ce936de1 100644 --- a/htdocs/langs/fr_FR/printing.lang +++ b/htdocs/langs/fr_FR/printing.lang @@ -2,7 +2,7 @@ Module64000Name=Impressions Directe Module64000Desc=Activer le système d'impression Directe PrintingSetup=Réglages du module Impression Directe -PrintingDesc=Ce module ajoute un bouton Imprimer afin d'envoyer directement les documents à une imprimante (sans ouvrir le document dans une application). +PrintingDesc=Ce module ajoute un bouton Imprimer à différents modules pour permettre aux documents d'être imprimés directement sur une imprimante sans avoir à ouvrir le document dans une autre application. MenuDirectPrinting=Travaux d'impressions directe DirectPrint=Impressions Directe PrintingDriverDesc=Paramètres de configuration pour le driver d'impression @@ -19,7 +19,7 @@ UserConf=Configuration par utilisateur PRINTGCP_INFO=Configuration Google OAuth API PRINTGCP_AUTHLINK=Authentification PRINTGCP_TOKEN_ACCESS=Token OAuth Google Cloud Impression -PrintGCPDesc=Ce driver permet d'envoyer des documents directement à l'imprimante via Google Cloud Print +PrintGCPDesc=Ce pilote permet d'envoyer des documents directement à une imprimante à l'aide de Google Cloud Print. GCP_Name=Nom GCP_displayName=Nom affiché GCP_Id=Id imprimante @@ -27,7 +27,7 @@ GCP_OwnerName=Nom propriétaire GCP_State=Etat imprimante GCP_connectionStatus=Etats en ligne GCP_Type=Type d'imprimante -PrintIPPDesc=Ce driver permet d'envoyer les documents directement à une imprimante. Il requiert un système Linux avec CUPS installé. +PrintIPPDesc=Ce pilote permet d’envoyer des documents directement à une imprimante. Il nécessite un système Linux avec CUPS installé. PRINTIPP_HOST=Serveur d'impression PRINTIPP_PORT=Port PRINTIPP_USER=Identifiant diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index eacad26cc39..3c66c355246 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -17,12 +17,12 @@ Reference=Référence NewProduct=Nouveau produit NewService=Nouveau service ProductVatMassChange=Changement TVA en masse -ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from one value to another. Warning, this change is global/done on all database. +ProductVatMassChangeDesc=Cette page peut être utilisée pour modifier un taux de TVA défini sur des produits ou services d’une valeur à une autre. Attention, cette modification est globale / effectuée sur toutes les bases. MassBarcodeInit=Initialisation codes-barre MassBarcodeInitDesc=Cette page peut être utilisée pour initialiser un code-barre sur des objets qui ne disposent pas de code-barre défini. Vérifiez avant que l'installation du module code-barres est complète. ProductAccountancyBuyCode=Code comptable (achat) ProductAccountancySellCode=Code comptable (vente) -ProductAccountancySellIntraCode=Accounting code (sale intra-Community) +ProductAccountancySellIntraCode=Code comptable (vente intra-communautaire) ProductAccountancySellExportCode=Code comptable (vente à l'export) ProductOrService=Produit ou Service ProductsAndServices=Produits et Services @@ -97,8 +97,8 @@ NoteNotVisibleOnBill=Note (non visible sur les factures, propals...) ServiceLimitedDuration=Si produit de type service à durée limitée : MultiPricesAbility=Plusieurs niveaux de prix par produit/service (chaque client est dans un et un seul niveau) MultiPricesNumPrices=Nombre de prix -AssociatedProductsAbility=Activate virtual products (kits) -AssociatedProducts=Virtual products +AssociatedProductsAbility=Activer des produits virtuels (kits) +AssociatedProducts=Produits virtuels AssociatedProductsNumber=Nbre de sous-produits constituant ce produit virtuel ParentProductsNumber=Nbre de produits virtuels/packages parent ParentProducts=Produits parents @@ -134,7 +134,7 @@ PredefinedServicesToSell=Services prédéfinis en vente PredefinedProductsAndServicesToSell=Produits/Services prédéfinis en vente PredefinedProductsToPurchase=Produits prédéfinis à acheter PredefinedServicesToPurchase=Services prédéfinis à acheter -PredefinedProductsAndServicesToPurchase=Predefined products/services to purchase +PredefinedProductsAndServicesToPurchase=Produits / services prédéfinis à l'achat NotPredefinedProducts=Pas de produit/service prédéfini GenerateThumb=Générer la vignette ServiceNb=Service no %s @@ -145,7 +145,7 @@ Finished=Produit manufacturé RowMaterial=Matière première CloneProduct=Cloner produit/service ConfirmCloneProduct=Êtes-vous sûr de vouloir cloner le produit ou service %s ? -CloneContentProduct=Clone all main information of product/service +CloneContentProduct=Cloner toutes les informations principales du produit / service ClonePricesProduct=Cloner les prix CloneCompositionProduct=Cloner le produits packagés CloneCombinationsProduct=Cloner les variantes @@ -233,7 +233,7 @@ BarCodeDataForThirdparty=Information de code barre du produit %s : ResetBarcodeForAllRecords=Définir la valeur de code-barres pour tous les enregistrements (cela réinitialiser également les valeurs de code-barres déjà défini par des nouvelles) PriceByCustomer=Prix différents pour chaque client PriceCatalogue=Un seul prix de vente par produit/service -PricingRule=Rules for selling prices +PricingRule=Règles de vente AddCustomerPrice=Ajouter prix par client ForceUpdateChildPriceSoc=Définir le même prix sur les filiales des clients PriceByCustomerLog=Historique des prix clients précédents @@ -293,8 +293,8 @@ ProductSheet=Fiche produit ServiceSheet=Fiche service PossibleValues=Valeurs possibles GoOnMenuToCreateVairants=Allez sur le menu %s - %s pour ajouter les attributs de variantes (comme les couleurs, tailles, ...) -UseProductFournDesc=Use supplier descriptions of products in supplier documents -ProductSupplierDescription=Supplier description for the product +UseProductFournDesc=Utiliser les descriptions des produits des fournisseurs dans les documents fournisseurs +ProductSupplierDescription=Description du fournisseur du produit #Attributes VariantAttributes=Attributs de variante ProductAttributes=Attributs de variantes pour les produits @@ -330,8 +330,8 @@ NbOfDifferentValues=Nb de valeurs différentes NbProducts=Nb de produits ParentProduct=Produit parent HideChildProducts=Cacher les variantes de produits -ShowChildProducts=Show variant products -NoEditVariants=Go to Parent product card and edit variants price impact in the variants tab +ShowChildProducts=Afficher les variantes de produits +NoEditVariants=Accédez à la fiche produit parent et modifiez l'impact sur le prix des variantes dans l'onglet variantes. ConfirmCloneProductCombinations=Êtes-vous sur de vouloir copier les variantes du produits vers l'autre produit parent avec la référence donnée ? CloneDestinationReference=Référence du produit cible ErrorCopyProductCombinations=Une erreur s'est produite lors de la copie des variantes de produit diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index c7819e30c83..e279650cf37 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -39,8 +39,8 @@ ShowProject=Afficher projet ShowTask=Afficher tâche SetProject=Définir projet NoProject=Aucun projet défini ou responsable -NbOfProjects=No. of projects -NbOfTasks=No. of tasks +NbOfProjects=Nombre de projets +NbOfTasks=Nombre de tâches TimeSpent=Temps consommé TimeSpentByYou=Temps consommé par vous TimeSpentByUser=Temps consommé par utilisateur @@ -169,8 +169,8 @@ SelectElement=Séléctionnez l'élément AddElement=Associer l'élément # Documents models DocumentModelBeluga=Modèle de document project pour l'aperçu des objets liées -DocumentModelBaleine=Project document template for tasks -DocumentModelTimeSpent=Project report template for time spent +DocumentModelBaleine=Modèle de document de projet pour les tâches +DocumentModelTimeSpent=Modèle de rapport de projet pour le temps passé PlannedWorkload=Charge de travail prévue PlannedWorkloadShort=Charge de travail ProjectReferers=Objets associés @@ -184,7 +184,7 @@ ProjectsWithThisUserAsContact=Projets avec cet utilisateur comme contact TasksWithThisUserAsContact=Tâches assignées à cet utilisateur ResourceNotAssignedToProject=Non assigné au projet ResourceNotAssignedToTheTask=Non assigné à la tache -NoUserAssignedToTheProject=No users assigned to this project +NoUserAssignedToTheProject=Aucun utilisateur assigné à ce projet TimeSpentBy=Temps consommé par TasksAssignedTo=Tâches assignées à AssignTaskToMe=M'assigner la tâche @@ -195,7 +195,7 @@ ProjectOverview=Vue d'ensemble ManageTasks=Utiliser les projets pour suivre les tâches et/ou saisir du temps consommé (feuilles de temps) ManageOpportunitiesStatus=Utiliser les projets pour suivre les affaires / opportunités ProjectNbProjectByMonth=Nb de projets créés par mois -ProjectNbTaskByMonth=No. of created tasks by month +ProjectNbTaskByMonth=Nombre de tâches créées par mois ProjectOppAmountOfProjectsByMonth=Montant des opportunités par mois ProjectWeightedOppAmountOfProjectsByMonth=Montant pondéré des opportunités par mois ProjectOpenedProjectByOppStatus=Opportunités ouvertes par statut d'opportunité @@ -232,5 +232,5 @@ DontHavePermissionForCloseProject=Vous n'êtes pas autorisé à fermer le projet DontHaveTheValidateStatus=Le projet %s doit être ouvert pour être fermé RecordsClosed=%s projet(s) fermé(s) SendProjectRef=A propos du projet %s -ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Payment of employee wages' must be enabled to define employee hourly rate to have time spent valorized +ModuleSalaryToDefineHourlyRateMustBeEnabled=Le module 'Paiement des salaires des employés' doit être activé pour définir le taux horaire des employés afin de valoriser le temps passé NewTaskRefSuggested=Réf de tâche déjà utilisée, une nouvelle réference de tâche est suggérée diff --git a/htdocs/langs/fr_FR/propal.lang b/htdocs/langs/fr_FR/propal.lang index 0c9f8d9a9b2..9dffafa301b 100644 --- a/htdocs/langs/fr_FR/propal.lang +++ b/htdocs/langs/fr_FR/propal.lang @@ -33,7 +33,7 @@ PropalStatusSigned=Signée (à facturer) PropalStatusNotSigned=Non signée (fermée) PropalStatusBilled=Facturée PropalStatusDraftShort=Brouillon -PropalStatusValidatedShort=Validated (open) +PropalStatusValidatedShort=Validé (ouvert) PropalStatusClosedShort=Fermée PropalStatusSignedShort=Signée PropalStatusNotSignedShort=Non signée @@ -55,7 +55,7 @@ NoDraftProposals=Pas de propositions brouillons CopyPropalFrom=Créer proposition/devis par recopie d'un proposition existante CreateEmptyPropal=Créer proposition/devis vierge ou avec la liste des produits/services DefaultProposalDurationValidity=Délai de validité par défaut (en jours) -UseCustomerContactAsPropalRecipientIfExist=Utiliser l'adresse de contact suivi client si définie plutôt que l'adresse du tiers comme destinataire des propositions +UseCustomerContactAsPropalRecipientIfExist=Utiliser l'adresse de 'contact suivi client' si définie plutôt que l'adresse du tiers comme destinataire des propositions ClonePropal=Cloner proposition commerciale ConfirmClonePropal=Êtes-vous sûr de vouloir cloner la proposition commerciale %s ? ConfirmReOpenProp=Êtes-vous sûr de vouloir réouvrir la proposition commerciale %s ? diff --git a/htdocs/langs/fr_FR/resource.lang b/htdocs/langs/fr_FR/resource.lang index 05c91f0432a..be7547b36da 100644 --- a/htdocs/langs/fr_FR/resource.lang +++ b/htdocs/langs/fr_FR/resource.lang @@ -5,7 +5,7 @@ DeleteResource=Effacer ressource ConfirmDeleteResourceElement=Confirmer la suppression de cette ressource ? NoResourceInDatabase=Pas de ressource en base NoResourceLinked=Aucune ressource liée - +ActionsOnResource=Événements liés à cette ressource ResourcePageIndex=Liste des ressources ResourceSingular=Resource ResourceCard=Fiche diff --git a/htdocs/langs/fr_FR/salaries.lang b/htdocs/langs/fr_FR/salaries.lang index 6e36ddca890..ac9510d110f 100644 --- a/htdocs/langs/fr_FR/salaries.lang +++ b/htdocs/langs/fr_FR/salaries.lang @@ -1,10 +1,11 @@ # Dolibarr language file - Source file is en_US - salaries SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Compte comptable utilisé pour les utilisateurs -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Le compte comptable défini sur la carte utilisateur sera utilisé uniquement pour la comptabilité auxiliaire. Celui-ci sera utilisé pour le grand livre et comme valeur par défaut de la comptabilité auxiliaire si le compte dédié de l'utilisateur n'est pas défini. +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Le compte de comptabilité dédié défini sur la carte d’utilisateur sera utilisé pour la comptabilité Subledger uniquement. Celui-ci sera utilisé pour le grand livre et comme valeur par défaut de la comptabilité Subledger si le compte de comptabilité utilisateur dédié sur utilisateur n'est pas défini. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Compte comptable par défaut pour les paiements de salaires Salary=Salaire Salaries=Salaires NewSalaryPayment=Nouveau règlement de salaire +AddSalaryPayment=Ajouter un paiement de salaire SalaryPayment=Règlement salaire SalariesPayments=Règlements des salaires ShowSalaryPayment=Afficher règlement de salaire @@ -15,4 +16,4 @@ THMDescription=Cette valeur peut être utilisé pour calculer le coût horaire c TJMDescription=Cette valeur est actuellement seulement une information et n'est utilisé pour aucun calcul LastSalaries=Les %s derniers règlements de salaires AllSalaries=Tous les règlements de salaires -SalariesStatistics=Statistiques salaires +SalariesStatistics=Statistiques salariales diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index 5898f7384e5..8cd53d0aed4 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -44,7 +44,6 @@ TransferStock=Transférer stock MassStockTransferShort=Transfert stock en masse StockMovement=Mouvement de stock StockMovements=Mouvements de stock -LabelMovement=Libellé du mouvement NumberOfUnit=Nombre de pièces UnitPurchaseValue=Prix d'achat unitaire StockTooLow=Stock insuffisant @@ -55,20 +54,20 @@ PMPValueShort=PMP EnhancedValueOfWarehouses=Valorisation des stocks UserWarehouseAutoCreate=Créer automatiquement un stock/entrepôt propre à l'utilisateur lors de sa création AllowAddLimitStockByWarehouse=Autoriser l'ajout d'une limite et d'un stock désiré par produit et entrepôt à la place de produit seul -IndependantSubProductStock=Le stock du produit et le stock des sous-produits sont indépendant +IndependantSubProductStock=Le stock de produits et le stock de sous-produits sont indépendants QtyDispatched=Quantité ventilée QtyDispatchedShort=Qté ventilée QtyToDispatchShort=Qté à ventiler OrderDispatch=Biens reçus -RuleForStockManagementDecrease=Règle de gestion des décrémentations automatiques de stock (la décrémentation manuelle est toujours possible, même si une décrémentation automatique est activée) -RuleForStockManagementIncrease=Règle de gestion des incrémentations de stock (l'incrémentation manuelle est toujours possible, même si une incrémentation automatique est activée) -DeStockOnBill=Décrémenter les stocks physiques sur validation des factures/avoirs clients -DeStockOnValidateOrder=Décrémenterr les stocks physiques sur validation des commandes clients +RuleForStockManagementDecrease=Choisissez Règle pour la réduction automatique du stock (la réduction manuelle est toujours possible, même si une règle de diminution automatique est activée). +RuleForStockManagementIncrease=Choisissez Règle pour augmentation de stock automatique (une augmentation manuelle est toujours possible, même si une règle d’augmentation automatique est activée) +DeStockOnBill=Diminution des stocks réels lors de la validation de la facture client / note de crédit +DeStockOnValidateOrder=Diminuer les stocks réels lors de la validation de la commande client DeStockOnShipment=Décrémenter les stocks physiques sur validation des expéditions -DeStockOnShipmentOnClosing=Décrémenter les stocks phisiques au classement "clôturée" de l'expédition -ReStockOnBill=Incrémenter les stocks physiques sur validation des factures/avoirs fournisseurs -ReStockOnValidateOrder=Incrémenter les stocks physiques sur approbation des commandes fournisseurs -ReStockOnDispatchOrder=Incrémenter les stocks physiques sur ventilation manuelle dans les entrepôts, après réception de la marchandise +DeStockOnShipmentOnClosing=Décrémenter les stocks physiques au classement "clôturée" de l'expédition +ReStockOnBill=Augmenter les stocks réels lors de la validation de la facture fournisseur / de la note de crédit +ReStockOnValidateOrder=Augmenter les stocks réels lors de l'approbation des bons de commande +ReStockOnDispatchOrder=Augmenter les stocks réels lors de l'expédition manuelle dans l'entrepôt, après la réception de la commande fournisseur OrderStatusNotReadyToDispatch=La commande n'a pas encore ou n'a plus un statut permettant une ventilation en stock. StockDiffPhysicTeoric=Explication de l'écart stock physique-virtuel NoPredefinedProductToDispatch=Pas de produits prédéfinis dans cet objet. Aucune ventilation en stock n'est donc à faire. @@ -130,10 +129,11 @@ RecordMovement=Enregistrer transfert ReceivingForSameOrder=Réceptions pour cette commande StockMovementRecorded=Mouvement de stocks enregistré RuleForStockAvailability=Règles d'exigence sur les stocks -StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la facture (la vérification est faite sur le stock réel lors de l'ajout de la ligne de facture, quelquesoit la règle de modification automatique de stock) -StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la commande (la vérification est faite sur le stock réel lors de l'ajout de la ligne de commande, quelquesoit la règle de modification automatique de stock) -StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter ce produit/service à l'expédition (la vérification est faite sur le stock réel lors de l'ajout de la ligne à l'expédition, quelquesoit la règle de modification automatique de stock) +StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter un produit / service à la facture (le contrôle est effectué sur le stock réel actuel lors de l'ajout d'une ligne dans la facture, quelle que soit la règle de changement de stock automatique). +StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter un produit / service à la commande (le contrôle est effectué sur le stock réel actuel lors de l'ajout d'une ligne à la commande, quelle que soit la règle de changement de stock automatique) +StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter un produit / service à l'envoi (le contrôle est effectué sur le stock réel actuel lors de l'ajout d'une ligne dans l'envoi, quelle que soit la règle de changement de stock automatique) MovementLabel=Libellé du mouvement +TypeMovement=Type de mouvement DateMovement=Date de mouvement InventoryCode=Code mouvement ou inventaire IsInPackage=Inclus dans un package @@ -172,7 +172,7 @@ inventoryDraft=En service inventorySelectWarehouse=Chois de l'entrepôt inventoryConfirmCreate=Créer inventoryOfWarehouse=Enventaire pour l'entrepôt: %s -inventoryErrorQtyAdd=Erreur: une quantité est plus petite que zéro. +inventoryErrorQtyAdd=Erreur: une quantité est inférieure à zéro inventoryMvtStock=Par inventaire inventoryWarningProductAlreadyExists=Ce produit est déjà dans la liste SelectCategory=Filtre par catégorie @@ -195,12 +195,16 @@ AddInventoryProduct=Ajouter un produit à l'inventaire AddProduct=Ajouter ApplyPMP=Appliquer PMP FlushInventory=Vider l'inventaire -ConfirmFlushInventory=Confirmez vous cette action ? +ConfirmFlushInventory=Confirmez-vous cette action? InventoryFlushed=Inventaire vidé ExitEditMode=Quitter l'édition inventoryDeleteLine=Effacer ligne RegulateStock=Réguler le stock ListInventory=Liste -StockSupportServices=La gestion des stock s'applique aussi aux services +StockSupportServices=La gestion des stocks prend en charge les services StockSupportServicesDesc=Par défaut, seul les produits/services de type "produit" peuvent bénéficier d'une gestion de stock. En activant ce paramètre, et si le module Services est activé, la gestion de stock pourra être appliquée aux articles de type "service". ReceiveProducts=Recevoir produits +StockIncreaseAfterCorrectTransfer=Augmenter par correction / transfert +StockDecreaseAfterCorrectTransfer=Diminution par correction / transfert +StockIncrease=Augmentation du stock +StockDecrease=Diminution du stock diff --git a/htdocs/langs/fr_FR/users.lang b/htdocs/langs/fr_FR/users.lang index fa5e772fe7e..0eca5497155 100644 --- a/htdocs/langs/fr_FR/users.lang +++ b/htdocs/langs/fr_FR/users.lang @@ -35,7 +35,7 @@ SuperAdministrator=Super Administrateur SuperAdministratorDesc=Administrateur global AdministratorDesc=Administrateur DefaultRights=Permissions par défaut -DefaultRightsDesc=Définissez ici les permissions par défaut, c'est-à-dire les permissions qui seront attribuées automatiquement à un nouvel utilisateur lors de sa création (Voir la fiche utilisateur pour changer les permissions d'un utilisateur existant). +DefaultRightsDesc=Définissez ici les autorisations par défaut accordées automatiquement à un nouvel utilisateur créé (accédez à la carte d’utilisateur pour modifier l’autorisation d’un utilisateur existant). DolibarrUsers=Utilisateurs Dolibarr LastName=Nom FirstName=Prénom @@ -66,7 +66,7 @@ CreateDolibarrThirdParty=Créer un tiers LoginAccountDisableInDolibarr=Le compte est désactivé sur Dolibarr. UsePersonalValue=Utiliser valeur personnalisée InternalUser=Utilisateur interne -ExportDataset_user_1=Utilisateurs Dolibarr et attributs +ExportDataset_user_1=Les utilisateurs et leurs propriétés DomainUser=Utilisateur du domaine %s Reactivate=Réactiver CreateInternalUserDesc=Ce formulaire permet de créer un utilisateur interne à votre société/institution. Pour créer un utilisateur externe (client, fournisseur, ...), utilisez le bouton 'Créer compte utilisateur' qui se trouve sur la fiche du contact du tiers. @@ -93,7 +93,7 @@ NameToCreate=Nom du tiers à créer YourRole=Vos rôles YourQuotaOfUsersIsReached=Votre quota d'utilisateurs actifs est atteint ! NbOfUsers=Nombre d'utilisateurs -NbOfPermissions=Nb d'autorisations +NbOfPermissions=Nombre de permissions DontDowngradeSuperAdmin=Seul un superadministrateur peut rétrograder un superadministrateur HierarchicalResponsible=Responsable hiérarchique HierarchicView=Vue hiérarchique @@ -108,3 +108,4 @@ UserAccountancyCode=Code comptable de l'utilisateur UserLogoff=Déconnexion de l'utilisateur UserLogged=Utilisateur connecté DateEmployment=Date d'embauche +DateEmploymentEnd=Date de fin d'emploi diff --git a/htdocs/langs/fr_FR/website.lang b/htdocs/langs/fr_FR/website.lang index 8c34fa07f4c..2e7d0413d8f 100644 --- a/htdocs/langs/fr_FR/website.lang +++ b/htdocs/langs/fr_FR/website.lang @@ -22,7 +22,7 @@ EditCss=Modifier les propriétés du site web EditMenu=Modifier menu EditMedias=Editer médias EditPageMeta=Modifier les propriétés de la page/conteneur -EditInLine=Edit inline +EditInLine=Editer en ligne AddWebsite=Ajouter site web Webpage=Page/contenair Web AddPage=Ajouter une page/conteneur @@ -30,7 +30,7 @@ HomePage=Page d'accueil PageContainer=Page/conteneur PreviewOfSiteNotYetAvailable=La prévisualisation de votre site web %s n'est pas disponible actuellement. Vous devez d'abord 'Importer un modèle de site web complet' ou juste 'Ajouter une page/container. RequestedPageHasNoContentYet=La page demandée avec l'id=%s ne présente encore aucun contenu ou le fichier cache .tpl.php a été supprimé. Ajoutez du contenu à la page pour résoudre cela. -SiteDeleted=Web site '%s' deleted +SiteDeleted=Site Web '%s' supprimé PageContent=Page/Contenair PageDeleted=Page/Contenair '%s' du site '%s' supprimée PageAdded=Page/Contenair '%s' ajoutée @@ -40,7 +40,7 @@ SetAsHomePage=Définir comme page d'accueil RealURL=URL réelle ViewWebsiteInProduction=Pré-visualiser le site web en utilisant l'URL de la page d'accueil SetHereVirtualHost= Utilisation avec Apache/NGinx/...
Si vous pouvez créer sur votre serveur Web (Apache, Nginx, ...) un hôte virtuel dédié avec PHP activé et un répertoire racine sur
%s
alors entrez le nom de l'hôte virtuel que vous avez créé afin que l'aperçu puisse également être fait en utilisant cet accès au serveur Web dédié au lieu d'utiliser uniquement le serveur Dolibarr. -YouCanAlsoTestWithPHPS=Use with PHP embedded server
On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
php -S 0.0.0.0:8080 -t %s +YouCanAlsoTestWithPHPS= Utilisation avec un serveur PHP incorporé
Sous environnement de développement, vous pouvez préférer tester le site avec le serveur Web PHP intégré (PHP 5.5 requis) en exécutant
php -S 0.0. 0,0: 8080 -t %s CheckVirtualHostPerms=Vérifiez également que le virtual host a la permission %s sur les fichiers dans %s ReadPerm=Lire WritePerm=Écrire @@ -48,10 +48,10 @@ PreviewSiteServedByWebServer=Prévisualiser %s dans un nouvel onglet.
PreviewSiteServedByDolibarr=Aperçu %s dans un nouvel onglet.

Le %s sera servi par le serveur Dolibarr donc aucun serveur Web supplémentaire (comme Apache, Nginx, IIS) n'est nécessaire.
L'inconvénient est que l'URL des pages ne sont pas sexy et commencent par un chemin de votre Dolibarr.
URL servie par Dolibarr:
%s

Pour utiliser votre propre serveur web externe pour servir ce site web, créez un virtual host sur vote serveur web qui pointe sur le répertoire
%s
ensuite entrez le nom de ce virtual host et cliquer sur le bouton d'affichage de l'aperçu. VirtualHostUrlNotDefined=URL du virtual host servit par le serveur web externe non défini NoPageYet=Pas de page pour l'instant -YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template +YouCanCreatePageOrImportTemplate=Vous pouvez créer une nouvelle page ou importer un modèle de site Web complet. SyntaxHelp=Aide sur quelques astuces spécifiques de syntaxe YouCanEditHtmlSourceckeditor=Vous pouvez éditer le code source en activant l'éditeur HTML avec le bouton "Source". -YouCanEditHtmlSource=
You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs.

You can also include content of another Page/Container with the following syntax:
<?php includeContainer('alias_of_container_to_include'); ?>

You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):
<?php redirectToContainer('alias_of_container_to_redirect_to'); ?>

To add a link to another page, use the syntax:
<a href="alias_of_page_to_link_to.php">mylink<a>

To include a link to download a file stored into the documents directory, use the document.php wrapper:
Example, for a file into documents/ecm (need to be logged), syntax is:
<a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext">
For a file into documents/medias (open directory for public access), syntax is:
<a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext">
For a file shared with a share link (open access using the sharing hash key of file), syntax is:
<a href="/document.php?hashp=publicsharekeyoffile">

To include an image stored into the documents directory, use the viewimage.php wrapper:
Example, for an image into documents/medias (open directory for public access), syntax is:
<img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
+YouCanEditHtmlSource=
Vous pouvez inclure du code PHP dans cette source à l'aide des balises <? php? > . Les variables globales suivantes sont disponibles: $ conf, $ db, $ mysoc, $ user, $ website, $ websitepage, $ weblangs.

peut également inclure le contenu d'une autre page / conteneur avec la syntaxe suivante:
<? php includeContainer ('alias_of_container_to_include'); ? >

Vous pouvez effectuer une redirection vers une autre page / conteneur avec la syntaxe suivante (Remarque: ne pas générer de contenu avant. une redirection):
<? php redirectToContainer ('alias_of_container_to_redirect_to'); ? >

Pour ajouter un lien vers une autre page, utilisez la syntaxe suivante:
<a href = "alias_of_page_to_link_to .php ">mylink<a>

" fa-download-download "> Pour inclure un lien permettant de télécharger un fichier stocké dans le Documents , utilisez le wrapper document.php :
Exemple: pour un fichier dans documents / ecm (doit être enregistré), la syntaxe est la suivante:
<a href = "/ document.php? modulepart = ecm & file = [rép_relatif /] nom_fichier.ext" >
Pour un fichier dans documents / medias (répertoire ouvert pour l'accès public), la syntaxe est la suivante:
< strong> <a href = "/ document.php? modulepart = medias & file = [rép_identique /] nom_fichier.ext" >
Pour un fichier partagé avec un lien de partage (accès ouvert à l'aide de la clé de partage de partage) , la syntaxe est la suivante:
<a href = "/ document.php? hashp = publicsharekeyoffile" >

Pour inclure une image stockée dans le répertoire Documents , utilisez le viewimage.php wrapper:
Exemple, pour une image dans documents / medias (répertoire ouvert pour accès public), la syntaxe est la suivante:
<img src = "/ viewimage.php? modulepart = medias&file = [nom_relatif /] nom_fichier .ext ">
ClonePage=Cloner la page/contenair CloneSite=Cloner le site SiteAdded=Site web ajouté @@ -61,9 +61,9 @@ LanguageMustNotBeSameThanClonedPage=Vous clonez une page comme traduction. La la ParentPageId=Id de la page parent WebsiteId=ID site web CreateByFetchingExternalPage=Créer une page / un conteneur en récupérant une page à partir d'une URL externe ... -OrEnterPageInfoManually=Or create page from scratch or from a page template... +OrEnterPageInfoManually=Ou créez une page à partir de rien ou à partir d'un modèle de page ... FetchAndCreate=Récupérer et Créer -ExportSite=Export website +ExportSite=Site d'exportation ImportSite=Importer modèle de site web IDOfPage=Id de page Banner=Bandeau @@ -78,7 +78,7 @@ AnotherContainer=Un autre conteneur WEBSITE_USE_WEBSITE_ACCOUNTS=Activer la table des comptes du site Web WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Activer la table pour stocker les comptes de site Web (login/pass) pour chaque site / tiers YouMustDefineTheHomePage=Vous devez d'abord définir la page d'accueil par défaut -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved to experienced user. Depending on the complexity of source page, the result of importation may differs once imported from original. Also if the source page use common CSS style or not compatible javascript, it may break the look or features of the Web site editor when working on this page. This method is faster way to have a page but it is recommanded to create your new page from scratch or from a suggested page template.
Note also that only edition of HTML source will be possible when a page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Avertissement: La création d'une page Web en important une page Web externe est réservée à un utilisateur expérimenté. Selon la complexité de la page source, le résultat de l'importation peut différer une fois importé de l'original. De même, si la page source utilise un style CSS commun ou un code JavaScript non compatible, cela peut casser l'apparence ou les fonctionnalités de l'éditeur de site Web lorsque vous travaillez sur cette page. Cette méthode est un moyen plus rapide d’avoir une page, mais il est recommandé de créer votre nouvelle page à partir de rien ou à partir d’un modèle de page suggéré.
Notez également que seule l’édition de la source HTML sera possible lorsqu’un contenu de page aura été initialisé par une capture. à partir d'une page externe (l'éditeur "en ligne" ne sera PAS disponible) OnlyEditionOfSourceForGrabbedContent=Seule l'édition de source HTML est possible lorsque le contenu a été aspiré depuis un site externe GrabImagesInto=Aspirer aussi les images trouvées dans les css et la page. ImagesShouldBeSavedInto=Les images doivent être sauvegardées dans le répertoire @@ -89,7 +89,7 @@ CorporateHomePage=Page d'accueil Entreprise EmptyPage=Page vide ExternalURLMustStartWithHttp=l'URL externe doit commencer par http:// ou https:// ZipOfWebsitePackageToImport=Fichier zip du package site Web -ShowSubcontainers=Show included containers -InternalURLOfPage=Internal URL of page -ThisPageIsTranslationOf=This page/container is translation of -ThisPageHasTranslationPages=This page/container has translation +ShowSubcontainers=Inclure contenu dynamique +InternalURLOfPage=URL interne de la page +ThisPageIsTranslationOf=Cette page / conteneur est la traduction de +ThisPageHasTranslationPages=Cette page / conteneur a traduction diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index 8915532ff22..795564984d4 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -360,20 +360,20 @@ if ($resql) $num = $db->num_rows($resql); $arrayofselected=is_array($toselect)?$toselect:array(); - - if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) + + if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $sall) { $obj = $db->fetch_object($resql); - + $id = $obj->rowid; - + header("Location: ".DOL_URL_ROOT.'/supplier_proposal/card.php?id='.$id); exit; } - + llxHeader('',$langs->trans('CommRequest'),$help_url); - + $param=''; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; From e95c6091c4273a8505eb32d598eee5d2f51edafb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Nov 2018 11:10:39 +0100 Subject: [PATCH 193/199] Fix lang --- htdocs/langs/fr_CA/multicurrency.lang | 1 - htdocs/langs/fr_CA/products.lang | 1 - htdocs/langs/fr_CA/stocks.lang | 2 - htdocs/langs/fr_FR/assets.lang | 59 +++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 htdocs/langs/fr_FR/assets.lang diff --git a/htdocs/langs/fr_CA/multicurrency.lang b/htdocs/langs/fr_CA/multicurrency.lang index 19d1191fe08..054df9a4203 100644 --- a/htdocs/langs/fr_CA/multicurrency.lang +++ b/htdocs/langs/fr_CA/multicurrency.lang @@ -2,7 +2,6 @@ ErrorAddRateFail=Erreur dans le taux ajouté ErrorAddCurrencyFail=Erreur dans la monnaie ajoutée ErrorDeleteCurrencyFail=Erreur de suppression d'échec -multicurrency_syncronize_error=Erreur de synchronisation: %s multicurrency_appCurrencySource=Source de devises CurrenciesUsed_help_to_add=Ajoutez les différentes devises et taux que vous devez utiliser sur propositions, commandes , etc. MulticurrencyReceived=Reçu, monnaie d'origine diff --git a/htdocs/langs/fr_CA/products.lang b/htdocs/langs/fr_CA/products.lang index b12ccf56bf2..02bd444e0e5 100644 --- a/htdocs/langs/fr_CA/products.lang +++ b/htdocs/langs/fr_CA/products.lang @@ -103,7 +103,6 @@ ListProductServiceByPopularity=Liste des produits / services par popularité Finished=Produit fabriqué CloneProduct=Clone produit ou service ConfirmCloneProduct=Êtes-vous sûr de vouloir cloner un produit ou un service %s? -CloneContentProduct=Cloner toutes les informations principales du produit / service CloneCompositionProduct=Produit / service emballé par clone CloneCombinationsProduct=Variantes de produit de clonage NewRefForClone=Réf. De nouveau produit / service diff --git a/htdocs/langs/fr_CA/stocks.lang b/htdocs/langs/fr_CA/stocks.lang index fbf6cdcbe0f..dda238f9e50 100644 --- a/htdocs/langs/fr_CA/stocks.lang +++ b/htdocs/langs/fr_CA/stocks.lang @@ -113,7 +113,6 @@ inventoryValidate=Validée inventoryDraft=Fonctionnement inventorySelectWarehouse=Choix d'entrepôt inventoryOfWarehouse=Inventaire pour entrepôt: %s -inventoryErrorQtyAdd=Erreur: une quantité est inférieure à zéro SelectCategory=Filtre de catégorie INVENTORY_DISABLE_VIRTUAL=Permettre au produit non déstocké d'un produit d'un kit d'inventaire INVENTORY_USE_MIN_PA_IF_NO_LAST_PA=Utilisez le prix d'achat si aucun dernier prix d'achat ne peut être trouvé @@ -125,7 +124,6 @@ LastPA=Dernière BP RealQty=Qté réelle RegulatedQty=Qté réglementée FlushInventory=Flush inventaire -ConfirmFlushInventory=Confirmez-vous cette action? InventoryFlushed=Inventaire rincé ExitEditMode=Édition de sortie inventoryDeleteLine=Suppression de ligne diff --git a/htdocs/langs/fr_FR/assets.lang b/htdocs/langs/fr_FR/assets.lang new file mode 100644 index 00000000000..356245e8761 --- /dev/null +++ b/htdocs/langs/fr_FR/assets.lang @@ -0,0 +1,59 @@ +# Copyright (C) 2018 Alexandre Spangaro +# +# 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 +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# +# Generic +# +Assets = Immobilisations +NewAsset = Nouvelle immobilisation +AccountancyCodeAsset = Code comptable (immobilisation) +AccountancyCodeDepreciationAsset = Code comptable (compte d'amortissement) +AccountancyCodeDepreciationExpense = Code comptable (compte de charges d'amortissement) +NewAssetType=Nouveau type d'immobilisation +AssetsTypeSetup=Configuration du type d'actifs +AssetTypeModified=Type d'actif modifié +AssetType=Type d'immobilisations +AssetsLines=Immobilisations +DeleteType=Supprimer +DeleteAnAssetType=Supprimer un type d'actif +ConfirmDeleteAssetType=Êtes-vous sûr de vouloir supprimer ce type d'actif? +ShowTypeCard=Voir type '%s' + +# Module label 'ModuleAssetsName' +ModuleAssetsName = Immobilisations +# Module description 'ModuleAssetsDesc' +ModuleAssetsDesc = Module pour suivre vos immobilisations + +# +# Admin page +# +AssetsSetup = Configuration du module immobilisations +Settings = Paramètres +AssetsSetupPage = Page de configuration des actifs +ExtraFieldsAssetsType = Attributs supplémentaires (type d'immobilisation) +AssetsType=Type d'immobilisations +AssetsTypeId=Id du type d'immobilisations +AssetsTypeLabel=Libellé du type d'immobilisations +AssetsTypes=Types d'immobilisations + +# +# Menu +# +MenuAssets = Immobilisations +MenuNewAsset = Nouvelle immobilisation +MenuTypeAssets = Type d'immobilisations +MenuListAssets = Liste +MenuNewTypeAssets = Nouveau type +MenuListTypeAssets = Liste From 70bd931d08108c3fe996ae43ca7b6d082f58d73e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Nov 2018 16:20:31 +0100 Subject: [PATCH 194/199] FIX empty page due to preg_replace JIT error on large strings --- htdocs/core/lib/website.lib.php | 48 ++++++++++++++++++++++++++++++++- htdocs/website/index.php | 11 +++++--- 2 files changed, 54 insertions(+), 5 deletions(-) diff --git a/htdocs/core/lib/website.lib.php b/htdocs/core/lib/website.lib.php index 350014b3eb9..70f61055689 100644 --- a/htdocs/core/lib/website.lib.php +++ b/htdocs/core/lib/website.lib.php @@ -35,6 +35,8 @@ */ function dolWebsiteReplacementOfLinks($website, $content, $removephppart=0) { + $nbrep = 0; + // Replace php code. Note $content may come from database and does not contains body tags. $replacewith='...php...'; if ($removephppart) $replacewith=''; @@ -59,7 +61,12 @@ function dolWebsiteReplacementOfLinks($website, $content, $removephppart=0) //$replacewith='...php...'; $replacewith='...php...'; if ($removephppart) $replacewith=''; - $content = preg_replace('/<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content); + //$content = preg_replace('/<\?php((?!\?toremove>).)*\?toremove>\n*/ims', $replacewith, $content); + /*if ($content === null) { + if (preg_last_error() == PREG_JIT_STACKLIMIT_ERROR) $content = 'preg_replace error (when removing php tags) PREG_JIT_STACKLIMIT_ERROR'; + }*/ + $content = dolStripPhpCode($content, $replacewith); + //var_dump($content); // Replace relative link / with dolibarr URL $content = preg_replace('/(href=")\/\"/', '\1'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageid='.$website->fk_default_home.'"', $content, -1, $nbrep); @@ -88,6 +95,45 @@ function dolWebsiteReplacementOfLinks($website, $content, $removephppart=0) } +/** + * Remove PHP code part from a string. + * + * @param string $str String to clean + * @param string $replacewith String to use as replacement + * @return string Result string without php code + */ +function dolStripPhpCode($str, $replacewith='') +{ + $newstr = ''; + + //split on each opening tag + $parts = explode('', $part); + if (!empty($partlings)) + { + //remove content before closing tag + if (count($partlings) > 1) $partlings[0] = ''; + //append to out string + $newstr .= $replacewith.implode('',$partlings); + } + } + } + return $newstr; +} + + /** * Render a string of an HTML content and output it. * Used to ouput the page when viewed from server (Dolibarr or Apache). diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 57dbe2d8984..0d3af42d0cf 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -1647,7 +1647,7 @@ print '
'; if (count($object->records) > 0) // There is at least one web site { // ***** Part for web sites - + print ''; print '
'; print $langs->trans("Website").' : '; print '
'; @@ -1807,6 +1807,7 @@ if (count($object->records) > 0) // There is at least one web site { print '
'; // Close current websitebar to open a new one + print ''; print '
'; print '
'; @@ -2732,7 +2733,7 @@ if ($action == 'preview' || $action == 'createfromclone' || $action == 'createpa $objectpage->fetch($pageid); $jscontent = @file_get_contents($filejs); - $out = ''."\n"; + $out = ''."\n"; // Include a html so we can benefit of the header of page. // Note: We can't use iframe as it can be used to include another external html file @@ -2742,7 +2743,8 @@ if ($action == 'preview' || $action == 'createfromclone' || $action == 'createpa $out .= "