1
|
|
|
<?php |
2
|
|
|
/************************************************************************/ |
3
|
|
|
/* Donations - Paypal financial management module for Xoops 2 */ |
4
|
|
|
/* Copyright (c) 2016 XOOPS Project */ |
5
|
|
|
/* http://dev.xoops.org/modules/xfmod/project/?group_id=1060 */ |
6
|
|
|
/* |
7
|
|
|
/************************************************************************/ |
8
|
|
|
/* */ |
9
|
|
|
/* Based on NukeTreasury for PHP-Nuke - by Dave Lawrence AKA Thrash */ |
10
|
|
|
/* NukeTreasury - Financial management for PHP-Nuke */ |
11
|
|
|
/* Copyright (c) 2004 by Dave Lawrence AKA Thrash */ |
12
|
|
|
/* [email protected] */ |
13
|
|
|
/* [email protected] */ |
14
|
|
|
/* */ |
15
|
|
|
/************************************************************************/ |
16
|
|
|
/* */ |
17
|
|
|
/* This program is free software; you can redistribute it and/or modify */ |
18
|
|
|
/* it under the terms of the GNU General Public License as published by */ |
19
|
|
|
/* the Free Software Foundation; either version 2 of the License. */ |
20
|
|
|
/* */ |
21
|
|
|
/* This program is distributed in the hope that it will be useful, but */ |
22
|
|
|
/* WITHOUT ANY WARRANTY; without even the implied warranty of */ |
23
|
|
|
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ |
24
|
|
|
/* General Public License for more details. */ |
25
|
|
|
/* */ |
26
|
|
|
/* You should have received a copy of the GNU General Public License */ |
27
|
|
|
/* along with this program; if not, write to the Free Software */ |
28
|
|
|
/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 */ |
29
|
|
|
/* USA */ |
30
|
|
|
/************************************************************************/ |
31
|
|
|
require_once XOOPS_ROOT_PATH . '/include/cp_functions.php'; |
|
|
|
|
32
|
|
|
|
33
|
|
|
$moduleDirName = basename(dirname(__DIR__)); |
34
|
|
|
global $xoopsConfig, $xoopsUser; |
35
|
|
|
|
36
|
|
|
/* |
37
|
|
|
|
38
|
|
|
echo "<hr>language: {$xoopsConfig['language']}<hr>"; |
39
|
|
|
|
40
|
|
|
$n = '_AD_XDONATION_z_test'; if (defined($n)) {echo $n . " = " . constant($n)."<br>";} else {echo $n . " = ?<br>";} |
41
|
|
|
$n = '_MD_XDONATION_z_test'; if (defined($n)) {echo $n . " = " . constant($n)."<br>";} else {echo $n . " = ?<br>";} |
42
|
|
|
$n = '_MI_XDONATION_z_test'; if (defined($n)) {echo $n . " = " . constant($n)."<br>";} else {echo $n . " = ?<br>";} |
43
|
|
|
$n = '_MB_XDONATION_z_test'; if (defined($n)) {echo $n . " = " . constant($n)."<br>";} else {echo $n . " = ?<br>";} |
44
|
|
|
*/ |
45
|
|
|
|
46
|
|
|
xoops_loadLanguage('main', $moduleDirName); |
|
|
|
|
47
|
|
|
|
48
|
|
|
/** |
49
|
|
|
* @param XoopsObject|null $module |
|
|
|
|
50
|
|
|
* @return bool |
51
|
|
|
*/ |
52
|
|
|
function xoops_module_install_xyp_base($module = null) |
|
|
|
|
53
|
|
|
{ |
54
|
|
|
global $xoopsDB, $xoopsUser; |
55
|
|
|
$moduleDirName = basename(dirname(__DIR__)); |
56
|
|
|
|
57
|
|
|
//---------------------------------------------------------------- |
58
|
|
|
//patch JJD pour francisation ou autre langue |
59
|
|
|
//---------------------------------------------------------------- |
60
|
|
|
update_lg(); |
61
|
|
|
//---------------------------------------------------------------- |
62
|
|
|
|
63
|
|
|
$sql1 = 'UPDATE ' . $xoopsDB->prefix('donations_config') . ' SET `value` = "' . XOOPS_URL . '/modules/' . $moduleDirName . '/success.php" WHERE `name` = "ty_url"'; |
|
|
|
|
64
|
|
|
$sql2 = 'UPDATE ' . $xoopsDB->prefix('donations_config') . ' SET `value` = "' . XOOPS_URL . '/modules/' . $moduleDirName . '/cancel.php" WHERE `name` = "pp_cancel_url"'; |
65
|
|
|
|
66
|
|
|
$retVal = false; |
67
|
|
|
if ($xoopsUser && $xoopsDB->query($sql1) && $xoopsDB->query($sql2)) { |
68
|
|
|
$retVal = true; |
69
|
|
|
} |
70
|
|
|
|
71
|
|
|
return $retVal; |
72
|
|
|
} |
73
|
|
|
|
74
|
|
|
/************************************************************************ |
75
|
|
|
* |
76
|
|
|
************************************************************************/ |
77
|
|
|
function update_lg() |
78
|
|
|
{ |
79
|
|
|
global $xoopsDB; |
80
|
|
|
|
81
|
|
|
// $moduleDirName = basename ( dirname( __DIR__ ) ) ; |
82
|
|
|
|
83
|
|
|
if (defined('_AD_XDONATION_DONATIONS')) { |
84
|
|
|
$prefixV = '_AD_XDONATION_V_'; |
85
|
|
|
$prefixT = '_AD_XDONATION_T_'; |
86
|
|
|
} else { |
87
|
|
|
$prefixV = '_MI_XDONATION_V_'; |
88
|
|
|
$prefixT = '_MI_XDONATION_T_'; |
89
|
|
|
} |
90
|
|
|
|
91
|
|
|
$lstName = 'receiver_email_;paypal_url_array;use_goal_array;' |
92
|
|
|
. 'week_goal_1st;week_goal_2nd;week_goal_3rd;week_goal_4th;' |
93
|
|
|
. 'month_goal_Jan;month_goal_Feb;month_goal_Mar;month_goal_Apr;' |
94
|
|
|
. 'month_goal_May;month_goal_Jun;month_goal_Jul;' |
95
|
|
|
. 'month_goal_Aug;month_goal_Sep;month_goal_Oct;' |
96
|
|
|
. 'month_goal_Nov;month_goal_Dec;quarter_goal_1st;quarter_goal_2nd;' |
97
|
|
|
. 'quarter_goal_3rd;quarter_goal_4th;swing_day_;ty_url_;' |
98
|
|
|
. 'pp_itemname_;don_button_submit_;don_button_top_;pp_image_url_;' |
99
|
|
|
. 'pp_cancel_url_;pp_get_addr_;pp_curr_code_array;don_amount_1;' |
100
|
|
|
. 'don_amount_2;don_amount_3;don_amount_4;don_amount_5;' |
101
|
|
|
. 'don_amount_6;don_amount_7;don_amt_checked_;pp_item_num_;' |
102
|
|
|
. 'don_top_img_width_;don_top_img_height_;don_sub_img_width_;' |
103
|
|
|
. 'don_sub_img_height_;don_text_rawtext;don_name_prompt_;' |
104
|
|
|
. 'don_name_yes_;don_name_no_;don_forceadd_;ipn_dbg_lvl_;ipn_log_entries_;' |
105
|
|
|
. 'assign_group_;assign_rank_'; |
106
|
|
|
|
107
|
|
|
$table = $xoopsDB->prefix('donations_config'); |
108
|
|
|
$sql0 = "INSERT INTO `{$table}` (`name`, `subtype`, `value`, `text`) " . "VALUES ('%1\$s', '%2\$s', '%3\$s', '%4\$s')"; |
109
|
|
|
|
110
|
|
|
$sql = "DELETE FROM {$table}"; |
111
|
|
|
$xoopsDB->queryF($sql); |
112
|
|
|
//echo "{$sql}<br>"; |
113
|
|
|
$t = explode(';', $lstName); |
114
|
|
|
|
115
|
|
|
for ($h = 0, $hMax = count($t); $h < $hMax; ++$h) { |
116
|
|
|
//echo "<hr>{$t[$h]}<br>"; |
117
|
|
|
$tc = explode('_', $t[$h]); |
118
|
|
|
//echo "<hr>{$t[$h]}-".count($tc)."-".count($tn)."<br>"; |
119
|
|
|
|
120
|
|
|
//$tc = array_shift($tc); |
121
|
|
|
$subType = $tc[count($tc) - 1]; |
122
|
|
|
|
123
|
|
|
$cstV = $prefixV . $t[$h]; |
124
|
|
|
$cstT = $prefixT . $t[$h]; |
125
|
|
|
|
126
|
|
|
//$tc = array_shift($tc); |
127
|
|
|
$tn = array_pop($tc); |
|
|
|
|
128
|
|
|
$tn = $tc; |
129
|
|
|
$name = implode('_', $tn); |
130
|
|
|
//echo "{$t[$h]}-".count($tc)."-".count($tn)."-{$tc[0]}-{$tn[0]}-{$name}<br>"; |
131
|
|
|
|
132
|
|
|
$value = constant($cstV); |
133
|
|
|
$text = constant($cstT); |
134
|
|
|
$text = str_replace("'", "\'", $text); |
135
|
|
|
$text = html_entity_decode($text); |
136
|
|
|
$text = str_replace('<br>', "\r\n", $text); |
137
|
|
|
$text = str_replace('<br>', "\r\n", $text); |
138
|
|
|
|
139
|
|
|
$sql = sprintf($sql0, $name, $subType, $value, $text); |
140
|
|
|
// echo "{$sql}<br>"; |
141
|
|
|
$xoopsDB->queryF($sql); |
142
|
|
|
} |
143
|
|
|
} |
144
|
|
|
|
145
|
|
|
eval('function xoops_module_install_' . $moduleDirName . '(\XoopsModule $module=NULL) |
|
|
|
|
146
|
|
|
{ |
147
|
|
|
return xoops_module_install_xyp_base($module); |
148
|
|
|
} |
149
|
|
|
'); |
150
|
|
|
|
151
|
|
|
/************************************************************************ |
152
|
|
|
* |
153
|
|
|
* http://localhost/xoops2018a/modules/xdonations/include/installscript.php?op=update_lg |
154
|
|
|
* http://localhost/xoops2018a/modules/xdonations/include/installscript.php?op=update_lg |
155
|
|
|
* https://www.paypal.com/fr_FR/FR/i/btn/btn_donate_LG.gif |
156
|
|
|
************************************************************************/ |
157
|
|
|
|
158
|
|
|
$op = \Xmf\Request::getString('op', '', 'GET'); |
|
|
|
|
159
|
|
|
|
160
|
|
|
switch ($op) { |
161
|
|
|
case 'update_lg': |
162
|
|
|
update_lg(); |
163
|
|
|
break; |
164
|
|
|
default: |
165
|
|
|
break; |
166
|
|
|
} |
167
|
|
|
|