1
0
mirror of https://github.com/nerzhul/ocsms.git synced 2025-06-07 07:56:23 +00:00

Bugfix: check the read date per phone number if there are messages to check for this date

This commit is contained in:
Loic Blot 2016-09-22 21:45:20 +02:00
parent debf173673
commit 631640c5bb

View File

@ -232,7 +232,9 @@ class SmsMapper extends Mapper {
while ($row = $result->fetchRow()) {
$phoneNumber = preg_replace("#[ ]#", "/", $row["sms_address"]);
if (!in_array($phoneNumber, $phoneList)) {
$phoneList[$phoneNumber] = $row["ct"];
if ($this->getLastReadDateForPhoneNumber($userId, $phoneNumber) < $lastDate) {
$phoneList[$phoneNumber] = $row["ct"];
}
}
}
return $phoneList;
@ -248,6 +250,22 @@ class SmsMapper extends Mapper {
if ($row = $result->fetchRow()) {
return $row["mx"];
}
return 0;
}
public function getLastReadDateForPhoneNumber ($userId, $phoneNumber) {
$sql = 'SELECT MAX(datavalue) as mx FROM ' .
'*PREFIX*ocsms_user_datas WHERE user_id = ? AND datakey = ?';
$query = \OCP\DB::prepare($sql);
$result = $query->execute(array($userId, 'lastReadDate-' . $phoneNumber));
if ($row = $result->fetchRow()) {
return $row["mx"];
}
return 0;
}
public function setLastReadDate ($userId, $phoneNumber, $lastDate) {