diff options
Diffstat (limited to 'trunk/etherpad/src/templates/pad')
-rw-r--r-- | trunk/etherpad/src/templates/pad/create_body.ejs | 26 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/create_body_rafter.ejs | 23 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/exporthtml.ejs | 28 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/pad_body.ejs | 69 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/pad_body2.ejs | 472 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/pad_content.ejs | 297 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/pad_download_link.ejs | 27 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/pad_iphone_body.ejs | 29 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/padfull_body.ejs | 32 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/padslider_body.ejs | 41 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/padview_body.ejs | 141 | ||||
-rw-r--r-- | trunk/etherpad/src/templates/pad/total_users_exceeded.ejs | 29 |
12 files changed, 1214 insertions, 0 deletions
diff --git a/trunk/etherpad/src/templates/pad/create_body.ejs b/trunk/etherpad/src/templates/pad/create_body.ejs new file mode 100644 index 0000000..742821f --- /dev/null +++ b/trunk/etherpad/src/templates/pad/create_body.ejs @@ -0,0 +1,26 @@ +<% /* 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("SplinePad [beta]: Create a new pad?"); %> + +<div id="createpadpage" class="fpcontent"> + <form action="<%= request.path %>" method="post"> + + <p><tt id="padurl">http://<%= request.host %>/<%= toHTML(padId) %></tt></p> + + <br/> + <p>There is no SplinePad document here. Would you like to create one?</p> + + <input type="hidden" name="padId" value="<%= toHTML(padId) %>" /> + <input type="submit" id="createPad" value="Create Pad" /> + </form> +</div> diff --git a/trunk/etherpad/src/templates/pad/create_body_rafter.ejs b/trunk/etherpad/src/templates/pad/create_body_rafter.ejs new file mode 100644 index 0000000..28252c7 --- /dev/null +++ b/trunk/etherpad/src/templates/pad/create_body_rafter.ejs @@ -0,0 +1,23 @@ +<% /* 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: Create a new pad?"); %> + +<div id="createpadpage" class="fpcontent"> + + <p><tt>http://<%= request.host %>/<%= toHTML(padId) %></tt></p> + + <p><strong>There is no EtherPad document here.</strong></p> + + <p style="color:red">Creation of new free pads is permanently disabled as part of EtherPad's acquisition by Google. <a href="http://<%= fullSuperdomain %>/ep/blog/posts/google-acquires-appjet">Read more.</a></p> + +</div> diff --git a/trunk/etherpad/src/templates/pad/exporthtml.ejs b/trunk/etherpad/src/templates/pad/exporthtml.ejs new file mode 100644 index 0000000..288a595 --- /dev/null +++ b/trunk/etherpad/src/templates/pad/exporthtml.ejs @@ -0,0 +1,28 @@ +<% /* 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. */ %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> + <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> + <TITLE></TITLE> + <STYLE TYPE="text/css"> + <!-- + @page { margin: 0.79in } + P { margin-bottom: 0.08in } + --> + </STYLE> +</HEAD> +<BODY LANG="en-US" DIR="LTR"> +<%= pre ? '<PRE>' : '' %><%= content %><%= pre ? '</PRE>' : '' %> +</BODY> +</HTML>
\ No newline at end of file diff --git a/trunk/etherpad/src/templates/pad/pad_body.ejs b/trunk/etherpad/src/templates/pad/pad_body.ejs new file mode 100644 index 0000000..d932cd6 --- /dev/null +++ b/trunk/etherpad/src/templates/pad/pad_body.ejs @@ -0,0 +1,69 @@ +<% /* 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. */ %><% + var padIdHtml = toHTML(request.url.split("?", 1)[0]); +%> + +<% helpers.setHtmlTitle("EtherPad: "+toHTML(proTitle || request.path.substr(1))); %> +<% helpers.setBodyId("padbody") %> +<% helpers.addBodyClass(bodyClass) %> +<% helpers.includeCss("pad.css") %> +<% helpers.includeJs("undo-xpopup.js") %> +<% helpers.includeCometJs() %> +<% helpers.includeJQuery(); %> +<% helpers.includeJs("json2.js") %> +<% helpers.includeJs("ace.js") %> +<% helpers.includeJs("collab_client.js") %> +<% helpers.includeJs("pad.js") %> +<% helpers.suppressGA() %> +<% helpers.setRobotsPolicy({index: false, follow: false}) %> + +<div id="padpage"> + +<div id="modaloverlay"> + <div id="modaldialog"> + <div id="dialogtopbar">Foo.</div> + <table id="dialogcontenttable" cellpadding="0" cellspacing="0" border="0"><tr> + <td id="dialogcontent">This is a modal dialog!</td> + </tr></table> + </div> +</div> +<table id="padoutertable" cellpadding="0" cellspacing="0" border="0"> +<tr id="pot_toptr"> + <td id="pot_shadlefttopseg" class="potshad"> </td> + <td id="pot_top"> + <a id="headhomelink" href="/">EtherPad</a> + <div id="headurl"> + <label for="shareurl">Share this URL:</label> + <span id="shareurl"><%= padIdHtml %></span> + </div> + <a id="widthlink" href="javascript: void pad.toggleFullWidth()">M</a> + <a id="newpadlink" href="javascript:void pad.newPad()" + title="Create and open a new pad in a new window">New Pad</a> + </td> + <td id="pot_shadrighttopseg" class="potshad"> </td> +</tr> + +<tr> + <td id="pot_shadleft" class="potshad"><div><!-- --></div></td> + <td id="pot_main"> + <div id="padcontent"> + <%= contentHtml %> + </div><!-- /padcontent --> + </td> + <td id="pot_shadright" class="potshad"><div><!-- --></div></td> +</tr> + +</table><!-- /padoutertable --> + +</div><!-- /padpage --> diff --git a/trunk/etherpad/src/templates/pad/pad_body2.ejs b/trunk/etherpad/src/templates/pad/pad_body2.ejs new file mode 100644 index 0000000..23b7adb --- /dev/null +++ b/trunk/etherpad/src/templates/pad/pad_body2.ejs @@ -0,0 +1,472 @@ +<% /* 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: "+pageTitle); %> +<% helpers.setBodyId("padbody") %> +<% helpers.addBodyClass(bodyClass) %> +<% helpers.includeCss("pad2_ejs.css") %> +<% helpers.includeJs("undo-xpopup.js") %> +<% helpers.includeCometJs() %> +<% helpers.includeJQuery(); %> +<% helpers.includeJs("json2.js") %> +<% helpers.includeJs("colorutils.js") %> +<% helpers.includeJs("ace.js") %> +<% helpers.includeJs("collab_client.js") %> +<% helpers.includeJs("draggable.js") %> +<% helpers.includeJs("pad_utils.js") %> +<% helpers.includeJs("pad_cookie.js") %> +<% helpers.includeJs("pad_editor.js") %> +<% helpers.includeJs("pad_userlist.js") %> +<% helpers.includeJs("pad_editbar.js") %> +<% helpers.includeJs("pad_chat.js") %> +<% helpers.includeJs("pad_docbar.js") %> +<% helpers.includeJs("pad_impexp.js") %> +<% helpers.includeJs("pad_savedrevs.js") %> +<% helpers.includeJs("pad_connectionstatus.js") %> +<% helpers.includeJs("pad_modals.js") %> +<% helpers.includeJs("pad2.js") %> +<% helpers.suppressGA() %> +<% helpers.setRobotsPolicy({index: false, follow: false}) %> +<% + var padUrlAttrValue = request.url.split("?", 1)[0].replace(/\"/g, '"'); //" +%> + +<% + function exportLink(type, n, label, requiresOffice, url, title) { + url = url || '/ep/pad/export/'+localPadId+'/latest?format='+type; + var classes = ["exportlink", "exporthref"+type, "n"+n]; + if (requiresOffice && !hasOffice) { + classes.push("disabledexport"); + } + else { + classes.push("requiresoffice"); + } + var pieces = ['<a']; + pieces.push(' class="', classes.join(' '), '"'); + pieces.push(' target="_blank"'); + pieces.push(' href="', url, '"'); + if (title) { + pieces.push(' title="', title.replace(/\"/g, """), '"'); //" + } + pieces.push('>', label); + /* if (title) { + pieces.push('<sup>?</sup>'); + }*/ + pieces.push('</a>'); + return pieces.join(''); + } +%> + +<div id="padpage"> + +<div id="padtop"> + <div id="topbar"> + <% /* floated left */ %> + <div id="topbarleft"><!-- --></div> + <% /* <a href="#" id="topbarnewpad">New Pad</a> */ %> + <% /* floated right */ %> + <div id="topbarright"><!-- --></div> + <% /* <a href="#" id="topbarfullwidth">Toggle Width</a> */ %> + <% /* non-floated */ %> + <div id="topbarcenter"> + <a href="/" id="topbaretherpad">EtherPad</a> + </div> +<% if (isProAccountHolder) { %> + <a id="backtoprosite" href="/ep/padlist/">Return to pad list</a> + <div id="accountnav"><%= toHTML(account.email) %> + <a href="/ep/account/sign-out">(sign out)</a> + </div> +<% } else if (isPro) { %> + <div id="accountnav"> + <a href="<%= signinUrl %>">sign in</a> + </div> +<% } %> + <div id="specialkeyarea"><!-- --></div> + </div> +<!-- + <div id="shuttingdown"> + <strong style="color:red">Note: EtherPad.com is shutting down March 31, 2010.</strong> + <a href="http://<%= fullSuperdomain %>/ep/blog/posts/google-acquires-appjet">(more info)</a> + </div> + --> + <div id="alertbar"> + <div id="servermsg"> + <h3>Server Notice<span id="servermsgdate"><!-- --></span>:</h3> + <a id="hidetopmsg" href="javascript: void pad.hideServerMessage()">hide</a> + <p id="servermsgtext"><!-- --></p> + </div> + </div> + + <div id="docbar"> + <div id="docbarleft"><!-- --></div> + <div id="docbarpadtitle"><span><%= initialTitle %></span></div> +<% if (isProAccountHolder) { %> + <div id="docbarsecurity-outer"><a href="javascript:void(0)" id="docbarsecurity">Security</a></div> +<% } /* isProAccountHolder */ %> + <div id="docbaroptions-outer"><a href="javascript:void(0)" id="docbaroptions">Pad Options</a></div> + <div id="docbarsavedrevs-outer"><a href="javascript:void(0)" id="docbarsavedrevs">Saved revisions</a></div> + <div id="docbarimpexp-outer"><a href="javascript:void(0)" id="docbarimpexp">Import/Export</a></div> + <div id="docbarslider-outer"><a target="_blank" href="/ep/pad/view/<%= localPadId %>/latest" id="docbarslider">Time Slider</a></div> +<% if (isProAccountHolder) { %> + <div id="docbarrenamelink"> + <a href="javascript:void(0)">(rename)</a> + </div> +<% } /* isProAccountHolder */ %> + <input type="text" id="padtitleedit"/> + <div id="padtitlebuttons"> + <a id="padtitlesave" href="javascript:void(0)">Save</a> + <a id="padtitlecancel" href="javascript:void(0)">Cancel</a> + </div> + <div id="impexp-wrapper" class="dbpanel-wrapper"> + <div id="impexp-panel" class="dbpanel-panel"> + <div class="dbpanel-leftedge"><!-- --></div> + <div class="dbpanel-rightedge"><!-- --></div> + <div class="dbpanel-botleftcorner"><!-- --></div> + <div class="dbpanel-botrightcorner"><!-- --></div> + <div class="dbpanel-middle"> + <div class="dbpanel-inner"> + <div class="dbpanel-top"><!-- --></div> + </div> + <div class="dbpanel-bottom"><!-- --></div> + <div id="importexport"> + <div id="impexp-import"> + <div id="impexp-importlabel"><b>Import</b> from text file, HTML:</div> + <form id="importform" method="post" action="/ep/pad/impexp/import" + target="importiframe" enctype="multipart/form-data"> + <div class="importformdiv" id="importformfilediv"> + <input type="file" name="file" size="20" id="importfileinput" /> + <div class="importmessage" id="importmessagefail"></div> + </div> + <div class="importmessage" id="importmessagesuccess">Successful!</div> + <div class="importformdiv" id="importformsubmitdiv"> + <input type="hidden" name="padId" value="<%= encodeURIComponent(localPadId) %>" /> + <span class="nowrap"> + <input type="submit" name="submit" value="Import Now" disabled="disabled" id="importsubmitinput" /> + <img alt="" id="importstatusball" src="/static/img/misc/status-ball.gif" align="top" /> + <img alt="" id="importarrow" src="/static/img/may09/leftarrow2.gif" align="top" /> + </span> + </div> + </form> + </div><!-- /impexp-import --> + <div id="impexp-export"> + <div id="impexp-exportlabel"><b>Export</b> current pad as:</div> + <div id="exportlinks"> + <%= exportLink('html', 1, 'HTML', false) %> + <%= exportLink('txt', 2, 'Plain text', false) %> + <%= exportLink('link', 3, 'Bookmark file', false, '/ep/pad/linkfile?padId='+localPadId, 'This will save a file that, when opened, takes you to this pad.') %> + </div> + </div><!-- /impexp-export --> + <div id="impexp-divider"><!-- --></div> + <div id="impexp-disabled-clickcatcher"><!-- --></div> + <a id="impexp-close" href="javascript:void(0)">Hide</a> + </div><!-- /importexport --> + </div> + </div> + </div> + <div id="savedrevs-wrapper" class="dbpanel-wrapper"> + <div id="savedrevs-panel" class="dbpanel-panel"> + <div class="dbpanel-leftedge"><!-- --></div> + <div class="dbpanel-rightedge"><!-- --></div> + <div class="dbpanel-botleftcorner"><!-- --></div> + <div class="dbpanel-botrightcorner"><!-- --></div> + <div class="dbpanel-middle"> + <div class="dbpanel-inner"> + <div class="dbpanel-top"><!-- --></div> + </div> + <div class="dbpanel-bottom"><!-- --></div> + </div> + <div id="savedrevisions"> + <a href="javascript:void(0)" id="savedrevs-savenow"> + Save Now + </a> + <div id="savedrevs-scrolly"> + <div id="savedrevs-scrollleft" class="disabledscrollleft"><!-- --></div> + <div id="savedrevs-scrollright" class="disabledscrollright"><!-- --></div> + <div id="savedrevs-scrollouter"> + <div id="savedrevs-scrollinner"> + <!-- --> + </div> + </div> + </div> + <a id="savedrevs-close" href="javascript:void(0)">Hide</a> + </div><!-- /savedrevs close --> + </div> + </div><!-- /savedrevs-wrapper --> + <div id="revision-notifier"><span class="label">Saved:</span> <span class="name">Revision 1</span></div> + <div id="options-wrapper" class="dbpanel-wrapper"> + <div id="options-panel" class="dbpanel-panel"> + <div class="dbpanel-leftedge"><!-- --></div> + <div class="dbpanel-rightedge"><!-- --></div> + <div class="dbpanel-botleftcorner"><!-- --></div> + <div class="dbpanel-botrightcorner"><!-- --></div> + <div class="dbpanel-middle"> + <div class="dbpanel-inner"> + <div class="dbpanel-top"><!-- --></div> + </div> + <div class="dbpanel-bottom"><!-- --></div> + </div> + <div id="padoptions"> + <div id="options-viewhead">Shared view options:</div> + <input type="checkbox" id="options-colorscheck" /> + <label for="options-colorscheck" id="options-colorslabel">Authorship colors</label> + <input type="checkbox" id="options-linenoscheck" /> + <label for="options-linenoscheck" id="options-linenoslabel">Line numbers</label> + <div id="options-fontlabel">Display font:</div> + <select id="viewfontmenu"><option value="normal">Normal</option><option value="monospace">Monospaced</option></select> + <div id="options-viewexplain">These options affect everyone's view of the pad.</div> + <a id="options-close" href="javascript:void(0)">Hide</a> + </div> + </div> + </div><!-- /options-wrapper --> +<% if (isProAccountHolder) { %> + <div id="security-wrapper" class="dbpanel-wrapper"> + <div id="security-panel" class="dbpanel-panel"> + <div class="dbpanel-leftedge"><!-- --></div> + <div class="dbpanel-rightedge"><!-- --></div> + <div class="dbpanel-botleftcorner"><!-- --></div> + <div class="dbpanel-botrightcorner"><!-- --></div> + <div class="dbpanel-middle"> + <div class="dbpanel-inner"> + <div class="dbpanel-top"><!-- --></div> + </div> + <div class="dbpanel-bottom"><!-- --></div> + </div> + <div id="padsecurity"> + <div id="security-access"> + <div id="security-accesshead">Pad Access:</div> + <input type="radio" name="padaccess" id="access-private" value="deny"/> + <label for="access-private" id="access-private-label"><strong>Private</strong> (Team account-holders only)</label> + <input type="radio" name="padaccess" id="access-public" value="allow"/> + <label for="access-public" id="access-public-label"><strong>Public</strong> (Allow Internet guests)</label> + </div> + <div id="security-password"> + <div id="security-passhead">Password:</div> + <div id="security-passbody"> + <div class="nopassword" id="password-nonedit"> + <div id="password-display">None</div> + <a href="javascript:void(0)" id="password-setlink">Set...</a> + <a href="javascript:void(0)" id="password-clearlink">Clear</a> + </div> + <div id="password-inedit"> + <a href="javascript:void(0)" id="password-savelink">Save</a> + <a href="javascript:void(0)" id="password-cancellink">Cancel</a> + <input type="text" id="security-passwordedit" maxlength="31" /> + </div> + </div> + </div> + <a id="security-close" href="javascript:void(0)">Hide</a> + </div> + </div> + </div><!-- /security-wrapper --> +<% } /* isProAccountHolder */ %> + </div><!-- /docbar --> +</div> + +<div id="padmain"> + <div id="padsidebar"> + <div id="padusers"> + <div id="connectionbox" class="cboxconnecting"> + <div id="connectionboxinner"> + <div class="connecting"> + Connecting... + </div> + <div class="reconnecting"> + Reestablishing connection... + </div> + <div class="disconnected"> + <h2 class="h2_disconnect">Disconnected.</h2> + <h2 class="h2_userdup">Opened in another window.</h2> + <h2 class="h2_unauth">No Authorization.</h2> + <div id="disconnected_looping"> + <p><b>We're having trouble talking to the EtherPad synchronization server.</b> + You may be connecting through an incompatible firewall or proxy server.</p> + </div> + <div id="disconnected_initsocketfail"> + <p><b>We were unable to connect to the EtherPad synchronization server.</b> + This may be due to an incompatibility with your web + browser or internet connection.</p> + </div> + <div id="disconnected_userdup"> + <p><b>You seem to have opened this pad in another browser window.</b> + If you'd like to use this window instead, you can reconnect.</p> + </div> + <div id="disconnected_unknown"> + <p><b>Lost connection with the EtherPad synchronization + server.</b> This may be due to a loss of network connectivity.</p> + </div> + <div id="disconnected_slowcommit"> + <p><b>Server not responding.</b> This may be due to network connectivity issues or high load on the server.</p> + </div> + <div id="disconnected_unauth"> + <p>Your browser's credentials or permissions have changed while viewing this pad. Try reconnecting.</p> + </div> + <div id="reconnect_advise"> + <p>If this continues to happen, please <a target="_blank" href="/ep/support">let us know</a> + (opens in new window).</p> + </div> + <div id="reconnect_form"> + <button id="forcereconnect">Reconnect Now</button> + </div> + </div> + </div> + </div> + + <div id="connectionstatus"> + <!-- --> + </div> + + <div id="myuser"> + <div id="mycolorpicker"> + <div class="pickerswatchouter n1"><div class="pickerswatch"><!-- --></div></div> + <div class="pickerswatchouter n2"><div class="pickerswatch"><!-- --></div></div> + <div class="pickerswatchouter n3"><div class="pickerswatch"><!-- --></div></div> + <div class="pickerswatchouter n4"><div class="pickerswatch"><!-- --></div></div> + <div class="pickerswatchouter n5"><div class="pickerswatch"><!-- --></div></div> + <div class="pickerswatchouter n6"><div class="pickerswatch"><!-- --></div></div> + <div class="pickerswatchouter n7"><div class="pickerswatch"><!-- --></div></div> + <div class="pickerswatchouter n8"><div class="pickerswatch"><!-- --></div></div> + <div id="mycolorpickersave">Save</div> + <div id="mycolorpickercancel">Cancel</div> + </div> + <div id="myswatchbox"><div id="myswatch"><!-- --></div></div> + <div id="myusernameform"><input type="text" id="myusernameedit" disabled="disabled" /></div> + <div id="mystatusform"><input type="text" id="mystatusedit" disabled="disabled" /></div> + </div> + <div id="otherusers"> + <div id="guestprompts"><!-- --></div> + <table id="otheruserstable" cellspacing="0" cellpadding="0" border="0"> + <tr><td></td></tr> + </table> + <div id="nootherusers"><a href="javascript:void(0)">Invite</a> other users and they will show up here.</div> + </div> + <div id="userlistbuttonarea"> + <a href="javascript:void(0)" id="sharebutton">Share</a> + </div> + </div> <!-- /padusers --> + + <div id="hdraggie"><!-- --></div> + + <div id="padchat"> +<!-- <div id="chattop"><a href="#">View chat logs...</a></div> --> + <div id="chatlines"> + <a href="javascript:void(0)" id="chatloadmore">Load more history...</a> + <div id="chatloadingmore">Loading history...</div> + </div> + <div id="chatbottom"> + <div id="chatprompt">Chat:</div> + <div id="chatentryform"><input type="text" id="chatentrybox"/></div> + </div> + </div> + </div> <!-- /padsidebar --> + + <div id="padeditor"> + <div id="editbar" class="disabledtoolbar"> + <% /* floated left */ %> + <div id="editbarleft"><!-- --></div> + <% /* floated right */ %> + <div id="editbarright"><!-- --></div> + <% /* non-floated */ %> + <div id="editbarinner"> + <a href="javascript:void (window.pad&&pad.editbarClick('bold'));" class="editbarbutton bold" title="Bold (ctrl-B)"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('italic'));" class="editbarbutton italic" title="Italics (ctrl-I)"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('underline'));" class="editbarbutton underline" title="Underline (ctrl-U)"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('strikethrough'));" class="editbarbutton strikethrough" title="Strikethrough"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('h1'));" class="editbarbutton h1" title="H1"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('h2'));" class="editbarbutton h2" title="H2"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('h3'));" class="editbarbutton h3" title="H3"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('h4'));" class="editbarbutton h4" title="H4"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('h5'));" class="editbarbutton h5" title="H5"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('h6'));" class="editbarbutton h6" title="H6"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('clearauthorship'));" class="editbarbutton clearauthorship" title="Clear Authorship Colors"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('undo'));" class="editbarbutton undo" title="Undo (ctrl-Z)"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('redo'));" class="editbarbutton redo" title="Redo (ctrl-Y)"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('insertunorderedlist'));" class="editbarbutton insertunorderedlist" title="Toggle Bullet List"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('indent'));" class="editbarbutton indent" title="Indent List"> </a> + <a href="javascript:void (window.pad&&pad.editbarClick('outdent'));" class="editbarbutton outdent" title="Unindent List"> </a> + <div id="syncstatussyncing" title="Syncing..."><!-- --></div> + <div id="syncstatusdone" title="Synced."><!-- --></div> + <a href="javascript:void (window.pad&&pad.editbarClick('save'));" class="editbarbutton save" title="Save Revision"> </a> + </div> + </div> + <div id="editorcontainerbox"> + <div id="editorloadingbox">Loading...</div> + <div id="editorcontainer"><!-- --></div> + </div> + </div><!-- /padeditor --> + + <div id="bottomarea"> + <div id="viewbarcontents"> + <div id="viewzoomtitle">Zoom:</div> + <select id="viewzoommenu"><option value="z85">85%</option><option value="z100">100%</option><option value="z115">115%</option><option value="z150">150%</option><option value="z200">200%</option><option value="z300">300%</option></select> + </div> + + <div id="widthprefcheck" + class="<%= (prefs.isFullWidth?'widthprefchecked':'widthprefunchecked') %>" + ><!-- --></div> + <div id="sidebarcheck" + class="<%= (prefs.hideSidebar?'sidebarunchecked':'sidebarchecked') %>" + ><!-- --></div> + </div> + +</div><!-- /padmain --> + +</div><!-- /padpage --> + +<div id="modaloverlay"><div id="modaloverlay-inner"><!-- --></div></div> +<div id="mainmodals"> + <div id="sharebox"> + <div id="sharebox-inner"> + <a href="javascript:void(0)" id="sharebox-hide"><!-- --></a> + <div id="sharebox-stripe" class="sharebox-stripe-private"> + <div class="public"> + <strong>Public Pad:</strong> This pad is accessible to anyone who + visits its URL. To make it private, <a href="javascript:void(0)" class="setsecurity">change security settings</a>. + </div> + <div class="private"> + <strong>Private Pad:</strong> This pad is only accessible to team account-holders. To allow anyone to access it, <a href="javascript:void(0)" class="setsecurity">change security settings</a>. + </div> + </div> + <div id="sharebox-forms"> + <div id="sharebox-pastelink">Paste link over email or IM:</div> + <div id="sharebox-orsend">or send an email invitation...</div> + <a href="javascript:void(0)" id="sharebox-send"><!-- --></a> + <input id="sharebox-url" type="text" readonly="readonly" value="<%=padUrlAttrValue%>"/> + <input type="text" id="sharebox-to" class="modalfield" /> + <input type="text" id="sharebox-subject" class="modalfield" /> + <textarea id="sharebox-message" rows="6" cols="40" class="modalfield"></textarea> + <div id="sharebox-fieldname-to">To</div> + <div id="sharebox-fieldname-subject">Subject</div> + <div id="sharebox-fieldname-message">Message</div> + <div id="sharebox-dislink"><!-- --></div> + </div> + <div id="sharebox-shownwhenexpanded"> + <div id="sharebox-response"><!-- --></div> + </div> + </div> + </div> +</div> + +<% if (request.params.djs) { %> + <div id="djs"><!-- --></div> +<% } %> + +<form id="reconnectform" + method="post" + action="/ep/pad/reconnect" + accept-charset="UTF-8" + style="display: none;"> + <input type="hidden" class="padId" name="padId" /> + <input type="hidden" class="diagnosticInfo" + name="diagnosticInfo" /> + <input type="hidden" class="missedChanges" name="missedChanges" /> +</form> diff --git a/trunk/etherpad/src/templates/pad/pad_content.ejs b/trunk/etherpad/src/templates/pad/pad_content.ejs new file mode 100644 index 0000000..4e25c7f --- /dev/null +++ b/trunk/etherpad/src/templates/pad/pad_content.ejs @@ -0,0 +1,297 @@ +<% /* 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 checkboxPref(name, label) { + var r = ['<div class="prefcheckbox" id="checkpref', name, '">']; + r.push('<table cellspacing="0" cellpadding="0" border="0">'); + r.push('<tr>'); + r.push('<td class="checkboxcell" valign="middle"><input type="checkbox" /></td>'); + r.push('<td class="labelcell" valign="middle">', label, '</td>'); + r.push('</tr>'); + r.push('</table>'); + r.push('</div>'); + return r.join(''); + } + + function exportOption(type, label, requiresOffice, url, title) { + url = url || '/ep/pad/export/'+padId+'/latest?format='+type; + var classes = [ "exportlink", "exporthref"+type ]; + if (requiresOffice && !hasOffice) { + classes.push("disabledexport"); + } else if (requiresOffice) { + classes.push("requiresoffice"); + } + var aStartArr = ['<a ']; + if (classes.length > 0) { + aStartArr.push(' class="'+classes.join(' ')+'"'); + } + aStartArr.push(' target="_blank" href="', url, '">'); + var aStart = aStartArr.join(''); + var r = ['<div class="exportlink" id="export', type, '"']; + if (title) { + r.push(' title="'+title+'"'); + } + r.push('>'); + r.push('<table cellspacing="0" cellpadding="0" border="0">'); + r.push('<tr>'); + r.push('<td class="exportpic" valign="middle">'); + r.push(aStart, '<img alt="" src="/static/img/may09/'+type+'.gif" />', '</a>'); + r.push('</td>'); + r.push('<td class="labelcell" valign="middle">'); + r.push(aStart, label, '</a>'); + if (title) { + r.push('<sup>?</sup>') + } + r.push('</td>'); + if (requiresOffice) { + r.push('<td class="exportspinner" '); + r.push('id="exportspinner', type, '"'); + r.push(' valign="middle"><img alt="" src="/static/img/misc/status-ball.gif" /></td>'); + } + r.push('</tr>'); + r.push('</table>'); + r.push('</div>'); + return r.join(''); + } +%> + +<div id="servermsg" class="topmsg hidden"> + <p><b>Server Notice (<span id="servermsgdate"></span>)</b></p> + <br/> + <a id="hidetopmsg" href="javascript: void pad.hideTopMsg('server')">hide</a> + <p id="servermsgtext"></p> +</div> + +<div id="bigtoperror_wrap" class="topmsg hidden"> + + <div class="bigtoperror" id="disconnected_looping"> + <p><b>We're having trouble establishing a connection with an + EtherPad synchronization server.</b> You may be connecting through an incompatible firewall or + proxy server.</p> + </div> + + <div class="bigtoperror" id="disconnected_userdup"> + <p><b>You seem to have opened this pad in another browser + window.</b> If you'd like to use this window + instead, you can reconnect.</p> + </div> + + <div class="bigtoperror" id="disconnected_slowcommit"> + <p><b>We're having difficulties talking to the EtherPad + synchronization server.</b> This may be due to network connectivity issues or high load on the server.</p> + </div> + + <div class="bigtoperror" id="disconnected_initsocketfail"> + <p><b>We were unable to establish the initial connection with + the EtherPad synchronization server.</b> This may be due to an incompatibility with your web + browser or internet connection.</p> + </div> + + <div class="bigtoperror" id="disconnected_unknown"> + <p><b>Lost connection with the EtherPad synchronization + server.</b> This may be due to a loss of network connectivity.</p> + </div> + + <div class="bigtoperror" id="reconnect_advise"> + <p>If this continues to happen, please <a target="_blank" href="/ep/support">let us know</a> + (opens in new window).</p> + </div> + + <div id="reconnect_form"> + <p><button class="forcereconnect">Reconnect + Now</button></p> + </div> + +</div> + +<div id="padtablediv"> +<table id="padtable" + border="0" cellspacing="0" cellpadding="0"> + <tr> + <td id="topbar"> + <div id="connectionstatus" + class="connecting">Connecting...</div> + <div id="topbarmsg"> </div> + <a class="showhide" id="showsidebar" href="javascript:void pad.showSideBar();"> + « show side bar + </a> + </td> + <td id="sidebartop"> + <a class="showhide" id="hidesidebar" href="javascript:void pad.hideSideBar();"> + hide » + </a> + </td> + </tr> + + <tr id="sizedcontent"> + <td id="editorcell" class="editorcell_loading" width="100%" valign="top"> + <div id="editorcellinner"> + <div id="loadingbox"> + Loading... + </div> + <div id="toptoolbar" class="disabledtoolbar"> + <a href="javascript:void pad.toolbarClick('bold');" class="toptoolbarbutton bold" title="Bold (ctrl-B)"> </a> + <a href="javascript:void pad.toolbarClick('italic');" class="toptoolbarbutton italic" title="Italics (ctrl-I)"> </a> + <a href="javascript:void pad.toolbarClick('underline');" class="toptoolbarbutton underline" title="Underline (ctrl-U)"> </a> + <a href="javascript:void pad.toolbarClick('undo');" class="toptoolbarbutton undo" title="Undo (ctrl-Z)"> </a> + <a href="javascript:void pad.toolbarClick('redo');" class="toptoolbarbutton redo" title="Redo (ctrl-Y)"> </a> + <form id="padtitle" action="/"><input type="text" id="padtitleedit"/><span class="padtitlepad">Pad:</span> <span id="padtitletitle"> </span> <span class="editlink">(<a href="javascript:void pad.editTitle();">rename</a>)</span><span class="oklink"><a href="javascript:void pad.submitTitle(true);">OK</a></span></form> + <a href="javascript:void pad.passwordClick();" id="passwordlock" title="" class="passwordhidden"> </a> + </div> + <div id="editorcontainer"><!-- --></div> + <div id="bottoolbar" class="disabledtoolbar"> + <div id="viewzoom">View Zoom: <select id="viewzoommenu"><option value="z85">85%</option><option value="z100">100%</option><option value="z115">115%</option><option value="z150">150%</option><option value="z200">200%</option><option value="z300">300%</option></select></div> + <div id="viewfont">View Font: <select id="viewfontmenu"><option value="normal">Normal</option><option value="code">Code</option></select></div> + </div> + </div> + </td> + <td id="sidebarcell" valign="top"> + <div id="sidebar" class="sidebar_loading"> + <div id="headuserlistwrap" class="sideheadwrap sh_uncollapsed"><p class="sidehead">Connected Users</p></div> + <div id="userlistwrap" class="sidebox"> + <div id="userlist"><!-- setbyjs --></div> + <div id="invitemore"> + <a class="small_link" id="invitemorelink" href="javascript:void pad.invitemoreShow();">invite more people...</a> + <div id="inviteinstructions" style="display:none;"> + <p>To invite someone to this pad, just copy and paste them the URL to this page.</p> + <p id="emailinviteleadin">Or we can send them an invitation for you:</p> + <p> + Email: <input id="invite_email" type="text" name="email" value="" /> + <input type="submit" id="invite_email_submit" value="Send" /> + </p> + <p id="invite_email_status"><!-- --></p> + <p id="hideinstructions"><a class="small_link" href="javascript:void pad.invitemoreHide();">hide</a></p> + </div> + </div> + </div> + <div id="headchatbox" class="sideheadwrap sh_collapsed"><p id="chatheadname" class="sidehead">Chat</p></div> + <div class="sidebox hidden" id="chatbox"> + <div id="chatmessages"><!-- --></div> + <div> + <table id="chatsaytable" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td width="5" valign="middle">Say:</td> + <td><input type="text" id="chatinput" /></td> + </tr> + </table> + </div> + </div> + <div id="headimportexport" class="sideheadwrap sh_collapsed"><p class="sidehead">Import/Export</p></div> + <div class="sidebox hidden" id="importexport"> + <div id="exportsection"> + <p id="headexport"><strong>Download</strong> as:</p> + <table> + <tr> + <td class="firsttd"><%= exportOption('html', 'HTML', false) %></td> + </tr> + <tr> + <td class="firsttd"><%= exportOption('txt', 'Plain text', false) %></td> + </tr> + <tr> + <td class="firsttd"><%= exportOption('link', 'Bookmark file', false, + '/ep/pad/linkfile?padId='+padId, + 'This will save a file that, when opened, takes you to this pad.') %></td> + </tr> + </table> + <div id="exportmessage"></div> + </div> + <div id="importsection"> + <p id="headimport"><strong>Import</strong> text from file:</p> + <form id="importform" method="post" action="/ep/pad/impexp/import" target="importiframe" enctype="multipart/form-data"> + <div class="importformdiv" id="importformfilediv"> + <input type="file" name="file" size="20" id="importfileinput" /> + <div class="importmessage" id="importmessagefail"></div> + </div> + <div class="importmessage" id="importmessagesuccess"></div> + <div class="importformdiv" id="importformsubmitdiv"> + <input type="hidden" name="padId" value="<%= encodeURIComponent(padId) %>" /> + <span class="nowrap"> + <input type="submit" name="submit" value="Import Now" disabled="disabled" id="importsubmitinput" /> + <img alt="" id="importstatusball" src="/static/img/misc/status-ball.gif" align="bottom" /> + <img alt="" id="importarrow" src="/static/img/may09/leftarrow.gif" align="bottom" /> + </span> + </div> + </form> + </div> + </div> + <div id="headrevisions" class="sideheadwrap sh_collapsed"><p class="sidehead">Saved Revisions</p></div> + <div class="sidebox hidden" id="revisions"> + <div id="nosaveprivs"> + Sorry, you have exceeded the maximum allowable + number of saved revisions. + </div> + <input id="savenow" type="submit" value="Save Now" /> + <div id="revisionlist"> + </div> + </div> + <div id="headprefs" class="sideheadwrap sh_collapsed"><p class="sidehead">Options</p></div> + <div class="sidebox hidden" id="prefs"> + <%= checkboxPref("showcolors", "Highlight who typed what.") %> + <%= checkboxPref("wrap", "Wrap long lines.") %> + <%= checkboxPref("linenums", "Show line numbers.") %> + <%= checkboxPref("fullwidth", "Use full window width.") %> + <%= checkboxPref("jshighlight", "Highlight JavaScript syntax.") %> + </div> + <div id="headfeedback" class="sideheadwrap sh_collapsed"><p class="sidehead">Feedback</p></div> + <div class="sidebox hidden sidebox_last" id="feedback"> + <div id="feedbackbox"> + <p style="text-align: center;">Tell us what you + think of EtherPad!<br/>(Include your email if you want a response)</p> + <div id="formbox"> + <textarea rows="5" cols="10" id="feedbackarea" name="feedbackarea"></textarea> + <input id="feedbacksubmit" type="submit" + value="Send to EtherPad Team" /> + </div> + </div> + <div id="feedbackresult"> + <p>Thanks for the feedback! Keep it coming.</p> + <p>You can also send feedback by email to + <span id="feedbackemail" + style="white-space: nowrap;">feedback@e***rp**d.com</span> to receive a personal + response.</p> + </div> + </div> + </div> + </td> + </tr> +</table> +</div><!-- #padtablediv --> + +<div style="clear: both;"><!-- --></div> + +<% if (request.params.djs) { %> + <div id="djs"> </div> +<% } %> + +<div id="appjetfooter"> + Powered by <a target="_blank" href="/ep/about/appjet">AppJet</a> + <img id="plane" src="/static/img/tinyplane.gif" alt="AppJet" /> +</div><!-- /appjetfooter --> + +<form id="reconnect" + method="post" + action="/ep/pad/reconnect" + accept-charset="UTF-8" + style="display: none;"> + <input type="hidden" id="padId" name="padId" /> + <input type="hidden" id="diagnosticInfo" + name="diagnosticInfo" /> + <input type="hidden" id="missedChanges" name="missedChanges" /> +</form> + +<form id="newpad" + name="newpad" + action="/ep/pad/newpad" + target="_blank" + style="display: none;"> +</form> diff --git a/trunk/etherpad/src/templates/pad/pad_download_link.ejs b/trunk/etherpad/src/templates/pad/pad_download_link.ejs new file mode 100644 index 0000000..e05d7d0 --- /dev/null +++ b/trunk/etherpad/src/templates/pad/pad_download_link.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. */ %><% + +var host = request.host; +helpers.addToHead('<meta http-equiv="refresh" content="0;url=http://'+host+'/'+padId+'" />'); + +%> + +<div id="refreshpage"> + <h1>Etherpad</h1> + + <p>This pad document, <a href="http://<%= host %>/<%= padId %>"><%= padId %></a>, is stored on <a href="http://<%= host %>"><%= host %></a>. Please click the link below to access this pad.</p> + + <a style="size: 200%; text-align: center;" href="http://<%= host %>/<%= padId %>">http://<%= host %>/<%= padId %></a> + +</div>
\ No newline at end of file diff --git a/trunk/etherpad/src/templates/pad/pad_iphone_body.ejs b/trunk/etherpad/src/templates/pad/pad_iphone_body.ejs new file mode 100644 index 0000000..96279ce --- /dev/null +++ b/trunk/etherpad/src/templates/pad/pad_iphone_body.ejs @@ -0,0 +1,29 @@ +<% /* 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 style="font-size: 4em; font-family: sans-serif; text-align: center;"> + + <p>EtherPad is not yet fully-functional on the iPhone.</p> + + <a style="display: block; padding: 1em; border: 3px solid #333; background: #ddd; margin: 1em; -webkit-border-radius: 1em;" + href="/ep/pad/view/<%= padId %>/latest"> + View Read-Only + </a> + + <a style="display: block; padding: 1em; border: 3px solid #333; background: #ddd; margin: 1em; -webkit-border-radius: 1em;" + href="/<%= padId %>?skipIphoneCheck=1"> + Proceed to Editor<br/> + <span style="font-size: .6em;">(may not be fully-functional)</span> + </a> + +</div> diff --git a/trunk/etherpad/src/templates/pad/padfull_body.ejs b/trunk/etherpad/src/templates/pad/padfull_body.ejs new file mode 100644 index 0000000..5f85b4e --- /dev/null +++ b/trunk/etherpad/src/templates/pad/padfull_body.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. */ %><div id="padfullpage" class="fpcontent"> + +<h1>Pad is Full!</h1> + +<div id="msg"> + +<div id="padurlwrap"> +<p><tt id="padurl">http://<%= request.host %>/<%= padId %></tt></p> +</div> + +<p>Sorry, only <%= maxUsersPerPad %> people are allowed to edit a +single pad at the same time in the free version of EtherPad.</p> + +<p>Please see our <a href="http://pad.spline.inf.fu-berlin.de/ep/about/pricing">pricing plans</a> for +information about having more than <%= maxUsersPerPad %> +collaborators.</p> + +</div> + +</div> diff --git a/trunk/etherpad/src/templates/pad/padslider_body.ejs b/trunk/etherpad/src/templates/pad/padslider_body.ejs new file mode 100644 index 0000000..51a9e84 --- /dev/null +++ b/trunk/etherpad/src/templates/pad/padslider_body.ejs @@ -0,0 +1,41 @@ +<% /* 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(toHTML("Time Slider")); + helpers.setBodyId("padsliderbody"); + helpers.includeCss("etherpad.css"); + //helpers.includeCss("jqueryui/theme/ui.all.css"); + helpers.setRobotsPolicy({index: false, follow: false}); + helpers.includeJQuery(); + //helpers.includeJs("jquery-ui-slider-1.5.3.js"); + helpers.includeJs("json2.js"); + helpers.includeJs("timeslider.js"); + + function dfmt(t) { + var d = new Date(t); + return d.toString(); + } +%> + +<!-- <div id="sliderui"></div> --> +<p>Powered by <a href="/">EtherPad</a>.</p><br /> +<div id="controls"> +<a href="<%= request.url %>#" class="prev">prev</a> / +<a href="<%= request.url %>#" class="next">next</a> +<a href="<%= request.url %>#" class="play">play</a> / +<a href="<%= request.url %>#" class="stop">stop</a> +seek to #<input class="entry" type="text" size="6"/> +<div id="currevdisplay"><span class="min">0</span> --- <span class="cur">0</span> --- <span class="max">0</span></div> +</div> + +<div id="stuff">Loading...</div> diff --git a/trunk/etherpad/src/templates/pad/padview_body.ejs b/trunk/etherpad/src/templates/pad/padview_body.ejs new file mode 100644 index 0000000..e18ff12 --- /dev/null +++ b/trunk/etherpad/src/templates/pad/padview_body.ejs @@ -0,0 +1,141 @@ +<% /* 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.addBodyClass(bodyClass); + helpers.setHtmlTitle(toHTML(padId + " / " + rlabel)); + helpers.setBodyId("padviewbody"); + helpers.includeCss("broadcast.css"); + helpers.setRobotsPolicy({index: false, follow: false}) + helpers.includeJQuery(); + helpers.includeCometJs(); + helpers.includeJs("json2.js"); + helpers.includeJs("pad_utils.js"); + helpers.includeJs("broadcast_slider.js"); + helpers.includeJs("broadcast_revisions.js"); + helpers.includeJs("easysync2_client.js"); + helpers.includeJs("domline_client.js"); + helpers.includeJs("linestylefilter_client.js"); + helpers.includeJs("cssmanager_client.js"); + helpers.includeJs("broadcast.js"); + helpers.addToHead('\n<style type="text/css" title="dynamicsyntax"></style>\n'); + + function dfmt(t) { + var d = new Date(t); + return d.toString(); + } + + function exportOption(type, label, requiresOffice, url, title) { + url = url || '/ep/pad/export/'+padId+'/'+revisionId+'?format='+type; + var aStart = + ['<a', + (requiresOffice && ! hasOffice ? ' class="disabledexport"' : ' href="'+url+'"'), + '>'].join(''); + var r = ['<div class="exportlink" id="export', type, '"']; + if (title) { + r.push(' title="'+title+'"'); + } + r.push('>'); + r.push('<table cellspacing="0" cellpadding="0" border="0">'); + r.push('<tr>'); + r.push('<td class="exportpic" valign="middle">'); + r.push(aStart, '<img src="/static/img/may09/'+type+'.gif" />', '</a>'); + r.push('<td class="labelcell" valign="middle">'); + r.push(aStart, label, '</a>'); + if (title) { + r.push('<sup>?</sup>') + } + r.push('</td>'); + r.push('</tr>'); + r.push('</table>'); + r.push('</div>'); + return r.join(''); + } +%> + +<div id="padpage"> +<div id="topbar" style="margin: 7px; margin-top: 0px;"> + <div id="topbarleft"><!-- --></div> + <div id="topbarright"><!-- --></div> + <div id="topbarcenter"> + <a href="/" id="topbaretherpad">EtherPad</a> + </div> +<% if (isProAccountHolder) { %> + <div id="accountnav"><%= toHTML(account.email) %> + <a href="/ep/account/sign-out">(sign out)</a> + </div> +<% } else if (isPro) { %> + <div id="accountnav"> + <a href="<%= signinUrl %>">sign in</a> + </div> +<% } %> +</div> + +<div id="timeslider-wrapper"> +<div id="error" style="display: none">It looks like you're having connection troubles. <a href="/ep/pad/view/<%= padId %>/latest">Reconnect now</a>.</div> +<div id="timeslider" unselectable="on" style="display: none"> + <div id="timeslider-left"></div> + <div id="timeslider-right"></div> + <div id="timer"><%= dateFormat %></div> + <div id="timeslider-slider"> + <div id="ui-slider-handle"> + + </div> + <div id="ui-slider-bar"> + + </div> + </div> + <div id="playpause_button"> + <div id="playpause_button_icon" class=""></div> + </div> + <div id="steppers"> + <div class="stepper" id="leftstar"></div> + <div class="stepper" id="rightstar"></div> + <div class="stepper" id="leftstep"></div> + <div class="stepper" id="rightstep"></div> + </div> +</div> +</div> +<div id="rightbars"> +<div id="rightbar"><a id="viewlatest" href="/ep/pad/view/<%= padId %>/latest"> +<% if (revisionId != "latest") { %>View latest content<% } else { %>Viewing latest content<% } %></a><br> +<a class="tlink" href="/ep/pad/view/<%= padId %>/<%= revisionId %>" thref="/ep/pad/view/<%= padId %>/rev.%revision%">Link to this version</a> +<% if (readOnly === false) { %><br><a class="tlink" href="/ep/pad/view/<%= roPadId %>/<%= revisionId %>" thref="/ep/pad/view/<%= roPadId %>/rev.%revision%">Link to read-only page</a><br><a href="/<%= padId %>">Edit this pad</a><% } %> +<h2>Download as</h2> +<img src="/static/img/may09/html.gif"><a class="tlink" href="/ep/pad/export/<%= padId %>/<%= revisionId %>?format=html" thref="/ep/pad/export/<%= padId %>/rev.%revision%?format=html">HTML</a><br> +<img src="/static/img/may09/txt.gif" ><a class="tlink" href="/ep/pad/export/<%= padId %>/<%= revisionId %>?format=html" thref="/ep/pad/export/<%= padId %>/rev.%revision%?format=txt" >Plain text</a><br> + + +</div> +<div id="legend"> +<h2>Authors</h2> +<table id="authorstable" border="0" cellspacing="0" cellpadding="0"> + +</table> +</div> + +</div> +<div id="padmain" + <% if (request.userAgent.isIPhone()) { %> style="font-size: 3em;" <% } %> +> +<div id="titlebar"><h1><%= padTitle %></h1><div id="revision"><span id="revision_label"><%= rlabel %></span><br><span id="revision_date"> +Saved +<%= ["Jan", "Feb", "March", "April", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"][new Date(savedWhen).getMonth()] %> +<%= new Date(savedWhen).getDate() %>, +<%= new Date(savedWhen).getFullYear() %> +</span></div></div> + <div id="padcontent" + <% if (request.userAgent.isIPhone()) { %> style="font-size: 1.3em;" <% } %> + > +<%= padHTML %></div> +</div> +</div> diff --git a/trunk/etherpad/src/templates/pad/total_users_exceeded.ejs b/trunk/etherpad/src/templates/pad/total_users_exceeded.ejs new file mode 100644 index 0000000..7ac7e1b --- /dev/null +++ b/trunk/etherpad/src/templates/pad/total_users_exceeded.ejs @@ -0,0 +1,29 @@ +<% /* 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 class="fpcontent" + style="font-family: Verdana, sans-serif; margin-top: 2em; border: 1px solid #ccc; padding: 1em; background: #eee;"> + + <h1>EtherPad Server Is Full</h1> + + <p>Sorry, this EtherPad server is only licensed to service + <%= userQuota %> active users + within a <%= activeUserWindowHours %>-hour period, + and that quota is currently full.</p> + + <p>Please contact your server administrator and ask him or her to + purchase a license with additional users.</p> + + <a href="/">« Home</a> + +</div> + |