/*
* 68 Classifieds Google Map module
*
* All source code & content (c) Copyright 2006, Larry Hotchkiss
* unless specifically noted otherwise.
*
* @Author $Author: Larry Hotchkiss
* @copyright Larry Hotchkiss
* @Updated: $Date: 2008/08/11 10:55:00 $
* @file version: 1.2
*/
function google_maps_view_listing($view){
global $db, $class_tpl, $rs, $user;
//global $db, $class_tpl, $rs;
//get 68C version
$sSQL = "SELECT version FROM ".PREFIX."admin WHERE id=1";
$result=$db->query($sSQL);
$gversion=$result->fetch();
$result->freeResult($result);
require(FILESYSTEM_PATH."modules/google_maps/GoogleMapAPI.class.php");
// get settings from googlemap table
$sSQL = "SELECT * FROM ".PREFIX."googlemap WHERE id=1";
$result=$db->query($sSQL);
$settings=$result->fetch();
//$class_tpl->assign('googlesettings',$settings);
///////////////////////////////////////////////
// values retrieved
///////////////////////////////////////////////
// $settings[GoogleKey]
// $settings[DisplayGoogle]
// $settings[GoogleHeight]
// $settings[GoogleWidth]
// $settings[DisplayMarker]
// $settings[DisplayThumb]
// $settings[DisplayAddress]
// $settings[DisplayCity]
// $settings[DisplayState]
// $settings[DisplayZip]
// $settings[DisplayPrice]
// $settings[DisplayDirections]
// $settings[ZoomLevel]
// $settings[DisplayMapControls]
// $settings[ActivateMarker]
// $settings[AddressType]
// $settings[AddressField]
// $settings[CityField]
// $settings[StateField]
// $settings[ZipField]
// $settings[CountryField]
// $settings[EnableField]
///////////////////////////////////////////////
// check defined anable field if it equals no then exit
// check to see if address is to come from ad owner or extra fields
if($settings[AddressType]=="External")
{
//get extra fields
$sSQL = "SELECT f.fID,sValue FROM ".PREFIX."products_fields AS p, `".PREFIX."fields` AS f WHERE p.pID='".$view."' AND f.fSeen='Y' AND p.fID=f.fID ORDER BY f.fOrder ASC";
$result=$db->query($sSQL);
while ($rs3=$result->fetch()){
$sql="SELECT fID,fName,fType FROM `".PREFIX."fields` WHERE fID='".$rs3['fID']."' AND fSeen='Y' ORDER BY fOrder ASC";
$result2=$db->query($sql);
$rs2=$result2->fetch();
if($rs2['fName'] == $settings[AddressField]){
$googleaddress=$rs3['sValue'];
}
if($rs2['fName'] == $settings[CityField]){
$googlecity=$rs3['sValue'];
}
if($rs2['fName'] == $settings[StateField]){
$googlestate=$rs3['sValue'];
}
if($rs2['fName'] == $settings[ZipField]){
$googlezip=$rs3['sValue'];
}
if($rs2['fName'] == $settings[CountryField]){
$googlecountry=$rs3['sValue'];
}
if($rs2['fName'] == $settings[EnableField]){
$mapenabled=safeStripSlashes($rs3['sValue']);
}
//var_dump($rs);
} // end while
if($googlecountry == "Not Used"){
$googleaddr = "$googleaddress $googlecity $googlestate $googlezip";
}else{
$googleaddr = "$googleaddress $googlecity $googlestate $googlezip $googlecountry";
}
}else{
//get extra fields
$sSQL = "SELECT f.fID,sValue FROM ".PREFIX."products_fields AS p, `".PREFIX."fields` AS f WHERE p.pID='".$view."' AND f.fSeen='Y' AND p.fID=f.fID ORDER BY f.fOrder ASC";
$result=$db->query($sSQL);
while ($rs3=$result->fetch()){
$sql="SELECT fID,fName,fType FROM `".PREFIX."fields` WHERE fID='".$rs3['fID']."' AND fSeen='Y' ORDER BY fOrder ASC";
$result2=$db->query($sql);
$rs2=$result2->fetch();
if($rs2['fName'] == $settings[EnableField]){
$mapenabled=safeStripSlashes($rs3['sValue']);
}
//var_dump($rs);
} // end while
if(substr($gversion[version],0,2)=="V3" ){
$googleaddress = safeStripSlashes($rs['address']);
$googlecity = safeStripSlashes($rs['city']);
$googlestate = safeStripSlashes($rs['state']);
$googlezip = safeStripSlashes($rs['zip']);
$googlecountry = safeStripSlashes($rs['country']);
if($googlecountry == "Not Used"){
$googleaddr = "$googleaddress $googlecity $googlestate $googlezip";
}else{
$googleaddr = "$googleaddress $googlecity $googlestate $googlezip $googlecountry";
}
}else{
$GUsers = new Users();
$googleuser=$GUsers->getUser($rs['owner']);
$googleaddress = safeStripSlashes($googleuser['address']);
$googlecity = safeStripSlashes($googleuser['city']);
$googlestate = safeStripSlashes($googleuser['state']);
$googlezip = safeStripSlashes($googleuser['zip']);
$googlecountry = safeStripSlashes($googleuser['country']);
if($googlecountry == "Not Used"){
$googleaddr = "$googleaddress $googlecity $googlestate $googlezip";
}else{
$googleaddr = "$googleaddress $googlecity $googlestate $googlezip $googlecountry";
}
}
} // end if
$class_tpl->assign('googleaddress',$googleaddress);
$class_tpl->assign('googlecity',$googlecity);
$class_tpl->assign('googlestate',$googlestate);
$class_tpl->assign('googlezip',$googlezip);
$class_tpl->assign('googlecountry',$googlecountry);
$class_tpl->assign('mapenabled',$mapenabled);
$class_tpl->assign('adtitle',$GLOBALS[rs][title]);
if($settings[DisplayGoogle]=="Y"){
//// get thumbnail name if its set to be displayed
if($settings[DisplayThumb]=="Y"){
$iSQL='SELECT ' .
'image ' .
'FROM ' .
''.PREFIX.'prodimages ' .
'WHERE ' .
'pid = '.$view.' ' .
'ORDER BY ' .
'rank ASC';
$iresult=$db->query($iSQL);
if ( $iresult->isError() )
{
trigger_error('Listing::getImages: Unable to fetch images');
return false;
}
while ($irs=$iresult->fetch())
{
$image[]=$irs;
}
//echo "
" . $image[0][image]; //filename of first image
$markerimage=$image[0][image];
} // end get thumbnail image name
$map = new GoogleMapAPI();
$map->disableSidebar();
// 7*28*08
//if($settings[DisplayDirections]=="N"){
// $map->disableDirections();
//}
$map->disableDirections();
// 7*28*08
if($settings[DisplayMapControls]=="N"){
$map->disableMapControls();
}
if($settings[ActivateMarker]=="M"){
$map->setInfoWindowTrigger('mouseover');
}
//$map->setControlSize('small');
//$map->disableScaleControl(); // little bar showing distance
$map->setZoomLevel($settings[ZoomLevel]);
$map->setHeight($settings[GoogleHeight]."px");
$map->setWidth($settings[GoogleWidth]."px");
$map->setAPIKey($settings[GoogleKey]);
if($settings[DisplayMarker]=="Y"){
$map->enableInfoWindow();
// build markerbody
$markerbody="" . $GLOBALS[rs][title] . "
";
if($settings[DisplayAddress]=="Y"){
$markerbody.=$googleaddress . "
";
}
if($settings[DisplayCity]=="Y"){
$markerbody.= $googlecity . ", ";
}
if($settings[DisplayState]=="Y"){
$markerbody.= $googlestate . " ";
}
if($settings[DisplayZip]=="Y"){
$markerbody.= $googlezip . "
";
}
if($settings[DisplayCountry]=="Y"){
$markerbody.= $googlecountry . "
";
}
if($settings[DisplayPrice]=="Y"){
$markerbody.= "$" . $GLOBALS[rs][price] . "
";
}
if($settings[DisplayThumb]=="Y"){
$markerbody.="";
}
$map->addMarkerByAddress($googleaddr, "",$markerbody);
}else{
$map->disableInfoWindow();
$map->addMarkerByAddress($googleaddr);
}
$class_tpl->assign('google_map_header',$map->getHeaderJS());
$class_tpl->assign('google_map_js',$map->getMapJS());
$class_tpl->assign('google_map_sidebar',$map->getSidebar());
$class_tpl->assign('google_map',$map->getMap());
} // end if display google
} // end function
?>