diff --git a/public/src/forum/accountedit.js b/public/src/forum/accountedit.js
index f4c86f3ba4..b681522457 100644
--- a/public/src/forum/accountedit.js
+++ b/public/src/forum/accountedit.js
@@ -41,6 +41,17 @@ define(['forum/accountheader', 'uploader'], function(header, uploader) {
return false;
});
+
+ function getSignatureCharsLeft() {
+ return '(' + $('#inputSignature').val().length + '/' + config.maximumSignatureLength + ')';
+ }
+
+ $('#signatureCharCountLeft').html(getSignatureCharsLeft());
+
+ $('#inputSignature').on('keyup change', function(ev) {
+ $('#signatureCharCountLeft').html(getSignatureCharsLeft());
+ });
+
$('#changePictureBtn').on('click', function() {
selectedImageType = '';
AccountEdit.updateImages();
diff --git a/public/templates/accountedit.tpl b/public/templates/accountedit.tpl
index fa0e64d055..9dd8d97ef4 100644
--- a/public/templates/accountedit.tpl
+++ b/public/templates/accountedit.tpl
@@ -84,9 +84,9 @@
-
+
-
+
diff --git a/public/templates/admin/settings.tpl b/public/templates/admin/settings.tpl
index 4a72c95fcc..ea3655bd24 100644
--- a/public/templates/admin/settings.tpl
+++ b/public/templates/admin/settings.tpl
@@ -83,6 +83,8 @@
Minimum Password Length
+ Maximum Signature Length
+
diff --git a/src/install.js b/src/install.js
index ba59ac4826..dd65779b92 100644
--- a/src/install.js
+++ b/src/install.js
@@ -220,6 +220,9 @@ var async = require('async'),
}, {
field: 'imgurClientID',
value: ''
+ }, {
+ field: 'maximumSignatureLength',
+ value: 255
}, {
field: 'maximumProfileImageSize',
value: 256
diff --git a/src/routes/api.js b/src/routes/api.js
index cb28e0bffb..780c10653a 100644
--- a/src/routes/api.js
+++ b/src/routes/api.js
@@ -34,9 +34,10 @@ var path = require('path'),
config.minimumUsernameLength = meta.config.minimumUsernameLength;
config.maximumUsernameLength = meta.config.maximumUsernameLength;
config.minimumPasswordLength = meta.config.minimumPasswordLength;
+ config.maximumSignatureLength = meta.config.maximumSignatureLength;
config.useOutgoingLinksPage = meta.config.useOutgoingLinksPage;
config.emailSetup = !!meta.config['email:from'];
-
+console.log(config);
res.json(200, config);
});
@@ -149,11 +150,11 @@ var path = require('path'),
} else {
next();
}
- }, req.params.id, uid);
+ }, req.params.id, uid);
} else {
res.send(403);
}
-
+
});
} else {
res.send(403);
diff --git a/src/user.js b/src/user.js
index fd6a6eea31..6a79652b08 100644
--- a/src/user.js
+++ b/src/user.js
@@ -190,9 +190,9 @@ var bcrypt = require('bcrypt'),
};
function isSignatureValid(next) {
- if (data.signature !== undefined && data.signature.length > 150) {
+ if (data.signature !== undefined && data.signature.length > meta.config.maximumSignatureLength) {
next({
- error: 'Signature can\'t be longer than 150 characters!'
+ error: 'Signature can\'t be longer than ' + meta.config.maximumSignatureLength + ' characters!'
}, false);
} else {
next(null, true);