Merge remote-tracking branch 'origin/master'

# Conflicts:
#	public/src/modules/navigator.js
This commit is contained in:
barisusakli
2016-03-29 12:40:58 +03:00
13 changed files with 33 additions and 20 deletions

View File

@@ -55,7 +55,7 @@
"nodebb-theme-lavender": "3.0.9",
"nodebb-theme-persona": "4.0.114",
"nodebb-theme-vanilla": "5.0.61",
"nodebb-widget-essentials": "2.0.8",
"nodebb-widget-essentials": "2.0.9",
"nodemailer": "2.0.0",
"nodemailer-sendmail-transport": "1.0.0",
"nodemailer-smtp-transport": "^2.4.1",

View File

@@ -27,7 +27,7 @@
"password-too-long": "Mot de passe trop long",
"user-banned": "Utilisateur banni",
"user-too-new": "Désolé, vous devez attendre encore %1 seconde(s) avant d'envoyer votre premier message",
"blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.",
"blacklisted-ip": "Désolé, votre adresse IP a été bannie de cette communauté. Si vous pensez que c'est une erreur, veuillez contacter un administrateur.",
"no-category": "Cette catégorie n'existe pas",
"no-topic": "Ce sujet n'existe pas",
"no-post": "Ce message n'existe pas",
@@ -99,5 +99,5 @@
"no-session-found": "Pas de session de connexion trouvé!",
"not-in-room": "L'utilisateur n'est pas dans cette salle",
"no-users-in-room": "Aucun utilisateur dans cette salle",
"cant-kick-self": "You can't kick yourself from the group"
"cant-kick-self": "Vous ne pouvez pas vous exclure vous-même du groupe"
}

View File

@@ -29,13 +29,13 @@
"header.popular": "Populaire",
"header.users": "Utilisateurs",
"header.groups": "Groupes",
"header.chats": "Chats",
"header.chats": "Discussions",
"header.notifications": "Notifications",
"header.search": "Recherche",
"header.profile": "Profil",
"header.navigation": "Navigation",
"notifications.loading": "Chargement des notifications",
"chats.loading": "Chargement des chats",
"chats.loading": "Chargement des discussions",
"motd.welcome": "Bienvenue sur NodeBB, la plate-forme de discussion du futur.",
"previouspage": "Page précédente",
"nextpage": "Page suivante",

View File

@@ -41,7 +41,7 @@
"details.hidden": "Masqué",
"details.hidden_help": "Si cette case est cochée, ce groupe n'est pas affiché dans la liste des groupes, et les utilisateurs devront être invités manuellement.",
"details.delete_group": "Supprimer le groupe",
"details.private_system_help": "Private groups is disabled at system level, this option does not do anything",
"details.private_system_help": "Les groupes privés sont désactivés au niveau du système, cette option ne déclenche rien",
"event.updated": "Les détails du groupe ont été mis à jour",
"event.deleted": "Le groupe \"%1\" a été supprimé",
"membership.accept-invitation": "Accepter l'invitation",

View File

@@ -1,14 +1,14 @@
{
"chat.chatting_with": "Discuter avec <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Tapez votre message ici, appuyez sur Entrer pour envoyer",
"chat.placeholder": "Tapez votre message ici, appuyez sur Entrée pour envoyer",
"chat.send": "Envoyer",
"chat.no_active": "Vous n'avez aucune discussion en cours.",
"chat.user_typing": "%1 est en train d'écrire ...",
"chat.user_has_messaged_you": "%1 vous a envoyé un message.",
"chat.see_all": "Voir toutes les discussions",
"chat.mark_all_read": "Mark all chats read",
"chat.mark_all_read": "Marquer toutes les discussions comme lues",
"chat.no-messages": "Veuillez sélectionner un destinataire pour voir l'historique des discussions",
"chat.no-users-in-room": "Aucun utilisateur dans cette salle",
"chat.no-users-in-room": "Aucun participant à cette discussion",
"chat.recent-chats": "Discussions récentes",
"chat.contacts": "Contacts",
"chat.message-history": "Historique des messages",
@@ -19,7 +19,7 @@
"chat.three_months": "3 Mois",
"chat.delete_message_confirm": "Êtes-vous sûr de vouloir supprimer ce message ?",
"chat.roomname": "Salle de discussion %1",
"chat.add-users-to-room": "Ajouter des utilisateurs à la salle",
"chat.add-users-to-room": "Ajouter des participants",
"composer.compose": "Écrire",
"composer.show_preview": "Afficher l'aperçu",
"composer.hide_preview": "Masquer l'aperçu",

View File

@@ -39,7 +39,7 @@
"change_username": "Changer le nom d'utilisateur",
"change_email": "Changer l'e-mail",
"edit": "Éditer",
"edit-profile": "Edit Profile",
"edit-profile": "Éditer le profil",
"default_picture": "Icône par défaut",
"uploaded_picture": "Image envoyée",
"upload_new_picture": "Envoyer une nouvelle image",
@@ -92,7 +92,7 @@
"open_links_in_new_tab": "Ouvrir les liens externes dans un nouvel onglet",
"enable_topic_searching": "Activer la recherche dans les sujets",
"topic_search_help": "Une fois activé, la recherche dans les sujets va remplacer la recherche de page du navigateur et vous permettra de rechercher dans l'intégralité d'un sujet au lieu des seuls posts affichés à l'écran.",
"scroll_to_my_post": "After posting a reply, show the new post",
"scroll_to_my_post": "Après avoir répondu, montrer le nouveau message",
"follow_topics_you_reply_to": "Suivre les sujets auxquels vous répondez",
"follow_topics_you_create": "Suivre les sujets que vous créez",
"grouptitle": "Sélectionnez le titre de groupe que vous souhaitez afficher",

View File

@@ -3,7 +3,7 @@
"top_posters": "Actifs",
"most_reputation": "Réputés",
"search": "Rechercher",
"enter_username": "Entrer un nom d'utilisateur pour rechercher",
"enter_username": "Entrez le nom d'un utilisateur",
"load_more": "Charger la suite",
"users-found-search-took": "%1 utilisateur(s) trouvé(s)! La recherche a pris %2 secondes.",
"filter-by": "Filtrer par",

View File

@@ -14,7 +14,7 @@
&[data-state="unloaded"], &[data-state="loading"] {
display: inherit;
height: 1rem;
height: 2rem;
opacity: 0;
}

View File

@@ -10,7 +10,9 @@ define('forum/topic/posts', [
'components'
], function(pagination, infinitescroll, postTools, navigator, components) {
var Posts = {};
var Posts = {
_threshold: 0
};
Posts.onNewPost = function(data) {
if (!data || !data.posts || !data.posts.length) {
@@ -255,6 +257,7 @@ define('forum/topic/posts', [
If no threshold is defined, loaded images will push down content, as per
default
*/
Posts._threshold = threshold;
var images = components.get('post/content').find('img[data-state="unloaded"]'),
visible = images.filter(function() {
@@ -272,7 +275,7 @@ define('forum/topic/posts', [
newHeight = document.body.clientHeight;
var imageRect = this.getBoundingClientRect();
if (imageRect.top < threshold) {
if (imageRect.top < Posts._threshold) {
scrollTop = scrollTop + (newHeight - oldHeight);
$(window).scrollTop(scrollTop);
}

View File

@@ -134,7 +134,6 @@ define('navigator', ['forum/pagination', 'components'], function(pagination, com
if (threshold === undefined) {
var anchorEl = components.get('post/anchor', index - 1);
var anchorRect = anchorEl.get(0).getBoundingClientRect();
threshold = anchorRect.top;
}

View File

@@ -77,10 +77,17 @@ usersController.banned = function(req, res, next) {
};
usersController.registrationQueue = function(req, res, next) {
var page = parseInt(req.query.page, 10) || 1;
var itemsPerPage = 20;
var start = (page - 1) * 20;
var stop = start + itemsPerPage - 1;
var invitations;
async.parallel({
registrationQueueCount: function(next) {
db.sortedSetCard('registration:queue', next);
},
users: function(next) {
user.getRegistrationQueue(0, -1, next);
user.getRegistrationQueue(start, stop, next);
},
invites: function(next) {
async.waterfall([
@@ -118,6 +125,8 @@ usersController.registrationQueue = function(req, res, next) {
if (err) {
return next(err);
}
var pageCount = Math.max(1, Math.ceil(data.registrationQueueCount / itemsPerPage));
data.pagination = pagination.create(page, pageCount);
res.render('admin/manage/registration', data);
});
};
@@ -146,7 +155,7 @@ function getUsers(set, section, req, res, next) {
var data = {
users: results.users,
page: page,
pageCount: Math.ceil(results.count / resultsPerPage)
pageCount: Math.max(1, Math.ceil(results.count / resultsPerPage))
};
data[section] = true;
render(req, res, data);

View File

@@ -158,7 +158,7 @@ module.exports = function(User) {
return user;
}).filter(Boolean);
async.mapLimit(users, 20, function(user, next) {
async.map(users, function(user, next) {
if (!user) {
return next(null, user);
}

View File

@@ -55,6 +55,8 @@
</tr>
<!-- END users -->
</table>
<!-- IMPORT partials/paginator.tpl -->
</div>
<div class="invitations panel panel-success">