Merge remote-tracking branch 'origin/master' into socketAL

v1.18.x
Julian Lam 11 years ago
commit 5a589c885a

@ -89,6 +89,12 @@ define(['uploader'], function(uploader) {
uploader.hideAlerts();
});
$('#settings-tab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
return false;
});
};
Settings.remove = function(key) {

@ -250,18 +250,9 @@
});
function updateUnreadCount(count) {
var badge = $('#numUnreadBadge');
badge.html(count > 20 ? '20+' : count);
if (count > 0) {
badge
.removeClass('badge-inverse')
.addClass('badge-important');
} else {
badge
.removeClass('badge-important')
.addClass('badge-inverse');
}
$('#unread-count').toggleClass('unread-count', count > 0);
$('#unread-count').attr('data-content', count > 20 ? '20+' : count);
}
socket.on('event:unread.updateCount', updateUnreadCount);

@ -996,13 +996,13 @@ define(['composer'], function(composer) {
return;
}
var container = $(document.body),
var container = $(window),
scrollTo = $('#post_anchor_' + pid),
tid = $('#post-container').attr('data-tid');
function animateScroll() {
$('body,html').animate({
scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop() - $('#header-menu').height()
$('window,html').animate({
scrollTop: scrollTo.offset().top + container.scrollTop() - $('#header-menu').height()
}, 400);
}

@ -58,6 +58,7 @@ define(['taskbar', 'string'], function(taskbar, S) {
chatModal.attr('id', 'chat-modal-' + touid);
chatModal.attr('UUID', uuid);
chatModal.css("position", "fixed");
chatModal.appendTo($('body'));
chatModal.draggable({
start:function() {
@ -96,9 +97,10 @@ define(['taskbar', 'string'], function(taskbar, S) {
}
module.center = function(chatModal) {
chatModal.css("position", "fixed");
chatModal.css("left", Math.max(0, (($(window).width() - $(chatModal).outerWidth()) / 2) + $(window).scrollLeft()) + "px");
chatModal.css("top", "0px");
chatModal.css("zIndex", 2000);
chatModal.find('#chat-message-input').focus();
return chatModal;
}
@ -109,7 +111,7 @@ define(['taskbar', 'string'], function(taskbar, S) {
checkOnlineStatus(chatModal);
taskbar.updateActive(uuid);
scrollToBottom(chatModal.find('#chat-content'));
chatModal.find('#chat-message-input').focus();
module.center(chatModal);
}
module.minimize = function(uuid) {
@ -163,10 +165,12 @@ define(['taskbar', 'string'], function(taskbar, S) {
};
function scrollToBottom(chatContent) {
if(chatContent[0]) {
chatContent.scrollTop(
chatContent[0].scrollHeight - chatContent.height()
);
}
}
module.toggleNew = function(uuid, state) {
taskbar.toggleNew(uuid, state);

@ -1,7 +1,17 @@
<h1><i class="fa fa-cogs"></i> Settings</h1>
<hr />
<h3>General Settings</h3>
<ul id="settings-tab" class="nav nav-tabs">
<li class="active"><a href="#general" data-toggle="tab">General</a></li>
<li><a href="#privilege-thresholds" data-toggle="tab">Privilege Thresholds</a></li>
<li><a href="#email" data-toggle="tab">Email</a></li>
<li><a href="#user" data-toggle="tab">User</a></li>
<li><a href="#post" data-toggle="tab">Post</a></li>
<li><a href="#web-crawler" data-toggle="tab">Web Crawler</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="general">
<div class="alert alert-warning">
<form>
<label>Site Title</label>
@ -12,19 +22,18 @@
<input type="text" class="form-control" placeholder="Keywords describing your community, comma-seperated" data-field="keywords" /><br />
<label>Site Logo</label>
<input id="logoUrl" type="text" class="form-control" placeholder="Path to a logo to display on forum header" data-field="brand:logo" /><br />
<input id="uploadLogoBtn" type="button" class="btn btn-default" value="Upload Logo"></input> <br />
<input id="uploadLogoBtn" type="button" class="btn btn-default" value="Upload Logo"></input> <br /> <br/>
<label>Imgur Client ID</label>
<input type="text" class="form-control" placeholder="Imgur ClientID for image uploads" data-field="imgurClientID" /><br />
<label>Maximum User Image Size</label>
<input type="text" class="form-control" placeholder="Maximum size of uploaded user images in kilobytes" data-field="maximumProfileImageSize" /><br />
<label>Favicon</label><br />
<input id="faviconUrl" type="text" class="form-control" placeholder="favicon.ico" data-field="brand:favicon" /><br />
<input id="uploadFaviconBtn" type="button" class="btn btn-default" value="Upload Favicon"></input> <br />
</form>
</div>
</div>
<div class="tab-pane" id="privilege-thresholds">
<form>
<h3>Privilege Thresholds</h3>
<div class="alert alert-warning">
<p>Use <strong>privilege thresholds</strong> to manage how much reputation a user must gain to receive moderator access.</p><br />
<strong>Manage Thread</strong><br /> <input type="text" class="form-control" value="1000" data-field="privileges:manage_topic"><br />
@ -36,9 +45,9 @@
</div>
</div>
</form>
</div>
<div class="tab-pane" id="email">
<form>
<h3>Email Settings</h3>
<div class="alert alert-warning">
<div>
<p>
@ -52,31 +61,28 @@
</div>
</div>
</form>
</div>
<div class="tab-pane" id="user">
<form>
<h3>Profile Settings</h3>
<div class="alert alert-warning">
<div class="checkbox">
<label>
<input type="checkbox" data-field="profile:convertProfileImageToPNG"> <strong>Convert profile image uploads to PNG</strong>
<input type="checkbox" data-field="allowRegistration" checked> <strong>Allow registration</strong>
</label>
</div>
</div>
</form>
<form>
<h3>User Settings</h3>
<div class="alert alert-warning">
<div class="checkbox">
<label>
<input type="checkbox" data-field="allowRegistration" checked> <strong>Allow registration</strong>
<input type="checkbox" data-field="disableSignatures"> <strong>Disable signatures</strong>
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" data-field="disableSignatures"> <strong>Disable signatures</strong>
<input type="checkbox" data-field="profile:convertProfileImageToPNG"> <strong>Convert profile image uploads to PNG</strong>
</label>
</div>
<label>Maximum User Image File Size</label>
<input type="text" class="form-control" placeholder="Maximum size of uploaded user images in kilobytes" data-field="maximumProfileImageSize" /><br />
<strong>Minimum Username Length</strong><br />
<input type="text" class="form-control" value="2" data-field="minimumUsernameLength"><br />
<strong>Maximum Username Length</strong><br />
@ -87,9 +93,10 @@
<input type="text" class="form-control" value="255" data-field="maximumSignatureLength"><br />
</div>
</form>
</div>
<div class="tab-pane" id="post">
<form>
<h3>Post Settings</h3>
<div class="alert alert-warning">
<strong>Post Delay</strong><br /> <input type="text" class="form-control" value="10000" data-field="postDelay"><br />
<strong>Minimum Title Length</strong><br /> <input type="text" class="form-control" value="3" data-field="minimumTitleLength"><br />
@ -124,14 +131,18 @@
<strong>Maximum File Size</strong><br /> <input type="text" class="form-control" value="2048" data-field="maximumFileSize"><br />
</div>
</form>
</div>
<div class="tab-pane" id="web-crawler">
<form>
<h3>Web Crawler Settings</h3>
<div class="alert alert-warning">
<strong>Custom Robots.txt <small>Leave blank for default</small></strong><br />
<textarea class="form-control" data-field="robots.txt"></textarea>
</div>
</form>
</div>
</div>
<button class="btn btn-lg btn-primary" id="save">Save</button>

@ -58,7 +58,7 @@
<a href="{relative_path}/recent"><i class="fa fa-clock-o" title="[[global:header.recent]]"></i></a>
</li>
<li class="nodebb-loggedin">
<a href="{relative_path}/unread"><i class="fa fa-envelope" title="[[global:header.unread]]"> <span id="numUnreadBadge" class="">0</span></i></a>
<a href="{relative_path}/unread"><i id="unread-count" class="fa fa-inbox" data-content="0" title="[[global:header.unread]]"></i></a>
</li>
<li>
<a href="{relative_path}/users"><i class="fa fa-users" title="[[global:header.users]]"></i></a>

Loading…
Cancel
Save