version 1.44, 2013/09/23 17:35:05
|
version 1.45, 2013/09/30 17:42:12
|
Line 133 sub jscript_two {
|
Line 133 sub jscript_two {
|
$course_list = '"'.join('","',@crslist).'"'; |
$course_list = '"'.join('","',@crslist).'"'; |
$$numcrs = @crslist; |
$$numcrs = @crslist; |
|
|
|
my %lt = &Apache::lonlocal::texthash( |
|
sel => 'Please select', |
|
impto => 'Import topics only', |
|
imptpa => 'Import topics + posts (with author)', |
|
imptpn => 'Import topics + posts (no author)', |
|
enrst => 'Enroll students only', |
|
enrall => 'Enroll all users', |
|
notreq => 'Not required', |
|
errao => 'You must select one of the additional options when importing Discussion Boards.', |
|
errtd => 'You must select a target course when importing Discussion Boards.', |
|
errap => 'You must select one of the additional options when importing Enrollment.', |
|
errte => 'You must select a target course when importing enrollment information.', |
|
errcc => 'You must check at least one Content Type.', |
|
); |
return <<"END_OF_TWO"; |
return <<"END_OF_TWO"; |
|
|
function checkCourse() { |
function checkCourse() { |
Line 181 function setCourse(step2Form,call) {
|
Line 195 function setCourse(step2Form,call) {
|
step2Form.targetcourse.length = 0 |
step2Form.targetcourse.length = 0 |
if (call == 'add') { |
if (call == 'add') { |
step2Form.targetcourse.length = 0 |
step2Form.targetcourse.length = 0 |
step2Form.targetcourse.options[0] = new Option("Please Select","0",true,true) |
step2Form.targetcourse.options[0] = new Option("$lt{'sel'}","0",true,true) |
for (var i=0; i<courseID_array.length; i++) { |
for (var i=0; i<courseID_array.length; i++) { |
step2Form.targetcourse.options[i+1] = new Option(courseTitle_array[i],courseID_array[i],false,false) |
step2Form.targetcourse.options[i+1] = new Option(courseTitle_array[i],courseID_array[i],false,false) |
} |
} |
Line 201 function setOptions(caller,itemnum) {
|
Line 215 function setOptions(caller,itemnum) {
|
opForm.elements[menu].length = 0 |
opForm.elements[menu].length = 0 |
if (opForm.elements[itemnum*2].checked == true) { |
if (opForm.elements[itemnum*2].checked == true) { |
if (caller == "board") { |
if (caller == "board") { |
opForm.elements[menu].options[0] = new Option("Select","-1",true,true) |
opForm.elements[menu].options[0] = new Option("$lt{'sel'}","-1",true,true) |
opForm.elements[menu].options[1] = new Option("Import topics only","topics",true,true) |
opForm.elements[menu].options[1] = new Option("$lt{'impto'}","topics",true,true) |
opForm.elements[menu].options[2] = new Option("Import topics + posts (with author)","allpost",true,true) |
opForm.elements[menu].options[2] = new Option("$lt{'imptpa'}","allpost",true,true) |
opForm.elements[menu].options[3] = new Option("Import topics + posts (no author)","allanon",true,true) |
opForm.elements[menu].options[3] = new Option("$lt{'imptpn'}","allanon",true,true) |
} |
} |
else { |
else { |
if (caller == "users") { |
if (caller == "users") { |
opForm.elements[menu].length = 0 |
opForm.elements[menu].length = 0 |
opForm.elements[menu].options[0] = new Option("Select","-1",true,true) |
opForm.elements[menu].options[0] = new Option("$lt{'sel'}","-1",true,true) |
opForm.elements[menu].options[1] = new Option("Enroll students only","students",true,true) |
opForm.elements[menu].options[1] = new Option("$lt{'enrst'}","students",true,true) |
opForm.elements[menu].options[2] = new Option("Enroll all users","all",true,true) |
opForm.elements[menu].options[2] = new Option("$lt{'enrall'}","all",true,true) |
} |
} |
} |
} |
} |
} |
else { |
else { |
opForm.elements[menu].options[0] = new Option("Not required","0",true,true) |
opForm.elements[menu].options[0] = new Option("$lt{'notreq'}","0",true,true) |
} |
} |
opForm.elements[menu].selectedIndex = 0 |
opForm.elements[menu].selectedIndex = 0 |
if (numCrs > 0) { |
if (numCrs > 0) { |
Line 234 function verify(caller) {
|
Line 248 function verify(caller) {
|
totcheck ++ |
totcheck ++ |
if (opForm.elements[2*i].name == "board") { |
if (opForm.elements[2*i].name == "board") { |
if (opForm.elements[2*i+1].selectedIndex == 0) { |
if (opForm.elements[2*i+1].selectedIndex == 0) { |
alert("You must select one of the additional options when importing Discussion Boards ") |
alert("$lt{'errao'}") |
return false |
return false |
} |
} |
if (numCrs == 0) { |
if (numCrs == 0) { |
Line 243 function verify(caller) {
|
Line 257 function verify(caller) {
|
} |
} |
else { |
else { |
if (opForm.targetcourse.selectedIndex == 0) { |
if (opForm.targetcourse.selectedIndex == 0) { |
alert("You must select a target course when importing Discussion Boards") |
alert("$lt{'errtd'}") |
return false |
return false |
} |
} |
} |
} |
} |
} |
if (opForm.elements[2*i].name == "users") { |
if (opForm.elements[2*i].name == "users") { |
if (opForm.elements[2*i+1].selectedIndex == 0) { |
if (opForm.elements[2*i+1].selectedIndex == 0) { |
alert("You must select one of the additional options when importing Enrollment") |
alert("$lt{'errap'}") |
return false |
return false |
} |
} |
if (numCrs == 0) { |
if (numCrs == 0) { |
Line 259 function verify(caller) {
|
Line 273 function verify(caller) {
|
} |
} |
else { |
else { |
if (opForm.targetcourse.selectedIndex == 0) { |
if (opForm.targetcourse.selectedIndex == 0) { |
alert("You must select a target course when importing enrollment information") |
alert("$lt{'errte'}") |
return false |
return false |
} |
} |
} |
} |
Line 267 function verify(caller) {
|
Line 281 function verify(caller) {
|
} |
} |
} |
} |
if (totcheck == 0) { |
if (totcheck == 0) { |
alert("You must check the Checkbox for at least one Content Type"); |
alert("$lt{'errcc'}"); |
return false |
return false |
} |
} |
return true |
return true |
Line 290 sub display_one {
|
Line 304 sub display_one {
|
&Apache::lonhtmlcommon::topic_bar(1,&mt('Specify the Course Management system used to create the package')). |
&Apache::lonhtmlcommon::topic_bar(1,&mt('Specify the Course Management system used to create the package')). |
&mt('Choose the CMS used to create your IMS content package.').' |
&mt('Choose the CMS used to create your IMS content package.').' |
<select name="source"> |
<select name="source"> |
<option value="-1" selected="selected">Please select</option> |
<option value="-1" selected="selected">'.&mt('Please select').'</option> |
<option value="bb5">Blackboard 5</option> |
<option value="bb5">Blackboard 5</option> |
<option value="bb6">Blackboard 6</option> |
<option value="bb6">Blackboard 6</option> |
<option value="angel5">ANGEL 5.5</option> |
<option value="angel5">ANGEL 5.5</option> |
Line 298 sub display_one {
|
Line 312 sub display_one {
|
<option value="webctvista4">WebCT Vista 4</option> |
<option value="webctvista4">WebCT Vista 4</option> |
</select><br />'."\n". |
</select><br />'."\n". |
&Apache::lonhtmlcommon::topic_bar(2,&mt('Create a directory where you will unpack your IMS package'))."\n". |
&Apache::lonhtmlcommon::topic_bar(2,&mt('Create a directory where you will unpack your IMS package'))."\n". |
&mt('Create a destination LON-CAPA directory in which to store the contents of the IMS package file.').' <input type="button" name="createdir" value="Create Directory" onclick="javascript:createWin()" /><input type="hidden" name="newdir" value="" /><br /><br /> |
&mt('Create a destination LON-CAPA directory in which to store the contents of the IMS package file.').' <input type="button" name="createdir" value="'.&mt('Create Directory').'" onclick="javascript:createWin()" /><input type="hidden" name="newdir" value="" /><br /><br /> |
<input type="hidden" name="filename" value="'.$fn.'" /> |
<input type="hidden" name="filename" value="'.$fn.'" /> |
<input type="hidden" name="phase" value="three" /> |
<input type="hidden" name="phase" value="three" /> |
<input type="button" name="nextpage" value="'.&mt('Proceed').'" onclick="javascript:nextPage();" /> |
<input type="button" name="nextpage" value="'.&mt('Proceed').'" onclick="javascript:nextPage();" /> |
Line 465 sub display_two {
|
Line 479 sub display_two {
|
$r->print($lt{'unpa'}); |
$r->print($lt{'unpa'}); |
} |
} |
} else { |
} else { |
$r->print($lt{'proc'}); |
$r->print( |
|
'<br />'.&Apache::loncommon::confirmwrapper( |
|
&Apache::lonhtmlcommon::confirm_success($lt{'proc'},1) |
|
.'<br />'.&mt('Error: [_1]',$unzip_result)) |
|
); |
} |
} |
} |
} |
|
|
Line 598 sub display_three {
|
Line 616 sub display_three {
|
|
|
&Apache::imsprocessor::build_structure($cms,'CSTR',$destdir,\%items,\%resinfo,\%resources,\@targets,\%hrefs,$udom,$uname,$dirpath,$timenow,$cdom,$crs,\@timestamp,\%total,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\%boardnum,\@pages,\@sequences,\@topurls,\@topnames,\@packages,\%includeditems,\%randompicks); |
&Apache::imsprocessor::build_structure($cms,'CSTR',$destdir,\%items,\%resinfo,\%resources,\@targets,\%hrefs,$udom,$uname,$dirpath,$timenow,$cdom,$crs,\@timestamp,\%total,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\%boardnum,\@pages,\@sequences,\@topurls,\@topnames,\@packages,\%includeditems,\%randompicks); |
|
|
$r->print("<h3>IMS import completed</h3>"); |
my $message = |
|
&Apache::lonhtmlcommon::confirm_success( |
|
&mt('IMS import completed')) |
|
.'<br />'.$lt{'yims'}.' '; |
|
|
if ($cms eq 'angel5') { |
if ($cms eq 'angel5') { |
$r->print($lt{'yims'}.' '.&mt('A total of [quant,_1,sequence], [quant,_2,composite page], and [quant,_3,discussion board] have been created, and [quant,_4,file] copied.',$total{seq},$total{page},$total{board},$total{file})."\n"); |
$message .= &mt('A total of [quant,_1,sequence], [quant,_2,composite page], and [quant,_3,discussion board] have been created, and [quant,_4,file] copied.',$total{seq},$total{page},$total{board},$total{file})."\n"; |
} else { |
} else { |
$r->print($lt{'yims'}.' '.&mt('A total of [quant,_1,sequence], [quant,_2,composite page], [quant,_3,discussion board], [quant,_4,quiz,quizzes], [quant,_5,survey], and [quant,_6,problem] have been created, and [quant,_7,file] copied.',$total{seq},$total{page},$total{board},$total{quiz},$total{surv},$total{prob},$total{file})."\n"); |
$message .= &mt('A total of [quant,_1,sequence], [quant,_2,composite page], [quant,_3,discussion board], [quant,_4,quiz,quizzes], [quant,_5,survey], and [quant,_6,problem] have been created, and [quant,_7,file] copied.',$total{seq},$total{page},$total{board},$total{quiz},$total{surv},$total{prob},$total{file})."\n"; |
} |
} |
$r->print('<br /><br />'.$lt{'plsv'}.' '.$lt{'tseq'}.'<br /><br />'.$lt{'tfin'}.'<br /><br /><a href="/priv/'.$udom.'/'.$uname.'/'.$dirpath.'/">'.$lt{'disp'}.'</a>'); |
$r->print( |
|
'<br />'.&Apache::loncommon::confirmwrapper($message) |
|
.'<p>'.$lt{'plsv'}.' '.$lt{'tseq'}.'</p>' |
|
.'<p>'.$lt{'tfin'}.'</p>' |
|
.&Apache::lonhtmlcommon::actionbox( |
|
['<a href="/priv/'.$udom.'/'.$uname.'/'.$dirpath.'/">'.$lt{'disp'}.'</a>']) |
|
); |
my $londocroot = $r->dir_config('lonDocRoot'); |
my $londocroot = $r->dir_config('lonDocRoot'); |
if ($destdir =~ m{^\Q$londocroot/priv/$udom/$uname/$dirpath\E}) { |
if ($destdir =~ m{^\Q$londocroot/priv/$udom/$uname/$dirpath\E}) { |
system (" rm -r -f $destdir/temp"); |
system (" rm -r -f $destdir/temp"); |
} |
} |
} elsif ($manifest_result eq 'nomanifest') { |
} elsif ($manifest_result eq 'nomanifest') { |
$r->print($lt{'proc'}); |
$r->print( |
|
'<br />'.&Apache::loncommon::confirmwrapper( |
|
&Apache::lonhtmlcommon::confirm_success($lt{'proc'},1)) |
|
); |
} |
} |
} |
} |
|
|
Line 749 END_JS
|
Line 779 END_JS
|
my $flag = &Apache::lonupload::phasetwo($r,$fn,'imsimport'); |
my $flag = &Apache::lonupload::phasetwo($r,$fn,'imsimport'); |
if ($flag eq 'ok') { |
if ($flag eq 'ok') { |
&display_one($r,$fn,$fullpath,$formname_one); |
&display_one($r,$fn,$fullpath,$formname_one); |
|
} else { |
|
$r->print( |
|
'<br />'.&Apache::loncommon::confirmwrapper( |
|
&Apache::lonhtmlcommon::confirm_success( |
|
&mt('Error uploading IMS package'),1)) |
|
); |
} |
} |
} elsif ( ($env{'form.phase'} eq 'three') || ($env{'form.phase'} eq 'four') ) { |
} elsif ( ($env{'form.phase'} eq 'three') || ($env{'form.phase'} eq 'four') ) { |
my $destdir = $env{'form.newdir'}; |
my $destdir = $env{'form.newdir'}; |