dolibarr 21.0.0-beta
subscriptionok.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3 * Copyright (C) 2006-2013 Laurent Destailleur <eldy@users.sourceforge.net>
4 * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
5 * Copyright (C) 2021 Waël Almoman <info@almoman.com>
6 * Copyright (C) 2021 Dorian Vabre <dorian.vabre@gmail.com>
7 * Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 */
22
31if (!defined('NOLOGIN')) {
32 define("NOLOGIN", 1); // This means this output page does not require to be logged.
33}
34if (!defined('NOCSRFCHECK')) {
35 define("NOCSRFCHECK", 1); // We accept to go on this page from external web site.
36}
37if (!defined('NOIPCHECK')) {
38 define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip
39}
40if (!defined('NOBROWSERNOTIF')) {
41 define('NOBROWSERNOTIF', '1');
42}
43
44// For MultiCompany module.
45// Do not use GETPOST here, function is not defined and define must be done before including main.inc.php
46// Because 2 entities can have the same ref.
47$entity = (!empty($_GET['e']) ? (int) $_GET['e'] : (!empty($_POST['e']) ? (int) $_POST['e'] : 1));
48if (is_numeric($entity)) {
49 define("DOLENTITY", $entity);
50}
51
52// Load Dolibarr environment
53require '../../main.inc.php';
54require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
55require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php';
56
57if (isModEnabled('paypal')) {
58 require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypal.lib.php';
59 require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypalfunctions.lib.php';
60}
61
62global $dolibarr_main_url_root, $mysoc;
63
75$langs->loadLangs(array("main", "companies", "install", "other", "eventorganization"));
76
77$object = new stdClass(); // For triggers
78
79$error = 0;
80
81// Security check
82$id = GETPOSTINT("id");
83$securekeyreceived = GETPOST("securekey");
84$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, '2');
85
86if ($securekeyreceived != $securekeytocompare) {
87 print $langs->trans('MissingOrBadSecureKey');
88 exit;
89}
90
91// Module check
92if (empty($conf->eventorganization->enabled)) {
93 httponly_accessforbidden('Module Event organization not enabled');
94}
95
107function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
108{
109 global $user, $conf, $langs, $mysoc;
110
111 top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
112
113 print '<body id="mainbody" class="publicnewmemberform">';
114
115 // Define urllogo
116 $urllogo = DOL_URL_ROOT.'/theme/common/login_logo.png';
117
118 if (!empty($mysoc->logo_small) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small)) {
119 $urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&amp;modulepart=mycompany&amp;file='.urlencode('logos/thumbs/'.$mysoc->logo_small);
120 } elseif (!empty($mysoc->logo) && is_readable($conf->mycompany->dir_output.'/logos/'.$mysoc->logo)) {
121 $urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&amp;modulepart=mycompany&amp;file='.urlencode('logos/'.$mysoc->logo);
122 } elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.svg')) {
123 $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.svg';
124 }
125
126 print '<div class="center">';
127 // Output html code for logo
128 if ($urllogo) {
129 print '<div class="backgreypublicpayment">';
130 print '<div class="logopublicpayment">';
131 print '<img id="dolpaymentlogo" src="'.$urllogo.'"';
132 print '>';
133 print '</div>';
134 if (!getDolGlobalString('MAIN_HIDE_POWERED_BY')) {
135 print '<div class="poweredbypublicpayment opacitymedium right"><a class="poweredbyhref" href="https://www.dolibarr.org?utm_medium=website&utm_source=poweredby" target="dolibarr" rel="noopener">'.$langs->trans("PoweredBy").'<br><img class="poweredbyimg" src="'.DOL_URL_ROOT.'/theme/dolibarr_logo.svg" width="80px"></a></div>';
136 }
137 print '</div>';
138 }
139
140 if (getDolGlobalString('EVENTORGANIZATION_IMAGE_PUBLIC_INTERFACE')) {
141 print '<div class="backimagepubliceventorganizationsubscription">';
142 print '<img id="idEVENTORGANIZATION_IMAGE_PUBLIC_INTERFACE" src="' . getDolGlobalString('EVENTORGANIZATION_IMAGE_PUBLIC_INTERFACE').'">';
143 print '</div>';
144 }
145
146 print '</div>';
147
148 print '<div class="divmainbodylarge">';
149}
150
151
152/*
153 * Actions
154 */
155
156
157
158/*
159 * View
160 */
161
162$now = dol_now();
163
164dol_syslog("Callback url when a payment was done. query_string=".(dol_escape_htmltag($_SERVER["QUERY_STRING"]) ? dol_escape_htmltag($_SERVER["QUERY_STRING"]) : '')." script_uri=".(dol_escape_htmltag($_SERVER["SCRIPT_URI"]) ? dol_escape_htmltag($_SERVER["SCRIPT_URI"]) : ''), LOG_DEBUG, 0, '_payment');
165
166$tracepost = "";
167foreach ($_POST as $k => $v) {
168 $tracepost .= "$k - $v\n";
169}
170dol_syslog("POST=".$tracepost, LOG_DEBUG, 0, '_payment');
171
172$head = '';
173if (getDolGlobalString('ONLINE_PAYMENT_CSS_URL')) {
174 $head = '<link rel="stylesheet" type="text/css" href="' . getDolGlobalString('ONLINE_PAYMENT_CSS_URL').'?lang='.$langs->defaultlang.'">'."\n";
175}
176
177$conf->dol_hide_topmenu = 1;
178$conf->dol_hide_leftmenu = 1;
179
180llxHeaderVierge($langs->trans("PaymentForm"));
181
182
183// Show message
184print '<span id="dolpaymentspan"></span>'."\n";
185print '<div id="dolpaymentdiv" class="center">'."\n";
186
187
188// Show logo (search order: logo defined by PAYMENT_LOGO_suffix, then PAYMENT_LOGO, then small company logo, large company logo, theme logo, common logo)
189// Define logo and logosmall
190$logosmall = $mysoc->logo_small;
191$logo = $mysoc->logo;
192$paramlogo = 'ONLINE_PAYMENT_LOGO_'.$suffix;
193if (getDolGlobalString($paramlogo)) {
194 $logosmall = getDolGlobalString($paramlogo);
195} elseif (getDolGlobalString('ONLINE_PAYMENT_LOGO')) {
196 $logosmall = getDolGlobalString('ONLINE_PAYMENT_LOGO');
197}
198//print '<!-- Show logo (logosmall='.$logosmall.' logo='.$logo.') -->'."\n";
199// Define urllogo
200$urllogo = '';
201$urllogofull = '';
202if (!empty($logosmall) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$logosmall)) {
203 $urllogo = DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&amp;entity='.$conf->entity.'&amp;file='.urlencode('logos/thumbs/'.$logosmall);
204 $urllogofull = $dolibarr_main_url_root.'/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file='.urlencode('logos/thumbs/'.$logosmall);
205} elseif (!empty($logo) && is_readable($conf->mycompany->dir_output.'/logos/'.$logo)) {
206 $urllogo = DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&amp;entity='.$conf->entity.'&amp;file='.urlencode('logos/'.$logo);
207 $urllogofull = $dolibarr_main_url_root.'/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file='.urlencode('logos/'.$logo);
208}
209
210// Output html code for logo
211if ($urllogo) {
212 print '<div class="backgreypublicpayment">';
213 print '<div class="logopublicpayment">';
214 print '<img id="dolpaymentlogo" src="'.$urllogo.'"';
215 print '>';
216 print '</div>';
217 if (!getDolGlobalString('MAIN_HIDE_POWERED_BY')) {
218 print '<div class="poweredbypublicpayment opacitymedium right"><a class="poweredbyhref" href="https://www.dolibarr.org?utm_medium=website&utm_source=poweredby" target="dolibarr" rel="noopener">'.$langs->trans("PoweredBy").'<br><img class="poweredbyimg" src="'.DOL_URL_ROOT.'/theme/dolibarr_logo.svg" width="80px"></a></div>';
219 }
220 print '</div>';
221}
222
223if (getDolGlobalString('EVENTORGANIZATION_IMAGE_PUBLIC_INTERFACE')) {
224 print '<div class="backimagepubliceventorganizationsubscription">';
225 print '<img id="idEVENTORGANIZATION_IMAGE_PUBLIC_INTERFACE" src="' . getDolGlobalString('EVENTORGANIZATION_IMAGE_PUBLIC_INTERFACE').'">';
226 print '</div>';
227}
228
229print '<br><br><br>';
230
231print $langs->trans("SubscriptionOk");
232
233print "\n</div>\n";
234
235
236htmlPrintOnlineFooter($mysoc, $langs, 0, $suffix);
237
238
239// Clean session variables to avoid duplicate actions if post is resent
240unset($_SESSION["FinalPaymentAmt"]);
241unset($_SESSION["TRANSACTIONID"]);
242
243
244llxFooter('', 'public');
245
246$db->close();
$id
Definition account.php:48
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:66
htmlPrintOnlineFooter($fromcompany, $langs, $addformmessage=0, $suffix='', $object=null)
Show footer of company in HTML pages.
llxFooter()
Footer empty.
Definition document.php:107
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_now($mode='auto')
Return date for now.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs=array(), $arrayofcss=array(), $disableforlogin=0, $disablenofollow=0, $disablenoindex=0)
Output html header of a page.
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
Definition member.php:79
httponly_accessforbidden($message='1', $http_response_code=403, $stringalreadysanitized=0)
Show a message to say access is forbidden and stop program.
dol_hash($chain, $type='0', $nosalt=0)
Returns a hash (non reversible encryption) of a string.
if($securekeyreceived !=$securekeytocompare) if(empty( $conf->eventorganization->enabled)) llxHeaderVierge($title, $head="", $disablejs=0, $disablehead=0, $arrayofjs=[], $arrayofcss=[])
Show header for new member.