1
0
mirror of https://github.com/nerzhul/ocsms.git synced 2025-06-08 16:36:25 +00:00

Migrate more deprecated methods

This commit is contained in:
Loic Blot 2018-04-11 22:12:20 +02:00
parent ccc164db5a
commit 70e9368ee0
No known key found for this signature in database
GPG Key ID: EFAA458E8C153987

View File

@ -180,21 +180,17 @@ class SmsMapper extends Mapper {
public function getMessages ($userId, $start, $limit) { public function getMessages ($userId, $start, $limit) {
$messageList = array(); $messageList = array();
$query = \OCP\DB::prepare('SELECT sms_address, sms_date, sms_msg, sms_type, sms_mailbox FROM ' . $qb = $this->db->getQueryBuilder();
'*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_date > ? ORDER BY sms_date', (int) $limit); $qb->select('sms_address, sms_date, sms_msg, sms_type, sms_mailbox')
$result = $query->execute(array($userId, $start)); ->from('ocsms_smsdatas')
->where($qb->expr()->andX(
// $qb = $this->db->getQueryBuilder(); $qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
// $qb->select('sms_address, sms_date, sms_msg, sms_type, sms_mailbox') $qb->expr()->gt('sms_date', $qb->createNamedParameter($start))
// ->from('ocsms_smsdatas') )
// ->where($qb->expr()->andX( )
// $qb->expr()->eq('user_id', $qb->createNamedParameter($userId)), ->orderBy('sms_date')
// $qb->expr()->gt('sms_date', $qb->createNamedParameter($start)) ->setMaxResults((int) $limit);
// ) $result = $qb->execute();
// )
// ->orderBy('sms_date');
// $result = $qb->execute();
// How to do limit ?
while ($row = $result->fetchRow()) { while ($row = $result->fetchRow()) {
$messageList[$row["sms_date"]] = array( $messageList[$row["sms_date"]] = array(
@ -210,13 +206,21 @@ class SmsMapper extends Mapper {
public function countMessagesForPhoneNumber ($userId, $phoneNumber, $country) { public function countMessagesForPhoneNumber ($userId, $phoneNumber, $country) {
$cnt = 0; $cnt = 0;
$phlst = $this->getAllPhoneNumbersForFPN ($userId, $phoneNumber, $country); $phlst = $this->getAllPhoneNumbersForFPN ($userId, $phoneNumber, $country);
$qb = $this->db->getQueryBuilder();
$query = \OCP\DB::prepare('SELECT count(*) as ct FROM ' .
'*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_address = ? ' .
'AND sms_mailbox IN (?,?,?)');
foreach($phlst as $pn => $val) { foreach($phlst as $pn => $val) {
$result = $query->execute(array($userId, $pn, 0, 1, 3)); $qb->select('COUNT(*) AS ct')
->from('ocsms_smsdatas')
->where($qb->expr()->andX(
$qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
$qb->expr()->eq('sms_address', $qb->createNamedParameter($pn)),
$qb->expr()->in('sms_mailbox', array_map(function($mbid) use ($qb) {
return $qb->createNamedParameter($mbid);
}, array(0, 1, 3)))
)
);
$result = $qb->execute();
if ($row = $result->fetchRow()) if ($row = $result->fetchRow())
$cnt += $row["ct"]; $cnt += $row["ct"];
} }
@ -225,9 +229,15 @@ class SmsMapper extends Mapper {
public function removeMessagesForPhoneNumber ($userId, $phoneNumber) { public function removeMessagesForPhoneNumber ($userId, $phoneNumber) {
$this->db->beginTransaction(); $this->db->beginTransaction();
$query = \OCP\DB::prepare('DELETE FROM ' . $qb = $this->db->getQueryBuilder();
'*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_address = ?'); $qb->delete('COUNT(*) AS ct')
$query->execute(array($userId, $phoneNumber)); ->from('ocsms_smsdatas')
->where($qb->expr()->andX(
$qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
$qb->expr()->eq('sms_address', $qb->createNamedParameter($phoneNumber))
)
);
$qb->execute();
$this->db->commit(); $this->db->commit();
} }
@ -236,10 +246,16 @@ class SmsMapper extends Mapper {
*/ */
public function removeMessage ($userId, $phoneNumber, $messageId) { public function removeMessage ($userId, $phoneNumber, $messageId) {
$this->db->beginTransaction(); $this->db->beginTransaction();
$query = \OCP\DB::prepare('DELETE FROM ' . $qb = $this->db->getQueryBuilder();
'*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_address = ? ' . $qb->delete()
'AND sms_date = ?'); ->from('ocsms_smsdatas')
$query->execute(array($userId, $phoneNumber, $messageId)); ->where($qb->expr()->andX(
$qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
$qb->expr()->eq('sms_address', $qb->createNamedParameter($phoneNumber)),
$qb->expr()->eq('sms_date', $qb->createNamedParameter($messageId))
)
);
$qb->execute();
$this->db->commit(); $this->db->commit();
} }
@ -296,11 +312,14 @@ class SmsMapper extends Mapper {
public function writeToDB ($userId, $smsList, $purgeAllSmsBeforeInsert = false) { public function writeToDB ($userId, $smsList, $purgeAllSmsBeforeInsert = false) {
$this->db->beginTransaction(); $this->db->beginTransaction();
$qb = $this->db->getQueryBuilder();
if ($purgeAllSmsBeforeInsert === true) { if ($purgeAllSmsBeforeInsert === true) {
$query = \OCP\DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . $qb->delete()
'WHERE user_id = ?'); ->from('ocsms_smsdatas')
$result = $query->execute(array($userId)); ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($userId))
);
$qb->execute();
} }
foreach ($smsList as $sms) { foreach ($smsList as $sms) {
@ -312,12 +331,14 @@ class SmsMapper extends Mapper {
// Only delete if we haven't purged the DB // Only delete if we haven't purged the DB
if ($purgeAllSmsBeforeInsert === false) { if ($purgeAllSmsBeforeInsert === false) {
// Remove previous record // Remove previous record
// @ TODO: only update the required fields, getAllIds can be useful $qb->delete()
$query = \OCP\DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . ->from('ocsms_smsdatas')
'WHERE user_id = ? AND sms_id = ?'); ->where($qb->expr()->andX(
$result = $query->execute(array( $qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
$userId, (int) $sms["_id"] $qb->expr()->eq('sms_id', $qb->createNamedParameter((int) $sms["_id"]))
)); )
);
$qb->execute();
} }
$now = date("Y-m-d H:i:s"); $now = date("Y-m-d H:i:s");
$query = \OCP\DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' . $query = \OCP\DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' .