Merge branch '10.0' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
db461792a0
@ -515,6 +515,7 @@ class BOM extends CommonObject
|
||||
public function valid($user, $notrigger = 0)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
|
||||
$error=0;
|
||||
@ -582,13 +583,18 @@ class BOM extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// On renomme repertoire ($this->ref = ancienne ref, $num = nouvelle ref)
|
||||
// in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'bom/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'bom/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->bom->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->bom->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::valid() rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -1749,10 +1749,10 @@ class Propal extends CommonObject
|
||||
*/
|
||||
public function valid($user, $notrigger = 0)
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
|
||||
global $conf;
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
|
||||
$error=0;
|
||||
|
||||
// Protection
|
||||
@ -1818,14 +1818,18 @@ class Propal extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// Rename of propal directory ($this->ref = old ref, $num = new ref)
|
||||
// to not lose the linked files
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'propale/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'propale/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->propal->multidir_output[$this->entity].'/'.$oldref;
|
||||
$dirdest = $conf->propal->multidir_output[$this->entity].'/'.$newref;
|
||||
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::validate rename dir ".$dirsource." into ".$dirdest);
|
||||
if (@rename($dirsource, $dirdest))
|
||||
|
||||
@ -321,6 +321,7 @@ class Commande extends CommonOrder
|
||||
public function valid($user, $idwarehouse = 0, $notrigger = 0)
|
||||
{
|
||||
global $conf,$langs;
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
|
||||
$error=0;
|
||||
@ -423,13 +424,18 @@ class Commande extends CommonOrder
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// On renomme repertoire ($this->ref = ancienne ref, $num = nouvelle ref)
|
||||
// in order not to lose the attachments
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'commande/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'commande/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->commande->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->commande->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::valid() rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -2429,13 +2429,18 @@ class Facture extends CommonInvoice
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// Rename of object directory ($this->ref = old ref, $num = new ref)
|
||||
// to not lose the linked files
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'facture/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'facture/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->facture->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->facture->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::validate rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -486,13 +486,18 @@ class Contrat extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// Rename of object directory ($this->ref = old ref, $num = new ref)
|
||||
// to not lose the linked files
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'contract/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'contract/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->contract->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->contract->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::validate rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -813,13 +813,18 @@ class Expedition extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// On renomme repertoire ($this->ref = ancienne ref, $numfa = nouvelle ref)
|
||||
// in order not to lose the attached files
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'expedition/sending/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'expedition/sending/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($numref);
|
||||
$dirsource = $conf->expedition->dir_output.'/sending/'.$oldref;
|
||||
$dirdest = $conf->expedition->dir_output.'/sending/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::valid rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -1151,13 +1151,18 @@ class ExpenseReport extends CommonObject
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
|
||||
// On renomme repertoire ($this->ref = ancienne ref, $num = nouvelle ref)
|
||||
// in order not to lose the attachments
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'expensereport/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'expensereport/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->expensereport->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->expensereport->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::setValidate() rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -574,13 +574,20 @@ class Fichinter extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// Rename of object directory ($this->ref = old ref, $num = new ref)
|
||||
// to not lose the linked files
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'ficheinter/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'ficheinter/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->ficheinter->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->ficheinter->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::setValid rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -551,13 +551,18 @@ class CommandeFournisseur extends CommonOrder
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// We rename directory ($this->ref = ancienne ref, $num = nouvelle ref)
|
||||
// in order not to lose the attached files
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'fournisseur/commande/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'fournisseur/commande/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->fournisseur->commande->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->fournisseur->commande->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::valid rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -1320,6 +1320,7 @@ class FactureFournisseur extends CommonInvoice
|
||||
public function validate($user, $force_number = '', $idwarehouse = 0, $notrigger = 0)
|
||||
{
|
||||
global $conf,$langs;
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
|
||||
$now=dol_now();
|
||||
@ -1416,14 +1417,18 @@ class FactureFournisseur extends CommonInvoice
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// On renomme repertoire facture ($this->ref = ancienne ref, $num = nouvelle ref)
|
||||
// in order not to lose the attached files
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'fournisseur/facture/".get_exdir($this->id, 2, 0, 0, $this, 'invoice_supplier').$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'fournisseur/facture/".get_exdir($this->id, 2, 0, 0, $this, 'invoice_supplier').$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
|
||||
$dirsource = $conf->fournisseur->facture->dir_output.'/'.get_exdir($this->id, 2, 0, 0, $this, 'invoice_supplier').$oldref;
|
||||
$dirdest = $conf->fournisseur->facture->dir_output.'/'.get_exdir($this->id, 2, 0, 0, $this, 'invoice_supplier').$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::validate rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -439,13 +439,18 @@ class Livraison extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// On renomme repertoire ($this->ref = ancienne ref, $numfa = nouvelle ref)
|
||||
// afin de ne pas perdre les fichiers attaches
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'expedition/receipt/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'expedition/receipt/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($numref);
|
||||
$dirsource = $conf->expedition->dir_output.'/receipt/'.$oldref;
|
||||
$dirdest = $conf->expedition->dir_output.'/receipt/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::valid rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -435,7 +435,7 @@ if ($action == 'charge' && ! empty($conf->stripe->enabled))
|
||||
'dol_version' => DOL_VERSION,
|
||||
'dol_entity' => $conf->entity,
|
||||
'dol_company' => $mysoc->name, // Usefull when using multicompany
|
||||
'dol_tax_num' => $taxinfo,
|
||||
'dol_tax_num' => $vatnumber,
|
||||
'ipaddress'=> getUserRemoteIP()
|
||||
);
|
||||
|
||||
@ -460,47 +460,57 @@ if ($action == 'charge' && ! empty($conf->stripe->enabled))
|
||||
include_once DOL_DOCUMENT_ROOT.'/stripe/class/stripe.class.php';
|
||||
$stripe = new Stripe($db);
|
||||
$stripeacc = $stripe->getStripeAccount($service);
|
||||
$customer = $stripe->customerStripe($thirdparty, $stripeacc, $servicestatus, 1);
|
||||
$customer = $stripe->customerStripe($thirdparty, $stripeacc, $servicestatus, 1);
|
||||
if (empty($customer))
|
||||
{
|
||||
$error++;
|
||||
dol_syslog('Failed to get/create stripe customer for thirdparty id = '.$thirdparty_id.' and servicestatus = '.$servicestatus.': '.$stripe->error, LOG_ERR, 0, '_stripe');
|
||||
setEventMessages('Failed to get/create stripe customer for thirdparty id = '.$thirdparty_id.' and servicestatus = '.$servicestatus.': '.$stripe->error, null, 'errors');
|
||||
$action='';
|
||||
}
|
||||
|
||||
// Create Stripe card from Token
|
||||
if ($savesource) {
|
||||
$card = $customer->sources->create(array("source" => $stripeToken, "metadata" => $metadata));
|
||||
} else {
|
||||
$card = $stripeToken;
|
||||
}
|
||||
|
||||
if (empty($card))
|
||||
if (! $error)
|
||||
{
|
||||
$error++;
|
||||
dol_syslog('Failed to create card record', LOG_WARNING, 0, '_stripe');
|
||||
setEventMessages('Failed to create card record', null, 'errors');
|
||||
$action='';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! empty($FULLTAG)) $metadata["FULLTAG"] = $FULLTAG;
|
||||
if (! empty($dol_id)) $metadata["dol_id"] = $dol_id;
|
||||
if (! empty($dol_type)) $metadata["dol_type"] = $dol_type;
|
||||
if ($savesource) {
|
||||
$card = $customer->sources->create(array("source" => $stripeToken, "metadata" => $metadata));
|
||||
} else {
|
||||
$card = $stripeToken;
|
||||
}
|
||||
|
||||
dol_syslog("Create charge on card ".$card->id, LOG_DEBUG, 0, '_stripe');
|
||||
$charge = \Stripe\Charge::create(array(
|
||||
'amount' => price2num($amountstripe, 'MU'),
|
||||
'currency' => $currency,
|
||||
'capture' => true, // Charge immediatly
|
||||
'description' => 'Stripe payment: '.$FULLTAG.' ref='.$ref,
|
||||
'metadata' => $metadata,
|
||||
'customer' => $customer->id,
|
||||
'source' => $card,
|
||||
'statement_descriptor' => dol_trunc($FULLTAG, 10, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt (company + description)
|
||||
), array("idempotency_key" => "$FULLTAG", "stripe_account" => "$stripeacc"));
|
||||
// Return $charge = array('id'=>'ch_XXXX', 'status'=>'succeeded|pending|failed', 'failure_code'=>, 'failure_message'=>...)
|
||||
if (empty($charge))
|
||||
{
|
||||
$error++;
|
||||
dol_syslog('Failed to charge card', LOG_WARNING, 0, '_stripe');
|
||||
setEventMessages('Failed to charge card', null, 'errors');
|
||||
$action='';
|
||||
}
|
||||
if (empty($card))
|
||||
{
|
||||
$error++;
|
||||
dol_syslog('Failed to create card record', LOG_WARNING, 0, '_stripe');
|
||||
setEventMessages('Failed to create card record', null, 'errors');
|
||||
$action='';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! empty($FULLTAG)) $metadata["FULLTAG"] = $FULLTAG;
|
||||
if (! empty($dol_id)) $metadata["dol_id"] = $dol_id;
|
||||
if (! empty($dol_type)) $metadata["dol_type"] = $dol_type;
|
||||
|
||||
dol_syslog("Create charge on card ".$card->id, LOG_DEBUG, 0, '_stripe');
|
||||
$charge = \Stripe\Charge::create(array(
|
||||
'amount' => price2num($amountstripe, 'MU'),
|
||||
'currency' => $currency,
|
||||
'capture' => true, // Charge immediatly
|
||||
'description' => 'Stripe payment: '.$FULLTAG.' ref='.$ref,
|
||||
'metadata' => $metadata,
|
||||
'customer' => $customer->id,
|
||||
'source' => $card,
|
||||
'statement_descriptor' => dol_trunc($FULLTAG, 10, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt (company + description)
|
||||
), array("idempotency_key" => "$FULLTAG", "stripe_account" => "$stripeacc"));
|
||||
// Return $charge = array('id'=>'ch_XXXX', 'status'=>'succeeded|pending|failed', 'failure_code'=>, 'failure_message'=>...)
|
||||
if (empty($charge))
|
||||
{
|
||||
$error++;
|
||||
dol_syslog('Failed to charge card', LOG_WARNING, 0, '_stripe');
|
||||
setEventMessages('Failed to charge card', null, 'errors');
|
||||
$action='';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1692,26 +1702,51 @@ if ($action != 'dopayment')
|
||||
if ((empty($paymentmethod) || $paymentmethod == 'paybox') && ! empty($conf->paybox->enabled))
|
||||
{
|
||||
// If STRIPE_PICTO_FOR_PAYMENT is 'cb' we show a picto of a crdit card instead of paybox
|
||||
print '<br><div class="button buttonpayment"><span class="fa fa-credit-card"></span> <input class="" type="submit" name="dopayment_paybox" value="'.$langs->trans("PayBoxDoPayment").'">';
|
||||
print '<br><div class="button buttonpayment" id="div_dopayment_paybox"><span class="fa fa-credit-card"></span> <input class="" type="submit" id="dopayment_paybox" name="dopayment_paybox" value="'.$langs->trans("PayBoxDoPayment").'">';
|
||||
print '<br>';
|
||||
print '<span class="buttonpaymentsmall">'.$langs->trans("CreditOrDebitCard").'</span>';
|
||||
print '</div>';
|
||||
print '<script>
|
||||
$( document ).ready(function() {
|
||||
$("#div_dopayment_paybox").click(function(){
|
||||
$("#dopayment_paybox").click();
|
||||
});
|
||||
$("#dopayment_paybox").click(function(e){
|
||||
$("#div_dopayment_paybox").css( \'cursor\', \'wait\' );
|
||||
e.stopPropagation();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
';
|
||||
}
|
||||
|
||||
if ((empty($paymentmethod) || $paymentmethod == 'stripe') && ! empty($conf->stripe->enabled))
|
||||
{
|
||||
// If STRIPE_PICTO_FOR_PAYMENT is 'cb' we show a picto of a crdit card instead of stripe
|
||||
print '<br><div class="button buttonpayment"><span class="fa fa-credit-card"></span> <input class="" type="submit" name="dopayment_stripe" value="'.$langs->trans("StripeDoPayment").'">';
|
||||
print '<br><div class="button buttonpayment" id="div_dopayment_stripe"><span class="fa fa-credit-card"></span> <input class="" type="submit" id="dopayment_stripe" name="dopayment_stripe" value="'.$langs->trans("StripeDoPayment").'">';
|
||||
print '<br>';
|
||||
print '<span class="buttonpaymentsmall">'.$langs->trans("CreditOrDebitCard").'</span>';
|
||||
print '</div>';
|
||||
print '<script>
|
||||
$( document ).ready(function() {
|
||||
$("#div_dopayment_stripe").click(function(){
|
||||
$("#dopayment_stripe").click();
|
||||
});
|
||||
$("#dopayment_stripe").click(function(e){
|
||||
$("#div_dopayment_stripe").css( \'cursor\', \'wait\' );
|
||||
e.stopPropagation();
|
||||
return true;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
';
|
||||
}
|
||||
|
||||
if ((empty($paymentmethod) || $paymentmethod == 'paypal') && ! empty($conf->paypal->enabled))
|
||||
{
|
||||
if (empty($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY)) $conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY='integral';
|
||||
|
||||
print '<br><div class="button buttonpayment"><span class="fa fa-paypal"></span> <input class="" type="submit" name="dopayment_paypal" value="'.$langs->trans("PaypalDoPayment").'">';
|
||||
print '<br><div class="button buttonpayment" id="div_dopayment_paypal"><span class="fa fa-paypal"></span> <input class="" type="submit" id="dopayment_paypal" name="dopayment_paypal" value="'.$langs->trans("PaypalDoPayment").'">';
|
||||
if ($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY == 'integral')
|
||||
{
|
||||
print '<br>';
|
||||
@ -1724,6 +1759,19 @@ if ($action != 'dopayment')
|
||||
//print '<span class="buttonpaymentsmall">'.$langs->trans("PayPalBalance").'"></span>';
|
||||
}
|
||||
print '</div>';
|
||||
print '<script>
|
||||
$( document ).ready(function() {
|
||||
$("#div_dopayment_paypal").click(function(){
|
||||
$("#dopayment_paypal").click();
|
||||
});
|
||||
$("#dopayment_paypal").click(function(e){
|
||||
$("#div_dopayment_paypal").css( \'cursor\', \'wait\' );
|
||||
e.stopPropagation();
|
||||
return true;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -643,13 +643,18 @@ class Reception extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// On renomme repertoire ($this->ref = ancienne ref, $numfa = nouvelle ref)
|
||||
// in order not to lose the attached files
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'reception/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'reception/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($numref);
|
||||
$dirsource = $conf->reception->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->reception->dir_output.'/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::valid rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
@ -194,7 +194,7 @@ if (empty($conf->stripeconnect->enabled))
|
||||
print '</td><td></td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print '<span class="titlefield fieldrequired">'.$langs->trans("STRIPE_TEST_WEBHOOK_KEY").'</span></td><td>';
|
||||
print '<span class="titlefield">'.$langs->trans("STRIPE_TEST_WEBHOOK_KEY").'</span></td><td>';
|
||||
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) {
|
||||
print '<input class="minwidth300" type="text" name="STRIPE_TEST_WEBHOOK_ID" value="'.$conf->global->STRIPE_TEST_WEBHOOK_ID.'">';
|
||||
print ' '.$langs->trans("Example").': we_xxxxxxxxxxxxxxxxxxxxxxxx<br>';
|
||||
@ -267,7 +267,7 @@ if (empty($conf->stripeconnect->enabled))
|
||||
print '</td><td></td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print '<span class="titlefield fieldrequired">'.$langs->trans("STRIPE_LIVE_WEBHOOK_KEY").'</span></td><td>';
|
||||
print '<span class="titlefield">'.$langs->trans("STRIPE_LIVE_WEBHOOK_KEY").'</span></td><td>';
|
||||
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) {
|
||||
print '<input class="minwidth300" type="text" name="STRIPE_LIVE_WEBHOOK_ID" value="'.$conf->global->STRIPE_LIVE_WEBHOOK_ID.'">';
|
||||
print ' '.$langs->trans("Example").': we_xxxxxxxxxxxxxxxxxxxxxxxx<br>';
|
||||
|
||||
@ -177,6 +177,7 @@ class Stripe extends CommonObject
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
// For exemple, we may have error: 'No such customer: cus_XXXXX; a similar object exists in live mode, but a test mode key was used to make this request.'
|
||||
$this->error = $e->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1494,16 +1494,20 @@ class SupplierProposal extends CommonObject
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// Rename of propal directory ($this->ref = old ref, $num = new ref)
|
||||
// to not lose the linked files
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
// Now we rename also files into index
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->newref."', SUBSTR(filename, ".(strlen($this->ref)+1).")), filepath = 'supplier_proposal/".$this->newref."'";
|
||||
$sql.= " WHERE filename LIKE '".$this->ref."%' AND filepath = 'supplier_proposal/".$this->ref."' and entity = ".$conf->entity;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->error = $this->db->lasterror(); }
|
||||
|
||||
// We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments
|
||||
$oldref = dol_sanitizeFileName($this->ref);
|
||||
$newref = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->supplier_proposal->dir_output.'/'.$oldref;
|
||||
$dirdest = $conf->supplier_proposal->dir_output.'/'.$newref;
|
||||
|
||||
if (file_exists($dirsource))
|
||||
if (! $error && file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::validate rename dir ".$dirsource." into ".$dirdest);
|
||||
dol_syslog(get_class($this)."::valid rename dir ".$dirsource." into ".$dirdest);
|
||||
if (@rename($dirsource, $dirdest))
|
||||
{
|
||||
dol_syslog("Rename ok");
|
||||
|
||||
@ -151,6 +151,9 @@ input.buttonpayment, button.buttonpayment, div.buttonpayment {
|
||||
color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
div.buttonpayment input:focus {
|
||||
color: #008;
|
||||
}
|
||||
.buttonpaymentsmall {
|
||||
font-size: 0.65em;
|
||||
padding-left: 5px;
|
||||
|
||||
@ -376,6 +376,9 @@ div.buttonpayment input {
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
}
|
||||
div.buttonpayment input:focus {
|
||||
color: #008;
|
||||
}
|
||||
input.buttonpaymentcb {
|
||||
background-image: url(<?php echo dol_buildpath($path.'/theme/common/credit_card.png', 1) ?>);
|
||||
background-size: 26px;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user