This repository has been archived by the owner on May 2, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhooks.php
153 lines (116 loc) · 5.51 KB
/
hooks.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?php
/**
* Paypal Subscription Reminder Addon
*
* This module creates a ticket from one of the staff members on WHMCS, with a reminder
* For clients who have just submitted a cancellation, to cancel their Paypal subscriptions
* To prevent being automatically billing again.
*
* @package Paypal Subscription Reminder
* @author Daniel Pietersen <[email protected]>
* @copyright Copyright (c) Daniel Pietersen 2005-2014
* @license http://www.whmcs.com/license/ WHMCS Eula
* @version v1.00
*/
if (!defined("WHMCS"))
die("This file cannot be accessed directly");
## Debug Settings
$debug = mysql_fetch_array( select_query('tbladdonmodules','value', "module='paypalsub_reminder' AND setting='debug'"));
$debug = $debug['value'];
#Adds new entries to activity log.
function logitHook($message) {
$command = "logactivity";
$staffmember = mysql_fetch_array( select_query('tbladdonmodules','value', "module='paypalsub_reminder' AND setting='staffusername'"));
$staffmember = $staffmember['value'];
if (isset($staffmember)) {
$values["description"] = $message;
$results = localAPI($command,$values,$staffmember);
}
}
#Create the ticket for customers
function paypalsub_reminder_Create_ticket($vars) {
global $debug;
# Don't run if not enabled.
if ($debug == 'on') {
logitHook("Paypal Subscription Reminder | Create Ticket Function Started.");
}
$enabled = mysql_fetch_array( select_query('tbladdonmodules', 'value', "module='paypalsub_reminder' AND setting='enabled'"));
$enabled = $enabled['value'];
# Don't run if not enabled.
if ($enabled != 'on') {
# Display debug info if enabled.
if ($debug == 'on') {
logitHook("Paypal Subscription Reminder | Not enabled. Not sending ticket.");
}
return;
}
# Get settings
$staffmemberticket = mysql_fetch_array( select_query('tbladdonmodules', 'value', "module='paypalsub_reminder' AND setting='staffusername'"));
$staffmemberticket = $staffmemberticket['value'];
$departmentname = mysql_fetch_array( select_query('tbladdonmodules', 'value', "module='paypalsub_reminder' AND setting='departmentid'"));
$departmentname = $departmentname['value'];
$departmentid = mysql_fetch_array( select_query('tblticketdepartments','id', "name='" . $departmentname . "'"));
$departmentid = $departmentid['id'];
$ticketsubject = mysql_fetch_array( select_query('tbladdonmodules', 'value', "module='paypalsub_reminder' AND setting='ticketsubject'"));
$ticketsubject = $ticketsubject['value'];
$ticketmessage = mysql_fetch_array( select_query('tbladdonmodules', 'value', "module='paypalsub_reminder' AND setting='ticketmessage'"));
$ticketmessage = $ticketmessage['value'];
$ticketpriority = mysql_fetch_array( select_query('tbladdonmodules', 'value', "module='paypalsub_reminder' AND setting='ticketpriority'"));
$ticketpriority = $ticketpriority['value'];
# Display debug info if enabled.
if ($debug == 'on') {
logitHook("Paypal Subscription Reminder | Staff Member Ticket: " . $staffmemberticket);
logitHook("Paypal Subscription Reminder | Department Name: " . $departmentname);
logitHook("Paypal Subscription Reminder | Department ID: " . $departmentid);
logitHook("Paypal Subscription Reminder | Ticket Subject: " . $ticketsubject);
logitHook("Paypal Subscription Reminder | Ticket Priority: " . $ticketpriority);
}
$command = "openticket";
$adminuser = $staffmemberticket;
$values["clientid"] = $vars['userid'];
$values["deptid"] = $departmentid;
$values["subject"] = $ticketsubject;
$values["message"] = $ticketmessage;
$values["priority"] = $ticketpriority;
$results = localAPI($command,$values,$adminuser);
if ($results['result']!="success") {
logitHook("Paypal Subscription Reminder | Error: " . $results['result']);
}
else {
logitHook("Paypal Subscription Reminder | Ticket Created for Cancellation.");
SetStatus($results['id']);
}
}
#Set Status of ticket to Answered
function SetStatus($ticketid) {
global $debug;
# Debug info.
if ($debug == 'on') {
logitHook("Paypal Subscription Reminder | SetStatus Function Started.");
}
$staffmemberticket = mysql_fetch_array( select_query('tbladdonmodules', 'value', array('module' => 'paypalsub_reminder', 'setting' => 'staffusername') ), MYSQL_ASSOC );
$staffmemberticket = $staffmemberticket['value'];
$ticketstatus = mysql_fetch_array( select_query('tbladdonmodules', 'value', array('module' => 'paypalsub_reminder', 'setting' => 'ticketstatus') ), MYSQL_ASSOC );
$ticketstatus = $ticketstatus['value'];
# Debug info.
if ($debug == 'on') {
logitHook("Paypal Subscription Reminder | Staff Member Username: " . $staffmemberticket);
logitHook("Paypal Subscription Reminder | Ticket Status: " . $ticketstatus);
}
$command = "updateticket";
$adminuser = $staffmemberticket;
$values["ticketid"] = $ticketid;
$values["status"] = $ticketstatus;
$results = localAPI($command,$values,$adminuser);
if ($results['result']!="success")
logitHook("Paypal Subscription Reminder | Error: " . $results['result']);
else
logitHook("Paypal Subscription Reminder | Ticket Set to '" . $ticketstatus . "'.");
}
# Debug info.
if ($debug == 'on') {
add_hook("TicketOpenAdmin", 1, "paypalsub_reminder_Create_ticket");
}
else {
add_hook("CancellationRequest", 1, "paypalsub_reminder_Create_ticket");
}