Merge branch 'master' into uat
[readifood.git] / lib / contact.php
index de4dc82..b680982 100644 (file)
     header(sprintf("Location: http%s://%s/%s/search/%s", ($_SERVER['HTTPS']) ? "s" : "", $_SERVER['HTTP_HOST'], $module, urlencode($_POST['search_contact'])));
     exit;
   }
-  else if ($_POST['area_id']) {
+  else if ($_POST['show_in_area']) {
     $q = new AreaQuery;
     $area = $q->findOneById($_POST['area_id']);
     header(sprintf("Location: http%s://%s/%s/in/area/%s/%d", ($_SERVER['HTTPS']) ? "s" : "", $_SERVER['HTTP_HOST'], $module, urlencode($area->getName()), $_POST['area_id']));
     exit;
   }
-  else if ($_POST['city_id']) {
+  else if ($_POST['show_in_city']) {
     $q = new CityQuery;
     $city = $q->findOneById($_POST['city_id']);
     header(sprintf("Location: http%s://%s/%s/in/city/%s/%d", ($_SERVER['HTTPS']) ? "s" : "", $_SERVER['HTTP_HOST'], $module, urlencode($city->getName()), $_POST['city_id']));
     }
     else echo "none";
     echo "</p>\n";
+
+    $address_ids = array();
+    $q = new AddressQuery;
+    $addresses = $q->filterByLine("%$search%")->find();
+    foreach ($addresses as $address) $address_ids[] = $address->getId();
+    $q = new AddressQuery;
+    $addresses = $q->filterByPostcode("%$search%")->find();
+    foreach ($addresses as $address) $address_ids[] = $address->getId();
+
+    $q = new ContactQuery;
+    $contacts = $q->filterByAddressId($address_ids)->find();
+    echo "<p>Contacts in address '" . htmlspecialchars($search) . "':";
+    if (count($contacts)) {
+      foreach ($contacts as $contact) show_contact_summary($contact);
+    }
+    else echo "none";
+    echo "</p>\n";
   }
 
   function show_city_contacts($offset, $per_page, $city_name, $city_id = null) {
       option("area_id", $area->getId(), get_area_displayname($area));
     }
     echo "</select>\n";
-    echo "<input type=\"submit\" value=\"Show\">\n";
+    submit("show_in_area", "Show");
   }
 
   function show_contact_cities_form($city_id = null) {
       option("city_id", $city->getId(), get_city_displayname($city), $city_id);
     }
     echo "</select>\n";
-    echo "<input type=\"submit\" value=\"Show\">\n";
+    submit("show_in_city", "Show");
   }
 
   function show_contact_search_form() {
       }
     }
     else if ($parameters[0] == "search") {
-      search_contacts(0, 10, $parameters[1]);
+      search_contacts(0, 10, urldecode($parameters[1]));
     }
   }
   list($name, $id, $args) = parse_parameters($parameters);