--- loncom/interface/lonsyllabus.pm 2010/02/15 16:05:32 1.106.2.2 +++ loncom/interface/lonsyllabus.pm 2010/02/17 18:42:38 1.106.2.5 @@ -1,7 +1,7 @@ # The LearningOnline Network # Syllabus # -# $Id: lonsyllabus.pm,v 1.106.2.2 2010/02/15 16:05:32 faziophi Exp $ +# $Id: lonsyllabus.pm,v 1.106.2.5 2010/02/17 18:42:38 faziophi Exp $ # # Copyright Michigan State University Board of Trustees # @@ -147,6 +147,145 @@ function getIndexByName(item) { ENDSCRIPT } + $js .= <<'ENDSCRIPT'; + + + + +ENDSCRIPT my $start_page = &Apache::loncommon::start_page("Syllabus", $rss_link.$js, {'function' => undef, @@ -195,14 +334,14 @@ ENDSCRIPT $r->print("Flushed syllabus DB file.
"); $r->print("Syllabus conflict: ".$syllabus{'properties.v2_conflict'}."
"); } - $r->print("Existing fields: ".$syllabus{'data.fields'}."
"); - $r->print("Old-new map: ".$syllabus{'data.old_new_map'}."
"); - $r->print("Deleted fields: ".$syllabus{'data.deleted_fields'}."
"); + #$r->print("Existing fields: ".$syllabus{'data.fields'}."
"); + #$r->print("Old-new map: ".$syllabus{'data.old_new_map'}."
"); + #$r->print("Deleted fields: ".$syllabus{'data.deleted_fields'}."
"); if (!exists($syllabus{'data.fields'})) { # convert existing 2.x data to new DB fields # which become new primary data source for document %data = %{convert_from_v2($r, \%syllabus, \%syllabusfields, 0)}; - $r->print("New fields order: ".$data{'data.fields'}."
"); + #$r->print("New fields order: ".$data{'data.fields'}."
"); &Apache::lonnet::put('syllabus',\%data,$cdom,$cnum); } elsif ( !exists($syllabus{'properties.v2_converted'}) && exists($syllabus{'uploaded.lastmodified'}) && @@ -244,12 +383,12 @@ ENDSCRIPT #do not delete if file in v2 conversion mode if (exists($data{'data.field.'.$field}) && !exists($data{'properties.v2_converted'})) { - $r->print("Field '$field' can be deleted.
"); + #$r->print("Field '$field' can be deleted.
"); # linearly parse "data.fields" and remove it for (my $i = 0; $i < length(@fields); $i++) { if ($fields[$i] eq $field) { splice(@fields, $i, 1); - $r->print("Removed entry $i from 'data.fields'
"); + #$r->print("Removed entry $i from 'data.fields'
"); } } # if "data.deleted" does not exist, create it @@ -286,7 +425,7 @@ ENDSCRIPT if (exists($data{'data.field.'.$field}) && !exists($data{'properties.v2_converted'})) { #sanitize HTML content - $r->print("Rename -- field found.
"); + #$r->print("Rename -- field found.
"); my %db_entry = %{thaw($data{'data.field.'.$field})}; $new_title = &Apache::lonfeedback::clear_out_html($new_title, 1); $db_entry{title} = $new_title; @@ -301,7 +440,7 @@ ENDSCRIPT my %field_hash; # only update a field if it already exists! if (exists($data{'data.field.'.$syl_field})) { - $r->print("Creating/updated field ".$syl_field."
"); + #$r->print("Creating/updated field ".$syl_field."
"); %field_hash = exists($data{'data.field.'.$syl_field}) ? %{thaw($data{'data.field.'.$syl_field})} : (); $type = exists($field_hash{type}) ? $field_hash{type} : TYPE_TEXT_HTML; @@ -359,9 +498,9 @@ ENDSCRIPT #2.x compatibility: write to old fields with new mapped fields my %old_new_map = %{thaw($data{'data.old_new_map'})}; foreach my $old_field (keys(%old_new_map)) { - $r->print("Looking for: ".$old_field." at ".$old_new_map{$old_field}."
"); + #$r->print("Looking for: ".$old_field." at ".$old_new_map{$old_field}."
"); if (exists($data{'data.field.'.$old_new_map{$old_field}})) { - $r->print("updating old field ".$old_field."
"); + #$r->print("updating old field ".$old_field."
"); my %new_field = %{thaw($data{'data.field.'.$old_new_map{$old_field}})}; $data{$old_field} = $new_field{content}; } @@ -514,17 +653,13 @@ ENDSCRIPT my $day = &Apache::lonannounce::showday(time,2, &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)); if ($target ne 'tex') { - if ($allowed) { - &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_Box'); - $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); - my $editurl= &Apache::lonnet::absolute_url().'/adm/'.$cdom.'/'.$cnum.'/_rss.html'; - $r->print( ''.&mt('New RSS Feed or Blog').''); - &Apache::lontemplate::print_end_template($r); - } elsif (&Apache::lonrss::advertisefeeds($cnum,$cdom) ne '') { - &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_Box'); - $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); - &Apache::lontemplate::print_end_template($r); + if ($allowed) { + &print_activity_bar($r, \%data, $target, $allowed, Apache::lontemplate->RICH_TEXT_DETECT_HTML); + &print_field_sortable($r, \%data, $target, $allowed, Apache::lontemplate->RICH_TEXT_DETECT_HTML); + &print_title_bar($r, \%data, $target, $allowed, Apache::lontemplate->RICH_TEXT_DETECT_HTML); + &print_context_bar($r, \%data, $target, $allowed, Apache::lontemplate->RICH_TEXT_DETECT_HTML); } + $r->print("
\n"); } else { $r->print(&Apache::lonxml::xmlparse($r,'tex',$day)); @@ -533,7 +668,7 @@ ENDSCRIPT # ---------------------------------------------------------------- Get syllabus if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { if ($allowed) { - $r->print('
'. + $r->print(''. ''); } my @htmlids=(); @@ -581,8 +716,20 @@ ENDSCRIPT @htmlids = &print_template_new_fields($r, \%data, $target, $allowed, Apache::lontemplate->RICH_TEXT_DETECT_HTML, \%custom_hash); if ($allowed) { - $r->print('
'. - &Apache::lonhtmlcommon::htmlareaselectactive(@htmlids)); + $r->print(''); + $r->print(&Apache::lonhtmlcommon::htmlareaselectactive(@htmlids)); + } + if ($target ne 'tex') {$r->print('

 

');} + if ($allowed) { + &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_Box'); + $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); + my $editurl= &Apache::lonnet::absolute_url().'/adm/'.$cdom.'/'.$cnum.'/_rss.html'; + $r->print( ''.&mt('New RSS Feed or Blog').''); + &Apache::lontemplate::print_end_template($r); + } elsif (&Apache::lonrss::advertisefeeds($cnum,$cdom) ne '') { + &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_Box'); + $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); + &Apache::lontemplate::print_end_template($r); } } else { if ($target ne 'tex') {$r->print('

');} else {$r->print('\par ');} @@ -602,6 +749,70 @@ ENDSCRIPT return OK; } +sub print_activity_bar { + my ($r, $data_ref, $target, $allowed, $default_rich_text, $group) = @_; + $r->print("

+ + +
"); +} + +sub print_title_bar { + my ($r, $data_ref, $target, $allowed, $default_rich_text, $group) = @_; + $r->print("

+ +Title Goes Here +

+
"); +} + +sub print_context_bar { + my ($r, $data_ref, $target, $allowed, $default_rich_text, $group) = @_; + $r->print("
+ + + + +
"); +} + +sub print_field_sortable { + my ($r, $data_ref, $target, $allowed, $default_rich_text, $group) = @_; + my %data = %{$data_ref}; + my @fields = @{thaw($data{'data.fields'})}; + $r->print("
+
+\n"); + foreach my $key (@fields) { + my %field = %{thaw($data{'data.field.'.$key})}; + $r->print("
  • $field{title}
  • \n"); + } + $r->print(" +
    +
    +
    + + +
    +
    \n"); +} + sub print_template_new_fields { my ($r, $data_ref, $target, $allowed, $default_rich_text, $custom_handlers_ref, $group) = @_; my @html_ids = (); @@ -631,17 +842,17 @@ sub print_template_new_fields { $message=&Apache::lontexconvert::msgtexconverted($message); if ($target ne 'tex') { #output of syllabusfields will be generated here. - &Apache::lontemplate::print_start_template($r,$title,'LC_Box'); - $r->print($message); + &Apache::lontemplate::print_start_template($r,$title,'LC_Box', 'box-'.$key); + #$r->print($message); if ($allowed) { - $r->print("
    "); + $r->print("
    "); &Apache::lontemplate::print_textarea_template($r, $raw_message, $key, $default_rich_text); - &Apache::lontemplate::print_saveall_template($r); - if (!exists($data{'properties.v2_converted'})) { - $r->print("Delete "); - $r->print("Rename to \"Hello, World!\""); - } +# &Apache::lontemplate::print_saveall_template($r); +# if (!exists($data{'properties.v2_converted'})) { +# $r->print("Delete "); +# $r->print("Rename to \"Hello, World!\""); +# } $r->print("
    "); } &Apache::lontemplate::print_end_template($r); @@ -652,7 +863,7 @@ sub print_template_new_fields { } push(@html_ids,"hello"); } - } + } } return @html_ids;