Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Super Contact us enhancement 1.0


John-Peter

Recommended Posts

Hi, I tried it but it didn't work s. But could you plese sned the whole page? I could do just copy and paste.

 

Please

 

Thank you

I have other addons installed that would cause the page to not open.

Link to comment
Share on other sites

  • Replies 339
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

I am not receiving mails from the form.

 

Can anybody tel me please what could be wrong?

 

Thank you very much.

 

I have the same problem, but my domain is not moved to this new host. All emails sent from the contact_us form to [email protected] are not working, but if I change in admin interface, the email adress to [email protected] or yahoo.com..etc, is working fine. I think, in my case, the error is because I have not yet moved my domain to that host.

 

But, strange, despite the fact that my domain is not yet moved, I receive emails at [email protected] when I make an order, when I send email from admin interface and when I create an account, but not from contact_us form.

 

And, about my problem, with the fields not autocompleting with the info from the db?

Link to comment
Share on other sites

  • 3 weeks later...

Hi Everyone

 

Whenever i select a person to send an email to from the pull down menu it keeps sending email to just one person as defined in configuration of oscommerce. Even though i have setup the email addresses for the pull down menu. Keeps sending email to only one person which is local email of oscommerce.

 

If i have different email address for different departments in the pull down menu how do i get the email send to that person please or that is a function that is not in this contribution?

Link to comment
Share on other sites

  • 4 weeks later...

Hello,

 

I just installed v1.42 and it installed fine and seems to work great except for one issue. I am sometimes getting double emails, but emails are not going to the designated addresses? I have Web <[email protected]>, Tech <[email protected]>, Sales <[email protected]>, Billing <[email protected]>. Main email in configuration is [email protected]. No matter which radial button you choose in contact us, all mail goes to defaul [email protected]?

 

Thanks JR

Link to comment
Share on other sites

Hello,

 

I just installed v1.42 and it installed fine and seems to work great except for one issue. I am sometimes getting double emails, but emails are not going to the designated addresses? I have Web <[email protected]>, Tech <[email protected]>, Sales <[email protected]>, Billing <[email protected]>. Main email in configuration is [email protected]. No matter which radial button you choose in contact us, all mail goes to defaul [email protected]?

 

Thanks JR

I take it you have these addresses in Set "Contact Us" Email List in admin. Try it without spaces.

Link to comment
Share on other sites

Hello,

 

Thank you for that suggestion. Sorry, I did forget to mention, I did try that, still same issue. All emails go to main email address set up in configuration.

 

Thanks JR

Hmm, I have Contact Us Super Enhancement V1.3

Link to comment
Share on other sites

Hello,

 

We'll as soon as I get back from my Star Bucks run, I will try 1.3, see what happens. What version of OSC are you using?

 

Thanks JR

osc 2.2 patched to RC1

Link to comment
Share on other sites

Hello,

 

Thanks again for the reply. I am using OSC RC1. Which patch are you using?

 

Thanks JR

What I meant was I have patched my older version to RC1.

Link to comment
Share on other sites

Great contribution ! Thnx, but I have a little problem: autocompleting input fields is not working on my page when the customer is logged in.

If I replace <?php echo tep_draw_input_field('name'); ?> with <?php echo $name;?> it gives me the name of the customer pulled from the db, but obviously, there is no input field, so, I think the query is correct.

 

Any ideas? Everything else is working.

 

I've been playing with this contrib today - worked out the code retrieved the customers details if logged in - but couldn't see what it did with them (which led me to this thread) - I don't think it does.

 

So, if you replace

 

<?php echo tep_draw_input_field('name'); ?>

 

with

 

<?php echo tep_draw_input_field('name', $name) ; ?>

 

that will autofill the customers name in the field. You can do the same for the email address. You can even make the box size larger by using:

 

<?php echo tep_draw_input_field('name', $name, 'style="width: 300px"') ; ?>

Link to comment
Share on other sites

  • 2 weeks later...

I think i have correctly installed Contact Us Super Enhancement V1.4, but when I submit the form by clicking "send", it goes wrong with red highlighted message on the header:

Your E-Mail Address does not appear to be valid - please make any necessary corrections.

 

so where could be the problem for this? any wrong in installation? Help please,thanks!

 

 

Thomas

Link to comment
Share on other sites

I think i have correctly installed Contact Us Super Enhancement V1.4, but when I submit the form by clicking "send", it goes wrong with red highlighted message on the header:

Your E-Mail Address does not appear to be valid - please make any necessary corrections.

 

so where could be the problem for this? any wrong in installation? Help please,thanks!

Thomas

 

 

sorry, but i have resolved the problem, anyway, thanks for you guys !

Link to comment
Share on other sites

I think i have correctly installed Contact Us Super Enhancement V1.4, but when I submit the form by clicking "send", it goes wrong with red highlighted message on the header:

Your E-Mail Address does not appear to be valid - please make any necessary corrections.

 

so where could be the problem for this? any wrong in installation? Help please,thanks!

Thomas

Did you set up a valid email address?

Sorry, your reply came through while I was typing. What was the problem?

Edited by Coopco
Link to comment
Share on other sites

I'm getting the same error...Your E-Mail Address does not appear to be valid - please make any necessary corrections.

I have not been able to resolve this problem. Any help would be appreciated.

 

Here is my modified code

 

<?php
/*
 $Id: contact_us.php,v 1.42 2003/06/12 12:17:07 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CONTACT_US);

 $error = false;
 if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) {
$name = tep_db_prepare_input($HTTP_POST_VARS['name']);
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
// BOF Super Contact us enhancement 1.41
	$order_id = tep_db_prepare_input($HTTP_POST_VARS['order_id']);
	if ($order_id <> NULL){
			$enquiry = 'Order ID: ' . $order_id . "\n\n" . tep_db_prepare_input($HTTP_POST_VARS['enquiry']);
	}else{
		$enquiry = tep_db_prepare_input($HTTP_POST_VARS['enquiry']);
	}

	$emailsubject = tep_db_prepare_input($HTTP_POST_VARS['reason']) . ' ' . EMAIL_SUBJECT;
	if (tep_validate_email($email_address)) {
		tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $emailsubject, $enquiry, $name, $email_address);
	if (CONTACT_US_LIST !=''){
		$send_to_array=explode("," ,CONTACT_US_LIST);
		preg_match('/\<[^>]+\>/', $send_to_array[$send_to], $send_email_array);
		$send_to_email= eregi_replace (">", "", $send_email_array[0]);
		$send_to_email= eregi_replace ("<", "", $send_to_email);

		tep_mail(preg_replace('/\<[^*]*/', '', $send_to_array[$send_to]), $send_to_email, $emailsubject, $enquiry, $name, $email_address);
	}else{
	  //tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success'));
	  tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=send'));
	}
// EOF Super Contact us enhancement 1.41
} else {
  $error = true;

  $messageStack->add('contact', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
}
 }

 $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CONTACT_US));
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="0" cellpadding="0">
 <tr>
  <td class="col_left">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</td>
<!-- body_text //-->
<td width="100%" class="col_center"><?php echo tep_draw_form('contact_us', tep_href_link(FILENAME_CONTACT_US, 'action=send')); ?>
	<table border="0" width="100%" cellspacing="0" cellpadding="0">

	<tr><td>

<? tep_draw_heading_top();?>

<? new contentBoxHeading_ProdNew($info_box_contents);?>

<? tep_draw_heading_top_1();?>

  <table cellpadding="0" cellspacing="0" border="0" width="100%">
		  <tr>
			<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
		  </tr>
	<?php
	  if ($messageStack->size('contact') > 0) {
	?>
		  <tr>
			<td><?php echo $messageStack->output('contact'); ?></td>
		  </tr>
		  <tr>
			<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
		  </tr>
	<?php
	  }

	  if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) {
	?>
		  <tr>
			<td class="main" align="center"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_man_on_board.gif', HEADING_TITLE, '0', '0', 'align="left"') . TEXT_SUCCESS; ?></td>
		  </tr>
		  <tr>
			<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
		  </tr>
		  <tr>
			<td><table border="0" width="100%" cellspacing="0" cellpadding="2" class="infoBox">
			  <tr class="infoBoxContents">
				<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
				  <tr>
					<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
					<td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
					<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
				  </tr>
				</table></td>
			  </tr>
			</table></td>
		  </tr>
		 </table>
<!-- BOF Super Contact us enhancement 1.41 //-->
<?php
 } else {
 if (tep_session_is_registered('customer_id')) {
$account_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customer_id . "'");
$account = tep_db_fetch_array($account_query);

$name = $account['customers_firstname'] . ' ' . $account['customers_lastname'];
$email = $account['customers_email_address'];
 }
?>
<tr><td>

<table cellpadding="0" cellspacing="0" border="0" width="100%"> 
		 <tr>
			<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
			  <tr class="infoBoxContents">
				<td><table border="0" width="100%" cellspacing="5" cellpadding="2"><?php echo nl2br(STORE_NAME_ADDRESS); ?></b><br><br>
			<?php echo (OPENING_HOURS); ?><br><br></td>
			<td class="main" valign="top" width="60%"><?php echo ENTRY_NAME; ?><br>
				<?php echo tep_draw_input_field('name'); ?><br />
				<?php echo ENTRY_EMAIL; ?><br>
				<?php echo tep_draw_input_field('email'); ?><br />
				<?php echo ENTRY_ORDER_ID; ?><br>
				<?php echo tep_draw_input_field('order_id'); ?><br />
				<?php
												   if (CONTACT_US_LIST !=''){
				  echo SEND_TO_TEXT . '<br>';
							  if(SEND_TO_TYPE=='radio'){
							  foreach(explode("," ,CONTACT_US_LIST) as $k => $v) {
						   if($k==0){
				$checked=true;
				}else{
				$checked=false;
				}
				echo tep_draw_radio_field('send_to', "$k", $checked). " " .preg_replace('/\<[^*]*/', '', $v);
						  }

									}else{
						  foreach(explode("," ,CONTACT_US_LIST) as $k => $v) {
					$send_to_array[] = array('id' => $k, 'text' => preg_replace('/\<[^*]*/', '', $v));
				 }
													   echo tep_draw_pull_down_menu('send_to',  $send_to_array);
									 }

									echo('<br>');
									}
																  ?>
																<?php echo ENTRY_REASON; ?><br>
				<select name="reason">
					<?php echo '<option value="' . REASONS1 . '">' . REASONS1 . '</option>'; ?>
					<?php echo '<option value="' . REASONS2 . '">' . REASONS2 . '</option>'; ?>
					<?php echo '<option value="' . REASONS3 . '">' . REASONS3 . '</option>'; ?>
					<?php echo '<option value="' . REASONS4 . '">' . REASONS4 . '</option>'; ?>
					<?php echo '<option value="' . REASONS5 . '">' . REASONS5 . '</option>'; ?>
					<?php echo '<option value="' . REASONS6 . '">' . REASONS6 . '</option>'; ?>

				</select><br />
				<?php echo ENTRY_ENQUIRY; ?><BR>
				<?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15, tep_sanitize_string($_POST['enquiry']), '', false); ?>
				</td>
							  </tr>
							</table>
							<table cellpadding="0" cellspacing="0" border="0" width="100%">
								<tr><td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td></tr>
							</table>
							<table border="0" width="100%" cellspacing="0" cellpadding="2">
								  <tr>
									<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
									<td align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>
									<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
								  </tr>
							</table>
							<table cellpadding="0" cellspacing="0" border="0" width="100%">
								<tr><td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td></tr>
							</table>
							</td>
						  </tr>
						</table></td>
					  </tr>
				</table>


		<?php
		  }
?>
<!-- EOF Super Contact us enhancement 1.41 //-->


<?php tep_draw_heading_bottom_1();?>					

<?php tep_draw_heading_bottom();?>

		</td></tr>
	</table>
</form></td>

<!-- body_text_eof //-->
<td class="col_right">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
</td>
 </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //--></body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Edited by datafortress
Link to comment
Share on other sites

I'm getting the same error...Your E-Mail Address does not appear to be valid - please make any necessary corrections.

I have not been able to resolve this problem. Any help would be appreciated.

So what e-mail address are you using? The error is Your E-Mail Address does not appear to be valid - please make any necessary corrections.

Link to comment
Share on other sites

So, if you replace

 

<?php echo tep_draw_input_field('name'); ?>

 

with

 

<?php echo tep_draw_input_field('name', $name) ; ?>

 

that will autofill the customers name in the field. You can do the same for the email address.

 

Thank you. It works like a charm !

Link to comment
Share on other sites

  • 2 weeks later...
So what e-mail address are you using? The error is Your E-Mail Address does not appear to be valid - please make any necessary corrections.

I'm also getting the "Your E-Mail Address does not appear to be valid - please make any necessary corrections." message. I've tried with two valid email addresses and two invented email addresses. Maybe I've messed up the install, but the install instructions were very clear, so I doubt it.

 

The email is still sent, but I get the error message.

 

Edited to add that I get the error message in both IE6 & Firefox

Edited by Davefromcornwall
Link to comment
Share on other sites

  • 4 weeks later...

Patience is a virtue

 

 

To all those having the problem of the success page not showing after clicking continue, and then not apparently receiving emails.....

 

I have spent the last 24 hours wrestling with this and a few things have come to light -

 

- What I thought was emails not arriving, appears to be a very slow passing of the email from the send function to the host for routing

- e.g. one of the first test emails, sent at around 11pm one evening, did not turn up until 11am the next morning (I have a suspicion about the 12 hour gap that maybe there is a server clock set for a.m. instead of p.m.

- however, test mails the following morning were taking 30 - 45 minutes to route through, instead of the 5-10 minutes for osC native mailing such as the send email function in admin, or the create account email for a new customer.

 

- Another "issue" surfaced with regard to the osC Admin Configuration for emails - with "Check emails against DNS server" set to false, the emails from Super Contact Us took forever to route, but with the DNS entry set to true they were routing and received in under 20 minutes (local network mail server collect mail period settings are 15 minute intervals) and the noticeably different (<30minutes compared to >several hours) intervals I suspect has more to do with domain mail server SPF and SenderID file settings in the DNS Server files, than it has to do with osC or the contrib.

 

That said ......

 

I played around with some of the modifications posted in this forum, and here's what I found -

 

The following code DOES send the emails and quite quickly

	if (CONTACT_US_LIST !=''){
	$send_to_array=explode("," ,CONTACT_US_LIST);
	preg_match('/\<[^>]+\>/', $send_to_array[$send_to], $send_email_array);
	$send_to_email= eregi_replace (">", "", $send_email_array[0]);
	$send_to_email= eregi_replace ("<", "", $send_to_email);

	tep_mail(preg_replace('/\<[^*]*/', '', $send_to_array[$send_to]), $send_to_email, $emailsubject, $enquiry, $name, $email_address);
}else{
  tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success'));
}

it does show the order ID in the body text of the email received, but not the user name.

emails are shown as from the enquirer's email address, not their name, and the email address is not shown in the body of the email.

The "reason" for contact shows as the opening word(s) of the email subject line.

BUT this code does not display the mail send success page.

 

however ....

 

This code DOES show the mail send success page -

	if (CONTACT_US_LIST !=''){
	$send_to_array=explode("," ,CONTACT_US_LIST);
	preg_match('/\<[^>]+\>/', $send_to_array[$send_to], $send_email_array);
	$send_to_email= eregi_replace (">", "", $send_email_array[0]);
	$send_to_email= eregi_replace ("<", "", $send_to_email);

	tep_mail(preg_replace('/\<[^*]*/', '', $send_to_array[$send_to]), $send_to_email, $emailsubject, $enquiry, $name, $email_address);
	tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success'));
}else{
	tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $emailsubject, $enquiry, $name, $email_address);
	tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success'));
}

but I've been waiting over an hour for the email to arrive, and it still has not arrived

 

 

Therefore it seems we need some merging of the two sets of code (which is beyond my skills, but I'll have a play and if I get it to work, I'll post back with the successful code.

 

Configuration =

- heavily modified osC2.2 RC1

- Apache Server OS: Linux 2.4.20-27.7smp

- Database: MySQL 4.1.20-standard

- PHP Version: 4.4.2 (Zend: 1.3.0)

Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Link to comment
Share on other sites

So what e-mail address are you using? The error is Your E-Mail Address does not appear to be valid - please make any necessary corrections.

Did you look at post 169?

Link to comment
Share on other sites

OK

 

A further update

 

If the version of contact_us.php you're using has this line in it

 

if (tep_validate_email($email_address)) {

 

then it seems you MUST set in Admin Control Panel - email Options

"use DNS to check email addresses" = true

 

(i.e. you can't have that line and have DNS checking set to false

 

This is based on the testing I've been doing today

 

I've not yet tested if the true or false setting makes a difference when you don't have that line

Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Link to comment
Share on other sites

More test results

 

In this code version -

	if (tep_validate_email($email_address)) {
	tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $emailsubject, $enquiry, $name, $email_address);
if (CONTACT_US_LIST !=''){
	$send_to_array=explode("," ,CONTACT_US_LIST);
	preg_match('/\<[^>]+\>/', $send_to_array[$send_to], $send_email_array);
	$send_to_email= eregi_replace (">", "", $send_email_array[0]);
	$send_to_email= eregi_replace ("<", "", $send_to_email);

 

the second line appears to be over-riding the list of emails input for the mod - i.e. regardless of which email reason (& therefore recipient address) is chosen, the second line forces all emails to be sent to STORE_OWNER_EMAIL_ADDRESS

 

I've tried moving it around, but then emails are not received at all.

 

This seems to indicate that lines 4 - 6 above are not correctly preparing the email addresses from the list input to the mod field in Admin.

 

I've now put 30 hours into this and cannot get it to send to the configured range of email addresses, so I'm leaving it that all emails go to STORE_OWNER_EMAIL_ADDRESS until someone comes up with a fix.

 

 

 

 

Someone earlier asked how to get the customer input all added to the email received.

The following does work - I'm using it now

 

// BOF Super Contact us enhancement
$order_id = tep_db_prepare_input($HTTP_POST_VARS['order_id']);
if ($order_id <> NULL){
$enquiry = 'From : ' . $name . "\n" . 'email : ' . $email_address . "\n" . 'Order ID: ' . $order_id . "\n\n" . tep_db_prepare_input($HTTP_POST_VARS['enquiry']);
}else{
$enquiry = 'From : ' . $name . "\n" . 'email : ' . $email_address . "\n" . 'Order ID: No order number input' . "\n\n" . tep_db_prepare_input($HTTP_POST_VARS['enquiry']);
}
$emailsubject = tep_db_prepare_input($HTTP_POST_VARS['reason']) . ' ' . EMAIL_SUBJECT . $name;

 

Note that in the last line, for EMAIL_SUBJECT - I reworked the language file line to be -

 

define('EMAIL_SUBJECT', 'via ' . STORE_NAME . '.com visitor - ');

 

This makes a more sensible subject line for the email which would show as (e.g.)

 

General Enquiry via storename.com visitor - Fred Bloggs

or

Sales Enquiry via storename.com visitor - Edwina Everready

 

This will allow manual routing of emails until the correct recipient routing can be fixed

 

Gaz

Edited by totalnumpty

Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...