forked from openemr/openemr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMessageService.php
117 lines (98 loc) · 3.19 KB
/
MessageService.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
<?php
/**
* MessageService
*
* @package OpenEMR
* @link http://www.open-emr.org
* @author Matthew Vita <[email protected]>
* @author Brady Miller <[email protected]>
* @copyright Copyright (c) 2018 Matthew Vita <[email protected]>
* @copyright Copyright (c) 2018 Brady Miller <[email protected]>
* @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
*/
namespace OpenEMR\Services;
use Particle\Validator\Validator;
class MessageService
{
public function __construct()
{
}
public function validate($message)
{
$validator = new Validator();
$validator->required('body')->lengthBetween(2, 65535);
$validator->required('to')->lengthBetween(2, 255);
$validator->required('from')->lengthBetween(2, 255);
$validator->required('groupname')->lengthBetween(2, 255);
$validator->required('title')->lengthBetween(2, 255);
$validator->required('message_status')->lengthBetween(2, 20);
return $validator->validate($message);
}
public function getFormattedMessageBody($from, $to, $body)
{
return "\n" . date("Y-m-d H:i") . " (" . $from . " to " . $to . ") " . $body;
}
public function insert($pid, $data)
{
$sql = " INSERT INTO pnotes SET";
$sql .= " date=NOW(),";
$sql .= " activity=1,";
$sql .= " authorized=1,";
$sql .= " body=?,";
$sql .= " pid=?,";
$sql .= " groupname=?,";
$sql .= " user=?,";
$sql .= " assigned_to=?,";
$sql .= " message_status=?,";
$sql .= " title=?";
$results = sqlInsert(
$sql,
array(
$this->getFormattedMessageBody($data["from"], $data["to"], $data["body"]),
$pid,
$data['groupname'],
$data['from'],
$data['to'],
$data['message_status'],
$data['title']
)
);
if (!$results) {
return false;
}
return $results;
}
public function update($pid, $mid, $data)
{
$existingBody = sqlQuery("SELECT body FROM pnotes WHERE id = ?", $mid);
$sql = " UPDATE pnotes SET";
$sql .= " body=?,";
$sql .= " groupname=?,";
$sql .= " user=?,";
$sql .= " assigned_to=?,";
$sql .= " message_status=?,";
$sql .= " title=?";
$sql .= " WHERE id=?";
$results = sqlStatement(
$sql,
array(
$existingBody["body"] . $this->getFormattedMessageBody($data["from"], $data["to"], $data["body"]),
$data['groupname'],
$data['from'],
$data['to'],
$data['message_status'],
$data['title'],
$mid
)
);
if (!$results) {
return false;
}
return $results;
}
public function delete($pid, $mid)
{
$sql = "UPDATE pnotes SET deleted=1 WHERE pid=? AND id=?";
return sqlStatement($sql, array($pid, $mid));
}
}