--- loncom/interface/londocs.pm 2008/12/15 06:09:37 1.322 +++ loncom/interface/londocs.pm 2009/01/30 09:05:36 1.330 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.322 2008/12/15 06:09:37 raeburn Exp $ +# $Id: londocs.pm,v 1.330 2009/01/30 09:05:36 tempelho Exp $ # # Copyright Michigan State University Board of Trustees # @@ -59,7 +59,6 @@ my $hadchanges; my %help=(); - sub mapread { my ($coursenum,$coursedom,$map)=@_; return @@ -120,11 +119,9 @@ sub dumpbutton { my $type = &Apache::loncommon::course_type(); if ($home+$other==0) { return ''; } if ($home) { - return '<div>'. - '<input type="submit" name="dumpcourse" value="'. + return '<input type="submit" name="dumpcourse" value="'. &mt('Dump '.$type.' DOCS to Construction Space').'" />'. - &Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs'). - '</div>'; + &Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs'); } else { return '<div>'. &mt('Dump '.$type. @@ -265,10 +262,9 @@ sub dumpcourse { sub exportbutton { my $type = &Apache::loncommon::course_type(); - return '<div>'. - '<input type="submit" name="exportcourse" value="'. + return '<input type="submit" name="exportcourse" value="'. &mt('Export '.$type.' to IMS').'" />'. - &Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'</div>'; + &Apache::loncommon::help_open_topic('Docs_Export_Course_Docs'); } @@ -280,6 +276,15 @@ sub exportcourse { $env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}); my $numdisc = keys(%discussiontime); my $navmap = Apache::lonnavmaps::navmap->new(); + if (!defined($navmap)) { + $r->print(&Apache::loncommon::start_page('Export '.lc($type).' to IMS content package'). + '<h2>IMS Export Failed</h2>'. + '<div class="LC_error">'. + &mt('Unable to retrieve information about course contents'). + '</div><a href="/adm/coursedocs">'.&mt('Return to Course Editor').'</a>'); + &Apache::lonnet::logthis('IMS export failed - could not create navmap object in '.lc($type).':'.$env{'request.course.id'}); + return; + } my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef); my $curRes; my $outcome; @@ -471,8 +476,7 @@ function containerCheck(item) { $r->print($display.'</table>'. '<p><input type="hidden" name="finishexport" value="1">'. '<input type="submit" name="exportcourse" value="'. - &mt('Export '.$type.' DOCS').'" /></p></form>'. - &Apache::loncommon::end_page()); + &mt('Export '.$type.' DOCS').'" /></p></form>'); } } @@ -1280,7 +1284,7 @@ sub do_paste_from_buffer { # Maps need to be copied first if (($url=~/\.(page|sequence)$/) && ($url=~/^\/uploaded\//)) { $title=&mt('Copy of').' '.$title; - my $newid=$$.time; + my $newid=$$.int(rand(100)).time; my ($oldid,$ext) = ($url=~/^(.+)\.(\w+)$/); if ($oldid =~ m{^(/uploaded/\Q$coursedom\E/\Q$coursenum\E/)(\D+)(\d+)$}) { my $path = $1; @@ -2136,19 +2140,27 @@ List Symbs sub list_symbs { my ($r) = @_; + my $type = &Apache::loncommon::course_type(); $r->print(&Apache::loncommon::start_page('Symb List')); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Symb List')); my $navmap = Apache::lonnavmaps::navmap->new(); - $r->print("<pre>\n"); - foreach my $res ($navmap->retrieveResources()) { - $r->print($res->compTitle()."\t".$res->symb()."\n"); + if (!defined($navmap)) { + $r->print('<h2>'.&mt('Retrieval of List Failed').'</h2>'. + '<div class="LC_error">'. + &mt('Unable to retrieve information about course contents'). + '</div>'); + &Apache::lonnet::logthis('Symb list failed - could not create navmap object in '.lc($type).':'.$env{'request.course.id'}); + } else { + $r->print("<pre>\n"); + foreach my $res ($navmap->retrieveResources()) { + $r->print($res->compTitle()."\t".$res->symb()."\n"); + } + $r->print("\n</pre>\n"); } - $r->print("\n</pre>\n"); $r->print('<a href="/adm/coursedocs">'.&mt('Return to DOCS').'</a>'); } - sub verifycontent { my ($r) = @_; my $type = &Apache::loncommon::course_type(); @@ -2506,6 +2518,7 @@ sub handler { return OK if $r->header_only; my $type = &Apache::loncommon::course_type(); + # --------------------------------------------- Initialize help topics for this foreach my $topic ('Adding_Course_Doc','Main_Course_Documents', 'Adding_External_Resource','Navigate_Content', @@ -2559,6 +2572,8 @@ sub handler { my $showdoc=0; my $containertag; my $uploadtag; + + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['folderpath','pagepath', 'pagesymb']); @@ -2632,9 +2647,10 @@ sub handler { } # -------------------------------------------------------------------- Body tag $script = '<script type="text/javascript">'."\n".$script."\n".'</script>'; - my @brcrum = [{href=>"/adm/createuser",text=>"$type Documents"}]; + my $brcrum = [{href=>"/adm/createuser",text=>"$type Documents"}]; $r->print(&Apache::loncommon::start_page("$type Documents", $script, - {'force_register' => $showdoc, bread_crumbs => @brcrum}). + {'force_register' => $showdoc, + 'bread_crumbs' => $brcrum}). &Apache::loncommon::help_open_menu('','',273,'RAT')); my %allfiles = (); @@ -2730,9 +2746,8 @@ sub handler { 'uplm' => 'Upload a new main '.lc($type).' document', 'upls' => 'Upload a new supplemental '.lc($type).' document', 'impp' => 'Import a document', - 'pubd' => 'Published documents', + 'pubd' => 'Published Documents', 'copm' => 'All documents out of a published map into this folder', - 'spec' => 'Special documents', 'upld' => 'Upload Document', 'srch' => 'Search', 'impo' => 'Import', @@ -2758,13 +2773,86 @@ sub handler { 'file' => 'File', 'title' => 'Title', 'comment' => 'Comment', - 'parse' => 'If HTML file, upload embedded images/multimedia files' + 'parse' => 'Upload embedded images/multimedia files if HTML file!', + 'nd' => 'New Document', + 'pm' => 'Published Map', + 'sd' => 'Special Document', + 'mo' => 'More Options', + 'hao' => 'Hide all Options' ); # ----------------------------------------------------------------------------- + my $fileupload=(<<FIUP); + $lt{'file'}:<br /> + <input type="file" name="uploaddoc" size="40" /> +FIUP + + my $checkbox=(<<CHBO); + <!-- <label>$lt{'parse'}? + <input type="checkbox" name="parserflag" /> + </label> --> + <label> + <input type="checkbox" name="parserflag" checked="checked" /> $lt{'parse'} + </label> +CHBO + + my $fileuploadform=(<<FUFORM); + <form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data"> + $fileupload + <br /> + $lt{'title'}:<br /> + <input type="text" size="50" name="comment" /> + $uploadtag + <input type="hidden" name="cmd" value="upload_default" /> + <br /> + <span class="LC_nobreak"> + $checkbox + </span> + <br /> + <br /> + <span class="LC_nobreak"> + <input type="submit" value="$lt{'upld'}" /> + $help{'Uploading_From_Harddrive'} + </span> + </form> +FUFORM + + my $simpleeditdefaultform=(<<SEDFFORM); + <form action="/adm/coursedocs" method="post" name="simpleeditdefault"> + $lt{'pubd'}<br /> + $uploadtag + <input type="button" onClick="javascript:groupsearch()" value="$lt{'srch'}" /> + <br /> + <span class="LC_nobreak"> + <input type="button" onClick="javascript:groupimport();" value="$lt{'impo'}" /> + $help{'Importing_LON-CAPA_Resource'} + </span> + <br /> + <input type="button" onClick="javascript:groupopen(0,1,1);" value="$lt{'book'}" /> + <hr /> + <p> + $lt{'copm'}<br /> + <input type="text" size="40" name="importmap" /><br /> + <span class="LC_nobreak"><input type="button" + onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')" + value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" /> + $help{'Load_Map'}</span> + </p> + </form> +SEDFFORM + + my $extresourcesform=(<<ERFORM); + <form action="/adm/coursedocs" method="post" name="newext"> + $uploadtag + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newext" type="button" onClick="javascript:makenewext('newext');" + value="$lt{'extr'}" /> $help{'Adding_External_Resource'} + </span> + </form> +ERFORM + if ($allowed) { &update_paste_buffer($coursenum,$coursedom); - my $dumpbut=&dumpbutton(); - my $exportbut=&exportbutton(); my %lt=&Apache::lonlocal::texthash( 'vc' => 'Verify Content', 'cv' => 'Check/Set Resource Versions', @@ -2784,41 +2872,8 @@ sub handler { $containertag = '<input type="hidden" name="folderpath" value="" />'; $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; } - - $r->print(<<ENDCOURSEVERIFY); -<form name="renameform" method="post" action="/adm/coursedocs"> - <input type="hidden" name="title" /> - <input type="hidden" name="cmd" /> - <input type="hidden" name="markcopy" /> - <input type="hidden" name="copyfolder" /> - $containertag -</form> -<form name="simpleedit" method="post" action="/adm/coursedocs"> - <input type="hidden" name="importdetail" value="" /> - $uploadtag -</form> -<form action="/adm/coursedocs" method="post" name="courseverify"> - <div class="LC_docs_course_commands"> - - <div> - <input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'} - </div> - <div> - <input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'} - </div> - $dumpbut - $exportbut - <div> - <input type="submit" name="listsymbs" value="$lt{'ls'}" /> - </div> - <div> - <input type="hidden" name="folder" value="$env{'form.folder'}" /> - <input type="submit" name="docslog" value="$lt{'sl'}" /> - </div> - </div> -</form> -<div style="clear: both; height: 0px;"> </div> -ENDCOURSEVERIFY + ##############alter hashaufruf + $r->print(&generate_admin_options($containertag,$uploadtag,\%lt,\%help,\%env)); $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc', &mt('Editing the Table of Contents for your '.$type))); } @@ -2861,223 +2916,264 @@ ENDCOURSEVERIFY $container='page'; } my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container; + + + + my $recoverform=(<<RFORM); + <form action="/adm/groupsort" method="post" name="recover"> + <input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" /> + </form> +RFORM + + my $imspform=(<<IMSPFORM); + <form action="/adm/imsimportdocs" method="post" name="ims"> + <input type="hidden" name="folder" value="$folder" /> + <input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" /> + </form> +IMSPFORM + + my $newnavform=(<<NNFORM); + <form action="/adm/coursedocs" method="post" name="newnav"> + $uploadtag + <input type="hidden" name="importdetail" + value="$lt{'navc'}=/adm/navmaps" /> + <span class="LC_nobreak"> + <input name="newnav" type="submit" value="$lt{'navc'}" /> + $help{'Navigate_Content'} + </span> + </form> +NNFORM + my $newsmppageform=(<<NSPFORM); + <form action="/adm/coursedocs" method="post" name="newsmppg"> + $uploadtag + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newsmppg" type="button" value="$lt{'sipa'}" + onClick="javascript:makesmppage();" /> $help{'Simple Page'} + </span> + </form> +NSPFORM + + my $newsmpproblemform=(<<NSPROBFORM); + <form action="/adm/coursedocs" method="post" name="newsmpproblem"> + $uploadtag + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newsmpproblem" type="button" value="$lt{'sipr'}" + onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} + </span> + </form> + +NSPROBFORM + + my $newdropboxform=(<<NDBFORM); + <form action="/adm/coursedocs" method="post" name="newdropbox"> + $uploadtag + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newdropbox" type="button" value="$lt{'drbx'}" + onClick="javascript:makedropbox();" /> + </span> + </form> +NDBFORM + + my $newexuploadform=(<<NEXUFORM); + <form action="/adm/coursedocs" method="post" name="newexamupload"> + $uploadtag + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newexamupload" type="button" value="$lt{'scuf'}" + onClick="javascript:makeexamupload();" /> + $help{'Score_Upload_Form'} + </span> + </form> +NEXUFORM + + my $newbulform=(<<NBFORM); + <form action="/adm/coursedocs" method="post" name="newbul"> + $uploadtag + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newbulletin" type="button" value="$lt{'bull'}" + onClick="javascript:makebulboard();" /> + $help{'Bulletin Board'} + </span> + </form> +NBFORM + + my $newaboutmeform=(<<NAMFORM); + <form action="/adm/coursedocs" method="post" name="newaboutme"> + $uploadtag + <input type="hidden" name="importdetail" + value="$plainname=/adm/$udom/$uname/aboutme" /> + <span class="LC_nobreak"> + <input name="newaboutme" type="submit" value="$lt{'mypi'}" /> + $help{'My Personal Info'} + </span> + </form> +NAMFORM + + my $newaboutsomeoneform=(<<NASOFORM); + <form action="/adm/coursedocs" method="post" name="newaboutsomeone"> + $uploadtag + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newaboutsomeone" type="button" value="$lt{'abou'}" + onClick="javascript:makeabout();" /> + </span> + </form> +NASOFORM + + + my $newrosterform=(<<NROSTFORM); + <form action="/adm/coursedocs" method="post" name="newroster"> + $uploadtag + <input type="hidden" name="importdetail" + value="$lt{'rost'}=/adm/viewclasslist" /> + <span class="LC_nobreak"> + <input name="newroster" type="submit" value="$lt{'rost'}" /> + $help{'Course Roster'} + </span> + </form> +NROSTFORM + $r->print(<<ENDFORM); + + <table class="LC_docs_adddocs"> -<tr> +<!-- <tr> <th>$lt{'uplm'}</th> <th>$lt{'impp'}</th> <th>$lt{'spec'}</th> -</tr> +</tr> --> <tr> <td> -$lt{'file'}:<br /> -<form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data"> -<input type="file" name="uploaddoc" size="40" /> -<br /> -$lt{'title'}:<br /> -<input type="text" size="50" name="comment" /> -$uploadtag -<input type="hidden" name="cmd" value="upload_default" /> -<br /> -<span class="LC_nobreak"> -<label>$lt{'parse'}? -<input type="checkbox" name="parserflag" checked="checked" /> -</label> -</span> -<br /> -<br /> -<span class="LC_nobreak"> -<input type="submit" value="$lt{'upld'}" /> - $help{'Uploading_From_Harddrive'} -</span> -</form> +$fileuploadform </td> <td> -<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> -$lt{'pubd'}<br /> -$uploadtag -<input type="button" onClick="javascript:groupsearch()" value="$lt{'srch'}" /> -<br /> -<span class="LC_nobreak"> -<input type="button" onClick="javascript:groupimport();" value="$lt{'impo'}" /> -$help{'Importing_LON-CAPA_Resource'} -</span> -<br /> -<input type="button" onClick="javascript:groupopen(0,1,1);" value="$lt{'book'}" /> -<hr /> -<p> -$lt{'copm'}<br /> -<input type="text" size="40" name="importmap" /><br /> -<span class="LC_nobreak"><input type="button" -onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')" -value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" /> -$help{'Load_Map'}</span> -</p> -</form> +$simpleeditdefaultform <hr /> -<form action="/adm/groupsort" method="post" name="recover"> -<input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" /> -</form> +$recoverform ENDFORM unless ($env{'form.pagepath'}) { $r->print(<<ENDFORM); <hr /> -<form action="/adm/coursedocs" method="post" name="newext"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newext" type="button" onClick="javascript:makenewext('newext');" -value="$lt{'extr'}" /> $help{'Adding_External_Resource'} -</span> -</form> -<br /><form action="/adm/imsimportdocs" method="post" name="ims"> -<input type="hidden" name="folder" value="$folder" /> -<input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" /> -</form> +$extresourcesform + <br /> +$imspform ENDFORM } $r->print('</td><td>'); unless ($env{'form.pagepath'}) { my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); - $r->print(<<ENDFORM); -<br /><form action="/adm/coursedocs" method="post" name="newfolder"> -<input type="hidden" name="folderpath" value="$path" /> -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newfolder" type="button" -onClick="javascript:makenewfolder(this.form,'$folderseq');" -value="$lt{'newf'}" />$help{'Adding_Folders'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newpage"> -<input type="hidden" name="folderpath" value="$path" /> -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newpage" type="button" -onClick="javascript:makenewpage(this.form,'$pageseq');" -value="$lt{'newp'}" />$help{'Adding_Pages'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newsyl"> -$uploadtag -<input type="hidden" name="importdetail" -value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> -<span class="LC_nobreak"> -<input name="newsyl" type="submit" value="$lt{'syll'}" /> - $help{'Syllabus'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newnav"> -$uploadtag -<input type="hidden" name="importdetail" -value="$lt{'navc'}=/adm/navmaps" /> -<span class="LC_nobreak"> -<input name="newnav" type="submit" value="$lt{'navc'}" /> -$help{'Navigate_Content'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newsmppg"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newsmppg" type="button" value="$lt{'sipa'}" -onClick="javascript:makesmppage();" /> $help{'Simple Page'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newsmpproblem"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newsmpproblem" type="button" value="$lt{'sipr'}" -onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newdropbox"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newdropbox" type="button" value="$lt{'drbx'}" -onClick="javascript:makedropbox();" /> -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newexamupload"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newexamupload" type="button" value="$lt{'scuf'}" -onClick="javascript:makeexamupload();" /> -$help{'Score_Upload_Form'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newbul"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newbulletin" type="button" value="$lt{'bull'}" -onClick="javascript:makebulboard();" /> -$help{'Bulletin Board'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newaboutme"> -$uploadtag -<input type="hidden" name="importdetail" -value="$plainname=/adm/$udom/$uname/aboutme" /> -<span class="LC_nobreak"> -<input name="newaboutme" type="submit" value="$lt{'mypi'}" /> -$help{'My Personal Info'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newaboutsomeone"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newaboutsomeone" type="button" value="$lt{'abou'}" -onClick="javascript:makeabout();" /> -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newgroupfiles"> -$uploadtag -<input type="hidden" name="importdetail" -value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> -<span class="LC_nobreak"> -<input name="newgroupfiles" type="submit" value="$lt{'grpo'}" /> -$help{'Group Files'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newroster"> -$uploadtag -<input type="hidden" name="importdetail" -value="$lt{'rost'}=/adm/viewclasslist" /> -<span class="LC_nobreak"> -<input name="newroster" type="submit" value="$lt{'rost'}" /> -$help{'Course Roster'} -</span> -</form> + + + + my $newpageform=(<<NPFORM); + <form action="/adm/coursedocs" method="post" name="newpage"> + <input type="hidden" name="folderpath" value="$path" /> + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newpage" type="button" + onClick="javascript:makenewpage(this.form,'$pageseq');" + value="$lt{'newp'}" />$help{'Adding_Pages'} + </span> + </form> +NPFORM + + my $newfolderform=(<<NFFORM); + <form action="/adm/coursedocs" method="post" name="newfolder"> + <input type="hidden" name="folderpath" value="$path" /> + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newfolder" type="button" + onClick="javascript:makenewfolder(this.form,'$folderseq');" + value="$lt{'newf'}" />$help{'Adding_Folders'} + </span> + </form> +NFFORM + + my $newsylform=(<<NSYLFORM); + <form action="/adm/coursedocs" method="post" name="newsyl"> + $uploadtag + <input type="hidden" name="importdetail" + value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> + <span class="LC_nobreak"> + <input name="newsyl" type="submit" value="$lt{'syll'}" /> + $help{'Syllabus'} + </span> + </form> +NSYLFORM + + my $newgroupfileform=(<<NGFFORM); + <form action="/adm/coursedocs" method="post" name="newgroupfiles"> + $uploadtag + <input type="hidden" name="importdetail" + value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> + <span class="LC_nobreak"> + <input name="newgroupfiles" type="submit" value="$lt{'grpo'}" /> + $help{'Group Files'} + </span> + </form> +NGFFORM + + + my $specialdocumentsform=(<<ENDFORM); +<br /> +$newfolderform +<br /> +$newpageform +<br /> +$newsylform +<br /> +$newnavform +<br /> +$newsmppageform +<br /> +$newsmpproblemform +<br /> +$newdropboxform +<br /> +$newexuploadform +<br /> +$newbulform +<br /> +$newaboutmeform +<br /> +$newaboutsomeoneform +<br /> +$newgroupfileform +<br /> +$newrosterform ENDFORM - } + +$r->print($specialdocumentsform); +my %orderhash = ( + 'aa_eins' => 'New Document', + 'bb_zwei' => 'Published Documents', + 'cc_drei' => 'Special Documents', + 'dd_vier' => 'More Options', + 'zz_hide' => 'Hide all Option', + ); +my %namehash = ( + 'New Document' => $fileuploadform, + 'Published Documents' => $simpleeditdefaultform, + 'Special Documents' => $specialdocumentsform, + 'More Options' => $extresourcesform.'<br />'.$imspform.'<br />'.$recoverform, + 'drei' => 'dr', + ); +$r->print(&generate_edit_table(\%namehash,\%orderhash)); + } if ($env{'form.pagepath'}) { $r->print(<<ENDBLOCK); -<form action="/adm/coursedocs" method="post" name="newsmpproblem"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newsmpproblem" type="button" value="$lt{'sipr'}" -onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="newexamupload"> -$uploadtag -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newexamupload" type="button" value="$lt{'scuf'}" -onClick="javascript:makeexamupload();" /> -$help{'Score_Upload_Form'} -</span> -</form> +$newsmpproblemform +<br /> +$newexuploadform ENDBLOCK } $r->print('</td></tr>'."\n". '</table>'); +#$r->print(&generate_edit_table(\%namehash,\%orderhash)); $r->print('</td></tr>'); } # ----------------------------------------------------- Supplemental documents @@ -3104,71 +3200,96 @@ ENDBLOCK '.sequence'; my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); + + my $supupdocform=(<<SUPDOCFORM); + <form action="/adm/coursedocs" method="post" enctype="multipart/form-data"> + $fileupload + <br /> + <br /> + <span class="LC_nobreak"> + $checkbox + </span> + <br /><br /> + $lt{'comment'}:<br /> + <textarea cols=50 rows=4 name='comment'> + </textarea> + <br /> + <input type="hidden" name="folderpath" value="$path" /> + <input type="hidden" name="cmd" value="upload_supplemental" /> + <span class="LC_nobreak"> + <input type="submit" value="$lt{'upld'}" /> + $help{'Uploading_From_Harddrive'} + </span> + </form> +SUPDOCFORM + + my $supnewfolderform=(<<SNFFORM); + <form action="/adm/coursedocs" method="post" name="supnewfolder"> + <input type="hidden" name="folderpath" value="$path" /> + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newfolder" type="button" + onClick="javascript:makenewfolder(this.form,'$folderseq');" + value="$lt{'newf'}" /> $help{'Adding_Folders'} + </span> + </form> +SNFFORM + + + my $supnewextform=(<<SNEFORM); + <form action="/adm/coursedocs" method="post" name="supnewext"> + <input type="hidden" name="folderpath" value="$path" /> + <input type="hidden" name="importdetail" value="" /> + <span class="LC_nobreak"> + <input name="newext" type="button" + onClick="javascript:makenewext('supnewext');" + value="$lt{'extr'}" /> $help{'Adding_External_Resource'} + </span> + </form> +SNEFORM + + my $supnewsylform=(<<SNSFORM); + <form action="/adm/coursedocs" method="post" name="supnewsyl"> + <input type="hidden" name="folderpath" value="$path" /> + <input type="hidden" name="importdetail" + value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> + <span class="LC_nobreak"> + <input name="newsyl" type="submit" value="$lt{'syll'}" /> + $help{'Syllabus'} + </span> + </form> +SNSFORM + + my $supnewaboutmeform=(<<SNAMFORM); + <form action="/adm/coursedocs" method="post" name="subnewaboutme"> + <input type="hidden" name="folderpath" value="$path" /> + <input type="hidden" name="importdetail" + value="$plainname=/adm/$udom/$uname/aboutme" /> + <span class="LC_nobreak"> + <input name="newaboutme" type="submit" value="$lt{'mypi'}" /> + $help{'My Personal Info'} + </span> + </form> +SNAMFORM + $r->print(<<ENDSUPFORM); -<table class="LC_docs_adddocs"><tr> -<th>$lt{'upls'}</th> -<th>$lt{'spec'}</th> -</tr> +<ul class="LC_TabContent"> +<li>$lt{'nd'}</li> +<li>$lt{'sd'}</li> +<li>$lt{'hao'}</li> +</ul> +<table class="LC_docs_adddocs"> <tr><td> -<form action="/adm/coursedocs" method="post" enctype="multipart/form-data"> -<input type="file" name="uploaddoc" size="40" /> +$supupdocform +</td> +<td> +$supnewfolderform <br /> +$supnewextform <br /> -<span class="LC_nobreak"> -<label>$lt{'parse'}? -<input type="checkbox" name="parserflag" /> -</label> -</span> -<br /><br /> -$lt{'comment'}:<br /> -<textarea cols=50 rows=4 name='comment'> -</textarea> +$supnewsylform <br /> -<input type="hidden" name="folderpath" value="$path" /> -<input type="hidden" name="cmd" value="upload_supplemental" /> -<span class="LC_nobreak"> -<input type="submit" value="$lt{'upld'}" /> - $help{'Uploading_From_Harddrive'} -</span> -</form> -</td> -<td> -<form action="/adm/coursedocs" method="post" name="supnewfolder"> -<input type="hidden" name="folderpath" value="$path" /> -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newfolder" type="button" -onClick="javascript:makenewfolder(this.form,'$folderseq');" -value="$lt{'newf'}" /> $help{'Adding_Folders'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="supnewext"> -<input type="hidden" name="folderpath" value="$path" /> -<input type="hidden" name="importdetail" value="" /> -<span class="LC_nobreak"> -<input name="newext" type="button" -onClick="javascript:makenewext('supnewext');" -value="$lt{'extr'}" /> $help{'Adding_External_Resource'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="supnewsyl"> -<input type="hidden" name="folderpath" value="$path" /> -<input type="hidden" name="importdetail" -value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> -<span class="LC_nobreak"> -<input name="newsyl" type="submit" value="$lt{'syll'}" /> -$help{'Syllabus'} -</span> -</form> -<br /><form action="/adm/coursedocs" method="post" name="subnewaboutme"> -<input type="hidden" name="folderpath" value="$path" /> -<input type="hidden" name="importdetail" -value="$plainname=/adm/$udom/$uname/aboutme" /> -<span class="LC_nobreak"> -<input name="newaboutme" type="submit" value="$lt{'mypi'}" /> -$help{'My Personal Info'} -</span> -</form> +$supnewaboutmeform </td></tr> </table></td></tr> ENDSUPFORM @@ -3184,6 +3305,7 @@ ENDSUPFORM <input type="hidden" name="residx" /> </form>'); } + } else { unless ($upload_result eq 'phasetwo') { # -------------------------------------------------------- This is showdoc mode @@ -3198,6 +3320,76 @@ ENDSUPFORM return OK; } +sub generate_admin_options { + my ($containertag,$uploadtag,$lt_ref,$help_ref,$env_ref) = @_; + my %lt = %{$lt_ref}; + my %help = %{$help_ref}; + my %env = %{$env_ref}; + my $dumpbut=&dumpbutton(); + my $exportbut=&exportbutton(); + return (<<ENDOPTIONFORM); + <form name="renameform" method="post" action="/adm/coursedocs"> + <input type="hidden" name="title" /> + <input type="hidden" name="cmd" /> + <input type="hidden" name="markcopy" /> + <input type="hidden" name="copyfolder" /> + $containertag + </form> + <form name="simpleedit" method="post" action="/adm/coursedocs"> + <input type="hidden" name="importdetail" value="" /> + $uploadtag + </form> + <form action="/adm/coursedocs" method="post" name="courseverify"> + <ul style="list-style-type:none"> + <li> + <input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'} + </li> + <li> + <input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'} + </li> + <li> + $dumpbut + </li> + <li> + $exportbut + </li> + <li> + <input type="submit" name="listsymbs" value="$lt{'ls'}" /> + </li> + <li> + <input type="hidden" name="folder" value="$env{'form.folder'}" /> + <input type="submit" name="docslog" value="$lt{'sl'}" /> + </li> + </ul> + </form> + <div style="clear: both; height: 0px;"> </div> +ENDOPTIONFORM + +} + + +sub generate_edit_table { + my ($namehash_ref,$orderhash_ref) = @_; + #my %optionhash = %{$optionhash_ref}; #id verlinkt mit inhalt + my %namehash = %{$namehash_ref}; #name verlinkt mit id + my %orderhash = %{$orderhash_ref}; #name mit kürzel verlinkt mit name + my $form; + $form = '<div class="LC_ContentBoxSpecial"><h4 class="LC_hcell">'.&mt('Upload Course Documents').'</h4>'; + $form .= '<ul class="LC_TabContent">'; + foreach my $name (sort(keys(%orderhash))){ + if($name eq 'zz_hide'){ + $form .= '<li onclick="javascript:hideAll();">'.&mt($orderhash{$name}).'</li>'; + }else{ + $form .= '<li onclick="javascript:showPage(this, \''.$orderhash{$name}.'\');">'.&mt($orderhash{$name}).'</li>'; + } + } + $form .= '<div id="content" style="padding: 0 0; margin: 0 0;">'; + foreach my $field (keys(%namehash)){ + $form .= '<div id="'.$field.'" class="LC_ContentBox" style="display: none;">'.$namehash{$field}.'</div>'; + } + $form .= '</div></div>'; + return $form; +} sub editing_js { my ($udom,$uname) = @_; @@ -3400,6 +3592,22 @@ function markcopy(folderpath,index,oldti this.document.forms.renameform.submit(); } +function hideAll() { + currentData = document.getElementById('content'); + currentDivs = currentData.getElementsByTagName('div'); + for (i = 0; i < currentDivs.length; i++) { + currentDivs[i].style.display = 'none'; + } +} + +function showPage(current, pageId) { + hideAll(); + current.className = 'active'; + currentData = document.getElementById(pageId); + currentData.style.display = 'block'; + return false; +} + ENDNEWSCRIPT } 1;