Merge pull request #7558 from nextcloud/12-7427
[stable12] Fix email buttons for white theme
This commit is contained in:
commit
6859e5a22a
|
@ -73,7 +73,7 @@ class Capabilities implements ICapability {
|
||||||
'url' => $this->theming->getBaseUrl(),
|
'url' => $this->theming->getBaseUrl(),
|
||||||
'slogan' => $this->theming->getSlogan(),
|
'slogan' => $this->theming->getSlogan(),
|
||||||
'color' => $this->theming->getColorPrimary(),
|
'color' => $this->theming->getColorPrimary(),
|
||||||
'color-text' => $this->util->invertTextColor($this->theming->getColorPrimary()) ? '#000000' : '#FFFFFF',
|
'color-text' => $this->theming->getTextColorPrimary(),
|
||||||
'logo' => $this->url->getAbsoluteURL($this->theming->getLogo()),
|
'logo' => $this->url->getAbsoluteURL($this->theming->getLogo()),
|
||||||
'background' => $backgroundLogo === 'backgroundColor' ?
|
'background' => $backgroundLogo === 'backgroundColor' ?
|
||||||
$this->theming->getColorPrimary() :
|
$this->theming->getColorPrimary() :
|
||||||
|
|
|
@ -231,13 +231,8 @@ class ThemingDefaults extends \OC_Defaults {
|
||||||
$variables['image-login-plain'] = 'false';
|
$variables['image-login-plain'] = 'false';
|
||||||
|
|
||||||
if ($this->config->getAppValue('theming', 'color', null) !== null) {
|
if ($this->config->getAppValue('theming', 'color', null) !== null) {
|
||||||
if ($this->util->invertTextColor($this->getColorPrimary())) {
|
|
||||||
$colorPrimaryText = '#000000';
|
|
||||||
} else {
|
|
||||||
$colorPrimaryText = '#ffffff';
|
|
||||||
}
|
|
||||||
$variables['color-primary'] = $this->getColorPrimary();
|
$variables['color-primary'] = $this->getColorPrimary();
|
||||||
$variables['color-primary-text'] = $colorPrimaryText;
|
$variables['color-primary-text'] = $this->getTextColorPrimary();
|
||||||
$variables['color-primary-element'] = $this->util->elementColor($this->getColorPrimary());
|
$variables['color-primary-element'] = $this->util->elementColor($this->getColorPrimary());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -321,4 +316,13 @@ class ThemingDefaults extends \OC_Defaults {
|
||||||
|
|
||||||
return $returnValue;
|
return $returnValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Color of text in the header and primary buttons
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTextColorPrimary() {
|
||||||
|
return $this->util->invertTextColor($this->getColorPrimary()) ? '#000000' : '#ffffff';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ class CapabilitiesTest extends TestCase {
|
||||||
|
|
||||||
public function dataGetCapabilities() {
|
public function dataGetCapabilities() {
|
||||||
return [
|
return [
|
||||||
['name', 'url', 'slogan', '#FFFFFF', 'logo', 'background', 'http://absolute/', [
|
['name', 'url', 'slogan', '#FFFFFF', '#000000', 'logo', 'background', 'http://absolute/', [
|
||||||
'name' => 'name',
|
'name' => 'name',
|
||||||
'url' => 'url',
|
'url' => 'url',
|
||||||
'slogan' => 'slogan',
|
'slogan' => 'slogan',
|
||||||
|
@ -70,21 +70,21 @@ class CapabilitiesTest extends TestCase {
|
||||||
'logo' => 'http://absolute/logo',
|
'logo' => 'http://absolute/logo',
|
||||||
'background' => 'http://absolute/background',
|
'background' => 'http://absolute/background',
|
||||||
]],
|
]],
|
||||||
['name1', 'url2', 'slogan3', '#01e4a0', 'logo5', 'background6', 'http://localhost/', [
|
['name1', 'url2', 'slogan3', '#01e4a0', '#ffffff', 'logo5', 'background6', 'http://localhost/', [
|
||||||
'name' => 'name1',
|
'name' => 'name1',
|
||||||
'url' => 'url2',
|
'url' => 'url2',
|
||||||
'slogan' => 'slogan3',
|
'slogan' => 'slogan3',
|
||||||
'color' => '#01e4a0',
|
'color' => '#01e4a0',
|
||||||
'color-text' => '#FFFFFF',
|
'color-text' => '#ffffff',
|
||||||
'logo' => 'http://localhost/logo5',
|
'logo' => 'http://localhost/logo5',
|
||||||
'background' => 'http://localhost/background6',
|
'background' => 'http://localhost/background6',
|
||||||
]],
|
]],
|
||||||
['name1', 'url2', 'slogan3', '#000000', 'logo5', 'backgroundColor', 'http://localhost/', [
|
['name1', 'url2', 'slogan3', '#000000', '#ffffff', 'logo5', 'backgroundColor', 'http://localhost/', [
|
||||||
'name' => 'name1',
|
'name' => 'name1',
|
||||||
'url' => 'url2',
|
'url' => 'url2',
|
||||||
'slogan' => 'slogan3',
|
'slogan' => 'slogan3',
|
||||||
'color' => '#000000',
|
'color' => '#000000',
|
||||||
'color-text' => '#FFFFFF',
|
'color-text' => '#ffffff',
|
||||||
'logo' => 'http://localhost/logo5',
|
'logo' => 'http://localhost/logo5',
|
||||||
'background' => '#000000',
|
'background' => '#000000',
|
||||||
]],
|
]],
|
||||||
|
@ -98,11 +98,12 @@ class CapabilitiesTest extends TestCase {
|
||||||
* @param string $slogan
|
* @param string $slogan
|
||||||
* @param string $color
|
* @param string $color
|
||||||
* @param string $logo
|
* @param string $logo
|
||||||
|
* @param string $textColor
|
||||||
* @param string $background
|
* @param string $background
|
||||||
* @param string $baseUrl
|
* @param string $baseUrl
|
||||||
* @param string[] $expected
|
* @param string[] $expected
|
||||||
*/
|
*/
|
||||||
public function testGetCapabilities($name, $url, $slogan, $color, $logo, $background, $baseUrl, array $expected) {
|
public function testGetCapabilities($name, $url, $slogan, $color, $textColor, $logo, $background, $baseUrl, array $expected) {
|
||||||
$this->config->expects($this->once())
|
$this->config->expects($this->once())
|
||||||
->method('getAppValue')
|
->method('getAppValue')
|
||||||
->willReturn($background);
|
->willReturn($background);
|
||||||
|
@ -121,6 +122,9 @@ class CapabilitiesTest extends TestCase {
|
||||||
$this->theming->expects($this->once())
|
$this->theming->expects($this->once())
|
||||||
->method('getLogo')
|
->method('getLogo')
|
||||||
->willReturn($logo);
|
->willReturn($logo);
|
||||||
|
$this->theming->expects($this->once())
|
||||||
|
->method('getTextColorPrimary')
|
||||||
|
->willReturn($textColor);
|
||||||
|
|
||||||
if($background !== 'backgroundColor') {
|
if($background !== 'backgroundColor') {
|
||||||
$this->theming->expects($this->once())
|
$this->theming->expects($this->once())
|
||||||
|
|
|
@ -230,7 +230,7 @@ EOF;
|
||||||
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%%">
|
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%%">
|
||||||
<tr style="padding:0;text-align:left;vertical-align:top">
|
<tr style="padding:0;text-align:left;vertical-align:top">
|
||||||
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:%s;border:0 solid %s;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:%s;border:0 solid %s;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
||||||
<a href="%s" style="Margin:0;border:0 solid %s;border-radius:2px;color:#fefefe;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">%s</a>
|
<a href="%s" style="Margin:0;border:0 solid %s;border-radius:2px;color:%s;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid %s;text-decoration:none">%s</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -283,7 +283,7 @@ EOF;
|
||||||
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%%">
|
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%%">
|
||||||
<tr style="padding:0;text-align:left;vertical-align:top">
|
<tr style="padding:0;text-align:left;vertical-align:top">
|
||||||
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:%s;border:0 solid %s;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:%s;border:0 solid %s;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
||||||
<a href="%s" style="Margin:0;border:0 solid %s;border-radius:2px;color:#fefefe;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">%s</a>
|
<a href="%s" style="Margin:0;border:0 solid %s;border-radius:2px;color:%s;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid %s;text-decoration:none">%s</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -518,8 +518,9 @@ EOF;
|
||||||
$this->ensureBodyListClosed();
|
$this->ensureBodyListClosed();
|
||||||
|
|
||||||
$color = $this->themingDefaults->getColorPrimary();
|
$color = $this->themingDefaults->getColorPrimary();
|
||||||
|
$textColor = $this->themingDefaults->getTextColorPrimary();
|
||||||
|
|
||||||
$this->htmlBody .= vsprintf($this->buttonGroup, [$color, $color, $urlLeft, $color, htmlspecialchars($textLeft), $urlRight, htmlspecialchars($textRight)]);
|
$this->htmlBody .= vsprintf($this->buttonGroup, [$color, $color, $urlLeft, $color, $textColor, $textColor, htmlspecialchars($textLeft), $urlRight, htmlspecialchars($textRight)]);
|
||||||
$this->plainBody .= $plainTextLeft . ': ' . $urlLeft . PHP_EOL;
|
$this->plainBody .= $plainTextLeft . ': ' . $urlLeft . PHP_EOL;
|
||||||
$this->plainBody .= $plainTextRight . ': ' . $urlRight . PHP_EOL . PHP_EOL;
|
$this->plainBody .= $plainTextRight . ': ' . $urlRight . PHP_EOL . PHP_EOL;
|
||||||
|
|
||||||
|
@ -548,7 +549,8 @@ EOF;
|
||||||
}
|
}
|
||||||
|
|
||||||
$color = $this->themingDefaults->getColorPrimary();
|
$color = $this->themingDefaults->getColorPrimary();
|
||||||
$this->htmlBody .= vsprintf($this->button, [$color, $color, $url, $color, htmlspecialchars($text)]);
|
$textColor = $this->themingDefaults->getTextColorPrimary();
|
||||||
|
$this->htmlBody .= vsprintf($this->button, [$color, $color, $url, $color, $textColor, $textColor, htmlspecialchars($text)]);
|
||||||
|
|
||||||
if ($plainText !== false) {
|
if ($plainText !== false) {
|
||||||
$this->plainBody .= $plainText . ': ';
|
$this->plainBody .= $plainText . ': ';
|
||||||
|
|
|
@ -47,6 +47,7 @@ class OC_Defaults {
|
||||||
private $defaultSlogan;
|
private $defaultSlogan;
|
||||||
private $defaultLogoClaim;
|
private $defaultLogoClaim;
|
||||||
private $defaultColorPrimary;
|
private $defaultColorPrimary;
|
||||||
|
private $defaultTextColorPrimary;
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->l = \OC::$server->getL10N('lib');
|
$this->l = \OC::$server->getL10N('lib');
|
||||||
|
@ -64,6 +65,7 @@ class OC_Defaults {
|
||||||
$this->defaultSlogan = $this->l->t('a safe home for all your data');
|
$this->defaultSlogan = $this->l->t('a safe home for all your data');
|
||||||
$this->defaultLogoClaim = '';
|
$this->defaultLogoClaim = '';
|
||||||
$this->defaultColorPrimary = '#0082c9';
|
$this->defaultColorPrimary = '#0082c9';
|
||||||
|
$this->defaultTextColorPrimary = '#ffffff';
|
||||||
|
|
||||||
$themePath = OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php';
|
$themePath = OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php';
|
||||||
if (file_exists($themePath)) {
|
if (file_exists($themePath)) {
|
||||||
|
@ -319,4 +321,11 @@ class OC_Defaults {
|
||||||
}
|
}
|
||||||
return $logo . '?v=' . hash('sha1', implode('.', \OCP\Util::getVersion()));
|
return $logo . '?v=' . hash('sha1', implode('.', \OCP\Util::getVersion()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getTextColorPrimary() {
|
||||||
|
if ($this->themeExist('getTextColorPrimary')) {
|
||||||
|
return $this->theme->getTextColorPrimary();
|
||||||
|
}
|
||||||
|
return $this->defaultTextColorPrimary;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -212,4 +212,13 @@ class Defaults {
|
||||||
public function getTitle() {
|
public function getTitle() {
|
||||||
return $this->defaults->getTitle();
|
return $this->defaults->getTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns primary color
|
||||||
|
* @return string
|
||||||
|
* @since 13.0.0
|
||||||
|
*/
|
||||||
|
public function getTextColorPrimary() {
|
||||||
|
return $this->defaults->getTextColorPrimary();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -157,6 +157,10 @@ class NewUserMailHelperTest extends TestCase {
|
||||||
->expects($this->any())
|
->expects($this->any())
|
||||||
->method('getName')
|
->method('getName')
|
||||||
->willReturn('TestCloud');
|
->willReturn('TestCloud');
|
||||||
|
$this->defaults
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getTextColorPrimary')
|
||||||
|
->willReturn('#ffffff');
|
||||||
|
|
||||||
$expectedHtmlBody = <<<EOF
|
$expectedHtmlBody = <<<EOF
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
@ -281,7 +285,7 @@ class NewUserMailHelperTest extends TestCase {
|
||||||
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
||||||
<tr style="padding:0;text-align:left;vertical-align:top">
|
<tr style="padding:0;text-align:left;vertical-align:top">
|
||||||
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:;border:0 solid ;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:;border:0 solid ;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
||||||
<a href="https://example.com/resetPassword/MySuperLongSecureRandomToken" style="Margin:0;border:0 solid ;border-radius:2px;color:#fefefe;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">Set your password</a>
|
<a href="https://example.com/resetPassword/MySuperLongSecureRandomToken" style="Margin:0;border:0 solid ;border-radius:2px;color:#ffffff;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -390,6 +394,10 @@ EOF;
|
||||||
->expects($this->any())
|
->expects($this->any())
|
||||||
->method('getName')
|
->method('getName')
|
||||||
->willReturn('TestCloud');
|
->willReturn('TestCloud');
|
||||||
|
$this->defaults
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getTextColorPrimary')
|
||||||
|
->willReturn('#ffffff');
|
||||||
|
|
||||||
$expectedHtmlBody = <<<EOF
|
$expectedHtmlBody = <<<EOF
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
@ -514,7 +522,7 @@ EOF;
|
||||||
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
||||||
<tr style="padding:0;text-align:left;vertical-align:top">
|
<tr style="padding:0;text-align:left;vertical-align:top">
|
||||||
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:;border:0 solid ;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:;border:0 solid ;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
||||||
<a href="https://example.com/" style="Margin:0;border:0 solid ;border-radius:2px;color:#fefefe;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">Go to TestCloud</a>
|
<a href="https://example.com/" style="Margin:0;border:0 solid ;border-radius:2px;color:#ffffff;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Go to TestCloud</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
||||||
<tr style="padding:0;text-align:left;vertical-align:top">
|
<tr style="padding:0;text-align:left;vertical-align:top">
|
||||||
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#0082c9;border:0 solid #0082c9;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#0082c9;border:0 solid #0082c9;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
||||||
<a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#fefefe;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">Set your password</a>
|
<a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#ffffff;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
||||||
<tr style="padding:0;text-align:left;vertical-align:top">
|
<tr style="padding:0;text-align:left;vertical-align:top">
|
||||||
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#0082c9;border:0 solid #0082c9;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#0082c9;border:0 solid #0082c9;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
||||||
<a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#fefefe;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">Set your password</a>
|
<a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#ffffff;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
|
||||||
<tr style="padding:0;text-align:left;vertical-align:top">
|
<tr style="padding:0;text-align:left;vertical-align:top">
|
||||||
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#0082c9;border:0 solid #0082c9;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#0082c9;border:0 solid #0082c9;border-collapse:collapse!important;color:#fefefe;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
|
||||||
<a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#fefefe;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">Set your password</a>
|
<a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#ffffff;display:inline-block;font-family:Lucida Grande,Geneva,Verdana,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -68,6 +68,10 @@ class EMailTemplateTest extends TestCase {
|
||||||
->expects($this->any())
|
->expects($this->any())
|
||||||
->method('getName')
|
->method('getName')
|
||||||
->willReturn('TestCloud');
|
->willReturn('TestCloud');
|
||||||
|
$this->defaults
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getTextColorPrimary')
|
||||||
|
->willReturn('#ffffff');
|
||||||
$this->urlGenerator
|
$this->urlGenerator
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('getAbsoluteURL')
|
->method('getAbsoluteURL')
|
||||||
|
@ -109,6 +113,10 @@ class EMailTemplateTest extends TestCase {
|
||||||
->expects($this->any())
|
->expects($this->any())
|
||||||
->method('getLogo')
|
->method('getLogo')
|
||||||
->willReturn('/img/logo-mail-header.png');
|
->willReturn('/img/logo-mail-header.png');
|
||||||
|
$this->defaults
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getTextColorPrimary')
|
||||||
|
->willReturn('#ffffff');
|
||||||
$this->urlGenerator
|
$this->urlGenerator
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('getAbsoluteURL')
|
->method('getAbsoluteURL')
|
||||||
|
@ -148,6 +156,10 @@ class EMailTemplateTest extends TestCase {
|
||||||
->expects($this->any())
|
->expects($this->any())
|
||||||
->method('getLogo')
|
->method('getLogo')
|
||||||
->willReturn('/img/logo-mail-header.png');
|
->willReturn('/img/logo-mail-header.png');
|
||||||
|
$this->defaults
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getTextColorPrimary')
|
||||||
|
->willReturn('#ffffff');
|
||||||
$this->urlGenerator
|
$this->urlGenerator
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('getAbsoluteURL')
|
->method('getAbsoluteURL')
|
||||||
|
@ -189,6 +201,10 @@ class EMailTemplateTest extends TestCase {
|
||||||
->expects($this->any())
|
->expects($this->any())
|
||||||
->method('getLogo')
|
->method('getLogo')
|
||||||
->willReturn('/img/logo-mail-header.png');
|
->willReturn('/img/logo-mail-header.png');
|
||||||
|
$this->defaults
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getTextColorPrimary')
|
||||||
|
->willReturn('#ffffff');
|
||||||
$this->urlGenerator
|
$this->urlGenerator
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('getAbsoluteURL')
|
->method('getAbsoluteURL')
|
||||||
|
|
Loading…
Reference in New Issue