Skip to content

Commit 5011132

Browse files
committed
MOBILE-1987 text: Format HTML if RTE disabled
1 parent b1bbb99 commit 5011132

File tree

12 files changed

+57
-32
lines changed

12 files changed

+57
-32
lines changed

www/addons/messages/controllers/discussion.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ angular.module('mm.addons.messages')
2424
.controller('mmaMessagesDiscussionCtrl', function($scope, $stateParams, $mmApp, $mmaMessages, $mmSite, $timeout, $mmEvents, $window,
2525
$ionicScrollDelegate, mmUserProfileState, $mmUtil, mmaMessagesPollInterval, $interval, $log, $ionicHistory, $ionicPlatform,
2626
mmCoreEventKeyboardShow, mmCoreEventKeyboardHide, mmaMessagesDiscussionLoadedEvent, mmaMessagesDiscussionLeftEvent,
27-
$mmUser, $translate, mmaMessagesNewMessageEvent, mmaMessagesAutomSyncedEvent, $mmaMessagesSync, $q, md5,
27+
$mmUser, $translate, mmaMessagesNewMessageEvent, mmaMessagesAutomSyncedEvent, $mmaMessagesSync, $q, md5, $mmText,
2828
mmaMessagesReadChangedEvent) {
2929

3030
$log = $log.getInstance('mmaMessagesDiscussionCtrl');
@@ -107,7 +107,7 @@ angular.module('mm.addons.messages')
107107
$scope.data.showDelete = false;
108108
$scope.newMessage = ''; // Clear new message.
109109

110-
text = text.replace(/(?:\r\n|\r|\n)/g, '<br />');
110+
text = $mmText.replaceNewLines(text, '<br>');
111111
message = {
112112
pending: true,
113113
sending: true,

www/addons/messages/filters/format.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ angular.module('mm.addons.messages')
2424
.filter('mmaMessagesFormat', function($mmText) {
2525
return function(text) {
2626
text = text.replace(/-{4,}/ig, '');
27-
text = text.replace(/<br \/><br \/>/ig, "<br />");
28-
text = $mmText.replaceNewLines(text, '<br />');
27+
text = text.replace(/<br \/><br \/>/ig, "<br>");
28+
text = $mmText.replaceNewLines(text, '<br>');
2929
return text;
3030
};
3131
});

www/addons/mod/assign/feedback/comments/handlers.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ angular.module('mm.addons.mod_assign')
2121
* @ngdoc service
2222
* @name $mmaModAssignFeedbackCommentsHandler
2323
*/
24-
.factory('$mmaModAssignFeedbackCommentsHandler', function($mmText, $mmSite) {
24+
.factory('$mmaModAssignFeedbackCommentsHandler', function($mmText, $mmSite, $mmUtil) {
2525

2626
var self = {},
2727
drafts = {};
@@ -66,7 +66,14 @@ angular.module('mm.addons.mod_assign')
6666
self.prepareFeedbackData = function(assignId, userId, pluginData, siteId) {
6767
var draft = self.getDraft(assignId, userId, siteId);
6868
if (draft) {
69-
pluginData.assignfeedbackcomments_editor = draft;
69+
return $mmUtil.isRichTextEditorEnabled().then(function(enabled) {
70+
if (!enabled) {
71+
// Rich text editor not enabled, add some HTML to the text if needed.
72+
draft.text = $mmText.formatHtmlLines(draft.text);
73+
}
74+
75+
pluginData.assignfeedbackcomments_editor = draft;
76+
});
7077
}
7178
};
7279

www/addons/mod/assign/submission/onlinetext/handlers.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ angular.module('mm.addons.mod_assign')
2222
* @name $mmaModAssignSubmissionOnlinetextHandler
2323
*/
2424
.factory('$mmaModAssignSubmissionOnlinetextHandler', function($mmSite, $mmaModAssign, $q, $mmaModAssignHelper, $mmWS, $mmText,
25-
$mmaModAssignOffline) {
25+
$mmaModAssignOffline, $mmUtil) {
2626

2727
var self = {};
2828

@@ -166,11 +166,19 @@ angular.module('mm.addons.mod_assign')
166166
* @return {Void}
167167
*/
168168
self.prepareSubmissionData = function(assign, submission, plugin, inputData, pluginData, offline, userId, siteId) {
169-
pluginData.onlinetext_editor = {
170-
text: getTextToSubmit(plugin, inputData),
171-
format: 1,
172-
itemid: 0 // Can't add new files yet, so we use a fake itemid.
173-
};
169+
return $mmUtil.isRichTextEditorEnabled().then(function(enabled) {
170+
var text = getTextToSubmit(plugin, inputData);
171+
if (!enabled) {
172+
// Rich text editor not enabled, add some HTML to the text if needed.
173+
text = $mmText.formatHtmlLines(text);
174+
}
175+
176+
pluginData.onlinetext_editor = {
177+
text: text,
178+
format: 1,
179+
itemid: 0 // Can't add new files yet, so we use a fake itemid.
180+
};
181+
});
174182
};
175183

176184
/**

www/addons/mod/chat/controllers/chat.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ angular.module('mm.addons.mod_chat')
2222
* @name mmaModChatChatCtrl
2323
*/
2424
.controller('mmaModChatChatCtrl', function($scope, $stateParams, $mmApp, $mmaModChat, $log, $ionicModal, $mmUtil, $ionicHistory,
25-
$ionicScrollDelegate, $timeout, $mmSite, $interval, mmaChatPollInterval, $q) {
25+
$ionicScrollDelegate, $timeout, $mmSite, $interval, mmaChatPollInterval, $q, $mmText) {
2626

2727
$log = $log.getInstance('mmaModChatChatCtrl');
2828

@@ -173,7 +173,7 @@ angular.module('mm.addons.mod_chat')
173173
// Silent error.
174174
return;
175175
}
176-
text = text.replace(/(?:\r\n|\r|\n)/g, '<br />');
176+
text = $mmText.replaceNewLines(text, '<br>');
177177

178178
$mmaModChat.sendMessage($scope.chatsid, text, beep).then(function() {
179179
if (beep === '') {

www/addons/mod/forum/directives/discussionpost.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ angular.module('mm.addons.mod_forum')
160160
$mmUtil.isRichTextEditorEnabled().then(function(enabled) {
161161
if (!enabled) {
162162
// Rich text editor not enabled, add some HTML to the message if needed.
163-
message = message = $mmText.formatHtmlLines(message);
163+
message = $mmText.formatHtmlLines(message);
164164
}
165165

166166
// Upload attachments first if any.

www/addons/mod/wiki/controllers/edit.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ angular.module('mm.addons.mod_wiki')
7070

7171
if (rteEnabled) {
7272
text = $mmText.restorePluginfileUrls(text, subwikiFiles);
73+
} else {
74+
text = $mmText.formatHtmlLines(text);
7375
}
7476

7577
if (editing) {

www/addons/notifications/filters/format.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ angular.module('mm.addons.notifications')
2424
.filter('mmaNotificationsFormat', function($mmText) {
2525
return function(text) {
2626
text = text.replace(/-{4,}/ig, '');
27-
text = $mmText.replaceNewLines(text, '<br />');
27+
text = $mmText.replaceNewLines(text, '<br>');
2828
return text;
2929
};
3030
});

www/addons/userprofilefield/textarea/handlers.js

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ angular.module('mm.addons.userprofilefield_textarea')
2121
* @ngdoc service
2222
* @name $mmaUserProfileFieldTextareaHandler
2323
*/
24-
.factory('$mmaUserProfileFieldTextareaHandler', function() {
24+
.factory('$mmaUserProfileFieldTextareaHandler', function($mmUtil, $mmText) {
2525

2626
var self = {};
2727

@@ -41,20 +41,28 @@ angular.module('mm.addons.userprofilefield_textarea')
4141
* @param {Boolean} signup True if user is in signup page.
4242
* @param {String} [registerAuth] Register auth method. E.g. 'email'.
4343
* @param {Object} model Model with the input data.
44-
* @return {Object} Data to send for the field.
44+
* @return {Promise} Promise resolved with data to send for the field.
4545
*/
4646
self.getData = function(field, signup, registerAuth, model) {
4747
var name = 'profile_field_' + field.shortname;
4848

4949
if (model[name]) {
50-
return {
51-
type: 'textarea',
52-
name: name,
53-
value: JSON.stringify({
54-
text: model[name].text || '',
55-
format: model[name].format || 1
56-
})
57-
};
50+
return $mmUtil.isRichTextEditorEnabled().then(function(enabled) {
51+
var text = model[name].text || '';
52+
if (!enabled) {
53+
// Rich text editor not enabled, add some HTML to the message if needed.
54+
text = $mmText.formatHtmlLines(text);
55+
}
56+
57+
return {
58+
type: 'textarea',
59+
name: name,
60+
value: JSON.stringify({
61+
text: text,
62+
format: model[name].format || 1
63+
})
64+
};
65+
});
5866
}
5967
};
6068

www/core/components/grades/services/helper.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ angular.module('mm.core.grades')
137137
img = getImgHTML(content);
138138
content = content.replace(/<\/span>/gi, "\n");
139139
content = $mmText.cleanTags(content);
140-
content = content.replace("\n", "<br />");
140+
content = $mmText.replaceNewLines(content, '<br>');
141141
content = img + " " + content;
142142

143143
row.text += "<" + celltype + " " + id + " " + headers + " " + "class='"+ tclass +"' " + colspan +">";
@@ -208,7 +208,7 @@ angular.module('mm.core.grades')
208208
content = $mmText.cleanTags(content);
209209
content = img + " " + content;
210210
} else {
211-
content = content.replace("\n", "<br />");
211+
content = $mmText.replaceNewLines(content, '<br>');
212212
}
213213

214214
if (content == '&nbsp;') {

0 commit comments

Comments
 (0)