mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-05 21:45:47 +01:00
Merge branch 'master' of https://github.com/designcreateplay/NodeBB
This commit is contained in:
@@ -52,12 +52,6 @@ define(function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector('#content input').focus();
|
document.querySelector('#content input').focus();
|
||||||
|
|
||||||
if(!config.emailSetup)
|
|
||||||
$('#reset-link').addClass('hide');
|
|
||||||
else
|
|
||||||
$('#reset-link').removeClass('hide');
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return Login;
|
return Login;
|
||||||
|
|||||||
@@ -1097,7 +1097,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
|||||||
|
|
||||||
var insertAfter = findInsertionPoint();
|
var insertAfter = findInsertionPoint();
|
||||||
|
|
||||||
parseAndTranslatePosts(data.posts, function(translatedHTML) {
|
parseAndTranslatePosts(data, function(translatedHTML) {
|
||||||
var translated = $(translatedHTML);
|
var translated = $(translatedHTML);
|
||||||
|
|
||||||
if(!infiniteLoaded) {
|
if(!infiniteLoaded) {
|
||||||
@@ -1112,8 +1112,8 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseAndTranslatePosts(posts, callback) {
|
function parseAndTranslatePosts(data, callback) {
|
||||||
var html = templates.prepare(templates['topic'].blocks['posts']).parse({posts: posts});
|
var html = templates.prepare(templates['topic'].blocks['posts']).parse(data);
|
||||||
var regexp = new RegExp("<!--[\\s]*IF @first[\\s]*-->([\\s\\S]*?)<!--[\\s]*ENDIF @first[\\s]*-->", 'g');
|
var regexp = new RegExp("<!--[\\s]*IF @first[\\s]*-->([\\s\\S]*?)<!--[\\s]*ENDIF @first[\\s]*-->", 'g');
|
||||||
html = html.replace(regexp, '');
|
html = html.replace(regexp, '');
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,10 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-lg-offset-2 col-lg-10">
|
<div class="col-lg-offset-2 col-lg-10">
|
||||||
<hr />
|
<hr />
|
||||||
<button class="btn btn-primary btn-lg btn-block" id="login" type="submit">[[login:login]]</button> <a id="reset-link" class="hide" href="{relative_path}/reset">[[login:forgot_password]]</a>
|
<button class="btn btn-primary btn-lg btn-block" id="login" type="submit">[[login:login]]</button>
|
||||||
|
<!-- IF showResetLink -->
|
||||||
|
<a id="reset-link" href="{relative_path}/reset">[[login:forgot_password]]</a>
|
||||||
|
<!-- ENDIF showResetLink -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="_csrf" value="{token}" id="csrf-token" />
|
<input type="hidden" name="_csrf" value="{token}" id="csrf-token" />
|
||||||
|
|||||||
@@ -202,6 +202,10 @@ var fs = require('fs'),
|
|||||||
} else return;
|
} else return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Plugins.hasListeners = function(hook) {
|
||||||
|
return (Plugins.loadedHooks[hook] && Plugins.loadedHooks[hook].length > 0);
|
||||||
|
};
|
||||||
|
|
||||||
Plugins.fireHook = function(hook, args, callback) {
|
Plugins.fireHook = function(hook, args, callback) {
|
||||||
hookList = Plugins.loadedHooks[hook];
|
hookList = Plugins.loadedHooks[hook];
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,11 @@ var path = require('path'),
|
|||||||
posts = require('../posts'),
|
posts = require('../posts'),
|
||||||
categories = require('../categories'),
|
categories = require('../categories'),
|
||||||
categoryTools = require('../categoryTools')
|
categoryTools = require('../categoryTools')
|
||||||
|
meta = require('../meta'),
|
||||||
|
Plugins = require('../plugins'),
|
||||||
utils = require('../../public/src/utils'),
|
utils = require('../../public/src/utils'),
|
||||||
translator = require('../../public/src/translator'),
|
translator = require('../../public/src/translator'),
|
||||||
pkg = require('../../package.json'),
|
pkg = require('../../package.json');
|
||||||
meta = require('../meta');
|
|
||||||
|
|
||||||
|
|
||||||
(function (Api) {
|
(function (Api) {
|
||||||
@@ -46,7 +47,6 @@ var path = require('path'),
|
|||||||
config.topicsPerPage = meta.config.topicsPerPage || 20;
|
config.topicsPerPage = meta.config.topicsPerPage || 20;
|
||||||
config.postsPerPage = meta.config.postsPerPage || 20;
|
config.postsPerPage = meta.config.postsPerPage || 20;
|
||||||
config.maximumFileSize = meta.config.maximumFileSize;
|
config.maximumFileSize = meta.config.maximumFileSize;
|
||||||
config.emailSetup = !!meta.config['email:from'];
|
|
||||||
config.defaultLang = meta.config.defaultLang || 'en';
|
config.defaultLang = meta.config.defaultLang || 'en';
|
||||||
|
|
||||||
res.json(200, config);
|
res.json(200, config);
|
||||||
@@ -116,7 +116,8 @@ var path = require('path'),
|
|||||||
app.get('/login', function (req, res) {
|
app.get('/login', function (req, res) {
|
||||||
var data = {},
|
var data = {},
|
||||||
login_strategies = auth.get_login_strategies(),
|
login_strategies = auth.get_login_strategies(),
|
||||||
num_strategies = login_strategies.length;
|
num_strategies = login_strategies.length,
|
||||||
|
emailersPresent = Plugins.hasListeners('action:email.send');
|
||||||
|
|
||||||
if (num_strategies == 0) {
|
if (num_strategies == 0) {
|
||||||
data = {
|
data = {
|
||||||
@@ -131,8 +132,8 @@ var path = require('path'),
|
|||||||
}
|
}
|
||||||
|
|
||||||
data.authentication = login_strategies;
|
data.authentication = login_strategies;
|
||||||
|
|
||||||
data.token = res.locals.csrf_token;
|
data.token = res.locals.csrf_token;
|
||||||
|
data.showResetLink = emailersPresent;
|
||||||
|
|
||||||
res.json(data);
|
res.json(data);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
var topics = require('../topics'),
|
var topics = require('../topics'),
|
||||||
threadTools = require('../threadTools'),
|
threadTools = require('../threadTools'),
|
||||||
index = require('./index'),
|
index = require('./index'),
|
||||||
|
|
||||||
|
async = require('async'),
|
||||||
|
|
||||||
SocketTopics = {};
|
SocketTopics = {};
|
||||||
|
|
||||||
SocketTopics.post = function(socket, data, callback) {
|
SocketTopics.post = function(socket, data, callback) {
|
||||||
@@ -236,12 +239,15 @@ SocketTopics.loadMore = function(socket, data, callback) {
|
|||||||
var start = data.after,
|
var start = data.after,
|
||||||
end = start + postsPerPage - 1;
|
end = start + postsPerPage - 1;
|
||||||
|
|
||||||
topics.getTopicPosts(data.tid, start, end, socket.uid, function(err, posts) {
|
async.parallel({
|
||||||
if(err) {
|
posts: function(next) {
|
||||||
return callback(err);
|
topics.getTopicPosts(data.tid, start, end, socket.uid, next);
|
||||||
|
},
|
||||||
|
privileges: function(next) {
|
||||||
|
threadTools.privileges(data.tid, socket.uid, next);
|
||||||
}
|
}
|
||||||
|
}, function(err, results) {
|
||||||
callback(err, {posts: posts});
|
callback(err, results);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -886,6 +886,10 @@ var bcrypt = require('bcrypt'),
|
|||||||
|
|
||||||
User.email = {
|
User.email = {
|
||||||
verify: function(uid, email) {
|
verify: function(uid, email) {
|
||||||
|
if (!plugins.hasListeners('action:email.send')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var confirm_code = utils.generateUUID(),
|
var confirm_code = utils.generateUUID(),
|
||||||
confirm_link = nconf.get('url') + '/confirm/' + confirm_code;
|
confirm_link = nconf.get('url') + '/confirm/' + confirm_code;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user