mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
closes #1482
removed updateHeader, the header is using template values in from the api, update menu partial in vanilla theme as well
This commit is contained in:
@@ -58,10 +58,6 @@ var socket,
|
|||||||
reconnectEl.removeClass('active').addClass("hide");
|
reconnectEl.removeClass('active').addClass("hide");
|
||||||
}, 3000);
|
}, 3000);
|
||||||
}
|
}
|
||||||
|
|
||||||
socket.emit('meta.updateHeader', {
|
|
||||||
fields: ['username', 'picture', 'userslug']
|
|
||||||
}, app.updateHeader);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onConfigLoad(data) {
|
function onConfigLoad(data) {
|
||||||
@@ -98,10 +94,6 @@ var socket,
|
|||||||
|
|
||||||
app.showLoginMessage();
|
app.showLoginMessage();
|
||||||
|
|
||||||
socket.emit('meta.updateHeader', {
|
|
||||||
fields: ['username', 'picture', 'userslug']
|
|
||||||
}, app.updateHeader);
|
|
||||||
|
|
||||||
$(window).trigger('action:connected');
|
$(window).trigger('action:connected');
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -146,8 +138,6 @@ var socket,
|
|||||||
setTimeout(app.logout, 1000);
|
setTimeout(app.logout, 1000);
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('meta.updateHeader', app.updateHeader);
|
|
||||||
|
|
||||||
app.enterRoom('global');
|
app.enterRoom('global');
|
||||||
|
|
||||||
if (config.environment === 'development' && console && console.log) {
|
if (config.environment === 'development' && console && console.log) {
|
||||||
@@ -289,7 +279,7 @@ var socket,
|
|||||||
app.replaceSelfLinks = function(selector) {
|
app.replaceSelfLinks = function(selector) {
|
||||||
selector = selector || $('a');
|
selector = selector || $('a');
|
||||||
selector.each(function() {
|
selector.each(function() {
|
||||||
var href = $(this).attr('href')
|
var href = $(this).attr('href');
|
||||||
if (href && app.userslug) {
|
if (href && app.userslug) {
|
||||||
$(this).attr('href', href.replace(/\[self\]/g, app.userslug));
|
$(this).attr('href', href.replace(/\[self\]/g, app.userslug));
|
||||||
}
|
}
|
||||||
@@ -430,86 +420,6 @@ var socket,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
app.updateHeader = function(err, data) {
|
|
||||||
var searchButton = $("#search-button"),
|
|
||||||
searchFields = $("#search-fields"),
|
|
||||||
searchInput = $('#search-fields input');
|
|
||||||
|
|
||||||
function dismissSearch(){
|
|
||||||
searchFields.hide();
|
|
||||||
searchButton.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
searchButton.off().on('click', function(e) {
|
|
||||||
e.stopPropagation();
|
|
||||||
|
|
||||||
searchFields.removeClass('hide').show();
|
|
||||||
$(this).hide();
|
|
||||||
|
|
||||||
searchInput.focus();
|
|
||||||
|
|
||||||
$('#search-form').on('submit', dismissSearch);
|
|
||||||
searchInput.on('blur', dismissSearch);
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
var loggedInMenu = $('#logged-in-menu'),
|
|
||||||
isLoggedIn = data.uid > 0,
|
|
||||||
allowGuestSearching = (data.config || {}).allowGuestSearching === '1';
|
|
||||||
|
|
||||||
if (isLoggedIn) {
|
|
||||||
$('#logged-out-menu').addClass('hide');
|
|
||||||
$('#logged-in-menu').removeClass('hide');
|
|
||||||
|
|
||||||
searchButton.removeClass("hide").show();
|
|
||||||
|
|
||||||
var userLabel = loggedInMenu.find('#user_label');
|
|
||||||
|
|
||||||
if (data.userslug) {
|
|
||||||
userLabel.find('#user-profile-link').attr('href', RELATIVE_PATH + '/user/' + data.userslug);
|
|
||||||
}
|
|
||||||
if (data.picture) {
|
|
||||||
userLabel.find('img').attr('src', data.picture);
|
|
||||||
}
|
|
||||||
if (data.username) {
|
|
||||||
userLabel.find('#user-profile-link>span').html(' ' + data.username);
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#logout-link').on('click', app.logout);
|
|
||||||
|
|
||||||
updateOnlineStatus(data.uid);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if (allowGuestSearching) {
|
|
||||||
searchButton.removeClass("hide").show();
|
|
||||||
$('#mobile-search-button').removeClass("hide").show();
|
|
||||||
} else {
|
|
||||||
searchButton.addClass("hide").hide();
|
|
||||||
$('#mobile-search-button').addClass("hide").hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#logged-out-menu').removeClass('hide');
|
|
||||||
$('#logged-in-menu').addClass('hide');
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#main-nav a, #user-control-list a, #logged-out-menu li a, #logged-in-menu .visible-xs').off('click').on('click', function() {
|
|
||||||
if($('.navbar .navbar-collapse').hasClass('in')) {
|
|
||||||
$('.navbar-header button').click();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#user-control-list .user-status').off('click').on('click', function(e) {
|
|
||||||
socket.emit('user.setStatus', $(this).attr('data-status'), function(err, data) {
|
|
||||||
if(err) {
|
|
||||||
return app.alertError(err.message);
|
|
||||||
}
|
|
||||||
updateOnlineStatus(data.uid);
|
|
||||||
});
|
|
||||||
e.preventDefault();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
function exposeConfigToTemplates() {
|
function exposeConfigToTemplates() {
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
templates.setGlobal('relative_path', RELATIVE_PATH);
|
templates.setGlobal('relative_path', RELATIVE_PATH);
|
||||||
@@ -540,6 +450,56 @@ var socket,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleSearch() {
|
||||||
|
var searchButton = $("#search-button"),
|
||||||
|
searchFields = $("#search-fields"),
|
||||||
|
searchInput = $('#search-fields input');
|
||||||
|
|
||||||
|
function dismissSearch(){
|
||||||
|
searchFields.hide();
|
||||||
|
searchButton.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
searchButton.off().on('click', function(e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
|
||||||
|
searchFields.removeClass('hide').show();
|
||||||
|
$(this).hide();
|
||||||
|
|
||||||
|
searchInput.focus();
|
||||||
|
|
||||||
|
$('#search-form').on('submit', dismissSearch);
|
||||||
|
searchInput.on('blur', dismissSearch);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#search-form').on('submit', function () {
|
||||||
|
var input = $(this).find('input');
|
||||||
|
ajaxify.go('search/' + input.val().replace(/^[ ?#]*/, ''));
|
||||||
|
input.val('');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function collapseNavigationOnClick() {
|
||||||
|
$('#main-nav a, #user-control-list a, #logged-out-menu li a, #logged-in-menu .visible-xs').off('click').on('click', function() {
|
||||||
|
if($('.navbar .navbar-collapse').hasClass('in')) {
|
||||||
|
$('.navbar-header button').click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleStatusChange() {
|
||||||
|
$('#user-control-list .user-status').off('click').on('click', function(e) {
|
||||||
|
socket.emit('user.setStatus', $(this).attr('data-status'), function(err, data) {
|
||||||
|
if(err) {
|
||||||
|
return app.alertError(err.message);
|
||||||
|
}
|
||||||
|
updateOnlineStatus(data.uid);
|
||||||
|
});
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
app.load = function() {
|
app.load = function() {
|
||||||
$('document').ready(function () {
|
$('document').ready(function () {
|
||||||
@@ -556,12 +516,13 @@ var socket,
|
|||||||
url: url
|
url: url
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#search-form').on('submit', function () {
|
collapseNavigationOnClick();
|
||||||
var input = $(this).find('input');
|
|
||||||
ajaxify.go("search/" + input.val().replace(/^[ ?#]*/, ''));
|
handleStatusChange();
|
||||||
input.val('');
|
|
||||||
return false;
|
handleSearch();
|
||||||
});
|
|
||||||
|
$('#logout-link').on('click', app.logout);
|
||||||
|
|
||||||
$(window).blur(function(){
|
$(window).blur(function(){
|
||||||
app.isFocused = false;
|
app.isFocused = false;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
|||||||
handleImageUpload();
|
handleImageUpload();
|
||||||
handlePasswordChange();
|
handlePasswordChange();
|
||||||
updateSignature();
|
updateSignature();
|
||||||
|
updateImages();
|
||||||
};
|
};
|
||||||
|
|
||||||
function updateProfile() {
|
function updateProfile() {
|
||||||
@@ -66,7 +67,7 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
|||||||
$('.account-username-box').attr('data-userslug', data.userslug);
|
$('.account-username-box').attr('data-userslug', data.userslug);
|
||||||
|
|
||||||
$('#user-profile-link').attr('href', config.relative_path + '/user/' + data.userslug);
|
$('#user-profile-link').attr('href', config.relative_path + '/user/' + data.userslug);
|
||||||
$('#user-profile-link span').html(' ' + userData.username);
|
$('#user-header-name').text(userData.username);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -106,8 +107,10 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
|||||||
|
|
||||||
if (selectedImageType === 'gravatar') {
|
if (selectedImageType === 'gravatar') {
|
||||||
$('#user-current-picture').attr('src', gravatarPicture);
|
$('#user-current-picture').attr('src', gravatarPicture);
|
||||||
|
$('#user-header-picture').attr('src', gravatarPicture);
|
||||||
} else if (selectedImageType === 'uploaded') {
|
} else if (selectedImageType === 'uploaded') {
|
||||||
$('#user-current-picture').attr('src', uploadedPicture);
|
$('#user-current-picture').attr('src', uploadedPicture);
|
||||||
|
$('#user-header-picture').attr('src', uploadedPicture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -126,12 +129,9 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
|||||||
|
|
||||||
$('#user-current-picture').attr('src', imageUrlOnServer);
|
$('#user-current-picture').attr('src', imageUrlOnServer);
|
||||||
$('#user-uploaded-picture').attr('src', imageUrlOnServer);
|
$('#user-uploaded-picture').attr('src', imageUrlOnServer);
|
||||||
|
$('#user-header-picture').attr('src', imageUrlOnServer);
|
||||||
|
|
||||||
uploadedPicture = imageUrlOnServer;
|
uploadedPicture = imageUrlOnServer;
|
||||||
|
|
||||||
socket.emit('meta.updateHeader', {
|
|
||||||
fields: ['username', 'picture', 'userslug']
|
|
||||||
}, app.updateHeader);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -223,7 +223,7 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
|||||||
$('#gravatar-box').toggle(!!gravatarPicture);
|
$('#gravatar-box').toggle(!!gravatarPicture);
|
||||||
$('#uploaded-box').toggle(!!uploadedPicture);
|
$('#uploaded-box').toggle(!!uploadedPicture);
|
||||||
|
|
||||||
$('#gravatar-box .fa-check').toggle(currentPicture === gravatarPicture);
|
$('#gravatar-box .fa-check').toggle(currentPicture !== uploadedPicture);
|
||||||
$('#uploaded-box .fa-check').toggle(currentPicture === uploadedPicture);
|
$('#uploaded-box .fa-check').toggle(currentPicture === uploadedPicture);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
define(['notifications', 'chat'], function(Notifications, Chat) {
|
define(['notifications', 'chat'], function(Notifications, Chat) {
|
||||||
|
|
||||||
socket.emit('meta.updateHeader', {
|
|
||||||
fields: ['username', 'picture', 'userslug']
|
|
||||||
}, app.updateHeader);
|
|
||||||
|
|
||||||
Notifications.prepareDOM();
|
Notifications.prepareDOM();
|
||||||
Chat.prepareDOM();
|
Chat.prepareDOM();
|
||||||
translator.prepareDOM();
|
translator.prepareDOM();
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ middleware.renderHeader = function(req, res, callback) {
|
|||||||
csrf: res.locals.csrf_token,
|
csrf: res.locals.csrf_token,
|
||||||
navigation: custom_header.navigation,
|
navigation: custom_header.navigation,
|
||||||
allowRegistration: meta.config.allowRegistration === undefined || parseInt(meta.config.allowRegistration, 10) === 1,
|
allowRegistration: meta.config.allowRegistration === undefined || parseInt(meta.config.allowRegistration, 10) === 1,
|
||||||
searchEnabled: plugins.hasListeners('filter:search.query') ? true : false
|
searchEnabled: plugins.hasListeners('filter:search.query') && (uid || parseInt(meta.config.allowGuestSearching, 10) === 1)
|
||||||
},
|
},
|
||||||
escapeList = {
|
escapeList = {
|
||||||
'&': '&',
|
'&': '&',
|
||||||
@@ -264,13 +264,22 @@ middleware.renderHeader = function(req, res, callback) {
|
|||||||
},
|
},
|
||||||
isAdmin: function(next) {
|
isAdmin: function(next) {
|
||||||
user.isAdministrator(uid, next);
|
user.isAdministrator(uid, next);
|
||||||
|
},
|
||||||
|
user: function(next) {
|
||||||
|
if (uid) {
|
||||||
|
user.getUserFields(uid, ['username', 'userslug', 'picture', 'status'], next);
|
||||||
|
} else {
|
||||||
|
next();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, function(err, results) {
|
}, function(err, results) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
templateValues.browserTitle = results.title;
|
templateValues.browserTitle = results.title;
|
||||||
templateValues.isAdmin = results.isAdmin || false;
|
templateValues.isAdmin = results.isAdmin || false;
|
||||||
|
templateValues.user = results.user;
|
||||||
|
|
||||||
app.render('header', templateValues, callback);
|
app.render('header', templateValues, callback);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ var fs = require('fs'),
|
|||||||
};
|
};
|
||||||
|
|
||||||
Plugins.hasListeners = function(hook) {
|
Plugins.hasListeners = function(hook) {
|
||||||
return (Plugins.loadedHooks[hook] && Plugins.loadedHooks[hook].length > 0);
|
return !!(Plugins.loadedHooks[hook] && Plugins.loadedHooks[hook].length > 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
Plugins.fireHook = function(hook) {
|
Plugins.fireHook = function(hook) {
|
||||||
|
|||||||
@@ -44,37 +44,6 @@ SocketMeta.buildTitle = function(socket, text, callback) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
SocketMeta.updateHeader = function(socket, data, callback) {
|
|
||||||
if(!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (socket.uid) {
|
|
||||||
user.getUserFields(socket.uid, data.fields, function(err, fields) {
|
|
||||||
if(err) {
|
|
||||||
return callback(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fields) {
|
|
||||||
fields.uid = socket.uid;
|
|
||||||
callback(null, fields);
|
|
||||||
} else {
|
|
||||||
callback(null, []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
callback(null, {
|
|
||||||
uid: 0,
|
|
||||||
username: '[[global:guest]]',
|
|
||||||
email: '',
|
|
||||||
picture: user.createGravatarURLFromEmail(''),
|
|
||||||
config: {
|
|
||||||
allowGuestSearching: meta.config.allowGuestSearching
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
SocketMeta.getUsageStats = function(socket, data, callback) {
|
SocketMeta.getUsageStats = function(socket, data, callback) {
|
||||||
module.parent.exports.emitTopicPostStats(callback);
|
module.parent.exports.emitTopicPostStats(callback);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -87,21 +87,6 @@ SocketUser.changePicture = function(socket, data, callback) {
|
|||||||
|
|
||||||
var type = data.type;
|
var type = data.type;
|
||||||
|
|
||||||
function updateHeader(callback) {
|
|
||||||
user.getUserFields(socket.uid, ['picture'], function(err, fields) {
|
|
||||||
if(err) {
|
|
||||||
return callback(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fields) {
|
|
||||||
fields.uid = socket.uid;
|
|
||||||
socket.emit('meta.updateHeader', null, fields);
|
|
||||||
}
|
|
||||||
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function changePicture(uid, callback) {
|
function changePicture(uid, callback) {
|
||||||
user.getUserField(uid, type, function(err, picture) {
|
user.getUserField(uid, type, function(err, picture) {
|
||||||
if(err) {
|
if(err) {
|
||||||
@@ -125,7 +110,7 @@ SocketUser.changePicture = function(socket, data, callback) {
|
|||||||
if(err) {
|
if(err) {
|
||||||
return callback(err);
|
return callback(err);
|
||||||
}
|
}
|
||||||
updateHeader(callback);
|
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user