mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-22 16:36:15 -04:00
import: setting for allowing import without author existing
This commit is contained in:
parent
9fdb9e224c
commit
bfca481b0b
5 changed files with 32 additions and 4 deletions
|
@ -1131,6 +1131,7 @@ async function handleClientReady(client, message)
|
|||
},
|
||||
"initialChangesets": [], // FIXME: REMOVE THIS SHIT
|
||||
"thisUserHasEditedThisPad": thisUserHasEditedThisPad,
|
||||
"allowAnyoneToImport": settings.allowAnyoneToImport
|
||||
}
|
||||
|
||||
// Add a username to the clientVars if one avaiable
|
||||
|
|
|
@ -83,20 +83,20 @@ exports.expressCreateServer = function (hook_name, args, cb) {
|
|||
|
||||
let author = await authorManager.getAuthor4Token(req.cookies.token);
|
||||
// author is of the form: "a.g2droBYw1prY7HW9"
|
||||
if (!author) {
|
||||
if (!author && !settings.allowAnyoneToImport) {
|
||||
console.warn(`Unable to import file into "${req.params.pad}". No Author found for token ${req.cookies.token}`);
|
||||
|
||||
return next();
|
||||
}
|
||||
|
||||
let authorsPads = await authorManager.listPadsOfAuthor(author);
|
||||
if (!authorsPads) {
|
||||
if (!authorsPads && !settings.allowAnyoneToImport) {
|
||||
console.warn(`Unable to import file into "${req.params.pad}". Author "${author}" exists but he never contributed to any pad`);
|
||||
return next();
|
||||
}
|
||||
|
||||
let authorsPadIDs = authorsPads.padIDs;
|
||||
if (authorsPadIDs.indexOf(req.params.pad) === -1) {
|
||||
if ( (authorsPadIDs.indexOf(req.params.pad) === -1) && !settings.allowAnyoneToImport) {
|
||||
console.warn(`Unable to import file into "${req.params.pad}". Author "${author}" exists but he never contributed to this pad`);
|
||||
return next();
|
||||
}
|
||||
|
|
|
@ -351,6 +351,20 @@ exports.importExportRateLimiting = {
|
|||
*/
|
||||
exports.importMaxFileSize = 50 * 1024 * 1024;
|
||||
|
||||
|
||||
/*
|
||||
* From Etherpad 1.8.3 onwards import was restricted to authors who had
|
||||
* content within the pad.
|
||||
*
|
||||
* This setting will override that restriction and allow any user to import
|
||||
* without the requirement to add content to a pad.
|
||||
*
|
||||
* This setting is useful for when you use a plugin for authentication so you
|
||||
* can already trust each user.
|
||||
*/
|
||||
exports.allowAnyoneToImport = false,
|
||||
|
||||
|
||||
// checks if abiword is avaiable
|
||||
exports.abiwordAvailable = function()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue