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