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:
barisusakli
2014-05-06 18:42:38 -04:00
parent 678f0f436e
commit 883978007d
7 changed files with 76 additions and 156 deletions

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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();

View File

@@ -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);
});

View File

@@ -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) {

View File

@@ -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);
};

View File

@@ -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;
}