function tep_get_subcities(&$cities_array, $parent_id = 0) { $cities_query = tep_db_query("select city_id, old_id from " . TABLE_CITIES . " where parent_id = '" . (int) $parent_id . "'"); while ($cities = tep_db_fetch_array($cities_query)) { $cities_array[sizeof($cities_array)] = $cities['city_id']; if (tep_not_null($cities['old_id']) && $cities['old_id'] != $cities['city_id']) { $cities_array[sizeof($cities_array)] = $cities['old_id']; } if ($cities['city_id'] != $parent_id) { tep_get_subcities($cities_array, $cities['city_id']); } } }
tep_redirect(tep_href_link(FILENAME_DISCOUNTS, 'dID=' . $HTTP_GET_VARS['dID'] . '&action=list&spage=' . $HTTP_GET_VARS['spage'] . '&sID=' . $new_subzone_id)); break; case 'save_sub': $sID = tep_db_prepare_input($HTTP_GET_VARS['sID']); $dID = tep_db_prepare_input($HTTP_GET_VARS['dID']); $zone_country_id = tep_db_prepare_input($HTTP_POST_VARS['zone_country_id']); $zone_id = tep_db_prepare_input($HTTP_POST_VARS['zone_id']); $zone_factor = tep_db_prepare_input($HTTP_POST_VARS['zone_factor']); $zone_delivery_time = tep_db_prepare_input($HTTP_POST_VARS['zone_delivery_time']); tep_db_query("update " . TABLE_ZONES_TO_GEO_ZONES . " set discounts_id = '" . (int) $dID . "', zone_country_id = '" . (int) $zone_country_id . "', zone_id = " . (tep_not_null($zone_id) ? "'" . (int) $zone_id . "'" : 'null') . ", zone_factor = '" . (double) $zone_factor . "', zone_delivery_time = '" . tep_db_prepare_input($zone_delivery_time) . "', last_modified = now() where association_id = '" . (int) $sID . "'"); tep_db_query("delete from " . TABLE_CITIES_TO_GEO_ZONES . " where association_id = '" . (int) $sID . "'"); if (is_array($HTTP_POST_VARS['city_id'])) { while (list(, $city) = each($HTTP_POST_VARS['city_id'])) { $subcities = array(); $subcities[] = $city; tep_get_subcities($subcities, $city); while (list(, $city_id) = each($subcities)) { tep_db_query("replace into " . TABLE_CITIES_TO_GEO_ZONES . " (city_id, association_id, discounts_id, date_added) values ('" . (int) $city_id . "', '" . (int) $sID . "', '" . (int) $dID . "', now())"); } } } else { tep_db_query("replace into " . TABLE_CITIES_TO_GEO_ZONES . " (city_id, association_id, discounts_id, date_added) select city_id, '" . (int) $sID . "', '" . (int) $dID . "', now() from " . TABLE_CITIES . " where zone_id = '" . (int) $zone_id . "'"); } tep_redirect(tep_href_link(FILENAME_DISCOUNTS, 'dID=' . $HTTP_GET_VARS['dID'] . '&action=list&spage=' . $HTTP_GET_VARS['spage'] . '&sID=' . $HTTP_GET_VARS['sID'])); break; case 'deleteconfirm_sub': $sID = tep_db_prepare_input($HTTP_GET_VARS['sID']); tep_db_query("delete from " . TABLE_CITIES_TO_GEO_ZONES . " where association_id = '" . (int) $sID . "'"); tep_db_query("delete from " . TABLE_ZONES_TO_GEO_ZONES . " where association_id = '" . (int) $sID . "'"); tep_redirect(tep_href_link(FILENAME_DISCOUNTS, 'dID=' . $HTTP_GET_VARS['dID'] . '&action=list&spage=' . $HTTP_GET_VARS['spage'])); break;