From 7034c9e3b28fe8aa4d0233bd9f488510c119d422 Mon Sep 17 00:00:00 2001
From: Callan Barrett <wizzomafizzo@gmail.com>
Date: Thu, 5 Jun 2008 19:40:27 +0800
Subject: [PATCH] Moved package search form to template file

Did that, no more print statements, cleaned up some of the html and now loops
over arrays of values to generate select elements rather than all the if
statements

Signed-off-by: Callan Barrett <wizzomafizzo@gmail.com>
---
 web/lib/pkgfuncs.inc                  |  164 +---------------------------
 web/template/search_packages_form.php |  192 +++++++++++++++++++++++++++++++++
 2 files changed, 195 insertions(+), 161 deletions(-)
 create mode 100644 web/template/search_packages_form.php

diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc
index f557e8c..7d926ce 100644
--- a/web/lib/pkgfuncs.inc
+++ b/web/lib/pkgfuncs.inc
@@ -667,174 +667,16 @@ function pkg_search_page($SID="") {
 
     // The search form - XXX: split into own function?
     //
-    // FIXME: highly fugly. whoever makes this use
-    //        less print statements gets a cookie
     // FIXME: ugly html. whoever un-tables this gets
     //        another cookie
-    print "<form action='/packages.php' method='get'>\n";
-    print "<input type='hidden' name='O' value='0'>\n";
-
-    print "<center>\n";
-    print "<table cellspacing='3' class='boxSoft'>\n";
-    print "<tr>\n";
-    print "  <td class='boxSoftTitle' align='right'>\n";
-    print "    <span class='f3'>".__("Search Criteria")."</span>\n";
-    print "  </td>\n";
-    print "</tr>\n";
-    print "<tr>\n";
-    print "  <td class='boxSoft'>\n";
-    print "<table style='width: 100%' align='center'>\n";
-
-    print "<tr>\n";
-    print "<td align='right'>\n";
-    print "  <span class='f5'><span class='blue'>".__("Location");
-    print "</span></span><br />\n";
-    print "  <select name='L'>\n";
-    print "  <option value=0> ".__("Any")."\n";
-    while (list($id, $loc) = each($locs)) {
-        if (intval($_REQUEST["L"]) == $id) {
-            print "  <option value=".$id." selected> ".$loc."\n";
-        } else {
-            print "  <option value=".$id."> ".$loc."\n";
-        }
-    }
-    print "  </select>\n";
-    print "</td>\n";
-
-    print "<td align='right'>\n";
-    print "  <span class='f5'><span class='blue'>".__("Category");
-    print "</span></span><br />\n";
-    print "  <select name='C'>\n";
-    print "  <option value=0> ".__("Any")."\n";
-    while (list($id, $cat) = each($cats)) {
-        if (intval($_REQUEST["C"]) == $id) {
-            print "  <option value=".$id." selected> ".$cat."\n";
-        } else {
-            print "  <option value=".$id."> ".$cat."\n";
-        }
-    }
-    print "  </select>\n";
-    print "</td>\n";
-
-    print "<td align='right'>\n";
-    print "  <span class='f5'><span class='blue'>".__("Keywords");
-    print "</span></span><br />\n";
-    print "  <input type='text' name='K' size='20'";
-
-    $K = trim(htmlspecialchars($_REQUEST["K"], ENT_QUOTES));
-    print " value=\"".stripslashes($K)."\" maxlength='35'>\n";
-    print "</td>\n";
-
-    print "<td align='right'>\n";
-    print "  <span class='f5'><span class='blue'>".__("Search by");
-    print "</span></span><br />\n";
-
-    print "  <select name='SeB'>\n";
-    # by name/description
-    print "  <option value=nd";
-    $_REQUEST["SeB"] == "nd" ? print " selected> " : print "> ";
-    print __("Name")."</option>\n";
-    # by maintainer
-    print "  <option value=m";
-    $_REQUEST["SeB"] == "m" ? print " selected> " : print "> ";
-    print __("Maintainer")."</option>\n";
-    print "  <option value=s";
-    $_REQUEST["SeB"] == "s" ? print " selected> " : print "> ";
-    print __("Submitter")."</option>\n";
-
-    print "  </select>\n";
-    print "</td>\n";
-    
-    print "<td align='right'>\n";
-  	print "  <span class='f5'><span class='blue'>".__("Sort by");
-  	print "</span></span><br />\n";
-  	print "  <select name='SB'>\n";
-
-  	print "  <option value=n";
-  	$_REQUEST["SB"] == "n" ? print " selected> " : print "> ";
-  	print __("Name")."</option>\n";
-
-  	print "  <option value=c";
-  	$_REQUEST["SB"] == "c" ? print " selected> " : print "> ";
-  	print __("Category")."</option>\n";
-
-  	print "  <option value=l";
-  	$_REQUEST["SB"] == "l" ? print " selected> " : print "> ";
-  	print __("Location")."</option>\n";
-
-  	print "  <option value=v";
-  	$_REQUEST["SB"] == "v" ? print " selected> " : print "> ";
-  	print __("Votes")."</option>\n";
-
-  	print "  <option value=m";
-  	$_REQUEST["SB"] == "m" ? print " selected> " : print "> ";
-  	print __("Maintainer")."</option>\n";
-
-  	print "  <option value=a";
-  	$_REQUEST["SB"] == "a" ? print " selected> " : print "> ";
-  	print __("Age")."</option>\n";
-
-  	print "  </select>\n";
-  	print "</td>\n";
-
-  	print "<td align='right'>\n";
-  	print "  <span class='f5'><span class='blue'>".__("Sort order");
-  	print "</span></span><br />\n";
-  	print "  <select name='SO'>\n";
-
-  	print "  <option value=a";
-  	$_REQUEST["SO"] == "a" ? print " selected> " : print "> ";
-  	print __("Ascending")."</option>\n";
-
-  	print "  <option value=d";
-  	$_REQUEST["SO"] == "d" ? print " selected> " : print "> ";
-  	print __("Descending")."</option>\n";
-
-  	print "  </select>\n";
-  	print "</td>\n";
-
-    print "<td align='right'>\n";
-    print "  <span class='f5'><span class='blue'>".__("Per page");
-    print "</span></span><br />\n";
-    print "  <select name='PP'>\n";
-    print "  <option value=25";
-    $PP == 25 ? print " selected> 25\n" : print "> 25\n";
-    print "  <option value=50";
-    $PP == 50 ? print " selected> 50\n" : print "> 50\n";
-    print "  <option value=75";
-    $PP == 75 ? print " selected> 75\n" : print "> 75\n";
-    print "  <option value=100";
-    $PP == 100 ? print " selected> 100\n" : print "> 100\n";
-    print "  </select>\n";
-    print "</td>\n";
-
-    // Added to break put the buttons in a new line
-    print"</tr></table><center><table><tr>";
-
-    print "<td align='right' valign='bottom'>&nbsp;\n";
-    print "  <input type='submit' style='width:80px' class='button' name='do_Search'";
-    print " value='".__("Go")."'>\n";
-    print "</td>\n";
-
-    print "<td align='right' valign='bottom'>&nbsp;\n";
-    print "  <input type='submit' style='width:80px'  class='button' name='do_Orphans'";
-    print " value='".__("Orphans")."'>\n";
-    print "</td>\n";
-
-    print "</tr>\n";
-    print "</table>\n";
-
-    print "  </td>\n";
-    print "</tr>\n";
-    print "</table>\n";
-    print "</center>\n";
-    print "</form>\n";
-    print "<br />\n";
 
+    include('search_packages_form.php');
 
     // FIXME: pull out DB-related code. all of it.
     //        this one's worth a choco-chip cookie,
     //        one of those nice big soft ones
+    //
+    // OHSHIT: it's not possible!
 
     // build the package search query
     //
diff --git a/web/template/search_packages_form.php b/web/template/search_packages_form.php
new file mode 100644
index 0000000..11f58f1
--- /dev/null
+++ b/web/template/search_packages_form.php
@@ -0,0 +1,192 @@
+<form action='/packages.php' method='get'>
+<input type='hidden' name='O' value='0'>
+
+<center>
+
+<table cellspacing='3' class='boxSoft'>
+<tr>
+  <td class='boxSoftTitle' align='right'>
+    <span class='f3'><?php print __("Search Criteria"); ?></span>
+  </td>
+</tr>
+<tr>
+  <td class='boxSoft'>
+    <table style='width: 100%' align='center'>
+      <tr>
+        <td align='right'>
+          <span class='f5'>
+            <span class='blue'>
+            <?php print __("Location"); ?>
+            </span>
+          </span>
+          <br />
+          <select name='L'>
+            <option value=0><?php print __("Any"); ?></option>
+<?php    
+while (list($id, $loc) = each($locs)) {
+  if (intval($_REQUEST["L"]) == $id) {
+?>
+            <option value="<?php print $id; ?>" selected="selected"><?php print $loc; ?></option>
+<?php } else { ?>
+            <option value="<?php print $id; ?>"><?php print $loc; ?></option>
+<?php        
+  }
+}
+?>
+          </select>
+        </td>
+      <td align='right'>
+        <span class='f5'>
+          <span class='blue'>
+          <?php print __("Category"); ?>
+          </span>
+        </span>
+        <br />
+        <select name='C'>
+          <option value='0'><?php print __("Any"); ?></option>
+<?php 
+while (list($id, $cat) = each($cats)) {
+  if (intval($_REQUEST["C"]) == $id) {
+?>
+          <option value="<?php print $id ?>" selected="selected"><?php print $cat; ?></option>
+<?php } else { ?>
+          <option value="<?php print $id ?>"><?php print $cat; ?></option>
+<?php
+  }
+}
+?>
+        </select>
+      </td>
+      <td align='right'>
+        <span class='f5'>
+          <span class='blue'>
+          <?php print __("Keywords"); ?>
+          </span>
+        </span>
+        <br />
+        <input type='text' name='K' size='20' value="<?php print stripslashes(trim(htmlspecialchars($_REQUEST["K"], ENT_QUOTES))); ?>" maxlength='35' />
+      </td>
+      <td align='right'>
+        <span class='f5'>
+          <span class='blue'>
+          <?php print __("Search by"); ?>
+          </span>
+        </span>
+        <br />
+        <select name='SeB'>
+<?php
+$searchby = array('nd' => 'Name'
+                 ,'m'  => 'Maintainer'
+                 ,'s'  => 'Submitter'
+                 );
+
+foreach ($searchby as $k => $v) {
+  if ($_REQUEST['SeB'] = $k) {
+?>
+          <option value="<?php print $k; ?>" selected="selected"><?php print __($v); ?></option>
+<?php } else { ?>
+          <option value="<?php print $k; ?>"><?php print __($v); ?></option>
+<?php
+  }
+}
+?>
+        </select>
+      </td>
+      <td align='right'>
+        <span class='f5'>
+          <span class='blue'>
+          <?php print __("Sort by"); ?>
+          </span>
+        </span>
+        <br />
+        <select name='SB'>
+<?php
+$sortby = array('n' => 'Name'
+               ,'c' => 'Category'
+               ,'l' => 'Location'
+               ,'v' => 'Votes'
+               ,'m' => 'Maintainer'
+               ,'a' => 'Age'
+               );
+
+foreach ($sortby as $k => $v) {
+  if ($_REQUEST['SB'] == $k) {
+?>
+          <option value='<?php print $k; ?>' selected="selected"><?php print __($v); ?></option>
+<?php } else { ?>
+          <option value='<?php print $k; ?>'><?php print __($v); ?></option>
+<?php
+  }
+}
+?>
+        </select>
+      </td>
+      <td align='right'>
+        <span class='f5'>
+          <span class='blue'>
+          <?php print __("Sort order"); ?>
+          </span>
+        </span>
+        <br />
+        <select name='SO'>
+<?php
+$orderby = array('a' => 'Ascending'
+                ,'d' => 'Descending'
+                );
+
+foreach ($orderby as $k => $v) {
+  if ($_REQUEST['SO'] == $k) {
+?>
+          <option value='<?php print $k; ?>' selected="selected"><?php print __($v); ?></option>
+<?php } else { ?>
+          <option value='<?php print $k; ?>'><?php print __($v); ?></option>
+<?php  
+  }
+}
+?>
+        </select>
+      </td>
+      <td align='right'>
+        <span class='f5'>
+          <span class='blue'>
+          <?php print __("Per page"); ?>
+          </span>
+        </span>
+        <br />
+        <select name='PP'>
+<?php
+$pages = array(25, 50, 75, 100);
+foreach ($pages as $i) {
+  if ($PP == $i) {
+?>
+          <option value="<?php print $i; ?>" selected="selected"><?php print $i; ?></option>
+<?php
+  } else {
+?>
+          <option value="<?php print $i; ?>"><?php print $i; ?></option>
+<?php  
+  }
+}
+?>
+        </select>
+      </td>
+      </tr>
+    </table>
+    <center>
+    <table>
+      <tr>
+        <td align='right' valign='bottom'>
+          <input type='submit' style='width:80px' class='button' name='do_Search' value='<?php print __("Go"); ?>' />
+        </td>
+        <td align='right' valign='bottom'>
+          <input type='submit' style='width:80px'  class='button' name='do_Orphans' value='<?php print __("Orphans"); ?>' />
+        </td>
+      </tr>
+    </table>
+    </center> 
+  </td>
+</tr>
+</table>
+</center>
+</form>
+<br />
-- 
1.5.3.8

