<?php
	function sendFormMail( $form_mail, $sFileName = "" ,$totalfields,$ack="" )
	{
		global $email, $subject,$return_subject,$return_msg,$record_file,$email_from;
		global $_POST;
		$from = $email_from;
		$sWhatToDo = $sFileName ? "mailandfile" : "" ;
	
		for( $i = 0; $i < count( $form_mail ) ; $i ++ ){
			$value = $_POST[$form_mail[ $i ][ "name" ]];
			if($form_mail[ $i ][ "type" ]=="CheckBox")
			{
				$val="";
				if(isset($value) && is_array($value)) {
					foreach($value as $of)
					{
						$val.=$of.", ";
					}
					$content .= $form_mail[ $i ][ "text" ] . " \t : " . $val ."<br>";
					$line .= remove_newline( $val ) . "\t" ;
				}
			}
			else
			{
				$content .= $form_mail[ $i ][ "text" ] . " \t : " . $value ."<br>";
				$line .= remove_newline( $value ) . "\t" ;
			}
		}
		$to=$email;
		mailAttachments( $to , $subject , $content,  $from) ;
		if(strtolower($sWhatToDo)=="mailandfile")
		{
			if( ! appendToFile( $sFileName, $line ) )
				die("\n\nWrite Form Mail to File Fail." );
		}
		if(trim($ack)!="") {
			mailAutoResponse(trim($ack),$from) ;
		}
	}

//-------------------------------------------------------------------

	function mailAutoResponse($to,$from){
		global $esh_formmail_return_subject,$esh_formmail_return_msg,$email;
		if( $to!="" && $esh_formmail_return_subject!="" ){
			$mail = new PHPMailer();
			$mail->From = $from;
			$mail->FromName = "Form Module";
			$mail->AddAddress($to);
			$mail->WordWrap = 50;
			$mail->IsHTML(true);
			$mail->Subject = $esh_formmail_return_subject;
			$mail->Body = nl2br($esh_formmail_return_msg);
			if(!$mail->Send())
			{
			   echo "Message could not be sent. <p>";
			   echo "Mailer Error: " . $mail->ErrorInfo;
			 //  exit;
			}
		}
	}
	
//------------------------------------------------------------------------------------------

	function remove_newline( $str = "" ){
		//$newliner = "<!--esh_newline-->" ; // replace \r\n with $newliner ;
		//$newtaber = "<!--esh_newtaber-->" ; // replace \t with $newtaber ;
		$newliner = "" ; // replace \r\n with $newliner ;
		$newtaber = "" ; // replace \t with $newtaber ;
		$str = ereg_replace( "\t", $newtaber, $str );
		$str = ereg_replace( "\r\n", $newliner, $str );
		return ereg_replace( "\n", $newliner, $str );
	}

// -------------------------- Begin Mail Attachment Functions ------------------------------

	function mailAttachments($to = "", $subject = "", $message = "", $from){
		global $_FILES ;
		$mail = new PHPMailer();
		
		$mail->From = $from;
		$mail->FromName = "Form Maker";
		$mail->AddAddress($to);
		$mail->WordWrap = 50;
		foreach( $_FILES as $aFile )
		{
			$sFileName = $aFile[ "tmp_name" ] ;
			$sFileRealName = $aFile[ "name" ] ;
			$mail->AddAttachment($sFileName, $sFileRealName);
		}
		$mail->IsHTML(true);
		$mail->Subject = $subject;
		$mail->Body = $message;
		if(!$mail->Send())
		{
		   echo "Message could not be sent. <p>";
		   echo "Mailer Error: " . $mail->ErrorInfo;
		 //  exit;
		}
	}

//-----------------------------------------------------------------------------

	function appendToFile( $sFileName = "", $line = "" ){
		if( !$sFileName || !$line ) return 0;
		$hFile = fopen( "$sFileName", "a+w" );
		$nBytes = 0;
		if( $hFile ){
			$nBytes = fputs( $hFile , trim($line)."\r\n" );
			fclose( $hFile );
		};
		return $nBytes ;
	}
?>