X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;ds=inline;f=lib%2Farea.php;h=9b0d5e1181850517fd907a2ff17645b72f33d5e4;hb=refs%2Ftags%2Flive-2013-12-12;hp=5785ed2947c0e2a7b006c1784af801a5eb94078c;hpb=6fdbfe32798452ec1c0fdbda57edabb892518409;p=readifood.git
diff --git a/lib/area.php b/lib/area.php
index 5785ed2..9b0d5e1 100644
--- a/lib/area.php
+++ b/lib/area.php
@@ -9,7 +9,7 @@
}
else if ($_POST['city_id']) {
/* XXX: city_id is actually a string $city_name/$city_id */
- header(sprintf("Location: http%s://%s/%s/in/%s", ($_SERVER['HTTPS']) ? "s" : "", $_SERVER['HTTP_HOST'], $module, $_POST['city_id']));
+ header(sprintf("Location: http%s://%s/%s/in/city/%s", ($_SERVER['HTTPS']) ? "s" : "", $_SERVER['HTTP_HOST'], $module, $_POST['city_id']));
exit;
}
else if ($_POST['update_area']) {
@@ -27,10 +27,12 @@
if (count($areas)) {
foreach ($areas as $area) {
- echo "
\nArea: " . $area->getStrongLink();
- printf(" Contacts", urlencode($area->getName()), $area->getId());
- printf(" Donations", urlencode($area->getName()), $area->getId());
- printf(" Orders", urlencode($area->getName()), $area->getId());
+ echo "
\nArea: " . $area->getStrongLink() . "\n";
+ $n = urlencode($area->getName());
+ $i = $area->getId();
+ echo " " . get_small_link("Contacts", "/contact/in/area/%s/%d", $n, $i);
+ echo " " . get_small_link("Donations", "/donation/in/area/%s/%d", $n, $i);
+ echo " " . get_small_link("Orders", "/order/in/area/%s/%d", $n, $i);
if (check_admin(1)) {
echo " " . $area->getDeleteLink();
}
@@ -51,15 +53,22 @@
return;
}
- echo "
Error deleting $name!
\n"; - /* XXX: Why? Check for addresses in use... */ - return false; - } - - return true; - } - function show_area_delivery_days_form($days) { global $week; echo "Delivery days:"; if (check_admin(1)) { for ($i = 0; $i < count($week); $i++) { - echo " $week[$i]\n"; + echo ">\n"; } } else { @@ -182,8 +173,19 @@ return true; } + function confirm_delete_area($name, $id = null, &$city_id = null) { + if (! check_admin(1, "delete an area")) return; + + if (isset($id)) $area = get_area_by_id($id); + else $area = get_area_by_name($name); + if (! $area) return false; + + echo "You must confirm deletion of area " . $area->getName() . ": " . $area->getDeleteLink(true) . "
\n"; + } + function delete_area($name, $id = null, &$city_id = null) { - if (! check_admin(1, "delete a area")) return; + if (! check_admin(1, "delete an area")) return; if (isset($id)) $area = get_area_by_id($id); else $area = get_area_by_name($name); @@ -209,11 +211,13 @@ $area = get_area_by_name($name); if (! $area) return; - echo "\n"; + end_form(); } /* /area/in/Cambridge/1 */ if (count($parameters)) { if ($parameters[0] == "in") { - $city_id = $parameters[2]; - show_areas(0, 10, $parameters[1], $city_id); - show_new_area_form($city_id); + if ($parameters[1] == "city") { + $city_id = $parameters[3]; + show_areas(0, 10, $parameters[2], $city_id); + show_new_area_form($city_id); + } } } list($name, $id, $args) = parse_parameters($parameters); @@ -246,6 +252,10 @@ if (count($args)) { switch ($args[0]) { case "delete": + confirm_delete_area($name, $id, $city_id); + break; + + case "confirmdelete": delete_area($name, $id, $city_id); break; }