diff --git a/media/css/seacloud.css b/media/css/seacloud.css
new file mode 100644
index 0000000000..65b97dcccc
--- /dev/null
+++ b/media/css/seacloud.css
@@ -0,0 +1,181 @@
+body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,blockquote,pre,form,input,button { margin:0; padding:0; }
+ul { list-style:none; }
+img { border:none; }
+a { color:#ee8833; text-decoration:none; font-weight:bold; }
+a:hover { color: #ff9933; text-decoration: underline; }
+em {
+ font-style:normal;
+ font-weight:bold;
+ font-size:1.1em;
+}
+h2 { font-size:1.5em; color:#322;}
+h3 { font-size:1.2em; color:#322; font-weight:normal; margin:0.95em 0 0.4em; }
+h4 { font-size:1.1em; color:#322; font-weight:normal; margin:0.5em 0 0.2em; }
+p { line-height: 1.6; margin: 0.8em 0; }
+ol { padding-left:2em; }
+/* table */
+table { border-spacing: 0; border-collapse: collapse; }
+caption {font-size:1.1em; font-weight:bold; margin-bottom:.6em;}
+td, th { padding:5px; border: 1px solid #ccc; }
+tr:nth-child(2n) { background-color:#f8f8f8; }
+
+.clear { clear:both;}
+.fleft { float:left; }
+.fright { float:right; }
+.cleft { clear:left; }
+.center { text-align:center; }
+.show { display:block; }
+.hide { display:none; }
+.ovhd { overflow:hidden; }
+.bold { font-weight:bold; }
+.w100 { width:100%; }
+.block {
+ padding:20px;
+ background:#fff;
+ border:1px solid #ddd;
+ box-shadow: 0 1px 1px #aaa;
+}
+
+/* container */
+#wrapper {
+ font: 13px/1.5 Arial, Helvetica, sans-serif;
+ color:#333;
+ background:#f8f8f8;
+}
+#main, #footer { width:950px; }
+#main {
+ min-height:300px;
+ _height:300px;
+ margin:0 auto;
+}
+#left-panel {
+ float:left;
+ width:245px;
+}
+#right-panel {
+ float:right;
+ width:665px;
+}
+
+/* #header */
+#header {
+ background:#fff;
+ padding-bottom:20px;
+ border-bottom:1px solid #ccc;
+ margin-bottom:40px;
+ box-shadow:0 2px 4px #bbb;
+}
+#header .header-inner {
+ width:950px;
+ margin:0 auto;
+}
+.top-bar {
+ text-align:right;
+ padding:5px 0 20px;
+}
+.top-bar a {
+ display:inline-block;
+ line-height:1.1em;
+ padding:0 15px;
+ border-right:1px solid #ddd;
+}
+.top-bar .demo-account {
+ color:#fff;
+ padding:8px 14px;
+ background:#e83;
+ border:0;
+ border-radius:3px;
+ margin-top:4px;
+}
+
+/* footer */
+#footer {
+ color:#636363;
+ font-size:12px;
+ padding:20px 0 10px;
+ margin:80px auto 25px;
+ border-top:1px solid #DDD;
+}
+#footer .items {
+ width:65%;
+}
+#footer .other-info {
+ width:30%;
+}
+#footer .item {
+ float:left;
+ width:28%;
+ padding:0 3% 0 2%;
+}
+#footer .item h4 {
+ font-size:12px;
+ color:#636363;
+ padding-bottom:3px;
+}
+#footer a {
+ color:#888;
+ font-weight:normal;
+}
+
+
+.home .register {
+ display:block;
+ padding:15px 30px;
+ width:200px;
+ font-size:20px;
+ line-height:1.1em;
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.25);
+ color:#fff;
+ text-align:center;
+ text-decoration:none;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.3);
+ background:#e83;
+ background: -moz-linear-gradient(#e83,#b50);
+ background: -webkit-linear-gradient(#e83,#b50);
+ border-radius:5px;
+ margin:0 auto 10px;
+}
+.home .register span {
+ font-size:13px;
+ font-weight:normal;
+}
+.home .use {
+ color:#666;
+ text-align:center;
+}
+.home .use a {
+ color:#666;
+ font-weight:normal;
+ text-decoration:underline;
+}
+.home .use a:hover {
+ color:#f93;
+}
+#seacloud-intro {
+ text-align: center;
+ margin-top:25px;
+}
+#screenshot {
+ padding:5px;
+ background:#f3f3f3;
+ border-radius:5px;
+}
+#seacloud-slogan {
+ font-size: 24px;
+ margin-top: 40px;
+}
+#seacloud-feature {
+ font-size:22px;
+ color: #e83;
+}
+#seacloud-base {
+ font-size:16px;
+}
+#pricing {
+ border-radius:5px;
+ margin: 40px 0;
+}
+#pricing table {
+ width: 75%;
+ margin: 0 auto;
+}
diff --git a/media/css/seahub.css b/media/css/seahub.css
index d67a55c1ec..0aa9b6c16c 100644
--- a/media/css/seahub.css
+++ b/media/css/seahub.css
@@ -699,6 +699,11 @@ textarea:-moz-placeholder {/* for FF */
height:40px;
margin-right:30px;
}
+#seacloud-logo {
+ margin-right:30px;
+ margin-bottom:6px;
+ margin-top:2px;
+}
#header .nav {
float:left;
padding-top:9px;
diff --git a/media/img/demo/group.png b/media/img/demo/group.png
new file mode 100644
index 0000000000..3fe3bf1289
Binary files /dev/null and b/media/img/demo/group.png differ
diff --git a/media/img/seacloud-logo.png b/media/img/seacloud-logo.png
new file mode 100644
index 0000000000..0222e9c0d8
Binary files /dev/null and b/media/img/seacloud-logo.png differ
diff --git a/seahub/base/context_processors.py b/seahub/base/context_processors.py
index acdf86c527..6ba3e2f8ee 100644
--- a/seahub/base/context_processors.py
+++ b/seahub/base/context_processors.py
@@ -12,6 +12,10 @@ try:
from seahub.settings import BUSINESS_MODE
except ImportError:
BUSINESS_MODE = False
+try:
+ from seahub.settings import SEACLOUD_MODE
+except ImportError:
+ SEACLOUD_MODE = False
from seahub.utils import HAS_FILE_SEARCH
@@ -41,6 +45,7 @@ def base(request):
'logo_path': LOGO_PATH,
'logo_url': LOGO_URL,
'business_mode': BUSINESS_MODE,
+ 'seacloud_mode': SEACLOUD_MODE,
'cloud_mode': request.cloud_mode,
'org': org,
'base_template': base_template,
diff --git a/seahub/notifications/management/commands/send_user_notifications.py b/seahub/notifications/management/commands/send_user_notifications.py
index 62f75fcdb9..4eb88aba78 100644
--- a/seahub/notifications/management/commands/send_user_notifications.py
+++ b/seahub/notifications/management/commands/send_user_notifications.py
@@ -11,18 +11,19 @@ import seahub.settings as settings
# Get an instance of a logger
logger = logging.getLogger(__name__)
-email_template = u'''${username}您好:
+email_template = u'''Hi ${username}:
+
+You have new message today, please go to following page to check out:
-您有${cnt}条新消息,请点击下面的链接查看:
${msg_url}
-感谢使用我们的网站!
+Thanks for using our site!
-${site_name}团队
+${site_name} team
'''
site_name = settings.SITE_NAME
-subject = u'%s:新消息' % site_name
+subject = u'%s:new message' % site_name
url = settings.SITE_BASE.rstrip('/') + settings.SITE_ROOT + 'home/my/'
class Command(BaseCommand):
@@ -49,8 +50,7 @@ class Command(BaseCommand):
for user,cnt in d.items():
template = string.Template(email_template)
- content = template.substitute(username=user, cnt=cnt, msg_url=url, \
- site_name=site_name)
+ content = template.substitute(username=user, msg_url=url, site_name=site_name)
try:
send_mail(subject, content, settings.DEFAULT_FROM_EMAIL, [user], \
fail_silently=False)
diff --git a/seahub/templates/base.html b/seahub/templates/base.html
index 90d58c36d8..65182cb468 100644
--- a/seahub/templates/base.html
+++ b/seahub/templates/base.html
@@ -85,9 +85,15 @@
-