From 639f24a95b23707024c36cf8535e9b3f8210881e Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 5 Sep 2018 17:36:28 +0200 Subject: [PATCH 01/60] Add online payment link --- htdocs/don/card.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 5a9e439a9c7..d033f7b73c9 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -790,6 +790,16 @@ if (! empty($id) && $action != 'edit') // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('don')); $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + + // Show online payment link + $useonlinepayment = (! empty($conf->paypal->enabled) || ! empty($conf->stripe->enabled) || ! empty($conf->paybox->enabled)); + + if ($useonlinepayment) //$object->statut != Facture::STATUS_DRAFT && + { + print '
'."\n"; + require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php'; + print showOnlinePaymentUrl('donation', $object->ref).'
'; + } print '
'; From 6e209b550bdf0025fa76e3edb63627aaa9a7f0a3 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 5 Sep 2018 17:40:26 +0200 Subject: [PATCH 02/60] add payment link for donation --- htdocs/core/lib/payments.lib.php | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/htdocs/core/lib/payments.lib.php b/htdocs/core/lib/payments.lib.php index 98d9035112f..0f0cfc267d3 100644 --- a/htdocs/core/lib/payments.lib.php +++ b/htdocs/core/lib/payments.lib.php @@ -24,7 +24,8 @@ * @param Paiement $object Current payment object * @return array Tabs for the payment section */ -function payment_prepare_head(Paiement $object) { +function payment_prepare_head(Paiement $object) +{ global $langs, $conf; @@ -59,7 +60,8 @@ function payment_prepare_head(Paiement $object) { * @param Paiement $object Current payment object * @return array Tabs for the payment section */ -function payment_supplier_prepare_head(Paiement $object) { +function payment_supplier_prepare_head(Paiement $object) +{ global $langs, $conf; @@ -90,7 +92,7 @@ function payment_supplier_prepare_head(Paiement $object) { /** * Return array of valid payment mode * - * @param string $paymentmethod Filter on this payment method + * @param string $paymentmethod Filter on this payment method (''=none, 'paypal', ...) * @return array Array of valid payment method */ function getValidOnlinePaymentMethods($paymentmethod='') @@ -234,6 +236,24 @@ function getOnlinePaymentUrl($mode, $type, $ref='', $amount='9.99', $freetag='yo } } } + if ($type == 'donation') + { + $out=DOL_MAIN_URL_ROOT.'/public/payment/newpayment.php?source=donation&ref='.($mode?'':''); + if ($mode == 1) $out.='donation_ref'; + if ($mode == 0) $out.=urlencode($ref); + $out.=($mode?'':''); + if (! empty($conf->global->PAYMENT_SECURITY_TOKEN)) + { + if (empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) $out.='&securekey='.$conf->global->PAYMENT_SECURITY_TOKEN; + else + { + $out.='&securekey='.($mode?'':''); + if ($mode == 1) $out.="hash('".$conf->global->PAYMENT_SECURITY_TOKEN."' + '".$type."' + donation_ref)"; + if ($mode == 0) $out.= dol_hash($conf->global->PAYMENT_SECURITY_TOKEN . $type . $ref, 2); + $out.=($mode?'':''); + } + } + } // For multicompany if (! empty($out) && ! empty($conf->multicompany->enabled)) $out.="&entity=".$conf->entity; // Check the entity because we may have the same reference in several entities From b630a9721516380b165b91616a45f99ddd983681 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 5 Sep 2018 17:41:37 +0200 Subject: [PATCH 03/60] add payment link on admin gateway --- htdocs/core/tpl/onlinepaymentlinks.tpl.php | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/htdocs/core/tpl/onlinepaymentlinks.tpl.php b/htdocs/core/tpl/onlinepaymentlinks.tpl.php index a425055135f..a5c5ce7cf11 100644 --- a/htdocs/core/tpl/onlinepaymentlinks.tpl.php +++ b/htdocs/core/tpl/onlinepaymentlinks.tpl.php @@ -1,4 +1,4 @@ - * * This program is free software; you can redistribute it and/or modify @@ -118,6 +118,28 @@ if (! empty($conf->adherent->enabled)) } print '
'; } +if (! empty($conf->don->enabled)) +{ + print img_picto('','object_globe.png').' '.$langs->trans("ToOfferALinkForOnlinePaymentOnDonation",$servicename).':
'; + print ''.getOnlinePaymentUrl(1,'donation')."
\n"; + if (! empty($conf->global->PAYMENT_SECURITY_TOKEN) && ! empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) + { + $langs->load("members"); + print '
'; + print $langs->trans("EnterRefToBuildUrl",$langs->transnoentitiesnoconv("Don")).': '; + print ''; + print ''; + if (GETPOST('generate_donation_ref')) + { + print '
-> '; + $url=getOnlinePaymentUrl(0,'donation',GETPOST('generate_donation_ref','alpha')); + print $url; + print "
\n"; + } + print '
'; + } + print '
'; +} if (! empty($conf->use_javascript_ajax)) { @@ -140,3 +162,4 @@ print info_admin($langs->trans("YouCanAddTagOnUrl")); print ''; + From 572eb35167adeebad0f04d94d0d92f11027f61b3 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Sat, 8 Sep 2018 10:30:10 +0200 Subject: [PATCH 04/60] Standardize and update code --- htdocs/admin/tools/dolibarr_import.php | 4 ++-- htdocs/admin/tools/index.php | 4 ++-- htdocs/admin/tools/listevents.php | 6 ++---- htdocs/admin/tools/listsessions.php | 7 ++----- htdocs/admin/tools/update.php | 8 ++++---- 5 files changed, 12 insertions(+), 17 deletions(-) diff --git a/htdocs/admin/tools/dolibarr_import.php b/htdocs/admin/tools/dolibarr_import.php index aca900c1cbc..9dc3deec5ac 100644 --- a/htdocs/admin/tools/dolibarr_import.php +++ b/htdocs/admin/tools/dolibarr_import.php @@ -24,8 +24,8 @@ require '../../main.inc.php'; -$langs->load("admin"); -$langs->load("other"); +// Load translation files required by the page +$langs->loadLangs(array("other","admin")); if (! $user->admin) accessforbidden(); diff --git a/htdocs/admin/tools/index.php b/htdocs/admin/tools/index.php index c5a05ef2136..aed25ae45a3 100644 --- a/htdocs/admin/tools/index.php +++ b/htdocs/admin/tools/index.php @@ -24,8 +24,8 @@ require '../../main.inc.php'; -$langs->load("admin"); -$langs->load("companies"); +// Load translation files required by the page +$langs->loadLangs(array("companies","admin")); if (! $user->admin) accessforbidden(); diff --git a/htdocs/admin/tools/listevents.php b/htdocs/admin/tools/listevents.php index db5157789e1..1f5ecb4723e 100644 --- a/htdocs/admin/tools/listevents.php +++ b/htdocs/admin/tools/listevents.php @@ -40,10 +40,8 @@ if ($user->societe_id > 0) $socid = $user->societe_id; } -$langs->load("admin"); -$langs->load("companies"); -$langs->load("users"); -$langs->load("other"); +// Load translation files required by the page +$langs->loadLangs(array("companies","admin","users","other")); // Load variable for pagination $limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit; diff --git a/htdocs/admin/tools/listsessions.php b/htdocs/admin/tools/listsessions.php index 13b99d92f6d..b1732e0883b 100644 --- a/htdocs/admin/tools/listsessions.php +++ b/htdocs/admin/tools/listsessions.php @@ -25,7 +25,8 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; -$langs->load("install"); +// Load translation files required by the page +$langs->loadLangs(array("companies","install","users","other")); if (! $user->admin) accessforbidden(); @@ -40,10 +41,6 @@ if ($user->societe_id > 0) $socid = $user->societe_id; } -$langs->load("companies"); -$langs->load("users"); -$langs->load("other"); - $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); $page = GETPOST("page",'int'); diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php index 41923aa068d..1ec7c98552e 100644 --- a/htdocs/admin/tools/update.php +++ b/htdocs/admin/tools/update.php @@ -27,8 +27,8 @@ require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/geturl.lib.php'; -$langs->load("admin"); -$langs->load("other"); +// Load translation files required by the page +$langs->loadLangs(array("admin","other")); $action=GETPOST('action','alpha'); @@ -76,7 +76,7 @@ print $langs->trans("CurrentVersion").' : '.DOL_VERSION.'
'; if (function_exists('curl_init')) { $conf->global->MAIN_USE_RESPONSE_TIMEOUT = 10; - + if ($action == 'getlastversion') { if ($sfurl) @@ -95,7 +95,7 @@ if (function_exists('curl_init')) } $i++; } - + // Show version print $langs->trans("LastStableVersion").' : '. (($version != '0.0')?$version:$langs->trans("Unknown")) .'
'; } From c65505fdca9e3cf44178098c44a5710a4283dc68 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Sat, 8 Sep 2018 12:24:10 +0200 Subject: [PATCH 05/60] Standardize clean and update code --- htdocs/admin/holiday.php | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/htdocs/admin/holiday.php b/htdocs/admin/holiday.php index e2d1cfca145..f6306f787c3 100644 --- a/htdocs/admin/holiday.php +++ b/htdocs/admin/holiday.php @@ -1,8 +1,7 @@ - * Copyright (C) 2011-2015 Philippe Grand - * Copyright (C) 2013 Juanjo Menent - * Copyright (C) 2018 Charlene Benke + * Copyright (C) 2011-2018 Philippe Grand + * Copyright (C) 2018 Charlene Benke * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,9 +29,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; require_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/holiday.lib.php'; -$langs->load("admin"); -$langs->load("errors"); -$langs->load("holiday"); +// Load translation files required by the page +$langs->loadLangs(array("admin", "errors", "holiday")); if (!$user->admin) accessforbidden(); @@ -341,7 +339,6 @@ print "\n"; clearstatcache(); -$var=true; foreach ($dirmodels as $reldir) { foreach (array('','/doc') as $valdir) @@ -379,7 +376,6 @@ foreach ($dirmodels as $reldir) if ($modulequalified) { - $var = !$var; print ''; print (empty($module->name)?$name:$module->name); print "\n"; @@ -474,7 +470,6 @@ print ''; print ''.$langs->trans("Parameter").''; print ''.$langs->trans("Value").''; print "\n"; -$var=true; $substitutionarray=pdf_getSubstitutionArray($langs, array('objectamount'), null, 2); $substitutionarray['__(AnyTranslationKey)__']=$langs->trans("Translation"); @@ -482,7 +477,6 @@ $htmltext = ''.$langs->trans("AvailableVariables").':
'; foreach($substitutionarray as $key => $val) $htmltext.=$key.'
'; $htmltext.='
'; -$var=! $var; print ''; print $form->textwithpicto($langs->trans("FreeLegalTextOnHolidays"), $langs->trans("AddCRIfTooLong").'

'.$htmltext, 1, 'help', '', 0, 2, 'tooltiphelp'); print '
'; From a6b25093e7fe8dab7b99b0cb8a09df8580098707 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Sat, 8 Sep 2018 12:57:11 +0200 Subject: [PATCH 06/60] Standardize and update code --- htdocs/admin/pdf.php | 6 +----- htdocs/admin/supplierinvoice_extrafields.php | 10 ++-------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index 52ffa53ad59..76b3cf76b57 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -32,11 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; // Load translation files required by the page -$langs->loadLangs(array('admin', 'languages', 'other')); - -$langs->load("companies"); -$langs->load("products"); -$langs->load("members"); +$langs->loadLangs(array('admin', 'languages', 'other', 'companies', 'products', 'members')); if (! $user->admin) accessforbidden(); diff --git a/htdocs/admin/supplierinvoice_extrafields.php b/htdocs/admin/supplierinvoice_extrafields.php index 65ce01a4faf..bbda698a778 100644 --- a/htdocs/admin/supplierinvoice_extrafields.php +++ b/htdocs/admin/supplierinvoice_extrafields.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2012 Regis Houssin * Copyright (C) 2012 Florian Henry - * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify @@ -32,17 +32,11 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; // Load translation files required by the page -$langs->load("orders"); +$langs->loadLangs(array("admin", "other", "bills", "orders", "suppliers")); if (!$user->admin) accessforbidden(); -$langs->load("admin"); -$langs->load("other"); -$langs->load("bills"); -$langs->load("orders"); -$langs->load("suppliers"); - $extrafields = new ExtraFields($db); $form = new Form($db); From a01918a340f1b3a1d27e1ab9b3e95084a6d1b25d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 8 Sep 2018 23:13:33 +0200 Subject: [PATCH 07/60] Upper-Lower-Casing --- htdocs/loan/class/loanschedule.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/loan/class/loanschedule.class.php b/htdocs/loan/class/loanschedule.class.php index a72487e706a..17da07478b6 100644 --- a/htdocs/loan/class/loanschedule.class.php +++ b/htdocs/loan/class/loanschedule.class.php @@ -416,7 +416,7 @@ class LoanSchedule extends CommonObject { while($obj = $this->db->fetch_object($resql)) { - $line = New LoanSchedule($this->db); + $line = new LoanSchedule($this->db); $line->id = $obj->rowid; $line->ref = $obj->rowid; From 7b15a92318eb77522da63fe8a13e3d9701d6b89d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 8 Sep 2018 23:15:05 +0200 Subject: [PATCH 08/60] Update card.php --- htdocs/loan/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index 6b6068b87cb..4dd8d8c697b 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -239,7 +239,7 @@ if (empty($reshook)) $form = new Form($db); $formproject = new FormProjets($db); -if (! empty($conf->accounting->enabled)) $formaccounting = New FormAccounting($db); +if (! empty($conf->accounting->enabled)) $formaccounting = new FormAccounting($db); $title = $langs->trans("Loan") . ' - ' . $langs->trans("Card"); $help_url = 'EN:Module_Loan|FR:Module_Emprunt'; From ef2ee8a6e4f2854e816ac4bb8e2366b91272c191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 8 Sep 2018 23:17:29 +0200 Subject: [PATCH 09/60] Update card.php --- htdocs/compta/bank/various_payment/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/bank/various_payment/card.php b/htdocs/compta/bank/various_payment/card.php index 2828963d889..0cbd72c45c9 100644 --- a/htdocs/compta/bank/various_payment/card.php +++ b/htdocs/compta/bank/various_payment/card.php @@ -219,7 +219,7 @@ if (empty($reshook)) llxHeader("",$langs->trans("VariousPayment")); $form = new Form($db); -if (! empty($conf->accounting->enabled)) $formaccounting = New FormAccounting($db); +if (! empty($conf->accounting->enabled)) $formaccounting = new FormAccounting($db); if (! empty($conf->projet->enabled)) $formproject = new FormProjets($db); if ($id) From ee8d56e0477f0d784ac7f93147c953ed9f1e9a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 8 Sep 2018 23:18:38 +0200 Subject: [PATCH 10/60] Update card.php --- htdocs/compta/bank/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index 38add1141f7..2c65440d518 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -283,7 +283,7 @@ if ($action == 'confirm_delete' && $_POST["confirm"] == "yes" && $user->rights-> $form = new Form($db); $formbank = new FormBank($db); $formcompany = new FormCompany($db); -if (! empty($conf->accounting->enabled)) $formaccounting = New FormAccounting($db); +if (! empty($conf->accounting->enabled)) $formaccounting = new FormAccounting($db); $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; From 14bc8ed18df7d71c4132eca13e8f9a5972db4115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 8 Sep 2018 23:19:11 +0200 Subject: [PATCH 11/60] Update multiprix.php --- htdocs/comm/multiprix.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/comm/multiprix.php b/htdocs/comm/multiprix.php index dd4e6cef1fa..d7cb7613a98 100644 --- a/htdocs/comm/multiprix.php +++ b/htdocs/comm/multiprix.php @@ -45,7 +45,7 @@ if ($user->societe_id > 0) if ($_POST["action"] == 'setpricelevel') { - $soc = New Societe($db); + $soc = new Societe($db); $soc->fetch($id); $soc->set_price_level($_POST["price_level"],$user); From 863886a6211ccc20acfbbf9d2d77347c0eade914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 8 Sep 2018 23:19:56 +0200 Subject: [PATCH 12/60] Update salaries.php --- htdocs/admin/salaries.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/admin/salaries.php b/htdocs/admin/salaries.php index 7d3c0eaad77..6b85307485e 100644 --- a/htdocs/admin/salaries.php +++ b/htdocs/admin/salaries.php @@ -75,7 +75,7 @@ if ($action == 'update') llxHeader('',$langs->trans('SalariesSetup')); $form = new Form($db); -if (! empty($conf->accounting->enabled)) $formaccounting = New FormAccounting($db); +if (! empty($conf->accounting->enabled)) $formaccounting = new FormAccounting($db); $linkback=''.$langs->trans("BackToModuleList").''; print load_fiche_titre($langs->trans('SalariesSetup'),$linkback,'title_setup'); From 7fcbd0fe4242a71949f2c54af2cc94b3b43c4f13 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Sun, 9 Sep 2018 11:10:32 +0200 Subject: [PATCH 13/60] Standardize and update code --- htdocs/cashdesk/affIndex.php | 5 ++--- htdocs/cashdesk/index.php | 4 ++-- htdocs/cashdesk/index_verif.php | 11 +++++------ htdocs/cashdesk/tpl/facturation1.tpl.php | 6 ++---- htdocs/cashdesk/tpl/liste_articles.tpl.php | 5 ++--- htdocs/cashdesk/tpl/menu.tpl.php | 5 ++--- htdocs/cashdesk/tpl/ticket.tpl.php | 4 ++-- htdocs/cashdesk/tpl/validation1.tpl.php | 6 ++---- htdocs/cashdesk/tpl/validation2.tpl.php | 5 ++--- htdocs/collab/index.php | 5 ++--- htdocs/compta/facture/class/facture-rec.class.php | 4 ++-- 11 files changed, 25 insertions(+), 35 deletions(-) diff --git a/htdocs/cashdesk/affIndex.php b/htdocs/cashdesk/affIndex.php index a2e467a35e3..9ff676531f1 100644 --- a/htdocs/cashdesk/affIndex.php +++ b/htdocs/cashdesk/affIndex.php @@ -36,9 +36,8 @@ if ( $_SESSION['uid'] <= 0 ) exit; } -$langs->load("companies"); -$langs->load("compta"); -$langs->load("cashdesk"); +// Load translation files required by the page +$langs->loadLangs(array("companies","compta","cashdesk")); /* diff --git a/htdocs/cashdesk/index.php b/htdocs/cashdesk/index.php index 24b94562915..9e6ceb84de3 100644 --- a/htdocs/cashdesk/index.php +++ b/htdocs/cashdesk/index.php @@ -28,8 +28,8 @@ require_once '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; -$langs->load("admin"); -$langs->load("cashdesk"); +// Load translation files required by the page +$langs->loadLangs(array("admin","cashdesk")); // Test if user logged if ( $_SESSION['uid'] > 0 ) diff --git a/htdocs/cashdesk/index_verif.php b/htdocs/cashdesk/index_verif.php index 238a73f6ef7..cd354293022 100644 --- a/htdocs/cashdesk/index_verif.php +++ b/htdocs/cashdesk/index_verif.php @@ -30,9 +30,8 @@ include '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; require_once DOL_DOCUMENT_ROOT.'/cashdesk/class/Auth.class.php'; -$langs->load("main"); -$langs->load("admin"); -$langs->load("cashdesk"); +// Load translation files required by the page +$langs->loadLangs(array("main","admin","cashdesk")); $username = GETPOST("txtUsername"); $password = GETPOST("pwdPassword"); @@ -119,7 +118,7 @@ if ( $retour >= 0 ) $_SESSION['firstname'] = $tab['firstname']; $_SESSION['CASHDESK_ID_THIRDPARTY'] = ($thirdpartyid > 0 ? $thirdpartyid : ''); $_SESSION['CASHDESK_ID_WAREHOUSE'] = ($warehouseid > 0 ? $warehouseid : ''); - + $_SESSION['CASHDESK_ID_BANKACCOUNT_CASH'] = ($bankid_cash > 0 ? $bankid_cash : ''); $_SESSION['CASHDESK_ID_BANKACCOUNT_CHEQUE'] = ($bankid_cheque > 0 ? $bankid_cheque : ''); $_SESSION['CASHDESK_ID_BANKACCOUNT_CB'] = ($bankid_cb > 0 ? $bankid_cb : ''); @@ -135,8 +134,8 @@ if ( $retour >= 0 ) } else { - $langs->load("errors"); - $langs->load("other"); + // Load translation files required by the page + $langs->loadLangs(array("other","errors")); $retour=$langs->trans("ErrorBadLoginPassword"); header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid); exit; diff --git a/htdocs/cashdesk/tpl/facturation1.tpl.php b/htdocs/cashdesk/tpl/facturation1.tpl.php index 146ae3d40b6..880eb77b8af 100644 --- a/htdocs/cashdesk/tpl/facturation1.tpl.php +++ b/htdocs/cashdesk/tpl/facturation1.tpl.php @@ -26,10 +26,8 @@ if (empty($langs) || ! is_object($langs)) exit; } - -$langs->load("main"); -$langs->load("bills"); -$langs->load("cashdesk"); +// Load translation files required by the page +$langs->loadLangs(array("main","bills","cashdesk")); // Object $form must de defined diff --git a/htdocs/cashdesk/tpl/liste_articles.tpl.php b/htdocs/cashdesk/tpl/liste_articles.tpl.php index 65f48b0603c..266c5e5840b 100644 --- a/htdocs/cashdesk/tpl/liste_articles.tpl.php +++ b/htdocs/cashdesk/tpl/liste_articles.tpl.php @@ -28,9 +28,8 @@ if (empty($langs) || ! is_object($langs)) require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; -$langs->load("main"); -$langs->load("bills"); -$langs->load("cashdesk"); +// Load translation files required by the page +$langs->loadLangs(array("main","bills","cashdesk")); ?> diff --git a/htdocs/cashdesk/tpl/menu.tpl.php b/htdocs/cashdesk/tpl/menu.tpl.php index 250aaa18cc2..afe2c0da4ec 100644 --- a/htdocs/cashdesk/tpl/menu.tpl.php +++ b/htdocs/cashdesk/tpl/menu.tpl.php @@ -63,9 +63,8 @@ if (!empty($_SESSION["CASHDESK_ID_WAREHOUSE"]) && ! empty($conf->stock->enabled) $warehouseLink = $warehouse->getNomUrl(1); } - -$langs->load("cashdesk"); -$langs->load("main"); +// Load translation files required by the page +$langs->loadLangs(array("main","cashdesk")); print "\n".''."\n"; print '
'; + if ($familykey != $oldfamily) { + if ($oldfamily) { + print '

'; + } - $familytext=empty($familyinfo[$familykey]['label'])?$familykey:$familyinfo[$familykey]['label']; - print_fiche_titre($familytext, '', ''); + $familytext = empty($familyinfo[$familykey]['label'])?$familykey:$familyinfo[$familykey]['label']; + print load_fiche_titre($familytext, '', ''); print '
'; - print ''."\n"; + print '
'."\n"; - $atleastoneforfamily=0; + $atleastoneforfamily=0; } $atleastoneforfamily++; diff --git a/htdocs/admin/multicurrency.php b/htdocs/admin/multicurrency.php index fe09ee14378..9843c6a4fb0 100644 --- a/htdocs/admin/multicurrency.php +++ b/htdocs/admin/multicurrency.php @@ -171,7 +171,7 @@ llxHeader('', $langs->trans($page_name)); // Subheader $linkback = '' . $langs->trans("BackToModuleList") . ''; -print_fiche_titre($langs->trans($page_name), $linkback); +print load_fiche_titre($langs->trans($page_name), $linkback); // Configuration header $head = multicurrencyAdminPrepareHead(); diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php index 65a9354a19f..0418830cce8 100644 --- a/htdocs/admin/system/filecheck.php +++ b/htdocs/admin/system/filecheck.php @@ -422,7 +422,7 @@ if (! $error && $xml) $outcurrentchecksum = ''.$checksumget.''; } - print_fiche_titre($langs->trans("GlobalChecksum")).'
'; + print load_fiche_titre($langs->trans("GlobalChecksum")).'
'; print $langs->trans("ExpectedChecksum").' = '. $outexpectedchecksum .'
'; print $langs->trans("CurrentChecksum").' = '. $outcurrentchecksum; @@ -438,4 +438,3 @@ llxFooter(); $db->close(); exit($error); - diff --git a/htdocs/variants/card.php b/htdocs/variants/card.php index 9f3dafdc153..be73db1fff0 100644 --- a/htdocs/variants/card.php +++ b/htdocs/variants/card.php @@ -137,7 +137,7 @@ $var = false; llxHeader('', $title); -//print_fiche_titre($title); +//print load_fiche_titre($title); $h=0; $head[$h][0] = DOL_URL_ROOT.'/variants/card.php?id='.$object->id; @@ -243,7 +243,7 @@ if ($action == 'edit') { ?> trans("PossibleValues")); + print load_fiche_titre($langs->trans("PossibleValues")); if ($action == 'edit_value') { print ''; diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 354de8807f5..ca32594e829 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -2188,7 +2188,7 @@ if ($action == 'createsite') dol_fiche_head($head, 'card', $langs->trans("AddSite"), -1, 'globe'); */ - if ($action == 'createcontainer') print_fiche_titre($langs->trans("AddSite")); + if ($action == 'createcontainer') print load_fiche_titre($langs->trans("AddSite")); print ''."\n"; //print '
'; @@ -2250,7 +2250,7 @@ if ($action == 'importsite') print '
'; - print_fiche_titre($langs->trans("ImportSite")); + print load_fiche_titre($langs->trans("ImportSite")); dol_fiche_head(array(), '0', '', -1); @@ -2282,7 +2282,7 @@ if ($action == 'editmeta' || $action == 'createcontainer') dol_fiche_head($head, 'card', $langs->trans("AddPage"), -1, 'globe'); */ - if ($action == 'createcontainer') print_fiche_titre($langs->trans("AddPage")); + if ($action == 'createcontainer') print load_fiche_titre($langs->trans("AddPage")); print ''."\n"; //print '
'; From aab617aeb3e49f74d0ba3cacebd9252aaa748acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sun, 9 Sep 2018 18:38:48 +0200 Subject: [PATCH 23/60] remove deprecated --- htdocs/accountancy/customer/index.php | 6 +++--- htdocs/accountancy/expensereport/index.php | 6 +++--- htdocs/accountancy/supplier/index.php | 6 +++--- htdocs/modulebuilder/index.php | 6 +++--- htdocs/user/notify/card.php | 4 ++-- htdocs/variants/create.php | 2 +- htdocs/variants/create_val.php | 2 +- htdocs/variants/generator.php | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index 45387722719..4f4932fe08f 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -153,7 +153,7 @@ $y = $year_current; $buttonbind = '' . $langs->trans("ValidateHistory") . ''; print_barre_liste($langs->trans("OverviewOfAmountOfLinesNotBound"), '', '', '', '', '', '', -1, '', '', 0, $buttonbind, '', 0, 1, 1); -//print_fiche_titre($langs->trans("OverviewOfAmountOfLinesNotBound"), $buttonbind, ''); +//print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesNotBound"), $buttonbind, ''); print '
'; print '
'; @@ -229,7 +229,7 @@ print '
'; print_barre_liste($langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); -//print_fiche_titre($langs->trans("OverviewOfAmountOfLinesBound"), '', ''); +//print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesBound"), '', ''); print '
'; print '
'; @@ -309,7 +309,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange. print '
'; print_barre_liste($langs->trans("OtherInfo"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); - //print_fiche_titre($langs->trans("OtherInfo"), '', ''); + //print load_fiche_titre($langs->trans("OtherInfo"), '', ''); print '
'; print '
'; diff --git a/htdocs/accountancy/expensereport/index.php b/htdocs/accountancy/expensereport/index.php index 7f906e93879..837a8c36630 100644 --- a/htdocs/accountancy/expensereport/index.php +++ b/htdocs/accountancy/expensereport/index.php @@ -150,7 +150,7 @@ $buttonbind = 'trans("OverviewOfAmountOfLinesNotBound"), $buttonbind, ''); +//print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesNotBound"), $buttonbind, ''); print '
'; print '
'; @@ -221,7 +221,7 @@ print '
'; print_barre_liste($langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); -//print_fiche_titre($langs->trans("OverviewOfAmountOfLinesBound"), '', ''); +//print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesBound"), '', ''); print '
'; @@ -297,7 +297,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange. print '
'; print_barre_liste($langs->trans("OtherInfo"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); - //print_fiche_titre($langs->trans("OtherInfo"), '', ''); + //print load_fiche_titre($langs->trans("OtherInfo"), '', ''); print '
'; print '
'; diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index 3e6a6991f6c..d0ee7579f3b 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -150,7 +150,7 @@ $buttonbind = 'trans("OverviewOfAmountOfLinesNotBound"), $buttonbind, ''); +//print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesNotBound"), $buttonbind, ''); print '
'; print '
'; @@ -221,7 +221,7 @@ print '
'; print_barre_liste($langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); -//print_fiche_titre($langs->trans("OverviewOfAmountOfLinesBound"), '', ''); +//print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesBound"), '', ''); print '
'; print '
'; @@ -295,7 +295,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange. print '
'; print_barre_liste($langs->trans("OtherInfo"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); - //print_fiche_titre($langs->trans("OtherInfo"), '', ''); + //print load_fiche_titre($langs->trans("OtherInfo"), '', ''); print '
'; print '
'; diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index 1af3fc23d1e..d325e52a343 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -1185,7 +1185,7 @@ elseif (! empty($module)) print '
'; print '
'; - print_fiche_titre($langs->trans("DescriptorFile")); + print load_fiche_titre($langs->trans("DescriptorFile")); if (! empty($moduleobj)) { @@ -1249,7 +1249,7 @@ elseif (! empty($module)) print '

'; // Readme file - print_fiche_titre($langs->trans("ReadmeFile")); + print load_fiche_titre($langs->trans("ReadmeFile")); print '
'; print '
'; @@ -1259,7 +1259,7 @@ elseif (! empty($module)) print '

'; // ChangeLog - print_fiche_titre($langs->trans("ChangeLog")); + print load_fiche_titre($langs->trans("ChangeLog")); print '
'; print '
'; diff --git a/htdocs/user/notify/card.php b/htdocs/user/notify/card.php index 7e04adab9a7..575af204618 100644 --- a/htdocs/user/notify/card.php +++ b/htdocs/user/notify/card.php @@ -188,7 +188,7 @@ if ($result > 0) // Add notification form - print_fiche_titre($langs->trans("AddNewNotification"),'',''); + print load_fiche_titre($langs->trans("AddNewNotification"),'',''); print ''; print ''; @@ -276,7 +276,7 @@ if ($result > 0) } // List of active notifications - print_fiche_titre($langs->trans("ListOfActiveNotifications").' ('.$num.')','',''); + print load_fiche_titre($langs->trans("ListOfActiveNotifications").' ('.$num.')','',''); // Line with titles print '
'; diff --git a/htdocs/variants/create.php b/htdocs/variants/create.php index 0e491be448d..4f2d53bb75f 100644 --- a/htdocs/variants/create.php +++ b/htdocs/variants/create.php @@ -66,7 +66,7 @@ $title = $langs->trans('NewProductAttribute'); llxHeader('', $title); -print_fiche_titre($title); +print load_fiche_titre($title); dol_fiche_head(); diff --git a/htdocs/variants/create_val.php b/htdocs/variants/create_val.php index 8213148327d..86372df9f59 100644 --- a/htdocs/variants/create_val.php +++ b/htdocs/variants/create_val.php @@ -118,7 +118,7 @@ print ''; print ''; print ''; -print_fiche_titre($langs->trans('NewProductAttributeValue')); +print load_fiche_titre($langs->trans('NewProductAttributeValue')); dol_fiche_head(); diff --git a/htdocs/variants/generator.php b/htdocs/variants/generator.php index 49265f25001..d07c8bf66d0 100644 --- a/htdocs/variants/generator.php +++ b/htdocs/variants/generator.php @@ -160,7 +160,7 @@ if (! empty($id) || ! empty($ref)) { dol_fiche_end(); } - print_fiche_titre($langs->trans('ProductCombinationGenerator')); + print load_fiche_titre($langs->trans('ProductCombinationGenerator')); $dictionary_attr = array(); From 2589b234649924660c0a8193d9bdf33c165a3f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 10 Sep 2018 17:25:35 +0200 Subject: [PATCH 24/60] Update dolreceiptprinter.class.php --- htdocs/core/class/dolreceiptprinter.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/dolreceiptprinter.class.php b/htdocs/core/class/dolreceiptprinter.class.php index a00da884aba..1b163e2f9ec 100644 --- a/htdocs/core/class/dolreceiptprinter.class.php +++ b/htdocs/core/class/dolreceiptprinter.class.php @@ -1,6 +1,6 @@ + * Copyright (C) 2015-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 @@ -216,6 +216,7 @@ class dolReceiptPrinter extends Escpos global $conf; $error = 0; $line = 0; + $obj = array(); $sql = 'SELECT rowid, name, fk_type, fk_profile, parameter'; $sql.= ' FROM '.MAIN_DB_PREFIX.'printer_receipt'; $sql.= ' WHERE entity = '.$conf->entity; @@ -283,6 +284,7 @@ class dolReceiptPrinter extends Escpos global $conf; $error = 0; $line = 0; + $obj = array(); $sql = 'SELECT rowid, name, template'; $sql.= ' FROM '.MAIN_DB_PREFIX.'printer_receipt_template'; $sql.= ' WHERE entity = '.$conf->entity; From b4691df8d95b96bf4448f4a7d30cbb9d47c1be4a Mon Sep 17 00:00:00 2001 From: ias-ceo Date: Mon, 10 Sep 2018 17:29:29 +0200 Subject: [PATCH 25/60] use correct resultset --- htdocs/core/modules/modAgenda.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 15a6b361079..684472d82c4 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -90,7 +90,7 @@ class modAgenda extends DolibarrModules $resql = $this->db->query($sqlreadactions); if ($resql) { - while ($obj = $this->db->fetch_object($sqlreadactions)) + while ($obj = $this->db->fetch_object($resql)) { //if (preg_match('/_CREATE$/',$obj->code) && (! in_array($obj->code, array('COMPANY_CREATE','PRODUCT_CREATE','TASK_CREATE')))) continue; // We don't track such events (*_CREATE) by default, we prefer validation (except thirdparty/product/task creation because there is no validation). if (preg_match('/^TASK_/',$obj->code)) continue; // We don't track such events by default. From 5f1b3fbc12aef681073a31f8653e37a033fdafbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 10 Sep 2018 20:18:16 +0200 Subject: [PATCH 26/60] add stripe user for actions --- htdocs/langs/en_US/stripe.lang | 5 ++-- htdocs/public/stripe/ipn.php | 42 +++++++++++++++++++++++++++------- htdocs/stripe/admin/stripe.php | 12 ++++++++-- 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/htdocs/langs/en_US/stripe.lang b/htdocs/langs/en_US/stripe.lang index ecd176a0ae7..5eb1c803829 100644 --- a/htdocs/langs/en_US/stripe.lang +++ b/htdocs/langs/en_US/stripe.lang @@ -22,7 +22,7 @@ ToOfferALinkForOnlinePaymentOnContractLine=URL to offer a %s online payment user ToOfferALinkForOnlinePaymentOnFreeAmount=URL to offer a %s online payment user interface for a free amount ToOfferALinkForOnlinePaymentOnMemberSubscription=URL to offer a %s online payment user interface for a member subscription YouCanAddTagOnUrl=You can also add url parameter &tag=value to any of those URL (required only for free payment) to add your own payment comment tag. -SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url %s to have payment created automatically when validated by Stripe. +SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url %s to have payment created automatically when validated by Stripe. AccountParameter=Account parameters UsageParameter=Usage parameters InformationToFindParameters=Help to find your %s account information @@ -60,4 +60,5 @@ DeleteACard=Delete Card ConfirmDeleteCard=Are you sure you want to delete this Credit or Debit card? CreateCustomerOnStripe=Create customer on Stripe CreateCardOnStripe=Create card on Stripe -ShowInStripe=Show in Stripe \ No newline at end of file +ShowInStripe=Show in Stripe +StripeUserAccountForActions=User account for Stripe actions diff --git a/htdocs/public/stripe/ipn.php b/htdocs/public/stripe/ipn.php index faca27f78c7..fd4049143ad 100644 --- a/htdocs/public/stripe/ipn.php +++ b/htdocs/public/stripe/ipn.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2018 Thibault FOUCART + * 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 @@ -34,6 +35,7 @@ require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT .'/core/class/CMailFile.class.php'; // You can find your endpoint's secret in your webhook settings if (isset($_GET['connect'])){ @@ -88,7 +90,7 @@ catch(\UnexpectedValueException $e) { http_response_code(200); // PHP 5.4 or greater $langs->load("main"); $user = new User($db); -$user->fetch(5); +$user->fetch($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS); $user->getrights(); if (! empty($conf->multicompany->enabled) && ! empty($conf->stripeconnect->enabled) && is_object($mc)) { @@ -126,12 +128,36 @@ if ($event->type == 'payout.created') { if ($result > 0) { - // TODO Use CMail and translation - $body = "Un virement de ".price2num($event->data->object->amount/100)." ".$event->data->object->currency." est attendu sur votre compte le ".date('d-m-Y H:i:s',$event->data->object->arrival_date); - $subject = '[NOTIFICATION] Virement programmée'; - $headers = 'From: "'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'" <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>'; // TODO convert in dolibarr standard - mail(''.$conf->global->MAIN_INFO_SOCIETE_MAIL.'', $subject, $body, $headers); - return 1; + $subject = '[NOTIFICATION] Virement programmée'; + if (!empty($user->email)) { + $sendto = dolGetFirstLastname($user->firstname, $user->lastname) . " <".$user->email.">"; + } else { + $sendto = $conf->global->MAIN_INFO_SOCIETE_MAIL.'" <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>'; + } + $sendtocc = ''; + if (!empty($conf->global->ONLINE_PAYMENT_SENDEMAIL)) { + $sendtocc = $conf->global->ONLINE_PAYMENT_SENDEMAIL.'" <'.$conf->global->ONLINE_PAYMENT_SENDEMAIL.'>'; + } + + $message = "Un virement de ".price2num($event->data->object->amount/100)." ".$event->data->object->currency." est attendu sur votre compte le ".date('d-m-Y H:i:s',$event->data->object->arrival_date); + + $mailfile = new CMailFile( + $subject, + $sendto, + $replyto, + $message, + array(), + array(), + array(), + $sendtocc, + '', + 0, + -1 + ); + + $ret = $mailfile->sendfile()) + + return 1; } else { diff --git a/htdocs/stripe/admin/stripe.php b/htdocs/stripe/admin/stripe.php index 19d12a33005..8b5a92c0092 100644 --- a/htdocs/stripe/admin/stripe.php +++ b/htdocs/stripe/admin/stripe.php @@ -70,7 +70,11 @@ if ($action == 'setvalue' && $user->admin) $result = dolibarr_set_const($db, "STRIPE_BANK_ACCOUNT_FOR_PAYMENTS", GETPOST('STRIPE_BANK_ACCOUNT_FOR_PAYMENTS', 'int'), 'chaine', 0, '', $conf->entity); if (! $result > 0) $error ++; - $result = dolibarr_set_const($db, "STRIPE_BANK_ACCOUNT_FOR_BANKTRANSFERS", GETPOST('STRIPE_BANK_ACCOUNT_FOR_BANKTRANSFERS', 'int'), 'chaine', 0, '', $conf->entity); + $result = dolibarr_set_const($db, "STRIPE_USER_ACCOUNT_FOR_ACTIONS", GETPOST('STRIPE_USER_ACCOUNT_FOR_ACTIONS', 'int'), 'chaine', 0, '', $conf->entity); + if (! $result > 0) { + $error ++; + } + $result = dolibarr_set_const($db, "STRIPE_BANK_ACCOUNT_FOR_BANKTRANSFERS", GETPOST('STRIPE_BANK_ACCOUNT_FOR_BANKTRANSFERS', 'int'), 'chaine', 0, '', $conf->entity); if (! $result > 0) $error ++; $result = dolibarr_set_const($db, "STRIPE_MINIMAL_3DSECURE", GETPOST('STRIPE_MINIMAL_3DSECURE', 'int'), 'chaine', 0, '', $conf->entity); @@ -251,6 +255,11 @@ print 'name; print ''; +print ''; + print ''; print ''; print ''; } @@ -317,7 +317,7 @@ if (! empty($conf->societe->enabled)) print ''; print ''; print ''; } diff --git a/htdocs/barcode/printsheet.php b/htdocs/barcode/printsheet.php index 6dd578993ca..a1f3632fd2f 100644 --- a/htdocs/barcode/printsheet.php +++ b/htdocs/barcode/printsheet.php @@ -178,19 +178,19 @@ if ($action == 'builddoc') { // List of values to scan for a replacement $substitutionarray = array ( - '%LOGIN%'=>$user->login, - '%COMPANY%'=>$mysoc->name, - '%ADDRESS%'=>$mysoc->address, - '%ZIP%'=>$mysoc->zip, - '%TOWN%'=>$mysoc->town, - '%COUNTRY%'=>$mysoc->country, - '%COUNTRY_CODE%'=>$mysoc->country_code, - '%EMAIL%'=>$mysoc->email, - '%YEAR%'=>$year, - '%MONTH%'=>$month, - '%DAY%'=>$day, - '%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT, - '%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/" + '%LOGIN%' => $user->login, + '%COMPANY%' => $mysoc->name, + '%ADDRESS%' => $mysoc->address, + '%ZIP%' => $mysoc->zip, + '%TOWN%' => $mysoc->town, + '%COUNTRY%' => $mysoc->country, + '%COUNTRY_CODE%' => $mysoc->country_code, + '%EMAIL%' => $mysoc->email, + '%YEAR%' => $year, + '%MONTH%' => $month, + '%DAY%' => $day, + '%DOL_MAIN_URL_ROOT%' => DOL_MAIN_URL_ROOT, + '%SERVER%' => "http://".$_SERVER["SERVER_NAME"]."/", ); complete_substitutions_array($substitutionarray, $langs); @@ -416,7 +416,7 @@ print $langs->trans("BarcodeType").'   '; print '
'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formbarcode.class.php'; $formbarcode = new FormBarCode($db); -$formbarcode->select_barcode_type($fk_barcode_type, 'fk_barcode_type', 1); +print $formbarcode->selectBarcodeType($fk_barcode_type, 'fk_barcode_type', 1); print '
'; // Barcode value diff --git a/htdocs/core/class/html.formbarcode.class.php b/htdocs/core/class/html.formbarcode.class.php index 6780f01735a..7b0f7bd06fe 100644 --- a/htdocs/core/class/html.formbarcode.class.php +++ b/htdocs/core/class/html.formbarcode.class.php @@ -1,21 +1,22 @@ - * Copyright (C) 2008-2012 Laurent Destailleur -* -* This 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 . -* -*/ +/* Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2008-2012 Laurent Destailleur + * 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 + * 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 . + * + */ /** * \file htdocs/core/class/html.formbarcode.class.php @@ -32,11 +33,11 @@ class FormBarCode * @var DoliDB Database handler. */ public $db; - + /** - * @var string Error code (or message) - */ - public $error=''; + * @var string Error code (or message) + */ + public $error=''; /** @@ -104,17 +105,33 @@ class FormBarCode } /** - * Return form to select type of barcode + * Print form to select type of barcode * * @param int $selected Id code pre-selected * @param string $htmlname Name of HTML select field * @param int $useempty Affiche valeur vide dans liste * @return void + * @deprecated */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps - function select_barcode_type($selected='',$htmlname='barcodetype_id',$useempty=0) + function select_barcode_type($selected='', $htmlname='barcodetype_id', $useempty=0) { - global $langs,$conf; + print $this->selectBarcodeType($selected, $htmlname, $useempty); + } + + /** + * Return html form to select type of barcode + * + * @param int $selected Id code pre-selected + * @param string $htmlname Name of HTML select field + * @param int $useempty Display empty value in select + * @return string + */ + function selectBarcodeType($selected='', $htmlname='barcodetype_id', $useempty=0) + { + global $langs, $conf; + + $out = ''; $sql = "SELECT rowid, code, libelle"; $sql.= " FROM ".MAIN_DB_PREFIX."c_barcode_type"; @@ -123,44 +140,37 @@ class FormBarCode $sql.= " ORDER BY code"; $result = $this->db->query($sql); - if ($result) - { + if ($result) { $num = $this->db->num_rows($result); $i = 0; - if ($useempty && $num > 0) - { - print ''; + $out .= ''; + } else { $langs->load("errors"); - print ''; + $out .= ''; } - while ($i < $num) - { + while ($i < $num) { $obj = $this->db->fetch_object($result); - if ($selected == $obj->rowid) - { - print ''; + $out .= $obj->libelle; + $out .= ''; $i++; } - print ""; - print ajax_combobox("select_".$htmlname); + $out .= ""; + $out .= ajax_combobox("select_".$htmlname); } else { dol_print_error($this->db); } + return $out; } /** @@ -182,7 +192,7 @@ class FormBarCode print ''; print '
'; +print $langs->trans("StripeUserAccountForActions").''; +print $form->select_dolusers($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS, 'STRIPE_USER_ACCOUNT_FOR_ACTIONS', 0); +print '
'; print $langs->trans("BankAccount").''; print $form->select_comptes($conf->global->STRIPE_BANK_ACCOUNT_FOR_PAYMENTS, 'STRIPE_BANK_ACCOUNT_FOR_PAYMENTS', 0, '', 1); @@ -357,4 +366,3 @@ if (! empty($conf->use_javascript_ajax)) // End of page llxFooter(); $db->close(); - From afdf87603b8dcd06dcadec92512c21f4a1a4b04f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 10 Sep 2018 20:50:10 +0200 Subject: [PATCH 27/60] add stripe user for actions --- htdocs/public/stripe/ipn.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/public/stripe/ipn.php b/htdocs/public/stripe/ipn.php index fd4049143ad..9c7941ff5e7 100644 --- a/htdocs/public/stripe/ipn.php +++ b/htdocs/public/stripe/ipn.php @@ -134,6 +134,7 @@ if ($event->type == 'payout.created') { } else { $sendto = $conf->global->MAIN_INFO_SOCIETE_MAIL.'" <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>'; } + $replyto = $sendto; $sendtocc = ''; if (!empty($conf->global->ONLINE_PAYMENT_SENDEMAIL)) { $sendtocc = $conf->global->ONLINE_PAYMENT_SENDEMAIL.'" <'.$conf->global->ONLINE_PAYMENT_SENDEMAIL.'>'; From a8cfc6be3f486e91225cf5bd20ee75fbd7fb1cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 10 Sep 2018 20:55:20 +0200 Subject: [PATCH 28/60] add stripe user for actions --- htdocs/stripe/admin/stripe.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/htdocs/stripe/admin/stripe.php b/htdocs/stripe/admin/stripe.php index 8b5a92c0092..6a4dd8713f7 100644 --- a/htdocs/stripe/admin/stripe.php +++ b/htdocs/stripe/admin/stripe.php @@ -3,6 +3,7 @@ * Copyright (C) 2017 Olivier Geffroy * Copyright (C) 2017 Saasprov * Copyright (C) 2018 ptibogxiv + * 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 @@ -77,7 +78,7 @@ if ($action == 'setvalue' && $user->admin) $result = dolibarr_set_const($db, "STRIPE_BANK_ACCOUNT_FOR_BANKTRANSFERS", GETPOST('STRIPE_BANK_ACCOUNT_FOR_BANKTRANSFERS', 'int'), 'chaine', 0, '', $conf->entity); if (! $result > 0) $error ++; - $result = dolibarr_set_const($db, "STRIPE_MINIMAL_3DSECURE", GETPOST('STRIPE_MINIMAL_3DSECURE', 'int'), 'chaine', 0, '', $conf->entity); + $result = dolibarr_set_const($db, "STRIPE_MINIMAL_3DSECURE", GETPOST('STRIPE_MINIMAL_3DSECURE', 'int'), 'chaine', 0, '', $conf->entity); if (! $result > 0) $error ++; $result = dolibarr_set_const($db, "ONLINE_PAYMENT_CSS_URL", GETPOST('ONLINE_PAYMENT_CSS_URL', 'alpha'), 'chaine', 0, '', $conf->entity); @@ -120,10 +121,8 @@ if ($action == 'setvalue' && $user->admin) if ($action=="setlive") { $liveenable = GETPOST('value','int'); - $res = dolibarr_set_const($db, "STRIPE_LIVE", $liveenable,'yesno',0,'',$conf->entity); - if (! $res > 0) $error++; - if (! $error) - { + $res = dolibarr_set_const($db, "STRIPE_LIVE", $liveenable, 'yesno', 0, '', $conf->entity); + if ($res > 0) { setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); } else From 312a606345a40b2164e024b485e88aa1416f0880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 10 Sep 2018 23:50:48 +0200 Subject: [PATCH 29/60] deprecate formbarcode:select_barcode_type --- htdocs/admin/barcode.php | 4 +- htdocs/barcode/printsheet.php | 28 ++--- htdocs/core/class/html.formbarcode.class.php | 108 ++++++++++--------- htdocs/product/card.php | 4 +- 4 files changed, 77 insertions(+), 67 deletions(-) diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index 4e0c683a73f..519f2b42938 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -306,7 +306,7 @@ if (! empty($conf->product->enabled)) print '
'.$langs->trans("SetDefaultBarcodeTypeProducts").''; - $formbarcode->select_barcode_type($conf->global->PRODUIT_DEFAULT_BARCODE_TYPE,"PRODUIT_DEFAULT_BARCODE_TYPE",1); + print $formbarcode->selectBarcodeType($conf->global->PRODUIT_DEFAULT_BARCODE_TYPE, "PRODUIT_DEFAULT_BARCODE_TYPE", 1); print '
'.$langs->trans("SetDefaultBarcodeTypeThirdParties").''; - print $formbarcode->select_barcode_type($conf->global->GENBARCODE_BARCODETYPE_THIRDPARTY,"GENBARCODE_BARCODETYPE_THIRDPARTY",1); + print $formbarcode->selectBarcodeType($conf->global->GENBARCODE_BARCODETYPE_THIRDPARTY, "GENBARCODE_BARCODETYPE_THIRDPARTY", 1); print '
'; print ''; print '
'; - $this->select_barcode_type($selected, $htmlname, 1); + print $this->selectBarcodeType($selected, $htmlname, 1); print ''; print '
'; diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 52815c1303d..a252a1ccafa 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -977,7 +977,7 @@ else } require_once DOL_DOCUMENT_ROOT.'/core/class/html.formbarcode.class.php'; $formbarcode = new FormBarCode($db); - print $formbarcode->select_barcode_type($fk_barcode_type, 'fk_barcode_type', 1); + print $formbarcode->selectBarcodeType($fk_barcode_type, 'fk_barcode_type', 1); print ''.$langs->trans("BarcodeValue").''; $tmpcode=isset($_POST['barcode'])?GETPOST('barcode'):$object->barcode; if (empty($tmpcode) && ! empty($modBarCodeProduct->code_auto)) $tmpcode=$modBarCodeProduct->getNextValue($object,$type); @@ -1343,7 +1343,7 @@ else } require_once DOL_DOCUMENT_ROOT.'/core/class/html.formbarcode.class.php'; $formbarcode = new FormBarCode($db); - print $formbarcode->select_barcode_type($fk_barcode_type, 'fk_barcode_type', 1); + print $formbarcode->selectBarcodeType($fk_barcode_type, 'fk_barcode_type', 1); print ''.$langs->trans("BarcodeValue").''; $tmpcode=isset($_POST['barcode'])?GETPOST('barcode'):$object->barcode; if (empty($tmpcode) && ! empty($modBarCodeProduct->code_auto)) $tmpcode=$modBarCodeProduct->getNextValue($object,$type); From a36f41728f2ae61e67f05e993168d7fbfbb2f590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 10 Sep 2018 23:58:57 +0200 Subject: [PATCH 30/60] deprecate formbarcode:form_barcode_type --- htdocs/core/class/html.formbarcode.class.php | 39 ++++++++++++++------ htdocs/product/card.php | 2 +- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/htdocs/core/class/html.formbarcode.class.php b/htdocs/core/class/html.formbarcode.class.php index 7b0f7bd06fe..78bcb35d863 100644 --- a/htdocs/core/class/html.formbarcode.class.php +++ b/htdocs/core/class/html.formbarcode.class.php @@ -180,22 +180,37 @@ class FormBarCode * @param int $selected Id condition preselected * @param string $htmlname Nom du formulaire select * @return void + * @deprecated */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function form_barcode_type($page, $selected='', $htmlname='barcodetype_id') { - global $langs,$conf; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $this->selectBarcodeType($selected, $htmlname, 1); - print ''; - print '
'; + print $this->formBarcodeType($page, $selected, $htmlname); + } + + /** + * Return html form to select type of barcode + * + * @param string $page Page + * @param int $selected Id condition preselected + * @param string $htmlname Nom du formulaire select + * @return string + */ + function formBarcodeType($page, $selected='', $htmlname='barcodetype_id') + { + global $langs, $conf; + $out = ''; + if ($htmlname != "none") { + $out .= '
'; + $out .= ''; + $out .= ''; + $out .= ''; + $out .= ''; + $out .= '
'; + $out .= $this->selectBarcodeType($selected, $htmlname, 1); + $out .= ''; + $out .= '
'; } + return $out; } } diff --git a/htdocs/product/card.php b/htdocs/product/card.php index a252a1ccafa..d51a4fa494c 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1639,7 +1639,7 @@ else } if ($action == 'editbarcodetype') { - $formbarcode->form_barcode_type($_SERVER['PHP_SELF'].'?id='.$object->id,$object->barcode_type,'fk_barcode_type'); + print $formbarcode->formBarcodeType($_SERVER['PHP_SELF'].'?id='.$object->id, $object->barcode_type, 'fk_barcode_type'); } else { From cdc5a174aafdbac9fed20d7f1d87f0cb02855b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Tue, 11 Sep 2018 00:29:01 +0200 Subject: [PATCH 31/60] Update account.class.php --- htdocs/compta/bank/class/account.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index e66d6f73731..89e95203757 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -344,7 +344,7 @@ class Account extends CommonObject * @param int $fk_bank To search using bank transaction id * @param int $url_id To search using link to * @param string $type To search using type - * @return array|-1 Array of links array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> ) or -1 on error + * @return array|int Array of links array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> ) or -1 on error */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function get_url($fk_bank='', $url_id='', $type='') From 2995208e5b7e678a4535fe39fdc1f1a9acc6b069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Tue, 11 Sep 2018 00:36:44 +0200 Subject: [PATCH 32/60] Completely comment unused code --- htdocs/core/class/ctyperesource.class.php | 52 +++++++++++------------ 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/htdocs/core/class/ctyperesource.class.php b/htdocs/core/class/ctyperesource.class.php index ae4036214a2..297e48a940b 100644 --- a/htdocs/core/class/ctyperesource.class.php +++ b/htdocs/core/class/ctyperesource.class.php @@ -19,7 +19,7 @@ */ /** - * \file resource/ctyperesource.class.php + * \file htdocs/core/class/ctyperesource.class.php * \ingroup resource */ @@ -127,15 +127,15 @@ class Ctyperesource if (!$error) { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . $this->table_element); - if (!$notrigger) { - // Uncomment this and change MYOBJECT to your own tag if you - // want this action to call a trigger. + // Uncomment this and change MYOBJECT to your own tag if you + // want this action to call a trigger. + //if (!$notrigger) { - //// Call triggers - //$result=$this->call_trigger('MYOBJECT_CREATE',$user); - //if ($result < 0) $error++; - //// End call triggers - } + // // Call triggers + // $result=$this->call_trigger('MYOBJECT_CREATE',$user); + // if ($result < 0) $error++; + // // End call triggers + //} } // Commit or rollback @@ -331,15 +331,15 @@ class Ctyperesource dol_syslog(__METHOD__ . ' ' . implode(',', $this->errors), LOG_ERR); } - if (!$error && !$notrigger) { - // Uncomment this and change MYOBJECT to your own tag if you - // want this action calls a trigger. + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + //if (!$error && !$notrigger) { - //// Call triggers - //$result=$this->call_trigger('MYOBJECT_MODIFY',$user); - //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} - //// End call triggers - } + // // Call triggers + // $result=$this->call_trigger('MYOBJECT_MODIFY',$user); + // if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + // // End call triggers + //} // Commit or rollback if ($error) { @@ -369,17 +369,15 @@ class Ctyperesource $this->db->begin(); - if (!$error) { - if (!$notrigger) { - // Uncomment this and change MYOBJECT to your own tag if you - // want this action calls a trigger. + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + //if (!$error && !$notrigger) { - //// Call triggers - //$result=$this->call_trigger('MYOBJECT_DELETE',$user); - //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} - //// End call triggers - } - } + // // Call triggers + // $result=$this->call_trigger('MYOBJECT_DELETE',$user); + // if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + // // End call triggers + //} // If you need to delete child tables to, you can insert them here From b4cbb0561d0ccf8a0e77dadbf71d101025c3a0de Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Tue, 11 Sep 2018 10:36:39 +0200 Subject: [PATCH 33/60] Standardize and update code --- htdocs/core/boxes/box_project.php | 9 +++++---- htdocs/core/class/html.formmail.class.php | 5 ++--- htdocs/core/class/html.formticket.class.php | 5 ++--- htdocs/core/lib/categories.lib.php | 10 +++++----- htdocs/core/lib/functions2.lib.php | 7 ++++--- htdocs/core/lib/payments.lib.php | 6 +++--- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/htdocs/core/boxes/box_project.php b/htdocs/core/boxes/box_project.php index cb45c12351e..a48543a00f6 100644 --- a/htdocs/core/boxes/box_project.php +++ b/htdocs/core/boxes/box_project.php @@ -34,12 +34,12 @@ class box_project extends ModeleBoxes var $boximg="object_projectpub"; var $boxlabel; //var $depends = array("projet"); - + /** * @var DoliDB Database handler. */ public $db; - + var $param; var $info_box_head = array(); @@ -54,8 +54,9 @@ class box_project extends ModeleBoxes function __construct($db,$param='') { global $user, $langs; - $langs->load("boxes"); - $langs->load("projects"); + + // Load translation files required by the page + $langs->loadLangs(array('boxes', 'projects')); $this->db = $db; $this->boxlabel="Projects"; diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index cdc6a20ffa1..86d631e8a6a 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -271,9 +271,8 @@ class FormMail extends Form if (! is_object($form)) $form=new Form($this->db); - $langs->load("other"); - $langs->load("mails"); - + // Load translation files required by the page + $langs->loadLangs(array('other', 'mails')); // Clear temp files. Must be done at beginning, before call of triggers if (GETPOST('mode','alpha') == 'init' || (GETPOST('modelmailselected','alpha') && GETPOST('modelmailselected','alpha') != '-1')) diff --git a/htdocs/core/class/html.formticket.class.php b/htdocs/core/class/html.formticket.class.php index c0f4a3f75d2..5cad99b2a9f 100644 --- a/htdocs/core/class/html.formticket.class.php +++ b/htdocs/core/class/html.formticket.class.php @@ -126,9 +126,8 @@ class FormTicket { global $conf, $langs, $user, $hookmanager; - $langs->load("other"); - $langs->load("mails"); - $langs->load("ticket"); + // Load translation files required by the page + $langs->loadLangs(array('other', 'mails', 'ticket')); $form = new Form($this->db); $formcompany = new FormCompany($this->db); diff --git a/htdocs/core/lib/categories.lib.php b/htdocs/core/lib/categories.lib.php index 4be484e1aa4..e8a7dfcb0ff 100644 --- a/htdocs/core/lib/categories.lib.php +++ b/htdocs/core/lib/categories.lib.php @@ -33,8 +33,8 @@ function categories_prepare_head($object,$type) { global $langs, $conf, $user; - $langs->load("categories"); - $langs->load("products"); + // Load translation files required by the page + $langs->loadLangs(array('categories', 'products')); $h = 0; $head = array(); @@ -48,7 +48,7 @@ function categories_prepare_head($object,$type) $head[$h][1] = $langs->trans("Photos"); $head[$h][2] = 'photos'; $h++; - + if (! empty($conf->global->MAIN_MULTILANGS)) { $head[$h][0] = DOL_URL_ROOT.'/categories/traduction.php?id='.$object->id.'&type='.$type; @@ -56,7 +56,7 @@ function categories_prepare_head($object,$type) $head[$h][2] = 'translation'; $h++; } - + // Show more tabs from modules // Entries must be declared in modules descriptor with line // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab @@ -87,7 +87,7 @@ function categoriesadmin_prepare_head() $head[$h][1] = $langs->trans("Setup"); $head[$h][2] = 'setup'; $h++; - + $head[$h][0] = DOL_URL_ROOT.'/categories/admin/categorie_extrafields.php'; $head[$h][1] = $langs->trans("ExtraFieldsCategories"); $head[$h][2] = 'attributes_categories'; diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 783e6a0cb35..8a22337cea8 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -194,9 +194,10 @@ function dol_print_file($langs,$filename,$searchalt=0) */ function dol_print_object_info($object, $usetable=0) { - global $langs,$db; - $langs->load("other"); - $langs->load("admin"); + global $langs, $db; + + // Load translation files required by the page + $langs->loadLangs(array('other', 'admin')); include_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; diff --git a/htdocs/core/lib/payments.lib.php b/htdocs/core/lib/payments.lib.php index 0d46dc7eacc..f138f161b9c 100644 --- a/htdocs/core/lib/payments.lib.php +++ b/htdocs/core/lib/payments.lib.php @@ -62,7 +62,6 @@ function payment_prepare_head(Paiement $object) */ function payment_supplier_prepare_head(Paiement $object) { - global $langs, $conf; $h = 0; @@ -127,8 +126,9 @@ function showOnlinePaymentUrl($type,$ref) { global $conf, $langs; - $langs->load("payment"); - $langs->load("paybox"); + // Load translation files required by the page + $langs->loadLangs(array('payment', 'paybox')); + $servicename='Online'; $out = img_picto('','object_globe.png').' '.$langs->trans("ToOfferALinkForOnlinePayment",$servicename).'
'; From 26a8b5ba4d25e8f7c4504a4535db4f85de8dd308 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Tue, 11 Sep 2018 12:30:24 +0200 Subject: [PATCH 34/60] Update status display in charge list --- htdocs/stripe/charge.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/stripe/charge.php b/htdocs/stripe/charge.php index 1464c9c2e6b..a97f989a37d 100644 --- a/htdocs/stripe/charge.php +++ b/htdocs/stripe/charge.php @@ -190,14 +190,16 @@ if (!$rowid) // Status print ''; if ($charge->refunded=='1'){ - print $langs->trans("refunded"); + print img_picto($langs->trans("refunded"),'statut6'); } elseif ($charge->paid=='1'){ - print $langs->trans("".$charge->status.""); + + print img_picto($langs->trans("".$charge->status.""),'statut4'); + } else { $label="Message: ".$charge->failure_message."
"; $label.="Réseau: ".$charge->outcome->network_status."
"; $label.="Statut: ".$langs->trans("".$charge->outcome->seller_message.""); - print $form->textwithpicto($langs->trans("".$charge->status.""),$label,1); + print $form->textwithpicto(img_picto($langs->trans("".$charge->status.""),'statut8'),$label,1); } print "\n"; From 05772f5327b0442113b94a9eee690914b8a5e1c3 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Tue, 11 Sep 2018 17:30:43 +0200 Subject: [PATCH 35/60] Standardize and update code --- htdocs/core/lib/product.lib.php | 7 +++--- htdocs/core/lib/sendings.lib.php | 8 +++---- htdocs/core/lib/signature.lib.php | 5 +++-- htdocs/core/lib/supplier_proposal.lib.php | 5 +++-- htdocs/core/menus/standard/eldy.lib.php | 26 +++++++++++------------ 5 files changed, 26 insertions(+), 25 deletions(-) diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index 731f8859eba..1c704392c6b 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -190,8 +190,9 @@ function product_prepare_head($object) function productlot_prepare_head($object) { global $db, $langs, $conf, $user; - $langs->load("products"); - $langs->load("productbatch"); + + // Load translation files required by the page + $langs->loadLangs(array("products","productbatch")); $h = 0; $head = array(); @@ -200,7 +201,7 @@ function productlot_prepare_head($object) $head[$h][1] = $langs->trans("Card"); $head[$h][2] = 'card'; $h++; - + // Attachments require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; diff --git a/htdocs/core/lib/sendings.lib.php b/htdocs/core/lib/sendings.lib.php index 71c287f7119..c01026b445d 100644 --- a/htdocs/core/lib/sendings.lib.php +++ b/htdocs/core/lib/sendings.lib.php @@ -36,8 +36,8 @@ function shipping_prepare_head($object) { global $db, $langs, $conf, $user; - $langs->load("sendings"); - $langs->load("deliveries"); + // Load translation files required by the page + $langs->loadLangs(array("sendings","deliveries")); $h = 0; $head = array(); @@ -121,8 +121,8 @@ function delivery_prepare_head($object) { global $langs, $conf, $user; - $langs->load("sendings"); - $langs->load("deliveries"); + // Load translation files required by the page + $langs->loadLangs(array("sendings","deliveries")); $h = 0; $head = array(); diff --git a/htdocs/core/lib/signature.lib.php b/htdocs/core/lib/signature.lib.php index b11d809caf2..2790c80c8e0 100644 --- a/htdocs/core/lib/signature.lib.php +++ b/htdocs/core/lib/signature.lib.php @@ -28,8 +28,9 @@ function showOnlineSignatureUrl($type,$ref) { global $conf, $langs; - $langs->load("payment"); - $langs->load("paybox"); + // Load translation files required by the page + $langs->loadLangs(array("payment","paybox")); + $servicename='Online'; $out = img_picto('','object_globe.png').' '.$langs->trans("ToOfferALinkForOnlineSignature",$servicename).'
'; diff --git a/htdocs/core/lib/supplier_proposal.lib.php b/htdocs/core/lib/supplier_proposal.lib.php index 1756c92a32a..a0f52d6de15 100644 --- a/htdocs/core/lib/supplier_proposal.lib.php +++ b/htdocs/core/lib/supplier_proposal.lib.php @@ -32,8 +32,9 @@ function supplier_proposal_prepare_head($object) { global $db, $langs, $conf, $user; - $langs->load("supplier_proposal"); - $langs->load("compta"); + + // Load translation files required by the page + $langs->loadLangs(array("supplier_proposal","compta")); $h = 0; $head = array(); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 4c42d22280e..7ce76732324 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -80,8 +80,8 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode $showmode=isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal); if ($showmode) { - $langs->load("companies"); - $langs->load("suppliers"); + // Load translation files required by the page + $langs->loadLangs(array("companies","suppliers")); $classname=""; if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "companies") { $classname='class="tmenusel"'; $_SESSION['idmenu']=''; } @@ -174,8 +174,8 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode $showmode=isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal); if ($showmode) { - $langs->load("compta"); - $langs->load("banks"); + // Load translation files required by the page + $langs->loadLangs(array("compta","banks")); $classname=""; if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "bank") { $classname='class="tmenusel"'; $_SESSION['idmenu']=''; } @@ -528,8 +528,8 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if ($usemenuhider || empty($leftmenu) || $leftmenu=="setup") { - $langs->load("admin"); - $langs->load("help"); + // Load translation files required by the page + $langs->loadLangs(array("admin","help")); $warnpicto=''; if (empty($conf->global->MAIN_INFO_SOCIETE_NOM) || empty($conf->global->MAIN_INFO_SOCIETE_COUNTRY)) @@ -1176,10 +1176,8 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu */ if ($mainmenu == 'bank') { - $langs->load("withdrawals"); - $langs->load("banks"); - $langs->load("bills"); - $langs->load('categories'); + // Load translation files required by the page + $langs->loadLangs(array("withdrawals","banks","bills","categories")); // Bank-Caisse if (! empty($conf->banque->enabled)) @@ -1402,8 +1400,8 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu // Leave/Holiday/Vacation module if (! empty($conf->holiday->enabled)) { - $langs->load("holiday"); - $langs->load("trips"); + // Load translation files required by the page + $langs->loadLangs(array("holiday","trips")); $newmenu->add("/holiday/list.php?leftmenu=hrm", $langs->trans("CPTitreMenu"), 0, $user->rights->holiday->read, '', $mainmenu, 'hrm'); $newmenu->add("/holiday/card.php?action=request", $langs->trans("New"), 1,$user->rights->holiday->write); @@ -1499,8 +1497,8 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu { if (! empty($conf->adherent->enabled)) { - $langs->load("members"); - $langs->load("compta"); + // Load translation files required by the page + $langs->loadLangs(array("members","compta")); $newmenu->add("/adherents/index.php?leftmenu=members&mainmenu=members",$langs->trans("Members"),0,$user->rights->adherent->lire, '', $mainmenu, 'members'); $newmenu->add("/adherents/card.php?leftmenu=members&action=create",$langs->trans("NewMember"),1,$user->rights->adherent->creer); From 40c79cb7cdcfb5d3e537fd7450a51db6fef70e6b Mon Sep 17 00:00:00 2001 From: atm-ph Date: Tue, 11 Sep 2018 17:56:11 +0200 Subject: [PATCH 36/60] Fix classname liencolht to linecolht --- htdocs/core/tpl/objectline_view.tpl.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index f1c691bf2a2..4a4b6692096 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -233,13 +233,13 @@ if (empty($outputalsopricetotalwithtax)) $outputalsopricetotalwithtax=0; special_code == 3) { ?> trans('Option'); ?> - total_ht); ?> + total_ht); ?> multicurrency->enabled)) { ?> multicurrency_total_ht); ?> - total_ttc); ?> + total_ttc); ?> From c51a0ef90155be192540342bb886b743129f40cf Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Wed, 12 Sep 2018 10:10:07 +0200 Subject: [PATCH 37/60] Standardize and update code --- htdocs/core/modules/action/rapport.pdf.php | 5 +++-- htdocs/core/modules/bank/doc/pdf_ban.modules.php | 6 ++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/htdocs/core/modules/action/rapport.pdf.php b/htdocs/core/modules/action/rapport.pdf.php index 8fb183a2446..0099d0561d2 100644 --- a/htdocs/core/modules/action/rapport.pdf.php +++ b/htdocs/core/modules/action/rapport.pdf.php @@ -68,8 +68,9 @@ class CommActionRapport function __construct($db, $month, $year) { global $conf,$langs; - $langs->load("commercial"); - $langs->load("projects"); + + // Load translation files required by the page + $langs->loadLangs(array("commercial","projects")); $this->db = $db; $this->description = ""; diff --git a/htdocs/core/modules/bank/doc/pdf_ban.modules.php b/htdocs/core/modules/bank/doc/pdf_ban.modules.php index 9143d87ea73..c8c5c4ad32a 100644 --- a/htdocs/core/modules/bank/doc/pdf_ban.modules.php +++ b/htdocs/core/modules/bank/doc/pdf_ban.modules.php @@ -47,10 +47,8 @@ class pdf_ban extends ModeleBankAccountDoc { global $conf,$langs,$mysoc; - $langs->load("main"); - $langs->load("bank"); - $langs->load("withdrawals"); - $langs->load("companies"); + // Load translation files required by the page + $langs->loadLangs(array("main","bank","withdrawals","companies")); $this->db = $db; $this->name = "ban"; From aad6a0871f063bb5089ac4574b20c7c8234bbb8c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 10:57:09 +0200 Subject: [PATCH 38/60] FIX Lose filter on payment type or category after a sort on invoice list Conflicts: htdocs/compta/facture/list.php --- htdocs/compta/facture/list.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index b813ed7c6da..2cfd1d03a0e 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -73,7 +73,7 @@ $search_product_category=GETPOST('search_product_category','int'); $search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha'); $search_refcustomer=GETPOST('search_refcustomer','alpha'); $search_type=GETPOST('search_type','int'); -$search_project=GETPOST('search_project','alpha'); +$search_project=GETPOST('search_project','alpha');< $search_societe=GETPOST('search_societe','alpha'); $search_montant_ht=GETPOST('search_montant_ht','alpha'); $search_montant_vat=GETPOST('search_montant_vat','alpha'); @@ -555,14 +555,14 @@ if ($resql) if ($search_zip) $param.='&search_zip='.urlencode($search_zip); if ($search_sale > 0) $param.='&search_sale=' .urlencode($search_sale); if ($search_user > 0) $param.='&search_user=' .urlencode($search_user); - if ($search_product_category > 0) $param.='$search_product_category=' .urlencode($search_product_category); + if ($search_product_category > 0) $param.='&search_product_category=' .urlencode($search_product_category); if ($search_montant_ht != '') $param.='&search_montant_ht='.urlencode($search_montant_ht); if ($search_montant_vat != '') $param.='&search_montant_vat='.urlencode($search_montant_vat); if ($search_montant_localtax1 != '') $param.='&search_montant_localtax1='.urlencode($search_montant_localtax1); if ($search_montant_localtax2 != '') $param.='&search_montant_localtax2='.urlencode($search_montant_localtax2); if ($search_montant_ttc != '') $param.='&search_montant_ttc='.urlencode($search_montant_ttc); if ($search_status != '') $param.='&search_status='.urlencode($search_status); - if ($search_paymentmode > 0) $param.='search_paymentmode='.urlencode($search_paymentmode); + if ($search_paymentmode > 0) $param.='&search_paymentmode='.urlencode($search_paymentmode); if ($show_files) $param.='&show_files=' .urlencode($show_files); if ($option) $param.="&option=".urlencode($option); if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); From 30c393d2da3b6147963d9b3b2a9a1be4423e7a1b Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 12 Sep 2018 11:28:43 +0200 Subject: [PATCH 39/60] better display/link of informations --- htdocs/stripe/charge.php | 42 ++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/htdocs/stripe/charge.php b/htdocs/stripe/charge.php index a97f989a37d..b82d8d65a78 100644 --- a/htdocs/stripe/charge.php +++ b/htdocs/stripe/charge.php @@ -96,7 +96,7 @@ if (!$rowid) print ''; print_liste_field_titre("Ref",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); - print_liste_field_titre("StripeCustomerId",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); + //print_liste_field_titre("StripeCustomerId",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); print_liste_field_titre("Customer",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); print_liste_field_titre("Origin",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); print_liste_field_titre("DatePayment",$_SERVER["PHP_SELF"],"","","",'align="center"',$sortfield,$sortorder); @@ -120,20 +120,20 @@ if (!$rowid) foreach ($list->data as $charge) { // The metadata FULLTAG is defined by the online payment page - $FULLTAG=$charge->metadata->FULLTAG; + $FULLTAG=$charge->description; // Save into $tmparray all metadata $tmparray = dolExplodeIntoArray($FULLTAG,'.','='); // Load origin object according to metadata - if (! empty($tmparray['CUS'])) + if (! empty($tmparray['CUS']) && $charge->metadata->dol_thirdparty_id) { - $societestatic->fetch($tmparray['CUS']); + $societestatic->fetch($charge->metadata->dol_thirdparty_id); } else { $societestatic->id = 0; } - if (! empty($tmparray['MEM'])) + if (! empty($tmparray['MEM']) && $charge->metadata->dol_thirdparty_id) { $memberstatic->fetch($tmparray['MEM']); } @@ -144,32 +144,40 @@ if (!$rowid) print ''; // Ref - print "
".$charge->id."\n"; + $url='https://dashboard.stripe.com/test/payments/'.$charge->id; + if ($servicestatus) + { + $url='https://dashboard.stripe.com/payments/'.$charge->id; + } + print "".img_picto($langs->trans('ShowInStripe'), 'object_globe')." ".$charge->id."\n"; // Stripe customer - print "".$charge->customer."\n"; + //print "".$charge->customer."\n"; // Link print ""; if ($societestatic->id > 0) { print $societestatic->getNomUrl(1); } - if ($memberstatic->id > 0) + elseif ($memberstatic->id > 0) { print $memberstatic->getNomUrl(1); - } + } else print $charge->customer; print "\n"; // Origine print ""; - print $FULLTAG; - if ($charge->metadata->source=="order"){ + if ($charge->metadata->dol_type=="order"){ $object = new Commande($db); - $object->fetch($charge->metadata->idsource); - print "".img_picto('', 'object_order')." ".$object->ref.""; - } elseif ($charge->metadata->source=="invoice"){ + $object->fetch($charge->metadata->dol_id); + if ($object->id > 0) { + print "".img_picto('', 'object_order')." ".$object->ref.""; + } else print $FULLTAG; + } elseif ($charge->metadata->dol_type=="invoice"){ $object = new Facture($db); - $object->fetch($charge->metadata->idsource); - print "".img_picto('', 'object_invoice')." ".$object->ref.""; - } + $object->fetch($charge->metadata->dol_id); + if ($object->id > 0) { + print "".img_picto('', 'object_invoice')." ".$object->ref.""; + } else print $FULLTAG; + } else print $FULLTAG; print "\n"; // Date payment print ''.dol_print_date($charge->created,'%d/%m/%Y %H:%M')."\n"; From 902bdf540e29e83a62f72baa600f8255495a3149 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 13:45:04 +0200 Subject: [PATCH 40/60] Update ChangeLog --- ChangeLog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2f0d6538e7a..c379f2dfeff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -221,7 +221,8 @@ Following changes may create regressions for some external modules, but were nec * Remove method Categorie:get_nb_categories() that was not used. * Hook getnomurltooltip provide a duplicate feature compared to hook getNomUrl so all hooks getnomurltooltip are now replaced with hook getNomUrl. - +* The substitution key __CONTACTCIVNAME__ is no longer present, it has been replaced by __CONTACT_NAME_{TYPE}__ + where {TYPE} is contact type code (BILLING, SHIPPING, CUSTOMER, ... see contact type dictionnary). ***** ChangeLog for 7.0.3 compared to 7.0.2 ***** From 5bd2c01411d5e981565657f4440fcd15e4c81f53 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 14:43:05 +0200 Subject: [PATCH 41/60] Fix email missing in tooltip --- htdocs/societe/index.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/societe/index.php b/htdocs/societe/index.php index 1bed6e635a0..b15042dd017 100644 --- a/htdocs/societe/index.php +++ b/htdocs/societe/index.php @@ -264,7 +264,7 @@ print '
'; * Last third parties modified */ $max=15; -$sql = "SELECT s.rowid, s.nom as name, s.client, s.fournisseur"; +$sql = "SELECT s.rowid, s.nom as name, s.email, s.client, s.fournisseur"; $sql.= ", s.code_client"; $sql.= ", s.code_fournisseur"; $sql.= ", s.logo"; @@ -313,6 +313,7 @@ if ($result) $thirdparty_static->code_client = $objp->code_client; $thirdparty_static->code_fournisseur = $objp->code_fournisseur; $thirdparty_static->canvas=$objp->canvas; + $thirdparty_static->email = $objp->email; print ''; // Name From 729d03862f69cfc0aeed9e936411ce092a778042 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 15:02:59 +0200 Subject: [PATCH 42/60] Fix warning --- htdocs/core/modules/modSyslog.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modSyslog.class.php b/htdocs/core/modules/modSyslog.class.php index fca192f5ec0..24f3a8d959f 100644 --- a/htdocs/core/modules/modSyslog.class.php +++ b/htdocs/core/modules/modSyslog.class.php @@ -82,7 +82,7 @@ class modSyslog extends DolibarrModules // Cronjobs $this->cronjobs = array( - 0=>array('label'=>'CompressSyslogs', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'compressSyslogs', 'parameters'=>'', 'comment'=>'Compress and archive log files', 'frequency'=>1, 'unitfrequency'=> 3600 * 24, 'priority'=>50, 'status'=>0, 'test'=>true), + 0=>array('label'=>'CompressSyslogs', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'compressSyslogs', 'parameters'=>'', 'comment'=>'Compress and archive log files. Warning, batch must be run with same account than your web server to avoid to get lof files with different owner than required by web server !', 'frequency'=>1, 'unitfrequency'=> 3600 * 24, 'priority'=>50, 'status'=>0, 'test'=>true), ); } } From b8df44167aef5ecb81d463e7d9453dd4f1b979b9 Mon Sep 17 00:00:00 2001 From: Philippe GRAND Date: Wed, 12 Sep 2018 15:09:12 +0200 Subject: [PATCH 43/60] Standardize and update code --- .../commande/doc/doc_generic_order_odt.modules.php | 8 ++++---- .../contract/doc/doc_generic_contract_odt.modules.php | 4 ++-- .../expedition/doc/doc_generic_shipment_odt.modules.php | 8 ++++---- htdocs/core/modules/mailings/contacts1.modules.php | 7 +++---- htdocs/core/modules/mailings/fraise.modules.php | 6 +++--- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index 166c7f389d1..5866e57233b 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -53,8 +53,8 @@ class doc_generic_order_odt extends ModelePDFCommandes { global $conf,$langs,$mysoc; - $langs->load("main"); - $langs->load("companies"); + // Load translation files required by the page + $langs->loadLangs(array("main","companies")); $this->db = $db; $this->name = "ODT templates"; @@ -98,8 +98,8 @@ class doc_generic_order_odt extends ModelePDFCommandes { global $conf,$langs; - $langs->load("companies"); - $langs->load("errors"); + // Load translation files required by the page + $langs->loadLangs(array("errors","companies")); $form = new Form($this->db); diff --git a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php index b58a67a2cb0..f19cafc3dcf 100644 --- a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php +++ b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php @@ -52,8 +52,8 @@ class doc_generic_contract_odt extends ModelePDFContract { global $conf,$langs,$mysoc; - $langs->load("main"); - $langs->load("companies"); + // Load translation files required by the page + $langs->loadLangs(array("main","companies")); $this->db = $db; $this->name = "ODT templates"; diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index 9971c3acd81..41a5f2e992c 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -54,8 +54,8 @@ class doc_generic_shipment_odt extends ModelePdfExpedition { global $conf,$langs,$mysoc; - $langs->load("main"); - $langs->load("companies"); + // Load translation files required by the page + $langs->loadLangs(array("main","companies")); $this->db = $db; $this->name = "ODT templates"; @@ -99,8 +99,8 @@ class doc_generic_shipment_odt extends ModelePdfExpedition { global $conf,$langs; - $langs->load("companies"); - $langs->load("errors"); + // Load translation files required by the page + $langs->loadLangs(array("errors","companies")); $form = new Form($this->db); diff --git a/htdocs/core/modules/mailings/contacts1.modules.php b/htdocs/core/modules/mailings/contacts1.modules.php index 45f404f276e..0ba38215c61 100644 --- a/htdocs/core/modules/mailings/contacts1.modules.php +++ b/htdocs/core/modules/mailings/contacts1.modules.php @@ -116,10 +116,9 @@ class mailing_contacts1 extends MailingTargets function formFilter() { global $langs; - $langs->load("companies"); - $langs->load("commercial"); - $langs->load("suppliers"); - $langs->load("categories"); + + // Load translation files required by the page + $langs->loadLangs(array("commercial","companies","suppliers","categories")); $s=''; diff --git a/htdocs/core/modules/mailings/fraise.modules.php b/htdocs/core/modules/mailings/fraise.modules.php index ab0cca6e0d4..aa57e954f04 100644 --- a/htdocs/core/modules/mailings/fraise.modules.php +++ b/htdocs/core/modules/mailings/fraise.modules.php @@ -109,9 +109,9 @@ class mailing_fraise extends MailingTargets function formFilter() { global $conf, $langs; - $langs->load("members"); - $langs->load("categories"); - $langs->load("companies"); + + // Load translation files required by the page + $langs->loadLangs(array("members","companies","categories")); $form=new Form($this->db); From 50478b1bd447c04144c61ccb6919905bf2e3844f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 15:21:11 +0200 Subject: [PATCH 44/60] FIX capital must be empty and not 0 if undefined --- htdocs/societe/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index 419c007906a..e1f257cbf8f 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -1962,7 +1962,7 @@ else // Capital print ''.fieldLabel('Capital','capital').''; print ' '.$langs->trans("Currency".$conf->currency).''; // Assign a Name From 9cbba2dc7dbcca5a0db431ce60d5507b4998e8b6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 15:28:59 +0200 Subject: [PATCH 45/60] Add log --- htdocs/adherents/class/adherent.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index a517ea8a18b..a10ab55ad58 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -2599,6 +2599,7 @@ class Adherent extends CommonObject $outputlangs = new Translate('', $conf); $outputlangs->setDefaultLang(empty($adherent->thirdparty->default_lang) ? $mysoc->default_lang : $adherent->thirdparty->default_lang); $outputlangs->loadLangs(array("main", "members")); + dol_syslog("sendReminderForExpiredSubscription Language set to ".$outputlangs->defaultlang); $arraydefaultmessage=null; $labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION; From 48ae4de47b7791d1ffafabfd1ea88a7b282365d2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 16:11:10 +0200 Subject: [PATCH 46/60] FIX Add paypal error message in alert email --- htdocs/langs/en_US/paypal.lang | 3 ++- htdocs/public/payment/paymentok.php | 5 +++++ htdocs/public/paypal/paymentok.php | 9 +-------- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/htdocs/langs/en_US/paypal.lang b/htdocs/langs/en_US/paypal.lang index 547b188b4a5..ad8b9612935 100644 --- a/htdocs/langs/en_US/paypal.lang +++ b/htdocs/langs/en_US/paypal.lang @@ -31,4 +31,5 @@ OnlinePaymentSystem=Online payment system PaypalLiveEnabled=Paypal live enabled (otherwise test/sandbox mode) PaypalImportPayment=Import Paypal payments PostActionAfterPayment=Post actions after payments -ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary. \ No newline at end of file +ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary. +ValidationOfPaymentFailed=Validation of payment has failed \ No newline at end of file diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index a5b6b38ea35..34209877bf3 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -801,6 +801,11 @@ if ($ispaymentok) $content.="
\n"; $content.="tag=".$fulltag."
\ntoken=".$onlinetoken."
\npaymentType=".$paymentType."
\ncurrencycodeType=".$currencyCodeType."
\npayerId=".$payerID."
\nipaddress=".$ipaddress."
\nFinalPaymentAmt=".$FinalPaymentAmt."
\n"; + if (! empty($ErrorCode)) $content.="ErrorCode = ".$ErrorCode."
\n"; + if (! empty($ErrorShortMsg)) $content.="ErrorShortMsg = ".$ErrorShortMsg."
\n"; + if (! empty($ErrorLongMsg)) $content.="ErrorLongMsg = ".$ErrorLongMsg."
\n"; + if (! empty($ErrorSeverityCode)) $content.="ErrorSeverityCode = ".$ErrorSeverityCode."
\n"; + $ishtml=dol_textishtml($content); // May contain urls require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; diff --git a/htdocs/public/paypal/paymentok.php b/htdocs/public/paypal/paymentok.php index 1e6adb7ca51..72a43dcbc7b 100644 --- a/htdocs/public/paypal/paymentok.php +++ b/htdocs/public/paypal/paymentok.php @@ -43,14 +43,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php'; // Security check if (empty($conf->paypal->enabled)) accessforbidden('',0,0,1); -$langs->load("main"); -$langs->load("other"); -$langs->load("dict"); -$langs->load("bills"); -$langs->load("companies"); -$langs->load("paybox"); -$langs->load("paypal"); -$langs->load("stripe"); +$langs->loadLangs(array("main","other","dict","bills","companies","paybox","paypal","stripe")); // Clean parameters $PAYPAL_API_USER=""; From fd93a22dca12cfd5b588fa42022b92579b2f5667 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 16:45:12 +0200 Subject: [PATCH 47/60] Fix missing field --- htdocs/install/mysql/migration/5.0.0-6.0.0.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/install/mysql/migration/5.0.0-6.0.0.sql b/htdocs/install/mysql/migration/5.0.0-6.0.0.sql index d4526a8c8ae..5011554dd02 100644 --- a/htdocs/install/mysql/migration/5.0.0-6.0.0.sql +++ b/htdocs/install/mysql/migration/5.0.0-6.0.0.sql @@ -466,6 +466,7 @@ new_pmp double DEFAULT 0 )ENGINE=InnoDB; ALTER TABLE llx_inventory ADD COLUMN datec datetime DEFAULT NULL; +ALTER TABLE llx_inventory ADD COLUMN tms timestamp; ALTER TABLE llx_inventory ADD INDEX idx_inventory_tms (tms); ALTER TABLE llx_inventory ADD INDEX idx_inventory_datec (datec); From 401e5abd1415f634015a962741223962e4d5ab88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 12 Sep 2018 17:02:59 +0200 Subject: [PATCH 48/60] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b68e8b65558..5128c94d487 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # DOLIBARR ERP & CRM -![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg) ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) +![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) +|6|7|8|develop| +|----------|----------|----------|----------| +|![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/6.0.svg)|![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/7.0.svg)|![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/8.0.svg)|![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg)| Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…). From c293603789cc55ec54bef9d43f0512767e2ab28e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 12 Sep 2018 17:05:45 +0200 Subject: [PATCH 49/60] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5128c94d487..dfd9d70ab7c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # DOLIBARR ERP & CRM ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) + |6|7|8|develop| |----------|----------|----------|----------| |![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/6.0.svg)|![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/7.0.svg)|![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/8.0.svg)|![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg)| From 77d7c9775039b8561447b5982c1e93e280aed0c3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 17:18:27 +0200 Subject: [PATCH 50/60] Fix typo --- htdocs/langs/fr_FR/members.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/fr_FR/members.lang b/htdocs/langs/fr_FR/members.lang index 08a16745621..6cd379c3cc2 100644 --- a/htdocs/langs/fr_FR/members.lang +++ b/htdocs/langs/fr_FR/members.lang @@ -116,7 +116,7 @@ SendingEmailOnCancelation=Envoie d'email à l'annulation # Topic of email templates YourMembershipRequestWasReceived=Votre demande d'adhésion a été reçue. YourMembershipWasValidated=Votre adhésion a été enregistrée -YourSubscriptionWasRecorded=Votre nouvel adhésion a été enregistrée +YourSubscriptionWasRecorded=Votre nouvelle adhésion a été enregistrée SubscriptionReminderEmail=Rappel de cotisation YourMembershipWasCanceled=Votre adhésion a été annulée CardContent=Contenu de votre fiche adhérent From 50e40669bf086a4bf00ccd321bf36a5d2f06c5e3 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 12 Sep 2018 17:24:11 +0200 Subject: [PATCH 51/60] use thirdparty --- htdocs/don/card.php | 103 +++++++++++++++++++++++++++++++++----------- 1 file changed, 77 insertions(+), 26 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index d033f7b73c9..a8ad2008a93 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015-2016 Alexandre Spangaro + * Copyright (C) 2018 Thibault FOUCART * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,23 +27,24 @@ */ require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/modules/dons/modules_don.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/donation.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; -require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; -if (! empty($conf->projet->enabled)) +require_once DOL_DOCUMENT_ROOT . '/core/modules/dons/modules_don.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/donation.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/don/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT . '/compta/paiement/class/paiement.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formmargin.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; +if (! empty($conf->projet->enabled)) { require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; } require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; -$langs->load("companies"); -$langs->load("donations"); -$langs->load("bills"); +$langs->loadLangs(array("bills","companies","donations")); // File with generic data $id=GETPOST('rowid')?GETPOST('rowid','int'):GETPOST('id','int'); $action=GETPOST('action','alpha'); @@ -325,18 +327,54 @@ if ($action == 'create') print ''; print ''; - - // Date - print ''; - - // Amount - print "".''; - - print '\n"; + + // Ref + print ''; + + if (! empty($conf->societe->enabled)) { + // Thirdparty + print ''; + if ($soc->id > 0 && ! GETPOST('fac_rec','alpha')) + { + print ''; + } + else + { + print ''; + } + print '' . "\n"; + +} else { print "".''; print "".''; @@ -346,18 +384,31 @@ if ($action == 'create') // Zip / Town print ''; - // Country + // Country print ''; - print "".''; + print "".''; +} + + // Date + print ''; + + // Amount + print "".''; + + print '\n"; // Payment mode print "
'.$langs->trans("Date").''; - $form->select_date($donation_date?$donation_date:-1,'','','','',"add",1,1); - print '
'.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
'.$langs->trans("PublicDonation").""; - print $form->selectyesno("public",isset($_POST["public"])?$_POST["public"]:1,1); - print "
' . $langs->trans('Ref') . '' . $langs->trans('Draft') . '
' . $langs->trans('Customer') . ''; + print $soc->getNomUrl(1); + print ''; + // Outstanding Bill + $outstandingBills = $soc->get_OutstandingBill(); + print ' (' . $langs->trans('CurrentOutstandingBill') . ': '; + print price($outstandingBills, '', $langs, 0, 0, -1, $conf->currency); + if ($soc->outstanding_limit != '') + { + if ($outstandingBills > $soc->outstanding_limit) print img_warning($langs->trans("OutstandingBillReached")); + print ' / ' . price($soc->outstanding_limit, '', $langs, 0, 0, -1, $conf->currency); + } + print ')'; + print ''; + print $form->select_company($soc->id, 'socid', '(s.client = 1 OR s.client = 3) AND status=1', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300'); + // Option to reload page to retrieve customer informations. Note, this clear other input + if (!empty($conf->global->RELOAD_PAGE_ON_CUSTOMER_CHANGE)) + { + print ''; + } + print ' '.$langs->trans("AddThirdParty").''; + print '
'.$langs->trans("Company").'
'.$langs->trans("Lastname").'
'.$langs->trans("Zip").' / '.$langs->trans("Town").''; - print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6); + print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6); print ' '; print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id')); print '
'; print $form->select_country(GETPOST('country_id')!=''?GETPOST('country_id'):$object->country_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); print '
'.$langs->trans("EMail").'
'.$langs->trans("EMail").'
'.$langs->trans("Date").''; + $form->select_date($donation_date?$donation_date:-1,'','','','',"add",1,1); + print '
'.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
'.$langs->trans("PublicDonation").""; + print $form->selectyesno("public",isset($_POST["public"])?$_POST["public"]:1,1); + print "
".$langs->trans("PaymentMode")."\n"; From 2974ea72c4abfd6ca4ac389dd5d3f48259366159 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 17:45:38 +0200 Subject: [PATCH 52/60] Fix sql error --- htdocs/don/card.php | 140 +++++++++++++++++---------------- htdocs/don/class/don.class.php | 16 +--- 2 files changed, 75 insertions(+), 81 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index a8ad2008a93..6f90eb7bcc3 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -37,7 +37,7 @@ require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formmargin.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; -if (! empty($conf->projet->enabled)) +if (! empty($conf->projet->enabled)) { require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; @@ -327,85 +327,89 @@ if ($action == 'create') print ''; print ''; - - // Ref + + // Ref print ''; - - if (! empty($conf->societe->enabled)) { - // Thirdparty - print ''; - if ($soc->id > 0 && ! GETPOST('fac_rec','alpha')) + + // Company + if (! empty($conf->societe->enabled)) { - print ''; + if ($soc->id > 0 && ! GETPOST('fac_rec','alpha')) { - if ($outstandingBills > $soc->outstanding_limit) print img_warning($langs->trans("OutstandingBillReached")); - print ' / ' . price($soc->outstanding_limit, '', $langs, 0, 0, -1, $conf->currency); + print ''; } - print ')'; - print ''; + else + { + print ''; + } + print '' . "\n"; + } else { - print ''; + print "".''; + print "".''; + print "".''; + print "".''; + + // Zip / Town + print ''; + + // Country + print ''; + + print "".''; } - print '' . "\n"; - -} else { - print "".''; - print "".''; - print "".''; - print "".''; - - // Zip / Town - print ''; - - // Country - print ''; - - print "".''; -} - - // Date + // Date print ''; - // Amount - print "".''; + // Amount + print "".''; + // Public donation print '\n"; @@ -841,11 +845,11 @@ if (! empty($id) && $action != 'edit') // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('don')); $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); - + // Show online payment link $useonlinepayment = (! empty($conf->paypal->enabled) || ! empty($conf->stripe->enabled) || ! empty($conf->paybox->enabled)); - if ($useonlinepayment) //$object->statut != Facture::STATUS_DRAFT && + if ($useonlinepayment) //$object->statut != Facture::STATUS_DRAFT && { print '
'."\n"; require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php'; diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 1ed604b56f2..f712ef8b60f 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -73,12 +73,6 @@ class Don extends CommonObject public $labelstatut; public $labelstatutshort; - /** - * @deprecated - * @see note_private, note_public - */ - public $commentaire; - /** * Constructor @@ -87,9 +81,7 @@ class Don extends CommonObject */ function __construct($db) { - global $langs; - - $this->db = $db; + $this->db = $db; } @@ -383,8 +375,8 @@ class Don extends CommonObject $sql.= ", '".$this->db->escape($this->address)."'"; $sql.= ", '".$this->db->escape($this->zip)."'"; $sql.= ", '".$this->db->escape($this->town)."'"; - $sql.= ", ".$this->country_id; - $sql.= ", ".$this->public; + $sql.= ", ".($this->country_id > 0 ? $this->country_id : '0'); + $sql.= ", ".((int) $this->public); $sql.= ", ".($this->fk_project > 0?$this->fk_project:"null"); $sql.= ", ".(!empty($this->note_private)?("'".$this->db->escape($this->note_private)."'"):"NULL"); $sql.= ", ".(!empty($this->note_public)?("'".$this->db->escape($this->note_public)."'"):"NULL"); @@ -396,7 +388,6 @@ class Don extends CommonObject $sql.= ", '".$this->db->escape($this->phone_mobile)."'"; $sql.= ")"; - dol_syslog(get_class($this)."::create", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { @@ -687,7 +678,6 @@ class Don extends CommonObject $this->note_private = $obj->note_private; $this->note_public = $obj->note_public; $this->modelpdf = $obj->model_pdf; - $this->commentaire = $obj->note; // deprecated // Retreive all extrafield // fetch optionals attributes and labels From a3881bfbce73801b6946013d7cc796cdc581ed57 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 18:04:33 +0200 Subject: [PATCH 53/60] NEW hidden constant to be able to use a thirdparty for donation --- htdocs/don/card.php | 31 ++++++++++++++++--------------- htdocs/don/class/don.class.php | 4 ++-- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 6f90eb7bcc3..727394cb5b3 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -332,7 +332,7 @@ if ($action == 'create') print ''; // Company - if (! empty($conf->societe->enabled)) + if (! empty($conf->societe->enabled) && ! empty($conf->global->DONATION_USE_THIRDPARTIES)) { // Thirdparty print ''; @@ -377,7 +377,21 @@ if ($action == 'create') print '' . "\n"; } - else + + // Date + print ''; + + // Amount + print "".''; + + // Public donation + print '\n"; + + if (empty($conf->societe->enabled) || empty($conf->global->DONATION_USE_THIRDPARTIES)) { print "".''; print "".''; @@ -401,19 +415,6 @@ if ($action == 'create') print "".''; } - // Date - print ''; - - // Amount - print "".''; - - // Public donation - print '\n"; - // Payment mode print "'; print ''; - // Ref - $url='https://dashboard.stripe.com/test/payments/'.$charge->id; + print ''; + // Ref + $url='https://dashboard.stripe.com/test/payments/'.$charge->id; if ($servicestatus) { $url='https://dashboard.stripe.com/payments/'.$charge->id; From 71e4378bd2788da0ec635fd5283f42e4bdeee76c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 18:51:03 +0200 Subject: [PATCH 60/60] Update charge.php Charges can be done on different stripe account, even if doli thirdparty is same (if thirdparty has changed it stripe account). So keeping it in list seems usefull. --- htdocs/stripe/charge.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/stripe/charge.php b/htdocs/stripe/charge.php index d50259c0d9f..2bcb31f225f 100644 --- a/htdocs/stripe/charge.php +++ b/htdocs/stripe/charge.php @@ -96,7 +96,7 @@ if (!$rowid) print ''; print_liste_field_titre("Ref",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); - //print_liste_field_titre("StripeCustomerId",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); + print_liste_field_titre("StripeCustomerId",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); print_liste_field_titre("Customer",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); print_liste_field_titre("Origin",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); print_liste_field_titre("DatePayment",$_SERVER["PHP_SELF"],"","","",'align="center"',$sortfield,$sortorder); @@ -155,7 +155,7 @@ if (!$rowid) } print "\n"; // Stripe customer - //print "\n"; + print "\n"; // Link print "\n"; // Origine print "
' . $langs->trans('Ref') . '' . $langs->trans('Draft') . '
' . $langs->trans('Customer') . ''; - print $soc->getNomUrl(1); - print ''; - // Outstanding Bill - $outstandingBills = $soc->get_OutstandingBill(); - print ' (' . $langs->trans('CurrentOutstandingBill') . ': '; - print price($outstandingBills, '', $langs, 0, 0, -1, $conf->currency); - if ($soc->outstanding_limit != '') + // Thirdparty + print '' . $langs->trans('Customer') . ''; + print $soc->getNomUrl(1); + print ''; + // Outstanding Bill + $outstandingBills = $soc->get_OutstandingBill(); + print ' (' . $langs->trans('CurrentOutstandingBill') . ': '; + print price($outstandingBills, '', $langs, 0, 0, -1, $conf->currency); + if ($soc->outstanding_limit != '') + { + if ($outstandingBills > $soc->outstanding_limit) print img_warning($langs->trans("OutstandingBillReached")); + print ' / ' . price($soc->outstanding_limit, '', $langs, 0, 0, -1, $conf->currency); + } + print ')'; + print ''; + print $form->select_company($soc->id, 'socid', '(s.client = 1 OR s.client = 3) AND status=1', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300'); + // Option to reload page to retrieve customer informations. Note, this clear other input + if (!empty($conf->global->RELOAD_PAGE_ON_CUSTOMER_CHANGE)) + { + print ''; + } + print ' '.$langs->trans("AddThirdParty").''; + print '
'; - print $form->select_company($soc->id, 'socid', '(s.client = 1 OR s.client = 3) AND status=1', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300'); - // Option to reload page to retrieve customer informations. Note, this clear other input - if (!empty($conf->global->RELOAD_PAGE_ON_CUSTOMER_CHANGE)) - { - print ''; - } - print ' '.$langs->trans("AddThirdParty").''; - print '
'.$langs->trans("Company").'
'.$langs->trans("Lastname").'
'.$langs->trans("Firstname").'
'.$langs->trans("Address").''; + print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''; + print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6); + print ' '; + print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id')); + print '
'; + print $form->select_country(GETPOST('country_id')!=''?GETPOST('country_id'):$object->country_id); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); + print '
'.$langs->trans("EMail").'
'.$langs->trans("Company").'
'.$langs->trans("Lastname").'
'.$langs->trans("Firstname").'
'.$langs->trans("Address").''; - print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''; - print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6); - print ' '; - print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id')); - print '
'; - print $form->select_country(GETPOST('country_id')!=''?GETPOST('country_id'):$object->country_id); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); - print '
'.$langs->trans("EMail").'
'.$langs->trans("Date").''; $form->select_date($donation_date?$donation_date:-1,'','','','',"add",1,1); print '
'.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
'.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
'.$langs->trans("PublicDonation").""; print $form->selectyesno("public",isset($_POST["public"])?$_POST["public"]:1,1); print "
' . $langs->trans('Ref') . '' . $langs->trans('Draft') . '
' . $langs->trans('Customer') . '
'.$langs->trans("Date").''; + $form->select_date($donation_date?$donation_date:-1,'','','','',"add",1,1); + print '
'.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
'.$langs->trans("PublicDonation").""; + print $form->selectyesno("public",isset($_POST["public"])?$_POST["public"]:1,1); + print "
'.$langs->trans("Company").'
'.$langs->trans("Lastname").'
'.$langs->trans("EMail").'
'.$langs->trans("Date").''; - $form->select_date($donation_date?$donation_date:-1,'','','','',"add",1,1); - print '
'.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
'.$langs->trans("PublicDonation").""; - print $form->selectyesno("public",isset($_POST["public"])?$_POST["public"]:1,1); - print "
".$langs->trans("PaymentMode")."\n"; $selected = GETPOST('modepayment','int'); diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index f712ef8b60f..dc178e4a7d5 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -423,8 +423,8 @@ class Don extends CommonObject if (!$error && !empty($conf->global->MAIN_DISABLEDRAFTSTATUS)) { - $res = $this->setValid($user); - if ($res < 0) $error++; + //$res = $this->setValid($user); + //if ($res < 0) $error++; } if (!$error) From 3662ebe3a317e6028e229a502d71183a4fc29e61 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 18:05:20 +0200 Subject: [PATCH 54/60] Fix syntax error --- htdocs/compta/facture/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 2cfd1d03a0e..dbbdf5fa8b9 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -73,7 +73,7 @@ $search_product_category=GETPOST('search_product_category','int'); $search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha'); $search_refcustomer=GETPOST('search_refcustomer','alpha'); $search_type=GETPOST('search_type','int'); -$search_project=GETPOST('search_project','alpha');< +$search_project=GETPOST('search_project','alpha'); $search_societe=GETPOST('search_societe','alpha'); $search_montant_ht=GETPOST('search_montant_ht','alpha'); $search_montant_vat=GETPOST('search_montant_vat','alpha'); From 79dd5e84d28babb3217fe3f5c9cf2410206cbb64 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Mon, 10 Sep 2018 16:46:16 +0200 Subject: [PATCH 55/60] V8 style --- htdocs/stripe/payment.php | 41 ++++++++++++++------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/htdocs/stripe/payment.php b/htdocs/stripe/payment.php index f0c950d85ac..6560d42d137 100644 --- a/htdocs/stripe/payment.php +++ b/htdocs/stripe/payment.php @@ -8,6 +8,7 @@ * Copyright (C) 2014 Raphaël Doursenaud * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> * Copyright (C) 2015 Juanjo Menent + * Copyright (C) 2018 ThibaultFOUCART * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -639,36 +640,24 @@ print 'id!=$source) or ($src->object=='source' && $src->card->three_d_secure=='required')) { print'class="opacitymedium"';} print' >'; -if ($src->object=='card'){ -if ($src->brand == 'Visa') {$brand='cc-visa';} -elseif ($src->brand == 'MasterCard') {$brand='cc-mastercard';} -elseif ($src->brand == 'American Express') {$brand='cc-amex';} -elseif ($src->brand == 'Discover') {$brand='cc-discover';} -elseif ($src->brand == 'JCB') {$brand='cc-jcb';} -elseif ($src->brand == 'Diners Club') {$brand='cc-diners-club';} -else {$brand='credit-card-alt';} -print ''; -} -elseif ($src->object=='source' && $src->type=='card'){ -if ($src->card->brand == 'Visa') {$brand='cc-visa';} -elseif ($src->card->brand == 'MasterCard') {$brand='cc-mastercard';} -elseif ($src->card->brand == 'American Express') {$brand='cc-amex';} -elseif ($src->card->brand == 'Discover') {$brand='cc-discover';} -elseif ($src->card->brand == 'JCB') {$brand='cc-jcb';} -elseif ($src->card->brand == 'Diners Club') {$brand='cc-diners-club';} -else {$brand='credit-card-alt';} - -print ''; -} -elseif ($src->object=='source' && $src->type=='sepa_debit'){ -print ''; -} + if ($src->object=='card') + { + print img_credit_card($src->brand); + } + elseif ($src->object=='source' && $src->type=='card') + { + print img_credit_card($src->card->brand); + } + elseif ($src->object=='source' && $src->type=='sepa_debit') + { + print ''; + } print 'id!=$source) or ($src->object=='source' && $src->card->three_d_secure=='required')) { print'class="opacitymedium"';} print' >'; if ($src->object=='card'){ -print '**** '.$src->last4.'
Exp. '.$src->exp_month.'/'.$src->exp_year.''; + print '....'.$src->last4.' - '.$src->exp_month.'/'.$src->exp_year.''; print '
'; if ($src->country) { @@ -679,7 +668,7 @@ print ''; else print img_warning().' '.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyCountry")).''; } elseif ($src->object=='source' && $src->type=='card'){ - print $src->owner->name.'
**** '.$src->card->last4.' - '.$src->card->exp_month.'/'.$src->card->exp_year.''; + print $src->owner->name.'
....'.$src->card->last4.' - '.$src->card->exp_month.'/'.$src->card->exp_year.''; print '
'; if ($src->card->country) { From 6c17edd1d1bdf3948477075f1c39ff5f62ee0f2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 12 Sep 2018 18:23:58 +0200 Subject: [PATCH 56/60] remove superfluous space --- htdocs/core/lib/payments.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/payments.lib.php b/htdocs/core/lib/payments.lib.php index 05ee9535225..ecbdfad82f5 100644 --- a/htdocs/core/lib/payments.lib.php +++ b/htdocs/core/lib/payments.lib.php @@ -253,7 +253,7 @@ function getOnlinePaymentUrl($mode, $type, $ref='', $amount='9.99', $freetag='yo $out.=($mode?'':''); } } - } + } // For multicompany if (! empty($out) && ! empty($conf->multicompany->enabled)) $out.="&entity=".$conf->entity; // Check the entity because we may have the same reference in several entities From e89ff94d74e42a2fe07273bcf446d3beecf9b224 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 18:35:47 +0200 Subject: [PATCH 57/60] Update stripe.lang --- htdocs/langs/en_US/stripe.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/stripe.lang b/htdocs/langs/en_US/stripe.lang index 5eb1c803829..ed3d24f4370 100644 --- a/htdocs/langs/en_US/stripe.lang +++ b/htdocs/langs/en_US/stripe.lang @@ -61,4 +61,4 @@ ConfirmDeleteCard=Are you sure you want to delete this Credit or Debit card? CreateCustomerOnStripe=Create customer on Stripe CreateCardOnStripe=Create card on Stripe ShowInStripe=Show in Stripe -StripeUserAccountForActions=User account for Stripe actions +StripeUserAccountForActions=User account to use for some emails notification of Stripe events (Stripe payouts) From fb71edd35a262490f951ed1143aa265582213142 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 18:37:24 +0200 Subject: [PATCH 58/60] Update ipn.php --- htdocs/public/stripe/ipn.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/htdocs/public/stripe/ipn.php b/htdocs/public/stripe/ipn.php index 9c7941ff5e7..12420c81add 100644 --- a/htdocs/public/stripe/ipn.php +++ b/htdocs/public/stripe/ipn.php @@ -88,7 +88,10 @@ catch(\UnexpectedValueException $e) { // Do something with $event http_response_code(200); // PHP 5.4 or greater + $langs->load("main"); + +// TODO Do we really need a user in setup just to have an name to fill an email topic when it is a technical system notification email $user = new User($db); $user->fetch($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS); $user->getrights(); From 9efa3816c3171518e1907a6db791cb6319630440 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 12 Sep 2018 18:47:00 +0200 Subject: [PATCH 59/60] Update charge.php --- htdocs/stripe/charge.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/htdocs/stripe/charge.php b/htdocs/stripe/charge.php index b82d8d65a78..d50259c0d9f 100644 --- a/htdocs/stripe/charge.php +++ b/htdocs/stripe/charge.php @@ -120,12 +120,16 @@ if (!$rowid) foreach ($list->data as $charge) { // The metadata FULLTAG is defined by the online payment page - $FULLTAG=$charge->description; + $FULLTAG=$charge->metadata->FULLTAG; // Save into $tmparray all metadata $tmparray = dolExplodeIntoArray($FULLTAG,'.','='); // Load origin object according to metadata - if (! empty($tmparray['CUS']) && $charge->metadata->dol_thirdparty_id) + if (! empty($tmparray['CUS']) && $tmparray['CUS'] > 0) + { + $societestatic->fetch($tmparray['CUS']); + } + elseif (! empty($charge->metadata->dol_thirdparty_id) && $charge->metadata->dol_thirdparty_id > 0) { $societestatic->fetch($charge->metadata->dol_thirdparty_id); } @@ -133,7 +137,7 @@ if (!$rowid) { $societestatic->id = 0; } - if (! empty($tmparray['MEM']) && $charge->metadata->dol_thirdparty_id) + if (! empty($tmparray['MEM']) && $tmparray['MEM'] > 0) { $memberstatic->fetch($tmparray['MEM']); } @@ -142,9 +146,9 @@ if (!$rowid) $memberstatic->id = 0; } - print '
".img_picto($langs->trans('ShowInStripe'), 'object_globe')." ".$charge->id."".$charge->customer."".$charge->customer.""; if ($societestatic->id > 0) @@ -165,7 +165,7 @@ if (!$rowid) elseif ($memberstatic->id > 0) { print $memberstatic->getNomUrl(1); - } else print $charge->customer; + } print "";