Paginate all sections.
[readifood.git] / lib / hub.php
index 176903d..e5a551a 100644 (file)
     if ($city) echo ", " . $city->getLink(get_city_displayname($city));
   }
 
-  function show_hubs($offset, $per_page, $address_ids) {
+  function show_hubs($address_ids) {
+    list($first_page, $per_page) = pagination();
     $q = new HubQuery;
-    $hubs = $q->filterByAddressId($address_ids)->find();
+    $hubs = $q->filterByAddressId($address_ids)->orderByDisplayname()->orderById()->paginate($first_page, $per_page);
     if (count($hubs)) {
       foreach ($hubs as $hub) show_hub_summary($hub);
+      show_pagination($hubs);
     }
     else echo " none";
   }
 
-  function show_city_hubs($offset, $per_page, $city_name, $city_id = null) {
+  function show_city_hubs($city_name, $city_id = null) {
     if (isset($city_id)) $city = get_city_by_id($city_id);
     else if ($city_name) $city = get_city_by_name($city_name);
     if ($city) {
       foreach ($addresses as $address) $address_ids[] = $address->getId();
 
       echo "<p>Hubs in city " . $city->getLink(get_city_displayname($city)) . ":";
-      return show_hubs($offset, $per_page, $address_ids);
+      return show_hubs($address_ids);
     }
     else echo "<p>No such city!</p>\n";
   }
 
-  function show_area_hubs($offset, $per_page, $area_name, $area_id = null) {
+  function show_area_hubs($area_name, $area_id = null) {
     if (isset($area_id)) $area = get_area_by_id($area_id);
     else if ($area_name) $area = get_area_by_name($area_name);
     if ($area) {
       foreach ($addresses as $address) $address_ids[] = $address->getId();
 
       echo "<p>Hubs in area " . $area->getLink() . ":";
-      return show_hubs($offset, $per_page, $address_ids);
+      return show_hubs($address_ids);
     }
     else echo "<p>No such area!</p>\n";
   }
           $area = $q->findOneById($area_id);
           $city = get_area_city($area);
           if ($city) $city_id = $city->getId();
-          show_area_hubs(0, 10, $parameters[2], $area_id);
+          show_area_hubs($parameters[2], $area_id);
         break;
 
         case "city":
           $_POST['city_id'] = $city_id;
           $q = new CityQuery;
           $city = $q->findOneById($city_id);
-          show_city_hubs(0, 10, $parameters[2], $city_id);
+          show_city_hubs($parameters[2], $city_id);
         break;
       }
     }