aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2017-04-11 15:09:27 -0500
committerGitHub <noreply@github.com>2017-04-11 15:09:27 -0500
commit6bd1c50dc32ccc208723ef08af72b8bfe99b58bb (patch)
tree33d39d58978b08068fe1654bebb6a4e599881eb9 /lib
parent8175ac6ecd58f08417fc5129af6a490fd3a4bc3b (diff)
parentf3a78ee39d3146dcc4b11ceb84759b0a602f9266 (diff)
downloadnextcloud-server-6bd1c50dc32ccc208723ef08af72b8bfe99b58bb.tar.gz
nextcloud-server-6bd1c50dc32ccc208723ef08af72b8bfe99b58bb.zip
Merge pull request #4304 from nextcloud/add-email-template-to-ocp
Add IEMailTemplate to public OCP API
Diffstat (limited to 'lib')
-rw-r--r--lib/composer/composer/autoload_classmap.php2
-rw-r--r--lib/composer/composer/autoload_static.php2
-rw-r--r--lib/private/Mail/EMailTemplate.php1
-rw-r--r--lib/private/Mail/Mailer.php24
-rw-r--r--lib/private/Server.php4
-rw-r--r--lib/public/Mail/IEMailTemplate.php (renamed from lib/private/Mail/IEMailTemplate.php)29
-rw-r--r--lib/public/Mail/IMailer.php8
7 files changed, 53 insertions, 17 deletions
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index fd73a9561a1..c80881262d7 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -211,6 +211,7 @@ return array(
'OCP\\Lock\\ILockingProvider' => $baseDir . '/lib/public/Lock/ILockingProvider.php',
'OCP\\Lock\\LockedException' => $baseDir . '/lib/public/Lock/LockedException.php',
'OCP\\Lockdown\\ILockdownManager' => $baseDir . '/lib/public/Lockdown/ILockdownManager.php',
+ 'OCP\\Mail\\IEMailTemplate' => $baseDir . '/lib/public/Mail/IEMailTemplate.php',
'OCP\\Mail\\IMailer' => $baseDir . '/lib/public/Mail/IMailer.php',
'OCP\\Migration\\IOutput' => $baseDir . '/lib/public/Migration/IOutput.php',
'OCP\\Migration\\IRepairStep' => $baseDir . '/lib/public/Migration/IRepairStep.php',
@@ -638,7 +639,6 @@ return array(
'OC\\Log\\Rotate' => $baseDir . '/lib/private/Log/Rotate.php',
'OC\\Log\\Syslog' => $baseDir . '/lib/private/Log/Syslog.php',
'OC\\Mail\\EMailTemplate' => $baseDir . '/lib/private/Mail/EMailTemplate.php',
- 'OC\\Mail\\IEMailTemplate' => $baseDir . '/lib/private/Mail/IEMailTemplate.php',
'OC\\Mail\\Mailer' => $baseDir . '/lib/private/Mail/Mailer.php',
'OC\\Mail\\Message' => $baseDir . '/lib/private/Mail/Message.php',
'OC\\Memcache\\APCu' => $baseDir . '/lib/private/Memcache/APCu.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index 9fe795cfb07..8955d2de6ce 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -241,6 +241,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OCP\\Lock\\ILockingProvider' => __DIR__ . '/../../..' . '/lib/public/Lock/ILockingProvider.php',
'OCP\\Lock\\LockedException' => __DIR__ . '/../../..' . '/lib/public/Lock/LockedException.php',
'OCP\\Lockdown\\ILockdownManager' => __DIR__ . '/../../..' . '/lib/public/Lockdown/ILockdownManager.php',
+ 'OCP\\Mail\\IEMailTemplate' => __DIR__ . '/../../..' . '/lib/public/Mail/IEMailTemplate.php',
'OCP\\Mail\\IMailer' => __DIR__ . '/../../..' . '/lib/public/Mail/IMailer.php',
'OCP\\Migration\\IOutput' => __DIR__ . '/../../..' . '/lib/public/Migration/IOutput.php',
'OCP\\Migration\\IRepairStep' => __DIR__ . '/../../..' . '/lib/public/Migration/IRepairStep.php',
@@ -668,7 +669,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Log\\Rotate' => __DIR__ . '/../../..' . '/lib/private/Log/Rotate.php',
'OC\\Log\\Syslog' => __DIR__ . '/../../..' . '/lib/private/Log/Syslog.php',
'OC\\Mail\\EMailTemplate' => __DIR__ . '/../../..' . '/lib/private/Mail/EMailTemplate.php',
- 'OC\\Mail\\IEMailTemplate' => __DIR__ . '/../../..' . '/lib/private/Mail/IEMailTemplate.php',
'OC\\Mail\\Mailer' => __DIR__ . '/../../..' . '/lib/private/Mail/Mailer.php',
'OC\\Mail\\Message' => __DIR__ . '/../../..' . '/lib/private/Mail/Message.php',
'OC\\Memcache\\APCu' => __DIR__ . '/../../..' . '/lib/private/Memcache/APCu.php',
diff --git a/lib/private/Mail/EMailTemplate.php b/lib/private/Mail/EMailTemplate.php
index c84af6331dc..402916cf74a 100644
--- a/lib/private/Mail/EMailTemplate.php
+++ b/lib/private/Mail/EMailTemplate.php
@@ -28,6 +28,7 @@ namespace OC\Mail;
use OCP\Defaults;
use OCP\IL10N;
use OCP\IURLGenerator;
+use OCP\Mail\IEMailTemplate;
/**
* Class EMailTemplate
diff --git a/lib/private/Mail/Mailer.php b/lib/private/Mail/Mailer.php
index 8a6b6fce899..852806b2e43 100644
--- a/lib/private/Mail/Mailer.php
+++ b/lib/private/Mail/Mailer.php
@@ -24,6 +24,8 @@ namespace OC\Mail;
use OCP\Defaults;
use OCP\IConfig;
+use OCP\IL10N;
+use OCP\IURLGenerator;
use OCP\Mail\IMailer;
use OCP\ILogger;
@@ -54,18 +56,28 @@ class Mailer implements IMailer {
private $logger;
/** @var Defaults */
private $defaults;
+ /** @var IURLGenerator */
+ private $urlGenerator;
+ /** @var IL10N */
+ private $l10n;
/**
* @param IConfig $config
* @param ILogger $logger
* @param Defaults $defaults
+ * @param IURLGenerator $urlGenerator
+ * @param IL10N $l10n
*/
- function __construct(IConfig $config,
+ public function __construct(IConfig $config,
ILogger $logger,
- Defaults $defaults) {
+ Defaults $defaults,
+ IURLGenerator $urlGenerator,
+ IL10N $l10n) {
$this->config = $config;
$this->logger = $logger;
$this->defaults = $defaults;
+ $this->urlGenerator = $urlGenerator;
+ $this->l10n = $l10n;
}
/**
@@ -77,6 +89,14 @@ class Mailer implements IMailer {
return new Message(new \Swift_Message());
}
+ public function createEMailTemplate() {
+ return new EMailTemplate(
+ $this->defaults,
+ $this->urlGenerator,
+ $this->l10n
+ );
+ }
+
/**
* Send the specified message. Also sets the from address to the value defined in config.php
* if no-one has been passed.
diff --git a/lib/private/Server.php b/lib/private/Server.php
index 9b2380ac7ac..011263cd2d8 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -727,7 +727,9 @@ class Server extends ServerContainer implements IServerContainer {
return new Mailer(
$c->getConfig(),
$c->getLogger(),
- $c->query(Defaults::class)
+ $c->query(Defaults::class),
+ $c->getURLGenerator(),
+ $c->getL10N('lib')
);
});
$this->registerAlias('Mailer', \OCP\Mail\IMailer::class);
diff --git a/lib/private/Mail/IEMailTemplate.php b/lib/public/Mail/IEMailTemplate.php
index baa29735988..bcb53f610e4 100644
--- a/lib/private/Mail/IEMailTemplate.php
+++ b/lib/public/Mail/IEMailTemplate.php
@@ -21,9 +21,7 @@
*
*/
-namespace OC\Mail;
-
-use OCP\Defaults;
+namespace OCP\Mail;
/**
* Interface IEMailTemplate
@@ -49,19 +47,14 @@ use OCP\Defaults;
*
* $htmlContent = $emailTemplate->renderHTML();
* $plainContent = $emailTemplate->renderText();
+ *
+ * @since 12.0.0
*/
interface IEMailTemplate {
/**
- * @param Defaults $themingDefaults
- * @param \OCP\IURLGenerator $urlGenerator
- * @param \OCP\IL10N $l10n
- */
- public function __construct(Defaults $themingDefaults,
- \OCP\IURLGenerator $urlGenerator,
- \OCP\IL10N $l10n);
-
- /**
* Adds a header to the email
+ *
+ * @since 12.0.0
*/
public function addHeader();
@@ -69,6 +62,8 @@ interface IEMailTemplate {
* Adds a heading to the email
*
* @param string $title
+ *
+ * @since 12.0.0
*/
public function addHeading($title);
@@ -76,6 +71,8 @@ interface IEMailTemplate {
* Adds a paragraph to the body of the email
*
* @param string $text
+ *
+ * @since 12.0.0
*/
public function addBodyText($text);
@@ -86,6 +83,8 @@ interface IEMailTemplate {
* @param string $urlLeft URL of left button
* @param string $textRight Text of right button
* @param string $urlRight URL of right button
+ *
+ * @since 12.0.0
*/
public function addBodyButtonGroup($textLeft, $urlLeft, $textRight, $urlRight);
@@ -93,6 +92,8 @@ interface IEMailTemplate {
* Adds a logo and a text to the footer. <br> in the text will be replaced by new lines in the plain text email
*
* @param string $text
+ *
+ * @since 12.0.0
*/
public function addFooter($text = '');
@@ -100,6 +101,8 @@ interface IEMailTemplate {
* Returns the rendered HTML email as string
*
* @return string
+ *
+ * @since 12.0.0
*/
public function renderHTML();
@@ -107,6 +110,8 @@ interface IEMailTemplate {
* Returns the rendered plain text email as string
*
* @return string
+ *
+ * @since 12.0.0
*/
public function renderText();
}
diff --git a/lib/public/Mail/IMailer.php b/lib/public/Mail/IMailer.php
index 9ecebd2ee40..af16a8a239a 100644
--- a/lib/public/Mail/IMailer.php
+++ b/lib/public/Mail/IMailer.php
@@ -55,6 +55,14 @@ interface IMailer {
public function createMessage();
/**
+ * Creates a new email template object
+ *
+ * @return IEMailTemplate
+ * @since 12.0.0
+ */
+ public function createEMailTemplate();
+
+ /**
* Send the specified message. Also sets the from address to the value defined in config.php
* if no-one has been passed.
*