Merge branch 'persona-2.1' into v0.8.x

v1.18.x
psychobunny 10 years ago
commit 541080777f

@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "0.7.3",
"version": "0.7.4",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@ -49,8 +49,8 @@
"nodebb-plugin-spam-be-gone": "0.4.1",
"nodebb-rewards-essentials": "0.0.3",
"nodebb-theme-lavender": "1.0.52",
"nodebb-theme-persona": "2.0.28",
"nodebb-theme-vanilla": "3.0.17",
"nodebb-theme-persona": "2.1.4",
"nodebb-theme-vanilla": "3.1.2",
"nodebb-widget-essentials": "1.0.5",
"npm": "^2.1.4",
"passport": "^0.3.0",

@ -487,13 +487,13 @@ app.cacheBuster = null;
};
function handleStatusChange() {
$('#user-control-list .user-status').off('click').on('click', function(e) {
$('[component="header/usercontrol"] [data-status]').off('click').on('click', function(e) {
var status = $(this).attr('data-status');
socket.emit('user.setStatus', status, function(err, data) {
if(err) {
return app.alertError(err.message);
}
$('#logged-in-menu #user_label #user-profile-link>i').attr('class', 'fa fa-circle status ' + status);
$('[component="user/status"]').attr('class', 'fa fa-circle status ' + status);
app.user.status = status;
});
e.preventDefault();
@ -553,7 +553,9 @@ app.cacheBuster = null;
handleNewTopic();
$('#logout-link').on('click', app.logout);
require(['components'], function(components) {
components.get('user/logout').on('click', app.logout);
});
Visibility.change(function(e, state){
if (state === 'visible') {

@ -87,18 +87,20 @@ define('forum/account/edit', ['forum/account/header', 'uploader', 'translator'],
}
function updateHeader(picture, username, userslug) {
if (parseInt(ajaxify.data.theirid, 10) !== parseInt(ajaxify.data.yourid, 10)) {
return;
}
require(['components'], function(components) {
if (parseInt(ajaxify.data.theirid, 10) !== parseInt(ajaxify.data.yourid, 10)) {
return;
}
if (picture) {
$('#user-header-picture').attr('src', picture);
}
if (picture) {
components.get('header/userpicture').attr('src', picture);
}
if (username && userslug) {
$('#user-profile-link').attr('href', config.relative_path + '/user/' + userslug);
$('#user-header-name').text(username);
}
if (username && userslug) {
components.get('header/profilelink').attr('href', config.relative_path + '/user/' + userslug);
components.get('header/username').text(username);
}
});
}
function handleImageChange() {

@ -7,9 +7,8 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra
var newMessage = false;
module.prepareDOM = function() {
var chatsToggleEl = $('#chat_dropdown'),
chatsListEl = $('#chat-list'),
dropdownEl;
var chatsToggleEl = components.get('chat/dropdown'),
chatsListEl = components.get('chat/list');
// Sync open chats between all user socket sessions
module.sync();
@ -19,46 +18,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra
return;
}
socket.emit('modules.chats.getRecentChats', {after: 0}, function(err, chats) {
if (err) {
return app.alertError(err.message);
}
chats = chats.users;
var userObj;
chatsListEl.empty();
if (!chats.length) {
translator.translate('[[modules:chat.no_active]]', function(str) {
$('<li />')
.addClass('no_active')
.html('<a href="#">' + str + '</a>')
.appendTo(chatsListEl);
});
return;
}
for(var x = 0; x<chats.length; ++x) {
userObj = chats[x];
dropdownEl = $('<li class="' + (userObj.unread ? 'unread' : '') + '"/>')
.attr('data-uid', userObj.uid)
.html('<a data-ajaxify="false">'+
'<img src="' + userObj.picture + '" title="' + userObj.username +'" />' +
'<i class="fa fa-circle status ' + userObj.status + '"></i> ' +
userObj.username + '</a>')
.appendTo(chatsListEl);
(function(userObj) {
dropdownEl.click(function() {
if (!ajaxify.currentPage.match(/^chats\//)) {
app.openChat(userObj.username, userObj.uid);
} else {
ajaxify.go('chats/' + utils.slugify(userObj.username));
}
});
})(userObj);
}
});
module.loadChats(chatsListEl);
});
socket.on('event:chats.receive', function(data) {
@ -139,7 +99,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra
username: chatObj.options.title,
uid: chatObj.options.touid,
new: chatObj.element.hasClass('new')
}
};
});
callback(null, chats);
@ -170,6 +130,51 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra
});
};
module.loadChats = function(chatsListEl) {
var dropdownEl;
socket.emit('modules.chats.getRecentChats', {after: 0}, function(err, chats) {
if (err) {
return app.alertError(err.message);
}
chats = chats.users;
var userObj;
chatsListEl.empty();
if (!chats.length) {
translator.translate('[[modules:chat.no_active]]', function(str) {
$('<li />')
.addClass('no_active')
.html('<a href="#">' + str + '</a>')
.appendTo(chatsListEl);
});
return;
}
for(var x = 0; x<chats.length; ++x) {
userObj = chats[x];
dropdownEl = $('<li class="' + (userObj.unread ? 'unread' : '') + '"/>')
.attr('data-uid', userObj.uid)
.html('<a data-ajaxify="false">'+
'<img src="' + userObj.picture + '" title="' + userObj.username +'" />' +
'<i class="fa fa-circle status ' + userObj.status + '"></i> ' +
userObj.username + '</a>')
.appendTo(chatsListEl);
(function(userObj) {
dropdownEl.click(function() {
if (!ajaxify.currentPage.match(/^chats\//)) {
app.openChat(userObj.username, userObj.uid);
} else {
ajaxify.go('chats/' + utils.slugify(userObj.username));
}
});
})(userObj);
}
});
};
module.bringModalToTop = function(chatModal) {
var topZ = 0;

@ -17,25 +17,7 @@ define('notifications', ['sounds', 'translator'], function(sound, translator) {
return;
}
socket.emit('notifications.get', null, function(err, data) {
if (err) {
return app.alertError(err.message);
}
var notifs = data.unread.concat(data.read).sort(function(a, b) {
return parseInt(a.datetime, 10) > parseInt(b.datetime, 10) ? -1 : 1;
});
translator.toggleTimeagoShorthand();
for(var i=0; i<notifs.length; ++i) {
notifs[i].timeago = $.timeago(new Date(parseInt(notifs[i].datetime, 10)));
}
translator.toggleTimeagoShorthand();
templates.parse('partials/notifications_list', {notifications: notifs}, function(html) {
notifList.translateHtml(html);
});
});
Notifications.loadNotifications(notifList);
});
notifList.on('click', '[data-nid]', function() {
@ -114,6 +96,28 @@ define('notifications', ['sounds', 'translator'], function(sound, translator) {
});
};
Notifications.loadNotifications = function(notifList) {
socket.emit('notifications.get', null, function(err, data) {
if (err) {
return app.alertError(err.message);
}
var notifs = data.unread.concat(data.read).sort(function(a, b) {
return parseInt(a.datetime, 10) > parseInt(b.datetime, 10) ? -1 : 1;
});
translator.toggleTimeagoShorthand();
for(var i=0; i<notifs.length; ++i) {
notifs[i].timeago = $.timeago(new Date(parseInt(notifs[i].datetime, 10)));
}
translator.toggleTimeagoShorthand();
templates.parse('partials/notifications_list', {notifications: notifs}, function(html) {
notifList.translateHtml(html);
});
});
};
Notifications.updateNotifCount = function(count) {
var notifIcon = $('.notification-icon');

Loading…
Cancel
Save