discourse-legacysite-perl/site/stackreach/view_preferred.php
2024-06-17 22:42:14 +10:00

82 lines
2.1 KiB
PHP
Executable File

<?php
include_once './config.php';
include './models/services/FrameService.php';
include './models/services/ModelService.php';
include './models/services/BrandService.php';
include './models/services/GeometryService.php';
include './libs/Smarty.class.php';
if (! get_user_id())
{
echo "you must be logged in to use this feature, redirecting...";
sleep(3);
header('location:http://forum.slowtwitch.com/gforum.cgi?do=login&from=stackreach');
}
try
{
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
# creating the statement
$sql = "SELECT brand_id from preferred where user_id=:user_id";
$sth = $dbh->prepare($sql);
$sth->setFetchMode(PDO::FETCH_OBJ);
$sth->execute(array(':user_id' => get_user_id()));
$preferred = $sth->fetchAll();
foreach ($preferred as $brand)
{
$bs = new BrandService();
$brands[] = $bs->getBrandByID($brand->brand_id);
$bs = null;
}
$brandMap = array();
foreach ($brands as $brand)
{
$geometryService = new GeometryService();
$geometries = $geometryService->getAllGeometriesByBrand($brand->id);
foreach ($geometries as $geometry)
{
$modelService = new ModelService();
$brandMap[$brand->name][$geometry->name]['models'] = $modelService->getAllModelsByGeometry($geometry->id);
$frameService = new FrameService();
$frames = $frameService->getAllFramesByGeometry($geometry->id);
if ($frames === null) { header('location:add_frame.php');}
foreach ($frames as $frame)
{
$brandMap[$brand->name][$geometry->name]['geometries'][] = $frame;
}
}
}
$smarty = new Smarty;
$smarty->assign('brandMap', $brandMap);
$smarty->display('views/index.tpl');
}
catch(PDOException $e)
{
echo 'Caught exception: ', $e->getMessage(), "\n";
}
catch (Exception $e)
{
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>