From 433667b6c6f2fb73efba05ec980ffe905b90a537 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 20 Jun 2011 10:23:51 +0000 Subject: [PATCH] Fix: create a standalone class --- htdocs/core/class/commonobject.class.php | 2 ++ .../interface_modPaypal_PaypalWorkflow.class.php | 14 +++++++------- htdocs/public/paypal/paymentok.php | 16 +++++++--------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 47ee583c23a..6fd15aa46d4 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -590,6 +590,8 @@ class CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX.$table." SET "; $sql.= $field." = '".$value."'"; $sql.= " WHERE rowid = ".$id; + + dol_syslog("CommonObject::updateObjectField sql=".$sql, LOG_DEBUG); $resql = $this->db->query($sql); if (! $resql) dol_print_error($this->db); } diff --git a/htdocs/includes/triggers/interface_modPaypal_PaypalWorkflow.class.php b/htdocs/includes/triggers/interface_modPaypal_PaypalWorkflow.class.php index 1d377343bd6..ac69330b90f 100644 --- a/htdocs/includes/triggers/interface_modPaypal_PaypalWorkflow.class.php +++ b/htdocs/includes/triggers/interface_modPaypal_PaypalWorkflow.class.php @@ -98,13 +98,13 @@ class InterfacePaypalWorkflow // Mettre ici le code a executer en reaction de l'action // Les donnees de l'action sont stockees dans $object - if ($action == 'PAYMENT_PAYMENT_OK') + if ($action == 'PAYPAL_PAYMENT_OK') { - dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". source=".$object['source']." ref=".$object['ref']); + dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". source=".$object->source." ref=".$object->ref); // Parse element/subelement (ex: project_task) - $element = $path = $filename = $_GET['element']; - if (preg_match('/^([^_]+)_([^_]+)/i',$_GET['element'],$regs)) + $element = $path = $filename = $object->source; + if (preg_match('/^([^_]+)_([^_]+)/i',$object->source,$regs)) { $element = $path = $regs[1]; $filename = $regs[2]; @@ -116,12 +116,12 @@ class InterfacePaypalWorkflow dol_include_once('/'.$path.'/class/'.$filename.'.class.php'); $classname = ucfirst($filename); - $obj = new $classname($db); + $obj = new $classname($this->db); - $ret = $obj->fetch('',$object['ref']); + $ret = $obj->fetch('',$object->ref); if ($ret < 0) return -1; - $obj->updateObjectField($obj->table_element,$obj->id,'ref_int',$object['resArray']["TRANSACTIONID"]); + $obj->updateObjectField($obj->table_element,$obj->id,'ref_int',$object->resArray["TRANSACTIONID"]); } diff --git a/htdocs/public/paypal/paymentok.php b/htdocs/public/paypal/paymentok.php index b3c4c4e7666..ef4d92273df 100755 --- a/htdocs/public/paypal/paymentok.php +++ b/htdocs/public/paypal/paymentok.php @@ -82,8 +82,6 @@ if (empty($PAYPAL_API_SIGNATURE)) - - /* * View */ @@ -131,14 +129,14 @@ if ($PAYPALTOKEN) $ack = strtoupper($resArray["ACK"]); if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING") { - $object=array(); - - $object['source']=$source; - $object['ref']=$ref; - $object['payerID']=$payerID; - $object['fulltag']=$fulltag; - $object['resArray']=$resArray; + $object = (object) 'paypal'; + $object->source = $source; + $object->ref = $ref; + $object->payerID = $payerID; + $object->fulltag = $fulltag; + $object->resArray = $resArray; + // resArray was built from a string like that // TOKEN=EC%2d1NJ057703V9359028&TIMESTAMP=2010%2d11%2d01T11%3a40%3a13Z&CORRELATIONID=1efa8c6a36bd8&ACK=Success&VERSION=56&BUILD=1553277&TRANSACTIONID=9B994597K9921420R&TRANSACTIONTYPE=expresscheckout&PAYMENTTYPE=instant&ORDERTIME=2010%2d11%2d01T11%3a40%3a12Z&AMT=155%2e57&FEEAMT=5%2e54&TAXAMT=0%2e00&CURRENCYCODE=EUR&PAYMENTSTATUS=Completed&PENDINGREASON=None&REASONCODE=None $PAYMENTSTATUS=urldecode($resArray["PAYMENTSTATUS"]); // Should contains 'Completed'