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