--- loncom/interface/londocs.pm 2009/07/14 17:33:43 1.381
+++ loncom/interface/londocs.pm 2009/10/17 00:09:26 1.394
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.381 2009/07/14 17:33:43 bisitz Exp $
+# $Id: londocs.pm,v 1.394 2009/10/17 00:09:26 droeschl Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,6 +35,7 @@ use Apache::Constants qw(:common :http);
use Apache::imsexport;
use Apache::lonnet;
use Apache::loncommon;
+use Apache::lonhtmlcommon;
use LONCAPA::map();
use Apache::lonratedt();
use Apache::lonxml;
@@ -119,8 +120,8 @@ sub dumpbutton {
my $type = &Apache::loncommon::course_type();
if ($home+$other==0) { return ''; }
if ($home) {
- return ''.
+ my $link = "".&mt('Dump '.$type.' DOCS to Construction Space')."";
+ return $link.' '.
&Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs').'
';
} else {
return '
'.
@@ -262,9 +263,7 @@ sub dumpcourse {
sub exportbutton {
my $type = &Apache::loncommon::course_type();
- return '
'.
+ return "
".&mt('IMS Export')."".
&Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'
';
}
@@ -1033,11 +1032,7 @@ sub breadcrumbs {
if ($3) { $isencrypted=1; }
if ($4 ne '') { $is_random_order = 1; }
if ($folder eq 'supplemental') {
- if ($allowed) {
- $name = &mt('Supplemental '.$type.' Documents');
- } else {
- $name = &mt($type.' Documents');
- }
+ $name = &mt('Supplemental '.$type.' Documents');
}
&Apache::lonhtmlcommon::add_breadcrumb(
{'href'=>$url.$cpinfo,
@@ -1494,7 +1489,6 @@ sub handle_edit_cmd {
sub editor {
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$type)=@_;
-
my $container= ($env{'form.pagepath'}) ? 'page'
: 'sequence';
@@ -1633,16 +1627,20 @@ sub editor {
$shown++;
}
if ($shown) {
- $r->print(&Apache::loncommon::start_data_table()
- .&Apache::loncommon::start_data_table_header_row()
- .'
'.&mt('Move').' | '
- .'
'.&mt('Actions').' | '
- .'
'.&mt('Document').' | '
- .'
'.&mt('Settings').' | '
- .&Apache::loncommon::end_data_table_header_row()
- .$output
- .&Apache::loncommon::end_data_table()
- )
+ $r->print(&Apache::loncommon::start_data_table());
+ if ($allowed) {
+ $r->print(&Apache::loncommon::start_data_table_header_row()
+ .'
'.&mt('Move').' | '
+ .'
'.&mt('Actions').' | '
+ .'
'.&mt('Document').' | ');
+ if ($folder !~ /^supplemental/) {
+ $->print('
'.&mt('Settings').' | ');
+ }
+ $r->print(&Apache::loncommon::end_data_table_header_row());
+ }
+ $r->print($output
+ .&Apache::loncommon::end_data_table()
+ );
} else {
$r->print('
'
.&mt('Currently no documents.')
@@ -1719,7 +1717,7 @@ sub process_file_upload {
return 'failed';
} else {
if ($parseaction eq 'parse') {
- my $total_embedded = keys(%{$allfiles});
+ my $total_embedded = scalar(keys(%{$allfiles}));
if ($total_embedded > 0) {
my $num = 0;
my $state = '
@@ -1793,7 +1791,6 @@ sub parse_supplemental_title {
sub entryline {
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum)=@_;
-
my ($foldertitle,$pagetitle,$renametitle);
if (&is_supplemental_title($title)) {
($title,$foldertitle,$renametitle) = &parse_supplemental_title($title);
@@ -2702,6 +2699,26 @@ sub handler {
$allowed=0;
}
+# subroutine to list form elements
+sub create_list_elements {
+ my @formarr = @_;
+ my $list = '';
+ for my $button (@formarr){
+ for my $picture(keys %$button) {
+ #my $link = Apache::lonhtmlcommon::htmltag('a' ,$button->{$picture}, {href => "test"});
+ $list .= Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'});
+ }
+ }
+ return $list;
+}
+
+# subroutine to create ul from list elements
+sub create_form_ul {
+ my $list = shift;
+ my $ul = Apache::lonhtmlcommon::htmltag('ul',$list, {class => 'LC_ListStyleNormal'});
+ return $ul;
+}
+
# get course data
my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'};
my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'};
@@ -2724,11 +2741,28 @@ sub handler {
.$script."\n"
.'// ]]>'."\n"
.''."\n";
- my $brcrum = [{href=>"/adm/createuser",text=>"$type Documents"}];
- $r->print(&Apache::loncommon::start_page("$type Documents", $script,
- {'force_register' => $showdoc,
- 'bread_crumbs' => $brcrum}).
- &Apache::loncommon::help_open_menu('','',273,'RAT'));
+
+ # Breadcrumbs
+ &Apache::lonhtmlcommon::clear_breadcrumbs();
+ if ($allowed) {
+ &Apache::lonhtmlcommon::add_breadcrumb({
+ href=>"/adm/coursedocs",text=>"$type Editor"});
+
+ $r->print(&Apache::loncommon::start_page("$type Editor", $script,
+ {'force_register' => $showdoc,})
+ .&Apache::loncommon::help_open_menu('','',273,'RAT')
+ .&Apache::lonhtmlcommon::breadcrumbs(
+ 'Editing the Table of Contents for your '.$type,
+ 'Docs_Adding_Course_Doc')
+ );
+ } else {
+ my $lc_type = lc($type);
+ &Apache::lonhtmlcommon::add_breadcrumb({
+ href=>"/adm/coursedocs",text=>"Supplemental $lc_type documents"});
+
+ $r->print(&Apache::loncommon::start_page("Supplemental documents").
+ &Apache::lonhtmlcommon::breadcrumbs());
+ }
my %allfiles = ();
my %codebase = ();
@@ -2871,6 +2905,7 @@ FIUP
CHBO
+ my $fileuploada = " $help{'Uploading_From_Harddrive'}";
my $fileuploadform=(<
@@ -2884,27 +2919,25 @@ CHBO
$checkbox
-
-
-
-
- $help{'Uploading_From_Harddrive'}
-
+FUFORM
+ #$list .= Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'});
+ #$fileuploadform .= create_form_ul(create_list_elements(@fileuploada));
+ $fileuploadform .= create_form_ul(Apache::lonhtmlcommon::htmltag('li',$fileuploada,{class => 'LC_menubuttons_inline_text'}));
+ $fileuploadform .= (<
FUFORM
my $simpleeditdefaultform=(<
- $uploadtag
-
-
-
-
- $help{'Importing_LON-CAPA_Resource'}
-
-
-
+SEDFFORM
+ my @simpleeditdefaultforma = (
+ { '
' => "$uploadtag$lt{'srch'}" },
+ { '
' => "$lt{'impo'}$help{'Importing_LON-CAPA_Resource'}" },
+ { '
' => "$lt{'book'}" },
+ );
+ $simpleeditdefaultform .= create_form_ul(create_list_elements(@simpleeditdefaultforma));
+ $simpleeditdefaultform .=(<
$lt{'copm'}
@@ -2921,10 +2954,7 @@ SEDFFORM
ERFORM
@@ -2964,8 +2994,10 @@ ERFORM
HIDDENFORM
}
# --------------------------------------------------------- Main tab structure
+
my $activeClass = 1;
my $active = '';
+
$r->print('');
if (($standard) && ($allowed) && (!$forcesupplement) && (($env{'form.folderpath'}=~/^default/) || $env{'form.folderpath'}eq"" || ($env{'form.pagepath'}))) {
if($activeClass == 1){
@@ -2973,14 +3005,16 @@ HIDDENFORM
$activeClass = 0;
}
}
- $r->print('- '.&mt('Main Course Documents').'
');
+ if ($allowed){
+ $r->print('- '.&mt('Main Course Documents').'
');
+ }
$active = '';
if (!$forcestandard || ($env{'form.folderpath'}=~/^supplemental/)) {
if($activeClass == 1){
$active = 'class="active"';
}
}
- $r->print('- '.&mt('Supplemental Course Documents').'
');
+ $r->print('- '.&mt('Supplemental Course Documents').'
');
$r->print('
'
.''
.'
');
@@ -2990,6 +3024,7 @@ HIDDENFORM
if($activeClass == 0){
$active = 'style="display: block;"';
}
+ if ($allowed) {
$r->print('
');
my $folder=$env{'form.folder'};
if ($folder eq '' || $folder=~/^supplemental/) {
@@ -3024,14 +3059,14 @@ HIDDENFORM
my $recoverform=(<
-
+ $lt{'reco'}
RFORM
my $imspform=(<
-
+ $lt{'imsf'}
IMSPFORM
@@ -3041,10 +3076,8 @@ IMSPFORM
$uploadtag
-
-
+ $lt{'navc'}
$help{'Navigate_Content'}
-
NNFORM
my $newsmppageform=(<
$uploadtag
-
- $help{'Simple Page'}
-
+ $lt{'sipa'}
+ $help{'Simple Page'}
NSPFORM
@@ -3064,10 +3095,8 @@ NSPFORM
$uploadtag
-
- $help{'Simple Problem'}
-
+ $lt{'sipr'}
+ $help{'Simple Problem'}
NSPROBFORM
@@ -3077,10 +3106,7 @@ NSPROBFORM
$uploadtag
-
-
-
+ $lt{'drbx'}
NDBFORM
@@ -3089,11 +3115,8 @@ NDBFORM
$uploadtag
-
-
+ $lt{'scuf'}
$help{'Score_Upload_Form'}
-
NEXUFORM
@@ -3102,11 +3125,8 @@ NEXUFORM
$uploadtag
-
-
+ $lt{'bull'}
$help{'Bulletin Board'}
-
NBFORM
@@ -3116,10 +3136,8 @@ NBFORM
$uploadtag
-
-
+ $lt{'mypi'}
$help{'My Personal Information Page'}
-
NAMFORM
@@ -3128,10 +3146,7 @@ NAMFORM
$uploadtag
-
-
-
+ $lt{'abou'}
NASOFORM
@@ -3142,42 +3157,36 @@ NASOFORM
$uploadtag
-
-
+ $lt{'rost'}
$help{'Course Roster'}
-
NROSTFORM
my $specialdocumentsform;
+my @specialdocumentsforma;
my $newfolderform;
+my $newfolderb;
unless ($env{'form.pagepath'}) {
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
-
+
my $newpageform=(<
-
- $help{'Adding_Pages'}
-
+ $lt{'newp'}
+ $help{'Adding_Pages'}
NPFORM
+
$newfolderform=(<
-
- $help{'Adding_Folders'}
-
+ $lt{'newf'}$help{'Adding_Folders'}
NFFORM
@@ -3187,10 +3196,9 @@ NFFORM
$uploadtag
-
-
+ $lt{'syll'}
$help{'Syllabus'}
-
+
NSYLFORM
@@ -3200,34 +3208,53 @@ NSYLFORM
$uploadtag
-
-
+ $lt{'grpo'}
$help{'Group Portfolio'}
-
NGFFORM
-
- $specialdocumentsform="
$newpageform
$newsylform
$newgroupfileform";
+ @specialdocumentsforma=(
+ {'
'=>$newpageform},
+ {'
'=>$newsylform},
+ {'
'=>$newgroupfileform},
+ );
+
}
- $specialdocumentsform.="
$newnavform
$newsmppageform
-
$newsmpproblemform
$newdropboxform
-
$newexuploadform
$newbulform
-
$newaboutmeform
$newaboutsomeoneform
-
$newrosterform";
+ push @specialdocumentsforma, ({'
'=>$newnavform},
+ {'
'=>$newsmppageform},
+ {'
'=>$newsmpproblemform},
+ {'
'=>$newdropboxform},
+ {'
'=>$newexuploadform},
+ {'
'=>$newbulform},
+ {'
'=>$newaboutmeform},
+ {'
'=>$newaboutsomeoneform},
+ {'
'=>$newrosterform},);
+
+ $specialdocumentsform = create_form_ul(create_list_elements(@specialdocumentsforma));
+
if($env{'form.pagepath'}) {
- $specialdocumentsform="
$newsmpproblemform
$newexuploadform";
+
+ @specialdocumentsforma=(
+ {'
'=>$newsmpproblemform},
+ {'
'=>$newexuploadform}
+ );
+ $specialdocumentsform= create_form_ul(create_list_elements(@specialdocumentsforma));
}
+my @tools = (
+ {'
'=>$extresourcesform},
+ {'
'=>$imspform},
+ {'
'=>$recoverform},
+ );
+
my %orderhash = (
- 'aa' => ['Upload Document',$fileuploadform.'
'.$newfolderform],
+ '00' => ['Newfolder',$newfolderform],
+ 'aa' => ['Upload Document',$fileuploadform],
'bb' => ['Published Resources',$simpleeditdefaultform],
'cc' => ['Special Documents',$specialdocumentsform],
- 'dd' => ['Tools',$extresourcesform.'
'.$imspform.'
'.$recoverform.'
'.&generate_admin_options($containertag,$uploadtag,\%help,\%env)],
- 'zz' => ['Hide'],
+ 'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options($containertag,$uploadtag,\%help,\%env)],
);
my $tid='1';
my $varcd = 'Main Course Documents';
-$r->print(&generate_edit_table($tid,$varcd,\%orderhash));
$hadchanges=0;
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
if ($error) {
@@ -3238,9 +3265,10 @@ $r->print(&generate_edit_table($tid,$var
}
&changewarning($r,'');
- $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
- &mt('Editing the Table of Contents for your '.$type)));
+$r->print(&generate_edit_table($tid,$varcd,\%orderhash));
+
$r->print('');
+ }
if ($env{'form.pagepath'}) {
}
# ----------------------------------------------------- Supplemental documents
@@ -3257,7 +3285,7 @@ $r->print('
');
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) {
$env{'form.folderpath'} = 'supplemental&'.
&escape(&mt('Supplemental '.$type.' Documents'));
- }else{
+ } elsif ($allowed) {
$env{'form.folderpath'} = $savefolderpath;
}
$env{'form.pagepath'} = '';
@@ -3268,8 +3296,11 @@ $r->print('
');
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
+ my @supupdocform = (
+ {'
'=>"$help{'Uploading_From_Harddrive'}"},
+ );
my $supupdocform=(<
+
');