From 762ae69462813affdcdab3960dede2c7d679baf3 Mon Sep 17 00:00:00 2001 From: Iain Patterson Date: Mon, 4 Apr 2016 10:56:46 -0400 Subject: [PATCH] Paginate all sections. Add pagination to all sections of the application. --- lib/area.php | 8 +++++--- lib/city.php | 14 ++++++++------ lib/contact.php | 29 +++++++++++++++++------------ lib/donation.php | 30 ++++++++++++++++-------------- lib/hub.php | 18 ++++++++++-------- 5 files changed, 56 insertions(+), 43 deletions(-) diff --git a/lib/area.php b/lib/area.php index 77272f7..fbf739d 100644 --- a/lib/area.php +++ b/lib/area.php @@ -19,14 +19,15 @@ update_area_delivery_days($parameters[0]); } - function show_areas($offset, $per_page, $city_name = null, $city_id = null) { + function show_areas($city_name = null, $city_id = null) { + list($first_page, $per_page) = pagination(); if (isset($city_name) || isset($city_id)) { if (isset($city_id)) $city = get_city_by_id($city_id); else if ($city_name) $city = get_city_by_name($city_name); if ($city) { echo "

Areas in " . $city->getLink(get_city_displayname($city)) . ":"; $q = new AreaQuery; - $areas = $q->filterByCityId($city_id)->find(); + $areas = $q->filterByCityId($city_id)->orderByName()->orderById()->paginate($first_page, $per_page); if (count($areas)) { foreach ($areas as $area) { @@ -40,6 +41,7 @@ echo " " . $area->getDeleteLink(); } } + show_pagination($areas); } else echo " none"; echo "

\n"; @@ -245,7 +247,7 @@ if ($parameters[0] == "in") { if ($parameters[1] == "city") { $city_id = $parameters[3]; - show_areas(0, 10, $parameters[2], $city_id); + show_areas($parameters[2], $city_id); show_new_area_form($city_id); } } diff --git a/lib/city.php b/lib/city.php index dd60e36..94c556e 100644 --- a/lib/city.php +++ b/lib/city.php @@ -10,13 +10,14 @@ } } - function show_cities($offset, $per_page, $name = null) { + function show_cities($name = null) { + list($first_page, $per_page) = pagination(); echo "

Cities:"; $q = new CityQuery; if (isset($name)) $q->filterByName($name); - $p = $q->paginate($offset, $per_page); - if (count($p)) { - foreach ($p as $city) { + $cities = $q->paginate($first_page, $per_page); + if (count($cities)) { + foreach ($cities as $city) { echo "
\nCity: " . $city->getStrongLink(get_city_displayname($city)); $n = $city->getName(); $i = $city->getId(); @@ -28,6 +29,7 @@ echo " " . $city->getDeleteLink(); } } + show_pagination($cities); } else echo " none"; echo "

\n"; @@ -147,13 +149,13 @@ break; default: - show_cities(0, 10, $name); + show_cities($name); show_new_city_form(); break; } } else if (isset($name)) show_city($name, $id); - else show_cities(0, 10); + else show_cities(); if (count($parameters)) echo "

Show all cities

\n"; show_new_city_form(); diff --git a/lib/contact.php b/lib/contact.php index fdbd169..ee9f3e0 100644 --- a/lib/contact.php +++ b/lib/contact.php @@ -71,21 +71,25 @@ echo ", " . $city->getLink(get_city_displayname($city)); } - function show_contacts($offset, $per_page, $address_ids) { + function show_contacts($address_ids) { + list($first_page, $per_page) = pagination(); $q = new ContactQuery; - $contacts = $q->filterByAddressId($address_ids)->orderByForename()->orderBySurname()->find(); + $contacts = $q->filterByAddressId($address_ids)->orderByForename()->orderBySurname()->orderById('desc')->paginate($first_page, $per_page); if (count($contacts)) { foreach ($contacts as $contact) show_contact_summary($contact); + show_pagination($contacts); } else echo " none"; } - function search_contacts($offset, $per_page, $search) { + function search_contacts($search) { + list($first_page, $per_page) = pagination(); $q = new ContactQuery; - $contacts = $q->filterByDisplayname("%$search%")->find(); + $contacts = $q->filterByDisplayname("%$search%")->orderByForename()->orderBySurname()->orderById('desc')->paginate($first_page, $per_page); echo "

Contacts matching '" . htmlspecialchars($search) . "':"; if (count($contacts)) { foreach ($contacts as $contact) show_contact_summary($contact); + show_pagination($contacts); } else echo "none"; echo "

\n"; @@ -99,16 +103,17 @@ foreach ($addresses as $address) $address_ids[] = $address->getId(); $q = new ContactQuery; - $contacts = $q->filterByAddressId($address_ids)->find(); + $contacts = $q->filterByAddressId($address_ids)->orderByForename()->orderBySurname()->orderById('desc')->paginate($first_page, $per_page); echo "

Contacts in address '" . htmlspecialchars($search) . "':"; if (count($contacts)) { foreach ($contacts as $contact) show_contact_summary($contact); + show_pagination($contacts); } else echo "none"; echo "

\n"; } - function show_city_contacts($offset, $per_page, $city_name, $city_id = null) { + function show_city_contacts($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) { @@ -123,12 +128,12 @@ foreach ($addresses as $address) $address_ids[] = $address->getId(); echo "

Contacts in city " . $city->getLink(get_city_displayname($city)) . ":"; - return show_contacts($offset, $per_page, $address_ids); + return show_contacts($address_ids); } else echo "

No such city!

\n"; } - function show_area_contacts($offset, $per_page, $area_name, $area_id = null) { + function show_area_contacts($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) { @@ -138,7 +143,7 @@ foreach ($addresses as $address) $address_ids[] = $address->getId(); echo "

Contacts in area " . $area->getLink() . ":"; - return show_contacts($offset, $per_page, $address_ids); + return show_contacts($address_ids); } else echo "

No such area!

\n"; } @@ -580,7 +585,7 @@ $area = $q->findOneById($area_id); $city = get_area_city($area); if ($city) $city_id = $city->getId(); - show_area_contacts(0, 10, $parameters[2], $area_id); + show_area_contacts($parameters[2], $area_id); break; case "city": @@ -588,12 +593,12 @@ $_POST['city_id'] = $city_id; $q = new CityQuery; $city = $q->findOneById($city_id); - show_city_contacts(0, 10, $parameters[2], $city_id); + show_city_contacts($parameters[2], $city_id); break; } } else if ($parameters[0] == "search") { - search_contacts(0, 10, urldecode($parameters[1])); + search_contacts(urldecode($parameters[1])); } } list($name, $id, $args) = parse_parameters($parameters); diff --git a/lib/donation.php b/lib/donation.php index b1aba40..a5036f3 100644 --- a/lib/donation.php +++ b/lib/donation.php @@ -43,11 +43,12 @@ exit; } - function show_donations($offset, $per_page, $contact_ids = null, $hub_ids = null) { + function show_donations($contact_ids = null, $hub_ids = null) { + list($first_page, $per_page) = pagination(); $q = new DonationQuery; if (isset($contact_ids)) $q->filterByContactId($contact_ids); if (isset($hub_ids)) $q->filterByHubId($hub_ids); - $donations = $q->find(); + $donations = $q->orderByDate('desc')->orderById('desc')->paginate($first_page, $per_page); if (count($donations)) { foreach ($donations as $donation) { echo "
\nDonation " . $donation->getStrongLink($donation->getId()) . ": " . get_donation_displayname($donation); @@ -72,11 +73,12 @@ echo " " . $donation->getDeleteLink(); } } + show_pagination($donations); } else echo " none"; } - function show_city_donations($offset, $per_page, $city_name, $city_id = null) { + function show_city_donations($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) { @@ -85,32 +87,32 @@ foreach ($hubs as $hub) $hub_ids[] = $hub->getId(); echo "

Donations in city " . $city->getLink(get_city_displayname($city)) . ":"; - return show_donations($offset, $per_page, null, $hub_ids); + return show_donations(null, $hub_ids); } else echo "

No such city!

\n"; } - function show_contact_donations($offset, $per_page, $contact_name, $contact_id = null) { + function show_contact_donations($contact_name, $contact_id = null) { if (isset($contact_id)) $contact = get_contact_by_id($contact_id); else if ($contact_name) $contact = get_contact_by_name($contact_name); if ($contact) { echo "

Donations from contact " . $contact->getLink() . ":"; - return show_donations($offset, $per_page, $contact->getId()); + return show_donations($contact->getId()); } else echo "

No such contact!

\n"; } - function show_hub_donations($offset, $per_page, $hub_name, $hub_id = null) { + function show_hub_donations($hub_name, $hub_id = null) { if (isset($hub_id)) $hub = get_hub_by_id($hub_id); else if ($hub_name) $hub = get_hub_by_name($hub_name); if ($hub) { echo "

Donations to hub " . $hub->getLink() . ":"; - return show_donations($offset, $per_page, null, $hub->getId()); + return show_donations(null, $hub->getId()); } else echo "

No such hub!

\n"; } - function show_area_donations($offset, $per_page, $area_name, $area_id = null) { + function show_area_donations($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) { @@ -119,7 +121,7 @@ foreach ($hubs as $hub) $hub_ids[] = $hub->getId(); echo "

Donations in area " . $area->getLink() . ":"; - return show_donations($offset, $per_page, null, $hub_ids); + return show_donations(null, $hub_ids); } else echo "

No such area!

\n"; } @@ -403,7 +405,7 @@ $area = $q->findOneById($area_id); $city = get_area_city($area); if ($city) $city_id = $city->getId(); - show_area_donations(0, 10, $parameters[2], $area_id); + show_area_donations($parameters[2], $area_id); break; case "city": @@ -411,7 +413,7 @@ $_POST['city_id'] = $city_id; $q = new CityQuery; $city = $q->findOneById($city_id); - show_city_donations(0, 10, $parameters[2], $city_id); + show_city_donations($parameters[2], $city_id); break; } } @@ -422,7 +424,7 @@ $contact_id = $parameters[3]; $q = new ContactQuery; $contact = $q->findOneById($contact_id); - show_contact_donations(0, 10, $parameters[2], $contact_id); + show_contact_donations($parameters[2], $contact_id); break; } } @@ -433,7 +435,7 @@ $hub_id = $parameters[3]; $q = new HubQuery; $hub = $q->findOneById($hub_id); - show_hub_donations(0, 10, $parameters[2], $hub_id); + show_hub_donations($parameters[2], $hub_id); break; } } diff --git a/lib/hub.php b/lib/hub.php index 176903d..e5a551a 100644 --- a/lib/hub.php +++ b/lib/hub.php @@ -66,16 +66,18 @@ 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) { @@ -90,12 +92,12 @@ foreach ($addresses as $address) $address_ids[] = $address->getId(); echo "

Hubs in city " . $city->getLink(get_city_displayname($city)) . ":"; - return show_hubs($offset, $per_page, $address_ids); + return show_hubs($address_ids); } else echo "

No such city!

\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) { @@ -105,7 +107,7 @@ foreach ($addresses as $address) $address_ids[] = $address->getId(); echo "

Hubs in area " . $area->getLink() . ":"; - return show_hubs($offset, $per_page, $address_ids); + return show_hubs($address_ids); } else echo "

No such area!

\n"; } @@ -430,7 +432,7 @@ $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": @@ -438,7 +440,7 @@ $_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; } } -- 2.20.1