|
5 | 5 |
|
6 | 6 | $( function() {
|
7 | 7 |
|
| 8 | + var entityMap = { |
| 9 | + '&': '&', |
| 10 | + '<': '<', |
| 11 | + '>': '>', |
| 12 | + '"': '"', |
| 13 | + "'": ''', |
| 14 | + '/': '/', |
| 15 | + '`': '`', |
| 16 | + '=': '=' |
| 17 | + }; |
| 18 | + |
| 19 | + function escapeHtml (string) { |
| 20 | + return String(string).replace(/[&<>"'`=\/]/g, function (s) { |
| 21 | + return entityMap[s]; |
| 22 | + }); |
| 23 | + } |
| 24 | + |
8 | 25 | getWorkItems();
|
9 | 26 | var timerInterval;
|
10 | 27 | dialogWorkItemEditForm = $( "#dialog-work-item-edit-form" ).dialog({
|
|
164 | 181 | }
|
165 | 182 | function getWorkItems(){
|
166 | 183 | var baseUrl = OC.generateUrl('/apps/timetracker/ajax/work-intervals');
|
| 184 | + $.ajaxSetup({ |
| 185 | + scriptCharset: "utf-8", |
| 186 | + contentType: "application/json; charset=utf-8" |
| 187 | + }); |
167 | 188 | $.getJSON( baseUrl, function( data ) {
|
168 | 189 |
|
169 | 190 | if (data.running.length > 0){
|
|
195 | 216 |
|
196 | 217 | $.each(workItem.children, function (ckey, child){
|
197 | 218 | //debugger;
|
198 |
| - children.push("<div class='wi-child'><li><div class='wi-child-element'><div class='wi-child-name clickable' data-details='"+child.details+"' data-myid="+child.id+" data-name='"+child.name+"'>"+cutString(child.name,64)+ |
199 |
| - "<div class='wi-child-details clickable' data-details='"+child.details+"' data-myid="+child.id+" data-name='"+child.name+"'>"+cutString(child.details,64)+"</div>"+"</div>"+ |
200 |
| - "<span class='fas clickable fa-trash wi-trash' id="+child.id+"></span><span class='set-project' data-myid="+child.id+" data-projectid="+child.projectId+" data-projectname='"+child.projectName+"'></span>"+ |
| 219 | + children.push("<div class='wi-child'><li><div class='wi-child-element'><div class='wi-child-name clickable' data-details='"+escapeHtml(child.details)+"' data-myid="+child.id+" data-name='"+escapeHtml(child.name)+"'>"+escapeHtml(cutString(child.name,64))+ |
| 220 | + "<div class='wi-child-details clickable' data-details='"+escapeHtml(child.details)+"' data-myid="+child.id+" data-name='"+escapeHtml(child.name)+"'>"+escapeHtml(cutString(child.details,64))+"</div>"+"</div>"+ |
| 221 | + "<span class='fas clickable fa-trash wi-trash' id="+child.id+"></span><span class='set-project' data-myid="+child.id+" data-projectid="+child.projectId+" data-projectname='"+escapeHtml(child.projectName)+"'></span>"+ |
201 | 222 | "<span class='set-tag' data-myid="+child.id+" data-tagids='"+child.tags.map(function(tag) {return tag.id}).join(',')+"' data-tagnames='"+child.tags.map(function(tag) {return tag.name}).join(',')+"'></span>"+
|
202 | 223 | "<div class='wi-child-hours' data-myid="+child.id+" data-start-date='"+child.start+"' data-end-date='"+(child.start+child.duration)+"'>"+tsToHour(child.start)+" - "+
|
203 | 224 | ((child.running == 1)?'':tsToHour(child.start+child.duration))+
|
|
0 commit comments