Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2018-12-18 11:06:47 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2018-12-18 11:06:47 +0300
commit5843a73294a180132476e3e1719a7452b82cd34b (patch)
treec9eea06ca77d6c22a0a06f9a34d33d862b3aee06 /lib
parentc5d9d09306a86a0ff838bc5e6252401b4d72a1da (diff)
parentafca0f21b9ade4178858250e1c8c5f2dc2f7039f (diff)
Merge remote-tracking branch 'origin/master' into refactor/vue
Diffstat (limited to 'lib')
-rw-r--r--lib/Db/Alias.php17
-rw-r--r--lib/Db/AliasMapper.php41
-rw-r--r--lib/Service/MailTransmission.php2
3 files changed, 44 insertions, 16 deletions
diff --git a/lib/Db/Alias.php b/lib/Db/Alias.php
index 48f8426dc..eae912b5d 100644
--- a/lib/Db/Alias.php
+++ b/lib/Db/Alias.php
@@ -1,4 +1,5 @@
<?php
+declare(strict_types=1);
/**
* @author Jakob Sack <mail@jakobsack.de>
@@ -33,8 +34,18 @@ use OCP\AppFramework\Db\Entity;
*/
class Alias extends Entity {
- public $accountId;
- public $name;
- public $alias;
+ /** @var int */
+ protected $accountId;
+ /** @var string */
+ protected $name;
+
+ /** @var string */
+ protected $alias;
+
+ public function __construct() {
+ $this->addType('accountId', 'int');
+ $this->addType('name', 'string');
+ $this->addType('alias', 'string');
+ }
}
diff --git a/lib/Db/AliasMapper.php b/lib/Db/AliasMapper.php
index caff4bbee..aba7fb665 100644
--- a/lib/Db/AliasMapper.php
+++ b/lib/Db/AliasMapper.php
@@ -1,4 +1,5 @@
<?php
+declare(strict_types=1);
/**
* Mail
@@ -12,10 +13,10 @@
namespace OCA\Mail\Db;
-use OCP\AppFramework\Db\Mapper;
+use OCP\AppFramework\Db\QBMapper;
use OCP\IDBConnection;
-class AliasMapper extends Mapper {
+class AliasMapper extends QBMapper {
/**
* @param IDBConnection $db
@@ -29,9 +30,19 @@ class AliasMapper extends Mapper {
* @param string $currentUserId
* @return Alias
*/
- public function find($aliasId, $currentUserId) {
- $sql = 'select *PREFIX*mail_aliases.* from *PREFIX*mail_aliases join *PREFIX*mail_accounts on *PREFIX*mail_aliases.account_id = *PREFIX*mail_accounts.id where *PREFIX*mail_accounts.user_id = ? and *PREFIX*mail_aliases.id=?';
- return $this->findEntity($sql, [$currentUserId, $aliasId]);
+ public function find(int $aliasId, string $currentUserId): Alias {
+ $qb = $this->db->getQueryBuilder();
+ $qb->select('aliases.*')
+ ->from($this->getTableName(), 'aliases')
+ ->join('aliases', 'mail_accounts', 'accounts', $qb->expr()->eq('aliases.account_id', 'accounts.id'))
+ ->where(
+ $qb->expr()->andX(
+ $qb->expr()->eq('accounts.user_id', $qb->createNamedParameter($currentUserId)),
+ $qb->expr()->eq('aliases.id', $qb->createNamedParameter($aliasId))
+ )
+ );
+
+ return $this->findEntity($qb);
}
/**
@@ -39,12 +50,18 @@ class AliasMapper extends Mapper {
* @param string $currentUserId
* @return Alias[]
*/
- public function findAll($accountId, $currentUserId) {
- $sql = 'select *PREFIX*mail_aliases.* from *PREFIX*mail_aliases join *PREFIX*mail_accounts on *PREFIX*mail_aliases.account_id = *PREFIX*mail_accounts.id where *PREFIX*mail_accounts.user_id = ? AND *PREFIX*mail_aliases.account_id=?';
- $params = [
- $currentUserId,
- $accountId
- ];
- return $this->findEntities($sql, $params);
+ public function findAll(int $accountId, string $currentUserId): array {
+ $qb = $this->db->getQueryBuilder();
+ $qb->select('aliases.*')
+ ->from($this->getTableName(), 'aliases')
+ ->join('aliases', 'mail_accounts', 'accounts', $qb->expr()->eq('aliases.account_id', 'accounts.id'))
+ ->where(
+ $qb->expr()->andX(
+ $qb->expr()->eq('accounts.user_id', $qb->createNamedParameter($currentUserId)),
+ $qb->expr()->eq('aliases.account_id', $qb->createNamedParameter($accountId))
+ )
+ );
+
+ return $this->findEntities($qb);
}
}
diff --git a/lib/Service/MailTransmission.php b/lib/Service/MailTransmission.php
index 064cf6d63..3ff085d2e 100644
--- a/lib/Service/MailTransmission.php
+++ b/lib/Service/MailTransmission.php
@@ -101,7 +101,7 @@ class MailTransmission implements IMailTransmission {
$message = $this->buildNewMessage($account, $messageData);
}
- $fromEmail = $alias ? $alias->alias : $account->getEMailAddress();
+ $fromEmail = $alias ? $alias->getAlias() : $account->getEMailAddress();
$from = new AddressList([
new Address($account->getName(), $fromEmail),
]);