}
else
{
- $ipkgoutput .= sprintf(" <a href='?action=letter&letter=%s' title='packages which names begins with \"%s\"'>%s</a> |", $letter, $letter, $letter );
+ $ipkgoutput .= sprintf(" <a href='?letter=%s' title='packages which names begins with \"%s\"'>%s</a> |", $letter, $letter, $letter );
}
}
- $ipkgoutput .= " <a href='?action=letter&letter=z' title='packages which names begins with \"z\"'>z</a></div>";
+ $ipkgoutput .= " <a href='?letter=z' title='packages which names begins with \"z\"'>z</a></div>";
return $ipkgoutput;
}
-function searchpkg ($searchword)
+function searchpkg ($searchword, $searcharch = '')
{
- if($result = db_query("SELECT DISTINCT p_name,p_desc,p_section FROM packages WHERE p_name LIKE '$searchword' ORDER BY p_name ASC"))
+ $query = "SELECT DISTINCT p_name,p_desc,p_section FROM packages WHERE p_name LIKE '$searchword' ";
+
+ if(!empty($searcharch))
{
- return generate_list_of_packages($result);
+ $query .= " AND p_arch='{$searcharch}' ";
}
-}
-
-function searchpkgarch ($searchword, $searcharch)
-{
- if($result = db_query("SELECT DISTINCT p_name,p_desc,p_section FROM packages WHERE p_name LIKE '$searchword' AND p_arch LIKE '$searcharch' ORDER BY p_name ASC"))
- {
- return generate_list_of_packages($result);
+ $query .= 'ORDER BY p_name ASC';
+
+ if($result = db_query($query))
+ {
+ return generate_list_of_packages($result);
}
}
-
-
function generate_list_of_packages($query_result)
{
$ipkgoutput = "<table>\n";
}
$ipkgoutput .= sprintf
- ("<tr><td><a href='?action=details&pnm=%s'>%s</a></td><td><a href=\"?action=section&section=%s\">%s</a></td><td> %s</td></tr>\n",
+ ("<tr><td><a href='?pkgname=%s'>%s</a></td><td><a href=\"?section=%s\">%s</a></td><td> %s</td></tr>\n",
urlencode($package['p_name']), $package['p_name'], $package['p_section'], $package['p_section'], htmlentities($package['p_desc']));
}
if($package['packages.p_section'])
{
- $details .= sprintf ("\n<dt>Section:</dt><dd><a href='?action=section&section=%s'>%s</a></dd>", $package['packages.p_section'],$package['packages.p_section']);
+ $details .= sprintf ("\n<dt>Section:</dt><dd><a href='?section=%s'>%s</a></dd>", $package['packages.p_section'],$package['packages.p_section']);
}
if($package['packages.p_depends'])
{
// find position of string in line
$pos = strpos ($input, $element, $offset);
- $link = sprintf("<a href=\"?action=details&pnm=%s\">$element</a>", urlencode ($element));
+ $link = sprintf("<a href=\"?pkgname=%s\">$element</a>", urlencode ($element));
// replace element with a link
$input = substr_replace ($input, $link, $pos, strlen ($element));
foreach($sections as $section_name1=>$item)
{
- $output .= sprintf ("<li><a href='?action=section&section=%s' title='%s'>%s</a>",
+ $output .= sprintf ("<li><a href='?section=%s' title='%s'>%s</a>",
urlencode($section_name1),
urlencode($section_name1),
$section_name1);
foreach($item as $section_name2=>$subitem)
{
$section_name = "{$section_name1}/{$section_name2}";
- $output .= sprintf ("<li><a href='?action=section&section=%s' title='%s'>%s</a>",
+ $output .= sprintf ("<li><a href='?section=%s' title='%s'>%s</a>",
urlencode($section_name),
urlencode($section_name),
$section_name2);
foreach($subitem as $section_name3=>$subitem2)
{
$section_name = "{$section_name1}/{$section_name2}/{$section_name3}";
- $output .= sprintf ("<li><a href='?action=section&section=%s' title='%s'>%s</a></li>",
+ $output .= sprintf ("<li><a href='?section=%s' title='%s'>%s</a></li>",
urlencode($section_name),
urlencode($section_name),
$section_name3);
die("Database not found and cannot be created.");
}
-read_vars_from_get(array('name', 'arch', 'action', 'letter', 'pnm', 'section'));
+read_vars_from_get(array('name', 'arch', 'pkgsearch', 'letter', 'pkgname', 'section'));
-switch($action)
-{
- case "details":
- $ipkgoutput = pkgdetails ($pnm);
- break;
-
- case "search":
- if ( $arch == "" ) {
- $ipkgoutput = searchpkg ("%{$name}%");
- }
- else {
- $ipkgoutput = searchpkgarch ("%{$name}%", "{$arch}");
- }
- break;
-
- case "section":
- $ipkgoutput = searchsection($section);
- break;
+$ipkgoutput = '';
- case "letter":
- if ( $arch == "" ) {
- $ipkgoutput = searchpkg ("{$letter}%");
- }
- else {
- $ipkgoutput = searchpkgarch ("{$letter}%", "{$arch}");
- }
- break;
-
- default:
- $ipkgoutput = searchpkg("a");
- break;
+if(!empty($section))
+{
+ $ipkgoutput = searchsection($section);
+}
+elseif(!empty($letter))
+{
+ $ipkgoutput = searchpkg("{$letter}%", $arch);
+}
+elseif(!empty($pkgname))
+{
+ $ipkgoutput = pkgdetails($pkgname);
+}
+elseif(!empty($pkgsearch))
+{
+ $ipkgoutput = searchpkg("%{$pkgsearch}%", $arch);
}
?>
<form action="" method="get">
<fieldset>
<label for="name">Package name</label>
- <input type="text" name="name" value="<?php echo $name; ?>" />
+ <input type="text" name="pkgsearch" value="<?php echo $name; ?>" />
<select name="arch">
<option value="" selected="selected">all architectures</option>
<option value="all">noarch</option>
<option value="ppc603e">ppc603e</option>
<option value="sparc">sparc</option>
</select>
- <input type="hidden" name="action" value="search" />
<input type="submit" value="Search" />
</fieldset>
</form>