Merge branch 'develop' of https://github.com/Pita/etherpad-lite into develop

This commit is contained in:
johnyma22 2012-05-19 13:42:29 +01:00
commit bd30045d44
12 changed files with 171 additions and 125 deletions

View file

@ -431,7 +431,7 @@ exports.setPassword = function(padID, password, callback)
if(ERR(err, callback)) return;
//set the password
pad.setPassword(password);
pad.setPassword(password == "" ? null : password);
callback();
});

View file

@ -73,6 +73,9 @@ CachingMiddleware.prototype = new function () {
var _headers = {};
old_res.setHeader = res.setHeader;
res.setHeader = function (key, value) {
// Don't set cookies, see issue #707
if (key.toLowerCase() === 'set-cookie') return;
_headers[key.toLowerCase()] = value;
old_res.setHeader.call(res, key, value);
};

View file

@ -1,12 +1,7 @@
{
"pad.js": [
"jquery.js"
, "underscore.js"
, "security.js"
, "pad.js"
, "ace2_common.js"
"pad.js"
, "pad_utils.js"
, "json2.js"
, "pad_cookie.js"
, "pad_editor.js"
, "pad_editbar.js"
@ -23,13 +18,9 @@
, "farbtastic.js"
]
, "timeslider.js": [
"jquery.js"
, "underscore.js"
, "security.js"
, "json2.js"
"timeslider.js"
, "colorutils.js"
, "draggable.js"
, "ace2_common.js"
, "pad_utils.js"
, "pad_cookie.js"
, "pad_editor.js"
@ -46,12 +37,10 @@
, "broadcast.js"
, "broadcast_slider.js"
, "broadcast_revisions.js"
, "timeslider.js"
]
, "ace2_inner.js": [
"ace2_common.js"
"ace2_inner.js"
, "underscore.js"
, "rjquery.js"
, "AttributePool.js"
, "Changeset.js"
, "ChangesetUtils.js"
@ -66,6 +55,17 @@
, "linestylefilter.js"
, "domline.js"
, "AttributeManager.js"
, "ace2_inner.js"
]
, "ace2_common.js": [
"ace2_common.js"
, "jquery.js"
, "rjquery.js"
, "underscore.js"
, "security.js"
, "json2.js"
, "pluginfw/plugins.js"
, "pluginfw/hooks.js"
, "pluginfw/async.js"
, "pluginfw/parent_require.js"
]
}

View file

@ -10,7 +10,7 @@
"name": "Robin Buse" }
],
"dependencies" : {
"yajsml" : "1.1.2",
"yajsml" : "1.1.3",
"request" : "2.9.100",
"require-kernel" : "1.0.5",
"resolve" : "0.2.1",

View file

@ -64,34 +64,17 @@ a img {
height: 32px;
}
.toolbar ul li {
background: #fff;
background: -webkit-linear-gradient(#fff, #f0f0f0);
background: -moz-linear-gradient(#fff, #f0f0f0);
background: -o-linear-gradient(#fff, #f0f0f0);
background: -ms-linear-gradient(#fff, #f0f0f0);
background: linear-gradient(#fff, #f0f0f0);
border: 1px solid #ccc;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
cursor: pointer;
float: left;
height: 18px;
margin-left: 2px;
overflow: hidden;
padding: 4px 5px;
width: 18px;
}
.toolbar ul li a {
.toolbar ul li a:hover {
text-decoration: none;
color: #ccc;
position: absolute;
}
.toolbar ul li a span {
position: relative;
top: -2px;
}
.toolbar ul li:hover {
.toolbar ul li a:hover {
background: #fff;
background: -webkit-linear-gradient(#f4f4f4, #e4e4e4);
background: -moz-linear-gradient(#f4f4f4, #e4e4e4);
@ -99,7 +82,7 @@ a img {
background: -ms-linear-gradient(#f4f4f4, #e4e4e4);
background: linear-gradient(#f4f4f4, #e4e4e4);
}
.toolbar ul li:active {
.toolbar ul li a:active {
background: #eee;
background: -webkit-linear-gradient(#ddd, #fff);
background: -moz-linear-gradient(#ddd, #fff);
@ -115,12 +98,30 @@ a img {
background: inherit;
visibility: hidden;
width: 0px;
padding: 5px;
}
.toolbar ul li a {
display: block
background: #fff;
background: -webkit-linear-gradient(#fff, #f0f0f0);
background: -moz-linear-gradient(#fff, #f0f0f0);
background: -o-linear-gradient(#fff, #f0f0f0);
background: -ms-linear-gradient(#fff, #f0f0f0);
background: linear-gradient(#fff, #f0f0f0);
border: 1px solid #ccc;
border-radius: 4px;
color: #ccc;
cursor: pointer;
display: inline-block;
min-height: 18px;
overflow: hidden;
padding: 4px 5px;
text-align: center;
text-decoration: none;
min-width: 18px;
}
.toolbar ul li a img {
padding: 1px
.toolbar ul li a .buttonicon {
position: relative;
top: 1px;
}
.toolbar ul {
float: left
@ -428,6 +429,7 @@ a#hidetopmsg {
top: 0;
width: 56px;
z-index: 10;
display: inline-block;
}
.toolbarsavetable {
position: absolute;
@ -1214,8 +1216,8 @@ ul#colorpickerswatches li:hover {
height: 16px;
background-image: url('../../static/img/etherpad_lite_icons.png');
background-repeat: no-repeat;
margin-left: 1px;
margin-top: 1px;
display: inline-block;
vertical-align: middle;
}
.buttonicon-bold {
background-position: 0px -116px
@ -1264,20 +1266,13 @@ ul#colorpickerswatches li:hover {
}
.buttonicon-chat {
background-position: 0px -102px;
display: inline-block;
vertical-align: middle;
margin: 0 !important;
}
.buttonicon-showusers {
background-position: 0px -183px;
display: inline-block;
}
.buttonicon-savedRevision {
background-position: 0px -493px
}
#usericon {
width: 33px !important
}
#focusprotector {
z-index: 100;
position: absolute;
@ -1293,9 +1288,6 @@ ul#colorpickerswatches li:hover {
}
#online_count {
color: #888;
font-size: 11px;
line-height: 18px;
position: fixed;
}
.rtl {
direction: RTL
@ -1399,13 +1391,16 @@ input[type=checkbox] {
}
}
@media screen and (max-width: 600px) {
.toolbar ul li {
.toolbar ul li.separator {
padding: 1px;
}
.toolbar ul li a {
padding: 4px 1px
}
}
@media only screen and (min-device-width: 320px) and (max-device-width: 720px) {
.toolbar ul li {
padding: 4px 3px
.toolbar ul li a {
padding: 4px 5px;
}
#users {
right: 0;
@ -1436,15 +1431,6 @@ input[type=checkbox] {
bottom: 0;
border-top: 1px solid #ccc;
}
.toolbar ul.menu_right li:last-child {
height: 24px;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
margin-top: 0;
border: 0;
float: right;
}
#chaticon {
bottom: 3px;
right: 55px;
@ -1466,19 +1452,27 @@ input[type=checkbox] {
border-top-right-radius: 0;
border-right: none;
}
.toolbar ul li a span {
top: -3px
}
#usericonback {
margin-top: 4px
}
.toolbar ul.menu_right li:not(:last-child) {
display: block
.toolbar ul.menu_right > li:last-child {
float: right;
}
.toolbar ul.menu_right > li:not(:last-child) a {
display: block;
}
.toolbar ul.menu_right > li {
background: none;
padding: 0;
}
.toolbar ul.menu_right > li a {
height: 24px;
line-height: 24px;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
border: none;
margin-top: 4px;
background: none;
margin: 0;
padding: 4px 8px;
}
.selected {

View file

@ -178,18 +178,17 @@ require.setGlobalKeyPath("require");\n\
function pushScriptsTo(buffer) {
/* Folling is for packaging regular expression. */
/* $$INCLUDE_JS("../javascripts/src/ace2_inner.js?callback=require.define"); */
/* $$INCLUDE_JS("../javascripts/src/ace2_common.js?callback=require.define"); */
var ACE_SOURCE = '../javascripts/src/ace2_inner.js?callback=require.define';
var ACE_COMMON = '../javascripts/src/ace2_common.js?callback=require.define';
if (Ace2Editor.EMBEDED && Ace2Editor.EMBEDED[ACE_SOURCE]) {
buffer.push('<script type="text/javascript">');
buffer.push(Ace2Editor.EMBEDED[ACE_SOURCE]);
buffer.push('require("ep_etherpad-lite/static/js/ace2_inner");');
buffer.push(Ace2Editor.EMBEDED[ACE_COMMON]);
buffer.push('<\/script>');
} else {
file = ACE_SOURCE;
buffer.push('<script type="application/javascript" src="' + ACE_SOURCE + '"><\/script>');
buffer.push('<script type="text/javascript">');
buffer.push('require("ep_etherpad-lite/static/js/ace2_inner");');
buffer.push('<\/script>');
buffer.push('<script type="application/javascript" src="' + ACE_COMMON + '"><\/script>');
}
}
function pushStyleTagsFor(buffer, files) {
@ -261,8 +260,9 @@ require.setGlobalKeyPath("require");\n\
pushStyleTagsFor(iframeHTML, includedCSS);
var includedJS = [];
var $$INCLUDE_JS = function(filename) {includedJS.push(filename)};
pushRequireScriptTo(iframeHTML);
pushScriptsTo(iframeHTML);
// Inject my plugins into my child.
iframeHTML.push('\
<script type="text/javascript">\
@ -277,7 +277,10 @@ require.setGlobalKeyPath("require");\n\
});\
</script>\
');
pushScriptsTo(iframeHTML);
iframeHTML.push('<script type="text/javascript">');
iframeHTML.push('require("ep_etherpad-lite/static/js/ace2_inner");');
iframeHTML.push('<\/script>');
iframeHTML.push('<style type="text/css" title="dynamicsyntax"></style>');
iframeHTML.push('</head><body id="innerdocbody" class="syntax" spellcheck="false">&nbsp;</body></html>');

View file

@ -682,13 +682,6 @@ var pad = {
paduserlist.removeGuestPrompt(msg.guestId);
}
},
editbarClick: function(cmd)
{
if (padeditbar)
{
padeditbar.toolbarClick(cmd);
}
},
dmesg: function(m)
{
if (pad.getIsDebugEnabled())

View file

@ -97,8 +97,15 @@ var padeditbar = (function()
var self = {
init: function()
{
var self = this;
$("#editbar .editbarbutton").attr("unselectable", "on"); // for IE
$("#editbar").removeClass("disabledtoolbar").addClass("enabledtoolbar");
$("#editbar [data-key]").each(function (i, e) {
$(e).click(function (event) {
self.toolbarClick($(e).attr('data-key'));
event.preventDefault();
});
});
},
isEnabled: function()
{

View file

@ -724,11 +724,11 @@ var paduserlist = (function()
$("#myswatch").css({'background-color': myUserInfo.colorId});
if ($.browser.msie && parseInt($.browser.version) <= 8) {
$("#usericon").css({'box-shadow': 'inset 0 0 30px ' + myUserInfo.colorId,'background-color': myUserInfo.colorId});
$("#usericon a").css({'box-shadow': 'inset 0 0 30px ' + myUserInfo.colorId,'background-color': myUserInfo.colorId});
}
else
{
$("#usericon").css({'box-shadow': 'inset 0 0 30px ' + myUserInfo.colorId});
$("#usericon a").css({'box-shadow': 'inset 0 0 30px ' + myUserInfo.colorId});
}
}
};

View file

@ -130,7 +130,11 @@
<script src="static/custom/index.js"></script>
<script>
document.domain = document.domain;
if ((!$.browser.msie) && (!($.browser.mozilla && $.browser.version.indexOf("1.8.") == 0)))
{
document.domain = document.domain; // for comet
}
function go2Name()
{
var padname = document.getElementById("padname").value;

View file

@ -22,65 +22,99 @@
<div id="editbar" class="toolbar">
<ul class="menu_left">
<% e.begin_block("editbarMenuLeft"); %>
<li id="bold" onClick="window.pad&amp;&amp;pad.editbarClick('bold');return false">
<a class="buttonicon buttonicon-bold" title="Bold (ctrl-B)"></a>
<li id="bold" data-key="bold">
<a title="Bold (ctrl-B)">
<span class="buttonicon buttonicon-bold"></span>
</a>
</li>
<li id="italic" onClick="window.pad&amp;&amp;pad.editbarClick('italic'); return false;">
<a class="buttonicon buttonicon-italic" title="Italics (ctrl-I)"></a>
<li id="italic" data-key="italic">
<a title="Italics (ctrl-I)">
<span class="buttonicon buttonicon-italic"></span>
</a>
</li>
<li id="underline" onClick="window.pad&amp;&amp;pad.editbarClick('underline');return false;" >
<a class="buttonicon buttonicon-underline" title="Underline (ctrl-U)"></a>
<li id="underline" data-key="underline">
<a title="Underline (ctrl-U)">
<span class="buttonicon buttonicon-underline"></span>
</a>
</li>
<li id="strikethrough" onClick="window.pad&amp;&amp;pad.editbarClick('strikethrough');return false;">
<a class="buttonicon buttonicon-strikethrough" title="Strikethrough"></a>
<li id="strikethrough" data-key="strikethrough">
<a title="Strikethrough">
<span class="buttonicon buttonicon-strikethrough"></span>
</a>
</li>
<li class="separator"></li>
<li id="oderedlist" onClick="window.pad&amp;&amp;pad.editbarClick('insertorderedlist');return false;">
<a class="buttonicon buttonicon-insertorderedlist" title="Toggle Ordered List"></a>
<li id="oderedlist" data-key="insertorderedlist">
<a title="Toggle Ordered List">
<span class="buttonicon buttonicon-insertorderedlist"></span>
</a>
</li>
<li id="unoderedlist" onClick="window.pad&amp;&amp;pad.editbarClick('insertunorderedlist');return false;">
<a class="buttonicon buttonicon-insertunorderedlist" title="Toggle Bullet List"></a>
<li id="unoderedlist" data-key="insertunorderedlist">
<a title="Toggle Bullet List">
<span class="buttonicon buttonicon-insertunorderedlist"></span>
</a>
</li>
<li id="indent" onClick="window.pad&amp;&amp;pad.editbarClick('indent');return false;">
<a class="buttonicon buttonicon-indent" title="Indent"></a>
<li id="indent" data-key="indent">
<a title="Indent">
<span class="buttonicon buttonicon-indent"></span>
</a>
</li>
<li id="outdent" onClick="window.pad&amp;&amp;pad.editbarClick('outdent');return false;">
<a class="buttonicon buttonicon-outdent" title="Unindent"></a>
<li id="outdent" data-key="outdent">
<a title="Unindent">
<span class="buttonicon buttonicon-outdent"></span>
</a>
</li>
<li class="separator"></li>
<li id="undo" onClick="window.pad&amp;&amp;pad.editbarClick('undo');return false;">
<a class="buttonicon buttonicon-undo" title="Undo (ctrl-Z)"></a>
<li id="undo" data-key="undo">
<a title="Undo (ctrl-Z)">
<span class="buttonicon buttonicon-undo"></span>
</a>
</li>
<li id="redo" onClick="window.pad&amp;&amp;pad.editbarClick('redo');return false;">
<a class="buttonicon buttonicon-redo" title="Redo (ctrl-Y)"></a>
<li id="redo" data-key="redo">
<a title="Redo (ctrl-Y)">
<span class="buttonicon buttonicon-redo"></span>
</a>
</li>
<li class="separator"></li>
<li id="clearAuthorship" onClick="window.pad&amp;&amp;pad.editbarClick('clearauthorship');return false;">
<a class="buttonicon buttonicon-clearauthorship" title="Clear Authorship Colors"></a>
<li id="clearAuthorship" data-key="clearauthorship">
<a title="Clear Authorship Colors">
<span class="buttonicon buttonicon-clearauthorship"></span>
</a>
</li>
<% e.end_block(); %>
</ul>
<ul class="menu_right">
<% e.begin_block("editbarMenuRight"); %>
<li id="settingslink" onClick="window.pad&amp;&amp;pad.editbarClick('settings');return false;">
<a class="buttonicon buttonicon-settings" title="Settings of this pad"></a>
<li data-key="settings">
<a id="settingslink" title="Settings of this pad">
<span class="buttonicon buttonicon-settings"></span>
</a>
</li>
<li id="importexportlink" onClick="window.pad&amp;&amp;pad.editbarClick('import_export');return false;">
<a class="buttonicon buttonicon-import_export" title="Import/Export from/to different document formats"></a>
<li data-key="import_export">
<a id="importexportlink" title="Import/Export from/to different document formats">
<span class="buttonicon buttonicon-import_export"></span>
</a>
</li>
<li id="embedlink" onClick="window.pad&amp;&amp;pad.editbarClick('embed');return false;">
<a class="buttonicon buttonicon-embed" title="Share and Embed this pad"></a>
<li data-key="embed">
<a id="embedlink" title="Share and Embed this pad">
<span class="buttonicon buttonicon-embed"></span>
</a>
</li>
<li id="revisionlink" onClick="window.pad&amp;&amp;pad.editbarClick('savedRevision');return false;">
<a class="buttonicon buttonicon-savedRevision" title="Mark this revision as a saved revision"></a>
<li data-key="savedRevision">
<a id="revisionlink" title="Mark this revision as a saved revision">
<span class="buttonicon buttonicon-savedRevision"></span>
</a>
</li>
<li class="separator"></li>
<li id="timesliderlink" onClick="document.location = document.location.pathname+ '/timeslider'">
<a class="buttonicon buttonicon-history" title="Show the history of this pad"></a>
<li onClick="document.location = document.location.pathname+ '/timeslider'">
<a id="timesliderlink" title="Show the history of this pad">
<span class="buttonicon buttonicon-history"></span>
</a>
</li>
<li id="usericon" onClick="window.pad&amp;&amp;pad.editbarClick('showusers');return false;" title="Show connected users">
<span class="buttonicon buttonicon-showusers" id="usericonback"></span>
<span id="online_count">1</span>
<li id="usericon" data-key="showusers">
<a title="Show connected users">
<span class="buttonicon buttonicon-showusers" id="usericonback"></span>
<span id="online_count">1</span>
</a>
</li>
<% e.end_block(); %>
</ul>
@ -283,7 +317,11 @@
<script type="text/javascript" src="../socket.io/socket.io.js"></script>
<script type="text/javascript" src="../javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define"></script>
<script type="text/javascript">
document.domain = document.domain;
if ((!$.browser.msie) && (!($.browser.mozilla && $.browser.version.indexOf("1.8.") == 0)))
{
document.domain = document.domain; // for comet
}
var clientVars = {};
(function () {

View file

@ -130,7 +130,11 @@
<script type="text/javascript" src="../../static/custom/timeslider.js"></script>
<script type="text/javascript" >
document.domain = document.domain;
if ((!$.browser.msie) && (!($.browser.mozilla && $.browser.version.indexOf("1.8.") == 0)))
{
document.domain = document.domain; // for comet
}
var clientVars = {};
(function () {