--- loncom/interface/londocs.pm 2010/08/14 00:00:29 1.430 +++ loncom/interface/londocs.pm 2010/10/27 01:00:38 1.439 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.430 2010/08/14 00:00:29 raeburn Exp $ +# $Id: londocs.pm,v 1.439 2010/10/27 01:00:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1607,12 +1607,12 @@ sub editor { my $shown=0; if (($ishidden) || ($isencrypted) || ($randompick>=0) || ($is_random_order)) { $r->print('<div class="LC_Box">'. - '<ol class="LC_docs_parameters"><li style="font-weight:bold;">'.&mt('Parameters:').'</li>'. - ($randompick>=0?'<li>• '.&mt('randomly pick [quant,_1,resource]',$randompick).'</li>':''). - ($ishidden?'<li>• '.&mt('contents hidden').'</li>':''). - ($isencrypted?'<li>• '.&mt('URLs hidden').'</li>':''). - ($is_random_order?'<li>• '.&mt('random order').'</li>':''). - '</ol></p>'); + '<ol class="LC_docs_parameters"><li class="LC_docs_parameters_title">'.&mt('Parameters:').'</li>'. + ($randompick>=0?'<li>'.&mt('randomly pick [quant,_1,resource]',$randompick).'</li>':''). + ($ishidden?'<li>'.&mt('contents hidden').'</li>':''). + ($isencrypted?'<li>'.&mt('URLs hidden').'</li>':''). + ($is_random_order?'<li>'.&mt('random order').'</li>':''). + '</ol>'); if ($randompick>=0) { $r->print('<p class="LC_warning">' .&mt('Caution: this folder is set to randomly pick a subset' @@ -1720,7 +1720,7 @@ sub process_file_upload { # probably the only place in the system where this should be "1" my $newidx=&LONCAPA::map::getresidx(); $destination .= $newidx; - my $url=&Apache::lonnet::userfileupload('uploaddoc',1,$destination, + my $url=&Apache::lonnet::userfileupload('uploaddoc','coursedoc',$destination, $parseaction,$allfiles, $codebase); my $ext='false'; @@ -1781,7 +1781,7 @@ sub process_secondary_uploads { } $destination .= $newidx; my ($url,$filename); - $url=&Apache::lonnet::userfileupload($formname.$num,1,$destination); + $url=&Apache::lonnet::userfileupload($formname.$num,'coursedoc',$destination); ($filename) = ($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/\Q$destination\E/(.+)$}); return $filename; } @@ -2718,9 +2718,22 @@ sub handler { $env{'form.pagename'}=&unescape(pop(@pagepath)); $env{'form.folder'}=pop(@pagepath); $containertag = '<input type="hidden" name="pagepath" value="" />'. - '<input type="hidden" name="pagesymb" value="" />'; - $uploadtag = '<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'. - '<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />'; + '<input type="hidden" name="pagesymb" value="" />'; + $uploadtag = + '<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'. + '<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />'. + '<input type="hidden" name="folderpath" value="" />'; + } else { + my $folderpath=$env{'form.folderpath'}; + if (!$folderpath) { + if ($env{'form.folder'} eq '' || + $env{'form.folder'} eq 'supplemental') { + $folderpath='default&'. + &escape(&mt('Main '.$crstype.' Documents')); + } + } + $containertag = '<input type="hidden" name="folderpath" value="" />'; + $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; } if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { $showdoc='/'.$1; @@ -2907,7 +2920,7 @@ sub create_form_ul { 'upld' => 'Import Document', 'srch' => 'Search', 'impo' => 'Import', - 'book' => 'Import Bookmarks', + 'wish' => 'Import from Wishlist', 'selm' => 'Select Map', 'load' => 'Load Map', 'reco' => 'Recover Deleted Documents', @@ -2958,7 +2971,7 @@ CHBO $fileupload <br /> $lt{'title'}:<br /> - <input type="text" size="50" name="comment" /> + <input type="text" size="80" name="comment" /> $uploadtag <input type="hidden" name="cmd" value="upload_default" /> <br /> @@ -2980,7 +2993,7 @@ SEDFFORM my @simpleeditdefaultforma = ( { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/src.png" alt="'.$lt{srch}.'" onclick="javascript:groupsearch()" />' => "$uploadtag<a class='LC_menubuttons_link' href='javascript:groupsearch()'>$lt{'srch'}</a>" }, { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{impo}.'" onclick="javascript:groupimport();"/>' => "<a class='LC_menubuttons_link' href='javascript:groupimport();'>$lt{'impo'}</a>$help{'Importing_LON-CAPA_Resource'}" }, - { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/vbkm.png" alt="'.$lt{book}.'" onclick="javascript:groupopen(0,1,1);" />' => "<a class='LC_menubuttons_link' href='javascript:groupopen(0,1,1);'>$lt{'book'}</a>" }, + { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/wishlist.png" alt="'.$lt{wish}.'" onclick="javascript:open_Wishlist_Import();" />' => "<a class='LC_menubuttons_link' href='javascript:open_Wishlist_Import();'>$lt{'wish'}</a>" }, ); $simpleeditdefaultform .= create_form_ul(create_list_elements(@simpleeditdefaultforma)); $simpleeditdefaultform .=(<<SEDFFORM); @@ -3013,18 +3026,6 @@ ERFORM 'sl' => 'Show Log' ); - my $folderpath=$env{'form.folderpath'}; - if (!$folderpath) { - if ($env{'form.folder'} eq '' || - $env{'form.folder'} eq 'supplemental') { - $folderpath='default&'. - &escape(&mt('Main '.$crstype.' Documents')); - } - } - unless ($env{'form.pagepath'}) { - $containertag = '<input type="hidden" name="folderpath" value="" />'; - $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; - } $r->print(<<HIDDENFORM); <form name="renameform" method="post" action="/adm/coursedocs"> <input type="hidden" name="title" /> @@ -3062,7 +3063,6 @@ HIDDENFORM } } $r->print('<li '.$active - . ' onmouseover="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');"' . ' onclick="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.$tabtitles{'main'}{$crstype}.'</b></a></li>'); $active = ''; if (!$forcestandard || ($env{'form.folderpath'}=~/^supplemental/)) { @@ -3071,7 +3071,6 @@ HIDDENFORM } } $r->print('<li '.$active - .' onmouseover="javascript:showPage(this,\'supplCourseDocuments\',\'mainnav\',\'maincoursedoc\');"' .' onclick="javascript:showPage(this,\'supplCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.$tabtitles{'supplemental'}{$crstype}.'</b></a></li>'); $r->print('</ul>'); } else { @@ -3120,7 +3119,7 @@ HIDDENFORM my $recoverform=(<<RFORM); <form action="/adm/groupsort" method="post" name="recover"> - <a class="LC_menubuttons_link" href="javascript:groupopen('$readfile',1,0)">$lt{'reco'}</a> + <a class="LC_menubuttons_link" href="javascript:groupopen('$readfile',1)">$lt{'reco'}</a> </form> RFORM @@ -3277,9 +3276,13 @@ NGFFORM {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/page.png" alt="'.$lt{newp}.'" onclick="javascript:makenewpage(document.newpage,\''.$pageseq.'\');" />'=>$newpageform}, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/syllabus.png" alt="'.$lt{syll}.'" onclick="document.newsyl.submit()" />'=>$newsylform}, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/groupportfolio.png" alt="'.$lt{grpo}.'" onclick="document.newgroupfiles.submit()" />'=>$newgroupfileform}, - ); - - } + ); + + my @importdoc = ( + {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'newext\');" />'=>$extresourcesform}, + {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" onclick="javascript:makeims();" />'=>$imspform},); + $fileuploadform = create_form_ul(create_list_elements(@importdoc)) . '<hr/>' . $fileuploadform; + push @specialdocumentsforma, ({'<img class="LC_noBorder LC_middle" src="/res/adm/pages/navigation.png" alt="'.$lt{navc}.'" onclick="document.newnav.submit()" />'=>$newnavform}, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simple.png" alt="'.$lt{sipa}.'" onclick="javascript:makesmppage();" />'=>$newsmppageform}, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simpprob.png" alt="'.$lt{sipr}.'" onclick="javascript:makesmpproblem();" />'=>$newsmpproblemform}, @@ -3291,6 +3294,7 @@ NGFFORM {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/clst.png" alt="'.$lt{rost}.'" onclick="document.newroster.submit()" />'=>$newrosterform},); $specialdocumentsform = create_form_ul(create_list_elements(@specialdocumentsforma)); + } if($env{'form.pagepath'}) { @@ -3304,21 +3308,19 @@ if($env{'form.pagepath'}) { my @tools = ( # {'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" />'=>$extresourcesform}, # {'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" />'=>$imspform}, - {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/recover.png" alt="'.$lt{reco}.'" onclick="javascript:groupopen(\''.$readfile.'\',1,0)" />'=>$recoverform}, + {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/recover.png" alt="'.$lt{reco}.'" onclick="javascript:groupopen(\''.$readfile.'\',1)" />'=>$recoverform}, ); -my @importdoc = ( - {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'newext\');" />'=>$extresourcesform}, - {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" onclick="javascript:makeims();" />'=>$imspform}, -); -$fileuploadform = create_form_ul(create_list_elements(@importdoc)) . '<hr/>' . $fileuploadform; my %orderhash = ( - '00' => ['Newfolder',$newfolderform], 'aa' => ['Import Documents',$fileuploadform], 'bb' => ['Published Resources',$simpleeditdefaultform], 'cc' => ['Special Documents',$specialdocumentsform], - 'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options($containertag,$uploadtag,\%help,\%env)], + 'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options(\%help,\%env)], ); +unless($env{'form.pagepath'}) { + $orderhash{'00'} = ['Newfolder',$newfolderform]; +} + my $tid='1'; $hadchanges=0; my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); @@ -3334,8 +3336,6 @@ $r->print(&generate_edit_table($tid,\%or $r->print('</div>'); } - if ($env{'form.pagepath'}) { - } # ----------------------------------------------------- Supplemental documents $active = 'style="display: none;"'; if($activeClass == 1){ @@ -3482,8 +3482,8 @@ $r->print('</div></div>'); } sub generate_admin_options { - my ($containertag,$uploadtag,$help_ref,$env_ref) = @_; - my %lt=&Apache::lonlocal::texthash( + my ($help_ref,$env_ref) = @_; + my %lt=&Apache::lonlocal::texthash( 'vc' => 'Verify Content', 'cv' => 'Check/Set Resource Versions', 'ls' => 'List Symbs', @@ -3504,7 +3504,7 @@ sub generate_admin_options { if($dumpbut ne ''){ push @list, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/dump.png" alt="'.$lt{dcd}.'" />'=>$dumpbut}; } - push @list, ({'<img class="LC_noBorder LC_middle" src="/res/adm/pages/imsexport.png" alt="'.$lt{imse}.'" class="LC_menubuttons_link" href=\'javascript:injectData(document.courseverify, "dummy", "exportcourse", "'.&mt('IMS Export').'")\' />' + push @list, ({'<img class="LC_noBorder LC_middle" src="/res/adm/pages/imsexport.png" alt="'.$lt{imse}.'" onclick="javascript:injectData(document.courseverify, \'dummy\', \'exportcourse\', \''.&mt('IMS Export').'\');" />' =>$exportbut}, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/symbs.png" alt="'.$lt{ls}.'" onclick=\'javascript:injectData(document.courseverify, "dummy", "listsymbs", "'.$lt{'ls'}.'")\' />' =>"<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"listsymbs\", \"$lt{'ls'}\")'>$lt{'ls'}</a><input type='hidden' name='folder' value='$env{'form.folder'}' />"}, @@ -3589,6 +3589,18 @@ sub editing_js { p_ctr2b => '?[_98]' ); + my $crstype = &Apache::loncommon::course_type(); + my $docs_folderpath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.folderpath'},'<>&"'); + my $docs_pagepath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.pagepath'},'<>&"'); + my $main_container_page; + if ($docs_folderpath eq '') { + if ($docs_pagepath ne '') { + $main_container_page = 1; + } + } + my $toplevelmain = 'default&Main%20'.$crstype.'%20Documents'; + my $toplevelsupp = 'supplemental&Supplemental%20'.$crstype.'%20Documents'; + return <<ENDNEWSCRIPT; function makenewfolder(targetform,folderseq) { var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}'); @@ -3817,6 +3829,40 @@ function showPage(current, pageId, nav, current.className = 'active'; currentData = document.getElementById(pageId); currentData.style.display = 'block'; + if (nav == 'mainnav') { + var storedpath = "$docs_folderpath"; + if (storedpath == '') { + storedpath = "$docs_pagepath"; + } + var storedpage = "$main_container_page"; + var reg = new RegExp("^supplemental"); + if (pageId == 'mainCourseDocuments') { + if (storedpage == 1) { + document.simpleedit.folderpath.value = ''; + document.uploaddocument.folderpath.value = ''; + } else { + if (reg.test(storedpath)) { + document.simpleedit.folderpath.value = '$toplevelmain'; + document.uploaddocument.folderpath.value = '$toplevelmain'; + document.newext.folderpath.value = '$toplevelmain'; + } else { + document.simpleedit.folderpath.value = storedpath; + document.uploaddocument.folderpath.value = storedpath; + document.newext.folderpath.value = storedpath; + } + } + } else { + if (reg.test(storedpath)) { + document.simpleedit.folderpath.value = storedpath; + document.supuploaddocument.folderpath.value = storedpath; + document.supnewext.folderpath.value = storedpath; + } else { + document.simpleedit.folderpath.value = '$toplevelsupp'; + document.supuploaddocument.folderpath.value = '$toplevelsupp'; + document.supnewext.folderpath.value = '$toplevelsupp'; + } + } + } return false; }