Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Recommended Posts

Posted

Would anyone be interested in helping me with some tough code. I suck at writing PHP from scratch and I am having a tough time hacking together an addon to the wishlist contrib. I actually got the wishlist working perfect for my site but realized that it didnt have the ability to email others the wishlist. So today I started to hack together one from the "tell-a-friend" and so far I got it working except for one thing. I need to add to the email the actual text of whats in the cart, which is of course the most important thing. Once the code is fixed I can post a new version of wishlist thats great. THis is an important add on to OSC since wishlists are getting quite popular and having the wife send it to the husband or vice versa can enhance sales and even spread the word about your store. Why tell somone about one item when you can tell them about all the items you enjoy.

 

<?php

/*

  $Id: wishlist_email.php,v 1.37 2003/03/23 20:05:15 project3000 Exp $

 

  osCommerce, Open Source E-Commerce Solutions

  http://www.oscommerce.com

 

  Copyright © 2003 osCommerce

 

  Released under the GNU General Public License

*/

 

  require('includes/application_top.php');

 

if (tep_session_is_registered('customer_id')) {

    $account = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_id = '" . $customer_id . "'");

    $account_values = tep_db_fetch_array($account);

  } elseif (ALLOW_GUEST_TO_TELL_A_FRIEND == 'false') {

    $navigation->set_snapshot();

    tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));

  }

 

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

 

  $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_TELL_A_FRIEND, 'send_to=' . $HTTP_GET_VARS['send_to'] . '&products_id=' . $HTTP_GET_VARS['products_id']));

?>

<!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; ?>">

<script LANGUAGE="JavaScript1.2" SRC="includes/menu_animation.js"></SCRIPT>

<link rel="stylesheet" type="text/css" href="stylesheet.css">

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- coolMenu //-->

<?php require(DIR_WS_INCLUDES . 'coolmenu.php'); ?>

<!-- coolMenu_eof //-->

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

<php

  $wishlist_query_raw = "select * from " . TABLE_WISHLIST . " WHERE customers_id=$customer_id order by products_name";

  $wishlist_query = tep_db_query($wishlist_query_raw);

?>

<!-- body //-->

<table border="0" width="100%" cellspacing="3" cellpadding="3">

  <tr>

    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

    </table></td>

<!-- body_text //-->

    <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

 

 

      <tr>

        <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

          <tr>

            <td class="pageHeading"><?php echo sprintf(HEADING_TITLE1, $product_info['products_name']); ?></td>

            <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_contact_us.gif', sprintf(HEADING_TITLE, $product_info['products_name']), HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

          </tr>

        </table></td>

      </tr>

      <tr>

        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

      </tr>

<?php

    $error = false;

 

    if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'process') && !tep_validate_email(trim($HTTP_POST_VARS['friendemail']))) {

      $friendemail_error = true;

      $error = true;

    } else {

      $friendemail_error = false;

    }

 

    if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'process') && empty($HTTP_POST_VARS['friendname'])) {

      $friendname_error = true;

      $error = true;

    } else {

      $friendname_error = false;

    }

 

    if (tep_session_is_registered('customer_id')) {

      $from_name = $account_values['customers_firstname'] . ' ' . $account_values['customers_lastname'];

      $from_email_address = $account_values['customers_email_address'];

    } else {

      $from_name = $HTTP_POST_VARS['yourname'];

      $from_email_address = $HTTP_POST_VARS['from'];

    }

 

    if (!tep_session_is_registered('customer_id')) {

      if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'process') && !tep_validate_email(trim($from_email_address))) {

        $fromemail_error = true;

        $error = true;

      } else {

        $fromemail_error = false;

      }

    }

 

    if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'process') && empty($from_name)) {

      $fromname_error = true;

      $error = true;

    } else {

      $fromname_error = false;

    }

 

    if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'process') && ($error == false)) {

      $email_subject = sprintf(TEXT_EMAIL_SUBJECT, $from_name, STORE_NAME);

      $email_body = sprintf(TEXT_EMAIL_INTRO, $HTTP_POST_VARS['friendname'], $from_name, $HTTP_POST_VARS['products_name'], STORE_NAME) . "\n\n";

 

      if (tep_not_null($HTTP_POST_VARS['yourmessage'])) {

        $email_body .= $HTTP_POST_VARS['yourmessage'] . "\n\n";

      }

 

      $email_body .= sprintf(TEXT_EMAIL_LINK, tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id'])) . "\n\n" .

                    sprintf(TEXT_EMAIL_SIGNATURE, STORE_NAME . "\n" . HTTP_SERVER . DIR_WS_CATALOG . "\n");

 

      tep_mail($HTTP_POST_VARS['friendname'], $HTTP_POST_VARS['friendemail'], $email_subject, stripslashes($email_body), '', $from_email_address);

?>

      <tr>

        <td><br><table border="0" width="100%" cellspacing="0" cellpadding="2">

          <tr>

            <td class="main"><?php echo sprintf(TEXT_EMAIL_SUCCESSFUL_SENT, stripslashes($HTTP_POST_VARS['products_name']), $HTTP_POST_VARS['friendemail']); ?></td>

          </tr>

        </table></td>

      </tr>

      <tr>

        <td align="right" class="main"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>

      </tr>

<?php

    } else {

      if (tep_session_is_registered('customer_id')) {

        $your_name_prompt = $account_values['customers_firstname'] . ' ' . $account_values['customers_lastname'];

        $your_email_address_prompt = $account_values['customers_email_address'];

      } else {

        $your_name_prompt = tep_draw_input_field('yourname', (($fromname_error == true) ? $HTTP_POST_VARS['yourname'] : $HTTP_GET_VARS['yourname']));

        if ($fromname_error == true) $your_name_prompt .= ' ' . TEXT_REQUIRED;

        $your_email_address_prompt = tep_draw_input_field('from', (($fromemail_error == true) ? $HTTP_POST_VARS['from'] : $HTTP_GET_VARS['from']));

        if ($fromemail_error == true) $your_email_address_prompt .= ENTRY_EMAIL_ADDRESS_CHECK_ERROR;

      }

?>

      <tr>

        <td><?php echo tep_draw_form('email_friend', tep_href_link(FILENAME_WISHLIST_SEND, 'action=process&products_id=' . $HTTP_GET_VARS['products_id'])) . tep_draw_hidden_field('products_name', $product_info['products_name']); ?><table border="0" width="100%" cellspacing="0" cellpadding="2">

          <tr>

            <td class="formAreaTitle"><?php echo FORM_TITLE_CUSTOMER_DETAILS; ?></td>

          </tr>

          <tr>

            <td class="main"><table border="0" width="100%" cellspacing="0" cellpadding="2" class="formArea">

              <tr>

                <td class="main"><table border="0" cellspacing="0" cellpadding="2">

                  <tr>

                    <td class="main"><?php echo FORM_FIELD_CUSTOMER_NAME; ?></td>

                    <td class="main"><?php echo $your_name_prompt; ?></td>

                  </tr>

                  <tr>

                    <td class="main"><?php echo FORM_FIELD_CUSTOMER_EMAIL; ?></td>

                    <td class="main"><?php echo $your_email_address_prompt; ?></td>

                  </tr>

                </table></td>

              </tr>

            </table></td>

          </tr>

          <tr>

            <td class="formAreaTitle"><br><?php echo FORM_TITLE_FRIEND_DETAILS; ?></td>

          </tr>

          <tr>

            <td class="main"><table border="0" width="100%" cellspacing="0" cellpadding="2" class="formArea">

              <tr>

                <td class="main"><table border="0" cellspacing="0" cellpadding="2">

                  <tr>

                    <td class="main"><?php echo FORM_FIELD_FRIEND_NAME; ?></td>

                    <td class="main"><?php echo tep_draw_input_field('friendname', (($friendname_error == true) ? $HTTP_POST_VARS['friendname'] : $HTTP_GET_VARS['friendname'])); if ($friendname_error == true) echo ' ' . TEXT_REQUIRED;?></td>

                  </tr>

                  <tr>

                    <td class="main"><?php echo FORM_FIELD_FRIEND_EMAIL; ?></td>

                    <td class="main"><?php echo tep_draw_input_field('friendemail', (($friendemail_error == true) ? $HTTP_POST_VARS['friendemail'] : $HTTP_GET_VARS['send_to'])); if ($friendemail_error == true) echo ENTRY_EMAIL_ADDRESS_CHECK_ERROR; ?></td>

                  </tr>

                </table></td>

              </tr>

            </table></td>

          </tr>

          <tr>

            <td class="formAreaTitle"><br><?php echo FORM_TITLE_FRIEND_MESSAGE; ?></td>

          </tr>

          <tr>

            <td class="main"><table border="0" width="100%" cellspacing="0" cellpadding="2" class="formArea">

              <tr>

                <td><?php echo tep_draw_textarea_field('yourmessage', 'soft', 40, 8);?></td>

              </tr>

            </table></td>

          </tr>

          <tr>

            <td><br><table border="0" width="100%" cellspacing="0" cellpadding="0">

              <tr>

                <td class="main"><?php echo '<a href="' . tep_href_link(FILENAME_WISHLIST) . '">' . tep_image_button('button_back.gif', IMAGE_BUTTON_BACK) . '</a>'; ?></td>

                <td align="right" class="main"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>

              </tr>

            </table></td>

          </tr>

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

      </tr>

<?php

    }

 

?>

    </table></td>

<!-- body_text_eof //-->

    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- right_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>

<!-- right_navigation_eof //-->

    </table></td>

  </tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Posted

I believe this is the line that starts the body text. If you have any questions or you need more of the code from my wishlist.php then lmk.

I also know the code above aint perfect but at the moment it works without any errors and the emails get sent. I just need to add the wishlist in a text format with links to each product at my site.

 

$email_body .= sprintf(TEXT_EMAIL_LINK, tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id'])) . "\n\n"

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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...