Diff for /loncom/interface/lonpickcourse.pm between versions 1.19 and 1.25

version 1.19, 2004/11/23 18:03:04 version 1.25, 2005/01/28 19:26:54
Line 53  ENDDOCUMENT Line 53  ENDDOCUMENT
         ($ENV{'QUERY_STRING'},['domainfilter','descriptfilter',          ($ENV{'QUERY_STRING'},['domainfilter','descriptfilter',
        'sincefilter','form','cnumelement',         'sincefilter','form','cnumelement',
        'cdomelement','cnameelement','roleelement',         'cdomelement','cnameelement','roleelement',
                                'pickedcourse']);                                 'pickedcourse','instcodefilter','ownerfilter']);
 # domain filter and selection  # domain filter and selection
     my $domainfilter=$ENV{'form.domainfilter'};      my $domainfilter=$ENV{'form.domainfilter'};
     $domainfilter=~s/\W//g;      $domainfilter=~s/\W//g;
Line 64  ENDDOCUMENT Line 64  ENDDOCUMENT
     my $descriptfilter=$ENV{'form.descriptfilter'};      my $descriptfilter=$ENV{'form.descriptfilter'};
     unless ($descriptfilter) { $descriptfilter=''; }      unless ($descriptfilter) { $descriptfilter=''; }
     my $listdescript=&HTML::Entities::encode($descriptfilter,'<>&"');      my $listdescript=&HTML::Entities::encode($descriptfilter,'<>&"');
   # institutional code filter
       my $instcodefilter=$ENV{'form.instcodefilter'};
       unless ($instcodefilter) { $instcodefilter=''; }
       my $listinstcode=&HTML::Entities::encode($instcodefilter,'<>&"');
   # course owner filter
       my $ownerfilter=$ENV{'form.ownerfilter'};
       unless ($ownerfilter) { $ownerfilter=''; }
       my $listowner=&HTML::Entities::encode($ownerfilter,'<>&"');
 # last course activity filter and selection  # last course activity filter and selection
     my $sincefilter=$ENV{'form.sincefilter'};      my $sincefilter=$ENV{'form.sincefilter'};
     $sincefilter=~s/[^\d-]//g;      $sincefilter=~s/[^\d-]//g;
Line 82  ENDDOCUMENT Line 90  ENDDOCUMENT
 # if called from loncreateuser, report sections, then close  # if called from loncreateuser, report sections, then close
     my ($loaditem,$seclist);      my ($loaditem,$seclist);
     my $num_sections = 0;      my $num_sections = 0;
     my @sections = ();  
     if ($ENV{'form.form'} eq 'cu' && $ENV{'form.pickedcourse'}) {      if ($ENV{'form.form'} eq 'cu' && $ENV{'form.pickedcourse'}) {
         $loaditem = 'onLoad="setSections()"';          $loaditem = 'onLoad="setSections()"';
         my ($cdom,$cnum) = split/_/,$ENV{'form.pickedcourse'};          my ($cdom,$cnum) = split/_/,$ENV{'form.pickedcourse'};
Line 98  ENDDOCUMENT Line 105  ENDDOCUMENT
     my %lt=&Apache::lonlocal::texthash(      my %lt=&Apache::lonlocal::texthash(
        'cac' => 'Course Activity',         'cac' => 'Course Activity',
        'cde' => 'Course Description',         'cde' => 'Course Description',
        'cdo' => 'Course Domain');         'cdo' => 'Course Domain',
                                          'cin' => 'Course Institutional Code',
                                          'cow' => "Course Owner's usename");
     my ($name_code,$name_input);      my ($name_code,$name_input);
     if (defined($ENV{'form.cnameelement'}) && $ENV{'form.cnameelement'} ne '') {      if (defined($ENV{'form.cnameelement'}) && $ENV{'form.cnameelement'} ne '') {
  $name_code = "opener.document.$ENV{'form.form'}.$ENV{'form.cnameelement'}.value=cdesc;";   $name_code = "opener.document.$ENV{'form.form'}.$ENV{'form.cnameelement'}.value=cdesc;";
Line 144  function setSections() { Line 153  function setSections() {
     var sectionsArray = new Array("$seclist")      var sectionsArray = new Array("$seclist")
     opener.document.$ENV{"form.form"}.currsec.length = 0      opener.document.$ENV{"form.form"}.currsec.length = 0
     if (numSections == 0) {      if (numSections == 0) {
         opener.document.$ENV{"form.form"}.currsec.options[0] = new Option('No existing sections','-1',false,false)          opener.document.$ENV{"form.form"}.currsec.multiple=false
           opener.document.$ENV{"form.form"}.currsec.size=1;
           opener.document.$ENV{"form.form"}.currsec.options[0] = new Option('No existing sections','',false,false)
     }      }
     else {      else {
         for (var i=0; i<numSections; i++) {          if (numSections == 1) {
             opener.document.$ENV{"form.form"}.currsec.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false)              opener.document.$ENV{"form.form"}.currsec.multiple=false;
         }              opener.document.$ENV{"form.form"}.currsec.size=1;
         opener.document.$ENV{"form.form"}.currsec.multiple=true              opener.document.$ENV{"form.form"}.currsec.options[0] = new Option('Select','',true,true);
         if (numSections < 3) {              opener.document.$ENV{"form.form"}.currsec.options[1] = new Option('No section','',false,false) 
             opener.document.$ENV{"form.form"}.currsec.size=numSections;              opener.document.$ENV{"form.form"}.currsec.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false);
         }          }
         else {          else {
             opener.document.$ENV{"form.form"}.currsec.size=3;              for (var i=0; i<numSections; i++) {
                   opener.document.$ENV{"form.form"}.currsec.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false)
               }
               opener.document.$ENV{"form.form"}.currsec.multiple=true
               if (numSections < 3) {
                   opener.document.$ENV{"form.form"}.currsec.size=numSections;
               }
               else {
                   opener.document.$ENV{"form.form"}.currsec.size=3;
               }
               opener.document.$ENV{"form.form"}.currsec.options[0].selected = false
         }          }
         opener.document.$ENV{"form.form"}.currsec.options[0].selected = false  
     }      }
     self.close()      self.close()
 }  }
Line 173  $lt{'cac'}: $sincefilterform Line 193  $lt{'cac'}: $sincefilterform
 <br />  <br />
 $lt{'cdo'}: $domainselectform  $lt{'cdo'}: $domainselectform
 <br />  <br />
   $lt{'cin'}:
   <input type="text" name="instcodefilter" size="10" value="$listinstcode" />
   <br />
   $lt{'cow'}:
   <input type="text" name="ownerfilter" size="10" value="$listowner" />
   <br />
 $lt{'cde'}:  $lt{'cde'}:
 <input type="text" name="descriptfilter" size="40" value="$listdescript" />  <input type="text" name="descriptfilter" size="40" value="$listdescript" />
 <p><input type="submit" name="gosearch" value="Search" /></p>  <p><input type="submit" name="gosearch" value="Search" /></p>
Line 184  ENDSCRIPT Line 210  ENDSCRIPT
         $r->print(&mt('Searching').' ...<br />&nbsp;<br />');          $r->print(&mt('Searching').' ...<br />&nbsp;<br />');
         $r->rflush();          $r->rflush();
  unless ($descriptfilter) { $descriptfilter='.'; }   unless ($descriptfilter) { $descriptfilter='.'; }
           unless ($instcodefilter) { $instcodefilter='.'; }
           unless ($ownerfilter) { $ownerfilter='.'; }
         my $timefilter=($sincefilter==-1?1:time-$sincefilter);          my $timefilter=($sincefilter==-1?1:time-$sincefilter);
  my %courses=   my %courses=
     &Apache::lonnet::courseiddump      &Apache::lonnet::courseiddump
     ($domainfilter,$descriptfilter,$timefilter);      ($domainfilter,$descriptfilter,$timefilter,$instcodefilter,$ownerfilter);
  $r->print('<form name="courselist">');   $r->print('<form name="courselist">');
  my %by_descrip;   my %by_descrip;
  foreach my $course (keys %courses) {   foreach my $course (keys %courses) {
Line 197  ENDSCRIPT Line 225  ENDSCRIPT
             } else {              } else {
                 $descr = &Apache::lonnet::unescape($courses{$course});                  $descr = &Apache::lonnet::unescape($courses{$course});
             }              }
             $by_descrip{lc($descr)}=$course;              my $description = lc($descr);
               push (@{$by_descrip{$description}}, $course);
  }   }
  foreach my $description (sort(keys(%by_descrip))) {   foreach my $description (sort(keys(%by_descrip))) {
     my $course=$by_descrip{$description};              foreach my $course (@{$by_descrip{$description}}) {
     my $cleandesc=&HTML::Entities::encode($description,'<>&"');          my $cleandesc=&HTML::Entities::encode($description,'<>&"');
     $cleandesc=~s/'/\\'/g;          $cleandesc=~s/'/\\'/g;
     my ($cdom,$cnum)=split(/\_/,$course);          my ($cdom,$cnum)=split(/\_/,$course);
     $r->print('<input type="button" value="Select" onClick="gochoose('.                  my ($descr,$instcode,$owner) = split/:/,$courses{$course};
   "'".$cnum."','".$cdom."','".$cleandesc."')".'" /> '.$description.' ('.          $r->print('<input type="button" value="Select" onClick="gochoose('.
   ($Apache::lonnet::domaindescription{$cdom}?        "'".$cnum."','".$cdom."','".$cleandesc."')".'" /> '.$description.' ('.
                    $Apache::lonnet::domaindescription{$cdom}:$cdom).        ($Apache::lonnet::domaindescription{$cdom}?
                  ")<br />\n");                         $Apache::lonnet::domaindescription{$cdom}:$cdom).")");
                   unless ($instcode eq '') {
                       $r->print(" - ".&Apache::lonnet::unescape($instcode));
                   }
                   unless ($owner eq '') {
                       $r->print(", owner - ".&Apache::lonnet::unescape($owner));
                   }
                   $r->print("<br />\n");
               }
  }   }
  if (!%courses) { $r->print(&mt('None found')); }   if (!%courses) { $r->print(&mt('None found')); }
         $r->print('<input type="hidden" name="form" value="'.$ENV{'form.form'}.'" />'."\n".          $r->print('<input type="hidden" name="form" value="'.$ENV{'form.form'}.'" />'."\n".

Removed from v.1.19  
changed lines
  Added in v.1.25


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