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

Add missing database indices

This commit is contained in:
Loic Blot 2016-09-22 22:16:09 +02:00
parent eea860d919
commit 852c0835fa
4 changed files with 78 additions and 16 deletions

View File

@ -26,8 +26,16 @@
<length>64</length> <length>64</length>
<notnull>true</notnull> <notnull>true</notnull>
</field> </field>
<index>
<name>user_datas_user_datakey</name>
<field>
<name>user_id</name>
</field>
<field>
<name>datakey</name>
</field>
</index>
</declaration> </declaration>
</table> </table>
<table> <table>
<name>*dbprefix*ocsms_smsdatas</name> <name>*dbprefix*ocsms_smsdatas</name>
@ -102,6 +110,54 @@
<notnull>true</notnull> <notnull>true</notnull>
<length>1</length> <length>1</length>
</field> </field>
<index>
<name>smsdata_user_mailbox</name>
<field>
<name>user_id</name>
</field>
<field>
<name>sms_mailbox</name>
</field>
</index>
<index>
<name>smsdata_user_mailbox_date</name>
<field>
<name>user_id</name>
</field>
<field>
<name>sms_mailbox</name>
</field>
<field>
<name>sms_date</name>
</field>
</index>
<index>
<name>smsdata_user_mailbox_address</name>
<field>
<name>user_id</name>
</field>
<field>
<name>sms_mailbox</name>
</field>
<field>
<name>sms_address</name>
</field>
</index>
<index>
<name>smsdata_user_mailbox_address_date</name>
<field>
<name>user_id</name>
</field>
<field>
<name>sms_mailbox</name>
</field>
<field>
<name>sms_address</name>
</field>
<field>
<name>sms_date</name>
</field>
</index>
</declaration> </declaration>
</table> </table>
<table> <table>
@ -157,6 +213,15 @@
<notnull>false</notnull> <notnull>false</notnull>
<length>10240</length> <length>10240</length>
</field> </field>
<index>
<name>config_user_key</name>
<field>
<name>user</name>
</field>
<field>
<name>key</name>
</field>
</index>
</declaration> </declaration>
</table> </table>
</database> </database>

View File

@ -6,7 +6,7 @@
<description>A app to sync SMS with your ownCloud</description> <description>A app to sync SMS with your ownCloud</description>
<licence>agpl</licence> <licence>agpl</licence>
<author>Loic Blot</author> <author>Loic Blot</author>
<version>1.8.3</version> <version>1.8.5</version>
<dependencies> <dependencies>
<owncloud min-version="8.1" max-version="9.2" /> <owncloud min-version="8.1" max-version="9.2" />
<nextcloud min-version="9.0" /> <nextcloud min-version="9.0" />

View File

@ -197,7 +197,7 @@ class SmsMapper extends Mapper {
} }
public function getLastMessageTimestampForAllPhonesNumbers ($userId, $order = true) { public function getLastMessageTimestampForAllPhonesNumbers ($userId, $order = true) {
$sql = 'SELECT sms_address,MAX(sms_date) as mx FROM ' . $sql = 'SELECT sms_address, MAX(sms_date) AS mx FROM ' .
'*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_mailbox IN (?,?) ' . '*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_mailbox IN (?,?) ' .
'GROUP BY sms_address'; 'GROUP BY sms_address';
@ -210,7 +210,7 @@ class SmsMapper extends Mapper {
$phoneList = array(); $phoneList = array();
while ($row = $result->fetchRow()) { while ($row = $result->fetchRow()) {
$phoneNumber = $row["sms_address"]; $phoneNumber = preg_replace("#[ ]#", "", $row["sms_address"]);
if (!in_array($phoneNumber, $phoneList)) { if (!in_array($phoneNumber, $phoneList)) {
$phoneList[$phoneNumber] = $row["mx"]; $phoneList[$phoneNumber] = $row["mx"];
} }
@ -221,7 +221,7 @@ class SmsMapper extends Mapper {
public function getNewMessagesCountForAllPhonesNumbers($userId, $lastDate) { public function getNewMessagesCountForAllPhonesNumbers($userId, $lastDate) {
$ld = ($lastDate == '') ? 0 : $lastDate; $ld = ($lastDate == '') ? 0 : $lastDate;
$sql = 'SELECT sms_address,count(sms_date) as ct FROM ' . $sql = 'SELECT sms_address, COUNT(sms_date) AS ct FROM ' .
'*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_mailbox IN (?,?) ' . '*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_mailbox IN (?,?) ' .
'AND sms_date > ? GROUP BY sms_address'; 'AND sms_date > ? GROUP BY sms_address';

View File

@ -204,10 +204,9 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile'
var bufferedContacts = []; var bufferedContacts = [];
$.each(jsondata['phonelist'], function(id, val) { $.each(jsondata['phonelist'], function(id, val) {
var fn, peerLabel, idxVal; var fn, peerLabel;
idxVal = id.replace(/\//g,'');
if (typeof jsondata['contacts'][id] == 'undefined') { if (typeof jsondata['contacts'][id] == 'undefined') {
peerLabel = idxVal; peerLabel = id;
} }
else { else {
fn = jsondata['contacts'][id]; fn = jsondata['contacts'][id];
@ -217,7 +216,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile'
if (!inArray(peerLabel, bufferedContacts)) { if (!inArray(peerLabel, bufferedContacts)) {
var contactObj = { var contactObj = {
'label': peerLabel, 'label': peerLabel,
'nav': idxVal, 'nav': id,
'unread': val 'unread': val
}; };
@ -229,8 +228,8 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile'
bufferedContacts.push(peerLabel); bufferedContacts.push(peerLabel);
// Re-set conversation because we reload the element // Re-set conversation because we reload the element
if (idxVal == $scope.selectedContact.nav) { if (id == $scope.selectedContact.nav) {
changeSelectedConversation($("a[mailbox-navigation='" + idxVal + "']")); changeSelectedConversation($("a[mailbox-navigation='" + id + "']"));
} }
g_unreadCountAllConv += parseInt(val); g_unreadCountAllConv += parseInt(val);
@ -363,11 +362,9 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile'
$scope.photoVersion = jsondata["photo_version"]; $scope.photoVersion = jsondata["photo_version"];
$.each(jsondata['phonelist'], function(id, val) { $.each(jsondata['phonelist'], function(id, val) {
var peerLabel, idxVal, idxVal2; var peerLabel;
idxVal = id.replace(/\//g,' ');
idxVal2 = idxVal.replace('/ /g','');
if (typeof jsondata['contacts'][id] == 'undefined') { if (typeof jsondata['contacts'][id] == 'undefined') {
peerLabel = idxVal; peerLabel = id;
} }
else { else {
peerLabel = jsondata['contacts'][id]; peerLabel = jsondata['contacts'][id];
@ -375,7 +372,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile'
if (!inArray(peerLabel, bufferedContacts)) { if (!inArray(peerLabel, bufferedContacts)) {
var contactObj = { var contactObj = {
'label': peerLabel, 'label': peerLabel,
'nav': idxVal2, 'nav': id,
'unread' : 0, 'unread' : 0,
'lastmsg': val 'lastmsg': val
}; };