diff --git a/appinfo/info.xml b/appinfo/info.xml
index 8dc1fe9..df8c8e5 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -5,6 +5,6 @@
Owncloud SMS app
AGPL
Loic Blot
- 0.1.8
+ 0.2.0
7
diff --git a/appinfo/routes.php b/appinfo/routes.php
index a8fcf38..98c3811 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -19,4 +19,5 @@ $application->registerRoutes($this, array('routes' => array(
array('name' => 'sms#replace', 'url' => '/replace', 'verb' => 'POST'),
array('name' => 'sms#retrieve_all_ids', 'url' => '/get/smsidlist', 'verb' => 'GET'),
array('name' => 'sms#retrieve_all_peers', 'url' => '/get/peerlist', 'verb' => 'GET'),
+ array('name' => 'sms#get_conversation', 'url' => '/get/conversation', 'verb' => 'GET'),
)));
diff --git a/controller/smscontroller.php b/controller/smscontroller.php
index fb342b4..415ec64 100644
--- a/controller/smscontroller.php
+++ b/controller/smscontroller.php
@@ -72,6 +72,16 @@ class SmsController extends Controller {
return new JSONResponse(array("phonelist" => $phoneList));
}
+ /**
+ * @NoAdminRequired
+ * @NoCSRFRequired
+ */
+ public function getConversation ($phoneNumber) {
+ $messages = $this->smsMapper->getAllMessagesForPhoneNumber($this->userId, $phoneNumber);
+ // @ TODO: filter correctly
+ return new JSONResponse(array("conversation" => $messages));
+ }
+
/**
* @NoAdminRequired
*/
diff --git a/db/smsmapper.php b/db/smsmapper.php
index ff14a1a..dcae4ab 100644
--- a/db/smsmapper.php
+++ b/db/smsmapper.php
@@ -21,6 +21,12 @@ class SmsMapper extends Mapper {
* on which mailbox it works
*/
private static $mailboxNames = array(0 => "inbox", 1 => "sent", 2 => "drafts");
+ private static $messageTypes = array(
+ 0 => "all", 1 => "inbox",
+ 2 => "sent", 3 => "drafts",
+ 4 => "outbox", 5 => "failed",
+ 6 => "queued"
+ );
public function __construct (IDb $db) {
parent::__construct($db, 'ocsms_smsdatas');
@@ -59,6 +65,19 @@ class SmsMapper extends Mapper {
return $phoneList;
}
+ public function getAllMessagesForPhoneNumber ($userId, $phoneNumber) {
+ $query = \OC_DB::prepare('SELECT sms_date, sms_msg, sms_type FROM ' .
+ '*PREFIX*ocsms_smsdatas WHERE user_id = ? AND sms_mailbox IN (?,?)');
+ $result = $query->execute(array($userId, 0, 1));
+
+ $messageList = array();
+ while($row = $result->fetchRow()) {
+ array_push($messageList[$row["sms_date"]], $row);
+ }
+ sort($messageList);
+ return $messageList;
+ }
+
public function writeToDB ($userId, $smsList, $purgeAllSmsBeforeInsert = false) {
\OCP\DB::beginTransaction();