Support Auth0.
[readifood.git] / lib / hub.php
index 56caa57..e5a551a 100644 (file)
     $role = $hub->getRole();
     $role_string = get_hub_role_string($hub);
     if ($role_string) echo " $role_string";
-    if ($role & $GLOBALS['ROLE_COLLECTION']) printf(" <a class=\"small\" href=\"/donation/to/hub/%s/%d\">Donations</a>", urlencode($hub->getName()), $hub->getId());
-    if ($role & $GLOBALS['ROLE_DISTRIBUTION']) printf(" <a class=\"small\" href=\"/order/to/hub/%s/%d\">Orders</a>", urlencode($hub->getName()), $hub->getId());
+    $d = urlencode($hub->getName());
+    $i = $hub->getId();
+    if ($role & $GLOBALS['ROLE_COLLECTION']) {
+      printf(" <a class=\"small\" href=\"/donation/to/hub/%s/%d\">Donations</a>", $d, $i);
+      echo " " . get_small_link("Record", "/donation/record/to/hub/%s/%d", $d, $i);
+    }
+    if ($role & $GLOBALS['ROLE_DISTRIBUTION']) printf(" <a class=\"small\" href=\"/order/to/hub/%s/%d\">Orders</a>", $d, $i);
     if (check_admin(1)) {
       echo " " . $hub->getDeleteLink();
     }
     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;
       }
     }