Fix: Avoid conflict with other payment modules functions

New: EMail topics can be forced by external modules
This commit is contained in:
Laurent Destailleur 2011-07-13 16:55:25 +00:00
parent 1d2ee5f587
commit b706f6034f
3 changed files with 36 additions and 34 deletions

View File

@ -22,7 +22,7 @@
* \file htdocs/core/class/commonobject.class.php
* \ingroup core
* \brief File of parent class of all other business classes (invoices, contracts, proposals, orders, ...)
* \version $Id: commonobject.class.php,v 1.145 2011/07/10 16:50:40 eldy Exp $
* \version $Id: commonobject.class.php,v 1.146 2011/07/13 16:55:25 eldy Exp $
*/
@ -365,9 +365,10 @@ class CommonObject
* Return array with list of possible values for type of contacts
* @param source internal, external or all if not defined
* @param order Sort order by : code or rowid
* @return array List of type of contacts
* @param option 0=Return array id->label, 1=Return array code->label
* @return array Array list of type of contacts (id->label if option=0, code->label if option=1)
*/
function liste_type_contact($source='internal', $order='code')
function liste_type_contact($source='internal', $order='code', $option=0)
{
global $langs;
@ -390,7 +391,8 @@ class CommonObject
$transkey="TypeContact_".$this->element."_".$source."_".$obj->code;
$libelle_type=($langs->trans($transkey)!=$transkey ? $langs->trans($transkey) : $obj->libelle);
$tab[$obj->rowid]=$libelle_type;
if (empty($option)) $tab[$obj->rowid]=$libelle_type;
else $tab[$obj->code]=$libelle_type;
$i++;
}
return $tab;

View File

@ -22,7 +22,7 @@
* \file htdocs/core/class/html.formmail.class.php
* \ingroup core
* \brief Fichier de la classe permettant la generation du formulaire html d'envoi de mail unitaire
* \version $Id: html.formmail.class.php,v 1.31 2011/07/10 20:03:41 eldy Exp $
* \version $Id: html.formmail.class.php,v 1.32 2011/07/13 16:55:25 eldy Exp $
*/
require_once(DOL_DOCUMENT_ROOT ."/core/class/html.form.class.php");
@ -519,7 +519,7 @@ class FormMail
foreach($listofpaths as $key => $val)
{
$out.= '<div id="attachfile_'.$key.'">';
$out.= img_mime($listofnames[$key]).' '.$listofnames[$key];
$out.= img_mime($listofnames[$key]).' '.$listofnames[$key];
if (! $this->withfilereadonly)
{
$out.= ' <input type="image" style="border: 0px;" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/delete.png" value="'.($key+1).'" class="removedfile" id="removedfile_'.$key.'" name="removedfile_'.$key.'" />';
@ -547,15 +547,15 @@ class FormMail
$defaultmessage="";
// TODO A partir du type, proposer liste de messages dans table llx_models
if ($this->param["models"]=='body') { $defaultmessage=$this->withbody; }
if ($this->param["models"]=='facture_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoice"); }
if ($this->param["models"]=='facture_relance') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceReminder"); }
if ($this->param["models"]=='propal_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendProposal"); }
if ($this->param["models"]=='order_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrder"); }
if ($this->param["models"]=='order_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierOrder"); }
if ($this->param["models"]=='invoice_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierInvoice"); }
if ($this->param["models"]=='shipping_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendShipping"); }
if ($this->param["models"]=='fichinter_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendFichInter"); }
if ($this->param["models"]=='facture_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoice"); }
elseif ($this->param["models"]=='facture_relance') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceReminder"); }
elseif ($this->param["models"]=='propal_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendProposal"); }
elseif ($this->param["models"]=='order_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrder"); }
elseif ($this->param["models"]=='order_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierOrder"); }
elseif ($this->param["models"]=='invoice_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierInvoice"); }
elseif ($this->param["models"]=='shipping_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendShipping"); }
elseif ($this->param["models"]=='fichinter_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendFichInter"); }
elseif (! is_numeric($this->withbody)) { $defaultmessage=$this->withbody; }
if ($conf->paypal->enabled && $conf->global->PAYPAL_ADD_PAYMENT_URL)
{
@ -565,12 +565,12 @@ class FormMail
if ($this->param["models"]=='order_send')
{
$url=getPaymentUrl('order',$this->substit['__ORDERREF__']);
$url=getPaypalPaymentUrl('order',$this->substit['__ORDERREF__']);
$defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrderWithPaypalLink",$url);
}
if ($this->param["models"]=='facture_send')
{
$url=getPaymentUrl('invoice',$this->substit['__FACREF__']);
$url=getPaypalPaymentUrl('invoice',$this->substit['__FACREF__']);
$defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceWithPaypalLink",$url);
}
}

View File

@ -22,7 +22,7 @@
* \file htdocs/paypal/lib/paypal.lib.php
* \ingroup paypal
* \brief Library for common paypal functions
* \version $Id$
* \version $Id: paypal.lib.php,v 1.25 2011/07/13 16:55:34 eldy Exp $
*/
function llxHeaderPaypal($title, $head = "")
{
@ -132,7 +132,7 @@ function html_print_paypal_footer($fromcompany,$langs)
function paypaladmin_prepare_head()
{
global $langs, $conf;
$h = 0;
$head = array();
@ -140,7 +140,7 @@ function paypaladmin_prepare_head()
$head[$h][1] = $langs->trans("Account");
$head[$h][2] = 'paypalaccount';
$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
@ -151,24 +151,24 @@ function paypaladmin_prepare_head()
}
/**
*
*
*/
function getPaymentUrl($source='',$ref='',$amount=0,$freetag='')
function getPaypalPaymentUrl($source='',$ref='',$amount=0,$freetag='')
{
global $conf;
require_once(DOL_DOCUMENT_ROOT."/lib/security.lib.php");
if (! empty($source) && ! empty($ref))
{
$token='';
if (! empty($conf->global->PAYPAL_SECURITY_TOKEN)) $token='&securekey='.dol_hash($conf->global->PAYPAL_SECURITY_TOKEN.$source.$ref, 2);
if ($source == 'commande') $source = 'order';
if ($source == 'facture') $source = 'invoice';
$url = DOL_MAIN_URL_ROOT.'/public/paypal/newpayment.php?source='.$source.'&ref='.$ref.$token;
return $url;
}
}
@ -482,7 +482,7 @@ function hash_call($methodName,$nvpStr)
global $conf, $langs;
global $API_Endpoint, $API_Url, $API_version, $USE_PROXY, $PROXY_HOST, $PROXY_PORT, $PROXY_USER, $PROXY_PASS;
global $PAYPAL_API_USER, $PAYPAL_API_PASSWORD, $PAYPAL_API_SIGNATURE;
// TODO problem with triggers
$API_version="56";
if ($conf->global->PAYPAL_API_SANDBOX)
@ -495,7 +495,7 @@ function hash_call($methodName,$nvpStr)
$API_Endpoint = "https://api-3t.paypal.com/nvp";
$API_Url = "https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=";
}
// Clean parameters
$PAYPAL_API_USER="";
if ($conf->global->PAYPAL_API_USER) $PAYPAL_API_USER=$conf->global->PAYPAL_API_USER;
@ -506,7 +506,7 @@ function hash_call($methodName,$nvpStr)
$PAYPAL_API_SANDBOX="";
if ($conf->global->PAYPAL_API_SANDBOX) $PAYPAL_API_SANDBOX=$conf->global->PAYPAL_API_SANDBOX;
// TODO END problem with triggers
dol_syslog("Paypal API endpoint ".$API_Endpoint);
//setting the curl parameters.
@ -580,19 +580,19 @@ function hash_call($methodName,$nvpStr)
function GetApiError()
{
$errors=array();
$resArray=$_SESSION['reshash'];
if(isset($_SESSION['curl_error_no']))
{
$errors[] = $_SESSION['curl_error_no'].'-'.$_SESSION['curl_error_msg'];
}
foreach($resArray as $key => $value)
{
$errors[] = $key.'-'.$value;
}
return $errors;
}