Init commit
This commit is contained in:
BIN
server/core/assets/default-audio-background.jpg
Normal file
BIN
server/core/assets/default-audio-background.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.8 KiB |
BIN
server/core/assets/default-live-background.jpg
Normal file
BIN
server/core/assets/default-live-background.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
@@ -0,0 +1,10 @@
|
||||
{{! New message on abuse report }}
|
||||
{{#> base title=(t "New message on abuse report")}}
|
||||
<p>
|
||||
{{{t "A new message by {messageAccountName} was posted on <a href=\"{abuseUrl}\">abuse report #{abuseId}</a>" messageAccountName=messageAccountName abuseUrl=abuseUrl abuseId=abuseId}}}
|
||||
</p>
|
||||
|
||||
<blockquote>{{messageText}}</blockquote>
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
@@ -0,0 +1,10 @@
|
||||
{{! Abuse report state changed }}
|
||||
{{#> base title=(t "Abuse report state changed")}}
|
||||
<p>
|
||||
{{#if isAccepted}}
|
||||
{{{t "<a href=\"{abuseUrl}\">Your abuse report #{abuseId}</a> on {instanceName} has been accepted." abuseUrl=abuseUrl abuseId=abuseId instanceName=instanceName}}}
|
||||
{{else}}
|
||||
{{{t "<a href=\"{abuseUrl}\">Your abuse report #{abuseId}</a> on {instanceName} has been rejected." abuseUrl=abuseUrl abuseId=abuseId instanceName=instanceName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{! An account is pending moderation }}
|
||||
{{#> base title=(t "An account is pending moderation")}}
|
||||
<p>
|
||||
{{#if isLocal}}
|
||||
{{{t "{instanceName} received an abuse report for the account: <a href=\"{accountUrl}\">{accountDisplayName}</a>" accountUrl=accountUrl accountDisplayName=accountDisplayName instanceName=instanceName}}}
|
||||
{{else}}
|
||||
{{{t "{instanceName} received an abuse report for the remote account: <a href=\"{accountUrl}\">{accountDisplayName}</a>" accountUrl=accountUrl accountDisplayName=accountDisplayName instanceName=instanceName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{t "The reporter, {reporter}, cited the following reason(s):" reporter=reporter}}
|
||||
</p>
|
||||
|
||||
<blockquote>{{reason}}</blockquote>
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
5
server/core/assets/email-templates/common/html.hbs
Normal file
5
server/core/assets/email-templates/common/html.hbs
Normal file
@@ -0,0 +1,5 @@
|
||||
{{#> base}}
|
||||
<p>
|
||||
{{text}}
|
||||
</p>
|
||||
{{/base}}
|
||||
11
server/core/assets/email-templates/contact-form/html.hbs
Normal file
11
server/core/assets/email-templates/contact-form/html.hbs
Normal file
@@ -0,0 +1,11 @@
|
||||
{{#> base title=(t "Someone just used the contact form")}}
|
||||
<p>
|
||||
{{{t "{fromName} sent you a message via the contact form on <a href=\"{webserverUrl}\">{instanceName}</a>: " fromName=fromName webserverUrl=WEBSERVER.URL instanceName=instanceName}}}
|
||||
</p>
|
||||
|
||||
<blockquote style="white-space: pre-wrap">{{body}}</blockquote>
|
||||
|
||||
<p>
|
||||
{{{t "You can contact them at <a href=\"mailto:{fromEmail}\">{fromEmail}</a>, or simply reply to this email to get in touch." fromEmail=fromEmail}}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,9 @@
|
||||
{{#> base title=(t "New follower on your channel")}}
|
||||
<p>
|
||||
{{#if accountFollowType}}
|
||||
{{{t "Your account <a href=\"{followingUrl}\">{followingName}</a> has a new subscriber: <a href=\"{followerUrl}\">{followerName}</a>." followingUrl=followingUrl followingName=followingName followerUrl=followerUrl followerName=followerName}}}
|
||||
{{else}}
|
||||
{{{t "Your channel <a href=\"{followingUrl}\">{followingName}</a> has a new subscriber: <a href=\"{followerUrl}\">{followerName}</a>." followingUrl=followingUrl followingName=followingName followerUrl=followerUrl followerName=followerName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,15 @@
|
||||
{{#> base title=(t "Your account has been blocked")}}
|
||||
<p>
|
||||
{{#if reason}}
|
||||
{{{t "Your account <strong>{username}</strong> has been blocked by {instanceName} moderators for the following reason:" username=username instanceName=instanceName}}}
|
||||
{{else}}
|
||||
{{{t "Your account <strong>{username}</strong> has been blocked by {instanceName} moderators." username=username instanceName=instanceName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
|
||||
{{#if reason}}
|
||||
<blockquote>{{reason}}</blockquote>
|
||||
{{/if}}
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
@@ -0,0 +1,5 @@
|
||||
{{#> base title=(t "Your account has been unblocked")}}
|
||||
<p>
|
||||
{{{t "Your account <strong>{username}</strong> has been unblocked by {instanceName} moderators." username=username instanceName=instanceName}}}
|
||||
</p>
|
||||
{{/base}}
|
||||
268
server/core/assets/email-templates/partials/base.hbs
Normal file
268
server/core/assets/email-templates/partials/base.hbs
Normal file
@@ -0,0 +1,268 @@
|
||||
{{!
|
||||
The email background color is defined in three places:
|
||||
1. body tag: for most email clients
|
||||
2. center tag: for Gmail and Inbox mobile apps and web versions of Gmail, GSuite, Inbox, Yahoo, AOL, Libero, Comcast, freenet, Mail.ru, Orange.fr
|
||||
3. mso conditional: For Windows 10 Mail
|
||||
}}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<!-- This template is heavily adapted from the Cerberus Fluid template. Kudos to them! -->
|
||||
<meta charset="utf-8">
|
||||
<!-- utf-8 works for most cases -->
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<!-- Forcing initial-scale shouldn't be necessary -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Use the latest (edge) version of IE rendering engine -->
|
||||
<meta name="x-apple-disable-message-reformatting">
|
||||
<!-- Disable auto-scale in iOS 10 Mail entirely -->
|
||||
<meta name="format-detection" content="telephone=no,address=no,email=no,date=no,url=no">
|
||||
<!-- Tell iOS not to automatically link certain text strings. -->
|
||||
<meta name="color-scheme" content="light">
|
||||
<meta name="supported-color-schemes" content="light">
|
||||
<!-- The title tag shows in email notifications, like Android 4.4. -->
|
||||
<title>{{subject}}</title>
|
||||
<!-- What it does: Makes background images in 72ppi Outlook render at correct size. -->
|
||||
<!--[if gte mso 9]>
|
||||
<xml>
|
||||
<o:officedocumentsettings>
|
||||
<o:allowpng>
|
||||
<o:pixelsperinch>96</o:pixelsperinch>
|
||||
</o:allowpng>
|
||||
</o:officedocumentsettings>
|
||||
</xml>
|
||||
<![endif]-->
|
||||
<!-- CSS Reset : BEGIN -->
|
||||
<style>
|
||||
/* What it does: Tells the email client that only light styles are provided but the client can transform them to dark. A duplicate of meta color-scheme meta tag above. */
|
||||
:root {
|
||||
color-scheme: light;
|
||||
supported-color-schemes: light;
|
||||
}
|
||||
/* What it does: Remove spaces around the email design added by some email clients. */
|
||||
/* Beware: It can remove the padding / margin and add a background color to the compose a reply window. */
|
||||
html,
|
||||
body {
|
||||
margin: 0 auto !important;
|
||||
padding: 0 !important;
|
||||
height: 100% !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
/* What it does: Stops email clients resizing small text. */
|
||||
* {
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
/* What it does: Centers email on Android 4.4 */
|
||||
div[style*="margin: 16px 0"] {
|
||||
margin: 0 !important;
|
||||
}
|
||||
/* What it does: forces Samsung Android mail clients to use the entire viewport */
|
||||
#MessageViewBody, #MessageWebViewDiv{
|
||||
width: 100% !important;
|
||||
}
|
||||
/* What it does: Stops Outlook from adding extra spacing to tables. */
|
||||
table,
|
||||
td {
|
||||
mso-table-lspace: 0pt !important;
|
||||
mso-table-rspace: 0pt !important;
|
||||
}
|
||||
/* What it does: Fixes webkit padding issue. */
|
||||
table {
|
||||
border-spacing: 0 !important;
|
||||
border-collapse: collapse !important;
|
||||
table-layout: fixed !important;
|
||||
margin: 0 auto !important;
|
||||
}
|
||||
/* What it does: Uses a better rendering method when resizing images in IE. */
|
||||
img {
|
||||
-ms-interpolation-mode:bicubic;
|
||||
}
|
||||
a {
|
||||
color: {{fg}};
|
||||
}
|
||||
a:not(.no-color) {
|
||||
font-weight: 600;
|
||||
text-decoration: underline;
|
||||
text-decoration-color: {{primary}};
|
||||
text-underline-offset: 0.25em;
|
||||
text-decoration-thickness: 0.15em;
|
||||
}
|
||||
/* What it does: A work-around for email clients meddling in triggered links. */
|
||||
a[x-apple-data-detectors], /* iOS */
|
||||
.unstyle-auto-detected-links a,
|
||||
.aBn {
|
||||
border-bottom: 0 !important;
|
||||
cursor: default !important;
|
||||
color: inherit !important;
|
||||
text-decoration: none !important;
|
||||
font-size: inherit !important;
|
||||
font-family: inherit !important;
|
||||
font-weight: inherit !important;
|
||||
line-height: inherit !important;
|
||||
}
|
||||
/* What it does: Prevents Gmail from displaying a download button on large, non-linked images. */
|
||||
.a6S {
|
||||
display: none !important;
|
||||
opacity: 0.01 !important;
|
||||
}
|
||||
/* What it does: Prevents Gmail from changing the text color in conversation threads. */
|
||||
.im {
|
||||
color: inherit !important;
|
||||
}
|
||||
/* If the above doesn't work, add a .g-img class to any image in question. */
|
||||
img.g-img + div {
|
||||
display: none !important;
|
||||
}
|
||||
/* What it does: Removes right gutter in Gmail iOS app: https://github.com/TedGoas/Cerberus/issues/89 */
|
||||
/* Create one of these media queries for each additional viewport size you'd like to fix */
|
||||
/* iPhone 4, 4S, 5, 5S, 5C, and 5SE */
|
||||
@media only screen and (min-device-width: 320px) and (max-device-width: 374px) {
|
||||
u ~ div .email-container {
|
||||
min-width: 320px !important;
|
||||
}
|
||||
}
|
||||
/* iPhone 6, 6S, 7, 8, and X */
|
||||
@media only screen and (min-device-width: 375px) and (max-device-width: 413px) {
|
||||
u ~ div .email-container {
|
||||
min-width: 375px !important;
|
||||
}
|
||||
}
|
||||
/* iPhone 6+, 7+, and 8+ */
|
||||
@media only screen and (min-device-width: 414px) {
|
||||
u ~ div .email-container {
|
||||
min-width: 414px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<!-- CSS Reset : END -->
|
||||
<!-- CSS for PeerTube : START -->
|
||||
<style>
|
||||
blockquote {
|
||||
margin-left: 0;
|
||||
padding-left: 10px;
|
||||
border-left: 2px solid {{primary}};
|
||||
}
|
||||
</style>
|
||||
<!-- CSS for PeerTube : END -->
|
||||
</head>
|
||||
|
||||
<body width="100%" style="margin: 0; padding: 0 !important; mso-line-height-rule: exactly; color: {{fg}}; background-color: {{bg}};">
|
||||
<center role="article" aria-roledescription="email" lang="en" style="width: 100%; background-color: {{bg}};">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #fff;">
|
||||
<tr>
|
||||
<td>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Create white space after the desired preview text so email clients don't pull other distracting text into the inbox preview. Extend as necessary. -->
|
||||
<!-- Preview Text Spacing Hack : BEGIN -->
|
||||
<div style="display: none; font-size: 1px; line-height: 1px; max-height: 0px; max-width: 0px; opacity: 0; overflow: hidden; mso-hide: all; font-family: sans-serif;">
|
||||
‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌
|
||||
</div>
|
||||
<!-- Preview Text Spacing Hack : END -->
|
||||
|
||||
<!--
|
||||
Set the email width. Defined in two places:
|
||||
1. max-width for all clients except Desktop Windows Outlook, allowing the email to squish on narrow but never go wider than 600px.
|
||||
2. MSO tags for Desktop Windows Outlook enforce a 600px width.
|
||||
-->
|
||||
<div class="email-container" style="max-width: 600px; margin: 0 auto;">
|
||||
<!--[if mso]>
|
||||
<table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" width="600">
|
||||
<tr>
|
||||
<td>
|
||||
<![endif]-->
|
||||
<!-- Email Body : BEGIN -->
|
||||
<table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin: auto;">
|
||||
<!-- 1 Column Text + Button : BEGIN -->
|
||||
<tr>
|
||||
<td>
|
||||
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: sans-serif; font-size: 15px; line-height: 1.5">
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td width="40px">
|
||||
<img src="{{logoUrl}}" width="auto" height="30px" alt="" border="0" style="height: 30px; font-family: sans-serif; font-size: 15px; line-height: 15px;">
|
||||
</td>
|
||||
<td>
|
||||
<h1 style="margin: 10px 0 10px 0; font-family: sans-serif; font-size: 25px; line-height: 30px; font-weight: normal;">
|
||||
{{#if title}}
|
||||
{{title}}
|
||||
{{else}}
|
||||
{{subject}}
|
||||
{{/if}}
|
||||
</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p style="margin: 0;">
|
||||
{{#if username}}
|
||||
<p>{{t "Hi {username}," username=username}}</p>
|
||||
{{/if}}
|
||||
|
||||
{{> @partial-block}}
|
||||
|
||||
{{#if signature}}
|
||||
<p>{{signature}}</p>
|
||||
{{/if}}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{#if action}}
|
||||
<tr>
|
||||
<td style="padding: 0 20px;">
|
||||
{{> button actionUrl=action.url actionText=action.text}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- 1 Column Text + Button : END -->
|
||||
<!-- Clear Spacer : BEGIN -->
|
||||
<tr>
|
||||
<td aria-hidden="true" height="20" style="font-size: 0px; line-height: 0px;">
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Clear Spacer : END -->
|
||||
</table>
|
||||
<!-- Email Body : END -->
|
||||
<!-- Email Footer : BEGIN -->
|
||||
{{#unless hideNotificationPreferencesLink}}
|
||||
<table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin: auto;">
|
||||
<tr>
|
||||
<td style="padding: 20px; padding-bottom: 0px; font-family: sans-serif; font-size: 12px; text-align: center;">
|
||||
<a class="no-color" href="{{WEBSERVER.URL}}/my-account/notifications" style="font-weight: bold;">
|
||||
{{t "View in your notifications" }}
|
||||
</a>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 20px; padding-top: 10px; font-family: sans-serif; font-size: 12px; text-align: center;">
|
||||
<a class="no-color" href="{{WEBSERVER.URL}}/my-account/settings#notifications">
|
||||
{{t "Manage your notification preferences in your profile"}}
|
||||
</a>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{/unless}}
|
||||
<!-- Email Footer : END -->
|
||||
<!--[if mso]>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<![endif]-->
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<![endif]-->
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
7
server/core/assets/email-templates/partials/button.hbs
Normal file
7
server/core/assets/email-templates/partials/button.hbs
Normal file
@@ -0,0 +1,7 @@
|
||||
<table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" style="margin: auto;">
|
||||
<tr>
|
||||
<td style="border-radius: 4px; background: {{primary}}; color: {{onPrimary}};">
|
||||
<a class="no-color" href="{{actionUrl}}" style="background: {{primary}}; color: {{onPrimary}}; font-family: sans-serif; font-size: 15px; line-height: 15px; text-decoration: none; padding: 13px 17px; display: block; border-radius: 4px; font-weight: bold;">{{actionText}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
11
server/core/assets/email-templates/password-create/html.hbs
Normal file
11
server/core/assets/email-templates/password-create/html.hbs
Normal file
@@ -0,0 +1,11 @@
|
||||
{{#> base title=(t "Password creation for your account")}}
|
||||
<p>
|
||||
{{{t "Welcome to <a href=\"{webserverUrl}\">{instanceName}</a>!" webserverUrl=WEBSERVER.URL instanceName=instanceName}}}
|
||||
</p>
|
||||
|
||||
<p>{{t "Your username is: {username}." username=username}}</p>
|
||||
|
||||
<p>{{t "Please click on the link below to set your password (this link will expire within seven days):"}}</p>
|
||||
|
||||
{{> button actionUrl=createPasswordUrl actionText=(t "Create my password")}}
|
||||
{{/base}}
|
||||
15
server/core/assets/email-templates/password-reset/html.hbs
Normal file
15
server/core/assets/email-templates/password-reset/html.hbs
Normal file
@@ -0,0 +1,15 @@
|
||||
{{#> base title=(t "Password reset for your account")}}
|
||||
<p>
|
||||
{{t "A reset password procedure for your account has been requested on {instanceName}." username=username instanceName=instanceName}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{t "Please click on the link below to reset it (the link will expire within 1 hour):"}}
|
||||
</p>
|
||||
|
||||
{{> button actionUrl=resetPasswordUrl actionText=(t "Reset my password")}}
|
||||
|
||||
<p>
|
||||
{{t "If you are not the person who initiated this request, please let us know by replying to this email."}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,7 @@
|
||||
{{#> base title=(t "New PeerTube version available")}}
|
||||
<p>
|
||||
{{t "A new version of PeerTube is available: {latestVersion}." latestVersion=latestVersion}}
|
||||
|
||||
{{{t "You can check the latest news on <a href=\"https://joinpeertube.org/news\">JoinPeerTube</a>."}}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{! New plugin version available }}
|
||||
{{#> base title=(t "New plugin version available")}}
|
||||
<p>
|
||||
{{#if isPlugin}}
|
||||
{{t "A new version of the plugin {pluginName} is available: {latestVersion}." pluginName=pluginName latestVersion=latestVersion}}
|
||||
{{else}}
|
||||
{{t "A new version of the theme {pluginName} is available: {latestVersion}." pluginName=pluginName latestVersion=latestVersion}}
|
||||
{{/if}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{{t "You might want to upgrade it on <a href=\"{pluginUrl}\">your admin interface</a>." pluginUrl=pluginUrl}}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,10 @@
|
||||
{{! Your export archive has been created }}
|
||||
{{#> base title=(t "Your export archive has been created")}}
|
||||
<p>
|
||||
{{t "Your export archive has been created."}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{{t "You can download it in <a href=\"{exportsUrl}\">your account export page</a>." exportsUrl=exportsUrl}}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,11 @@
|
||||
{{#> base title=(t "Failed to create your export archive")}}
|
||||
<p>
|
||||
{{t "We are sorry but the generation of your export archive has failed:"}}
|
||||
</p>
|
||||
|
||||
<blockquote>{{errorMessage}}</blockquote>
|
||||
|
||||
<p>
|
||||
{{t "Please contact your administrator if the problem occurs again."}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,68 @@
|
||||
{{#> base title=(t "Your archive import has finished")}}
|
||||
{{#* inline "displaySummary"}}
|
||||
<ul>
|
||||
{{#if stats.success}}
|
||||
<li>{{t "Imported: {success}" success=stats.success}}</li>
|
||||
{{/if}}
|
||||
{{#if stats.duplicates}}
|
||||
<li>{{t "Not imported as considered duplicate: {duplicates}" duplicates=stats.duplicates}}</li>
|
||||
{{/if}}
|
||||
{{#if stats.errors}}
|
||||
<li>{{t "Not imported due to error: {errors}" errors=stats.errors}}</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
{{/inline}}
|
||||
|
||||
<p>{{t "Your archive import has finished. Here is the summary of imported objects:"}}</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<strong>{{t "User settings:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.userSettings}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Account (name, description, avatar...):"}}</strong>
|
||||
{{> displaySummary stats=resultStats.account}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Blocklist:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.blocklist}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Channels:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.channels}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Likes:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.likes}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Dislikes:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.dislikes}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Subscriptions:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.following}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Video Playlists:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.videoPlaylists}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Videos:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.videos}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Video history:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.userVideoHistory}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Watched Words Lists:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.watchedWordsLists}}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{t "Comment auto tag policies:"}}</strong>
|
||||
{{> displaySummary stats=resultStats.commentAutoTagPolicies}}
|
||||
</li>
|
||||
</ul>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,11 @@
|
||||
{{#> base title=(t "Failed to import your archive")}}
|
||||
<p>
|
||||
{{t "We are sorry but the import of your archive has failed:"}}
|
||||
</p>
|
||||
|
||||
<blockquote>{{errorMessage}}</blockquote>
|
||||
|
||||
<p>
|
||||
{{t "Please contact your administrator if the problem occurs again."}}
|
||||
</p>
|
||||
{{/base}}
|
||||
11
server/core/assets/email-templates/user-registered/html.hbs
Normal file
11
server/core/assets/email-templates/user-registered/html.hbs
Normal file
@@ -0,0 +1,11 @@
|
||||
{{#> base title=(t "A new user registered")}}
|
||||
<p>
|
||||
{{{t "User <a href=\"{accountUrl}\">{userUsername}</a> just registered." accountUrl=accountUrl userUsername=user.username}}}
|
||||
|
||||
{{#if userEmail}}
|
||||
{{{t "You might want to contact them at <a href=\"mailto:{userEmail}\">{userEmail}</a>." userEmail=userEmail}}}
|
||||
{{else}}
|
||||
{{{t "You might want to contact them at <a href=\"mailto:{userEmail}\">{userEmail}</a> (the email has not been verified yet)." userEmail=userPendingEmail}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,11 @@
|
||||
{{#> base title=(t "Congratulation {username}, your registration request has been accepted!" username=username)}}
|
||||
<p>
|
||||
{{t "Your registration request has been accepted."}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{t "Moderators sent you the following message:"}}
|
||||
</p>
|
||||
|
||||
<blockquote style="white-space: pre-wrap">{{moderationResponse}}</blockquote>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,7 @@
|
||||
{{#> base title=(t "Registration request of your account {username} has rejected" username=username)}}
|
||||
<p>{{t "Your registration request has been rejected." }}</p>
|
||||
|
||||
<p>{{t "Moderators sent you the following message:" }}</p>
|
||||
|
||||
<blockquote style="white-space: pre-wrap">{{moderationResponse}}</blockquote>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,7 @@
|
||||
{{#> base title=(t "A new user wants to register")}}
|
||||
<p>
|
||||
{{t "User {registrationUsername} wants to register on {instanceName} for the following reason:" registrationUsername=registration.username instanceName=instanceName}}
|
||||
</p>
|
||||
|
||||
<blockquote style="white-space: pre-wrap">{{registration.registrationReason}}</blockquote>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,19 @@
|
||||
{{#> base title=(t "Email verification")}}
|
||||
{{#if isRegistrationRequest}}
|
||||
<p>{{{t "You requested an account on <a href=\"{webserverUrl}\">{instanceName}</a>." webserverUrl=WEBSERVER.URL instanceName=instanceName}}}</p>
|
||||
<p>{{t "To complete your registration request you must verify your email first!"}}</p>
|
||||
{{else}}
|
||||
<p>{{{t "You created an account on <a href=\"{webserverUrl}\">{instanceName}</a>." webserverUrl=WEBSERVER.URL instanceName=instanceName}}}</p>
|
||||
<p>{{t "To start using your account you must verify your email first!"}}</p>
|
||||
{{/if}}
|
||||
|
||||
<p>
|
||||
{{t "Please click on the link below to verify this email belongs to you (the link will expire within 1 hour):"}}
|
||||
</p>
|
||||
|
||||
{{> button actionUrl=verifyEmailUrl actionText=(t "Verify my email")}}
|
||||
|
||||
<p>
|
||||
{{t "If you are not the person who initiated this request, please let us know by replying to this email."}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,13 @@
|
||||
{{#> base title=(t "Email verification")}}
|
||||
<p>{{t "You requested to change your email."}}</p>
|
||||
|
||||
<p>
|
||||
{{t "Please click on the link below to verify this email belongs to you (the link will expire within 1 hour):"}}
|
||||
</p>
|
||||
|
||||
{{> button actionUrl=verifyEmailUrl actionText=(t "Verify my email")}}
|
||||
|
||||
<p>
|
||||
{{t "If you are not the person who initiated this request, please let us know by replying to this email."}}
|
||||
</p>
|
||||
{{/base}}
|
||||
27
server/core/assets/email-templates/video-abuse-new/html.hbs
Normal file
27
server/core/assets/email-templates/video-abuse-new/html.hbs
Normal file
@@ -0,0 +1,27 @@
|
||||
{{#> base title=(t "A video is pending moderation")}}
|
||||
<p>
|
||||
{{#if isLocal}}
|
||||
{{{t "{instanceName} received an abuse report for the video <a href=\"{videoUrl}\">{videoName}</a>." instanceName=instanceName videoUrl=videoUrl videoName=videoName}}}
|
||||
{{else}}
|
||||
{{{t "{instanceName} received an abuse report for the remote video <a href=\"{videoUrl}\">{videoName}</a>." instanceName=instanceName videoUrl=videoUrl videoName=videoName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{{t "The video was uploaded by <a href=\"{channelUrl}\">{channelDisplayName}</a> channel." channelUrl=channelUrl channelDisplayName=channelDisplayName}}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{#if videoPublishedAt}}
|
||||
{{t "It was published on {videoPublishedAt}." videoPublishedAt=videoPublishedAt}}
|
||||
{{else}}
|
||||
{{t "It was uploaded on {videoCreatedAt} but not yet published." videoCreatedAt=videoCreatedAt}}
|
||||
{{/if}}
|
||||
</p>
|
||||
|
||||
<p>{{t "The reporter, {reporter}, cited the following reason(s):" reporter=reporter}}</p>
|
||||
|
||||
<blockquote>{{reason}}</blockquote>
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
@@ -0,0 +1,13 @@
|
||||
{{#> base title=(t "A video is pending moderation")}}
|
||||
<p>
|
||||
{{{t "A recently added video was automatically blocked and requires moderator review before going public: <a href=\"{videoUrl}\">{videoName}</a> by <a href=\"{channelUrl}\">{channelDisplayName}</a>." videoUrl=videoUrl videoName=videoName channelUrl=channelUrl channelDisplayName=channelDisplayName}}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{t "Apart from the publisher and the moderation team, no one will be able to see the video until you unblock it."}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{t "If you trust the publisher, any admin can whitelist the user for later videos so that they don't require approval before going public."}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,21 @@
|
||||
{{#> base title=(t "A comment is pending moderation")}}
|
||||
<p>
|
||||
{{#if isLocal}}
|
||||
{{{t "{instanceName} received an abuse report for <a href=\"{commentUrl}\">the comment on video {videoName}</a>." instanceName=instanceName commentUrl=commentUrl videoName=videoName}}}
|
||||
{{else}}
|
||||
{{{t "{instanceName} received an abuse report for <a href=\"{commentUrl}\">the remote comment on video {videoName}</a>." instanceName=instanceName commentUrl=commentUrl videoName=videoName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{t "The comment was posted on {commentCreatedAt} by {flaggedAccount} ." commentCreatedAt=commentCreatedAt flaggedAccount=flaggedAccount}}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{t "The reporter, {reporter}, cited the following reason(s):" reporter=reporter}}
|
||||
</p>
|
||||
|
||||
<blockquote>{{reason}}</blockquote>
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
@@ -0,0 +1,9 @@
|
||||
{{#> base title=(t "Someone mentioned you")}}
|
||||
<p>
|
||||
{{{t "<a href=\"{accountUrl}\" title=\"{handle}\">{accountName}</a> mentioned you in a comment on video <a href=\"{videoUrl}\">{videoName}</a>:" accountUrl=accountUrl handle=handle accountName=accountName videoUrl=videoUrl videoName=video.name}}}
|
||||
</p>
|
||||
|
||||
<blockquote>{{{commentHtml}}}</blockquote>
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
@@ -0,0 +1,13 @@
|
||||
{{#> base title=(t "Someone commented your video")}}
|
||||
<p>
|
||||
{{{t "<a href=\"{accountUrl}\" title=\"{handle}\">{accountName}</a> added a comment on your video <a href=\"{videoUrl}\">{videoName}</a>:" accountUrl=accountUrl handle=handle accountName=accountName videoUrl=videoUrl videoName=video.name}}}
|
||||
</p>
|
||||
|
||||
<blockquote>{{{commentHtml}}}</blockquote>
|
||||
|
||||
{{#if requiresApproval}}
|
||||
<p>{{t "This comment requires approval."}}</p>
|
||||
{{/if}}
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
@@ -0,0 +1,15 @@
|
||||
{{#> base title=(t "Your video has been blocked")}}
|
||||
<p>
|
||||
{{#if reason}}
|
||||
{{{t "Your video <strong>{videoName}</strong> has been blocked by {instanceName} moderators for the following reason:" videoName=videoName instanceName=instanceName}}}
|
||||
{{else}}
|
||||
{{{t "Your video <strong>{videoName}</strong> has been blocked by {instanceName} moderators." videoName=videoName instanceName=instanceName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
|
||||
{{#if reason}}
|
||||
<blockquote>{{reason}}</blockquote>
|
||||
{{/if}}
|
||||
|
||||
<br style="display: none;">
|
||||
{{/base}}
|
||||
@@ -0,0 +1,5 @@
|
||||
{{#> base title=(t "Your video has been unblocked")}}
|
||||
<p>
|
||||
{{{t "Your video <strong>{videoName}</strong> has been unblocked by {instanceName} moderators." videoName=videoName instanceName=instanceName}}}
|
||||
</p>
|
||||
{{/base}}
|
||||
@@ -0,0 +1,9 @@
|
||||
{{#> base title=(t "{channelName} just published a new video" channelName=channelName)}}
|
||||
<p>
|
||||
{{#if isLive}}
|
||||
{{{t "Your subscription <a href=\"{channelUrl}\">{channelName}</a> is live streaming <strong>{videoName}</strong>" channelUrl=channelUrl channelName=channelName videoName=videoName}}}
|
||||
{{else}}
|
||||
{{{t "Your subscription <a href=\"{channelUrl}\">{channelName}</a> just published a new video: <strong>{videoName}</strong>" channelUrl=channelUrl channelName=channelName videoName=videoName}}}
|
||||
{{/if}}
|
||||
</p>
|
||||
{{/base}}
|
||||
Reference in New Issue
Block a user