Merge pull request #472 from rgarmsen2295/mm-1853

MM-1853 Prevents users from typing more than 4000 characters into any any post/comment
Этот коммит содержится в:
Christopher Speller
2015-08-27 10:01:54 -04:00
родитель cf1c2ad2cc a56603d666
Коммит d5e202a4d9
6 изменённых файлов: 72 добавлений и 8 удалений

Просмотреть файл

@@ -987,6 +987,58 @@ module.exports.isBrowserFirefox = function() {
return navigator && navigator.userAgent && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
};
// Checks if browser is IE10 or IE11
module.exports.isBrowserIE = function() {
if (window.navigator && window.navigator.userAgent) {
var ua = window.navigator.userAgent;
return ua.indexOf('Trident/7.0') > 0 || ua.indexOf('Trident/6.0') > 0;
}
return false;
};
module.exports.isBrowserEdge = function() {
return window.naviagtor && navigator.userAgent && navigator.userAgent.toLowerCase().indexOf('edge') > -1;
};
// Gets text length consistent with maxlength property of textarea html tag
module.exports.getLengthOfTextInTextarea = function(messageText) {
// Need to get length with carriage returns counting as two characters to match textbox maxlength behavior
// unless ie10/ie11/edge which already do
var len = messageText.length;
if (!module.exports.isBrowserIE() && !module.exports.isBrowserEdge()) {
len = messageText.replace(/\r(?!\n)|\n(?!\r)/g, '--').length;
}
return len;
};
module.exports.checkMessageLengthError = function(message, currentError, newError) {
var updatedError = currentError;
var len = module.exports.getLengthOfTextInTextarea(message);
if (!currentError && len >= Constants.MAX_POST_LEN) {
updatedError = newError;
} else if (currentError === newError && len < Constants.MAX_POST_LEN) {
updatedError = '';
}
return updatedError;
};
// Necessary due to issues with textarea max length and pasting newlines
module.exports.truncateText = function(message) {
var lengthDifference = module.exports.getLengthOfTextInTextarea(message) - message.length;
if (lengthDifference > 0) {
return message.substring(0, Constants.MAX_POST_LEN - lengthDifference);
}
return message.substring(0, Constants.MAX_POST_LEN);
};
// Used to get the id of the other user from a DM channel
module.exports.getUserIdFromChannelName = function(channel) {
var ids = channel.name.split('__');