Diff for /loncom/interface/lonmeta.pm between versions 1.97 and 1.102

version 1.97, 2005/05/09 01:51:44 version 1.102, 2005/08/02 21:35:10
Line 17 Line 17
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.  # GNU General Public License for more details.
 #  #
 # You should have received a copy of the GNU General Public License  # You should have received a copy of the GNU General Public License 
 # along with LON-CAPA; if not, write to the Free Software  # along with LON-CAPA; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #  #
Line 33  use LONCAPA::lonmetadata(); Line 33  use LONCAPA::lonmetadata();
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon(); 
 use Apache::lonmsg;  use Apache::lonmsg;
 use Apache::lonpublisher;  use Apache::lonpublisher;
 use Apache::lonlocal;  use Apache::lonlocal;
Line 288  sub fieldnames { Line 288  sub fieldnames {
     return &Apache::lonlocal::texthash(%fields);      return &Apache::lonlocal::texthash(%fields);
 }  }
   
   sub select_course {
       my ($r)=@_;
       $r->print('<h3>Instructor Selected Meta-Data</h3><br />');
       $r->print('<form action="" method="post">');
       $r->print('Select your course<br>');
       $r->print('<select name="metacourse" >');
       foreach my $key (keys %env) {
           
           if ($key =~ /\.metadata\./) {
               my $course_key = $key;
               $course_key =~ s/\.metadata\..*//;
               $r->print('<option value="'.$course_key.'">');
               $r->print($env{$course_key.'.description'});
               $r->print('</option>');
           }
       }
       $r->print('</select><br />');
       $r->print('<input type="submit" >');
       $r->print('</form>');
       return 'ok';
   }
 # Pretty printing of metadata field  # Pretty printing of metadata field
   
 sub prettyprint {  sub prettyprint {
Line 547  sub handler { Line 568  sub handler {
     } elsif ($uri=~/\/portfolio\//) {      } elsif ($uri=~/\/portfolio\//) {
         $r->print(&Apache::loncommon::bodytag          $r->print(&Apache::loncommon::bodytag
           ('Edit Portfolio File Information','','','',$resdomain));            ('Edit Portfolio File Information','','','',$resdomain));
         &present_editable_metadata($r,$uri,'portfolio');          if ($env{'form.metacourse'}) {
               &present_instructor_metadata($r,$uri,'portfolio');  
           } else {
               &present_editable_metadata($r,$uri,'portfolio');
               &select_course($r);
           }
                   
     } elsif ($uri=~/^\/\~/) {       } elsif ($uri=~/^\/\~/) { 
         # Construction space          # Construction space
Line 578  sub report_bombs { Line 604  sub report_bombs {
     $r->print('<h1>'.&Apache::lonnet::clutter($uri).'</h1>');      $r->print('<h1>'.&Apache::lonnet::clutter($uri).'</h1>');
     my ($domain,$author)=($uri=~/^(\w+)\/(\w+)\//);      my ($domain,$author)=($uri=~/^(\w+)\/(\w+)\//);
     if (&Apache::loncacc::constructaccess('/~'.$author.'/',$domain)) {      if (&Apache::loncacc::constructaccess('/~'.$author.'/',$domain)) {
    if ($env{'form.clearbombs'}) {
       &Apache::lonmsg::clear_author_res_msg($uri);
    }
           my $clear=&mt('Clear all Messages in Subdirectory');
    $r->print(<<ENDCLEAR);
   <form method="post">
   <input type="submit" name="clearbombs" value="$clear" />
   </form>
   ENDCLEAR
         my %brokenurls =           my %brokenurls = 
             &Apache::lonmsg::all_url_author_res_msg($author,$domain);              &Apache::lonmsg::all_url_author_res_msg($author,$domain);
         foreach (sort(keys(%brokenurls))) {          foreach (sort(keys(%brokenurls))) {
Line 874  sub print_dynamic_metadata { Line 909  sub print_dynamic_metadata {
     return;      return;
 }  }
   
   sub present_instructor_metadata {
       my ($r,$uri, $file_type) = @_;
       print $r->print('This is the instructor metadata area'); 
       return 'ok';
   }
   
   
 #####################################################  #####################################################
 #####################################################  #####################################################
 ###                                               ###  ###                                               ###
Line 894  sub present_editable_metadata { Line 936  sub present_editable_metadata {
     $target=~s/\.meta$//;      $target=~s/\.meta$//;
     my $bombs=&Apache::lonmsg::retrieve_author_res_msg($target);      my $bombs=&Apache::lonmsg::retrieve_author_res_msg($target);
     if ($bombs) {      if ($bombs) {
           my $showdel=1;
         if ($env{'form.delmsg'}) {          if ($env{'form.delmsg'}) {
             if (&Apache::lonmsg::del_url_author_res_msg($target) eq 'ok') {              if (&Apache::lonmsg::del_url_author_res_msg($target) eq 'ok') {
                 $bombs=&mt('Messages deleted.');                  $bombs=&mt('Messages deleted.');
    $showdel=0;
             } else {              } else {
                 $bombs=&mt('Error deleting messages');                  $bombs=&mt('Error deleting messages');
             }              }
         }          }
         my $del=&mt('Delete Messages');          if ($env{'form.clearmsg'}) {
       my $cleardir=$target;
       $cleardir=~s/\/[^\/]+$/\//;
               if (&Apache::lonmsg::clear_author_res_msg($cleardir) eq 'ok') {
                   $bombs=&mt('Messages cleared.');
    $showdel=0;
               } else {
                   $bombs=&mt('Error clearing messages');
               }
           }
           my $del=&mt('Delete Messages for this Resource');
    my $clear=&mt('Clear all Messages in Subdirectory');
    my $goback=&mt('Back to Source File');
         $r->print(<<ENDBOMBS);          $r->print(<<ENDBOMBS);
 <h1>$disuri</h1>  <h1>$disuri</h1>
 <form method="post" name="defaultmeta">  <form method="post" name="defaultmeta">
 <input type="submit" name="delmsg" value="$del" />  
 <br />$bombs  
 ENDBOMBS  ENDBOMBS
           if ($showdel) {
       $r->print(<<ENDDEL);
   <input type="submit" name="delmsg" value="$del" />
   <input type="submit" name="clearmsg" value="$clear" />
   ENDDEL
           } else {
               $r->print('<a href="'.$disuri.'" />'.$goback.'</a>');
    }
    $r->print('<br />'.$bombs);
     } else {      } else {
         my $displayfile='Catalog Information for '.$disuri;          my $displayfile='Catalog Information for '.$disuri;
         if ($disuri=~/\/default$/) {          if ($disuri=~/\/default$/) {
Line 1025  ENDEDIT Line 1088  ENDEDIT
 1;  1;
 __END__  __END__
   
        
   
        

Removed from v.1.97  
changed lines
  Added in v.1.102


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>