mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-05-04 14:19:13 -04:00
Merge branch 'master' of github.com:RolePlayGateway/etherpad-lite
This commit is contained in:
commit
85d54ee5c3
5 changed files with 44 additions and 10 deletions
|
@ -51,7 +51,7 @@ Here is the **[FAQ](https://github.com/Pita/etherpad-lite/wiki/FAQ)**
|
|||
**As root:**
|
||||
|
||||
<ol>
|
||||
<li>Install the dependencies. We need the gzip, git, curl, libssl develop libraries and python <br><code>apt-get install gzip git-core curl python libssl-dev</code></li><br>
|
||||
<li>Install the dependencies. We need the gzip, git, curl, libssl develop libraries and python <br><code>apt-get install gzip git-core curl python libssl-dev build-essential</code></li><br>
|
||||
<li>Install node.js
|
||||
<ol type="a">
|
||||
<li>Download the latest <b>0.4.x</b> node.js release from <a href="http://nodejs.org/#download">http://nodejs.org/#download</a></li>
|
||||
|
|
|
@ -21,10 +21,20 @@
|
|||
require("../db/Pad");
|
||||
var db = require("./DB").db;
|
||||
|
||||
/**
|
||||
* A Array with all known Pads
|
||||
/**
|
||||
* An Object containing all known Pads. Provides "get" and "set" functions,
|
||||
* which should be used instead of indexing with brackets. These prepend a
|
||||
* colon to the key, to avoid conflicting with built-in Object methods or with
|
||||
* these functions themselves.
|
||||
*
|
||||
* If this is needed in other places, it would be wise to make this a prototype
|
||||
* that's defined somewhere more sensible.
|
||||
*/
|
||||
globalPads = [];
|
||||
globalPads = {
|
||||
get: function (name) { return this[':'+name]; },
|
||||
set: function (name, value) { this[':'+name] = value; },
|
||||
remove: function (name) { delete this[':'+name]; }
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns a Pad Object with the callback
|
||||
|
@ -65,7 +75,7 @@ exports.getPad = function(id, text, callback)
|
|||
}
|
||||
}
|
||||
|
||||
var pad = globalPads[id];
|
||||
var pad = globalPads.get(id);
|
||||
|
||||
//return pad if its already loaded
|
||||
if(pad != null)
|
||||
|
@ -86,7 +96,7 @@ exports.getPad = function(id, text, callback)
|
|||
}
|
||||
else
|
||||
{
|
||||
globalPads[id] = pad;
|
||||
globalPads.set(id, pad);
|
||||
callback(null, pad);
|
||||
}
|
||||
});
|
||||
|
@ -110,6 +120,6 @@ exports.isValidPadId = function(padId)
|
|||
//removes a pad from the array
|
||||
exports.unloadPad = function(padId)
|
||||
{
|
||||
if(globalPads[padId])
|
||||
delete globalPads[padId];
|
||||
if(globalPads.get(padId))
|
||||
globalPads.remove(padId);
|
||||
}
|
||||
|
|
|
@ -99,7 +99,8 @@ async.waterfall([
|
|||
app.get('/static/*', function(req, res)
|
||||
{
|
||||
res.header("Server", serverName);
|
||||
var filePath = path.normalize(__dirname + "/.." + req.url.split("?")[0]);
|
||||
var filePath = path.normalize(__dirname + "/.." +
|
||||
req.url.replace(/\.\./g, '').split("?")[0]);
|
||||
res.sendfile(filePath, { maxAge: exports.maxAge });
|
||||
});
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
var socket;
|
||||
var LineNumbersDisabled = false;
|
||||
var noColors = false;
|
||||
var useMonospaceFontGlobal = false;
|
||||
var globalUserName = false;
|
||||
|
||||
|
@ -80,9 +81,18 @@ function getParams()
|
|||
{
|
||||
var showControls = getUrlVars()["showControls"];
|
||||
var showChat = getUrlVars()["showChat"];
|
||||
var userName = getUrlVars()["userName"];
|
||||
var userName = unescape(getUrlVars()["userName"]);
|
||||
var showLineNumbers = getUrlVars()["showLineNumbers"];
|
||||
var useMonospaceFont = getUrlVars()["useMonospaceFont"];
|
||||
var IsnoColors = getUrlVars()["noColors"];
|
||||
|
||||
if(IsnoColors)
|
||||
{
|
||||
if(IsnoColors == "true")
|
||||
{
|
||||
noColors = true;
|
||||
}
|
||||
}
|
||||
if(showControls)
|
||||
{
|
||||
if(showControls == "false")
|
||||
|
@ -236,6 +246,13 @@ function handshake()
|
|||
{
|
||||
pad.changeViewOption('showLineNumbers', false);
|
||||
}
|
||||
|
||||
// If the noColors value is set to true then we need to hide the backround colors on the ace spans
|
||||
if (noColors == true)
|
||||
{
|
||||
pad.changeViewOption('noColors', true);
|
||||
}
|
||||
|
||||
// If the Monospacefont value is set to true then change it to monospace.
|
||||
if (useMonospaceFontGlobal == true)
|
||||
{
|
||||
|
@ -245,6 +262,7 @@ function handshake()
|
|||
if (globalUserName !== false)
|
||||
{
|
||||
pad.notifyChangeName(globalUserName); // Notifies the server
|
||||
pad.myUserInfo.name = globalUserName;
|
||||
$('#myusernameedit').attr({"value":globalUserName}); // Updates the current users UI
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,6 +61,8 @@ var padeditor = (function()
|
|||
{
|
||||
pad.changeViewOption('useMonospaceFont', $("#viewfontmenu").val() == 'monospace');
|
||||
});
|
||||
|
||||
noColors = !noColors; // Inversed so we can pass it to showauthorcolors
|
||||
},
|
||||
setViewOptions: function(newOptions)
|
||||
{
|
||||
|
@ -84,6 +86,9 @@ var padeditor = (function()
|
|||
v = getOption('useMonospaceFont', false);
|
||||
self.ace.setProperty("textface", (v ? "monospace" : "Arial, sans-serif"));
|
||||
$("#viewfontmenu").val(v ? "monospace" : "normal");
|
||||
|
||||
self.ace.setProperty("showsauthorcolors", noColors);
|
||||
|
||||
},
|
||||
initViewZoom: function()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue