aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/etherpad/src/templates/pro
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/etherpad/src/templates/pro')
-rw-r--r--trunk/etherpad/src/templates/pro/account/account-welcome-email.ejs32
-rw-r--r--trunk/etherpad/src/templates/pro/account/create-admin-account.ejs37
-rw-r--r--trunk/etherpad/src/templates/pro/account/forgot-password-email.ejs22
-rw-r--r--trunk/etherpad/src/templates/pro/account/forgot-password.ejs66
-rw-r--r--trunk/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs27
-rw-r--r--trunk/etherpad/src/templates/pro/account/guest-knock.ejs27
-rw-r--r--trunk/etherpad/src/templates/pro/account/my-account.ejs67
-rw-r--r--trunk/etherpad/src/templates/pro/account/signin-guest.ejs51
-rw-r--r--trunk/etherpad/src/templates/pro/account/signin.ejs81
-rw-r--r--trunk/etherpad/src/templates/pro/admin/account-manager.ejs59
-rw-r--r--trunk/etherpad/src/templates/pro/admin/admin-template.ejs31
-rw-r--r--trunk/etherpad/src/templates/pro/admin/admin.ejs15
-rw-r--r--trunk/etherpad/src/templates/pro/admin/billing-invoices.ejs45
-rw-r--r--trunk/etherpad/src/templates/pro/admin/delete-account.ejs35
-rw-r--r--trunk/etherpad/src/templates/pro/admin/manage-account.ejs64
-rw-r--r--trunk/etherpad/src/templates/pro/admin/manage-billing.ejs35
-rw-r--r--trunk/etherpad/src/templates/pro/admin/new-account.ejs86
-rw-r--r--trunk/etherpad/src/templates/pro/admin/pne-config.ejs33
-rw-r--r--trunk/etherpad/src/templates/pro/admin/pne-dashboard.ejs40
-rw-r--r--trunk/etherpad/src/templates/pro/admin/pne-license-manager.ejs132
-rw-r--r--trunk/etherpad/src/templates/pro/admin/pne-shell.ejs33
-rw-r--r--trunk/etherpad/src/templates/pro/admin/pro-config.ejs55
-rw-r--r--trunk/etherpad/src/templates/pro/admin/single-invoice.ejs47
-rw-r--r--trunk/etherpad/src/templates/pro/padlist/pro-padlist.ejs49
-rw-r--r--trunk/etherpad/src/templates/pro/pro-payment-required.ejs51
-rw-r--r--trunk/etherpad/src/templates/pro/pro_home.ejs103
26 files changed, 1323 insertions, 0 deletions
diff --git a/trunk/etherpad/src/templates/pro/account/account-welcome-email.ejs b/trunk/etherpad/src/templates/pro/account/account-welcome-email.ejs
new file mode 100644
index 0000000..33e1ac5
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/account-welcome-email.ejs
@@ -0,0 +1,32 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+Dear <%= account.fullName %>,
+
+<% if (adminAccount) { %>
+<%= adminAccount.fullName %> has created an EtherPad account for you on <%=
+request.host %> (<%= siteName %>). You can sign in by clicking on the following link:
+<% } else { %>
+Thank you for signing up for EtherPad Professional Edition. You can sign in by clicking on the following link:
+<% } %>
+
+<%= signinLink %>
+
+For help signing in, or general support issues, please email support@pad.spline.inf.fu-berlin.de.
+
+--
+This email was sent to <%= toEmail %> from an EtherPad user.
+If you received it in error, you may safely ignore it.
+<%/* EtherPad's offices are located at Pier 38, The Embarcadero,
+San Francisco, CA 94107 */%>
+
diff --git a/trunk/etherpad/src/templates/pro/account/create-admin-account.ejs b/trunk/etherpad/src/templates/pro/account/create-admin-account.ejs
new file mode 100644
index 0000000..2a6c9f8
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/create-admin-account.ejs
@@ -0,0 +1,37 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeCss("pro/account.css") %>
+
+<div class="fpcontent">
+ <div class="account-container">
+
+ <h3>Welcome to your own EtherPad server!</h3>
+
+ <p>To get started, please create an administrator account. This
+ account will also be the primary admin contact for this
+ system.</p>
+
+ <%= errorDiv() %>
+
+ <%= renderAccountForm('create-admin-account', [
+ {title: "Create Admin Account"},
+ {text: "fullName", label: "Full Name:"},
+ {text: "email", label: "Email:"},
+ {password: "password", label: "Password:"},
+ {password: "passwordConfirm", label: "Confirm Password:"},
+ {submit: "Create Account"}
+ ]) %>
+
+ </div>
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/account/forgot-password-email.ejs b/trunk/etherpad/src/templates/pro/account/forgot-password-email.ejs
new file mode 100644
index 0000000..4595cee
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/forgot-password-email.ejs
@@ -0,0 +1,22 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+Dear <%= account.fullName %>,
+
+We received a request to reset your EtherPad password. To proceed, click the following link:
+
+<%= recoverUrl %>
+
+If you did not request a password reset, simply ignore this email.
+
+
diff --git a/trunk/etherpad/src/templates/pro/account/forgot-password.ejs b/trunk/etherpad/src/templates/pro/account/forgot-password.ejs
new file mode 100644
index 0000000..bbc78dd
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/forgot-password.ejs
@@ -0,0 +1,66 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeCss("pro/account.css") %>
+<% helpers.setHtmlTitle("EtherPad: Forgot Password") %>
+
+<div class="fpcontent">
+ <div class="account-container forgotpass-container">
+
+ <% var md = messageDiv(); %>
+ <% if (md) { %>
+ <%= md %>
+ <% } else { %>
+
+ <form action="<%= request.path + '?' + request.query %>"
+ method="post">
+
+ <div class="bb bb-forgotpass">
+ <div class="bb-top">
+ <div class="bb-topleft"><!-- --></div>
+ <div class="bb-topright"><!-- --></div>
+ <div class="bb-title">Recover Lost Password</div>
+ </div>
+ <div class="bb-in">
+
+ <%= errorDiv() %>
+
+ <div id="instructions">
+ Enter your email address and we will send you a link
+ to reset your password.
+ </div>
+
+ <div>
+ <label for="email" id="email-label">Email</label>
+ <input class="textin" type="text" name="email" id="email" value="<%= email
+ %>" />
+ <%= helpers.clearFloats() %>
+ </div>
+
+ <div>
+ <button type="submit" class="bluebutton
+ bluebutton120">
+ Send Email
+ </button>
+ <%= helpers.clearFloats() %>
+ </div>
+
+ </div>
+ </div>
+ </form>
+ <% } %>
+
+ <p><a href="/ep/account/sign-in">&laquo; Back to sign-in</a></p>
+
+ </div>
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs b/trunk/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs
new file mode 100644
index 0000000..d2eb4de
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs
@@ -0,0 +1,27 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+Dear <%= accountList[0].fullName %>,
+
+We received a request to recover the EtherPad password for "<%=
+email %>. We found multiple accounts linked to this email address.
+Please choose one of the following URLs to proceed with recovering the
+password for that EtherPad site:
+
+<% for (var i = 0; i < accountList.length; i++) { %>
+<%= recoverLink(accountList[i], domainList[i]) %>
+<% } %>
+
+--
+If you did not request a password reset, simply ignore this email.
+
diff --git a/trunk/etherpad/src/templates/pro/account/guest-knock.ejs b/trunk/etherpad/src/templates/pro/account/guest-knock.ejs
new file mode 100644
index 0000000..44c69c0
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/guest-knock.ejs
@@ -0,0 +1,27 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeJQuery() %>
+<% helpers.includeJs("pro/guest-knock-client.js") %>
+<% helpers.includeCss("pro/account.css") %>
+
+<div id="guest-knock-box">
+ <p>
+ <img src="/static/img/misc/status-ball.gif">
+ Waiting for approval...
+ </p>
+</div>
+
+<div id="guest-knock-denied">
+ Access Denied.
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/account/my-account.ejs b/trunk/etherpad/src/templates/pro/account/my-account.ejs
new file mode 100644
index 0000000..9634285
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/my-account.ejs
@@ -0,0 +1,67 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeCss("pro/account.css") %>
+<% helpers.setHtmlTitle("EtherPad: My Account") %>
+
+<div class="fpcontent">
+<div class="my-account">
+ <%= messageDiv() %>
+ <%= errorDiv() %>
+
+<% if (!changePass) { %>
+ <h2>My Info</h2>
+
+ <form method="post" action="/ep/account/update-info">
+ <table>
+ <tr>
+ <th>Full Name:</th>
+ <td class="ti"><%= INPUT({type: 'text', name: 'fullName',
+ value: account.fullName}) %></td>
+ </tr>
+ <tr>
+ <th>Email:</th>
+ <td class="ti"><%= INPUT({type: 'text', name: 'email', value:
+ account.email}) %></td>
+ </tr>
+ <tr>
+ <td colspan="2" style="text-align: right;">
+ <input type="submit" value="Update Info" />
+ </td>
+ </tr>
+ </table>
+ </form>
+<% } %>
+
+<h2>Password</h2>
+
+<form method="post" action="/ep/account/update-password">
+<table>
+ <tr>
+ <th>New Password:</th>
+ <td class="ti"><%= INPUT({type: 'password', name: 'password', value: ''}) %></td>
+ </tr>
+ <tr>
+ <th>Confirm Password:</th>
+ <td class="ti"><%= INPUT({type: 'password', name: 'passwordConfirm', value: ''}) %></td>
+ </tr>
+ <tr>
+ <td colspan="2" style="text-align: right;">
+ <input type="submit" id="passwordSubmit" value="Update Password" />
+ </td>
+ </tr>
+</table>
+</form>
+
+</div>
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/account/signin-guest.ejs b/trunk/etherpad/src/templates/pro/account/signin-guest.ejs
new file mode 100644
index 0000000..621c381
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/signin-guest.ejs
@@ -0,0 +1,51 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeCss("pro/account.css") %>
+<% helpers.includeJQuery() %>
+<% helpers.includeJs("pro/signin-client.js") %>
+<% helpers.setHtmlTitle("EtherPad: Sign In") %>
+
+<div class="fpcontent">
+ <div class="account-container">
+
+ <form id="guest-signin-form"
+ action="<%= request.path + '?' + request.query %>" method="post"
+ style="border: 1px solid #5a5; background: #efe; padding: 1em;">
+
+ <div style="font-weight: bold;">Guest Sign In:</div>
+
+ <% if (errorMessage) { %>
+ <div style="margin: 1em 0; padding: 1em; border: 1px solid red; background: #fee;">
+ <%= errorMessage %>
+ </div>
+ <% } %>
+
+ <p>Enter your name to be displayed to other users:</p>
+ <input id="guestDisplayName" type="text" name="guestDisplayName" value="<%= guestName
+ %>" />
+ <input type="hidden" name="localPadId" value="<%= localPadId %>" />
+
+ <input type="submit" value="Request Access" />
+
+ </form>
+
+ <form id="account-signin-choice"
+ method="get"
+ action="/ep/account/sign-in">
+ <input type="hidden" name="guest" value="1" />
+ <input type="hidden" name="padId" value="<%= toHTML(localPadId) %>" />
+ Account holders: <button>Sign in</button>
+ </form>
+ </div>
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/account/signin.ejs b/trunk/etherpad/src/templates/pro/account/signin.ejs
new file mode 100644
index 0000000..c67bea6
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/account/signin.ejs
@@ -0,0 +1,81 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeJQuery() %>
+<% helpers.includeJs("pro/signin-client.js") %>
+<% helpers.includeCss("pro/account.css") %>
+<% helpers.setHtmlTitle("EtherPad: Sign In") %>
+
+<div class="fpcontent">
+ <div class="account-container">
+
+ <%= signinNotice() %>
+
+ <form id="signin-form" action="<%= request.path + '?' + request.query %>" method="post">
+ <div class="bb bb-signin">
+ <div class="bb-top">
+ <div class="bb-topleft"><!-- --></div>
+ <div class="bb-topright"><!-- --></div>
+ <div class="bb-title">Sign In to <%= siteName %> EtherPad</div>
+ </div>
+ <div class="bb-in">
+ <%= errorDiv() %>
+ <div>
+ <label for="email" id="email-label">Email</label>
+ <input class="textin" type="text" name="email" id="email" value="<%= email
+ %>" />
+ <%= helpers.clearFloats() %>
+ </div>
+
+ <div>
+ <label for="password" id="password-label">Password</label>
+ <input class="passin" type="password" name="password"
+ id="password"
+ value="<%= password
+ %>" />
+ <%= helpers.clearFloats() %>
+ </div>
+
+ <div>
+ <input type="checkbox" id="rememberMe" name="rememberMe"
+ <%= (rememberMe ? 'checked="on"' : '') %> />
+ <label for="rememberMe" id="rememberMe-label">Remember me on this
+ computer</label>
+
+ <button type="submit" class="bluebutton bluebutton120" id="signInButton">
+ Sign In
+ </button>
+ <%= helpers.clearFloats() %>
+ </div>
+
+ </div>
+ </div>
+ </form>
+
+ <% if (showGuestBox) { %>
+ <form action="/ep/account/guest-sign-in"
+ id="guest-signin-choice"
+ method="get">
+ <input type="hidden" name="padId" value="<%= toHTML(localPadId) %>" />
+ Guests: <button type="submit">Request Guest Access</button>
+ </form>
+ <% } %>
+
+ <div id="bottom-text">
+ <a
+ href="/ep/account/forgot-password">Recover lost
+ password</a>
+ </div>
+
+ </div>
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/admin/account-manager.ejs b/trunk/etherpad/src/templates/pro/admin/account-manager.ejs
new file mode 100644
index 0000000..f1b443f
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/account-manager.ejs
@@ -0,0 +1,59 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+<% function fmtdate(d) {
+ if (!d) {
+ return "Never";
+ } else {
+ return d.toString().split(' ').slice(0,5).join(' ');
+ }
+} %>
+
+<h3 class="top">Accounts</h3>
+
+<div class="manage-accounts">
+
+ <%= messageDiv() %>
+ <%= warningDiv() %>
+
+ <p><a href="<%= request.path %>new">Create new account</a></p>
+
+ <% function renderAccountRow(u) {
+ var name = u.fullName;
+ return TR(TD(name),
+ TD(u.email),
+ TD(u.isAdmin ? 'Admin' : ''),
+ TD(fmtdate(u.lastLoginDate)),
+ TD(A({href: request.path + "account/"+u.id}, "Manage")))
+ }
+ %>
+
+ <table id="accountlist">
+ <tr>
+ <th width="99%">Name</th>
+ <th>Email</th>
+ <th>Role</th>
+ <th>Last Signed In</th>
+ <th>&nbsp;</th>
+ </tr>
+
+ <% accountList.forEach(function(u) { %>
+ <%= renderAccountRow(u) %>
+ <% }); %>
+
+ </table>
+
+ <p class="account-tally"><%= accountList.length %> account<%= accountList.length == 1 ? "" : "s" %>.</p>
+
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/admin/admin-template.ejs b/trunk/etherpad/src/templates/pro/admin/admin-template.ejs
new file mode 100644
index 0000000..a54964f
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/admin-template.ejs
@@ -0,0 +1,31 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.setHtmlTitle("Etherpad Administration") %>
+<% helpers.includeCss("pro/pro-admin.css") %>
+
+<div class="fpcontent">
+ <table id="admin-layout-table">
+ <tr>
+ <td width="1%" id="admin-leftnav">
+ <%= renderAdminLeftNav() %>
+ </td>
+ <td width="99%" id="admin-right">
+ <%= getAdminContent() %>
+ </td>
+ </tr>
+ </table>
+
+</div>
+
+
+
diff --git a/trunk/etherpad/src/templates/pro/admin/admin.ejs b/trunk/etherpad/src/templates/pro/admin/admin.ejs
new file mode 100644
index 0000000..f8e1562
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/admin.ejs
@@ -0,0 +1,15 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+Please select an option from the left.
+
diff --git a/trunk/etherpad/src/templates/pro/admin/billing-invoices.ejs b/trunk/etherpad/src/templates/pro/admin/billing-invoices.ejs
new file mode 100644
index 0000000..a3a17d8
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/billing-invoices.ejs
@@ -0,0 +1,45 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><%
+ helpers.includeCss('store/ondemand-billing.css');
+%>
+
+<%
+function displayInvoice(invoice) { %>
+ <tr>
+ <td><%= formatDate(invoice.time) %></td>
+ <td><%= invoice.id %></td>
+ <td><%= invoice.status == 'paid' ? "Paid" : (invoice.status == 'pending' ? "<strong>Pending</strong>" : (invoice.status == 'refunded' ? "<em>Refunded</em>" : invoice.status)) %></td>
+ <td><%= invoice.users %></td>
+ <td>US $<%= dollars(centsToDollars(invoice.amt)) %></td>
+ <td><a href="<%= request.path %>?id=<%= invoice.id %>">View</a></td>
+ </tr>
+<% } %>
+
+<h3 class="top">Past Invoices</h3>
+
+<% if (invoices.length == 0) { %>
+ <p class="informational">No old invoices.</p>
+<% } else { %>
+ <table class="invoicelist">
+ <tr>
+ <th>Date</th>
+ <th>Invoice Number</th>
+ <th>Status</th>
+ <th>Number of users</th>
+ <th>Cost</th>
+ <th>&nbsp;</th>
+ </tr>
+ <% invoices.forEach(displayInvoice); %>
+ </table>
+<% } %> \ No newline at end of file
diff --git a/trunk/etherpad/src/templates/pro/admin/delete-account.ejs b/trunk/etherpad/src/templates/pro/admin/delete-account.ejs
new file mode 100644
index 0000000..3de2122
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/delete-account.ejs
@@ -0,0 +1,35 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><div id="delete-account-page">
+
+ <h3 class="top">Delete Account</h3>
+
+ <%= errorDiv() %>
+
+ <div class="confirm">Do you really want to delete this account?</div>
+
+ <div class="account-info"><%= account.fullName %> (<%= account.email %>)</div>
+
+ <form method="post" action="<%= request.path %>">
+ <input type="submit" name="delete" value="Delete" />
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ <input type="submit" name="cancel" value="Cancel" />
+ </form>
+
+ <div class="note">When an account is deleted, some references to it may remain on the
+ site. For example, edits to pads by the deleted account will remain in the
+ pad's history. However, the deleted account will no longer be able to
+ sign in, and will not be counted toward your monthly quota.</div>
+
+</div>
+
diff --git a/trunk/etherpad/src/templates/pro/admin/manage-account.ejs b/trunk/etherpad/src/templates/pro/admin/manage-account.ejs
new file mode 100644
index 0000000..72529b4
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/manage-account.ejs
@@ -0,0 +1,64 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+<h3 class="top">Manage Account</h3>
+
+<div class="manage-accounts">
+
+ <%= errorDiv() %>
+
+ <form method="post" action="<%= request.path %>">
+
+
+ <table id="manage-account">
+ <tr>
+ <th>Email:</th>
+ <td><input type="text" name="newEmail" id="newEmail" value="<%=
+ account.email %>" /></td>
+ </tr>
+
+ <tr>
+ <th>Full Name:</th>
+ <td><input type="text" name="newFullName" id="newFullName" value="<%=
+ account.fullName %>" /></td>
+ </tr>
+
+ <tr>
+ <th><label for="newIsAdmin">Administrator?</label></th>
+ <td>
+ <input type="checkbox" name="newIsAdmin" id="newIsAdmin"
+ <%= (account.isAdmin ? "checked='true'" : '') %>
+ />
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2" style="text-align: right;">
+ <a href="/ep/admin/account-manager/delete-account/<%=
+ account.id %>">Delete Account</a>
+ </td>
+ </tr>
+
+ </table>
+
+ <div style="padding: 1em;">
+ <input class="submit" type="submit" name="btn" value="Save" />
+ <input class="submit" type="submit" name="cancel" value="Cancel" />
+ </div>
+
+ </form>
+
+</div>
+
+
+
diff --git a/trunk/etherpad/src/templates/pro/admin/manage-billing.ejs b/trunk/etherpad/src/templates/pro/admin/manage-billing.ejs
new file mode 100644
index 0000000..514d943
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/manage-billing.ejs
@@ -0,0 +1,35 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+<%
+ helpers.includeCss('store/ondemand-billing.css');
+%>
+
+<% function fmtdate(d) {
+ if (!d) {
+ return "Never";
+ } else {
+ return d.toString().split(' ').slice(0,5).join(' ');
+ }
+}
+
+function plural(amt) {
+ return (amt == 1 ? "" : "s");
+}
+
+%>
+
+<h3 class="top">Payment Information</h3>
+
+<p>EtherPad Professional will be discontinued on <%= helpers.rafterTerminationDate() %>. No further payments will be collected.</p>
+<p><a href="http://pad.spline.inf.fu-berlin.de<%= helpers.rafterBlogUrl() %>">Read more</a>.</p>
diff --git a/trunk/etherpad/src/templates/pro/admin/new-account.ejs b/trunk/etherpad/src/templates/pro/admin/new-account.ejs
new file mode 100644
index 0000000..2f2cccf
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/new-account.ejs
@@ -0,0 +1,86 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% function formField(id, label, type) {
+ if (!type) { type = "text"; }
+ var val = (oldData[id] || "");
+
+ var d = DIV({className: "formfield"});
+
+ if (type == "checkbox") {
+ d.push(INPUT({type: type,
+ id: id,
+ name: id,
+ className: type+"input",
+ checked: (oldData[id] ? true : undefined)}),
+ LABEL({htmlFor: id, className: type+"label"}, label));
+ d.push(html('<div style="clear: both;"><!-- --></div>'));
+ } else if (type == "text") {
+ d.push(LABEL({className: type+"label", htmlFor: id}, label),
+ INPUT({className: type+"input",
+ type: type,
+ id: id,
+ name: id,
+ maxlength: 80,
+ value: val}));
+ } else if (type == "temppass") {
+ if (!val) {
+ val = stringutils.randomString(6).toUpperCase();
+ }
+ d.push(LABEL({className: type+"label", htmlFor: id}, label),
+ INPUT({className: type+"input",
+ type: "text",
+ id: id,
+ name: id,
+ maxlength: 80,
+ value: val
+ }));
+ }
+
+ return d;
+} %>
+
+<h3 class="top">Add new account</h3>
+
+<div class="manage-accounts newaccount">
+
+ <%= errorDiv() %>
+
+ <form method="post" action="<%= request.path %>">
+
+ <div class="new-account-form">
+
+ <div class="forminner">
+ <%= formField('email', 'Email:', 'text') %>
+ <%= formField('fullName', 'Full Name:', 'text') %>
+ <%= formField('tempPass', 'Temporary Password:', 'temppass') %>
+ <%= formField('makeAdmin', 'Make this account an administrator?', 'checkbox') %>
+ </div>
+
+ </div>
+ <br/><br/>
+ <div class="buttons-wrap">
+ <input class="submit" type="submit" name="btn" value="Create Account" />
+ <input class="submit" type="submit" name="cancel" value="Cancel" />
+ </div>
+
+ </form>
+
+ <p id="bottom-note">An email will be sent to this account with a link to sign in.
+ They will be prompted to change their password the first time they sign in.</p>
+ </p>
+
+</div>
+
+<script>document.getElementById('email').focus()</script>
+
+
diff --git a/trunk/etherpad/src/templates/pro/admin/pne-config.ejs b/trunk/etherpad/src/templates/pro/admin/pne-config.ejs
new file mode 100644
index 0000000..56fe68d
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/pne-config.ejs
@@ -0,0 +1,33 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><h3 class="top">Private Server Configuration</h3>
+
+<p>Your private EtherPad server can be configured using either command-line arguments (of the
+form --<i>argName</i>=<i>value</i>), or by adding the options to the file
+<tt>data/etherpad.properties</tt>.</p>
+
+<p>Learn more about server options in the <a href="/ep/pne-server-manual/">PNE Server Manual</a>.</p>
+
+<h3>Current Config Values</h3>
+
+<table id="pne-config">
+<tr><th with="1%">Option Name</th><th width="99%">Current Value</th></tr>
+<% propKeys.forEach(function(k) { %>
+<tr><td class="key"><%= k %></td><td class="val"><%= appjetConfig[k] %></td></tr>
+<% }) %>
+</table>
+
+
+
+
+
diff --git a/trunk/etherpad/src/templates/pro/admin/pne-dashboard.ejs b/trunk/etherpad/src/templates/pro/admin/pne-dashboard.ejs
new file mode 100644
index 0000000..6b9b456
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/pne-dashboard.ejs
@@ -0,0 +1,40 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad Private Server Dashboard") %>
+
+<h3 class="top">User Quota</h3>
+
+<p>Your maximum daily unique user quota is: <b><%= userQuota %></b></p>
+<p>So far today, there have been <b><%= todayActiveUsers %></b> applied against this quota.</p>
+
+<h3>Uptime</h3>
+
+This server has been running for <b><%= renderUptime() %></b>.
+
+<h3>HTTP Response Codes</h3>
+
+<%= renderResponseCodes() %>
+
+<h3>Current Realtime Pad Connections</h3>
+
+<%= renderPadConnections() %>
+
+<h3>Realtime Transport Performance</h3>
+
+<%= renderTransportStats() %>
+
+<div style="font-size: 12px; text-align: right;">
+ <a style="color: #ccc;" href="/ep/admin/pne-advanced">*</a>
+</div>
+
+
diff --git a/trunk/etherpad/src/templates/pro/admin/pne-license-manager.ejs b/trunk/etherpad/src/templates/pro/admin/pne-license-manager.ejs
new file mode 100644
index 0000000..42594b8
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/pne-license-manager.ejs
@@ -0,0 +1,132 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad PNE License Manager"); %>
+<% helpers.includeJQuery() %>
+<% helpers.includeJs("etherpad.js") %>
+
+<div id="lm">
+
+ <% if (isExpired) { %>
+
+ <div class="lm-error-msg">
+ <p>Your evaluation license has expired!</p>
+ <p>Please contact <%= helpers.oemail("sales") %> or visit the <a
+ href="http://pad.spline.inf.fu-berlin.de/ep/about/pricing-eepnet">pricing page on pad.spline.inf.fu-berlin.de</a>
+ to purchase a license key.</p>
+ </div>
+
+ <% } %>
+
+ <% if (isTooOld) { %>
+
+ <div class="lm-notice-msg">
+ <p>The version of EtherPad you are running (<%= runningVersionString %>) is too old.
+ Please update to version <%= licenseVersionString %> or newer by <a
+ href="http://pad.spline.inf.fu-berlin.de/ep/store/eepnet-download">downloading the latest version on
+ pad.spline.inf.fu-berlin.de</a>.</p>
+ </div>
+
+ <% } %>
+
+ <% if (errorMessage) { %>
+ <div class="lm-error-msg">
+ <p><%= errorMessage %></p>
+ </div>
+ <% } %>
+
+ <% if (licenseInfo && !edit) { %>
+
+ <h3 class="top">License Info:</h3>
+
+ <div id="lm-status">
+ <table>
+ <tr>
+ <td width="1%" align="right">Licensed To: </td>
+ <td width="99%"><b><%= licenseInfo.personName %></b></td>
+ </tr>
+
+ <tr>
+ <td align="right">Organization: </td>
+ <td><b><%= licenseInfo.organizationName %></b></td>
+ </tr>
+
+ <tr>
+ <td align="right">Software Edition: </td>
+ <td><b><%= licenseInfo.editionName %></b></td>
+ </tr>
+
+ <tr>
+ <td align="right">Maximum Users: </td>
+ <td><b><%= licenseInfo.userQuota %></b></td>
+ </tr>
+<!--
+ <tr>
+ <td align="right">Licensed PNE Version: </td>
+ <td><b><%= licenseVersionString %>+</b></td>
+ </tr>
+-->
+ <tr>
+ <td align="right">Expires: </td>
+ <td><b><%= licenseInfo.expiresDate ? licenseInfo.expiresDate.toString() : "never" %></b></td>
+ </tr>
+ </table>
+
+ </div>
+
+ <div id="lm-edit-button-wrap">
+ <form action="<%= request.path %>edit" method="get">
+ <input type="submit" name="btn" value="Edit License Info" />
+ </form>
+ </div>
+
+ <% } %>
+
+ <% if (isExpired || !licenseInfo || edit) { %>
+
+ <h3 class="top">Enter New License Info:</h3>
+
+ <% if (isUnlicensed) { %>
+ <p>Before you can use this copy of EtherPad Private Network Edition, you must first
+ enter a valid license. Free trial licenses can be obtained <a
+ target="_blank"
+ href="https://pad.spline.inf.fu-berlin.de/ep/store/eepnet-eval-signup">obtained here</a>.
+ </p>
+ <% } %>
+
+ <form action="<%= request.path %>" method="post">
+ <div id="lm-edit">
+
+ <p><b>Name:</b></p>
+ <input style="width: 100%;" type="text" name="personName"
+ value="<%= toHTML(oldData.personName || "") %>" />
+
+ <p><b>Organization:</b></p>
+ <input style="width: 100%;" type="text" name="orgName"
+ value="<%= toHTML(oldData.orgName || "") %>" />
+
+ <p><b>License Key:</b></p>
+ <textarea style="width: 100%; height: 60px;"
+ name="licenseString"><%= toHTML(oldData.licenseString || "") %></textarea>
+
+ </div>
+
+ <div id="lm-edit-submit-wrap">
+ <input type="submit" name="submit" value="Submit" />
+ <input type="submit" name="cancel" value="Cancel" />
+ </div>
+ </form>
+
+ <% } %>
+
+</div><!-- /lm -->
+
diff --git a/trunk/etherpad/src/templates/pro/admin/pne-shell.ejs b/trunk/etherpad/src/templates/pro/admin/pne-shell.ejs
new file mode 100644
index 0000000..f398b15
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/pne-shell.ejs
@@ -0,0 +1,33 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.setHtmlTitle("Shell") %>
+
+<p style="margin-top: 0; color: red;">Warning! Be careful with this page.</p>
+
+<h3 class="top">Shell</h3>
+
+<p>Enter command:</p>
+
+<form action="<%= request.path %>" method="post">
+ <textarea name="cmd" style="width: 100%; height: 140px;"><%= oldCmd %></textarea>
+ <input type="submit" value="Run" />
+</form>
+
+<% if (result) { %>
+ <h3>Result</h3>
+ <div style="font-family: monospace; border: 1px solid #66f; padding: 1em;">
+ <%= result %>
+ </div>
+ <p style="color: #888; font-family: monospace; font-size: .7em;">Computed in <%= elapsedMs %>ms.</p>
+<% } %>
+
diff --git a/trunk/etherpad/src/templates/pro/admin/pro-config.ejs b/trunk/etherpad/src/templates/pro/admin/pro-config.ejs
new file mode 100644
index 0000000..32cb610
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/pro-config.ejs
@@ -0,0 +1,55 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %>
+<h3 class="top">Application Configuration</h3>
+
+<%= messageDiv() %>
+
+<form action="<%= request.path %>" method="post">
+
+<table id="t-pro-config">
+ <tr>
+ <th width="50%" valign="top">Site Name (appears in
+ the header of all pages):</th>
+ <td width="50%" valign="top">
+ <input type="text" name="siteName" value="<%=
+ config.siteName %>" id="siteName" />
+ </td>
+ </tr>
+
+ <tr>
+ <th valign="top">Always require all users on this domain to use secure
+ (HTTPS) connections?</th>
+ <td valign="top">
+ <input type="checkbox" id="alwaysHttps" name="alwaysHttps"
+ <%= config.alwaysHttps ? 'checked="on"' : '' %> />
+ </td>
+ </tr>
+
+ <tr>
+ <th valign="top">Default pad text:</th>
+ <td valign="top">
+ <textarea name="defaultPadText" id="defaultPadText"><%=
+ config.defaultPadText %></textarea>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2" style="text-align: right;">
+ <input type="submit" name="save" value="Apply" />
+ </td>
+ </tr>
+</table>
+
+</form>
+
diff --git a/trunk/etherpad/src/templates/pro/admin/single-invoice.ejs b/trunk/etherpad/src/templates/pro/admin/single-invoice.ejs
new file mode 100644
index 0000000..aeab184
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/admin/single-invoice.ejs
@@ -0,0 +1,47 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><%
+ helpers.includeCss('store/ondemand-billing.css');
+%>
+
+<h3 class="top">Past Invoices</h3>
+
+<p>Invoice #<%= invoice.id %>, dated <%= formatDate(invoice.time) %>.</p>
+
+<table class="billingsummary">
+ <tr>
+ <th>Invoice status</th>
+ <td><%= invoice.status == 'paid' ? "Paid" : (invoice.status == 'pending' ? "<strong>Pending</strong>" : (invoice.status == 'refunded' ? "<em>Refunded</em>" : invoice.status)) %></td>
+ </tr>
+ <tr>
+ <th>Number of users</th>
+ <td><%= invoice.users %></td>
+ </tr>
+ <tr>
+ <th>Cost</th>
+ <td>US $<%= dollars(centsToDollars(invoice.amt)) %></td>
+ </tr>
+ <% if (transaction) { %>
+ <tr>
+ <th>Paid on</th>
+ <td><%= formatDate(transaction.time) %></td>
+ </tr>
+ <tr>
+ <th>Paid using</th>
+ <td><%= transaction.payInfo %></td>
+ </tr>
+ <% } %>
+</table>
+
+<p class="returnlink"><a href="<%= request.path %>">&laquo; back to invoice list</a></p>
+
diff --git a/trunk/etherpad/src/templates/pro/padlist/pro-padlist.ejs b/trunk/etherpad/src/templates/pro/padlist/pro-padlist.ejs
new file mode 100644
index 0000000..b762679
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/padlist/pro-padlist.ejs
@@ -0,0 +1,49 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeCss("lib/jquery.contextmenu.css") %>
+<% helpers.includeCss("pro/padlist.css") %>
+
+<% helpers.includeJQuery() %>
+<% helpers.includeJs("lib/jquery.contextmenu.js") %>
+<% helpers.includeJs("pro/pro-padlist-client.js") %>
+
+<% helpers.setHtmlTitle("Pad List - " + orgName + " - EtherPad") %>
+
+<div class="fpcontent">
+
+ <%= renderPadNav() %>
+ <%= renderNotice() %>
+ <%= renderShowingDesc(padList.length) %>
+
+ <% if (padList.length > 0) { %>
+ <%= renderPadList() %>
+ <p style="font-size: .8em;"><i><%= padList.length %> pad<% if (padList.length > 1) { %>s<% } %></i> <% if (isAdmin) { %>(<a href="/ep/padlist/all-pads.zip">Download all pads as a ZIP archive</a>.) <% } %>
+</p>
+
+ <% } else { %>
+ <p>No pads in this list.</p>
+ <% } %>
+
+</div>
+
+<form action="/ep/padlist/delete" method="post" id="delete-pad" style="display: none;">
+ <input type="hidden" name="returnPath" value="<%= request.url %>" />
+ <input id="padIdToDelete" name="padIdToDelete" type="hidden" value="-" />
+</form>
+
+<form action="/ep/padlist/toggle-archive" method="post" id="toggle-archive-pad" style="display: none;">
+ <input type="hidden" name="returnPath" value="<%= request.url %>" />
+ <input id="padIdToToggleArchive" name="padIdToToggleArchive" type="hidden" value="-" />
+</form>
+
+
diff --git a/trunk/etherpad/src/templates/pro/pro-payment-required.ejs b/trunk/etherpad/src/templates/pro/pro-payment-required.ejs
new file mode 100644
index 0000000..3649990
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/pro-payment-required.ejs
@@ -0,0 +1,51 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.includeJQuery() %>
+<% helpers.includeJs("etherpad.js") %>
+<% helpers.includeCss("pro/payment-required.css") %>
+
+<div class="fpcontent payment-required">
+
+
+<div id="outside">
+<div id="inside">
+
+ <h1>Payment Required</h1>
+
+ <div id="message"><%= message %></div>
+ <br/>
+
+ <% if (isAdmin) { %>
+ <a class="manage-billing-button" href="/ep/admin/billing/">
+ Manage Billing Info
+ </a>
+ <% } else { %>
+ <p>Please contact one of the following site administrator to
+ set up a billing profile on <%= request.domain %>:</p>
+
+ <ul>
+ <% adminList.forEach(function(a) { %>
+ <li><%= a.fullName %>&nbsp;&nbsp;&lt;<%= TT(a.email)
+ %>&gt;</li>
+ <% }); %>
+ </ul>
+
+ <% } %>
+
+ <br/><br/>
+ <p>Questions? Contact <%= helpers.oemail("support") %>.</p>
+
+</div>
+</div>
+
+
diff --git a/trunk/etherpad/src/templates/pro/pro_home.ejs b/trunk/etherpad/src/templates/pro/pro_home.ejs
new file mode 100644
index 0000000..bcf7443
--- /dev/null
+++ b/trunk/etherpad/src/templates/pro/pro_home.ejs
@@ -0,0 +1,103 @@
+<% /* Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS-IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */ %><% helpers.setHtmlTitle(orgName + " - EtherPad"); %>
+<% helpers.includeJQuery() %>
+<% helpers.includeJs("etherpad.js") %>
+<% helpers.includeCss("pro/pro-home.css"); %>
+<% helpers.includeCss("pro/padlist.css"); %>
+
+<div class="fpcontent">
+
+ <div id="welcome-msg">
+ Welcome <%= account.fullName %>
+ <% if (account.isAdmin) { %>(Administrator)<% } %>
+ <br/>
+ <br/>
+ </div>
+
+
+ <div id="homeright">
+ <a href="/ep/pad/newpad">
+ <img src="/static/img/davy/btn/createpad-small.gif" alt="Create new pad" />
+ </a>
+
+ <% if (livePads.length > 0) { %>
+ <div id="live-pads">
+ <h3>Live Pads (currently being edited)</h3>
+ <div id="listwrap">
+ <%= renderLivePads() %>
+ </div>
+ </div>
+ <% } %>
+
+ <% if (recentPads.length > 0) { %>
+ <div id="recent-pads">
+ <h3>Your Recent Pads:</h3>
+ <div id="listwrap">
+ <%= renderRecentPads() %>
+ </div>
+ <a id="viewall" href="/ep/padlist/">View all pads...</a>
+ <div style="clear:both"><!-- --></div>
+ </div>
+ <% } %>
+
+ </div>
+
+ <div id="homeleft">
+ <div id="homeleft-title">
+ Latest News
+ </div>
+
+ <div class="news-time-sep">
+ <div class="date">
+ June 17th, 2009
+ </div>
+ <div class="line"><!-- --></div>
+ </div>
+
+ <div class="news-item">
+ <p>Welcome to your EtherPad Beta Account! Please report bugs by
+ sending email to <%= helpers.oemail("bugs") %>.
+
+ <p>We hope you enjoy EtherPad!</p>
+
+ <p>Sincerely,</p>
+
+ <p>Spline</p>
+ </p>
+ </div>
+
+ </div>
+
+
+ </div><!-- /homeleft -->
+
+ <%= helpers.clearFloats() %>
+
+ <% if (isPNE) { %>
+ <div id="version-info"
+ style="margin-top: 2em; font-size: 76%; color: #444; text-align: right;">
+ <br/>
+ EtherPad Private Network Edition (PNE)
+ Version <%= pneVersion %><br/>
+
+ <% if (isEvaluation && evalExpDate) { %>
+ <br/>
+ <span style="color: #c22;">EVALUATION EDITION: Expires <%= evalExpDate.toString()
+ %>.<br/>
+ <% } %>
+ </div>
+ <% } %>
+
+</div>
+