From aefea6b8ff4072ba437b80ebd336cc5db1c1d171 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot=20=28=40U-Exp=29?= Date: Fri, 12 Sep 2014 16:13:40 +0200 Subject: [PATCH] Rename smsMgr to smsMapper to follow OC guidelines. Also implement saveAll alpha function --- appinfo/application.php | 13 ++++++++ controller/smscontroller.php | 6 ++-- db/sms.php | 2 -- db/smsmapper.php | 65 ++++++++++++++++++++++++++++++++++++ db/smsmgr.php | 41 ----------------------- 5 files changed, 82 insertions(+), 45 deletions(-) create mode 100644 db/smsmapper.php delete mode 100644 db/smsmgr.php diff --git a/appinfo/application.php b/appinfo/application.php index 4a61c2e..af9ad09 100644 --- a/appinfo/application.php +++ b/appinfo/application.php @@ -16,6 +16,9 @@ use \OCP\AppFramework\App; use \OCA\OcSms\Controller\SmsController; +use \OCA\MyApp\Db\Sms; +use \OCA\MyApp\Db\SmsMapper; + class Application extends App { @@ -36,6 +39,16 @@ class Application extends App { ); }); + /** + * Database Layer + */ + $container->registerService('Sms', function($c) { + return new Sms($c->query('ServerContainer')->getDb()); + }); + + $container->registerService('SmsMapper', function($c) { + return new SmsMapper($c->query('ServerContainer')->getDb()); + }); /** * Core diff --git a/controller/smscontroller.php b/controller/smscontroller.php index 0e56a63..9fbaf7b 100644 --- a/controller/smscontroller.php +++ b/controller/smscontroller.php @@ -15,7 +15,7 @@ namespace OCA\OcSms\Controller; use \OCP\IRequest; use \OCP\AppFramework\Http\TemplateResponse; use \OCP\AppFramework\Controller; -use OCA\OcSms\Db\SmsMgr; +use OCA\OcSms\Db\SmsMapper; class SmsController extends Controller { @@ -71,9 +71,11 @@ class SmsController extends Controller { return "Error: Invalid SMS date"; } - $smsMgr = new SmsMgr(); // @ TODO: test address and body ? } + + $smsMgr = new SmsMgr(); + $smsMgr->saveAll($smsDAtas); return "OK"; } diff --git a/db/sms.php b/db/sms.php index f892902..4f5b4a9 100644 --- a/db/sms.php +++ b/db/sms.php @@ -23,7 +23,5 @@ class Sms extends Entity { $this->addType('smsRead', 'boolean'); $this->addType('smsSeen', 'boolean'); } - - id | user_id | added | lastmodified | sms_read | sms_date | sms_id | sms_address | sms_msg } ?> diff --git a/db/smsmapper.php b/db/smsmapper.php new file mode 100644 index 0000000..2fee1c6 --- /dev/null +++ b/db/smsmapper.php @@ -0,0 +1,65 @@ + + * @copyright Loic Blot 2014 + */ + +namespace OCA\OcSms\Db; + +use \OCP\IDb; + +use \OCP\AppFramework\Db\Mapper; + +class SmsMapper extends Mapper { + private $db; + + public function __construct(IDb $db) { + $this->db = $db; + } + + // @TODO + public function saveAll($smsList) { + foreach ($smsList as $sms) { + $query = \OC_DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' . + '(user_id, added, lastmodified, sms_read, sms_seen, sms_date,' . + 'sms_draft, sms_id, sms_address, sms_msg) VALUES ' . + '(?,?,?,?,?,?,?,?,?,?)'); + $result = $query->execute(array( + \OCP\User::getUser(),"NOW()","NOW()", + $sms["read"] === "true", $sms["seen"] === "true", + $sms["date"], $sms["draft"] === "true", $sms["id"], + $sms["address"], $sms["body"] + )); + } + } + + protected $userId; + protected $added; + protected $lastmodified; + protected $smsRead; + protected $smsSeen; + protected $smsDate; + protected $smsDraft; + protected $smsId; + protected $smsAddress; + protected $smsMsg; + + public function find($id) { + $sql = 'SELECT * FROM `*PREFIX*myapp_authors` ' . + 'WHERE `id` = ?'; + $query = $db->prepareQuery($sql); + $query->bindParam(1, $id, \PDO::PARAM_INT); + $result = $query->execute(); + + while($row = $result->fetchRow()) { + return $row; + } + } +} + +?> diff --git a/db/smsmgr.php b/db/smsmgr.php deleted file mode 100644 index 0b53de2..0000000 --- a/db/smsmgr.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @copyright Loic Blot 2014 - */ - -namespace OCA\OcSms\Db; - -use \OCP\IDb; - -class SmsMgr { - private $db; - - public function __construct(IDb $db) { - $this->db = $db; - } - - // @TODO - public function saveAll($smsList) { - - } - - public function find($id) { - $sql = 'SELECT * FROM `*PREFIX*myapp_authors` ' . - 'WHERE `id` = ?'; - $query = $db->prepareQuery($sql); - $query->bindParam(1, $id, \PDO::PARAM_INT); - $result = $query->execute(); - - while($row = $result->fetchRow()) { - return $row; - } - } -} - -?>