diff --git a/README.md b/README.md index a17d55b..5342a5f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,20 @@ # Oc Sms + +## Introduction + +Oc Sms provides a webinterface to display your SMS conversations. + +SMS conversations are pushed by your Android devices using ownCloud Sms app, available on Google Play Store + +Android download link: https://play.google.com/store/apps/details?id=fr.unix_experience.owncloud_sms + +## Licence + +OcSMS web application is actually under AGPL licence but this free licence can be modificated to a better free licence. + +## Requirements +- An ownCloud instance + + +## Installation Place this app in **owncloud/apps/** - - -## Running tests -After [Installing PHPUnit](http://phpunit.de/getting-started.html) run: - - phpunit tests/ \ No newline at end of file diff --git a/controller/smscontroller.php b/controller/smscontroller.php index 20f4ea3..96012c0 100644 --- a/controller/smscontroller.php +++ b/controller/smscontroller.php @@ -16,6 +16,7 @@ use \OCP\IRequest; use \OCP\AppFramework\Http\TemplateResponse; use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http\JSONResponse; +use \OCA\OcSms\AppInfo\OcSmsApp; use \OCA\OcSms\Db\SmsMapper; class SmsController extends Controller { diff --git a/db/sms.php b/db/sms.php index 7095b58..000de01 100644 --- a/db/sms.php +++ b/db/sms.php @@ -1,5 +1,4 @@ execute(array($userId)); @@ -52,7 +52,7 @@ class SmsMapper extends Mapper { } public function getAllPeersPhoneNumbers ($userId) { - $query = \OC_DB::prepare('SELECT sms_address FROM ' . + $query = \OCP\DB::prepare('SELECT sms_address FROM ' . '*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_mailbox IN (?,?)'); $result = $query->execute(array($userId, 0, 1)); @@ -66,7 +66,7 @@ class SmsMapper extends Mapper { } public function getAllMessagesForPhoneNumber ($userId, $phoneNumber, $minDate = 0) { - $query = \OC_DB::prepare('SELECT sms_date, sms_msg, sms_type FROM ' . + $query = \OCP\DB::prepare('SELECT sms_date, sms_msg, sms_type FROM ' . '*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_address = ? ' . 'AND sms_mailbox IN (?,?) AND sms_date > ?'); $result = $query->execute(array($userId, $phoneNumber, 0, 1, $minDate)); @@ -86,7 +86,7 @@ class SmsMapper extends Mapper { \OCP\DB::beginTransaction(); if ($purgeAllSmsBeforeInsert === true) { - $query = \OC_DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . + $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . 'WHERE user_id = ?'); $result = $query->execute(array($userId)); } @@ -101,14 +101,14 @@ class SmsMapper extends Mapper { if ($purgeAllSmsBeforeInsert === false) { // Remove previous record // @ TODO: only update the required fields, getAllIds can be useful - $query = \OC_DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . + $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . 'WHERE user_id = ? AND sms_id = ?'); $result = $query->execute(array( $userId, (int) $sms["_id"] )); } - $query = \OC_DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' . + $query = \OCP\DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' . '(user_id, added, lastmodified, sms_flags, sms_date, sms_id,' . 'sms_address, sms_msg, sms_mailbox, sms_type) VALUES ' . '(?,?,?,?,?,?,?,?,?,?)'); diff --git a/js/script.js b/js/script.js index 15d5eef..bc95e9a 100644 --- a/js/script.js +++ b/js/script.js @@ -25,6 +25,11 @@ $.urlParam = function(name){ }; var refreshConversation = function() { + // if no conversation selected, then don't fetch page + if (curPhoneNumber == null) { + return; + } + $.getJSON(OC.generateUrl('/apps/ocsms/get/conversation'), { 'phoneNumber': curPhoneNumber, @@ -152,18 +157,25 @@ function changeSelectedConversation(item) { OC.Util.History.pushState('phonenumber=' + phoneNumber); // Reset it for refreshConversation lastMsgDate = 0; - fetchConversation(phoneNumber); - changeSelectedConversation($(this)); + + // phoneNumber must exist + if (phoneNumber != null) { + fetchConversation(phoneNumber); + changeSelectedConversation($(this)); + } event.preventDefault(); }); - var urlPhoneNumber = decodeURIComponent($.urlParam('phonenumber')); - if (urlPhoneNumber != null) { - fetchConversation(urlPhoneNumber); + var pnParam = $.urlParam('phonenumber')); + if (pnParam != null) { + var urlPhoneNumber = decodeURIComponent(pnParam); + if (urlPhoneNumber != null) { + fetchConversation(urlPhoneNumber); - var pObject = $("a[mailbox-navigation='" + urlPhoneNumber + "']"); - if (pObject != null) { - changeSelectedConversation(pObject); + var pObject = $("a[mailbox-navigation='" + urlPhoneNumber + "']"); + if (pObject != null) { + changeSelectedConversation(pObject); + } } } });