<?php
    ///////////////////////////////////////////////// 
    //
    //CFSTPHPSTART
    // FileName:  frontlib.php
    // Purpose:   
    // 
    // Called by:
    // Calls:
    // 
    //CFSTPHPEND
    //
    //Property of CarFinder.com LLC - All use is forbidden.
    //
    ///////////////////////////////////////////////// 
    // 2016-11-26 - modified for new loggers


    function dbConnectFront()
    {
        global $dbHost,$dbUser,$dbPass,$db;

        $link = mysql_connect($dbHost, $dbUser, $dbPass);
        mysql_select_db($db,$link)
			or  frontSuperV4Logger( "CONNECTDB", 'LCAT_DB'  ,'LEVN_XXX','LSEVYYY', '[CFEB-344]', '[DBCONNECTION in Front]', "DBCONNECTION in Front"  ,  mysql_errno(). ", " . mysql_error() );

          //  or  frontNewErrorLogger("CONNECTDB", "[ConnectFront Error:CFEA-344]" , "DBCONNECTION in Front",  mysql_errno(). ", " . mysql_error()  );
    }

	// this is the new version
    function frontCounterV4Logger($UserName ,$queryPart1 )
    {
        //ddfix, get use ip and browser info too!
        $itis=date("Y:m:d, h:i:s A");
        global         $filename_base ;
        $filename_tracking =   $filename_base ."/logs/FrontCountersV4.log";

        $somecontent = "$itis,$UserName || $queryPart1\n";

        // Let's make sure the file exists and is writable first.
        #if (is_writable($filename_tracking)) {

        // In our example we're opening $filename_tracking in append mode.
        // The file pointer is at the bottom of the file hence
        // that's where $somecontent will go when we fwrite() it.
        if (!$handle = fopen($filename_tracking, 'a'))
        {
             echo "Cannot open file ($filename_tracking)";
             exit;
        }

        // Write $somecontent to our opened file.
        if (fwrite($handle, $somecontent) === FALSE)
        {
           echo "Cannot write to file ($filename_tracking)";
           exit;
        }

        //echo "Success, wrote ($somecontent) to file ($filename_tracking)";
        fclose($handle);
    }



    function frontSuperV4Logger( $in_page,  $in_category,$in_event, $in_subevent,$in_message_code,$in_message_desc, $in_query, $in_error)
    {

        global    $filename_base     ;
        $theirip= $_SERVER['REMOTE_ADDR'];
        $filename_error =   $filename_base ."/logs/FrontSuperV4.log";

        // In our example we're opening $filename_error in	append mode.
        if (!$log_handle	= fopen($filename_error, 'a'))
        {
            echo "Cannot open file	(   $filename_error)";
            exit;
        }
        $now = DateTime::createFromFormat('U.u', microtime(true));
        ;
        $now->setTimezone(new DateTimeZone('America/Los_Angeles'));
		$itis=$now->format("Y-m-d H:i:s.u");
        
        //$itis=dateTime("Y-m-d H:i:s.u");
		// printing in this order is easier
        $somecontent	= "{" . $itis . "{" . $theirip . "{" .$in_page . "{" .$in_category . "{" .  $in_event . "{" . $in_subevent . "{" . $in_message_code . "{" .  $in_message_desc . "{" . $in_query  . "{" . $in_error . "\$\n";
        if (fwrite($log_handle, $somecontent) === FALSE)
        {
                 echo "Cannot write to file ($filename_error)";
           exit;
        }
        fclose($log_handle);
    
    	if ($in_category=='LCAT_ERROR' || $in_category=='LCAT_DETROIT_ERROR' )
    	{
   	        $filename_error =   $filename_base ."/logs/FrontErrorV4.log";

	        // In our example we're opening $filename_error in	append mode.
	        if (!$log_handle	= fopen($filename_error, 'a'))
	        {
	            echo "Cannot open file	(   $filename_error)";
	            exit;
	        }
	        $now = DateTime::createFromFormat('U.u', microtime(true));
	        ;
	        $now->setTimezone(new DateTimeZone('America/Los_Angeles'));
			$itis=$now->format("Y-m-d H:i:s.u");
	        
	        //$itis=dateTime("Y-m-d H:i:s.u");
			// printing in this order is easier
	        $somecontent	= "{" . $itis . "{" . $theirip . "{" .$in_page . "{" .$in_category . "{" .  $in_event . "{" . $in_subevent . "{" . $in_message_code . "{" .  $in_message_desc . "{" . $in_query  . "{" . $in_error . "\$\n";
	        if (fwrite($log_handle, $somecontent) === FALSE)
	        {
	                 echo "Cannot write to file ($filename_error)";
	           exit;
	        }
	        fclose($log_handle);

    		
    	}	



    
    }
    
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////


    // no point putting mode in, assume all quiet and app needs to handle error catch if null or 0 records and adjust flow
	// this is the newstyle logger. its quiet (no messagewindow).
	// The FrontError.log contains WARNING (no dealers in range) and ERROR(bad sql) type messages.
	// that needs to be split out over time, possibly break out a FATAL class of errors if its systemic, and mail those out via cron from a FATAL LOG
	// add ? fatal flag, default to notfatal...
    function frontSuperErrorLogger( $in_detailed_message, $in_query, $in_error)
    {

        global    $filename_base     ;
        $filename_error =   $filename_base ."/logs/FrontErrorV3.log";
        $theirip= $_SERVER['REMOTE_ADDR'];

        // In our example we're opening $filename_error in	append mode.
        if (!$log_handle	= fopen($filename_error, 'a'))
        {
            echo "Cannot open file	(   $filename_error)";
            exit;
        }
        $itis=date("Y-m-d,H:i:s");
		// printing in this order is easier
        $somecontent	= "$itis,  $theirip |  $in_detailed_message | $in_error | \n\t\t SQLV2: $in_query\r\n";
        if (fwrite($log_handle, $somecontent) === FALSE)
        {
                 echo "Cannot write to file ($filename_error)";
           exit;
        }
        fclose($log_handle);
    }



    function frontEndLogger($UserName ,$queryPart1 )
    {
        //ddfix, get use ip and browser info too!
        $itis=date("Y:m:d, h:i:s A");
        global         $filename_base ;
        $filename_tracking =   $filename_base ."/logs/cf_frontendV3_daily_tracking.log";

        $somecontent = "$itis,$UserName || $queryPart1\n";

        // Let's make sure the file exists and is writable first.
        #if (is_writable($filename_tracking)) {

        // In our example we're opening $filename_tracking in append mode.
        // The file pointer is at the bottom of the file hence
        // that's where $somecontent will go when we fwrite() it.
        if (!$handle = fopen($filename_tracking, 'a'))
        {
             echo "Cannot open file ($filename_tracking)";
             exit;
        }

        // Write $somecontent to our opened file.
        if (fwrite($handle, $somecontent) === FALSE)
        {
           echo "Cannot write to file ($filename_tracking)";
           exit;
        }

        //echo "Success, wrote ($somecontent) to file ($filename_tracking)";
        fclose($handle);
    }
    function frontEndLoggerFullQuery($UserName ,$queryPart1 )
    {
        //ddfix, get use ip and browser info too!
        $itis=date("Y:m:d, h:i:s A");
        global         $filename_base ;
        $filename_tracking =   $filename_base ."/logs/cf_frontendV3_allquery_tracking.log";

        $somecontent = "$itis,$UserName || $queryPart1\n";

        // Let's make sure the file exists and is writable first.
        #if (is_writable($filename_tracking)) {

        // In our example we're opening $filename_tracking in append mode.
        // The file pointer is at the bottom of the file hence
        // that's where $somecontent will go when we fwrite() it.
        if (!$handle = fopen($filename_tracking, 'a'))
        {
             echo "Cannot open file ($filename_tracking)";
             exit;
        }

        // Write $somecontent to our opened file.
        if (fwrite($handle, $somecontent) === FALSE)
        {
           echo "Cannot write to file ($filename_tracking)";
           exit;
        }

        //echo "Success, wrote ($somecontent) to file ($filename_tracking)";
        fclose($handle);
    }

    function frontEndLoggerCSVQuery($UserName ,$queryPart1 )
    {
        //ddfix, get use ip and browser info too!
        $itis=date("Y:m:d, h:i:s A");
        global         $filename_base ;
        $filename_tracking =   $filename_base ."/logs/cf_frontend_allquery.csv";

        $somecontent = "\"$itis\"" . "," . "\"$UserName\"" .",". $queryPart1 ."\n";

        // Let's make sure the file exists and is writable first.
        #if (is_writable($filename_tracking)) {

        // In our example we're opening $filename_tracking in append mode.
        // The file pointer is at the bottom of the file hence
        // that's where $somecontent will go when we fwrite() it.
        if (!$handle = fopen($filename_tracking, 'a'))
        {
             echo "Cannot open file ($filename_tracking)";
             exit;
        }

        // Write $somecontent to our opened file.
        if (fwrite($handle, $somecontent) === FALSE)
        {
           echo "Cannot write to file ($filename_tracking)";
           exit;
        }

        //echo "Success, wrote ($somecontent) to file ($filename_tracking)";
        fclose($handle);
    }

    function frontNewErrorLogger( $in_module, $in_string, $in_query,$in_error)
    {
        global         $filename_base;

		// DAVID
		global         $PAGE;
		if (!$in_module && $PAGE && $PAGE['page']) $in_module = $PAGE['page'];

        $filename_error =   $filename_base ."/logs/FrontErrorV3.log";
        $theirip= $_SERVER['REMOTE_ADDR'];

        // In our example we're opening $filename_error in	append mode.
        if (!$log_handle	= fopen($filename_error, 'a'))
        {
            echo "Cannot open file	(   $filename_error)";
            exit;
        }
        $itis=date("Y-m-d,H:i:s");
        $somecontent	= "$itis,  $theirip | $in_module | $in_string | $in_error |SQL: $in_query\r\n";
        $somemessage="Sorry, there was an error and we were unable to continue processing.<br>   Message: $in_string.<br>For User: $theirip";
        if (fwrite($log_handle, $somecontent) === FALSE)
        {
                 echo "Cannot write to file ($filename_error)";
           exit;
        }
        fclose($log_handle);
        $redir = "messagewindowfront.php?NODB=TRUE&MessageText=$somemessage";

        Header ('Location:'.$redir);
        exit();
    }

    function frontNewErrorLoggerQuiet( $in_module, $in_string, $in_query,$in_error)
    {
    	//this is needed for ajax
        global         $filename_base     ;
        $filename_error =   $filename_base ."/logs/FrontErrorV3.log";
        $theirip= $_SERVER['REMOTE_ADDR'];

        // In our example we're opening $filename_error in	append mode.
        if (!$log_handle	= fopen($filename_error, 'a'))
        {
            echo "Cannot open file	(   $filename_error)";
            exit;
        }
        $itis=date("Y-m-d,H:i:s");
        $somecontent	= "$itis,  $theirip | $in_module | $in_string | $in_error |SQL: $in_query\r\n";
        $somemessage="Sorry, there was an error and we were unable to continue processing.<br>   Message: $in_string.<br>For User: $theirip";
        if (fwrite($log_handle, $somecontent) === FALSE)
        {
                 echo "Cannot write to file ($filename_error)";
           exit;
        }
        fclose($log_handle);
        //$redir = "messagewindowfront.php?NODB=TRUE&MessageText=$somemessage";

        //Header ('Location:'.$redir);
        //exit();
    }

    function frontDetroitLoggerQuiet( $in_module, $in_string, $in_query,$in_error)
    {
    	//this is needed for ajax
        global         $filename_base     ;
        $filename_error =   $filename_base . "/logs/cf_frontendV3_detroit_actions.log";
        $theirip= $_SERVER['REMOTE_ADDR'];

        // In our example we're opening $filename_error in	append mode.
        if (!$log_handle	= fopen($filename_error, 'a'))
        {
            echo "Cannot open file	(   $filename_error)";
            exit;
        }
        $itis=date("Y-m-d,H:i:s");
        $somecontent	= "$itis,  $theirip | $in_module | $in_string | $in_error |SQL: $in_query\r\n\r\n-----------------------------------------------------------------------\r\n";
        $somemessage="Sorry, there was an error and we were unable to continue processing.<br>   Message: $in_string.<br>For User: $theirip";
        if (fwrite($log_handle, $somecontent) === FALSE)
        {
                 echo "Cannot write to file ($filename_error)";
           exit;
        }
        fclose($log_handle);
        //$redir = "messagewindowfront.php?NODB=TRUE&MessageText=$somemessage";

        //Header ('Location:'.$redir);
        //exit();
    }



     //ddfix 5-4 put this one on side to set dual html
	//---------------------------------------
    //  Good Mailer front
    //---------------------------------------
    function MAILER_FRONT($fromname, $fromaddress, $toname, $toaddress, $subject, $message)
    {
		/*
		// To send HTML mail, you can set the Content-type header.
		$headers  = "MIME-Version: 1.0\r\n";
		$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

		//
		$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
		$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
		$headers .= "Cc: birthdayarchive@example.com\r\n";
		$headers .= "Bcc: birthdaycheck@example.com\r\n";
		*/
		// Copyright ? 2005 ECRIA LLC, http://www.ECRIA.com

		// Please use or modify for any purpose but leave this notice unchanged.
        $headers  = "MIME-Version: 1.0\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

        //   $headers .= "Content-type: text/plain; charset=iso-8859-1\n";
        $headers .= "X-Priority: 3\n";
        $headers .= "X-MSMail-Priority: Normal\n";
        $headers .= "X-Mailer: php\n";
        $headers .= "From: \"".$fromname."\" <".$fromaddress.">\n";
        $headers .= "Bcc: system.emails@CarFinder.com\r\n";  // ddnew ddfix

        //ddfix feb12
        global   $LIVEFLAG_FRONTMAIL;
        if ($LIVEFLAG_FRONTMAIL=="TEST")
        {
            $message=$message . "\r\n\r\n--  Warning -- TEST MODE -- Overrode address: " . $toaddress ." ---Name: " .$toname;
            return mail('damon@carfinder.com', $subject, $message, $headers);
        }
        else
            return mail($toaddress, $subject, $message, $headers);
    }

	//---------------------------------------
    //  Good Mail a letter
    //---------------------------------------
    function mailSingleVerifyLetter($leadID, $letterID)
    {

        global $CFS_LEADVERIFICATIONSTATUS_MAILED;
        // if $letter id not passed the letter name is verify_letter.txt else its verify_letter_(ID).txt
        $page_name="xx.php";
        if ($letterID !="")
            $letterID="_" . $letterID;
        // open database

        dbConnectFront();

        $sql =  " select * from cf_retailleads
                where
                rLeadID='" .  $leadID . "  limit (1)' ";

    	$result = mysql_query($sql)
			or  frontSuperV4Logger( $page_name, 'LCAT_MAIL'  ,'LEVN_XXX', 'LSEVYYY','[CFEB-345]', '[Mail Lead Fetch Error]', $sql,  mysql_errno(). ", " . mysql_error() );

//            or  frontNewErrorLogger($page_name, "[Dealer Fetch Error:CFEA-345]" , $sql,  mysql_errno(). ", " . mysql_error()  );

        // ddfix carriage returns
        $message = '';
		global $filename_base;

        $letterfile= $filename_base ."/data/marketing/verify_letter" . $letterID . ".txt" ;
        $data=file($letterfile)
			or  frontSuperV4Logger( $page_name, 'LCAT_MAIL'  ,'LEVN_XXX','LSEVYYY', '[CFEB-346]', '[Mail Lead File Fetch Error]', $letterfile,  "Couldnt open" );

//            or  frontNewErrorLogger($page_name, "[File open Error:CFEA-346]" , $letterfile, "Couldnt open"  );
        $sectionDivider=    "------------------------------------------------------<br>\r\n\r\n" ;

        foreach ($data as $line)
        {
            $message=$message .   $line . "<br>\r\n"  ;
        }

        $message=$message   . "<br>\r\n" ;



        //////////////// Now we will display the returned records in side the rows of the table/////////
        while($resultArray = mysql_fetch_array($result))
        {
            // MAIL_NVLP($fromname, $fromaddress, $toname, $toaddress, $subject, $message)

            $loc = dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']). '/verifyemail.php';
            $message=$message . "Unique Key:<b>" .$resultArray["rExtra"]. "</b><br>\r\n" . "\r\n <a href='" . $loc . "?frExtra=" . $resultArray["rExtra"] ."'>Click Here to Verify </a><br>\r\n";
            $message=$message . ".. or enter the following in your address bar and follow the directions: " .  $loc . "\r\n<br>";


            global $CFS_LEADTYPE_USED,$CFS_LEADTYPE_DIRECT	,$CFS_LEADTYPE_NEW_INTERNAL	;
            $rLeadType=$resultArray['rLeadType'];
            /*rLeadType
            CFS_LEADTYPE_USED	1	Used Search
            CFS_LEADTYPE_DIRECT	2	Specific Car
            CFS_LEADTYPE_NEW_INTERNAL	3	New Search
            CFS_LEADTYPE_NEW_EXTERNAL	4	Routed New
            */
            if ($rLeadType==$CFS_LEADTYPE_DIRECT)
            {
                $message=$message . $sectionDivider.  "<b>CarFinder.com - Specific Vehicle Inquiry:  </b><br> \r\n" ;
            }
            else if ($rLeadType==$CFS_LEADTYPE_USED)
            {
                $message=$message . $sectionDivider.  "<b>CarFinder.com - Preowned Vehicle Request:  </b><br> \r\n" ;
            }
            else if ($rLeadType==$CFS_LEADTYPE_NEW_INTERNAL)
            {
                $message=$message . $sectionDivider.  "<b>CarFinder.com - New Vehicle Price Quote:  </b><br> \r\n" ;
            }


            $message=$message .        $sectionDivider.
                                       "<b>Vehicle Details:  </b><br> \r\n" ;

            if ($rLeadType==$CFS_LEADTYPE_DIRECT)
            {
                $message=$message .
                "VIN          :"  .                      $resultArray['rCVIN'] . "  <br> \r\n"  ;
            }

            if ($resultArray['rMakeModelList']!="")
            {
                $message=$message .
                "Make & Model :"  . cfsMakeModelReformat($resultArray['rMakeModelList']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rYearsList']!="")
            {
                $message=$message .
                "Year(s)      :"  .                     str_replace("-1","ANY", $resultArray['rYearsList']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rVehicleTypeList']!="")
            {
                $message=$message .
                "Body Style   :"  . cfsMakeModelReformat($resultArray['rVehicleTypeList']) . "  <br> \r\n"  ;
            }

            if ($resultArray['rColor']!="")
            {
                $message=$message .
                "Color        :"  .                      $resultArray['rColor'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rTransmission']!="Any" && $resultArray['rTransmission']!="" )
            {
                $message=$message .
                "Transmission :"  .                      $resultArray['rTransmission'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rDriveTrain']!="Any" && $resultArray['rDriveTrain']!="")
            {
                $message=$message .
                "Drive Train  :"  .                      $resultArray['rDriveTrain'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rEngineList']!="Any" && $resultArray['rEngineList']!="")
            {
                $message=$message .
                "Engine List  :"  .                      $resultArray['rEngineList'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rMaxMileage']!=0 && $resultArray['rMaxMileage']!=-1)
            {
                $message=$message .
                "Maximum Mileage:" .                    $resultArray['rMaxMileage'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rAdditionalSearch']!="")
            {
                $message=$message .
                "Additional Search:"  .                      $resultArray['rAdditionalSearch'] . "  <br> \r\n"  ;
            }
            //Section 4 Person
            $message=$message .
            $sectionDivider .
            "<b>Customer Details:  </b><br> \r\n" ;


            $message=$message .
            "Name           :"  .                      $resultArray['rFirstName'] ." "   . $resultArray['rLastName'] . "  <br> \r\n"  ;

            if ($resultArray['rEMailAddress']!="")
            {
                $message=$message .
                "EMail          :"  .                      $resultArray['rEMailAddress'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rAreaCode']!="")
            {
                $message=$message .
                "Phone          :"  .                      $resultArray['rAreaCode'] ." ". $resultArray['rPhone'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rPhoneTime']!="")
            {
                $message=$message .
                "Best Time to Call:"  .                      $resultArray['rPhoneTime'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rPurchaseTimeFrame']!="")
            {
                $message=$message .
                "Purchase Time Frame:"  .   cfsListAnyReformat($resultArray['rPurchaseTimeFrame']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rFinancing']!="")
            {
                $message=$message .
                "Financing Required:"  .                      $resultArray['rFinancing'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rBudget']!=-1)
            {
                $message=$message .
                "Budget            :"  .    cfsBudgetReformat($resultArray['rBudget']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rTradeIn']!="")
            {
                $message=$message .
                "Trade In Notes    :"  .                      $resultArray['rTradeIn'] . "  <br> \r\n"  ;
            }

            $message=$message .              $sectionDivider .             "";

            $cEmail=$resultArray["rEMailAddress"];
            $cName=$resultArray["rFirstName"];

            //switched so it doesnt get stuck in hostgator mail server        MAIL_NVLP('Damonverifyletter', 'gti@redmill.com','Damon2mr customer','damon@carfinder.com','please verify your email',$message);
            //MAILER_FRONT($fromname, $fromaddress, $toname, $toaddress, $subject, $message)

            //MAILER_FRONT('Damonverifylettersalesname', 'nocurryforyou@redmill.com',$cName,$cEmail,'please verify your email',$message);
            //MAILER_FRONT('Damonverifyletter', 'sales@carfinder.com','Damon2mr customer','gti@redmill.com','please verify your email-' . $leadID,$message);

            //out5-31           MAILER_FRONT('CarFinder.com Support', 'lead.support@carfinder.com','Damons customer','testclient@redmill.com','CarFinder.com - Verify your email. Inquiry #' . $leadID,$message);
           MAILER_FRONT('CarFinder.com Support', 'lead.support@carfinder.com',$cName,$cEmail,'CarFinder.com - Verify your email. Inquiry #' . $leadID,$message);
        }
        $sql =  "update cf_retailleads
                set `rLeadVerificationStatus`=$CFS_LEADVERIFICATIONSTATUS_MAILED,
                    `rLeadVerificationTimeStamp`=now()
                where
                rLeadID='" .  $leadID . "' ";

    	$result = mysql_query($sql)
  			or  frontSuperV4Logger( $page_name, 'LCAT_MAIL'  ,'LEVN_XXX', 'LSEVYYY','[CFEB-347]', '[Update Lead Error]', $sql,  mysql_errno(). ", " . mysql_error() );
//          or  frontNewErrorLogger($page_name, "[Update Lead Error:CFEA-347]" , $sql,  mysql_errno(). ", " . mysql_error()  );

        //ddfix check for no rows
        // dd should have some status here
}

    //---------------------------------------
    // different mails for different passes?
    // this one uses leadlog
    // clean up may 3
    //---------------------------------------
    function mailleadtodealer($logid)
    {

        global $page_name;

        //outerjoin incase its a focused lead

        $sql=" SELECT cf_retaillead_log.*, cf_retailleads.*, cf_dealers.*,cf_vehicle_list_master.* From " .
               " cf_retaillead_log, cf_retailleads, cf_dealers " .

               " left join cf_vehicle_list_master on cf_retaillead_log.mCVIN=cf_vehicle_list_master.lmVIN " .

                " where cf_retaillead_log.mLeadLogID=$logid " .
                " and cf_retaillead_log.mxLeadID=cf_retailleads.rLeadID " .
                " and cf_retaillead_log.mLeadLogWhoID=cf_dealers.ID_FK " .
                "	LIMIT 1" ;
       	$rx = mysql_query($sql)
  			or  frontSuperV4Logger( $page_name, 'LCAT_MAILDEALER'  ,'LEVN_XXX', 'LSEVYYY','[CFEB-348]', '[Update Lead Query Error]', $sql,  mysql_errno(). ", " . mysql_error() );

//            or  frontNewErrorLogger($page_name, "[Lead Query Error:CFEA-348]" , $sql,  mysql_errno(). ", " . mysql_error()  );

		// just 1
        $resultArray = mysql_fetch_array($rx);
        $sectionDivider=    "------------------------------------------------------<br>\r\n\r\n" ;

        $message= "\r\n" .

        //Section 1 TO:
            "<b>CarFinder.com Customer Lead For: </b><br> \r\n" .
            ""                               . $resultArray['dLeadName'] . "  <br> \r\n"  .
            ""                               . $resultArray['dCompanyName'] . "  <br> \r\n"  .
            ""                               . $resultArray['dLeadEmail'] . "  <br> \r\n"  .
            ""                               . $resultArray['dLeadPhone'] . "  <br> \r\n"  .
            ""                               . $resultArray['dCity'] . ", " . $resultArray['dState'] . "  <br> \r\n"  .
            "Dealer ID(s)                :"  . $resultArray['mID_FK'] . " / " . $resultArray['mXS_FK'] . "  <br> \r\n"  .

        //Section 2 Lead Details
            $sectionDivider .
            "<b>Lead # " . $resultArray['rLeadID'] . " Details:  </b><br> \r\n" .
            "Lead Type                   :"  . cfsFormat($resultArray['rLeadRouterStatus']) . "  <br> \r\n"  .
            "Time/Date of Lead           :"  . $resultArray['rLeadTimeStampIn'] . "  <br> \r\n"  ;


            global $CFS_LEADTYPE_USED,$CFS_LEADTYPE_DIRECT	,$CFS_LEADTYPE_NEW_INTERNAL	;
            $rLeadType=$resultArray['rLeadType'];
            /*rLeadType
            CFS_LEADTYPE_USED	1	Used Search
            CFS_LEADTYPE_DIRECT	2	Specific Car
            CFS_LEADTYPE_NEW_INTERNAL	3	New Search
            CFS_LEADTYPE_NEW_EXTERNAL	4	Routed New
            */
            if ($rLeadType==$CFS_LEADTYPE_DIRECT)
            {
                $message=$message . $sectionDivider.  "<b>CarFinder.com - Specific Vehicle Inquiry:  </b><br> \r\n" ;
            }
            else if ($rLeadType==$CFS_LEADTYPE_USED)
            {
                $message=$message . $sectionDivider.  "<b>CarFinder.com - Preowned Vehicle Request:  </b><br> \r\n" ;
            }
            else if ($rLeadType==$CFS_LEADTYPE_NEW_INTERNAL)
            {
                $message=$message . $sectionDivider.  "<b>CarFinder.com - New Vehicle Price Quote:  </b><br> \r\n" ;
            }


            $message=$message .        $sectionDivider.
                                       "<b>Vehicle Details:  </b><br> \r\n" ;

            if ($rLeadType==$CFS_LEADTYPE_DIRECT)
            {
                $message=$message .
                "VIN          :"  .                      $resultArray['rCVIN'] . "  <br> \r\n"  ;
            }

            if ($resultArray['rMakeModelList']!="")
            {
                $message=$message .
                "Make & Model :"  . cfsMakeModelReformat($resultArray['rMakeModelList']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rYearsList']!="")
            {
                $message=$message .
                "Year(s)      :"  .                     str_replace("-1","ANY", $resultArray['rYearsList']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rVehicleTypeList']!="")
            {
                $message=$message .
                "Body Style   :"  . cfsMakeModelReformat($resultArray['rVehicleTypeList']) . "  <br> \r\n"  ;
            }

            if ($resultArray['rColor']!="")
            {
                $message=$message .
                "Color        :"  .                      $resultArray['rColor'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rTransmission']!="Any" && $resultArray['rTransmission']!="" )
            {
                $message=$message .
                "Transmission :"  .                      $resultArray['rTransmission'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rDriveTrain']!="Any" && $resultArray['rDriveTrain']!="")
            {
                $message=$message .
                "Drive Train  :"  .                      $resultArray['rDriveTrain'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rEngineList']!="Any" && $resultArray['rEngineList']!="")
            {
                $message=$message .
                "Engine List  :"  .                      $resultArray['rEngineList'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rMaxMileage']!=0 && $resultArray['rMaxMileage']!=-1)
            {
                $message=$message .
                "Maximum Mileage:" .                    $resultArray['rMaxMileage'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rAdditionalSearch']!="")
            {
                $message=$message .
                "Additional Search:"  .                      $resultArray['rAdditionalSearch'] . "  <br> \r\n"  ;
            }
            //Section 4 Person
            $message=$message .
            $sectionDivider .
            "<b>Customer Details:  </b><br> \r\n" ;


            $message=$message .
            "Name           :"  .                      $resultArray['rFirstName'] ." "   . $resultArray['rLastName'] . "  <br> \r\n"  ;

            if ($resultArray['rEMailAddress']!="")
            {
                $message=$message .
                "EMail          :"  .                      $resultArray['rEMailAddress'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rAreaCode']!="")
            {
                $message=$message .
                "Phone          :"  .                      $resultArray['rAreaCode'] ." ". $resultArray['rPhone'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rPhoneTime']!="")
            {
                $message=$message .
                "Best Time to Call:"  .                      $resultArray['rPhoneTime'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rPurchaseTimeFrame']!="")
            {
                $message=$message .
                "Purchase Time Frame:"  .   cfsListAnyReformat($resultArray['rPurchaseTimeFrame']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rFinancing']!="")
            {
                $message=$message .
                "Financing Required:"  .                      $resultArray['rFinancing'] . "  <br> \r\n"  ;
            }
            if ($resultArray['rBudget']!=-1)
            {
                $message=$message .
                "Budget            :"  .    cfsBudgetReformat($resultArray['rBudget']) . "  <br> \r\n"  ;
            }
            if ($resultArray['rTradeIn']!="")
            {
                $message=$message .
                "Trade In Notes    :"  .                      $resultArray['rTradeIn'] . "  <br> \r\n"  ;
            }




//            $loc = dirname('http://dealers.carfindee';
//            $message=$message . "Unique Key:<b>" .$resultArray["rExtra"]. "</b><br>\r\n" . "\r\n <a href='" . $loc . "?frExtra=" . $resultArray["rExtra"] ."'>Click Here to Verify </a><br>\r\n";

        //Section 5 Disclaimer
            $message=$message .
            $sectionDivider .
            "<b>CarFinder.com</b> <br>\r\n" .
            "<a href=\"http://dealers.carfinder.com/home.html\" >Dealer Dashboard: http://dealers.carfinder.com/home.html</a> <br>\r\n" .
            "Dealer Support: (888) 227-6855 <br>\r\n" .
            "dealer.support@CarFinder.com <br>\r\n".
            "<br> \r\nPLEASE READ: This message is for the named company's use only. It may contain confidential or proprietary information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please delete it and all copies and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient.\r\n" .
             "" ;

//kill
/*
            "mLeadLogWhoID               :"  . $resultArray['mLeadLogWhoID'] . " <br> <br> \r\n"  .
            "mLeadLogWhoType             :"  . cfsFormat($resultArray['mLeadLogWhoType']) . " <br> <br> \r\n"  .
            "mLeadLogTimeStamp           :"  . $resultArray['mLeadLogTimeStamp'] . " <br> <br> \r\n"  .
            "mLeadLogActivityType        :"  . cfsFormat($resultArray['mLeadLogActivityType']) . " <br> <br> \r\n"  .
            "mxLeadID                    :"  . $resultArray['mxLeadID'] . " <br> <br> \r\n"  .
            "rLeadID                     :"  . $resultArray['rLeadID'] . " <br> <br> \r\n"  .
            "rLatitude                   :"  . $resultArray['rLatitude'] . " <br> <br> \r\n"  .
            "rLongitude                  :"  . $resultArray['rLongitude'] . " <br> <br> \r\n"  .
            "rContactMethod              :"  . $resultArray['rContactMethod'] . " <br> <br> \r\n"  .
            "rMaxDistanceToDealer        :"  . $resultArray['rMaxDistanceToDealer'] . " <br> <br> \r\n"  .
            "rClientFollowUpNotes        :"  . $resultArray['rClientFollowUpNotes'] . " <br> <br> \r\n"  .
            "rPricingNotes               :"  . $resultArray['rPricingNotes'] . " <br> <br> \r\n"  .
            "rLocatorNotes               :"  . $resultArray['rLocatorNotes'] . " <br> <br> \r\n"  .
            "rLeadVerificationStatus     :"  . cfsFormat($resultArray['rLeadVerificationStatus']) . " <br> <br> \r\n"  .
            "rLeadType                   :"  . cfsFormat($resultArray['rLeadType']) . " <br> <br> \r\n"  .
            "rLeadVerificationTimeStamp  :"  . $resultArray['rLeadVerificationTimeStamp'] . " <br> <br> \r\n"  .
            "rLeadSentCount              :"  . $resultArray['rLeadSentCount'] . " <br> <br> \r\n"  .
            "rLeadSentMax                :"  . $resultArray['rLeadSentMax'] . " <br> <br> \r\n"  .
            "ID_FK                       :"  . $resultArray['ID_FK'] . " <br> <br> \r\n"  .
            "dDS_XREF                    :"  . $resultArray['dDS_XREF'] . " <br> <br> \r\n"  .
            "dCriteriaStates             :"  . $resultArray['dCriteriaStates'] . " <br> <br> \r\n"  .
            "dCriteriaAreaCodes          :"  . $resultArray['dCriteriaAreaCodes'] . " <br> <br> \r\n"  .
            "dLastLeadNumber             :"  . $resultArray['dLastLeadNumber'] . " <br> <br> \r\n"  .
            "dLastLeadDateSent           :"  . $resultArray['dLastLeadDateSent'] . " <br> <br> \r\n"  .
            "dTotalLeads                 :"  . $resultArray['dTotalLeads'] . " <br> <br> \r\n"  .
            "dDealerStatus               :"  . $resultArray['dDealerStatus'] . " <br> <br> \r\n"  .

            "Contact                     :"  . $resultArray['dContactName'] . " <br> <br> \r\n"  .
            "dContactEmail               :"  . $resultArray['dContactEmail'] . " <br> <br> \r\n"  .
            "dContactPhone               :"  . $resultArray['dContactPhone'] . " <br> <br> \r\n"  .
            "dBusinessPhone              :"  . $resultArray['dBusinessPhone'] . " <br> <br> \r\n"  .
            "dBusinessPhone2             :"  . $resultArray['dBusinessPhone2'] . " <br> <br> \r\n"  .
            "dFax                        :"  . $resultArray['dFax'] . " <br> <br> \r\n"  .
            "dWebSite                    :"  . $resultArray['dWebSite'] . " <br> <br> \r\n"  .
            "dAddress                    :"  . $resultArray['dAddress'] . " <br> <br> \r\n"  .
            "dZip                        :"  . $resultArray['dZip'] . " <br> <br> \r\n"  .
            "dLatitude                   :"  . $resultArray['dLatitude'] . " <br> <br> \r\n"  .
            "dLongitude                  :"  . $resultArray['dLongitude'] . " <br> <br> \r\n"  .
            "dComments                   :"  . $resultArray['dComments'] . " <br> <br> \r\n"  ;
*/
        //echo "Result $message  <br>";

//          MAILER_FRONT($fromname, $fromaddress, $toname, $toaddress, $subject, $message)
//          MAILER_FRONT('Damon', 'gti@redmill.com','Damon2','nocurryforyou@redmill.com','here is a focused lead you dopeaaa',$message);

//            MAILER_FRONT('Lead Services', 'cs@carfinder.com',"'". $resultArray['dLeadName']. "'" ,'testdealer@redmill.com','CarFinder.com Vehicle Lead #' . $resultArray['mxLeadID'],$message);

            MAILER_FRONT('CarFinder.com Support', 'lead.support@carfinder.com', $resultArray['dLeadName'] , $resultArray['dLeadEmail'] ,'CarFinder.com Vehicle Lead #' . $resultArray['mxLeadID'],$message);

    }




//////////

    //---------------------------------------
    // Send a mail when a contact gets update or something
    // 2 keys contactid or key/email  params have to be empty for contactid to use key/email
    //---------------------------------------
    function mailcontactupdateinfo($contactid,$key, $cref,$comment)
    {

        global $page_name;

        // this wont pick up cf info if the ID_FK key is not set in the contact log
        //ddfix make sure you set the data as part of the convert
        if ($contactid !="")
            $whereClause="where wWorkID='". $contactid . "' limit 1 " ;
        else
            $whereClause="where wExtra='". $key . "' and wWorkID='" . $cref . "' limit 1 " ;

//            $whereClause="where wExtra='". $key . "' and wEmail='" . $email . "' limit 1 " ;

        $query=" SELECT
    	        cf_contact_log.*, cf_lot_master.* , cf_dealers.* ,cf_lot_permdata.*
                    from    cf_contact_log
    	        left join    cf_lot_master on cf_contact_log.wXS_FK=cf_lot_master.mmXS_FK
    	        left join cf_lot_permdata on cf_contact_log.wXS_FK=cf_lot_permdata.hXS_FK
    			left join  cf_dealers on cf_contact_log.ID_FK=cf_dealers.ID_FK " .
    			 $whereClause;

        $result=mysql_query($query)
  			or  frontSuperV4Logger( $page_name, 'LCAT_MAILUPDATE'  ,'LEVN_XXX','LSEVYYY', '[CFEB-480]', '[Lead Query Error]', $query,  mysql_errno(). ", " . mysql_error() );
//            or frontNewErrorLogger($page_name, "[Lead Query Error:CFEA-480]" , $query,  mysql_errno(). ", " . mysql_error()  );

        $num_rows = mysql_num_rows($result);
        if ($num_rows==0)
        {
            //frontNewErrorLogger($page_name, "[Lead Query Error:CFEA-481]" , "Error recording your activity",  $query  );
   			frontSuperV4Logger( $page_name, 'LCAT_MAILUPDATE'  ,'LEVN_XXX','LSEVYYY', '[CFEB-481]', '[Lead Query Error]', $query,   "Error recording your activity" );

            //exit();
        }

        //////////////// Fetch and load
        $resultArray = mysql_fetch_array($result);

        $sectionDivider=    "------------------------------------------------------<br>\r\n\r\n" ;
        //Section 1 TO:

        $message= "\r\n" .

            "<b>CarFinder.com Contact Activity: </b><br> \r\n" .
            "<b>"                               . $comment . "  </b><br> \r\n"  .
            "Work ID:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wWorkID'] . "  </b><br> \r\n"  .
            "DS ID:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wXS_FK'] . "  </b><br> \r\n"  .
            "wActivityCode:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wActivityCode'] . "  </b><br> \r\n"  .
            "wStartTimeStamp:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wStartTimeStamp'] . "  </b><br> \r\n"  .
            "wComment:&nbsp;&nbsp;&nbsp;<b>"                        .str_replace("\r\n","<br>", $resultArray['wComment']) . "  </b><br> \r\n"  .
            "wCampaignID:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wCampaignID'] . "  </b><br> \r\n"  .
            "wName:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wName'] . "  </b><br> \r\n"  .
            "wPhone:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wPhone'] . "  </b><br> \r\n"  .
            "wEmail:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wEmail'] . "  </b><br> \r\n"  .
            "wProcessedByUserName:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wProcessedByUserName'] . "  </b><br> \r\n"  .
            "wProcessedByUserID:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wProcessedByUserID'] . "  </b><br> \r\n"  .
            "wProcessedTimeStamp:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wProcessedTimeStamp'] . "  </b><br> \r\n"  .
            "wProcessedState:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wProcessedState'] . "  </b><br> \r\n"  .
            "wExtra:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wExtra'] . "  </b><br> \r\n"  .
            "wResponse1:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wResponse1'] . "  </b><br> \r\n"  .
            "wResponse2:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['wResponse2'] . "  </b><br> \r\n"  .

        //Section 2 ds  Details
            "<b>CarFinder.com LOT  DATA </b><br> \r\n" .

            $sectionDivider .
            "XS_FK:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmXS_FK'] . "  </b><br> \r\n"  .
           "Dealer Name:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmDealerName'] . "  </b><br> \r\n"  .
           "Dealer Address:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmDealerAddress1'] . "  </b><br> \r\n"  .
           "Dealer City:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmCity'] . "  </b><br> \r\n"  .
           "Dealer State:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmState'] . "  </b><br> \r\n"  .
           "Dealer Zip:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmZip'] . "  </b><br> \r\n"  .
           "Dealer Email:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmEmail'] . "  </b><br> \r\n"  .
           "Dealer Website:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmWebsite'] . "  </b><br> \r\n"  .
           "Dealer Contact:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['mmContact'] . "  </b><br> \r\n"  .



        //Section 2 CF DS Details
            $sectionDivider .
     "<b>CarFinder.com CF DS DATA </b><br> \r\n" .

           "hXS_FK:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hXS_FK'] . "  </b><br> \r\n"  .
           "hLOTURL_FIXED:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hLOTURL_FIXED'] . "  </b><br> \r\n"  .
           "hPHONE_FIXED:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hPHONE_FIXED'] . "  </b><br> \r\n"  .
           "hWebsiteCount:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hWebsiteCount'] . "  </b><br> \r\n"  .
           "hViewAllCount:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hViewAllCount'] . "  </b><br> \r\n"  .
           "hDateAdded:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hDateAdded'] . "  </b><br> \r\n"  .
           "hDateUpdated:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hDateUpdated'] . "  </b><br> \r\n"  .
           "hTotalSearches:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hTotalSearches'] . "  </b><br> \r\n"  .
           "hTotalViews:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hTotalViews'] . "  </b><br> \r\n"  .
           "hPHONE_FIXED:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hPHONE_FIXED'] . "  </b><br> \r\n"  .
           "hCONTACT_FIXED:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hCONTACT_FIXED'] . "  </b><br> \r\n"  .
           "hEMAIL_FIXED:&nbsp;&nbsp;&nbsp;<b>"                        . $resultArray['hEMAIL_FIXED'] . "  </b><br> \r\n"  .

"";
/*
        Dealer is viewing their inventory	list.php		(dealers)
        Dealer updated their contact info 	litedealerselfeditdb.php (dealers)
        Please Contact Dealer		cfcontactfrontfromemaildb.php   (dealersupport)
        New Dealer Request		cfcontactfrontaddupdate.php     (dealersupport)
*/

        //params MAILER_FRONT($fromname, $fromaddress, $toname, $toaddress, $subject, $message)

        if ($comment=="Dealer is viewing their inventory"  || $comment=="Dealer updated their contact info")
            MAILER_FRONT('dealers@carfinder.com', 'dealers@carfinder.com','dealers@carfinder.com' ,'dealers@carfinder.com' ,$comment ." (".$resultArray['wWorkID'] .")-".$resultArray['mmDealerName'],$message);
        else
            MAILER_FRONT('CarFinder.com Dealer Support', 'dealer.support@carfinder.com','dealer.support@carfinder.com' ,'dealer.support@carfinder.com' ,$comment ." (".$resultArray['wWorkID'] .")-".$resultArray['mmDealerName'],$message);
    }

?>