3 Alcohol and Drug Rehab Centers in Batavia, New York
October 2, 2019
About Batavia, NY
The small city of Batavia, New York lies halfway between Buffalo and Rochester near Niagara Falls. Easily accessed by the nearby highway, people of this small city enjoy the affordable lifestyle of western New York. Batavia has devoted significant amounts of the city’s budget to ensuring quality services for residents, too.
The Substance Abuse Problem in New York
Drug and alcohol abuse continues to be a problem for New York state residents. In New York City, six hours from Batavia, over 294,000 residents utilized substance abuse rehabilitation services in 2012. Heroin, along with other opiates, continues to be the primary drug of abuse (besides alcohol) in New York.
//$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 '';
?>