mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 17:06:53 +02:00
MDL-16949 - fix wrong addition of times in SCORM API, thanks Xabi Martin. backport 1.8.
This commit is contained in:
parent
537172328a
commit
b9aa74c7f5
1 changed files with 35 additions and 11 deletions
|
@ -1110,18 +1110,42 @@ function SCORMapi1_3() {
|
|||
var firstarray = first.match(matchexpr);
|
||||
var secondarray = second.match(matchexpr);
|
||||
if ((firstarray != null) && (secondarray != null)) {
|
||||
var secs = parseFloat(firstarray[13],10)+parseFloat(secondarray[13],10); //Seconds
|
||||
var firstsecs=0;
|
||||
if(parseFloat(firstarray[13],10)>0){ firstsecs=parseFloat(firstarray[13],10); }
|
||||
var secondsecs=0;
|
||||
if(parseFloat(secondarray[13],10)>0){ secondsecs=parseFloat(secondarray[13],10); }
|
||||
var secs = firstsecs+secondsecs; //Seconds
|
||||
var change = Math.floor(secs/60);
|
||||
secs = secs - (change * 60);
|
||||
var mins = parseInt(firstarray[11],10)+parseInt(secondarray[11],10)+change; //Minutes
|
||||
secs = Math.round((secs-(change*60))*100)/100;
|
||||
var firstmins=0;
|
||||
if(parseInt(firstarray[11],10)>0){ firstmins=parseInt(firstarray[11],10); }
|
||||
var secondmins=0;
|
||||
if(parseInt(secondarray[11],10)>0){ secondmins=parseInt(secondarray[11],10); }
|
||||
var mins = firstmins+secondmins+change; //Minutes
|
||||
change = Math.floor(mins / 60);
|
||||
mins = mins - (change * 60);
|
||||
var hours = parseInt(firstarray[9],10)+parseInt(secondarray[9],10)+change; //Hours
|
||||
mins = Math.round(mins-(change*60));
|
||||
var firsthours=0;
|
||||
if(parseInt(firstarray[9],10)>0){ firsthours=parseInt(firstarray[9],10); }
|
||||
var secondhours=0;
|
||||
if(parseInt(secondarray[9],10)>0){ secondhours=parseInt(secondarray[9],10); }
|
||||
var hours = firsthours+secondhours+change; //Hours
|
||||
change = Math.floor(hours/24);
|
||||
hours = hours - (change * 24);
|
||||
var days = parseInt(firstarray[6],10)+parseInt(secondarray[6],10)+change; // Days
|
||||
var months = parseInt(firstarray[4],10)+parseInt(secondarray[4],10)
|
||||
var years = parseInt(firstarray[2],10)+parseInt(secondarray[2],10)
|
||||
hours = Math.round(hours-(change*24));
|
||||
var firstdays=0;
|
||||
if(parseInt(firstarray[6],10)>0){ firstdays=parseInt(firstarray[6],10); }
|
||||
var seconddays=0;
|
||||
if(parseInt(secondarray[6],10)>0){ firstdays=parseInt(secondarray[6],10); }
|
||||
var days = Math.round(firstdays+seconddays+change); // Days
|
||||
var firstmonths=0;
|
||||
if(parseInt(firstarray[4],10)>0){ firstmonths=parseInt(firstarray[4],10); }
|
||||
var secondmonths=0;
|
||||
if(parseInt(secondarray[4],10)>0){ secondmonths=parseInt(secondarray[4],10); }
|
||||
var months = Math.round(firstmonths+secondmonths);
|
||||
var firstyears=0;
|
||||
if(parseInt(firstarray[2],10)>0){ firstyears=parseInt(firstarray[2],10); }
|
||||
var secondyears=0;
|
||||
if(parseInt(secondarray[2],10)>0){ secondyears=parseInt(secondarray[2],10); }
|
||||
var years = Math.round(firstyears+secondyears);
|
||||
}
|
||||
if (years > 0) {
|
||||
timestring += years + 'Y';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue