X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=lib%2Fcity.php;h=94c556e736be87aff7d990596525f3218a733b92;hb=HEAD;hp=9dfc3c38142813f5cd8928bbe99418998233a7eb;hpb=f9e5947f547ece139806309f589d80177e48cb79;p=readifood.git diff --git a/lib/city.php b/lib/city.php index 9dfc3c3..94c556e 100644 --- a/lib/city.php +++ b/lib/city.php @@ -10,22 +10,26 @@ } } - 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)); - printf(" Areas", urlencode($city->getName()), $city->getId()); - printf(" Contacts", urlencode($city->getName()), $city->getId()); - printf(" Donations", urlencode($city->getName()), $city->getId()); - printf(" Orders", urlencode($city->getName()), $city->getId()); + $n = $city->getName(); + $i = $city->getId(); + echo " " . get_small_link("Areas", "/area/in/city/%s/%d", $n, $i); + echo " " . get_small_link("Contacts", "/contact/in/city/%s/%d", $n, $i); + echo " " . get_small_link("Donations", "/donation/in/city/%s/%d", $n, $i); + echo " " . get_small_link("Orders", "/order/in/city/%s/%d", $n, $i); if (check_admin(1)) { echo " " . $city->getDeleteLink(); } } + show_pagination($cities); } else echo " none"; echo "

\n"; @@ -34,7 +38,7 @@ function show_new_city_form() { if (! check_admin(1)) return; - echo "
\n"; + form("noprint standout"); echo "

Add a new city \n"; echo "with postcode prefix \n"; echo "

\n"; @@ -74,6 +78,17 @@ return $city->getId(); } + function confirm_delete_city($name, $id = null) { + if (! check_admin(1, "delete a city")) return; + + if (isset($id)) $city = get_city_by_id($id); + else $city = get_city_by_name($name); + if (! $city) return false; + + echo "

Confirm deletion

\n"; + echo "

You must confirm deletion of city " . $city->getName() . ": " . $city->getDeleteLink(true) . "

\n"; + } + function delete_city($name, $id = null) { if (! check_admin(1, "delete a city")) return; @@ -100,10 +115,12 @@ if (! $city) return; echo "

City: " . get_city_displayname($city) . ""; - printf(" Areas", urlencode($city->getName()), $city->getId()); - printf(" Contacts", urlencode($city->getName()), $city->getId()); - printf(" Donations", urlencode($city->getName()), $city->getId()); - printf(" Orders", urlencode($city->getName()), $city->getId()); + $n = $city->getName(); + $i = $city->getId(); + echo " " . get_small_link("Areas", "/area/in/city/%s/%d", $n, $i); + echo " " . get_small_link("Contacts", "/contact/in/city/%s/%d", $n, $i); + echo " " . get_small_link("Donations", "/donation/in/city/%s/%d", $n, $i); + echo " " . get_small_link("Orders", "/order/in/city/%s/%d", $n, $i); if (check_admin(1)) { echo " " . $city->getDeleteLink(); } @@ -124,22 +141,23 @@ if (count($args)) { switch ($args[0]) { case "delete": + confirm_delete_city($name, $id); + break; + + case "confirmdelete": delete_city($name, $id); 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); - show_new_city_form(); - } + else show_cities(); + + if (count($parameters)) echo "

Show all cities

\n"; + show_new_city_form(); - # XXX: Format URL in branch case... - if (count($parameters)) - echo "

Show all cities

\n"; ?>