forked from LibreBooking/app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReminder.php
104 lines (94 loc) · 2.46 KB
/
Reminder.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
<?php
class Reminder
{
private $user_id;
private $reminder_id;
private $reminderaddress;
private $remindermessage;
private $sendTime;
private $refNumber;
/**
* @return string
*/
public function UserID()
{
return $this->user_id;
}
/**
* @return int
*/
public function ReminderID()
{
return $this->reminder_id;
}
/**
* @return string
*/
public function Address()
{
return $this->reminderaddress;
}
/**
* @return string
*/
public function Message()
{
return $this->remindermessage;
}
/**
* @return Date
*/
public function SendTime()
{
return $this->sendTime;
}
/**
* @return string
*/
public function RefNumber()
{
return $this->refNumber;
}
public function __construct($id, $userid, $address, $message, $sendtime, $refnumber)
{
$this->reminder_id = $id;
$this->user_id = $userid;
$this->reminderaddress = $address;
$this->remindermessage = $message;
$this->sendTime = $sendtime;
$this->refNumber = $refnumber;
}
public static function Create($id, $userid, $address, $message, $sendtime, $refnumber)
{
return new Reminder($id, $userid, $address, $message, $sendtime, $refnumber);
}
public static function FromRow($row)
{
return new Reminder(
$row[ColumnNames::REMINDER_ID],
$row[ColumnNames::REMINDER_USER_ID],
$row[ColumnNames::REMINDER_ADDRESS],
$row[ColumnNames::REMINDER_MESSAGE],
$row[ColumnNames::REMINDER_SENDTIME],
$row[ColumnNames::REMINDER_REFNUMBER]
);
}
public static function SendItOut(Reminder $reminder)
{
$message = $reminder->Message();
$subject = "Automatic Reminder from LibreBooking";
/* replace 'username' and 'password' with your GoogleVoice sign-in */
$gv = new GoogleVoice("username", "password");
$addresses = explode(',', str_replace(' ', '', $reminder->Address()));
foreach ($addresses as $address) {
if (ctype_digit($address)) {
$gv->sms($address, $message);
} else {
mail($address, $subject, $message);
}
}
$repository = new ReminderRepository();
$repository->DeleteReminder($reminder->ReminderID());
return;
}
}