Diff for /loncom/interface/lonsearchcat.pm between versions 1.6 and 1.10

version 1.6, 2001/03/08 20:54:53 version 1.10, 2001/03/14 16:57:04
Line 9  use strict; Line 9  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::File();  use Apache::File();
   use CGI qw(:standard);
   
 my %language;  my %language;
 my $scrout;  my $scrout;
Line 18  my %mimetag; Line 19  my %mimetag;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
   
   # -------------------------------------- see if called from an interactive mode
       map {
          my ($name, $value) = split(/=/,$_);
          $value =~ tr/+/ /;
          $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
          if ($name eq 'catalogmode') {
      $ENV{'form.'.$name}=$value;
          }
       } (split(/&/,$ENV{'QUERY_STRING'}));
   
     $r->content_type('text/html');      $r->content_type('text/html');
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
   
     %metadatafields=();      %metadatafields=();
   
       my $hidden='';
       $hidden=<<END if $ENV{'form.catalogmode'} eq 'interactive';
   <input type='hidden' name='catalogmode' value='interactive'>
   END
   
 # ------------------------------------------------ First, check out environment  # ------------------------------------------------ First, check out environment
     $metadatafields{'owner'}=$ENV{'user.name'}.'@'.$ENV{'user.domain'};      $metadatafields{'owner'}=$ENV{'user.name'}.'@'.$ENV{'user.domain'};
   
   # --------------------------------- Compute various listings of metadata values
           
     %language=();      %language=();
     $language{'any'}='Any language';      $language{'any'}='Any language';
Line 62  sub handler { Line 80  sub handler {
  return &basicsearch($r,$ENV{'form.basicexp'});   return &basicsearch($r,$ENV{'form.basicexp'});
     }      }
   
     $scrout="";      $scrout=''; # building a part of screen output
     $scrout.=&searchphrasefield('Limit by title','title',      $scrout.=&searchphrasefield('Limit by title','title',
  '');   '');
   
Line 84  sub handler { Line 102  sub handler {
     $scrout.=&selectbox('Limit by language','language',      $scrout.=&selectbox('Limit by language','language',
  'any',%language);   'any',%language);
           
     $scrout.=<<CREATIONDATEEND;  
   # ------------------------------------------------ Compute date selection boxes
       $scrout.=<<CREATIONDATESTART;
 <p>  <p>
 <font color="#800000" face="helvetica"><b>LIMIT BY CREATION DATE RANGE:</b>  <font color="#800000" face="helvetica"><b>LIMIT BY CREATION DATE RANGE:</b>
 </font>  </font>
 <br>  <br>
 between:<select name="creationdatemonthstart">  between:
 <option value="01"> </option>  CREATIONDATESTART
 <option value="01">January</option>      $scrout.=&dateboxes('creationdatestart',1,1,1976);
 <option value="02">February</option>      $scrout.=<<CREATIONDATEEND;
 <option value="03">March</option>  and:
 <option value="04">April</option>  
 <option value="05">May</option>  
 <option value="06">June</option>  
 <option value="07">July</option>  
 <option value="08">August</option>  
 <option value="09">September</option>  
 <option value="10">October</option>  
 <option value="11">November</option>  
 <option value="12">December</option>  
 </select>  
 <select name="creationdatedaystart">  
 <option value="1"> </option>  
 <option value=1>1</option>  
 <option value=2>2</option>  
 <option value=3>3</option>  
 <option value=4>4</option>  
 <option value=5>5</option>  
 <option value=6>6</option>  
 <option value=7>7</option>  
 <option value=8>8</option>  
 <option value=9>9</option>  
 <option value=10>10</option>  
 <option value=11>11</option>  
 <option value=12>12</option>  
 <option value=13>13</option>  
 <option value=14>14</option>  
 <option value=15>15</option>  
 <option value=16>16</option>  
 <option value=17>17</option>  
 <option value=18>18</option>  
 <option value=19>19</option>  
 <option value=20>20</option>  
 <option value=21>21</option>  
 <option value=22>22</option>  
 <option value=23>23</option>  
 <option value=24>24</option>  
 <option value=25>25</option>  
 <option value=26>26</option>  
 <option value=27>27</option>  
 <option value=28>28</option>  
 <option value=29>29</option>  
 <option value=30>30</option>  
 <option value=31>31</option>  
 </select>  
 <select name="creationdateyearstart">  
 <option value=1976> </option>  
 <option value=1976>1976</option>  
 <option value=1977>1977</option>  
 <option value=1978>1978</option>  
 <option value=1979>1979</option>  
 <option value=1980>1980</option>  
 <option value=1981>1981</option>  
 <option value=1982>1982</option>  
 <option value=1983>1983</option>  
 <option value=1984>1984</option>  
 <option value=1985>1985</option>  
 <option value=1986>1986</option>  
 <option value=1987>1987</option>  
 <option value=1988>1988</option>  
 <option value=1989>1989</option>  
 <option value=1990>1990</option>  
 <option value=1991>1991</option>  
 <option value=1992>1992</option>  
 <option value=1993>1993</option>  
 <option value=1994>1994</option>  
 <option value=1995>1995</option>  
 <option value=1996>1996</option>  
 <option value=1997>1997</option>  
 <option value=1998>1998</option>  
 <option value=1999>1999</option>  
 <option value=2000>2000</option>  
 <option value=2001>2001</option>  
 <option value=2002>2002</option>  
 <option value=2003>2003</option>  
 <option value=2004>2004</option>  
 <option value=2005>2005</option>  
 <option value=2006>2006</option>  
 <option value=2007>2007</option>  
 <option value=2008>2008</option>  
 <option value=2009>2009</option>  
 <option value=2010>2010</option>  
 <option value=2011>2011</option>  
 <option value=2012>2012</option>  
 <option value=2013>2013</option>  
 <option value=2014>2014</option>  
 <option value=2015>2015</option>  
 <option value=2016>2016</option>  
 <option value=2017>2017</option>  
 <option value=2018>2018</option>  
 <option value=2019>2019</option>  
 <option value=2020>2020</option>  
 <option value=2021>2021</option>  
 <option value=2022>2022</option>  
 <option value=2023>2023</option>  
 <option value=2024>2024</option>  
 <option value=2025>2025</option>  
 <option value=2026>2026</option>  
 <option value=2027>2027</option>  
 <option value=2028>2028</option>  
 <option value=2029>2029</option>  
 <option value=2030>2030</option>  
 <option value=2031>2031</option>  
 <option value=2032>2032</option>  
 <option value=2033>2033</option>  
 <option value=2034>2034</option>  
 <option value=2035>2035</option>  
 <option value=2036>2036</option>  
 <option value=2037>2037</option>  
 <option value=2038>2038</option>  
 <option value=2039>2039</option>  
 <option value=2040>2040</option>  
 <option value=2041>2041</option>  
 <option value=2042>2042</option>  
 <option value=2043>2043</option>  
 <option value=2044>2044</option>  
 <option value=2045>2045</option>  
 <option value=2046>2046</option>  
 <option value=2047>2047</option>  
 <option value=2048>2048</option>  
 <option value=2049>2049</option>  
 <option value=2050>2050</option>  
 <option value=2051>2051</option>  
 </select>  
 and:<select name="creationdatemonthend">  
 <option value="12"> </option>  
 <option value="01">January</option>  
 <option value="02">February</option>  
 <option value="03">March</option>  
 <option value="04">April</option>  
 <option value="05">May</option>  
 <option value="06">June</option>  
 <option value="07">July</option>  
 <option value="08">August</option>  
 <option value="09">September</option>  
 <option value="10">October</option>  
 <option value="11">November</option>  
 <option value="12">December</option>  
 </select>  
 <select name="creationdatedayend">  
 <option value=28> </option>  
 <option value=1>1</option>  
 <option value=2>2</option>  
 <option value=3>3</option>  
 <option value=4>4</option>  
 <option value=5>5</option>  
 <option value=6>6</option>  
 <option value=7>7</option>  
 <option value=8>8</option>  
 <option value=9>9</option>  
 <option value=10>10</option>  
 <option value=11>11</option>  
 <option value=12>12</option>  
 <option value=13>13</option>  
 <option value=14>14</option>  
 <option value=15>15</option>  
 <option value=16>16</option>  
 <option value=17>17</option>  
 <option value=18>18</option>  
 <option value=19>19</option>  
 <option value=20>20</option>  
 <option value=21>21</option>  
 <option value=22>22</option>  
 <option value=23>23</option>  
 <option value=24>24</option>  
 <option value=25>25</option>  
 <option value=26>26</option>  
 <option value=27>27</option>  
 <option value=28>28</option>  
 <option value=29>29</option>  
 <option value=30>30</option>  
 <option value=31>31</option>  
 </select>  
 <select name="creationdateyearend">  
 <option value=2051> </option>  
 <option value=1976>1976</option>  
 <option value=1977>1977</option>  
 <option value=1978>1978</option>  
 <option value=1979>1979</option>  
 <option value=1980>1980</option>  
 <option value=1981>1981</option>  
 <option value=1982>1982</option>  
 <option value=1983>1983</option>  
 <option value=1984>1984</option>  
 <option value=1985>1985</option>  
 <option value=1986>1986</option>  
 <option value=1987>1987</option>  
 <option value=1988>1988</option>  
 <option value=1989>1989</option>  
 <option value=1990>1990</option>  
 <option value=1991>1991</option>  
 <option value=1992>1992</option>  
 <option value=1993>1993</option>  
 <option value=1994>1994</option>  
 <option value=1995>1995</option>  
 <option value=1996>1996</option>  
 <option value=1997>1997</option>  
 <option value=1998>1998</option>  
 <option value=1999>1999</option>  
 <option value=2000>2000</option>  
 <option value=2001>2001</option>  
 <option value=2002>2002</option>  
 <option value=2003>2003</option>  
 <option value=2004>2004</option>  
 <option value=2005>2005</option>  
 <option value=2006>2006</option>  
 <option value=2007>2007</option>  
 <option value=2008>2008</option>  
 <option value=2009>2009</option>  
 <option value=2010>2010</option>  
 <option value=2011>2011</option>  
 <option value=2012>2012</option>  
 <option value=2013>2013</option>  
 <option value=2014>2014</option>  
 <option value=2015>2015</option>  
 <option value=2016>2016</option>  
 <option value=2017>2017</option>  
 <option value=2018>2018</option>  
 <option value=2019>2019</option>  
 <option value=2020>2020</option>  
 <option value=2021>2021</option>  
 <option value=2022>2022</option>  
 <option value=2023>2023</option>  
 <option value=2024>2024</option>  
 <option value=2025>2025</option>  
 <option value=2026>2026</option>  
 <option value=2027>2027</option>  
 <option value=2028>2028</option>  
 <option value=2029>2029</option>  
 <option value=2030>2030</option>  
 <option value=2031>2031</option>  
 <option value=2032>2032</option>  
 <option value=2033>2033</option>  
 <option value=2034>2034</option>  
 <option value=2035>2035</option>  
 <option value=2036>2036</option>  
 <option value=2037>2037</option>  
 <option value=2038>2038</option>  
 <option value=2039>2039</option>  
 <option value=2040>2040</option>  
 <option value=2041>2041</option>  
 <option value=2042>2042</option>  
 <option value=2043>2043</option>  
 <option value=2044>2044</option>  
 <option value=2045>2045</option>  
 <option value=2046>2046</option>  
 <option value=2047>2047</option>  
 <option value=2048>2048</option>  
 <option value=2049>2049</option>  
 <option value=2050>2050</option>  
 <option value=2051>2051</option>  
 </select>  
 </p>  
 CREATIONDATEEND  CREATIONDATEEND
       $scrout.=&dateboxes('creationdateend',12,31,2051);
       $scrout.="</p>";
   
     $scrout.=<<LASTREVISIONDATEEND;      $scrout.=<<LASTREVISIONDATESTART;
 <p>  <p>
 <font color="#800000" face="helvetica"><b>LIMIT BY LAST REVISION DATE RANGE:  <font color="#800000" face="helvetica"><b>LIMIT BY LAST REVISION DATE RANGE:
 </b></font>  </b></font>
 <br>between:<select name="lastrevisiondatemonthstart">  <br>between:
 <option value="00"> </option>  LASTREVISIONDATESTART
 <option value="01">January</option>      $scrout.=&dateboxes('lastrevisiondatestart',1,1,1976);
 <option value="02">February</option>      $scrout.=<<LASTREVISIONDATEEND;
 <option value="03">March</option>  and:
 <option value="04">April</option>  LASTREVISIONDATEEND
 <option value="05">May</option>      $scrout.=&dateboxes('lastrevisiondateend',12,31,2051);
 <option value="06">June</option>      $scrout.='</p>';
 <option value="07">July</option>  
 <option value="08">August</option>      $scrout.=&searchphrasefield('Limit by publisher/owner','owner',
 <option value="09">September</option>   $metadatafields{'owner'});
 <option value="10">October</option>  
 <option value="11">November</option>      $scrout.=&selectbox('Limit by copyright/distribution','copyright',
 <option value="12">December</option>   'any',%cprtag);
 </select>  
 <select name="lastrevisiondatedaystart">  # ---------------------------------------------------------------- Print screen
 <option value=1> </option>      $r->print(<<ENDDOCUMENT);
 <option value=1>1</option>  <html>
 <option value=2>2</option>  <head>
 <option value=3>3</option>  <title>The LearningOnline Network with CAPA</title>
 <option value=4>4</option>  </head>
 <option value=5>5</option>  <body bgcolor="#FFFFFF">
 <option value=6>6</option>  <img align=right src=/adm/lonIcons/lonlogos.gif>
 <option value=7>7</option>  <h1>Search Catalog</h1>
 <option value=8>8</option>  <form method="post" action="/adm/searchcat">
 <option value=9>9</option>  $hidden
 <option value=10>10</option>  <hr>
 <option value=11>11</option>  <h3>Basic Search</h3>
 <option value=12>12</option>  <p>
 <option value=13>13</option>  Enter terms or phrases separated by search operators
 <option value=14>14</option>  such as AND or OR then press SEARCH below.  Terms should be specific
 <option value=15>15</option>  to the title, author, subject, notes, or abstract information associated
 <option value=16>16</option>  with a resource.
 <option value=17>17</option>  <br>
 <option value=18>18</option>  <input type="text" name="basicexp">
 <option value=19>19</option>  <input type="checkbox" name="titleonly">
 <option value=20>20</option>  <font color="#800000">Title only</font>
 <option value=21>21</option>  <br>
 <option value=22>22</option>  <input type="submit" name="basicsubmit" value="SEARCH">
 <option value=23>23</option>  <input type="reset" name="reset" value="RESET">
 <option value=24>24</option>  <input type="button" name="close" value="CLOSE" onClick="self.close()">
 <option value=25>25</option>  </p>
 <option value=26>26</option>  <hr>
 <option value=27>27</option>  <h3>Advanced Search</h3>
 <option value=28>28</option>  $scrout
 <option value=29>29</option>  <p>
 <option value=30>30</option>  <input type="submit" name="advancedsubmit" value="SEARCH">
 <option value=31>31</option>  <input type="reset" name="reset" value="RESET">
 </select>  <input type="button" name="close" value="CLOSE" onClick="self.close()">
 <select name="lastrevisiondateyearstart">  </p>
 <option value=1976> </option>  </form>
 <option value=1976>1976</option>  </body>
 <option value=1977>1977</option>  </html>
 <option value=1978>1978</option>  ENDDOCUMENT
 <option value=1979>1979</option>      return OK;
 <option value=1980>1980</option>  } 
 <option value=1981>1981</option>  
 <option value=1982>1982</option>  # --------------------------------------------------------- Various form fields
 <option value=1983>1983</option>  
 <option value=1984>1984</option>  sub textfield {
 <option value=1985>1985</option>      my ($title,$name,$value)=@_;
 <option value=1986>1986</option>      return "\n<p><b>$title:</b><br>".
 <option value=1987>1987</option>             '<input type=text name="'.$name.'" size=80 value="'.$value.'">';
 <option value=1988>1988</option>  }
 <option value=1989>1989</option>  
 <option value=1990>1990</option>  sub searchphrasefield {
 <option value=1991>1991</option>      my ($title,$name,$value)=@_;
 <option value=1992>1992</option>      my $instruction=<<END;
 <option value=1993>1993</option>  Enter terms or phrases separated by search operators such
 <option value=1994>1994</option>  as AND or OR.
 <option value=1995>1995</option>  END
 <option value=1996>1996</option>      my $uctitle=uc($title);
 <option value=1997>1997</option>      return "\n<p><font color=\"#800000\" face=\"helvetica\"><b>$uctitle:</b>".
 <option value=1998>1998</option>     "</FONT> $instruction<br>".
 <option value=1999>1999</option>             '<input type=text name="'.$name.'" size=80 value="'.$value.'">';
 <option value=2000>2000</option>  }
 <option value=2001>2001</option>  
 <option value=2002>2002</option>  sub dateboxes {
 <option value=2003>2003</option>      my ($name,$defaultmonth,$defaultday,$defaultyear)=@_;
 <option value=2004>2004</option>      return<<END;
 <option value=2005>2005</option>  <select name="${name}_month">
 <option value=2006>2006</option>  <option value="$defaultmonth"> </option>
 <option value=2007>2007</option>  
 <option value=2008>2008</option>  
 <option value=2009>2009</option>  
 <option value=2010>2010</option>  
 <option value=2011>2011</option>  
 <option value=2012>2012</option>  
 <option value=2013>2013</option>  
 <option value=2014>2014</option>  
 <option value=2015>2015</option>  
 <option value=2016>2016</option>  
 <option value=2017>2017</option>  
 <option value=2018>2018</option>  
 <option value=2019>2019</option>  
 <option value=2020>2020</option>  
 <option value=2021>2021</option>  
 <option value=2022>2022</option>  
 <option value=2023>2023</option>  
 <option value=2024>2024</option>  
 <option value=2025>2025</option>  
 <option value=2026>2026</option>  
 <option value=2027>2027</option>  
 <option value=2028>2028</option>  
 <option value=2029>2029</option>  
 <option value=2030>2030</option>  
 <option value=2031>2031</option>  
 <option value=2032>2032</option>  
 <option value=2033>2033</option>  
 <option value=2034>2034</option>  
 <option value=2035>2035</option>  
 <option value=2036>2036</option>  
 <option value=2037>2037</option>  
 <option value=2038>2038</option>  
 <option value=2039>2039</option>  
 <option value=2040>2040</option>  
 <option value=2041>2041</option>  
 <option value=2042>2042</option>  
 <option value=2043>2043</option>  
 <option value=2044>2044</option>  
 <option value=2045>2045</option>  
 <option value=2046>2046</option>  
 <option value=2047>2047</option>  
 <option value=2048>2048</option>  
 <option value=2049>2049</option>  
 <option value=2050>2050</option>  
 <option value=2051>2051</option>  
 </select>  
 and:<select name="lastrevisiondatemonthend">  
 <option value="12"> </option>  
 <option value="01">January</option>  <option value="01">January</option>
 <option value="02">February</option>  <option value="02">February</option>
 <option value="03">March</option>  <option value="03">March</option>
Line 495  and:<select name="lastrevisiondatemonthe Line 217  and:<select name="lastrevisiondatemonthe
 <option value="11">November</option>  <option value="11">November</option>
 <option value="12">December</option>  <option value="12">December</option>
 </select>  </select>
 <select name="lastrevisiondatedayend">  <select name="${name}_day">
 <option value=28> </option>  <option value="$defaultday"> </option>
 <option value=1>1</option>  <option value=1>1</option>
 <option value=2>2</option>  <option value=2>2</option>
 <option value=3>3</option>  <option value=3>3</option>
Line 529  and:<select name="lastrevisiondatemonthe Line 251  and:<select name="lastrevisiondatemonthe
 <option value=30>30</option>  <option value=30>30</option>
 <option value=31>31</option>  <option value=31>31</option>
 </select>  </select>
 <select name="lastrevisiondateyearend">  <select name="${name}_year">
 <option value=2051> </option>  <option value="$defaultyear"> </option>
 <option value=1976>1976</option>  <option value=1976>1976</option>
 <option value=1977>1977</option>  <option value=1977>1977</option>
 <option value=1978>1978</option>  <option value=1978>1978</option>
Line 608  and:<select name="lastrevisiondatemonthe Line 330  and:<select name="lastrevisiondatemonthe
 <option value=2050>2050</option>  <option value=2050>2050</option>
 <option value=2051>2051</option>  <option value=2051>2051</option>
 </select>  </select>
 </p>  
 LASTREVISIONDATEEND  
   
     $scrout.=&searchphrasefield('Limit by publisher/owner','owner',  
  $metadatafields{'owner'});  
   
     $scrout.=&selectbox('Limit by copyright/distribution','copyright',  
  'any',%cprtag);  
   
 # ---------------------------------------------------------------- Print screen  
     $r->print(<<ENDDOCUMENT);  
 <html>  
 <head>  
 <title>The LearningOnline Network with CAPA</title>  
 </head>  
 <body bgcolor="#FFFFFF">  
 <img align=right src=/adm/lonIcons/lonlogos.gif>  
 <h1>Search Catalog</h1>  
 <form method="post" action="/adm/searchcat">  
 <hr>  
 <h3>Basic Search</h3>  
 <p>  
 Enter terms or phrases separated by search operators  
 such as AND or OR then press SEARCH below.  Terms should be specific  
 to the title, author, subject, notes, or abstract information associated  
 with a resource.  
 <br>  
 <input type="text" name="basicexp">  
 <input type="checkbox" name="titleonly">  
 <font color="#800000">Title only</font>  
 <br>  
 <input type="submit" name="basicsubmit" value="SEARCH">  
 </p>  
 <hr>  
 <h3>Advanced Search</h3>  
 $scrout  
 <p>  
 <input type="submit" name="advancedsubmit" value="SEARCH">  
 </p>  
 </form>  
 </body>  
 </html>  
 ENDDOCUMENT  
     return OK;  
 }   
   
 # --------------------------------------------------------- Various form fields  
   
 sub textfield {  
     my ($title,$name,$value)=@_;  
     return "\n<p><b>$title:</b><br>".  
            '<input type=text name="'.$name.'" size=80 value="'.$value.'">';  
 }  
   
 sub searchphrasefield {  
     my ($title,$name,$value)=@_;  
     my $instruction=<<END;  
 Enter terms or phrases separated by search operators such  
 as AND or OR.  
 END  END
     my $uctitle=uc($title);  
     return "\n<p><font color=\"#800000\" face=\"helvetica\"><b>$uctitle:</b>".  
    ":</FONT> $instruction<br>".  
            '<input type=text name="'.$name.'" size=80 value="'.$value.'">';  
 }  }
   
 sub selectbox {  sub selectbox {
Line 692  sub basicsearch { Line 351  sub basicsearch {
     my ($r,$expression)=@_;      my ($r,$expression)=@_;
   
     my $query=$expression;      my $query=$expression;
 #    $query="select * from metadata where concat(title,':\@:',author) like '\%Sci\%'";  
     $query="select * from metadata where concat(title,\"    \",author) like '\%$expression\%'";      $query="select * from metadata where concat(title,\"    \",author) like '\%$expression\%'";
 #    my $reply=&Apache::lonnet::reply("querysend:DESCRIBE metadata","msul3");  
     my $reply=&Apache::lonnet::reply("querysend:$query",'msul3');      my $reply=&Apache::lonnet::reply("querysend:$query",'msul3');
 #    my $reply=&Apache::lonnet::reply('querysend:select * from metadata','msul3');  
   
     my @results;      my @results;
   
Line 721  sub basicsearch { Line 377  sub basicsearch {
     my $compiledresult='';      my $compiledresult='';
   
     foreach my $result (@results) {      foreach my $result (@results) {
  my ($title,$author,$subject,$notes,$abstract,$mime,$lang,   my ($title,$author,$subject,$url,$keywords,$version,
       $notes,$abstract,$mime,$lang,
     $creationdate,$lastrevisiondate,$owner,$copyright      $creationdate,$lastrevisiondate,$owner,$copyright
     )=map {&Apache::lonnet::unescape($_)} (split(/\,/,$result));      )=map {&Apache::lonnet::unescape($_)} (split(/\,/,$result));
  my $shortabstract=$abstract;   my $shortabstract=$abstract;
  $shortabstract=substr($abstract,0,200) if length($abstract)>200;   $shortabstract=substr($abstract,0,200) if length($abstract)>200;
  $compiledresult=<<END;   $compiledresult.=<<END;
 <p>  <p>
   END
    $compiledresult.=<<END if $ENV{'form.catalogmode'} eq 'interactive';
   <font size='-1'><INPUT TYPE="button" NAME="returnvalues" VALUE="SELECT"
   onClick="javascript:select_data('$title','$url')">
   </font>
   <br>
   END
           $compiledresult.=<<END;
   <b>URL: </b> $url<br>
 <b>Title:</b> $title<br>  <b>Title:</b> $title<br>
 <b>Author(s):</b> $author<br>  <b>Author(s):</b> $author<br>
 <b>Subject:</b> $subject<br>  <b>Subject:</b> $subject<br>
 <b>Keyword(s):</b> <i>not available yet</i><br>  <b>Keyword(s):</b> $keywords<br>
 <b>Notes:</b> $notes<br>  <b>Notes:</b> $notes<br>
 <b>Abstract:</b> $shortabstract<br>  <b>Abstract:</b> $shortabstract<br>
 <b>MIME Type:</b> $mimetag{$mime}<br>  <b>MIME Type:</b> $mimetag{$mime}<br>
Line 749  END Line 415  END
  $compiledresult="There were no results that matched your query";   $compiledresult="There were no results that matched your query";
     }      }
   
 # Question... allow to ask question from this page, or click to      # make query information persistent to allow for subsequent revision
 # search again?      my $persistent='';
     $r->print(<<RESULTS);      map {
    if (/^form\./ && !/submit/) {
       my $name=$_;
       my $key=$name;
       $name=~s/^form\.//;
       $persistent.=<<END;
   <INPUT TYPE='hidden' NAME='$name' VALUE='$ENV{$key}'>
   END
           }
       } (keys %ENV);
   
       $r->print(<<BEGINNING);
 <html>  <html>
 <head>  <head>
 <title>The LearningOnline Network with CAPA</title>  <title>The LearningOnline Network with CAPA</title>
   BEGINNING
       $r->print(<<SCRIPT) if $ENV{'form.catalogmode'} eq 'interactive';
   <script>
       function select_data(title,url) {
    changeTitle(title);
    changeURL(url);
       }
       function changeTitle(val) {
    if (opener.inf.document.forms.resinfo.elements.t) {
       opener.inf.document.forms.resinfo.elements.t.value=val;
    }
       }
       function changeURL(val) {
    if (opener.inf.document.forms.resinfo.elements.u) {
       opener.inf.document.forms.resinfo.elements.u.value=val;
    }
       }
   </script>
   SCRIPT
       $r->print(<<RESULTS);
 </head>  </head>
 <body bgcolor="#ffffff">  <body bgcolor="#ffffff">
 <img align=right src=/adm/lonIcons/lonlogos.gif>  <img align=right src=/adm/lonIcons/lonlogos.gif>
 <h1>Search Catalog</h1>  <h1>Search Catalog</h1>
 <form method="post" action="/adm/searchcat">  <form method="post" action="/adm/searchcat">
   <input type='button' value='Revise search request'
   onClick='this.form.submit();'>
   $persistent
 <hr>  <hr>
 <h3>Search Query</h3>  <h3>Search Query</h3>
 <p>  <p>
 $expression  <b>Basic search:</b> $expression
 </p>  </p>
 <h3>Search Results</h3>  <h3>Search Results</h3>
 $compiledresult  $compiledresult

Removed from v.1.6  
changed lines
  Added in v.1.10


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