Hello Tim
the Java Script in the Hack of Itamar worked in Moodle 1.9, but not in Moodle 2.1. Here the code - any idea, what i have to change for to make it work in moodle 2.1? thanks, daniel
var quizzes=[];
var processed=[];
//*******************************
function updatequizdates() {
// get list
var lis=document.getElementById('quizdates').getElementsByTagName('li');
for (var i=-1;++i<lis.length;quizzes.push(lis[i].innerHTML.replace(/<[\/\s]*br[^>]*>/gi,"").split(',')));
// open first quiz
if (confirm(quizzes.length+' quizzes listed. Proceed to update quizzes?')){
document.getElementById('updatedates').src= '../../course/modedit.php?update='+quizzes[processed.length][0];
}
}
//*******************************
function updatedates_onload(frm){
if (frm.src=='') return;
var ref=window.frames.updatedates.location.href;
if (ref.search('course/modedit.php')!=-1){
var doc=window.frames.updatedates.document;
var sbmform=doc.getElementById('mform1');
// get timeopen fields
var timeopenday=sbmform.elements['timeopen[day]'];
var timeopenmonth=sbmform.elements['timeopen[month]'];
var timeopenyear=sbmform.elements['timeopen[year]'];
var timeopenhour=sbmform.elements['timeopen[hour]'];
var timeopenminute=sbmform.elements['timeopen[minute]'];
var timeopenoff=sbmform.elements['timeopen[off]'];
// get timeclose fields
var timecloseday=sbmform.elements['timeclose[day]'];
var timeclosemonth=sbmform.elements['timeclose[month]'];
var timecloseyear=sbmform.elements['timeclose[year]'];
var timeclosehour=sbmform.elements['timeclose[hour]'];
var timecloseminute=sbmform.elements['timeclose[minute]'];
var timecloseoff=sbmform.elements['timeclose[off]'];
// assign dates
var data=quizzes[processed.length];
// assign open time
timeopenday.selectedIndex=Number(data[1])-1;
timeopenday.disabled=false;
timeopenmonth.selectedIndex=Number(data[2])-1;
timeopenmonth.disabled=false;
timeopenyear.selectedIndex=Number(data[3])-1970;
timeopenyear.disabled=false;
timeopenhour.selectedIndex=Number(data[4]);
timeopenhour.disabled=false;
timeopenminute.selectedIndex=Number(data[5])/5;
timeopenminute.disabled=false;
timeopenoff.checked=false;
// assign close time
timecloseday.selectedIndex=Number(data[6])-1;
timecloseday.disabled=false;
timeclosemonth.selectedIndex=Number(data[7])-1;
timeclosemonth.disabled=false;
timecloseyear.selectedIndex=Number(data[8])-1970;
timecloseyear.disabled=false;
timeclosehour.selectedIndex=Number(data[9]);
timeclosehour.disabled=false;
timecloseminute.selectedIndex=Number(data[10])/5;
timecloseminute.disabled=false;
timecloseoff.checked=false;
// submit
showStatus('Updating quiz '+(processed.length+1));
sbmform.submit();
} else if (ref.search('course/view.php')!=-1){
processed.push(quizzes[processed.length]);
if (processed.length<quizzes.length){
frm.src= '../../course/modedit.php?update='+quizzes[processed.length][0];
} else{
showStatus('Completed updating '+processed.length+' quizzes');
frm.src='';
}
}
}
//********** Utility ************
function getSelectedIndexByValue(sel,val){
for (var i=0;i<sel.options.length;i++){
if (sel.options[i].value==val) return i;
}
return -1;
};
function showStatus(s){
document.getElementById('updatestatus').innerHTML=s;
}