3 Alcohol and Drug Rehab Centers in Bath, New York
October 2, 2019
A Bit About Bath, NY
Bath, NY is the county seat of Steuben County, the seventh-largest county in New York. Several major highways pass through Bath. Both the Buffalo and Syracuse airports are located approximately two hours from the city. Rochester Airport is located just an hour and a half from Bath. The cities of Cleveland, Philadelphia, and New York City, are five hours distant by car. Bath offers many hotels and motels, some of which are pet-friendly, for visitors to the town. Bath is also home to the VA Medical Center.
The Substance Abuse Problem in New York State
Substance abuse has long been an issue for New York state residents. In nearby New York City, hundreds of thousands of residents abuse drugs every year. Heroin, along with other opiates, are particularly problematic for people in New York. Bath is no exception, so many substance abuse treatment facilities focus on opiate and heroin treatment, including medically-managed withdrawal and detoxification services.
//$startTime = microtime(true);
require_once 'inc/db.php';
require_once 'inc/lookups.php';
$requestLookup = $requestLookup ? $requestLookup : sanitize_text_field($_GET['lookup']);
$requestState = $requestState ? $requestState : sanitize_text_field($_GET['state']);
$requestCity = $requestCity ? $requestCity : sanitize_text_field($_GET['city']);
$requestLocation = $requestLocation? $requestLocation : sanitize_text_field($_GET['location']);
$dataOnly = $dataOnly ? $dataOnly : (bool) $_GET['dataonly'];
if ($requestLookup) {
if (array_key_exists($requestLookup, $lookupGroups)) {
$lookup = $requestLookup;
if (is_array($lookupGroups[$lookup])) {
$lookupGroup = $lookupGroups[$lookup];
}
$lookupName = $lookupTitles[$lookup];
}
if (!$lookup) {
$err['lookup'] = "Sorry, we couldn't find that category.";
}
}
if ($requestState && $lookup) {
$stateSlug = str_replace('-'.$requestLookup, '', $requestState);
$state = Model::factory('State')->where('url', $stateSlug)->find_one();
if (!$state) {
$err['state'] = "Sorry, we couldn't find that state.";
$is404 = true;
}
}
if ($requestCity && $state) {
$city = $state->city()->where('url', $requestCity)->find_one();
if (!$city) {
$err['city'] = "Sorry, we couldn't find that city.";
$is404 = true;
}
}
if ($requestLocation && $city ) {
/* Fetch Location Only under primary Lookup*/
if($lookup=='rehab-centers')
$location = $city->location()->where('url', $requestLocation)->find_one();
if (!$location) {
$err['location'] = "Sorry, we couldn't find that location.";
$is404 = true;
}
/* Special Header Addons - Locations Under Sub Lookups*/
if($lookup!='rehab-centers')
$sublookup_head = true;
}
/***
* Let's work backwards with what we have.
***/
// City Table Column Selector :: Num Locations by Lookup
switch($lookup){
case 'inpatient-rehab-centers' : $col = 'num_inpa'; break;
default : $col = 'num_locations';
}
if ($location) {
$attributes['S'] = $attributes['T'] = $attributes['D'] = $attributes['P'] = array();
foreach ($location->attribute()->find_many() as $attribute) {
$attributes[$attribute->type][] = $attribute;
}
$mapAddress = urlencode($location->location_street1 . ' ' . $location->location_street2 . ' ' . $city->name . ' ' . $state->abbr);
if ($dataOnly) {
// Reserved for location data-only
} else {
include_once 'templates/location.php';
}
}
else if ($city) {
if ($lookup == 'inpatient-rehab-centers') {
// Special case; exclude outpatient rehabs from inpatient list
$locations = ORM::for_table('location')
->raw_query('SELECT location.*
FROM location JOIN attribute_location ON location.id = attribute_location.location_id
WHERE location.city_id = ?
AND attribute_location.attribute_id IN (25,26,27)
AND location.id NOT IN (
SELECT location_id
FROM attribute_location
WHERE attribute_id = 23
)
GROUP BY location.id', array($city->id))
->find_many();
}
elseif ($lookupGroup) {
$built_re_state = explode('-'.$requestLookup,$requestState)[0];
$build_redirect = '/rehab-centers/'.$built_re_state.'-rehab-centers/'.$requestCity.'/';
header("HTTP/1.1 301 Moved Permanently");
header('Location: https://www.rehabcenter.net' . $build_redirect);
exit();
// Standard lookups
//$locations = ORM::for_table('location')->where('location.city_id', $city->id)->join('attribute_location', array('location.id', '=', 'attribute_location.location_id'))->where_in('attribute_location.attribute_id', $lookupGroup)->group_by('location.id')->find_many();
}
else {
// Show all rehab centers
$locations = $city->location()->find_many();
}
/* Show City Page Only if # Segments exist*/
if(count($segments)==3&&!$is404){
if ($dataOnly) {
// Reserved for city data-only
include_once 'templates/city-data.php';
} else {
include_once 'templates/city.php';
}
}
}elseif ($state) {
if ($lookup == 'inpatient-rehab-centers') {
// Special case; exclude outpatient rehabs from inpatient list
$cities = ORM::for_table('city')
->raw_query('SELECT city.*
FROM city
JOIN location ON city.id = location.city_id
JOIN attribute_location ON location.id = attribute_location.location_id
WHERE city.state_id = ?
AND attribute_location.attribute_id IN (25,26,27)
AND location.id NOT IN (
SELECT location_id
FROM attribute_location
WHERE attribute_id = 23
)
GROUP BY city.id', array($state->id))
->find_many();
}
else if ($lookupGroup) {
$cities = ORM::for_table('city')->select('city.*')->where('city.state_id', $state->id)->join('location', array('city.id', '=', 'location.city_id'))->join('attribute_location', array('location.id', '=', 'attribute_location.location_id'))->where_in('attribute_location.attribute_id', $lookupGroup)->group_by('city.id')->find_many();
}
else {
$cities = $state->city()->find_many();
}
// Let's make sure we only have # segments on the URL array(3)
if(count($segments)==2){
if ($dataOnly) {
include_once 'templates/state-data.php';
} else {
include_once 'templates/state.php';
}
}
}
else if ($lookup&&!$is404) {
$states = Model::factory('State')->find_many();
if ($dataOnly&&!$is404) {
include_once 'templates/lookup-data.php';
} else {
include_once 'templates/lookup.php';
}
}
else {
$is404 = true;
header('HTTP/1.0 404 Not Found');
}
// $endTime = microtime(true);
//echo '';
?>