dbClass = new dbClass(); } function getLatitudeLongitude($zip) { //Returns latitude and longitude of a given zipcode $query = "SELECT latitude, longitude FROM ctrak_zipcodes WHERE zipcode = ".$zip; $results = $this->dbClass->query($query); return $results; } function getZipArray($zip, $distance = 10) { //Given a zipcode and a distance, returns an comma separated list of zipcodes within this distance //If distance = 0 change to a very small distance if ($distance==0) $distance = 0.001; //Get zipcode location $location = $this->getLatitudeLongitude($zip); if(isset($location[0])) { $latitude = $location[0]['latitude']; $longitude = $location[0]['longitude']; //Get rectangle area $this->RadiusAssistant($latitude, $longitude, $distance); //Select all zipcodes within rectangle $query = "SELECT zipcode FROM ctrak_zipcodes WHERE latitude <= ".$this->maxLat." AND latitude >= ".$this->minLat; $query.= " AND longitude <= ".$this->maxLong." AND longitude >= ".$this->minLong; $results = $this->dbClass->query($query); $list = array(); foreach ($results as $key=>$value) { $list[] = $value['zipcode']; } $result = implode(",",$list); } else { $result =""; } return $result; } function Calculate( $dblLat1, $dblLong1, $dblLat2, $dblLong2 ) { $EARTH_RADIUS_MILES = 3963; $dist = 0; //convert degrees to radians $dblLat1 = $dblLat1 * M_PI / 180; $dblLong1 = $dblLong1 * M_PI / 180; $dblLat2 = $dblLat2 * M_PI / 180; $dblLong2 = $dblLong2 * M_PI / 180; if ($dblLat1 != $dblLat2 || $dblLong1 != $dblLong2) { //the two points are not the same $dist = sin($dblLat1) * sin($dblLat2) + cos($dblLat1) * cos($dblLat2) * cos($dblLong2 - $dblLong1); $dist = $EARTH_RADIUS_MILES * (-1 * atan($dist / sqrt(1 - $dist * $dist)) + M_PI / 2); } return $dist; } function RadiusAssistant($Latitude, $Longitude, $Miles) { $EQUATOR_LAT_MILE = 69.172; $this->maxLat = $Latitude + $Miles / $EQUATOR_LAT_MILE; $this->minLat = $Latitude - ($this->maxLat - $Latitude); $this->maxLong = $Longitude + $Miles / (cos($this->minLat * M_PI / 180) * $EQUATOR_LAT_MILE); $this->minLong = $Longitude - ($this->maxLong - $Longitude); } } ?>'A', 'DECLINED'=>'D', 'PAID'=>'P'); var $type = array ('LEADS'=>'L', 'PRESCREENING FEE' => 'PF', 'BANNER ADD' => 'B', 'CREATIVE FEE' => 'CF', 'WEBSITE'=>'W', 'ENHANCED LISTING'=>'X'); function BusManager() { $this->dbClass = new dbClass(); } function logBusiness($username, $password){ //Checks partner info and if sucessful returns partnerId $password = md5(strtolower($password)); $username = strtolower($username); $query = " SELECT a.businfoId, a.businessId, a.bidderId, a.rateId, a.prescreened, a.category, a.companyname, b.enhancedReleased, b.enhancedAdd, c.websiteId, c.businessId webbusinessId FROM ctrak_businfo a LEFT JOIN ctrak_busenhancedadd b ON a.businessId = b.businessId LEFT JOIN ctrak_websites_content c ON a.businessId = c.businessId WHERE username = '".$username."' AND password = '".$password."'"; $result = $this->dbClass->query($query); if ($result!=null){ return $result[0]; } else { return -1; } } function checkUsernameExists($username) { $query = "SELECT username FROM ctrak_businfo WHERE username = '".$username."'"; $result = $this->dbClass->query($query); if (count($result)>0) { return true; } else { return false; } } function checkUsernameEmail($email) { $query = "SELECT businfoId FROM ctrak_businfo WHERE email = '".trim(addslashes($email))."'"; $result = $this->dbClass->query($query); if (count($result)>0) { return $result[0]['businfoId']; } else { return false; } } function checkBusinessInDb($businessId) { $query = "SELECT username FROM ctrak_businfo WHERE businessId = ".$businessId; //die($query); $result = $this->dbClass->query($query); if ($result[0]['username']!="") { return true; } else { return false; } } function getBusInfo($businfoId) { $query = "SELECT * FROM ctrak_businfo WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } } } function getBusInfoByBusinessId($businessId) { $query = "SELECT * FROM ctrak_businfo WHERE businessId = ".$businessId; $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } } } function getAllBusInfo() { $query = "SELECT * FROM ctrak_businfo ORDER BY companyname"; $result = $this->dbClass->query($query); return $result; } function getAllScreenBusInfo() { $query = "SELECT * FROM ctrak_businfo bu, ctrak_busbidder bi WHERE bu.businessId = bi.businessId ORDER BY bu.companyname"; $result = $this->dbClass->query($query); return $result; } function getPreScreenInfo($businfoId) { $query = "SELECT * FROM ctrak_busscreeninfo WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } } } function saveBusinessInfo($businessId) { //See if added business if($businessId==-1) { // yes get id $query = "UPDATE ctrak_masterid SET masterid=masterid+1"; $result = $this->dbClass->query($query,0); $query = "SELECT masterid from ctrak_masterid LIMIT 1"; $result = $this->dbClass->query($query); $businessId = $result[0]['masterid']; } //See if exists $query = "SELECT businfoId FROM ctrak_businfo WHERE businessId = ".$businessId; $result = $this->dbClass->query($query); if(count($result)==0) { $query = "INSERT INTO ctrak_businfo (businessId,username) VALUES (".$businessId.", '".$this->username."')"; $result = $this->dbClass->query($query,0); $businfoId = $this->dbClass->lastInsertID(); $new = true; } else { $businfoId = $result[0]['businfoId']; $new = false; } // check prescreened enum if ($this->prescreened == '') { $this->prescreened = 'N'; } $query = "UPDATE ctrak_businfo SET "; $query.= "bidderId = ".$this->bidderId.", "; $query.= "email = '".addslashes($this->email)."' ,"; $query.= "companyname = '".addslashes($this->companyname)."', "; $query.= "address = '".addslashes($this->address)."', "; $query.= "address2 = '".addslashes($this->address2)."', "; $query.= "city = '".addslashes($this->city)."', "; $query.= "state = '".$this->state."', "; $query.= "zip = '".addslashes($this->zip)."', "; $query.= "phone = '".addslashes($this->phone)."', "; $query.= "cellphone = '".addslashes($this->cellphone)."', "; $query.= "category = '".$this->category."', "; $query.= "other = '".addslashes($this->other)."', "; $query.= "contactname = '".addslashes($this->contactname)."', "; $query.= "prescreened = '".addslashes($this->prescreened)."', "; $query.= "website = '".addslashes($this->enhancedLicense)."', "; $query.= "sic = '".addslashes($this->sic)."' "; $query.= " WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query,0); //Save password if($new) $this->savePassword($businfoId, $this->password); return $businfoId; } function savePassword($businfoId, $password) { $query = "UPDATE ctrak_businfo SET password = '".md5($password)."' WHERE businfoId = ".$businfoId; return $this->dbClass->query($query,0); } function saveCreditCard($businfoId) { //See if exists $query = "SELECT * FROM ctrak_buscreditcard WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query); if(count($result)==0) { $query = "INSERT INTO ctrak_buscreditcard (businfoId) VALUES (".$businfoId.")"; $result = $this->dbClass->query($query,0); $busCreditCardId = $this->dbClass->lastInsertID(); } else { $busCreditCardId = $result[0]['busCreditCardId']; } //Now update $query = "UPDATE ctrak_buscreditcard SET "; $query.= "busCreditCardName = '".addslashes($this->busCreditCardName)."', "; $query.= "busCreditCardNumber = '".addslashes($this->busCreditCardNumber)."', "; $query.= "busExpiration = '".(addslashes($this->busExpiration)==''?'2000-01-01':addslashes($this->busExpiration))."', "; $query.= "busNameOnCard = '".addslashes($this->busNameOnCard)."', "; $query.= "busAddressOnCard = '".addslashes($this->busAddressOnCard)."', "; $query.= "busCityOnCard = '".addslashes($this->busCityOnCard)."', "; $query.= "busStateOnCard = '".addslashes($this->busStateOnCard)."', "; $query.= "busZipOnCard = '".addslashes($this->busZipOnCard)."' "; $query.= "WHERE busCreditCardId = ".$busCreditCardId; $result = $this->dbClass->query($query,0); return $busCreditCardId; } function savePreScreenInfo($businfoId) { //See if exists $query = "SELECT busscreenId FROM ctrak_busscreeninfo WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query); if(count($result)==0) { $query = "INSERT INTO ctrak_busscreeninfo (businfoId) VALUES (".$businfoId.")"; $result = $this->dbClass->query($query,0); $busscreenId = $this->dbClass->lastInsertID(); } else { $busscreenId = $result[0]['busscreenId']; } //Now update $query = "UPDATE ctrak_busscreeninfo SET "; $query.= "insurance = '".addslashes($this->insurance)."', "; $query.= "recommendations = '".addslashes($this->recommendations)."', "; $query.= "certifications = '".addslashes($this->certifications)."', "; $query.= "licenses = '".addslashes($this->licenses)."', "; $query.= "creditinfo = '".addslashes($this->creditinfo)."' "; $query.= "WHERE busscreenId = ".$busscreenId; $result = $this->dbClass->query($query,0); return $busscreenId; } function deleteBusInfo($businfoId) { //Get businessId $query = "SELECT businessId from ctrak_businfo WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query); if(count($result)>0) { $businessId = $result[0]['businessId']; } else { return false; } //Delete bidder entry $done = $this->dbClass->query("DELETE FROM ctrak_busbidder WHERE businessId = ".$businessId,0); //Delete credit info if($done) $done = $this->dbClass->query("DELETE FROM ctrak_buscreditcard WHERE businfoId = ".$businfoId,0); //Delete bus info if($done) $done = $this->dbClass->query("DELETE FROM ctrak_businfo WHERE businfoId = ".$businfoId,0); return $done; } function getOrderIdUnique($businfoId) { //Create a new record in transaction table and return id $query = "INSERT INTO ctrak_buscredittransaction (businfoId) VALUES (".$businfoId.")"; $result = $this->dbClass->query($query,0); $this->bustransId = $this->dbClass->lastInsertID(); return $this->bustransId; } function saveAuthApproval($transid) { $query = "UPDATE ctrak_buscredittransaction SET "; $query.= "orderId = '".$this->orderId."', "; $query.= "bustransdate = NOW(), "; $query.= "bustransstatus = '".$this->bustransstatus."', "; $query.= "bustransvalue = '".$this->bustransvalue."', "; $query.= "bustranstype = '".$this->bustranstype."', "; $query.= "busleadsbought = '".$this->busleadsbought."' "; $query.= "WHERE bustransId = ".$transid; $result = $this->dbClass->query($query,0); return $result; } function saveTransactionText($transid, $text) { $query = "UPDATE ctrak_buscredittransaction SET "; $query.= "busordertext = '".addslashes($text)."' "; $query.= "WHERE bustransId = ".$transid; $result = $this->dbClass->query($query,0); return $result; } function getTransactionText($transid) { $query = "SELECT busordertext FROM ctrak_buscredittransaction WHERE bustransId = ".$transid; $result = $this->dbClass->query($query); return stripslashes($result[0]['busordertext']); } function getBusCreditCardInfo($businfoId) { $query = "SELECT * FROM ctrak_buscreditcard WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } return true; } return false; } function saveCreditCardTransactionStatus($transid, $status) { $query = "UPDATE ctrak_buscredittransaction SET "; $query.= "bustransstatus = '".$status."' "; $query.= "WHERE bustransId = ".$transid; $result = $this->dbClass->query($query,0); return $result; } function getCreditCardTransaction($businfoId,$type) { $query = "SELECT * FROM ctrak_buscredittransaction WHERE businfoId = ".$businfoId." AND bustranstype = '".$type."'"; $return = $this->dbClass->query($query); return $return[0]; } function getCreditCardTransactionById($transId) { $query = "SELECT * FROM ctrak_buscredittransaction WHERE bustransId = ".$transId; $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } } return $result[0]; } function getAllCreditCardTransactions() { $query = "SELECT a.*,b.companyname FROM ctrak_buscredittransaction a, ctrak_businfo b WHERE a.businfoId = b.businfoId "; $query.= "ORDER BY bustransdate DESC"; $return = $this->dbClass->query($query); return $return; } function deleteOrderIdUnique($transId) { //Delete a transaction record $query = "DELETE FROM ctrak_buscredittransaction WHERE bustransId = ".$transId; $result = $this->dbClass->query($query,0); return; } function getBannerInfo($busbannerId) { $query = "SELECT bb.*, "; $query.= "(SELECT COUNT(*) FROM ctrak_busbannerclicks WHERE busbannerId = bb.busbannerId) busbannerclicks "; $query.= " FROM ctrak_busbanner bb WHERE busbannerId = ".$busbannerId; $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } } } function getAllBannerInfo($order='businfoId DESC', $fromdate='', $todate='') { $query = "SELECT bb.*, "; if($fromdate!='' && $todate!='' && strtotime($fromdate) && strtotime($todate)) { $query.="(SELECT COUNT(*) FROM ctrak_busbannerclicks WHERE busbannerId = bb.busbannerId AND clickdate >= '".dateToMySQL($fromdate)."' AND clickdate <= '".dateToMySQL($todate)."') busbannerclicks "; } else { $query.="(SELECT COUNT(*) FROM ctrak_busbannerclicks WHERE busbannerId = bb.busbannerId) busbannerclicks "; } $query.="FROM ctrak_busbanner bb "; $query.="ORDER BY ".$order; return $result = $this->dbClass->query($query); } function saveBannerInfo($businfoId) { //See if exists $query = "SELECT busbannerId FROM ctrak_busbanner WHERE businfoId = ".$businfoId." AND busbannerCategory = ".$this->busbannerCategory." AND busbannerSubCategory = ".$this->busbannerSubCategory." AND busbannerLocation = '".strtolower($this->busbannerLocation)."'"; $result = $this->dbClass->query($query); if(count($result)==0) { $query = "INSERT INTO ctrak_busbanner (businfoId, busbannerDate) VALUES (".$businfoId.", NULL)"; $result = $this->dbClass->query($query,0); $busbannerId = $this->dbClass->lastInsertID(); } else { $busbannerId = $result[0]['busbannerId']; } //Now update $query = "UPDATE ctrak_busbanner SET "; $query.= "bustransId = '".addslashes($this->bustransId)."', "; $query.= "busbannerCategory = '".addslashes($this->busbannerCategory)."', "; $query.= "busbannerSubCategory = '".addslashes($this->busbannerSubCategory)."', "; $query.= "busbannerZips = '".addslashes($this->busbannerZips)."', "; $query.= "busbannerLocation = '".addslashes($this->busbannerLocation)."' "; $query.= "WHERE busbannerId = ".$busbannerId; $result = $this->dbClass->query($query,0); return $busbannerId; } function saveBannerFilename($bannerId, $filename) { $query = "UPDATE ctrak_busbanner SET busbannerImage = '".$filename."' WHERE busbannerId = ".$bannerId; return $this->dbClass->query($query,0); } function bannerRelease($bannerId, $release) { $query = "UPDATE ctrak_busbanner SET busbannerReleased = '".$release."' "; if ($release) $query.=", busbannerDate = NOW() "; $query.="WHERE busbannerId = ".$bannerId; return $this->dbClass->query($query,0); } function bannerChangeLink($bannerId, $link) { $query = "UPDATE ctrak_busbanner SET busbannerlink = '".$link."' "; $query.= "WHERE busbannerId = ".$bannerId; return $this->dbClass->query($query,0); } function bannerLoad($location,$zipcodesbanner,$cat,$subcat) { $query = "SELECT * FROM ctrak_busbanner WHERE "; $query.= "busbannerCategory = ".$cat." AND "; $query.= "busbannerSubCategory = ".$subcat." AND "; $query.= "busbannerReleased = 1 AND "; $query.= "busbannerLocation = '".strtolower($location)."' AND ( "; $zips = explode(",",$zipcodesbanner); foreach($zips as $key=>$value) { $query.= "POSITION('".$value."' IN busbannerZips) > 0 OR "; } $query.= " 0 ) "; $query.= "ORDER BY busbannerImpressionDate ASC "; $query.= "LIMIT 1 "; $result = $this->dbClass->query($query); $banner=""; if(count($result)>0) { //update impressions $banner = $result[0]; $query = "UPDATE ctrak_busbanner SET busbannerimpressions = busbannerimpressions+1,busbannerImpressionDate=NOW() "; $query.= "WHERE busbannerId = ".$banner['busbannerId']; $this->dbClass->query($query,0); } return $banner; } function bannerExistsForZipCat($zip,$cat) { $query = "SELECT * FROM ctrak_busbanner WHERE "; $query.= "busbannerCategory = ".$cat." AND "; $query.= "POSITION('".$zip."' IN busbannerZips) > 0"; $result = $this->dbClass->query($query); if(count($result)>0) { return true; } else { return false; } } function saveBannerClick($bannerId) { $query = "INSERT INTO ctrak_busbannerclicks (busbannerId, clickdate) VALUES (".$bannerId.", NOW()) "; return $this->dbClass->query($query,0); } // ENHANCED ADDS function getAllEnhancedAdds() { $query = "SELECT * FROM ctrak_busenhancedadd ORDER BY enhancedReleased, enhancedCompanyName ASC"; $result = $this->dbClass->query($query); return $result; } function getAnyEnhancedListingByBusinessId($businessId) { $query = "SELECT * FROM ctrak_busenhancedadd WHERE businessId = ".$businessId." LIMIT 1"; $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } return true; } else { return false; } } function getEnhancedListingByBusinessId($businessId, $released = 1) { $query = "SELECT * FROM ctrak_busenhancedadd WHERE businessId = ".$businessId." AND enhancedAdd = 'Y'"; if($released) { $query.= " AND enhancedReleased = 1"; } $result = $this->dbClass->query($query); if(count($result)>0) { foreach ($result[0] as $key=>$value) { $this->$key = stripslashes($value); } return true; } else { return false; } } function toggleEnhancedAdd($businessId) { // get current status $query = "SELECT enhancedReleased FROM ctrak_busenhancedadd WHERE businessId = '".$businessId."'"; $result = $this->dbClass->query($query); $status = $result[0]['enhancedReleased']; // toggle $status = $status==1?0:1; // update db $query = "UPDATE ctrak_busenhancedadd SET enhancedReleased = $status WHERE businessId = '".$businessId."'"; $result = $this->dbClass->query($query,0); return $status; } function saveEnhancedInfo($businessId) { //See if exists $query = "SELECT busenhancedId FROM ctrak_busenhancedadd WHERE businessId = ".$businessId; $result = $this->dbClass->query($query); if(count($result)==0) { $this->bustransId = 0; $query = "INSERT INTO ctrak_busenhancedadd (businessId, bustransId, enhancedReleased) VALUES (".$businessId.",".$this->bustransId.", 0)"; $result = $this->dbClass->query($query,0); $busenhancedId = $this->dbClass->lastInsertID(); } else { $busenhancedId = $result[0]['busenhancedId']; } // check enum if($this->enhancedAdd=='') { $this->enhancedAdd = 'N'; } // check transId if($this->bustransId=='') { $this->bustransId = 0; } //Now update $query = "UPDATE ctrak_busenhancedadd SET "; $query.= "bustransId = ".addslashes($this->bustransId).", "; $query.= "enhancedadd = '".addslashes($this->enhancedAdd)."', "; $query.= "enhancedCompanyName = '".addslashes($this->enhancedCompanyName)."', "; $query.= "enhancedAddress1 = '".addslashes($this->enhancedAddress1)."', "; $query.= "enhancedAddress2 = '".addslashes($this->enhancedAddress2)."', "; $query.= "enhancedText = '".addslashes($this->enhancedText)."', "; $query.= "enhancedLicense = '".addslashes($this->enhancedLicense)."', "; $query.= "enhancedDate = NOW() "; $query.= "WHERE busenhancedId = ".$busenhancedId; $result = $this->dbClass->query($query,0); return $busenhancedId; } // Business folder function createBusinessFolder($businessId, &$errmessage) { // create business folder $folder = SERVERROOT."business/folders/$businessId"; if (!file_exists($folder)) { if(!mkdir($folder,0777)) { $errmessage.= "* Could not create business folder.
"; return false; } // copy default logos to new folder copy(SERVERROOT."business/folders/defaultlogo.jpg",$folder."/enhancedlisting.jpg"); copy(SERVERROOT."business/folders/defaultassociation.jpg",$folder."/enhancedassociation.jpg"); } return $folder; } // Business image folder function createBusinessImageFolder($businessId, &$errmessage) { $rootFolder = $this->createBusinessFolder($businessId, $errmessage); if (!$rootFolder) { return false; } $imageFolder = $rootFolder."/webimages/"; if (!file_exists($imageFolder)) { if(!mkdir($imageFolder,0777)) { $errmessage.= "* Could not create image business folder.
"; return false; } } $logoFolder = $rootFolder."/logo/"; if (!file_exists($logoFolder)) { if(!mkdir($logoFolder,0777)) { $errmessage.= "* Could not create logo business folder.
"; return false; } } return $imageFolder; } function getDownloadDate($businfoId){ //Reads last download date from db $query = "SELECT dateLastDownload FROM ctrak_businfo WHERE businfoId = '".$businfoId."'"; $result = $this->dbClass->query($query); if ($result!=null){ $date = $result[0]['dateLastDownload']; //Change date to php format return dateToPHP($date); } else { return -1; } } function setDownloadDate($businfoId) { //Saves date for last download $query = "UPDATE ctrak_businfo SET dateLastDownload = NOW() WHERE businfoId = ".$businfoId; $result = $this->dbClass->query($query,0); if ($result!=null){ return true; } else { return false; } } } ?>