diff --git a/htdocs/paypal/ajaxtransaction.php b/htdocs/paypal/ajaxtransaction.php
index 1be4862f5f4..fdefc234b09 100644
--- a/htdocs/paypal/ajaxtransaction.php
+++ b/htdocs/paypal/ajaxtransaction.php
@@ -56,15 +56,32 @@ top_httphead();
dol_syslog(join(',',$_GET));
-if (isset($_GET['action']) && ! empty($_GET['action']) && ( (isset($_GET['nvpStr']) && ! empty($_GET['nvpStr'])) || (isset($_GET['transaction_id']) && ! empty($_GET['transaction_id'])) ) )
+if (isset($_GET['action']) && ! empty($_GET['action']) && ( (isset($_GET['element']) && ! empty($_GET['element'])) || (isset($_GET['transaction_id']) && ! empty($_GET['transaction_id'])) ) )
{
- if ($_GET['action'] == 'showdetails')
+ if ($_GET['action'] == 'create')
{
- $object = GetTransactionDetails($_GET['transaction_id']);
-
$soc = new Societe($db);
- $ret = $soc->fetchObjectFromImportKey($soc->table_element,$object['PAYERID']);
- //echo $ret;
+ $socid = $soc->fetchObjectFromImportKey($soc->table_element,$object['PAYERID']);
+ if ($socid < 0)
+ {
+ // Create customer and return rowid
+ }
+
+ // Create element (order or bill)
+
+ foreach ($_SESSION[$_GET['transaction_id']] as $key => $value)
+ {
+ echo $key.': '.$value.'
';
+ }
+
+ }
+ else if ($_GET['action'] == 'showdetails')
+ {
+ // For optimization
+ if (! isset($_SESSION[$_GET['transaction_id']]))
+ {
+ $_SESSION[$_GET['transaction_id']] = GetTransactionDetails($_GET['transaction_id']);
+ }
$var=true;
@@ -74,19 +91,19 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && ( (isset($_GET['nvpStr
echo '';
$var=!$var;
- echo '
| '.$langs->trans('LastName').': | '.$object['LASTNAME'].' |
';
+ echo '| '.$langs->trans('LastName').': | '.$_SESSION[$_GET['transaction_id']]['LASTNAME'].' |
';
$var=!$var;
- echo '| '.$langs->trans('FirstName').': | '.$object['FIRSTNAME'].' |
';
+ echo '| '.$langs->trans('FirstName').': | '.$_SESSION[$_GET['transaction_id']]['FIRSTNAME'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Address').': | '.$object['SHIPTOSTREET'].' |
';
+ echo '| '.$langs->trans('Address').': | '.$_SESSION[$_GET['transaction_id']]['SHIPTOSTREET'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Zip').' / '.$langs->trans('Town').': | '.$object['SHIPTOZIP'].' '.$object['SHIPTOCITY'].' |
';
+ echo '| '.$langs->trans('Zip').' / '.$langs->trans('Town').': | '.$_SESSION[$_GET['transaction_id']]['SHIPTOZIP'].' '.$_SESSION[$_GET['transaction_id']]['SHIPTOCITY'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Country').': | '.$object['SHIPTOCOUNTRYNAME'].' |
';
+ echo '| '.$langs->trans('Country').': | '.$_SESSION[$_GET['transaction_id']]['SHIPTOCOUNTRYNAME'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Email').': | '.$object['EMAIL'].' | ';
+ echo '
| '.$langs->trans('Email').': | '.$_SESSION[$_GET['transaction_id']]['EMAIL'].' | ';
$var=!$var;
- echo '
| '.$langs->trans('Date').': | '.dol_print_date(dol_stringtotime($object['ORDERTIME']),'dayhour').' | ';
+ echo '
| '.$langs->trans('Date').': | '.dol_print_date(dol_stringtotime($_SESSION[$_GET['transaction_id']]['ORDERTIME']),'dayhour').' | ';
echo '';
@@ -100,14 +117,14 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && ( (isset($_GET['nvpStr
echo ''.$langs->trans('Qty').' | ';
echo '
';
- while (isset($object["L_NAME".$i]))
+ while (isset($_SESSION[$_GET['transaction_id']]["L_NAME".$i]))
{
$var=!$var;
echo '';
- echo '| '.$object["L_NUMBER".$i].' | ';
- echo ''.$object["L_NAME".$i].' | ';
- echo ''.$object["L_QTY".$i].' | ';
+ echo ''.$_SESSION[$_GET['transaction_id']]["L_NUMBER".$i].' | ';
+ echo ''.$_SESSION[$_GET['transaction_id']]["L_NAME".$i].' | ';
+ echo ''.$_SESSION[$_GET['transaction_id']]["L_QTY".$i].' | ';
echo '
';
$i++;
@@ -117,7 +134,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && ( (isset($_GET['nvpStr
/*
echo '
';
- foreach ($object as $key => $value)
+ foreach ($_SESSION[$_GET['transaction_id']] as $key => $value)
{
echo $key.': '.$value.'
';
}
diff --git a/htdocs/paypal/transaction.php b/htdocs/paypal/transaction.php
index 0fae39fa04b..e9dcd695955 100644
--- a/htdocs/paypal/transaction.php
+++ b/htdocs/paypal/transaction.php
@@ -125,7 +125,17 @@ llxHeader();
modal: true,
width: 500,
buttons: {
- Ok: function() {
+ 'transnoentities('Create'); ?>': function() {
+ $.get( "/paypal/ajaxtransaction.php", {
+ action: 'create',
+ element: 'order',
+ transaction_id: id_value
+ },
+ function() {
+ $( "div #paypal-details" ).dialog( "close" );
+ });
+ },
+ 'transnoentities('Cancel'); ?>': function() {
$( this ).dialog( "close" );
}
}