Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

Request Product Reviews


Recommended Posts

It should run on any version from 2.2MS2 up. You're more likely to have problems with the server version and settings than with the osCommerce version.



See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

  • 9 months later...


Your "Request a Review" module works great! but i note a problem, can't be used in multilang sites like mine, only english will be processed.

I think one solution can be include a part of code for check customer order country id and enter in this part of code the countries id for a language, and save this php with an -EN, other with -ES, -DE, etc and create differents translated .TPL for every lang for advise every customer on their lang.

I use 2,2ms. What do you think?

Link to comment
Share on other sites

This change should be possible. This Addon uses a template for the email, so a different template for each language should be easy enough.

You big problem here is your antiquated version of osCommerce. You cannot be running that on any version of PHP that is even halfway secure. I suggest you concentrate on updating to osC CE. There are better Addons for that version that should do this job without modifications.



See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Can you help us with the part of code for call country table (for entre every country id) for been added to code ?

We can create templates in different languages. CE can be a possibility, but this change will be used in a working site and used in days, let a CE ready with all our information, modules and a good design (the worst thing i think) will take months.. And our actual 2.2ms works very good..

Link to comment
Share on other sites

  • 7 months later...


We have CE BS4 running on php 7.2 plus

Just to say this contribution is working on our set up, It was not straight out of the box but any changes that were needed were available in this thread to enable it to work, using php errors log on the server to pick out the issues made it easier

Probably going to use the framework for other emails we send to clients after dispatch to when have more time, we always on a previous version used a autoresponder but could not find suitable alternative to work with PHP7

Have fun




Link to comment
Share on other sites

As a update now I have everything working I thought i would catalog what I had done to help others and to remind myself when I have forgotten


I am not a coder, just a shop owner so cannot give advice, and what I have done may not be very slick but its working


Running CE BS4, and PHP 7.2.16


I wanted a email to go out to request a review 7 days after "dispatch", as some of our products are ordered in especially, some we import in direct and some have to be made, so there can be no specific approx time after the order was made, and sending out a request for a review before the good were delivered is a no-no.


Also on "dispatch" I wanted to send a email out at the end of the day with, link to their Invoice, a care sheet for the product which is important, we use a number of different couriers so contact and website tracing address for all of them (tracking number sent direct from admin when advised of dispatch), even put a voucher in there for good measure.


I used the version 1.01 dated 18th February 2008 downloaded from below link




I do not use filenames in my version of OSC, there was a little bit of editing of review_mail.php but not much, PHP error log on my server proved a very informative place for finding the errors


after the SQL was installed, which went without a hitch using PHP my admin


INSERT INTO `configuration` VALUES (NULL, 'Days delay for review email', 'REVIEW_REMINDER_DELAY', '10', 'Number of days to wait before sending a review reminder email', 1, 998, now(), now(), NULL, NULL);

INSERT INTO `configuration` VALUES (NULL, 'Review email limit', 'REVIEW_REMINDER_NEWSLETTER', '1', 'Send review reminder email only to customers who accept newsletters (set to 1)', 1, 999, now(), now(), NULL, NULL);

ALTER TABLE `orders` ADD `reminder_sent` tinyint(1) NOT NULL default '0' AFTER `orders_status`;


 you must also set the - remonder_sent to 1, this stops you sending out to all your old orders while you are testing so do not forget it


UPDATE orders SET reminder_sent = 1


As I stated I also wanted to send a different email out upon dispatch so i duplicated what i had done previously with a few changes


INSERT INTO `configuration` VALUES (NULL, 'Days XXXXXXchangedxxxxxxdelay for dispatch email', 'XXXXXXchangedXXXXXDISPACTED_REMINDER_DELAY', 'XXXXXXchangedXXXXX0', 'Number of days to wait before sending a XXXXXXXXchangedXXXXX dispacth reminder email', 1, XXXXXXXXXchangedXXXXXX1001, now(), now(), NULL, NULL);





ALTER TABLE `orders` ADD `XXXXXXchangedXXXXXdispatched_sent` tinyint(1) NOT NULL default '0' AFTER `orders_status`;



And of course don't want the emails going out while testing so


UPDATE orders SET dispatched_sent = 1



Now the next problem I am using SEO-URL-5 and status handler, these caused problems, I do not know enough to know why, but noticed earlier in the thread that there was a fix from user - bassmaga


this fix basically said in terms i understand that if the file requesting this page is review_mail.php then do not bother including URL-SEO


t was called in catalog/includes/functions/html_output.php

if (basename($_SERVER['SCRIPT_FILENAME']) != 'review_mail.php') {

 require_once DIR_WS_MODULES . 'ultimate_seo_urls5/main/usu5.php';



I also had a request for a file (status handler) the file in  catalog/includes/functions/general.php


I would not have known about these if i hadn't been using the php error logs in my server to find issues


becuase I do not really know what i am doing and could get "OR" or "||" working and i wanted to use more than one version of review_mail.php I changed it to



    $email_workaround = basename($_SERVER['SCRIPT_FILENAME']);

  $email_workaround_list = array ('review_mail3.php','review_mail.php','dispatched_mail.php');

  if (in_array ($email_workaround,$email_workaround_list)) {} else{

   require_once 'includes/modules/ultimate_seo_urls5/main/usu5.php';



you will note that I have 3 files now 'review_mail3.php','review_mail.php','dispatched_mail.php'

I have review mail in twice becuase we have 2 dispatched status codes, 3 and 50540, bit messy i know but our database goes back many years

plus my new dispatched_mail.php


Now I can run 3 cron jobs every night to send out the emails


if you rename a copy of review_mail.php then remember to also keep the same name for template review_mail.tpl, ie review28_mail.php review28_mail.tpl


Do not know much about templates but would recommend you use tables in them, seems to work much better and easier to keep things where you want them


I would also recommend "Burts" "Order Keys"


with this there is no need for the customer to log in, this is done for them, cannot find it on here, but if you search user name "Burt" I am sure he will point you in the right direction

Kindest regards




Link to comment
Share on other sites

  • 1 year later...

@kymationHi Kim, I know this is an Old Add On but does exactly what I am after. The only question / help I am after is I am seeking to only use the customers_firstname in the email body.

Would I do this? I am not a programmer

  // Get the Orders ID of all shipped orders prior to that date that have not already been emailed
  $orders_query = tep_db_query ("select o.customers_name,
                                 from " . TABLE_ORDERS . " o,
                                      " . TABLE_CUSTOMERS . " c

then further down

        // Set the customer/order data
        $customers_name = $orders_array['customers_name'];
        $customers_firstname = $orders_array['customers_firstname'];
        $customers_email_address = $orders_array['customers_email_address'];

And a but further down again

        // Placeholder text from the text file to be replaced
        $search_array = array (
        // Replacement text -- must match the above array
        $replace_array = array (
          'http://' . $site_domain,
          date ('Y')

Then in the .tpl I use %%customers_firstname%%


Link to comment
Share on other sites

That looks like it should work. Test it first before you send email to your customers.



See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

  • 3 years later...

Hi Jim

I used the MVS module many years ago (and made a few minor contributions to it) . I’m starting a new e-commerce site, but I can’t seem to find the MVS add on package anywhere…


Can you post a link to download the add-on, and advise what the most recent version of oscommerce it will work on?


Many thanks



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.

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