Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

### POINTS AND REWARDS MODULE V1.00 ###


Recommended Posts

Hi, first let me say "Thank you" for a great mod!

 

I was expecting a few errors but I have installed v1.50 without a single problem! It works perfectly.

 

My only question is this: would it be possible to setup "levels" for points depending on amount of purchase?

 

Such as:

$1 - $50 = .05 points earned per dollar

$50 - $100 = .075 points earned per dollar

$100 + = .10 points earned per dollar

 

If possible, could this be included in the next release?

 

Thanks!

Priest

Link to comment
Share on other sites

Hello Deep Silver!

 

Help me pls.

I installed the contrib, and tried it, it will be wonderful, if it will work perfectly for me :) :)

 

But i dont understand: when will the Point Status "confirmed"? Should i set up somewhere in the admin?

 

I cant find the button..or anything else to confirm the Shopping Points from the admin.

 

I tried, and i changed the order status 1-4 and the results:

 

If the Order Status = 1, then the Point Status is "pending".

If the Order Status = 2, then the Point Status is "processing".

If the Order Status = 3, then the Point Status is "processing".

If the Order Status = 4, then the Point Status is "pending".

 

But never confirmed, never cancelled, redeemed...

 

I Don'tunderstand.. :( How can i set the Point Status confirmed?

 

I think, it would be "Confirmed" when I set the Order Status "Payed" (in my shop Payed Order Status number is 3)

 

Help me please!

 

Thankyou

 

chucky

after you confirmed order you then go to your admin and under the customer box you will find the link that say pending points, choose that and in the list find the order you would like to confirm the points for and click the confirm points buttom.

Remember - - - "STRESSED" spelled backwards "DESSERTS"

Link to comment
Share on other sites

Received this Fatal Error after the install of the latest version. Please Help!

 

Fatal error: Call to undefined function: tep_display_points() in /home/shopatjc/public_html/product_info.php on line 245

make sure that you did not skip this step....

------------------------------------------------------------------------------------------

CATALOG STEP = 10.   open catalog/includes/application_top.php
this will register the redemptions.php located in catalog/includes/functions/redemptions.php

Find... (aprox. line 433)

// infobox
 require(DIR_WS_CLASSES . 'boxes.php');

... and add after.....


// Points/Rewards Module V1.50
 require(DIR_WS_FUNCTIONS . 'redemptions.php');
 
------------------------------------------------------------------------------------------

also make sure that you have placed the file catalog/includes/functions/redemptions.php

in there

Remember - - - "STRESSED" spelled backwards "DESSERTS"

Link to comment
Share on other sites

Hmm still not working.

did you made other modification to catalog/product_info.php?

Do you use other discount contributions that made change to the real price.

the points display are relay on product price so if the price shown is not the real products price you have a problem.

anyway post a link to your shop so i can have idea...

Remember - - - "STRESSED" spelled backwards "DESSERTS"

Link to comment
Share on other sites

after you confirmed order you then go to your admin and under the customer box you will find the link that say pending points, choose that and in the list find the order you would like to confirm the points for and click the confirm points buttom.

 

Thank you.

There were 2 problems.

 

First:

I thought that the Shop Points "confirmed" status sets automaticly from order status table.

 

Second (bigger problem):

I use ADMIN ACCESS with LEVEL, and the Admin 3. step isnt good for me. I had to set up permissions to see customer_points.php and customer_points_pending.php in the admin menu.

 

Still i work on it...

 

Thank you

Link to comment
Share on other sites

after you confirmed order you then go to your admin and under the customer box you will find the link that say pending points, choose that and in the list find the order you would like to confirm the points for and click the confirm points buttom.

 

OK, now i fixed it.

 

Other question: :-"

If i had existing shop, with existing customers, how can I add automaticly (or withs script) Shop Points for them, depends on their old (existing) orders?

 

;)

 

Any idea?

Link to comment
Share on other sites

OK, now i fixed it.

 

Other question:  :-"

If i had existing shop, with existing customers, how can I add automaticly (or withs script) Shop Points for them, depends on their old (existing) orders?

 

;)

 

Any idea?

you will have to add points manually .

when choosing customer in admin/customers_points.php , at the right panel you will be able to tell the Orders Total for this customer so you can add points as wish.

in this case use the ajust buttom.

Remember - - - "STRESSED" spelled backwards "DESSERTS"

Link to comment
Share on other sites

Thank you for your latest answer.

 

The contrib doesnt work for me "partly". :'( :'(

 

When i buy a product, everything is OK: i get teh Shopping Points, and then i can Confirm it to myself. (i tested it on myself)

 

when I Checkout Paymant it is OK, (see the Picture) below:

 

Checkout Payment screen:

point2.gif

 

But when a Checkout Confirmation there is no Redeem points :(

You can see it:

point3.gif

 

I Modified the ORIGINAL oscommerce CHECKOUT_CONFIRMATION.PHP as you wrote (STEP 3). (I dont use any other Voucher contrib.)

 

What is the problem? :(

 

Here is my config screen:

point1.gif

 

 

And here is the modified code:

 

...

 

// load the selected payment module

  require(DIR_WS_CLASSES . 'payment.php');

  $payment_modules = new payment($payment);

 

  require(DIR_WS_CLASSES . 'order.php');

  $order = new order;

 

  $payment_modules->update_status();

 

##### Points/Rewards Module V1.50 check for error BOF #######

  if (USE_REDEEM_SYSTEM == 'true') {

    if (!tep_session_is_registered('customer_shopping_points_spending'))

      tep_session_register('customer_shopping_points_spending');

      if (isset($HTTP_POST_VARS['customer_shopping_points_spending']) && (POINTS_LIMIT_EXACT == 'false')){

        $customer_shopping_points_spending = $HTTP_POST_VARS['customer_shopping_points_spending'];

      }

// customer can't use other then the exact amount when enabled       

      if (isset($HTTP_POST_VARS['customer_shopping_points_spending']) && (POINTS_LIMIT_EXACT == 'true')){

        $customer_shopping_points_spending = POINTS_EXACT_VALUE;

      }

      if (isset($HTTP_POST_VARS['customer_shopping_points_spending']) && (!$customer_shopping_points_spending) && !is_object($$payment)){

        tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_EMPTY), 'SSL'));

      }

// register customer shopping points       

        $customer_shopping_points = tep_get_shopping_points();

// customer can't use invalid points amount       

      if ($customer_shopping_points < $customer_shopping_points_spending) {

        $customer_shopping_points_spending = 0;

        tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS), 'SSL'));

      }

// customer can't use points over the max allowed       

      if ($customer_shopping_points_spending > POINTS_MAX_VALUE) {

        $customer_shopping_points_spending = 0;

        tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_MAX), 'SSL'));

      }

  }

//force customers to select other payment method if the points total not enough to cover the cost.

  if (tep_calc_shopping_pvalue($customer_shopping_points_spending) < $order->info['total'] && !is_object($$payment)) {

    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_NOT), 'SSL'));

  }

// customer can't use points over the order total       

  if (tep_calc_shopping_pvalue($customer_shopping_points_spending) > $order->info['total']) {

    $customer_shopping_points_spending = 0;

    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_OVER), 'SSL'));

  }

// if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) {

  if ( (is_array($payment_modules->modules)) && (sizeof($payment_modules->modules) > 1) && (!is_object($$payment)) && (!$customer_shopping_points_spending) || (is_object($$payment) && ($$payment->enabled == false)) ) {

    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));

  }

########  Points/Rewards Module V1.50 EOF #################*/

 

 

  if (is_array($payment_modules->modules)) {

    $payment_modules->pre_confirmation_check();

  }

 

// load the selected shipping module

  require(DIR_WS_CLASSES . 'shipping.php');

  $shipping_modules = new shipping($shipping);

 

  require(DIR_WS_CLASSES . 'order_total.php');

  $order_total_modules = new order_total;

 

...

Link to comment
Share on other sites

Ooops...

 

I advice everybody to read this forum before write a book like me.

 

 

I find the problem, and solve: in the ORDER TOTAL modul the Point redemptions number was = with TOTAL.

 

I understand, that the "Point redemptions " must be larger then SUBTOTAL but must be smaller then TOTAL.

 

So:

"Point redemptions " = 4

TOTAL = 5

 

Sham on me! :blush: :blush:

Link to comment
Share on other sites

Has anyone had this error:

 

Parse error: parse error, unexpected '}' in /home/httpd/vhosts/OSCOMMERCE/httpdocs/checkout_confirmation.php on line 110

 

I do have the latest version of Credit class & Gift Vouchers installed where there are different install instructions for this file.

 

Any help will be greatly appreciated.

Link to comment
Share on other sites

Has anyone had this error:

 

Parse error: parse error, unexpected '}' in /home/httpd/vhosts/OSCOMMERCE/httpdocs/checkout_confirmation.php on line 110

 

I do have the latest version of Credit class & Gift Vouchers installed where there are different install instructions for this file.

 

Any help will be greatly appreciated.

You have an extra } in checkout_confirmation.php on line 110 .

restore checkout_confirmation.php and try again this time make sure to NOT miss understand the install instraction for checkout_confirmation.php

You can olso open the modified checkout_confirmation.php in the zip and compare it with yours.

Remember - - - "STRESSED" spelled backwards "DESSERTS"

Link to comment
Share on other sites

Ooops...

 

I advice everybody to read this forum before write a book like me.

I find the problem, and solve: in the ORDER TOTAL modul the Point redemptions number was = with TOTAL.

 

I understand, that the "Point redemptions " must be larger then SUBTOTAL but must be smaller then TOTAL.

 

So:

"Point redemptions " = 4

TOTAL = 5

 

Sham on me!  :blush:  :blush:

:D :D :D :D :thumbsup:

thats all i have to say.

Remember - - - "STRESSED" spelled backwards "DESSERTS"

Link to comment
Share on other sites

Thank you for your help deepsilver. I have everything working i think now expect when I click on Pending points in admin I get the following erorr:

Customers Pending Points Exchange Rates : Awards : $1.00 = 1.00 points Redeem : 1.00 points = $0.10

 

 

 

Customers Order Total Points Value Date Purchased Orders Status Points Status Action

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select o.orders_id, o.orders_status, o.customers_name, o.customers_email_address, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total, cpp.points_pending as points_pending, cpp.comment as comment, cpp.status as status from orders o , orders_total ot , orders_status s , customers_points_pending cpp where ot.class = 'ot_total' and cpp.orders_id = o.orders_id and o.orders_id = ot.orders_id and o.orders_status = s.orders_status_id and s.language_id = '1' order by o.orders_id DESC limit -20, 20

 

[TEP STOP]

Link to comment
Share on other sites

I have a couple of problems with the install of POINTS AND REWARDS v1.50.

 

1. There is no link to customer_points.php & customer_points_pending.php in admin. Where should these links be?

 

2. I get a javascript error for checkout_payment.php as follows:

 

Line: 96

Char: 1

Error: Expected '}'

Code: 0

URL: https://www.busybottoms.com.au/checkout_payment.php? error_message=Points+value+are+not+enough+to+cover+the+cost+of+your+purchase.+Pl

ease+select+another+payment+method

 

And the error message is not displayed in the browser in the red band at the top of the page like normal.

 

 

Here is the code for checkout_payment.php:

 

 

<?php

/*

$Id: checkout_payment.php,v 1.113 2003/06/29 23:03:27 hpdl 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 the customer is not logged on, redirect them to the login page

if (!tep_session_is_registered('customer_id')) {

$navigation->set_snapshot();

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

}

 

// if there is nothing in the customers cart, redirect them to the shopping cart page

if ($cart->count_contents() < 1) {

tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));

}

 

// if no shipping method has been selected, redirect the customer to the shipping method selection page

if (!tep_session_is_registered('shipping')) {

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

}

 

// avoid hack attempts during the checkout procedure by checking the internal cartID

if (isset($cart->cartID) && tep_session_is_registered('cartID')) {

if ($cart->cartID != $cartID) {

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

}

}

 

// #################### Added CGV ######################

if(tep_session_is_registered('credit_covers')) tep_session_unregister('credit_covers'); // CCGV Contribution

// #################### End Added CGV ######################

 

// Stock Check

if ( (STOCK_CHECK == 'true') && (STOCK_ALLOW_CHECKOUT != 'true') ) {

$products = $cart->get_products();

for ($i=0, $n=sizeof($products); $i<$n; $i++) {

if (tep_check_stock($products[$i]['id'], $products[$i]['quantity'])) {

tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));

break;

}

}

}

 

// if no billing destination address was selected, use the customers own address as default

if (!tep_session_is_registered('billto')) {

tep_session_register('billto');

$billto = $customer_default_address_id;

} else {

// verify the selected billing address

$check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$billto . "'");

$check_address = tep_db_fetch_array($check_address_query);

 

if ($check_address['total'] != '1') {

$billto = $customer_default_address_id;

if (tep_session_is_registered('payment')) tep_session_unregister('payment');

}

}

 

require(DIR_WS_CLASSES . 'order.php');

$order = new order;

// #################### Added CGV ######################

require(DIR_WS_CLASSES . 'order_total.php');//ICW ADDED FOR CREDIT CLASS SYSTEM

$order_total_modules = new order_total;//ICW ADDED FOR CREDIT CLASS SYSTEM

$order_total_modules->clear_posts(); // ADDED FOR CREDIT CLASS SYSTEM by Rigadin in v5.13

// #################### End Added CGV ######################

 

if (!tep_session_is_registered('comments')) tep_session_register('comments');

 

$total_weight = $cart->show_weight();

$total_count = $cart->count_contents();

// #################### Added CGV ######################

$total_count = $cart->count_contents_virtual(); //ICW ADDED FOR CREDIT CLASS SYSTEM

// #################### End Added CGV ######################

 

// load all enabled payment modules

require(DIR_WS_CLASSES . 'payment.php');

$payment_modules = new payment;

 

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

 

$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));

$breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

?>

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

<script language="javascript"><!--

/* Points/Rewards Module V1.50 bof*/

function clearText(thefield){

if (thefield.defaultValue==thefield.value)

thefield.value = ""

}

function validate(field) {

var valid = "0123456789.,"

var ok = "yes";

var temp;

for (var i=0; i<field.value.length; i++) {

temp = "" + field.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

alert("<?php echo REDEEM_SYSTEM_JS_ERROR; ?>");

field.focus();

field.select();

}

}

/* Points/Rewards Module V1.50 eof*/

var selected;

<?php // #################### Added CGV ###################### ?>

var submitter = null;

function submitFunction() {

submitter = 1;

}

<?php // #################### End Added CGV ###################### ?>

function selectRowEffect(object, buttonSelect) {

if (!selected) {

if (document.getElementById) {

selected = document.getElementById('defaultSelected');

} else {

selected = document.all['defaultSelected'];

}

}

 

if (selected) selected.className = 'moduleRow';

object.className = 'moduleRowSelected';

selected = object;

 

// one button is not an array

if (document.checkout_payment.payment[0]) {

document.checkout_payment.payment[buttonSelect].checked=true;

} else {

document.checkout_payment.payment.checked=true;

}

}

 

function rowOverEffect(object) {

if (object.className == 'moduleRow') object.className = 'moduleRowOver';

}

 

function rowOutEffect(object) {

if (object.className == 'moduleRowOver') object.className = 'moduleRow';

}

//--></script>

<?php echo $payment_modules->javascript_validation(); ?>

</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="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"><?php echo tep_draw_form('checkout_payment', tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, '', 'SSL'), 'post', 'onsubmit="return check_form();"'); ?><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 HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_payment.gif', HEADING_TITLE, 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

if (isset($HTTP_GET_VARS['payment_error']) && is_object(${$HTTP_GET_VARS['payment_error']}) && ($error = ${$HTTP_GET_VARS['payment_error']}->get_error())) {

?>

<tr>

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

<tr>

<td class="main"><b><?php echo tep_output_string_protected($error['title']); ?></b></td>

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBoxNotice">

<tr class="infoBoxNoticeContents">

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

<tr>

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

<td class="main" width="100%" valign="top"><?php echo tep_output_string_protected($error['error']); ?></td>

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

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

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

</tr>

<?php

}

?>

<tr>

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

<tr>

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

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

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

<tr>

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

<td class="main" width="50%" valign="top"><?php echo TEXT_SELECTED_BILLING_DESTINATION; ?><br><br><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL') . '">' . tep_image_button('button_change_address.gif', IMAGE_BUTTON_CHANGE_ADDRESS) . '</a>'; ?></td>

<td align="right" width="50%" valign="top"><table border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main" align="center" valign="top"><b><?php echo TITLE_BILLING_ADDRESS; ?></b><br><?php echo tep_image(DIR_WS_IMAGES . 'arrow_south_east.gif'); ?></td>

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

<td class="main" valign="top"><?php echo tep_address_label($customer_id, $billto, true, ' ', '<br>'); ?></td>

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

</tr>

</table></td>

</tr>

</table></td>

</tr>

</table></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">

<tr>

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

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

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

<?php

$selection = $payment_modules->selection();

 

if (sizeof($selection) > 1) {

?>

<tr>

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

<td class="main" width="50%" valign="top"><?php echo TEXT_SELECT_PAYMENT_METHOD; ?></td>

<td class="main" width="50%" valign="top" align="right"><b><?php echo TITLE_PLEASE_SELECT; ?></b><br><?php echo tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td>

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

</tr>

<?php

} else {

?>

<tr>

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

<td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_PAYMENT_INFORMATION; ?></td>

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

</tr>

<?php

}

 

$radio_buttons = 0;

for ($i=0, $n=sizeof($selection); $i<$n; $i++) {

?>

<tr>

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

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

<?php

if ( ($selection[$i]['id'] == $payment) || ($n == 1) ) {

echo ' <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";

} else {

echo ' <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";

}

?>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" colspan="3"><b><?php echo $selection[$i]['module']; ?></b></td>

<td class="main" align="right">

<?php

if (sizeof($selection) > 1) {

echo tep_draw_radio_field('payment', $selection[$i]['id']);

} else {

echo tep_draw_hidden_field('payment', $selection[$i]['id']);

}

?>

</td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

if (isset($selection[$i]['error'])) {

?>

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" colspan="4"><?php echo $selection[$i]['error']; ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

} elseif (isset($selection[$i]['fields']) && is_array($selection[$i]['fields'])) {

?>

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td colspan="4"><table border="0" cellspacing="0" cellpadding="2">

<?php

for ($j=0, $n2=sizeof($selection[$i]['fields']); $j<$n2; $j++) {

?>

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main"><?php echo $selection[$i]['fields'][$j]['title']; ?></td>

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

<td class="main"><?php echo $selection[$i]['fields'][$j]['field']; ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

}

?>

</table></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

}

?>

</table></td>

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

</tr>

<?php

$radio_buttons++;

}

?>

</table></td>

</tr>

</table></td>

</tr>

<!-- Points/Rewards Module V1.50 Redeemption box bof -->

<?php

 

if ((USE_REDEEM_SYSTEM == 'true') && ($customer_shopping_points = tep_get_shopping_points()) && $customer_shopping_points > 0){

if ((get_redemption_rules($order) == true) && (get_points_rules_discounted($order) == true)){

if ($customer_shopping_points >= POINTS_LIMIT_VALUE){

?>

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

<tr>

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

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

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

<tr>

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

<td class="main" width="100%" colspan="3"><?php echo TEXT_REDEEM_SYSTEM_START . number_format($customer_shopping_points,2) . TEXT_REDEEM_SYSTEM_MIDDLE . $currencies->format(tep_calc_shopping_pvalue($customer_shopping_points)) . '.'; ?></td>

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

</tr>

<?php

if (POINTS_LIMIT_EXACT == 'true' && $customer_shopping_points >= POINTS_EXACT_VALUE){

if(tep_session_is_registered('customer_shopping_points_spending')) tep_session_unregister('customer_shopping_points_spending');

?>

<tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onClick="submitFunction()">

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

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

<td class="main" align="right"><?php echo tep_draw_checkbox_field('customer_shopping_points_spending', $customer_shopping_points_spending); ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

} else {

?>

<tr onClick="submitFunction()">

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

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

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" ><?php echo TEXT_REDEEM_SYSTEM_SPENDING . '  ' .tep_draw_input_field('customer_shopping_points_spending', $customer_shopping_points_spending , 'onBlur="validate(this)" onFocus="clearText(this)" maxlength="7" style="width:70px"'); ?><br><?php echo TEXT_REDEEM_SYSTEM_SPENDING_ALL; ?></td>

<td class="main" align="right"><br><?php echo tep_draw_checkbox_field('customer_shopping_points_spending', $customer_shopping_points); ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

</tr>

<?php

}

?>

</table></td>

</tr>

</table></td>

</tr>

<?php

}

}

}

?>

<!-- Points/Rewards Module V1.50 Redeemption box eof -->

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

<tr>

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

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

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

<tr>

<td><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

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

</tr>

<?php // #################### Added CGV ######################

echo $order_total_modules->credit_selection();//ICW ADDED FOR CREDIT CLASS SYSTEM

// #################### End Added CGV ###################### ?>

<tr>

<td><table border="0" width="100%" cellspacing="1" 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 class="main"><b><?php echo TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE; ?></td>

<td class="main" 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></td>

</tr>

</table></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="0">

<tr>

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

<tr>

<td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

</tr>

</table></td>

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

<tr>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

<td><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

</tr>

</table></td>

<td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

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

<tr>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>

</tr>

</table></td>

</tr>

<tr>

<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>

<td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_PAYMENT; ?></td>

<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>

<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>

</tr>

</table></td>

</tr>

</table></form></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'); ?>

 

 

Any help will be greatly appreciated.

Link to comment
Share on other sites

hi deep-silver...

 

where's your forum for the 'single email' mod?

 

i am going to install it but wanted to ask what would need to be changed to make it in such a way that admin can choose to select 'single email to all customers within a particular country' (i.e i have customers from 14 countries but admin can choose to email all customers within Japan but not anywhere else)

 

also, how to make the contribution work for affiliates? how to send a single email to an affliate... followed by select 'single email to all customers within a particular country' (i.e i have affiliates from 14 countries but admin can choose to email all affiliates within Japan but not anywhere else)

 

 

please advise

 

thanks

Edited by chooch

Upon receiving fixes and advice, too many people don't bother to post updates informing the forum of how it went. Until of course they need help again on other issues and they come running back!

 

Why receive the information you require in good faith for free, only to then have the attitude to ignore the people who gave it to you?

 

There's no harm in saying, 'Thanks, it worked'. On the contrary, it creates a better atmosphere.

 

CHOOCH

Link to comment
Share on other sites

Hmm still not working.

The issue was caused by the difference between MS1 and MS2.

MS1 uses $product_info_values array, not just $product_info.

Silly oversight from my part.

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

Hi Deep-silver,

 

First of all compliments for this nice contribution. I have some suggestions for further improvement:

 

- In the email with the conf?rmation, the link is not ?lickable, and the signature on the bottom is rather short, maybe an idea is to add there more information about the store

- It would be nice if it was also possible to sent HTML mail to the customer

- In the payment section. It would be nice if it was calculated and shown how much point are needed for this payment. Now a customer must calculate this on his own.

 

Let us know what your opinion is

 

all the best,

 

Hans

Link to comment
Share on other sites

Hello,

 

I just came accross what seem to be a great and appreciated contrib... and I'd like to know if you have thought of a new implementation.

 

Is it possible to define a new product-like table and specificy points amount instead of dollars (or yen) price, and then give the ability to shop normally, using one's point credit ?

 

In case this has already been implemented, I would be very grateful to be in the confidence :thumbsup:

 

Thank you ! :)

 

Alexandre

Link to comment
Share on other sites

Hi

 

I have points per 1.Yen Purhcase = 10

Yen Redeem per point = 0.01

 

It still shows Points Credit : 0 points Currently valued at ?0.00

as a continue to few post above.

Are you using osCommerce MS1???????

Remember - - - "STRESSED" spelled backwards "DESSERTS"

Link to comment
Share on other sites

as a continue to few post above.

Are you using osCommerce MS1???????

Yes he is. Problem solved per post 321 above.

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

Hello,

 

I just came accross what seem to be a great and appreciated contrib... and I'd like to know if you have thought of a new implementation.

 

Is it possible to define a new product-like table and specificy points amount instead of dollars (or yen) price, and then give the ability to shop normally, using one's point credit ?

 

In case this has already been implemented, I would be very grateful to be in the confidence  :thumbsup:

 

Thank you !  :)

 

Alexandre

 

it is a very good idea to have this done for some shops it may be the only viable way (or best way) to do business.... there is a site already using the CCGV Gift Voucher for the following example:

 

Example:

 

i) a new or existing customer selects the number of Points they wish to purchase. in this example they purchase 50 points for ?15 (usual cc/paypal/nochex/ etc method)

 

ii) they now select an item, in this example it is a movie clip or music video. it says something like: "it will cost you 6 Points to watch this movie online or you can download it for 11 points - please select"

 

iii) at the checkout the only option available is "please confirm redemption of 'x' points"

 

iv) the checkout success can be taken out and the movie download zip link can open or the movie stream can start.

 

damn good idea.... i wonder if anyone wil try to give it a go?

Upon receiving fixes and advice, too many people don't bother to post updates informing the forum of how it went. Until of course they need help again on other issues and they come running back!

 

Why receive the information you require in good faith for free, only to then have the attitude to ignore the people who gave it to you?

 

There's no harm in saying, 'Thanks, it worked'. On the contrary, it creates a better atmosphere.

 

CHOOCH

Link to comment
Share on other sites

you will have to add points manually .

when choosing customer in admin/customers_points.php , at the right panel you will be able to tell the Orders Total for this customer so you can add points as wish.

in this case use the ajust buttom.

 

Its Ok, but i would like to add Points automaticly, bexouse there are more then 1000 Customers... Manually...brrrr..

 

There is an "Customer Orders-Total" TOP menu in admin, and in this menu there are the OrderTotel informations. That is what i would like to use to count the Points.

 

(User : Order total : Point to add,

User1: 15000 : 150,

User2: 35000: 350,

etc...

)

 

Dont you have any idea to add automaticly Points to Customers, vie PhPAdmin ... with a script?

:-"

Link to comment
Share on other sites

it is a very good idea to have this done for some shops it may be the only viable way (or best way) to do business.... there is a site already using the CCGV Gift Voucher for the following example:

 

Example:

 

i) a new or existing customer selects the number of Points they wish to purchase. in this example they purchase 50 points for ?15 (usual cc/paypal/nochex/ etc method)

 

ii) they now select an item, in this example it is a movie clip or music video. it says something like: "it will cost you 6 Points to watch this movie online or you can download it for 11 points - please select"

 

iii) at the checkout the only option available is "please confirm redemption of 'x' points"

 

iv) the checkout success can be taken out and the movie download zip link can open or the movie stream can start.

 

damn good idea.... i wonder if anyone wil try to give it a go?

 

 

I have a similar need. Here's my situation: I'm building what is essentially a members-only store. When my current clients (from my day job in the real estate industry) send me referrals, I award them points which can be used to purchase products at my online store. I set their account up, give them a username/password, deposit points into their account etc. So no money is used, no credit cards, only points. So two things I'm wondering (similar to the above comments): Is it possible to only have the option to 'Redeem Points' at checkout, and have the amount of points necessary to purchase the product automatically calculated and withdrawn from the member's account (instead of typing in the # of points he'd like to use)? And if the member doesn't have enough points to purchase the product he wants, a message would simply tell him that and then disallow him from continuing the checkout process.

 

This would be great if it could be done. I think it would be beneficial to everyone who is running private, non-cash stores.

 

If it would be too difficult to implement, perhaps others have suggestions about how to do this with the current module.

 

PS - great job, deep-silver. Your continued support since the initial release has been amazing.

Link to comment
Share on other sites

An Idea:

 

I think, it would be great to set the maximum "points to be used" (redeemed) in percent (%) of the total order amount. (not just maximum points/order)

 

So:

I set up ~50 % maximum redeemed points (in admin)

and the order total: 30.000

 

In this case the maximum usable Points: 15.000

 

understand..?

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