Diff for /loncom/interface/lonmeta.pm between versions 1.98 and 1.104

version 1.98, 2005/07/08 10:39:49 version 1.104, 2005/08/09 00:24:55
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" >');
       my $meta_not_found = 1;
       foreach my $key (keys %env) {        
           if ($key =~ /\.metadata\./) {
               if ($meta_not_found) {
                   undef($meta_not_found);
                   $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" >');
               }
               my $course_key = $key;
               $course_key =~ s/\.metadata\..*//;
               $r->print('<option value="'.$course_key.'">');
               $r->print($env{$course_key.'.description'});
               $r->print('</option>');
           }
       }
       unless ($meta_not_found) {
           $r->print('</select><br />');
           $r->print('<input type="submit" value="Assign Instructor Metadata" />');
           $r->print('</form>');
       }
       return 'ok';
   }
 # Pretty printing of metadata field  # Pretty printing of metadata field
   
 sub prettyprint {  sub prettyprint {
Line 547  sub handler { Line 577  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');  
           } 
           elsif ($env{'form.keywords'}) {
               &save_instructor_metadata($r);
               &select_course($r);
           } else {
               &present_editable_metadata($r,$uri,'portfolio');
               &select_course($r);
           }
                   
     } elsif ($uri=~/^\/\~/) {       } elsif ($uri=~/^\/\~/) { 
         # Construction space          # Construction space
Line 882  sub print_dynamic_metadata { Line 921  sub print_dynamic_metadata {
     $r->print("</table>");      $r->print("</table>");
     return;      return;
 }  }
   sub save_instructor_metadata {
       my ($r) = @_;
       $r->print('This is the save instructor metadata area<br />');
       my @words =  &Apache::loncommon::get_env_multiple('form.keywords');
       foreach my $word (@words) {
           $r->print('You entered:'.$word.'<br />');
       }
       return 'ok';
   }
   sub present_instructor_metadata {
       my ($r,$uri, $file_type) = @_;
       $r->print('This is the instructor metadata area<br />');
       my @keywords = sort(split /, /,$env{$env{'form.metacourse'}.'.metadata.keywords'});
       $r->print($env{'form.metacourse'}.'<br />');
       $r->print('<form method="post" action="" size="3" >');
       $r->print('<select name="keywords" size="3" multiple>');
       foreach my $word (@keywords) {
           $r->print('<option>'.$word.'</option>');
       }
       $r->print('</select>');
       $r->print('<br /><input type="submit" value="Assign Meta-data" />');
       $r->print('</form>');
       return 'ok';
   }
   
   
 #####################################################  #####################################################
 #####################################################  #####################################################
Line 903  sub present_editable_metadata { Line 967  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');
             }              }
Line 915  sub present_editable_metadata { Line 981  sub present_editable_metadata {
     $cleardir=~s/\/[^\/]+$/\//;      $cleardir=~s/\/[^\/]+$/\//;
             if (&Apache::lonmsg::clear_author_res_msg($cleardir) eq 'ok') {              if (&Apache::lonmsg::clear_author_res_msg($cleardir) eq 'ok') {
                 $bombs=&mt('Messages cleared.');                  $bombs=&mt('Messages cleared.');
    $showdel=0;
             } else {              } else {
                 $bombs=&mt('Error clearing messages');                  $bombs=&mt('Error clearing messages');
             }              }
         }          }
         my $del=&mt('Delete Messages for this Resource');          my $del=&mt('Delete Messages for this Resource');
  my $clear=&mt('Clear all Messages in Subdirectory');   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">
   ENDBOMBS
           if ($showdel) {
       $r->print(<<ENDDEL);
 <input type="submit" name="delmsg" value="$del" />  <input type="submit" name="delmsg" value="$del" />
 <input type="submit" name="clearmsg" value="$clear" />  <input type="submit" name="clearmsg" value="$clear" />
 <br />$bombs  ENDDEL
 ENDBOMBS          } 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$/) {

Removed from v.1.98  
changed lines
  Added in v.1.104


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