1
|
|
|
<?php |
2
|
|
|
/* |
3
|
|
|
* You may not change or alter any portion of this comment or credits |
4
|
|
|
* of supporting developers from this source code or any supporting source code |
5
|
|
|
* which is considered copyrighted (c) material of the original comment or credit authors. |
6
|
|
|
* |
7
|
|
|
* This program is distributed in the hope that it will be useful, |
8
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
9
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
10
|
|
|
*/ |
11
|
|
|
|
12
|
|
|
/** |
13
|
|
|
* @copyright {@link https://xoops.org/ XOOPS Project} |
14
|
|
|
* @license {@link http://www.gnu.org/licenses/gpl-2.0.html GNU GPL 2 or later} |
15
|
|
|
* @package efqdirectory |
16
|
|
|
* @since |
17
|
|
|
* @author Martijn Hertog (aka wtravel) |
18
|
|
|
* @author XOOPS Development Team, |
19
|
|
|
*/ |
20
|
|
|
|
21
|
|
|
include __DIR__ . '/header.php'; |
22
|
|
|
$myts = MyTextSanitizer::getInstance();// MyTextSanitizer object |
|
|
|
|
23
|
|
|
require_once XOOPS_ROOT_PATH . '/class/xoopstree.php'; |
|
|
|
|
24
|
|
|
require_once XOOPS_ROOT_PATH . '/class/module.errorhandler.php'; |
25
|
|
|
require_once XOOPS_ROOT_PATH . '/include/xoopscodes.php'; |
26
|
|
|
require_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; |
27
|
|
|
require_once __DIR__ . '/class/class.subscription.php'; |
28
|
|
|
require_once __DIR__ . '/class/class.formradio.php'; |
29
|
|
|
|
30
|
|
|
$eh = new ErrorHandler; |
|
|
|
|
31
|
|
|
$subscription = new efqSubscription(); |
32
|
|
|
|
33
|
|
View Code Duplication |
if (isset($_GET['op'])) { |
|
|
|
|
34
|
|
|
$op = $_GET['op']; |
35
|
|
|
} elseif (isset($_POST['op'])) { |
36
|
|
|
$op = $_POST['op']; |
37
|
|
|
} else { |
38
|
|
|
$op = ''; |
39
|
|
|
} |
40
|
|
|
|
41
|
|
|
$moddir = $xoopsModule->getVar('dirname'); |
42
|
|
|
|
43
|
|
View Code Duplication |
if ($xoopsUser && $xoopsUser->isAdmin($xoopsModule->mid())) { |
|
|
|
|
44
|
|
|
$isadmin = true; |
45
|
|
|
} else { |
46
|
|
|
$isadmin = false; |
47
|
|
|
} |
48
|
|
|
|
49
|
|
|
if (!empty($_GET['item'])) { |
50
|
|
|
$get_itemid = (int)$_GET['item']; |
51
|
|
|
} else { |
52
|
|
|
$get_itemid = '0'; |
53
|
|
|
} |
54
|
|
|
|
55
|
|
|
$owner = getUserIdFromItem($get_itemid); |
|
|
|
|
56
|
|
|
|
57
|
|
|
if ($xoopsUser->getVar('uid') == $owner) { |
58
|
|
|
$editrights = '1'; |
59
|
|
|
} else { |
60
|
|
|
$editrights = '0'; |
61
|
|
|
redirect_header("listing.php?itemid=$get_itemid", 2, _MD_EDITRIGHTS); |
|
|
|
|
62
|
|
|
exit(); |
63
|
|
|
} |
64
|
|
|
|
65
|
|
|
function showsubscription() |
66
|
|
|
{ |
67
|
|
|
global $xoopsDB, $eh, $myts, $moddir, $get_itemid, $owner, $xoopsOption, $xoopsTpl, $subscription, $xoopsUser; |
68
|
|
|
//Check if item selected. |
69
|
|
|
if ($get_itemid == '0') { |
70
|
|
|
redirect_header('index.php', 2, _MD_NOVALIDITEM); |
|
|
|
|
71
|
|
|
exit(); |
72
|
|
|
} |
73
|
|
|
|
74
|
|
|
//Default function (if listing type is normal) would be to view the possible subscriptions. |
75
|
|
|
|
76
|
|
|
//Show current subscription order for listing |
77
|
|
|
$defaultstartdate = time(); |
78
|
|
|
$sql = 'SELECT i.title, i.typeid, o.orderid, o.offerid, o.startdate, o.enddate, o.billto, o.status, o.itemid, o.autorenew, t.typename, p.ref, p.payment_status FROM ' |
79
|
|
|
. $xoopsDB->prefix($module->getVar('dirname', 'n') . '_itemtypes') |
|
|
|
|
80
|
|
|
. ' t, ' |
81
|
|
|
. $xoopsDB->prefix($module->getVar('dirname', 'n') . '_items') |
82
|
|
|
. ' i, ' |
83
|
|
|
. $xoopsDB->prefix($module->getVar('dirname', 'n') . '_subscr_orders') |
84
|
|
|
. ' o LEFT JOIN ' |
85
|
|
|
. $xoopsDB->prefix($module->getVar('dirname', 'n') . '_subscr_payments') |
86
|
|
|
. ' p ON (o.orderid=p.orderid) WHERE o.typeid = t.typeid AND o.itemid=p.ref AND o.itemid=i.itemid AND i.itemid=' |
87
|
|
|
. $get_itemid |
88
|
|
|
. ' ORDER BY t.typelevel ASC'; |
89
|
|
|
$item_result = $xoopsDB->query($sql) or $eh->show('0013'); |
90
|
|
|
$numrows = $xoopsDB->getRowsNum($item_result); |
91
|
|
|
$order_exists = false; |
92
|
|
|
if ($numrows > 0) { |
93
|
|
|
$xoopsTpl->assign('order_table', true); |
94
|
|
|
while (list($title, $typeid, $orderid, $offerid, $startdate, $enddate, $billto, $orderstatus, $itemid, $autorenew, $typename, $ref, $paymentstatus) = $xoopsDB->fetchRow($item_result)) { |
95
|
|
|
//Assign the text of the label for subscription type. |
96
|
|
|
$ordername = $subscription->getOrderItemName($offerid); |
97
|
|
|
|
98
|
|
|
if ($paymentstatus == '') { |
99
|
|
|
$paymentstatus = _MD_LANG_INCOMPLETE; |
100
|
|
|
$terminate_on = '1'; |
101
|
|
|
} else { |
102
|
|
|
$terminate_on = null; |
103
|
|
|
$order_exists = true; |
104
|
|
|
} |
105
|
|
|
if ($orderstatus == '1') { |
106
|
|
|
$defaultstartdate = $billto; |
107
|
|
|
} |
108
|
|
|
if ($billto != '') { |
109
|
|
|
$billto = date('d-M-Y', $billto); |
110
|
|
|
} |
111
|
|
|
if ($enddate != '') { |
112
|
|
|
$enddate = date('d-M-Y', $enddate); |
113
|
|
|
} |
114
|
|
|
if ($startdate != '') { |
115
|
|
|
$startdate = date('d-M-Y', $startdate); |
116
|
|
|
} |
117
|
|
|
$xoopsTpl->assign('lang_subscr_offers_header', _MD_LANG_SUBSCR_ACTIVE_ORDERS_HEADER); |
118
|
|
|
$xoopsTpl->append('active_orders', array( |
119
|
|
|
'orderid' => $orderid, |
120
|
|
|
'ordername' => $ordername, |
121
|
|
|
'offerid' => $offerid, |
122
|
|
|
'startdate' => $startdate, |
123
|
|
|
'enddate' => $enddate, |
124
|
|
|
'billto' => $billto, |
125
|
|
|
'orderstatus' => $orderstatus, |
126
|
|
|
'itemid' => $itemid, |
127
|
|
|
'autorenew' => $autorenew, |
128
|
|
|
'typename' => $myts->htmlSpecialChars($typename), |
129
|
|
|
'ref' => $ref, |
130
|
|
|
'paymentstatus' => $paymentstatus, |
131
|
|
|
'renewal_url' => "subscriptions.php?op=renew&order=$orderid&item=$get_itemid", |
132
|
|
|
'terminate_url' => "subscriptions.php?op=terminate&order=$orderid&item=$get_itemid", |
133
|
|
|
'terminate_on' => $terminate_on |
134
|
|
|
)); |
135
|
|
|
$xoopsTpl->assign('lang_current_subscr', _MD_LANG_CURRENT_SUBSCR); |
136
|
|
|
$xoopsTpl->assign('current_subscr', $typename); |
137
|
|
|
$xoopsTpl->assign('lang_terminate_order', _MD_LANG_TERMINATE_ORDER); |
138
|
|
|
$xoopsTpl->assign('lang_terminate_order_alt', _MD_LANG_TERMINATE_ORDER_ALT); |
139
|
|
|
$xoopsTpl->assign('lang_renew_subscription', _MD_LANG_RENEW_SUBSCRIPTION); |
140
|
|
|
$xoopsTpl->assign('lang_renew_subscription_alt', _MD_LANG_RENEW_SUBSCRIPTION_ALT); |
141
|
|
|
//$xoopsTpl->assign('renewal_url', "subscriptions.php?op=renew"); |
|
|
|
|
142
|
|
|
|
143
|
|
|
$xoopsTpl->assign('lang_ordername', _MD_LANG_ORDERNAME); |
144
|
|
|
$xoopsTpl->assign('lang_startdate', _MD_LANG_STARTDATE); |
145
|
|
|
$xoopsTpl->assign('lang_billtodate', _MD_LANG_BILLTO); |
146
|
|
|
$xoopsTpl->assign('lang_enddate', _MD_LANG_ENDDATE); |
147
|
|
|
$xoopsTpl->assign('lang_paymentstatus', _MD_LANG_PAYMENTSTATUS); |
148
|
|
|
$xoopsTpl->assign('lang_actions', _MD_LANG_ACTIONS); |
149
|
|
|
$xoopsTpl->assign('moddir', $moddir); |
150
|
|
|
$listingtitle = $myts->htmlSpecialChars($title); |
|
|
|
|
151
|
|
|
} |
152
|
|
|
} else { |
153
|
|
|
$xoopsTpl->assign('lang_no_subscr_moment', _MD_LANG_NO_SUBSCR_MOMENT); |
154
|
|
|
} |
155
|
|
|
ob_start(); |
156
|
|
|
if ($order_exists) { |
157
|
|
|
$order_form_title = _MD_UPDATE_SUBSCR_FORM; |
158
|
|
|
} else { |
159
|
|
|
$order_form_title = _MD_SUBSCR_FORM; |
160
|
|
|
} |
161
|
|
|
$form = new XoopsThemeForm($order_form_title, 'subscribeform', 'subscriptions.php?item=' . $get_itemid . ''); |
|
|
|
|
162
|
|
|
$duration_arr = $subscription->durationPriceArray('1'); |
163
|
|
|
$itemtype_select = new efqFormRadio(_MD_SUBSCR_TYPE, 'typeofferid', null, '<br>'); |
164
|
|
|
$itemtype_select->addOptionArray($duration_arr); |
165
|
|
|
$form->addElement($itemtype_select, true); |
166
|
|
|
//TO DO: Add Auto Renew functionality |
167
|
|
|
//$form->addElement(new XoopsFormRadioYN(_MD_AUTORENEWYN, 'autorenewal', '1'),true); |
|
|
|
|
168
|
|
|
$form->addElement(new XoopsFormTextDateSelect(_MD_SELECT_STARTDATE, 'startdate', 15, $defaultstartdate), true); |
|
|
|
|
169
|
|
|
$form->addElement(new XoopsFormButton('', 'submit', _MD_CONTINUE, 'submit')); |
|
|
|
|
170
|
|
|
$form->addElement(new XoopsFormHidden('op', 'orderselect')); |
|
|
|
|
171
|
|
|
$form->addElement(new XoopsFormHidden('uid', $xoopsUser->getVar('uid'))); |
172
|
|
|
$form->display(); |
173
|
|
|
$orderform = ob_get_contents(); |
174
|
|
|
ob_end_clean(); |
175
|
|
|
$xoopsTpl->assign('orderform', $orderform); |
176
|
|
|
} |
177
|
|
|
|
178
|
|
|
function orderselect() |
179
|
|
|
{ |
180
|
|
|
//function to update subscription by creating an order or updating an order. |
181
|
|
|
global $xoopsDB, $eh, $myts, $moddir, $get_itemid, $owner, $xoopsOption, $xoopsTpl, $subscription, $xoopsUser; |
182
|
|
|
if ($get_itemid == '0') { |
183
|
|
|
redirect_header('index.php', 2, _MD_NOVALIDITEM); |
|
|
|
|
184
|
|
|
exit(); |
185
|
|
|
} |
186
|
|
|
$orderid = $subscription->createOrder($get_itemid); |
187
|
|
|
if ($orderid === false) { |
188
|
|
|
redirect_header("subscriptions.php?item=$get_itemid", 2, _MD_SUBSCR_TYPE_NOTSELECTED); |
189
|
|
|
exit(); |
190
|
|
|
} |
191
|
|
|
if ($orderid != 0) { |
192
|
|
|
redirect_header("subscriptions.php?item=$get_itemid&op=orderpayment&orderid=$orderid", 2, _MD_SAVED); |
193
|
|
|
exit(); |
194
|
|
|
} else { |
195
|
|
|
redirect_header("subscriptions.php?item=$get_itemid", 2, _MD_ITEM_NOT_EXIST); |
196
|
|
|
exit(); |
197
|
|
|
} |
198
|
|
|
} |
199
|
|
|
|
200
|
|
|
function orderpayment() |
201
|
|
|
{ |
202
|
|
|
global $xoopsDB, $eh, $myts, $moddir, $get_itemid, $owner, $xoopsOption, $xoopsTpl, $subscription, $xoopsUser; |
203
|
|
|
//Default function (if listing type is normal) would be to view the possible subscriptions. |
204
|
|
|
|
205
|
|
|
//Show current subscription for listing |
206
|
|
|
//If standard subscription: Show subcription offers plus link to upgrade |
207
|
|
View Code Duplication |
if (!empty($_GET['orderid'])) { |
|
|
|
|
208
|
|
|
$get_orderid = (int)$_GET['orderid']; |
209
|
|
|
} else { |
210
|
|
|
redirect_header('index.php', 2, _MD_NOVALIDITEM); |
|
|
|
|
211
|
|
|
exit(); |
212
|
|
|
} |
213
|
|
|
$sql = 'SELECT o.orderid, o.uid, o.offerid, o.typeid, o.startdate, o.billto, o.status, o.itemid, o.autorenew, f.price, f.currency FROM ' |
214
|
|
|
. $xoopsDB->prefix($module->getVar('dirname', 'n') . '_subscr_orders') |
|
|
|
|
215
|
|
|
. ' o, ' |
216
|
|
|
. $xoopsDB->prefix($module->getVar('dirname', 'n') . '_subscr_offers') |
217
|
|
|
. ' f WHERE o.offerid=f.offerid AND o.orderid=' |
218
|
|
|
. $get_orderid |
219
|
|
|
. ''; |
220
|
|
|
$order_result = $xoopsDB->query($sql) or $eh->show('0013'); |
221
|
|
|
$numrows = $xoopsDB->getRowsNum($order_result); |
222
|
|
|
if ($numrows > 0) { |
223
|
|
|
while (list($orderid, $uid, $offerid, $typeid, $startdate, $billto, $status, $itemid, $autorenew, $price, $currency) = $xoopsDB->fetchRow($order_result)) { |
224
|
|
|
ob_start(); |
225
|
|
|
$itemname = $subscription->getOrderItemName($offerid); |
226
|
|
|
$form = new XoopsThemeForm(_MD_ORDER_PAYMENT_FORM, 'orderpaymentform', 'process.php'); |
227
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_FIRSTNAME, 'firstname', 50, 150, '')); |
|
|
|
|
228
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_LASTNAME, 'lastname', 50, 150, '')); |
229
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_ADDRESS1, 'address1', 50, 150, '')); |
230
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_ADDRESS2, 'address2', 50, 150, '')); |
231
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_CITY, 'city', 50, 150, '')); |
232
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_STATE, 'state', 50, 150, '')); |
233
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_ZIP, 'zip', 15, 50, '')); |
234
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_EMAIL, 'email', 30, 150, '')); |
235
|
|
|
$form->addElement(new XoopsFormText(_MD_PAY_PHONE1, 'phone1', 30, 150, '')); |
236
|
|
|
$form->addElement(new XoopsFormLabel(_MD_PAY_WITH, '<img src="images/visa_mastercard.gif">')); |
|
|
|
|
237
|
|
|
$form->addElement(new XoopsFormHidden('phone2', '')); |
238
|
|
|
$form->addElement(new XoopsFormHidden('on0', '')); |
239
|
|
|
$form->addElement(new XoopsFormHidden('os0', '')); |
240
|
|
|
$form->addElement(new XoopsFormHidden('on1', '')); |
241
|
|
|
$form->addElement(new XoopsFormHidden('os1', '')); |
242
|
|
|
$form->addElement(new XoopsFormHidden('custom', $itemid)); |
243
|
|
|
|
244
|
|
|
$form->addElement(new XoopsFormHidden('item_name', $itemname)); |
245
|
|
|
$form->addElement(new XoopsFormHidden('item_number', $orderid)); |
246
|
|
|
$form->addElement(new XoopsFormHidden('amount', $price)); |
247
|
|
|
$form->addElement(new XoopsFormHidden('quantity', 1)); |
248
|
|
|
$form->addElement(new XoopsFormHidden('shipping_amount', '0')); |
249
|
|
|
$form->addElement(new XoopsFormHidden('tax', '0')); |
250
|
|
|
|
251
|
|
|
$form->addElement(new XoopsFormButton('', 'submit', _MD_CONTINUE, 'submit')); |
252
|
|
|
$form->display(); |
253
|
|
|
$paymentform = ob_get_contents(); |
254
|
|
|
ob_end_clean(); |
255
|
|
|
$xoopsTpl->assign('paymentform', $paymentform); |
256
|
|
|
} |
257
|
|
|
|
258
|
|
|
$xoopsTpl->assign('lang_subscribe', _MD_LANG_SUBSCRIBE); |
259
|
|
|
$xoopsTpl->assign('lang_subscr_payment', _MD_LANG_SUBSCR_PAYMENT); |
260
|
|
|
$xoopsTpl->assign('lang_subscribe', _MD_LANG_SUBSCRIBE); |
261
|
|
|
$xoopsTpl->assign('moddir', $moddir); |
262
|
|
|
} else { |
263
|
|
|
//Else this item cannot be found in the database. |
264
|
|
|
redirect_header("listing.php?itemid=$get_itemid", 2, _MD_ITEM_NOT_EXIST); |
265
|
|
|
exit(); |
266
|
|
|
} |
267
|
|
|
} |
268
|
|
|
|
269
|
|
|
function terminate() |
270
|
|
|
{ |
271
|
|
|
global $xoopsDB, $eh, $myts, $moddir, $get_itemid, $editrights; |
272
|
|
|
if (!empty($_GET['order'])) { |
273
|
|
|
$get_orderid = (int)$_GET['order']; |
274
|
|
|
} else { |
275
|
|
|
redirect_header("subscriptions.php?item=$get_itemid", 2, _MD_NOVALIDORDER); |
|
|
|
|
276
|
|
|
exit(); |
277
|
|
|
} |
278
|
|
|
if ($editrights == '1') { |
279
|
|
|
$form = new XoopsThemeForm(_MD_CONFIRM_TERMINATE_TITLE, 'terminateform', 'subscriptions.php?item=' . $get_itemid . ''); |
280
|
|
|
$form->addElement(new XoopsFormLabel(_MD_CONFIRMATION, _MD_CONFIRM_TERMINATION_TEXT)); |
281
|
|
|
$form->addElement(new XoopsFormButton('', 'submit', _MD_CONTINUE, 'submit')); |
282
|
|
|
$form->addElement(new XoopsFormHidden('op', 'terminate_confirm')); |
283
|
|
|
$form->addElement(new XoopsFormHidden('orderid', $get_orderid)); |
284
|
|
|
$form->display(); |
285
|
|
|
} else { |
286
|
|
|
redirect_header("subscriptions.php?itemid=$get_itemid", 2, _MD_NORIGHTS); |
287
|
|
|
exit(); |
288
|
|
|
} |
289
|
|
|
} |
290
|
|
|
|
291
|
|
|
function terminate_confirm() |
292
|
|
|
{ |
293
|
|
|
global $subscription, $get_itemid; |
294
|
|
|
if (isset($_POST['orderid'])) { |
295
|
|
|
$post_orderid = (int)$_POST['orderid']; |
296
|
|
|
if ($subscription->delete($post_orderid)) { |
297
|
|
|
redirect_header("subscriptions.php?item=$get_itemid", 2, _MD_ORDER_DELETED); |
|
|
|
|
298
|
|
|
exit(); |
299
|
|
|
} |
300
|
|
|
} else { |
301
|
|
|
redirect_header("subscriptions.php?item=$get_itemid", 2, _MD_NOVALIDORDER); |
302
|
|
|
exit(); |
303
|
|
|
} |
304
|
|
|
} |
305
|
|
|
|
306
|
|
|
function renew() |
307
|
|
|
{ |
308
|
|
|
global $subscription, $get_itemid, $editrights; |
309
|
|
View Code Duplication |
if (!empty($_GET['order'])) { |
|
|
|
|
310
|
|
|
$get_orderid = (int)$_GET['order']; |
311
|
|
|
} else { |
312
|
|
|
redirect_header('index.php', 2, _MD_NOVALIDITEM); |
|
|
|
|
313
|
|
|
exit(); |
314
|
|
|
} |
315
|
|
|
if ($editrights == '1') { |
316
|
|
|
redirect_header("subscriptions.php?item=$get_itemid&op=orderpayment&orderid=$get_orderid", 2, _MD_FORWARDED_PAYMENT_PAGE); |
317
|
|
|
exit(); |
318
|
|
|
} |
319
|
|
|
} |
320
|
|
|
|
321
|
|
|
switch ($op) { |
322
|
|
|
case 'upgrade': |
323
|
|
|
upgrade(); |
|
|
|
|
324
|
|
|
break; |
325
|
|
|
case 'orderselect': |
326
|
|
|
orderselect(); |
327
|
|
|
break; |
328
|
|
View Code Duplication |
case 'orderpayment': |
|
|
|
|
329
|
|
|
$GLOBALS['xoopsOption']['template_main'] = 'efqdiralpha1_subscriptions.tpl'; |
330
|
|
|
include XOOPS_ROOT_PATH . '/header.php'; |
331
|
|
|
orderpayment(); |
332
|
|
|
$xoopsTpl->assign('xoops_module_header', $xoops_module_header); |
333
|
|
|
break; |
334
|
|
View Code Duplication |
case 'terminate': |
|
|
|
|
335
|
|
|
$GLOBALS['xoopsOption']['template_main'] = 'efqdiralpha1_subscriptions.tpl'; |
336
|
|
|
include XOOPS_ROOT_PATH . '/header.php'; |
337
|
|
|
terminate(); |
338
|
|
|
$xoopsTpl->assign('xoops_module_header', $xoops_module_header); |
339
|
|
|
break; |
340
|
|
|
case 'terminate_confirm': |
341
|
|
|
include XOOPS_ROOT_PATH . '/header.php'; |
342
|
|
|
terminate_confirm(); |
343
|
|
|
break; |
344
|
|
|
case 'renew': |
345
|
|
|
include XOOPS_ROOT_PATH . '/header.php'; |
346
|
|
|
renew(); |
347
|
|
|
break; |
348
|
|
View Code Duplication |
default: |
|
|
|
|
349
|
|
|
$GLOBALS['xoopsOption']['template_main'] = 'efqdiralpha1_subscriptions.tpl'; |
350
|
|
|
include XOOPS_ROOT_PATH . '/header.php'; |
351
|
|
|
showsubscription(); |
352
|
|
|
$xoopsTpl->assign('xoops_module_header', $xoops_module_header); |
353
|
|
|
break; |
354
|
|
|
} |
355
|
|
|
|
356
|
|
|
include XOOPS_ROOT_PATH . '/footer.php'; |
357
|
|
|
|
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths