Update of /cvsroot/fink/web/pdb
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1332

Modified Files:
        search.php 
Log Message:
Send to package.php for summary searches.


Index: search.php
===================================================================
RCS file: /cvsroot/fink/web/pdb/search.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- search.php  28 Feb 2004 20:35:57 -0000      1.7
+++ search.php  11 Feb 2005 06:02:03 -0000      1.8
@@ -1,25 +1,25 @@
 <?
-$title = "Package Database - Package Search";
+$title = "Package Database - Contents Search";
 $cvs_author = '$Author$';
 $cvs_date = '$Date$';
 
-$have_key = isset($s);
-$search_key = $s;
-
 include "header.inc";
-?>
-
 
-<?
-$search_key = ereg_replace(" ", "", $search_key);
+$summary = ereg_replace(" ", "", param(summary));
+$filename = ereg_replace(" ", "", param(filename));
 
-if (ereg("[^a-zA-Z0-9_.+-]", $search_key)) {
+if (ereg("[^a-zA-Z0-9_.+-]", $summary) || ereg("[^a-zA-Z0-9_.+-]", $filename)) 
{
+print "yes\n";
 ?>
 
 <h1>Package Search</h1>
 
 <form action="search.php" method="GET">
-<p>Search for package: <input type="text" name="s" size="15" value="">
+<p>Search package summaries: <input type="text" name="summary" size="15" 
value="<?
+print $summary ?>">
+</p>
+<p>Search package contents: <input type="text" name="filename" size="15" 
value="<?
+print $filename ?>">
 <input type="submit" value="Search">
 </p>
 </form>
@@ -33,57 +33,87 @@
 <h1>Package Search</h1>
 
 <form action="search.php" method="GET">
-<p>Search for package: <input type="text" name="s" size="15" value="<?
-print $search_key ?>">
+<p>Search package summaries: <input type="text" name="summary" size="15" 
value="<?
+print $summary ?>">
+</p>
+<p>Search package contents: <input type="text" name="filename" size="15" 
value="<?
+print $filename ?>">
+<input type=checkbox name=ignoredirs>Ignore Dirs
 <input type="submit" value="Search">
 </p>
 </form>
 
 <?
-if ($search_key) {
+
+if(param(order)) {
+       $sortorder = param(order);
+       print "order $sortorder ";
+} else {
+       if(param(filename)) 
+               $sortorder = "filename";
+       else if (param(summary))
+               $sortorder = "name";
+}
+
+if (param(filename)) {
+
+  if(param(ignoredirs)){
+       $directories = " AND fileperms REGEXP '^[^d]' ";
+  }
+  $dosearch = 1;
+  $q = "SELECT 
filename,filepath,fileperms,filesize,pkghash,version,contentspackages.package,contentspackages.release
 ".
+               "FROM contents,contentspackages ".
+          "WHERE contents.file_id=contentspackages.file_id ".
+       "AND filename LIKE '%$filename%' ". $directories .
+       "ORDER BY $sortorder";
+          # ASC LIMIT 0,50";       
+} else if (param(summary)) {
+  $dosearch = 1;
   $q = "SELECT name,descshort FROM package ".
-       "WHERE (name LIKE '%$search_key%' OR descshort LIKE '%$search_key%') ".
-       "AND latest=1 ORDER BY name ASC";
+       "WHERE (name LIKE '%$summary%' OR descshort LIKE '%$summary%') ".
+       "AND latest=1 ORDER BY $sortorder ASC";
+}
+print $q;
+if($dosearch) {
+
   $rs = mysql_query($q, $dbh);
   if (!$rs) {
     print '<p><b>error during query:</b> '.mysql_error().'</p>';
   } else {
     $count = mysql_num_rows($rs);
-
+               param(summary) ? $search_key = param(summary) : $search_key = 
param(filename);
     if ($count == 0) {
-?>
-<p>Found no packages that match "<? print $search_key ?>".</p>
-<?
+           print "<p>Found no packages that match $search_key.</p>";
     } elseif ($count == 1) {
-?>
-<p>Found 1 package that matches "<? print $search_key ?>":</p>
-<?
+               print "<p>Found 1 package that matches $search_key:</p>";
     } else {
-?>
-<p>Found <? print $count ?> packages that match "<? print $search_key ?>":</p>
-<?
+               print "<p>Found $count packages that match $search_key:</p>";
     }
     if ($count > 0) {
-?>
-<ul>
-<?
-      while ($row = mysql_fetch_array($rs)) {
-        $desc = " - ".$row[descshort];
-        if (substr($desc,3,1) == "[" || substr($desc,3,1) == "<")
-          $desc = "";
-        print '<li><a 
href="'.$pdbroot.'package.php/'.$row[name].'">'.$row[name].'</a>'.$desc."</li>\n";
+               if(param(filename)) {
+                       print 'Sort: <a 
href="'.$pdbroot."search.php?filename=$filename&summary=$summary&order=package\">Package</a>
 - ";
+                       print '<a 
href="'.$pdbroot."search.php?filename=$filename&summary=$summary&order=filepath,filename\">Filename</a>";
+               } else {
+                       print 'Sort: <a 
href="'.$pdbroot."search.php?filename=$filename&summary=$summary&order=name\">Package</a>
 - ";
+                       print '<a 
href="'.$pdbroot."search.php?filename=$filename&summary=$summary&order=descshort\">Summary</a>";
+               }
+               
+         print "<ul>";   while ($row = mysql_fetch_array($rs)) {
+               $row["name"] ? $name = $row["name"] : $name = $row["package"];
+               $vers = $row["version"];
+               $tree = $row["release"];
+        $row[descshort] ? $desc = " - $row[descshort]" : $desc = " - $vers - 
$row[filepath]";
+               if(! param(summary)) {
+               print '<li><a 
href="'.$pdbroot."packagedetails.php?tree=$tree&pkg=$name&version=$vers\">".$name.'</a>'.$desc."</li>\n";
+        } else {
+               print '<li><a 
href="'.$pdbroot."package.php/$name\">".$name.'</a>'.$desc."</li>\n";
+           }
       }
-?>
-</ul>
-<?
+       print "</ul>\n";
     }
   }
 } elseif ($have_key) {
-?>
-
-<p>No search string entered.</p>
-
-<?
+       print "<p>No search string entered.</p>\n";
 }
 
 



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to