Merge remote-tracking branch 'upstream/develop' into develop

This commit is contained in:
Philippe GRAND 2018-09-12 19:17:14 +02:00
commit 44734785b1
93 changed files with 661 additions and 533 deletions

View File

@ -19,7 +19,7 @@ WARNING:
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* If you use some links like viewimages.php?modulepart=mycompany&file=... in you external modules, you must
relace them with links like viewimages.php?modulepart=mycompany&file=logos/... (note that link change only for
replace them with links like viewimages.php?modulepart=mycompany&file=logos/... (note that link change only for
modulepart=mycompany that now works like others).
@ -242,7 +242,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 *****

View File

@ -1,6 +1,10 @@
# 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…).

View File

@ -128,16 +128,16 @@ complete_dictionary_with_modules($taborder,$tabname,$tablib,$tabsql,$tabsqlsort,
// Define elementList and sourceList (used for dictionary type of contacts "llx_c_type_contact")
$elementList = array();
// Must match ids defined into eldy.lib.php
$sourceList = array(
'1' => $langs->trans('AccountingJournalType1'),
'2' => $langs->trans('AccountingJournalType2'),
'3' => $langs->trans('AccountingJournalType3'),
'4' => $langs->trans('AccountingJournalType4'),
'5' => $langs->trans('AccountingJournalType5'),
'8' => $langs->trans('AccountingJournalType8'),
'9' => $langs->trans('AccountingJournalType9')
);
// Must match ids defined into eldy.lib.php
$sourceList = array(
'1' => $langs->trans('AccountingJournalType1'),
'2' => $langs->trans('AccountingJournalType2'),
'3' => $langs->trans('AccountingJournalType3'),
'4' => $langs->trans('AccountingJournalType4'),
'5' => $langs->trans('AccountingJournalType5'),
'8' => $langs->trans('AccountingJournalType8'),
'9' => $langs->trans('AccountingJournalType9'),
);
/*
* Actions
@ -294,10 +294,10 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
//$_GET["id"]=GETPOST('id', 'int'); // Force affichage dictionnaire en cours d'edition
}
if (GETPOST('actioncancel'))
{
//$_GET["id"]=GETPOST('id', 'int'); // Force affichage dictionnaire en cours d'edition
}
//if (GETPOST('actioncancel'))
//{
// $_GET["id"]=GETPOST('id', 'int'); // Force affichage dictionnaire en cours d'edition
//}
if ($action == 'confirm_delete' && $confirm == 'yes') // delete
{

View File

@ -195,18 +195,18 @@ class AccountancyCategory // extends CommonObject
{
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."c_accounting_category");
if (! $notrigger)
{
// Uncomment this and change MYOBJECT to your own tag if you
// want this action call a trigger.
// Uncomment this and change MYOBJECT to your own tag if you
// want this action call a trigger.
//if (! $notrigger)
//{
//// Call triggers
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
//$interface=new Interfaces($this->db);
//$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
//// End call triggers
}
// // Call triggers
// include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
// $interface=new Interfaces($this->db);
// $result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
// if ($result < 0) { $error++; $this->errors=$interface->errors; }
// // End call triggers
//}
}
// Commit or rollback
@ -334,18 +334,17 @@ class AccountancyCategory // extends CommonObject
if (! $error)
{
if (! $notrigger)
{
// Uncomment this and change MYOBJECT to your own tag if you
// want this action call a trigger.
//// Call triggers
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
//$interface=new Interfaces($this->db);
//$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
//// End call triggers
}
// Uncomment this and change MYOBJECT to your own tag if you
// want this action call a trigger.
//if (! $notrigger)
//{
// // Call triggers
// include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
// $interface=new Interfaces($this->db);
// $result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
// if ($result < 0) { $error++; $this->errors=$interface->errors; }
// // End call triggers
//}
}
// Commit or rollback
@ -390,18 +389,17 @@ class AccountancyCategory // extends CommonObject
if (! $error)
{
if (! $notrigger)
{
// Uncomment this and change MYOBJECT to your own tag if you
// want this action call a trigger.
//// Call triggers
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
//$interface=new Interfaces($this->db);
//$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
//// End call triggers
}
// Uncomment this and change MYOBJECT to your own tag if you
// want this action call a trigger.
//if (! $notrigger)
//{
// // Call triggers
// include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
// $interface=new Interfaces($this->db);
// $result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
// if ($result < 0) { $error++; $this->errors=$interface->errors; }
// // End call triggers
//}
}
// Commit or rollback

View File

@ -335,18 +335,15 @@ class BookKeeping extends CommonObject
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
if (! $error) {
// Uncomment this and change MYOBJECT to your own tag if you
// want this action to call a trigger.
//if (! $error && ! $notrigger) {
if (! $notrigger) {
// Uncomment this and change MYOBJECT to your own tag if you
// want this action to call a trigger.
// // 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
if ($error) {
@ -566,15 +563,15 @@ class BookKeeping extends CommonObject
if (! $error) {
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . $this->table_element . $mode);
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
@ -1131,15 +1128,15 @@ class BookKeeping extends CommonObject
dol_syslog(__METHOD__ . ' ' . join(',', $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) {
@ -1205,17 +1202,15 @@ class BookKeeping extends CommonObject
$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 (! $error) {
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element.$mode;

View File

@ -153,7 +153,7 @@ $y = $year_current;
$buttonbind = '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' . $year_current . '&action=validatehistory">' . $langs->trans("ValidateHistory") . '</a>';
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';
@ -229,7 +229,7 @@ print '<br>';
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';
@ -309,7 +309,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print '<br>';
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';

View File

@ -150,7 +150,7 @@ $buttonbind = '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' .
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';
@ -221,7 +221,7 @@ print '<br>';
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 '<div class="div-table-responsive-no-min">';
@ -297,7 +297,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print '<br>';
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';

View File

@ -55,7 +55,7 @@ if ($conf->accounting->enabled)
print $langs->trans("AccountancyAreaDescIntro")."<br>\n";
print "<br>\n";print "<br>\n";
print_fiche_titre('<span class="fa fa-calendar-check-o"></span> '.$langs->trans("AccountancyAreaDescActionOnce"), '', '')."<br>\n";
print load_fiche_titre('<span class="fa fa-calendar-check-o"></span> '.$langs->trans("AccountancyAreaDescActionOnce"), '', '')."<br>\n";
print '<hr>';
print "<br>\n";
@ -131,7 +131,7 @@ if ($conf->accounting->enabled)
print "<br>\n";
print_fiche_titre('<span class="fa fa-calendar"></span> '.$langs->trans("AccountancyAreaDescActionFreq"), '', '');
print load_fiche_titre('<span class="fa fa-calendar"></span> '.$langs->trans("AccountancyAreaDescActionFreq"), '', '');
print '<hr>';
print "<br>\n";
$step = 0;

View File

@ -150,7 +150,7 @@ $buttonbind = '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' .
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';
@ -221,7 +221,7 @@ print '<br>';
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';
@ -295,7 +295,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print '<br>';
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 '<div class="div-table-responsive-no-min">';
print '<table class="noborder" width="100%">';

View File

@ -2624,6 +2624,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;

View File

@ -306,7 +306,7 @@ if (! empty($conf->product->enabled))
print '<tr class="oddeven">';
print '<td>'.$langs->trans("SetDefaultBarcodeTypeProducts").'</td>';
print '<td width="60" align="right">';
$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 '</td></tr>';
}
@ -317,7 +317,7 @@ if (! empty($conf->societe->enabled))
print '<tr class="oddeven">';
print '<td>'.$langs->trans("SetDefaultBarcodeTypeThirdParties").'</td>';
print '<td width="60" align="right">';
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 '</td></tr>';
}

View File

@ -1,8 +1,7 @@
<?php
/* Copyright (C) 2011-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2015 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com>
* Copyright (C) 2011-2018 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com>
*
* This 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 "</tr>\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 '<tr class="oddeven"><td width="100">';
print (empty($module->name)?$name:$module->name);
print "</td><td>\n";
@ -474,7 +470,6 @@ print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
print '<td align="center" width="60">'.$langs->trans("Value").'</td>';
print "</tr>\n";
$var=true;
$substitutionarray=pdf_getSubstitutionArray($langs, array('objectamount'), null, 2);
$substitutionarray['__(AnyTranslationKey)__']=$langs->trans("Translation");
@ -482,7 +477,6 @@ $htmltext = '<i>'.$langs->trans("AvailableVariables").':<br>';
foreach($substitutionarray as $key => $val) $htmltext.=$key.'<br>';
$htmltext.='</i>';
$var=! $var;
print '<tr class="oddeven"><td colspan="2">';
print $form->textwithpicto($langs->trans("FreeLegalTextOnHolidays"), $langs->trans("AddCRIfTooLong").'<br><br>'.$htmltext, 1, 'help', '', 0, 2, 'tooltiphelp');
print '<br>';

View File

@ -598,17 +598,18 @@ if ($mode == 'common')
}
// Print a separator if we change family
if ($familykey!=$oldfamily)
{
if ($oldfamily) print '</table></div><br>';
if ($familykey != $oldfamily) {
if ($oldfamily) {
print '</table></div><br>';
}
$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 '<div class="div-table-responsive">';
print '<table class="tagtable liste" summary="list_of_modules">'."\n";
print '<table class="tagtable liste" summary="list_of_modules">'."\n";
$atleastoneforfamily=0;
$atleastoneforfamily=0;
}
$atleastoneforfamily++;

View File

@ -171,7 +171,7 @@ llxHeader('', $langs->trans($page_name));
// Subheader
$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1">' . $langs->trans("BackToModuleList") . '</a>';
print_fiche_titre($langs->trans($page_name), $linkback);
print load_fiche_titre($langs->trans($page_name), $linkback);
// Configuration header
$head = multicurrencyAdminPrepareHead();

View File

@ -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();

View File

@ -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='<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
print load_fiche_titre($langs->trans('SalariesSetup'),$linkback,'title_setup');

View File

@ -4,7 +4,7 @@
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2013-2018 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
*
* 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);

View File

@ -422,7 +422,7 @@ if (! $error && $xml)
$outcurrentchecksum = '<span class="'.$resultcode.'">'.$checksumget.'</span>';
}
print_fiche_titre($langs->trans("GlobalChecksum")).'<br>';
print load_fiche_titre($langs->trans("GlobalChecksum")).'<br>';
print $langs->trans("ExpectedChecksum").' = '. $outexpectedchecksum .'<br>';
print $langs->trans("CurrentChecksum").' = '. $outcurrentchecksum;
@ -438,4 +438,3 @@ llxFooter();
$db->close();
exit($error);

View File

@ -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();

View File

@ -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();

View File

@ -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;

View File

@ -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');

View File

@ -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").' : <strong>'.DOL_VERSION.'</strong><br>';
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").' : <b>'. (($version != '0.0')?$version:$langs->trans("Unknown")) .'</b><br>';
}

View File

@ -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").' &nbsp; ';
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
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 '</div></div>';
// Barcode value

View File

@ -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"));
/*

View File

@ -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 )

View File

@ -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;

View File

@ -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

View File

@ -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"));
?>

View File

@ -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".'<!-- menu.tpl.php -->'."\n";
print '<div class="menu_bloc">';

View File

@ -27,8 +27,8 @@ if (empty($langs) || ! is_object($langs))
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$langs->load("main");
$langs->load('cashdesk');
// Load translation files required by the page
$langs->loadLangs(array("main","cashdesk"));
top_httphead('text/html');

View File

@ -23,10 +23,8 @@ if (empty($langs) || ! is_object($langs))
exit;
}
$langs->load("main");
$langs->load("bills");
$langs->load("banks");
// Load translation files required by the page
$langs->loadLangs(array("main","bills","banks"));
// Object $form must de defined

View File

@ -24,9 +24,8 @@ if (empty($langs) || ! is_object($langs))
exit;
}
$langs->load("main");
$langs->load("bills");
// Load translation files required by the page
$langs->loadLangs(array("main","bills"));
?>

View File

@ -28,9 +28,8 @@ require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$langs->load("admin");
$langs->load("other");
$langs->load("website");
// Load translation files required by the page
$langs->loadLangs(array("admin","other","website"));
if (! $user->admin) accessforbidden();

View File

@ -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);

View File

@ -284,7 +284,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").')';

View File

@ -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='')

View File

@ -220,7 +220,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)

View File

@ -1003,8 +1003,8 @@ class FactureRec extends CommonInvoice
$error=0;
$langs->load("bills");
$langs->load('main');
// Load translation files required by the page
$langs->loadLangs(array("main","bills"));
$nb_create=0;

View File

@ -30,15 +30,11 @@ require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.p
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
// Load translation files required by the page
$langs->loadLangs(array('banks', 'categories'));
$langs->loadLangs(array('banks', 'categories','bills','withdrawals'));
if (!$user->rights->prelevement->bons->lire)
accessforbidden();
$langs->load("bills");
$langs->load("withdrawals");
// Security check
if ($user->societe_id > 0) accessforbidden();

View File

@ -93,8 +93,8 @@ if ($time >= $_SESSION['auto_check_events_not_before'])
while ($obj = $db->fetch_object($resql))
{
$langs->load("agenda");
$langs->load("commercial");
// Load translation files required by the page
$langs->loadLangs(array('agenda', 'commercial'));
$actionmod->fetch($obj->id);

View File

@ -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";

View File

@ -31,21 +31,21 @@ require_once DOL_DOCUMENT_ROOT."/core/lib/date.lib.php";
*/
class box_task extends ModeleBoxes
{
var $boxcode="projet";
var $boximg="object_projecttask";
var $boxlabel;
//var $depends = array("projet");
public $boxcode="projet";
public $boximg="object_projecttask";
public $boxlabel;
//public $depends = array("projet");
/**
* @var DoliDB Database handler.
*/
public $db;
var $param;
var $enabled = 0; // Disabled because bugged.
var $info_box_head = array();
var $info_box_contents = array();
public $param;
public $enabled = 0; // Disabled because bugged.
public $info_box_head = array();
public $info_box_contents = array();
/**
@ -57,8 +57,10 @@ class box_task 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->boxlabel="Tasks";
$this->db = $db;
@ -131,7 +133,7 @@ class box_task extends ModeleBoxes
}
// Add the sum à the bottom of the boxes
// Add the sum at the bottom of the boxes
$this->info_box_contents[$i][] = array('tr' => 'class="liste_total"', 'td' => '', 'text' => $langs->trans("Total")."&nbsp;".$textHead);
$this->info_box_contents[$i][] = array('td' => 'align="right" ', 'text' => number_format($totalnb, 0, ',', ' ')."&nbsp;".$langs->trans("Tasks"));
$this->info_box_contents[$i][] = array('td' => 'align="right" ', 'text' => ConvertSecondToTime($totalplannedtot,'all',25200,5));

View File

@ -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

View File

@ -1,6 +1,6 @@
<?php
/*
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
* Copyright (C) 2015-2018 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -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;

View File

@ -1,21 +1,22 @@
<?php
/* Copyright (C) 2007-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2008-2012 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This 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 <http://www.gnu.org/licenses/>.
*
*/
/* Copyright (C) 2007-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2008-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* 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 <http://www.gnu.org/licenses/>.
*
*/
/**
* \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 '<select class="flat minwidth75imp" name="'.$htmlname.'" id="select_'.$htmlname.'">';
print '<option value="0">&nbsp;</option>';
}
else
{
if ($useempty && $num > 0) {
$out .= '<select class="flat minwidth75imp" name="' . $htmlname . '" id="select_' . $htmlname . '">';
$out .= '<option value="0">&nbsp;</option>';
} else {
$langs->load("errors");
print '<select disabled class="flat minwidth75imp" name="'.$htmlname.'" id="select_'.$htmlname.'">';
print '<option value="0" selected>'.$langs->trans('ErrorNoActivatedBarcode').'</option>';
$out .= '<select disabled class="flat minwidth75imp" name="' . $htmlname . '" id="select_' . $htmlname . '">';
$out .= '<option value="0" selected>' . $langs->trans('ErrorNoActivatedBarcode') . '</option>';
}
while ($i < $num)
{
while ($i < $num) {
$obj = $this->db->fetch_object($result);
if ($selected == $obj->rowid)
{
print '<option value="'.$obj->rowid.'" selected>';
if ($selected == $obj->rowid) {
$out .= '<option value="' . $obj->rowid . '" selected>';
} else {
$out .= '<option value="' . $obj->rowid . '">';
}
else
{
print '<option value="'.$obj->rowid.'">';
}
print $obj->libelle;
print '</option>';
$out .= $obj->libelle;
$out .= '</option>';
$i++;
}
print "</select>";
print ajax_combobox("select_".$htmlname);
$out .= "</select>";
$out .= ajax_combobox("select_".$htmlname);
}
else {
dol_print_error($this->db);
}
return $out;
}
/**
@ -170,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 '<form method="post" action="'.$page.'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="set'.$htmlname.'">';
print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
print '<tr><td>';
$this->select_barcode_type($selected, $htmlname, 1);
print '</td>';
print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'">';
print '</td></tr></table></form>';
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 .= '<form method="post" action="' . $page . '">';
$out .= '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
$out .= '<input type="hidden" name="action" value="set'.$htmlname.'">';
$out .= '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
$out .= '<tr><td>';
$out .= $this->selectBarcodeType($selected, $htmlname, 1);
$out .= '</td>';
$out .= '<td align="left"><input type="submit" class="button" value="' . $langs->trans("Modify") . '">';
$out .= '</td></tr></table></form>';
}
return $out;
}
}

View File

@ -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'))

View File

@ -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);

View File

@ -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.'&amp;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';

View File

@ -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';

View File

@ -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).'<br>';
@ -236,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?'<font color="#666666">':'');
if ($mode == 1) $out.='donation_ref';
if ($mode == 0) $out.=urlencode($ref);
$out.=($mode?'</font>':'');
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?'<font color="#666666">':'');
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?'</font>':'');
}
}
}
// 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

View File

@ -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';

View File

@ -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();

View File

@ -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).'<br>';

View File

@ -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();

View File

@ -567,8 +567,9 @@ function dolSavePageAlias($filealias, $object, $objectpage)
$aliascontent.= 'else require $dolibarr_main_data_root.\'/website/\'.$website->ref.\'/page'.$objectpage->id.'.tpl.php\';'."\n";
$aliascontent.= '?>'."\n";
$result = file_put_contents($filealias, $aliascontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filealias, octdec($conf->global->MAIN_UMASK));
if (! empty($conf->global->MAIN_UMASK)) {
@chmod($filealias, octdec($conf->global->MAIN_UMASK));
}
return ($result?true:false);
}
@ -646,7 +647,7 @@ function dolSavePageContent($filetpl, $object, $objectpage)
* @param string $pathofwebsite Path of website root
* @param string $fileindex Full path of file index.php
* @param string $filetpl File tpl to index.php page redirect to
* @param string $fileindex Full path of file wrapper.php
* @param string $filewrapper Full path of file wrapper.php
* @return boolean True if OK
*/
function dolSaveIndexPage($pathofwebsite, $fileindex, $filetpl, $filewrapper)
@ -826,5 +827,3 @@ function dolSaveHtaccessFile($filehtaccess, $htaccess)
return true;
}

View File

@ -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&amp;mainmenu=members",$langs->trans("Members"),0,$user->rights->adherent->lire, '', $mainmenu, 'members');
$newmenu->add("/adherents/card.php?leftmenu=members&amp;action=create",$langs->trans("NewMember"),1,$user->rights->adherent->creer);

View File

@ -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 = "";

View File

@ -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";

View File

@ -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);

View File

@ -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";

View File

@ -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);

View File

@ -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='';

View File

@ -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);

View File

@ -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.

View File

@ -85,7 +85,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),
);
}
}

View File

@ -260,13 +260,13 @@ $domData .= ' data-product_type="'.$line->product_type.'"';
<?php if ($line->special_code == 3) { ?>
<td align="right" class="linecoloption nowrap"><?php $coldisplay++; ?><?php echo $langs->trans('Option'); ?></td>
<?php } else { ?>
<td align="right" class="liencolht nowrap"><?php $coldisplay++; ?><?php echo price($line->total_ht); ?></td>
<td align="right" class="linecolht nowrap"><?php $coldisplay++; ?><?php echo price($line->total_ht); ?></td>
<?php if (!empty($conf->multicurrency->enabled) && $this->multicurrency_code != $conf->currency) { ?>
<td align="right" class="linecolutotalht_currency nowrap"><?php $coldisplay++; ?><?php echo price($line->multicurrency_total_ht); ?></td>
<?php } ?>
<?php } ?>
<?php if ($outputalsopricetotalwithtax) { ?>
<td align="right" class="liencolht nowrap"><?php $coldisplay++; ?><?php echo price($line->total_ttc); ?></td>
<td align="right" class="linecolht nowrap"><?php $coldisplay++; ?><?php echo price($line->total_ttc); ?></td>
<?php } ?>

View File

@ -1,4 +1,4 @@
<?php
<<?php
/* Copyright (C) 2017 Laurent Destailleur <eldy@destailleur.fr>
*
* This program is free software; you can redistribute it and/or modify
@ -118,6 +118,28 @@ if (! empty($conf->adherent->enabled))
}
print '<br>';
}
if (! empty($conf->don->enabled))
{
print img_picto('','object_globe.png').' '.$langs->trans("ToOfferALinkForOnlinePaymentOnDonation",$servicename).':<br>';
print '<strong>'.getOnlinePaymentUrl(1,'donation')."</strong><br>\n";
if (! empty($conf->global->PAYMENT_SECURITY_TOKEN) && ! empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE))
{
$langs->load("members");
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print $langs->trans("EnterRefToBuildUrl",$langs->transnoentitiesnoconv("Don")).': ';
print '<input type="text class="flat" id="generate_donation_ref" name="generate_donation_ref" value="'.GETPOST('generate_donation_ref','alpha').'" size="10">';
print '<input type="submit" class="none reposition button" value="'.$langs->trans("GetSecuredUrl").'">';
if (GETPOST('generate_donation_ref'))
{
print '<br> -> <strong>';
$url=getOnlinePaymentUrl(0,'donation',GETPOST('generate_donation_ref','alpha'));
print $url;
print "</strong><br>\n";
}
print '</form>';
}
print '<br>';
}
if (! empty($conf->use_javascript_ajax))
{
@ -140,3 +162,4 @@ print info_admin($langs->trans("YouCanAddTagOnUrl"));
print '<!-- END PHP TEMPLATE ONLINEPAYMENTLINKS -->';

View File

@ -4,6 +4,7 @@
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2018 Thibault FOUCART <support@ptibogxiv.net>
*
* This 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,13 +27,16 @@
*/
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';
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';
@ -40,9 +44,7 @@ if (! empty($conf->projet->enabled))
}
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');
@ -326,38 +328,92 @@ if ($action == 'create')
print '<table class="border" width="100%">';
print '<tbody>';
// Date
// Ref
print '<tr><td class="titlefieldcreate fieldrequired">' . $langs->trans('Ref') . '</td><td colspan="2">' . $langs->trans('Draft') . '</td></tr>';
// Company
if (! empty($conf->societe->enabled) && ! empty($conf->global->DONATION_USE_THIRDPARTIES))
{
// Thirdparty
print '<td>' . $langs->trans('Customer') . '</td>';
if ($soc->id > 0 && ! GETPOST('fac_rec','alpha'))
{
print '<td colspan="2">';
print $soc->getNomUrl(1);
print '<input type="hidden" name="socid" value="' . $soc->id . '">';
// 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 '</td>';
}
else
{
print '<td colspan="2">';
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 '<script type="text/javascript">
$(document).ready(function() {
$("#socid").change(function() {
var socid = $(this).val();
var fac_rec = $(\'#fac_rec\').val();
// reload page
window.location.href = "'.$_SERVER["PHP_SELF"].'?action=create&socid="+socid+"&fac_rec="+fac_rec;
});
});
</script>';
}
print ' <a href="'.DOL_URL_ROOT.'/societe/card.php?action=create&client=3&fournisseur=0&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create').'">'.$langs->trans("AddThirdParty").'</a>';
print '</td>';
}
print '</tr>' . "\n";
}
// Date
print '<tr><td class="fieldrequired titlefieldcreate">'.$langs->trans("Date").'</td><td>';
$form->select_date($donation_date?$donation_date:-1,'','','','',"add",1,1);
print '</td>';
// Amount
print "<tr>".'<td class="fieldrequired">'.$langs->trans("Amount").'</td><td><input type="text" name="amount" value="'.dol_escape_htmltag(GETPOST("amount")).'" size="10"> '.$langs->trans("Currency".$conf->currency).'</td></tr>';
// Amount
print "<tr>".'<td class="fieldrequired">'.$langs->trans("Amount").'</td><td><input type="text" name="amount" value="'.dol_escape_htmltag(GETPOST("amount")).'" size="10"> '.$langs->trans("Currency".$conf->currency).'</td></tr>';
// Public donation
print '<tr><td class="fieldrequired">'.$langs->trans("PublicDonation")."</td><td>";
print $form->selectyesno("public",isset($_POST["public"])?$_POST["public"]:1,1);
print "</td></tr>\n";
print "<tr>".'<td>'.$langs->trans("Company").'</td><td><input type="text" name="societe" value="'.dol_escape_htmltag(GETPOST("societe")).'" class="maxwidth200"></td></tr>';
print "<tr>".'<td>'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" value="'.dol_escape_htmltag(GETPOST("lastname")).'" class="maxwidth200"></td></tr>';
print "<tr>".'<td>'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" value="'.dol_escape_htmltag(GETPOST("firstname")).'" class="maxwidth200"></td></tr>';
print "<tr>".'<td>'.$langs->trans("Address").'</td><td>';
print '<textarea name="address" wrap="soft" class="quatrevingtpercent" rows="3">'.dol_escape_htmltag(GETPOST("address")).'</textarea></td></tr>';
if (empty($conf->societe->enabled) || empty($conf->global->DONATION_USE_THIRDPARTIES))
{
print "<tr>".'<td>'.$langs->trans("Company").'</td><td><input type="text" name="societe" value="'.dol_escape_htmltag(GETPOST("societe")).'" class="maxwidth200"></td></tr>';
print "<tr>".'<td>'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" value="'.dol_escape_htmltag(GETPOST("lastname")).'" class="maxwidth200"></td></tr>';
print "<tr>".'<td>'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" value="'.dol_escape_htmltag(GETPOST("firstname")).'" class="maxwidth200"></td></tr>';
print "<tr>".'<td>'.$langs->trans("Address").'</td><td>';
print '<textarea name="address" wrap="soft" class="quatrevingtpercent" rows="3">'.dol_escape_htmltag(GETPOST("address")).'</textarea></td></tr>';
// Zip / Town
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
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 '</tr>';
// Zip / Town
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
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 '</tr>';
// Country
print '<tr><td><label for="selectcountry_id">'.$langs->trans('Country').'</label></td><td class="maxwidthonsmartphone">';
print $form->select_country(GETPOST('country_id')!=''?GETPOST('country_id'):$object->country_id);
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
print '</td></tr>';
// Country
print '<tr><td><label for="selectcountry_id">'.$langs->trans('Country').'</label></td><td class="maxwidthonsmartphone">';
print $form->select_country(GETPOST('country_id')!=''?GETPOST('country_id'):$object->country_id);
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
print '</td></tr>';
print "<tr>".'<td>'.$langs->trans("EMail").'</td><td><input type="text" name="email" value="'.dol_escape_htmltag(GETPOST("email")).'" class="maxwidth200"></td></tr>';
print "<tr>".'<td>'.$langs->trans("EMail").'</td><td><input type="text" name="email" value="'.dol_escape_htmltag(GETPOST("email")).'" class="maxwidth200"></td></tr>';
}
// Payment mode
print "<tr><td>".$langs->trans("PaymentMode")."</td><td>\n";
@ -791,6 +847,16 @@ if (! empty($id) && $action != 'edit')
$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 '<br><!-- Link to pay -->'."\n";
require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php';
print showOnlinePaymentUrl('donation', $object->ref).'<br>';
}
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
print '</div></div></div>';

View File

@ -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)
{
@ -432,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)
@ -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

View File

@ -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);

View File

@ -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.
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

View File

@ -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 <b>&tag=<i>value</i></b> to any of those URL (required only for free payment) to add your own payment comment tag.
SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url <b>%s</b> to have payment created automatically when validated by Stripe.
SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url <b>%s</b> 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
ShowInStripe=Show in Stripe
StripeUserAccountForActions=User account to use for some emails notification of Stripe events (Stripe payouts)

View File

@ -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

View File

@ -238,7 +238,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';

View File

@ -429,7 +429,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;

View File

@ -1185,7 +1185,7 @@ elseif (! empty($module))
print '<br>';
print '<br>';
print_fiche_titre($langs->trans("DescriptorFile"));
print load_fiche_titre($langs->trans("DescriptorFile"));
if (! empty($moduleobj))
{
@ -1249,7 +1249,7 @@ elseif (! empty($module))
print '<br><br>';
// Readme file
print_fiche_titre($langs->trans("ReadmeFile"));
print load_fiche_titre($langs->trans("ReadmeFile"));
print '<div class="underbanner clearboth"></div>';
print '<div class="fichecenter">';
@ -1259,7 +1259,7 @@ elseif (! empty($module))
print '<br><br>';
// ChangeLog
print_fiche_titre($langs->trans("ChangeLog"));
print load_fiche_titre($langs->trans("ChangeLog"));
print '<div class="underbanner clearboth"></div>';
print '<div class="fichecenter">';

View File

@ -409,27 +409,27 @@ class MyObject extends CommonObject
elseif ($mode == 2)
{
if ($status == 1) return img_picto($this->labelstatus[$status],'statut4').' '.$this->labelstatus[$status];
if ($status == 0) return img_picto($this->labelstatus[$status],'statut5').' '.$this->labelstatus[$status];
elseif ($status == 0) return img_picto($this->labelstatus[$status],'statut5').' '.$this->labelstatus[$status];
}
elseif ($mode == 3)
{
if ($status == 1) return img_picto($this->labelstatus[$status],'statut4');
if ($status == 0) return img_picto($this->labelstatus[$status],'statut5');
elseif ($status == 0) return img_picto($this->labelstatus[$status],'statut5');
}
elseif ($mode == 4)
{
if ($status == 1) return img_picto($this->labelstatus[$status],'statut4').' '.$this->labelstatus[$status];
if ($status == 0) return img_picto($this->labelstatus[$status],'statut5').' '.$this->labelstatus[$status];
elseif ($status == 0) return img_picto($this->labelstatus[$status],'statut5').' '.$this->labelstatus[$status];
}
elseif ($mode == 5)
{
if ($status == 1) return $this->labelstatus[$status].' '.img_picto($this->labelstatus[$status],'statut4');
if ($status == 0) return $this->labelstatus[$status].' '.img_picto($this->labelstatus[$status],'statut5');
elseif ($status == 0) return $this->labelstatus[$status].' '.img_picto($this->labelstatus[$status],'statut5');
}
elseif ($mode == 6)
{
if ($status == 1) return $this->labelstatus[$status].' '.img_picto($this->labelstatus[$status],'statut4');
if ($status == 0) return $this->labelstatus[$status].' '.img_picto($this->labelstatus[$status],'statut5');
elseif ($status == 0) return $this->labelstatus[$status].' '.img_picto($this->labelstatus[$status],'statut5');
}
}

View File

@ -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 '</td><td>'.$langs->trans("BarcodeValue").'</td><td>';
$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 '</td><td>'.$langs->trans("BarcodeValue").'</td><td>';
$tmpcode=isset($_POST['barcode'])?GETPOST('barcode'):$object->barcode;
if (empty($tmpcode) && ! empty($modBarCodeProduct->code_auto)) $tmpcode=$modBarCodeProduct->getNextValue($object,$type);
@ -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
{

View File

@ -801,6 +801,11 @@ if ($ispaymentok)
$content.="<br>\n";
$content.="tag=".$fulltag."<br>\ntoken=".$onlinetoken."<br>\npaymentType=".$paymentType."<br>\ncurrencycodeType=".$currencyCodeType."<br>\npayerId=".$payerID."<br>\nipaddress=".$ipaddress."<br>\nFinalPaymentAmt=".$FinalPaymentAmt."<br>\n";
if (! empty($ErrorCode)) $content.="ErrorCode = ".$ErrorCode."<br>\n";
if (! empty($ErrorShortMsg)) $content.="ErrorShortMsg = ".$ErrorShortMsg."<br>\n";
if (! empty($ErrorLongMsg)) $content.="ErrorLongMsg = ".$ErrorLongMsg."<br>\n";
if (! empty($ErrorSeverityCode)) $content.="ErrorSeverityCode = ".$ErrorSeverityCode."<br>\n";
$ishtml=dol_textishtml($content); // May contain urls
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';

View File

@ -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="";

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2018 Thibault FOUCART <support@ptibogxiv.net>
/* Copyright (C) 2018 Thibault FOUCART <support@ptibogxiv.net>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -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'])){
@ -86,9 +88,12 @@ 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(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 +131,37 @@ 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.'>';
}
$replyto = $sendto;
$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
{

View File

@ -1962,7 +1962,7 @@ else
// Capital
print '<tr><td>'.fieldLabel('Capital','capital').'</td>';
print '<td colspan="3"><input type="text" name="capital" id="capital" size="10" value="';
print dol_escape_htmltag(price($object->capital));
print $object->capital != '' ? dol_escape_htmltag(price($object->capital)) : '';
print '"> <font class="hideonsmartphone">'.$langs->trans("Currency".$conf->currency).'</font></td></tr>';
// Assign a Name

View File

@ -264,7 +264,7 @@ print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
* 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 '<tr class="oddeven">';
// Name

View File

@ -3,6 +3,7 @@
* Copyright (C) 2017 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2017 Saasprov <saasprov@gmail.com>
* Copyright (C) 2018 ptibogxiv <support@ptibogxiv.net>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -70,10 +71,14 @@ 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);
$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);
@ -116,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
@ -251,6 +254,11 @@ print '<input size="64" type="text" name="ONLINE_PAYMENT_CREDITOR" value="'.$con
print ' &nbsp; '.$langs->trans("Example").': '.$mysoc->name;
print '</td></tr>';
print '<tr class="oddeven"><td>';
print $langs->trans("StripeUserAccountForActions").'</td><td>';
print $form->select_dolusers($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS, 'STRIPE_USER_ACCOUNT_FOR_ACTIONS', 0);
print '</td></tr>';
print '<tr class="oddeven"><td>';
print $langs->trans("BankAccount").'</td><td>';
print $form->select_comptes($conf->global->STRIPE_BANK_ACCOUNT_FOR_PAYMENTS, 'STRIPE_BANK_ACCOUNT_FOR_PAYMENTS', 0, '', 1);
@ -357,4 +365,3 @@ if (! empty($conf->use_javascript_ajax))
// End of page
llxFooter();
$db->close();

View File

@ -125,15 +125,19 @@ if (!$rowid)
// Save into $tmparray all metadata
$tmparray = dolExplodeIntoArray($FULLTAG,'.','=');
// Load origin object according to metadata
if (! empty($tmparray['CUS']))
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);
}
else
{
$societestatic->id = 0;
}
if (! empty($tmparray['MEM']))
if (! empty($tmparray['MEM']) && $tmparray['MEM'] > 0)
{
$memberstatic->fetch($tmparray['MEM']);
}
@ -142,9 +146,14 @@ if (!$rowid)
$memberstatic->id = 0;
}
print '<TR class="oddeven">';
// Ref
print "<TD><A href='".DOL_URL_ROOT."/stripe/charge.php?rowid=".$charge->id."'>".$charge->id."</A></TD>\n";
print '<TR class="oddeven">';
// Ref
$url='https://dashboard.stripe.com/test/payments/'.$charge->id;
if ($servicestatus)
{
$url='https://dashboard.stripe.com/payments/'.$charge->id;
}
print "<TD><a href='".$url."' target='_stripe'>".img_picto($langs->trans('ShowInStripe'), 'object_globe')." ".$charge->id."</a></TD>\n";
// Stripe customer
print "<TD>".$charge->customer."</TD>\n";
// Link
@ -153,23 +162,26 @@ if (!$rowid)
{
print $societestatic->getNomUrl(1);
}
if ($memberstatic->id > 0)
elseif ($memberstatic->id > 0)
{
print $memberstatic->getNomUrl(1);
}
print "</TD>\n";
// Origine
print "<TD>";
print $FULLTAG;
if ($charge->metadata->source=="order"){
if ($charge->metadata->dol_type=="order"){
$object = new Commande($db);
$object->fetch($charge->metadata->idsource);
print "<A href='".DOL_URL_ROOT."/commande/card.php?id=".$charge->metadata->idsource."'>".img_picto('', 'object_order')." ".$object->ref."</A>";
} elseif ($charge->metadata->source=="invoice"){
$object->fetch($charge->metadata->dol_id);
if ($object->id > 0) {
print "<A href='".DOL_URL_ROOT."/commande/card.php?id=".$object->id."'>".img_picto('', 'object_order')." ".$object->ref."</A>";
} else print $FULLTAG;
} elseif ($charge->metadata->dol_type=="invoice"){
$object = new Facture($db);
$object->fetch($charge->metadata->idsource);
print "<A href='".DOL_URL_ROOT."/compta/facture/card.php?facid=".$charge->metadata->idsource."'>".img_picto('', 'object_invoice')." ".$object->ref."</A>";
}
$object->fetch($charge->metadata->dol_id);
if ($object->id > 0) {
print "<A href='".DOL_URL_ROOT."/compta/facture/card.php?facid=".$charge->metadata->dol_id."'>".img_picto('', 'object_invoice')." ".$object->ref."</A>";
} else print $FULLTAG;
} else print $FULLTAG;
print "</TD>\n";
// Date payment
print '<TD align="center">'.dol_print_date($charge->created,'%d/%m/%Y %H:%M')."</TD>\n";
@ -190,14 +202,16 @@ if (!$rowid)
// Status
print '<TD align="right">';
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."<br>";
$label.="Réseau: ".$charge->outcome->network_status."<br>";
$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 "</TD>\n";

View File

@ -8,6 +8,7 @@
* Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com>
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2018 ThibaultFOUCART <support@ptibogxiv.net>
*
* This 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 '<td ';
if (($action == 'add_paiement' && $src->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 '<span class="fa fa-'.$brand.' fa-3x fa-fw"></span>';
}
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 '<span class="fa fa-'.$brand.' fa-3x fa-fw"></span>';
}
elseif ($src->object=='source' && $src->type=='sepa_debit'){
print '<span class="fa fa-university fa-3x fa-fw"></span>';
}
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 '<span class="fa fa-university fa-2x fa-fw"></span>';
}
print '</td>';
print '<td ';
if (($action == 'add_paiement' && $src->id!=$source) or ($src->object=='source' && $src->card->three_d_secure=='required')) { print'class="opacitymedium"';}
print' >';
if ($src->object=='card'){
print '**** '.$src->last4.'<br>Exp. '.$src->exp_month.'/'.$src->exp_year.'';
print '....'.$src->last4.' - '.$src->exp_month.'/'.$src->exp_year.'';
print '</td><td>';
if ($src->country)
{
@ -679,7 +668,7 @@ print '</td><td>';
else print img_warning().' <font class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyCountry")).'</font>';
}
elseif ($src->object=='source' && $src->type=='card'){
print $src->owner->name.'<br>**** '.$src->card->last4.' - '.$src->card->exp_month.'/'.$src->card->exp_year.'';
print $src->owner->name.'<br>....'.$src->card->last4.' - '.$src->card->exp_month.'/'.$src->card->exp_year.'';
print '</td><td>';
if ($src->card->country)
{

View File

@ -188,7 +188,7 @@ if ($result > 0)
// Add notification form
print_fiche_titre($langs->trans("AddNewNotification"),'','');
print load_fiche_titre($langs->trans("AddNewNotification"),'','');
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$id.'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@ -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 '<table width="100%" class="noborder">';

View File

@ -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') { ?>
<?php
print_fiche_titre($langs->trans("PossibleValues"));
print load_fiche_titre($langs->trans("PossibleValues"));
if ($action == 'edit_value') {
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';

View File

@ -66,7 +66,7 @@ $title = $langs->trans('NewProductAttribute');
llxHeader('', $title);
print_fiche_titre($title);
print load_fiche_titre($title);
dol_fiche_head();

View File

@ -118,7 +118,7 @@ print '<input type="hidden" name="action" value="add">';
print '<input type="hidden" name="id" value="'.$object->id.'">';
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
print_fiche_titre($langs->trans('NewProductAttributeValue'));
print load_fiche_titre($langs->trans('NewProductAttributeValue'));
dol_fiche_head();

View File

@ -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();

View File

@ -2211,7 +2211,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 '<!-- Add site -->'."\n";
//print '<div class="fichecenter">';
@ -2273,7 +2273,7 @@ if ($action == 'importsite')
print '<br>';
print_fiche_titre($langs->trans("ImportSite"));
print load_fiche_titre($langs->trans("ImportSite"));
dol_fiche_head(array(), '0', '', -1);
@ -2305,7 +2305,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 '<!-- Edit or create page/container -->'."\n";
//print '<div class="fichecenter">';