mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 11:35:55 +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");
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
socket.emit('meta.updateHeader', {
|
||||
fields: ['username', 'picture', 'userslug']
|
||||
}, app.updateHeader);
|
||||
}
|
||||
|
||||
function onConfigLoad(data) {
|
||||
@@ -98,10 +94,6 @@ var socket,
|
||||
|
||||
app.showLoginMessage();
|
||||
|
||||
socket.emit('meta.updateHeader', {
|
||||
fields: ['username', 'picture', 'userslug']
|
||||
}, app.updateHeader);
|
||||
|
||||
$(window).trigger('action:connected');
|
||||
});
|
||||
|
||||
@@ -146,8 +138,6 @@ var socket,
|
||||
setTimeout(app.logout, 1000);
|
||||
});
|
||||
|
||||
socket.on('meta.updateHeader', app.updateHeader);
|
||||
|
||||
app.enterRoom('global');
|
||||
|
||||
if (config.environment === 'development' && console && console.log) {
|
||||
@@ -289,7 +279,7 @@ var socket,
|
||||
app.replaceSelfLinks = function(selector) {
|
||||
selector = selector || $('a');
|
||||
selector.each(function() {
|
||||
var href = $(this).attr('href')
|
||||
var href = $(this).attr('href');
|
||||
if (href && 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() {
|
||||
$(document).ready(function() {
|
||||
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() {
|
||||
$('document').ready(function () {
|
||||
@@ -556,12 +516,13 @@ var socket,
|
||||
url: url
|
||||
});
|
||||
|
||||
$('#search-form').on('submit', function () {
|
||||
var input = $(this).find('input');
|
||||
ajaxify.go("search/" + input.val().replace(/^[ ?#]*/, ''));
|
||||
input.val('');
|
||||
return false;
|
||||
});
|
||||
collapseNavigationOnClick();
|
||||
|
||||
handleStatusChange();
|
||||
|
||||
handleSearch();
|
||||
|
||||
$('#logout-link').on('click', app.logout);
|
||||
|
||||
$(window).blur(function(){
|
||||
app.isFocused = false;
|
||||
|
||||
@@ -26,6 +26,7 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
||||
handleImageUpload();
|
||||
handlePasswordChange();
|
||||
updateSignature();
|
||||
updateImages();
|
||||
};
|
||||
|
||||
function updateProfile() {
|
||||
@@ -66,7 +67,7 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
||||
$('.account-username-box').attr('data-userslug', 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') {
|
||||
$('#user-current-picture').attr('src', gravatarPicture);
|
||||
$('#user-header-picture').attr('src', gravatarPicture);
|
||||
} else if (selectedImageType === 'uploaded') {
|
||||
$('#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-uploaded-picture').attr('src', imageUrlOnServer);
|
||||
$('#user-header-picture').attr('src', imageUrlOnServer);
|
||||
|
||||
uploadedPicture = imageUrlOnServer;
|
||||
|
||||
socket.emit('meta.updateHeader', {
|
||||
fields: ['username', 'picture', 'userslug']
|
||||
}, app.updateHeader);
|
||||
});
|
||||
|
||||
return false;
|
||||
@@ -223,7 +223,7 @@ define(['forum/account/header', 'uploader'], function(header, uploader) {
|
||||
$('#gravatar-box').toggle(!!gravatarPicture);
|
||||
$('#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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
define(['notifications', 'chat'], function(Notifications, Chat) {
|
||||
|
||||
socket.emit('meta.updateHeader', {
|
||||
fields: ['username', 'picture', 'userslug']
|
||||
}, app.updateHeader);
|
||||
|
||||
Notifications.prepareDOM();
|
||||
Chat.prepareDOM();
|
||||
translator.prepareDOM();
|
||||
|
||||
@@ -207,7 +207,7 @@ middleware.renderHeader = function(req, res, callback) {
|
||||
csrf: res.locals.csrf_token,
|
||||
navigation: custom_header.navigation,
|
||||
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 = {
|
||||
'&': '&',
|
||||
@@ -264,13 +264,22 @@ middleware.renderHeader = function(req, res, callback) {
|
||||
},
|
||||
isAdmin: function(next) {
|
||||
user.isAdministrator(uid, next);
|
||||
},
|
||||
user: function(next) {
|
||||
if (uid) {
|
||||
user.getUserFields(uid, ['username', 'userslug', 'picture', 'status'], next);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}
|
||||
}, function(err, results) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
templateValues.browserTitle = results.title;
|
||||
templateValues.isAdmin = results.isAdmin || false;
|
||||
templateValues.user = results.user;
|
||||
|
||||
app.render('header', templateValues, callback);
|
||||
});
|
||||
|
||||
@@ -291,7 +291,7 @@ var fs = require('fs'),
|
||||
};
|
||||
|
||||
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) {
|
||||
|
||||
@@ -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) {
|
||||
module.parent.exports.emitTopicPostStats(callback);
|
||||
};
|
||||
|
||||
@@ -87,21 +87,6 @@ SocketUser.changePicture = function(socket, data, callback) {
|
||||
|
||||
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) {
|
||||
user.getUserField(uid, type, function(err, picture) {
|
||||
if(err) {
|
||||
@@ -125,7 +110,7 @@ SocketUser.changePicture = function(socket, data, callback) {
|
||||
if(err) {
|
||||
return callback(err);
|
||||
}
|
||||
updateHeader(callback);
|
||||
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user