aboutsummaryrefslogtreecommitdiffstats
path: root/etherpad
diff options
context:
space:
mode:
authorEgil Moeller <egil.moller@freecode.no>2010-04-10 23:15:43 +0200
committerEgil Moeller <egil.moller@freecode.no>2010-04-10 23:15:43 +0200
commit631235e269a0e913207cf17f38855eb156e21f75 (patch)
tree5c39ca8039c95788e7de71abb699febbfb4a7931 /etherpad
parentf49fc5640ddcdd9c72ae1e95729fb44073dbb595 (diff)
downloadetherpad-631235e269a0e913207cf17f38855eb156e21f75.tar.gz
etherpad-631235e269a0e913207cf17f38855eb156e21f75.tar.xz
etherpad-631235e269a0e913207cf17f38855eb156e21f75.zip
Generalized the page.ejs a bit more so that it can be used by all pages for real
Diffstat (limited to 'etherpad')
-rw-r--r--etherpad/src/etherpad/control/pad/pad_control.js34
-rw-r--r--etherpad/src/etherpad/helpers.js4
-rw-r--r--etherpad/src/etherpad/pad/padutils.js37
-rw-r--r--etherpad/src/themes/default/templates/pad/pad_body2.ejs10
-rw-r--r--etherpad/src/themes/default/templates/page.ejs8
5 files changed, 55 insertions, 38 deletions
diff --git a/etherpad/src/etherpad/control/pad/pad_control.js b/etherpad/src/etherpad/control/pad/pad_control.js
index 3d32355..2a6a1be 100644
--- a/etherpad/src/etherpad/control/pad/pad_control.js
+++ b/etherpad/src/etherpad/control/pad/pad_control.js
@@ -331,15 +331,6 @@ function render_pad(localPadId) {
var specialKey = request.params.specialKey ||
(sessions.isAnEtherpadAdmin() ? collab_server.getSpecialKey('invisible') :
null);
- if (request.params.fullScreen) { // tokbox, embedding
- opts.fullScreen = true;
- }
- if (request.params.tokbox) {
- opts.tokbox = true;
- }
- if (request.params.sidebar) {
- opts.sidebar = Boolean(Number(request.params.sidebar));
- }
helpers.addClientVars({
padId: localPadId,
@@ -365,34 +356,17 @@ function render_pad(localPadId) {
userColor: assignColorId(pad, userId),
specialKey: specialKey,
specialKeyTranslation: collab_server.translateSpecialKey(specialKey),
- opts: opts
});
});
var isProUser = (isPro && ! padusers.isGuest(userId));
- var isFullWidth = false;
- var hideSidebar = false;
- var cookiePrefs = padutils.getPrefsCookieData();
- if (cookiePrefs) {
- isFullWidth = !! cookiePrefs.fullWidth;
- hideSidebar = !! cookiePrefs.hideSidebar;
- }
- if (opts.fullScreen) {
- isFullWidth = true;
- if (opts.tokbox) {
- hideSidebar = true;
- }
- }
- if ('sidebar' in opts) {
- hideSidebar = ! opts.sidebar;
- }
- var bodyClass = (isFullWidth ? "fullwidth" : "limwidth")+
+ padutils.setOptsAndCookiePrefs(request);
+ var prefs = helpers.getClientVar('cookiePrefsToSet');
+ var bodyClass = (prefs.isFullWidth ? "fullwidth" : "limwidth") +
" "+(isPro ? "propad" : "nonpropad")+" "+
(isProUser ? "prouser" : "nonprouser");
- var cookiePrefsToSet = {fullWidth:isFullWidth, hideSidebar:hideSidebar};
- helpers.addClientVars({cookiePrefsToSet: cookiePrefsToSet});
renderHtml("pad/pad_body2.ejs",
{localPadId:localPadId,
@@ -404,7 +378,7 @@ function render_pad(localPadId) {
isProAccountHolder: isProUser,
account: getSessionProAccount(), // may be falsy
toHTML: toHTML,
- prefs: {isFullWidth:isFullWidth, hideSidebar:hideSidebar},
+ prefs: prefs,
signinUrl: '/ep/account/sign-in?cont='+
encodeURIComponent(request.url),
fullSuperdomain: pro_utils.getFullSuperdomainHost()
diff --git a/etherpad/src/etherpad/helpers.js b/etherpad/src/etherpad/helpers.js
index e16c2f7..aec3bc3 100644
--- a/etherpad/src/etherpad/helpers.js
+++ b/etherpad/src/etherpad/helpers.js
@@ -77,6 +77,10 @@ function addClientVars(vars) {
});
}
+function getClientVar(name) {
+ return _hd().clientVars[name];
+}
+
function addToHead(stuff) {
_hd().headExtra += stuff;
}
diff --git a/etherpad/src/etherpad/pad/padutils.js b/etherpad/src/etherpad/pad/padutils.js
index 2fdf579..dc4c9ab 100644
--- a/etherpad/src/etherpad/pad/padutils.js
+++ b/etherpad/src/etherpad/pad/padutils.js
@@ -25,6 +25,7 @@ import("etherpad.pro.pro_accounts");
import("etherpad.pro.pro_padmeta");
import("etherpad.pad.model");
import("etherpad.sessions.getSession");
+import("etherpad.helpers");
jimport("java.lang.System.out.println");
@@ -152,3 +153,39 @@ function getProDisplayTitle(localPadId, title) {
}
}
+
+function setOptsAndCookiePrefs(request) {
+ opts = {};
+ if (request.params.fullScreen) { // tokbox, embedding
+ opts.fullScreen = true;
+ }
+ if (request.params.tokbox) {
+ opts.tokbox = true;
+ }
+ if (request.params.sidebar) {
+ opts.sidebar = Boolean(Number(request.params.sidebar));
+ }
+ helpers.addClientVars({opts: opts});
+
+
+ var prefs = getPrefsCookieData();
+
+ var prefsToSet = {
+ fullWidth:false,
+ hideSidebar:false
+ };
+ if (prefs) {
+ prefsToSet.isFullWidth = !! prefs.fullWidth;
+ prefsToSet.hideSidebar = !! prefs.hideSidebar;
+ }
+ if (opts.fullScreen) {
+ prefsToSet.isFullWidth = true;
+ if (opts.tokbox) {
+ prefsToSet.hideSidebar = true;
+ }
+ }
+ if ('sidebar' in opts) {
+ prefsToSet.hideSidebar = ! opts.sidebar;
+ }
+ helpers.addClientVars({cookiePrefsToSet: prefsToSet});
+}
diff --git a/etherpad/src/themes/default/templates/pad/pad_body2.ejs b/etherpad/src/themes/default/templates/pad/pad_body2.ejs
index a19e685..5c886fb 100644
--- a/etherpad/src/themes/default/templates/pad/pad_body2.ejs
+++ b/etherpad/src/themes/default/templates/pad/pad_body2.ejs
@@ -14,9 +14,9 @@ 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. */ %>
-<% template.inherit('page.ejs') %>
-
<%
+ template.inherit('page.ejs');
+
helpers.setHtmlTitle("EtherPad: "+pageTitle);
helpers.includeJs("ace.js");
helpers.includeJs("collab_client.js");
@@ -54,6 +54,11 @@ limitations under the License. */ %>
%>
+<% template.define('docBarTitle', function() { var ejs_data=''; %>
+ <td id="docbarpadtitle"><span><%= initialTitle %></span></td>
+<% return ejs_data; }); %>
+
+
<% template.define('docBarTitleEditor', function() { var ejs_data=''; %>
<% if (isProAccountHolder) { %>
<div id="docbarrenamelink">
@@ -69,6 +74,7 @@ limitations under the License. */ %>
<% template.define('docBarItems', function() { var ejs_data=''; %>
+ <%: plugins.callHookStr('docbarItemsPad', {}, '', '<td class="docbarbutton">', '</td>'); %>
<% if (isProAccountHolder) { %>
<td id="docbarsecurity-outer" class="docbarbutton">
<a href="javascript:void(0)" id="docbarsecurity">
diff --git a/etherpad/src/themes/default/templates/page.ejs b/etherpad/src/themes/default/templates/page.ejs
index 7dd36ad..f28a75d 100644
--- a/etherpad/src/themes/default/templates/page.ejs
+++ b/etherpad/src/themes/default/templates/page.ejs
@@ -70,16 +70,12 @@ limitations under the License. */ %>
</div>
<div id="docbar">
- <%: template.use('docBarTitle'); %>
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="docbartable">
<tr>
<td><img src="/static/img/jun09/pad/roundcorner_left.gif"></td>
- <td id="docbarpadtitle"><span><%= initialTitle %></span></td>
+ <%: template.use('docBarTitle'); %>
<td width="100%">&nbsp;</td>
- <%
- plugins.callHookStr('docbarItemsAll', {}, '', '<td class="docbarbutton">', '</td>');
- plugins.callHookStr('docbarItemsPad', {}, '', '<td class="docbarbutton">', '</td>');
- %>
+ <%: plugins.callHookStr('docbarItemsAll', {}, '', '<td class="docbarbutton">', '</td>'); %>
<%: template.use('docBarItems'); %>
<td><img src="/static/img/jun09/pad/roundcorner_right_orange.gif"></td>
</tr>