diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index 6495811ab9d..ed1e0502020 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -1423,7 +1423,150 @@ if ($source == 'membersubscription') print ''."\n"; } +// Payment on donation +if ($source == 'donation') +{ + $found=true; + $langs->load("don"); + require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; + + $don=new Don($db); + $result=$don->fetch($ref); + if ($result <= 0) + { + $mesg=$don->error; + $error++; + } + else + { + $don->fetch_thirdparty(); + $object = $don; + } + + if ($action != 'dopayment') // Do not change amount if we just click on first dopayment + { + $amount=$subscription->total_ttc; + if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int'); + $amount=price2num($amount); + } + + $fulltag='DON='.$don->ref.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M'); + if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; } + $fulltag=dol_string_unaccent($fulltag); + + // Creditor + + print ''.$langs->trans("Creditor"); + print ''.$creditor.''; + print ''; + print ''."\n"; + + // Debitor + + print ''.$langs->trans("Member"); + print ''; + if ($don->morphy == 'mor' && ! empty($don->societe)) print $don->societe; + else print $don->getFullName($langs); + print ''; + + // Object + + $text=''.$langs->trans("PaymentDonation").''; + if (GETPOST('desc','alpha')) $text=''.$langs->trans(GETPOST('desc','alpha')).''; + print ''.$langs->trans("Designation"); + print ''.$text; + print ''; + print ''; + print ''."\n"; + + // Amount + + print ''.$langs->trans("Amount"); + if (empty($amount)) + { + if (empty($conf->global->MEMBER_NEWFORM_AMOUNT)) print ' ('.$langs->trans("ToComplete"); + if (! empty($conf->global->MEMBER_EXT_URL_SUBSCRIPTION_INFO)) print ' - '.$langs->trans("SeeHere").''; + if (empty($conf->global->MEMBER_NEWFORM_AMOUNT)) print ')'; + } + print ''; + $valtoshow=''; + if (empty($amount) || ! is_numeric($amount)) + { + $valtoshow=price2num(GETPOST("newamount",'alpha'),'MT'); + // force default subscription amount to value defined into constant... + if (empty($valtoshow)) + { + if (! empty($conf->global->MEMBER_NEWFORM_EDITAMOUNT)) { + if (! empty($conf->global->MEMBER_NEWFORM_AMOUNT)) { + $valtoshow = $conf->global->MEMBER_NEWFORM_AMOUNT; + } + } + else { + if (! empty($conf->global->MEMBER_NEWFORM_AMOUNT)) { + $amount = $conf->global->MEMBER_NEWFORM_AMOUNT; + } + } + } + } + if (empty($amount) || ! is_numeric($amount)) + { + //$valtoshow=price2num(GETPOST("newamount",'alpha'),'MT'); + if (! empty($conf->global->MEMBER_MIN_AMOUNT) && $valtoshow) $valtoshow=max($conf->global->MEMBER_MIN_AMOUNT,$valtoshow); + print ''; + print ''; + } + else { + $valtoshow=$amount; + if (! empty($conf->global->MEMBER_MIN_AMOUNT) && $valtoshow) $valtoshow=max($conf->global->MEMBER_MIN_AMOUNT,$valtoshow); + print ''.price($valtoshow).''; + print ''; + print ''; + } + // Currency + print ' '.$langs->trans("Currency".$currency).''; + print ''; + print ''."\n"; + + // Tag + + print ''.$langs->trans("PaymentCode"); + print ''.$fulltag.''; + print ''; + print ''; + print ''."\n"; + + // Shipping address + $shipToName=$don->getFullName($langs); + $shipToStreet=$don->address; + $shipToCity=$don->town; + $shipToState=$don->state_code; + $shipToCountryCode=$don->country_code; + $shipToZip=$don->zip; + $shipToStreet2=''; + $phoneNum=$don->phone; + if ($shipToName && $shipToStreet && $shipToCity && $shipToCountryCode && $shipToZip) + { + print ''; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + } + else + { + print ''."\n"; + } + if (is_object($don->thirdparty)) print ''."\n"; + print ''."\n"; + $labeldesc = $langs->trans("PaymentSubscription"); + if (GETPOST('desc','alpha')) $labeldesc=GETPOST('desc','alpha'); + print ''."\n"; +} if (! $found && ! $mesg) $mesg=$langs->trans("ErrorBadParameters");