Page 1 of 2 12 LastLast
Results 1 to 10 of 122

Hybrid View

  1. #1
    Join Date
    Feb 2012
    Location
    mostly harmless
    Posts
    1,809
    Plugin Contributions
    8

    Default Re: New Version: 1.2

    Quote Originally Posted by Canvas101 View Post
    I have re uploaded all the required files and followed all the instructions but still see ...
    From those messages I can see DIR_FS_CATALOG has not been appended to the start of the language path used to load the files.
    DIR_FS_CATALOG should contain something like "/var/www/server/store/" or "/public_html/" or "/".

    The only way this can happen is if:
    1. You missed a merge on "/includes/classes/order_total.php".
    2. Your "/admin/includes/configure.php" is corrupt (or not working).
    3. You are not running Zen Cart 1.5 (or some modification made to Zen Cart broke core code).


    Note lines 34 - 48 from "/includes/classes/order_total.php" in the "affected_files_<version>" folder:
    Code:
    if(IS_ADMIN_FLAG === true) {
      $lang_file = zen_get_file_directory(DIR_FS_CATALOG . DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/order_total/', $value, 'false');
    }
    else {
      $lang_file = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/order_total/', $value, 'false');
    }
    if (@file_exists($lang_file)) {
      include_once($lang_file);
    } else {
      if (IS_ADMIN_FLAG === false && is_object($messageStack)) {
        $messageStack->add('header', WARNING_COULD_NOT_LOCATE_LANG_FILE . $lang_file, 'caution');
      } else {
        $messageStack->add_session(WARNING_COULD_NOT_LOCATE_LANG_FILE . $lang_file, 'caution');
      }
    }
    After you merge the changes, your "/includes/classes/order_totals.php" should have a block that looks similar.
    The glass is not half full. The glass is not half empty. The glass is simply too big!
    Where are the Zen Cart Debug Logs? Where are the HTTP 500 / Server Error Logs?
    Zen Cart related projects maintained by lhûngîl : Plugin / Module Tracker

  2. #2
    Join Date
    Apr 2007
    Posts
    40
    Plugin Contributions
    0

    Default Re: New Version: 1.2

    Here is what my file looks like.......

    <?php
    /**
    * File contains the order-totals-processing class ("order-total")
    *
    * @package classes
    * @copyright Copyright 2003-2011 Zen Cart Development Team
    * @copyright Portions Copyright 2003 osCommerce
    * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
    * @version $Id: order_total.php 19103 2011-07-13 18:10:46Z wilt $
    */
    /**
    * order-total class
    *
    * Handles all order-total processing functions
    *
    * @package classes
    */
    if (!defined('IS_ADMIN_FLAG')) {
    die('Illegal Access');
    }
    class order_total extends base {
    var $modules = array();


    // class constructor
    function order_total() {
    global $messageStack;
    if (defined('MODULE_ORDER_TOTAL_INSTALLED') && zen_not_null(MODULE_ORDER_TOTAL_INSTALLED)) {
    $module_list = explode(';', MODULE_ORDER_TOTAL_INSTALLED);


    reset($module_list);
    while (list(, $value) = each($module_list)) {
    // Fixes for when called from ADMIN
    $lang_file = null;
    if(IS_ADMIN_FLAG === true) {
    $lang_file = zen_get_file_directory(DIR_FS_CATALOG . DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/order_total/', $value, 'false');
    }
    else {
    }
    $lang_file = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/order_total/', $value, 'false');
    if (@file_exists($lang_file)) {
    include_once($lang_file);
    } else {
    if (IS_ADMIN_FLAG === false && is_object($messageStack)) {
    $messageStack->add('header', WARNING_COULD_NOT_LOCATE_LANG_FILE . $lang_file, 'caution');
    } else {
    $messageStack->add_session(WARNING_COULD_NOT_LOCATE_LANG_FILE . $lang_file, 'caution');
    }
    }
    $module_file = DIR_WS_MODULES . 'order_total/' . $value;
    if (@file_exists($module_file)) {
    include_once($module_file);
    $class = substr($value, 0, strrpos($value, '.'));
    $GLOBALS[$class] = new $class;
    $this->modules[] = $value;
    }
    }
    }
    }


    function process() {
    global $order;
    $order_total_array = array();
    if (is_array($this->modules)) {
    reset($this->modules);
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    if (!isset($GLOBALS[$class])) continue;
    $GLOBALS[$class]->process();
    for ($i=0, $n=sizeof($GLOBALS[$class]->output); $i<$n; $i++) {
    if (zen_not_null($GLOBALS[$class]->output[$i]['title']) && zen_not_null($GLOBALS[$class]->output[$i]['text'])) {
    $order_total_array[] = array('code' => $GLOBALS[$class]->code,
    'title' => $GLOBALS[$class]->output[$i]['title'],
    'text' => $GLOBALS[$class]->output[$i]['text'],
    'value' => $GLOBALS[$class]->output[$i]['value'],
    'sort_order' => $GLOBALS[$class]->sort_order);
    }
    }
    }
    }


    return $order_total_array;
    }


    function output($return_html=false) {
    global $template, $current_page_base;
    $output_string = '';
    if (is_array($this->modules)) {
    reset($this->modules);
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    $size = sizeof($GLOBALS[$class]->output);


    // ideally, the first part of this IF statement should be dropped, and the ELSE portion is all that should be kept
    if ($return_html == true) {
    for ($i=0; $i<$size; $i++) {
    $output_string .= ' <tr>' . "\n" .
    ' <td align="right" class="' . str_replace('_', '-', $GLOBALS[$class]->code) . '-Text">' . $GLOBALS[$class]->output[$i]['title'] . '</td>' . "\n" .
    ' <td align="right" class="' . str_replace('_', '-', $GLOBALS[$class]->code) . '-Amount">' . $GLOBALS[$class]->output[$i]['text'] . '</td>' . "\n" .
    ' </tr>';
    }
    } else {
    // use a template file for output instead of hard-coded HTML
    require($template->get_template_dir('tpl_modules_order_totals.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_order_totals.php');
    }
    }
    }
    return $output_string;
    }
    //
    // This function is called in checkout payment after display of payment methods. It actually calls
    // two credit class functions.
    //
    // use_credit_amount() is normally a checkbox used to decide whether the credit amount should be applied to reduce
    // the order total. Whether this is a Gift Voucher, or discount coupon or reward points etc.
    //
    // The second function called is credit_selection(). This in the credit classes already made is usually a redeem box.
    // for entering a Gift Voucher number. Note credit classes can decide whether this part is displayed depending on
    // E.g. a setting in the admin section.
    //
    function credit_selection() {
    $selection_array = array();
    if (is_array($this->modules)) {
    reset($this->modules);
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    if ($GLOBALS[$class]->credit_class ) {
    $selection = $GLOBALS[$class]->credit_selection();
    if (is_array($selection)) $selection_array[] = $selection;
    }
    }
    }
    return $selection_array;
    }




    // update_credit_account is called in checkout process on a per product basis. It's purpose
    // is to decide whether each product in the cart should add something to a credit account.
    // e.g. for the Gift Voucher it checks whether the product is a Gift voucher and then adds the amount
    // to the Gift Voucher account.
    // Another use would be to check if the product would give reward points and add these to the points/reward account.
    //
    function update_credit_account($i) {
    if (MODULE_ORDER_TOTAL_INSTALLED) {
    reset($this->modules);
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    if ( $GLOBALS[$class]->credit_class ) {
    $GLOBALS[$class]->update_credit_account($i);
    }
    }
    }
    }




    // This function is called in checkout confirmation.
    // It's main use is for credit classes that use the credit_selection() method. This is usually for
    // entering redeem codes(Gift Vouchers/Discount Coupons). This function is used to validate these codes.
    // If they are valid then the necessary actions are taken, if not valid we are returned to checkout payment
    // with an error


    function collect_posts() {
    if (MODULE_ORDER_TOTAL_INSTALLED) {
    reset($this->modules);
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    if ( $GLOBALS[$class]->credit_class ) {
    $post_var = 'c' . $GLOBALS[$class]->code;
    if ($_POST[$post_var]) $_SESSION[$post_var] = $_POST[$post_var];
    $GLOBALS[$class]->collect_posts();
    }
    }
    }
    }
    // pre_confirmation_check is called on checkout confirmation. It's function is to decide whether the
    // credits available are greater than the order total. If they are then a variable (credit_covers) is set to
    // true. This is used to bypass the payment method. In other words if the Gift Voucher is more than the order
    // total, we don't want to go to paypal etc.
    //
    function pre_confirmation_check($returnOrderTotalOnly = FALSE) {
    global $order, $credit_covers;
    if (MODULE_ORDER_TOTAL_INSTALLED) {
    $total_deductions = 0;
    reset($this->modules);
    $orderInfoSaved = $order->info;
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    if ( $GLOBALS[$class]->credit_class ) {
    $order_total = $GLOBALS[$class]->get_order_total(isset($_SESSION['cc_id']) ? $_SESSION['cc_id'] : '');
    if (is_array($order_total)) $order_total = $order_total['total'];
    $deduction = $GLOBALS[$class]->pre_confirmation_check($order_total);
    $total_deductions = $total_deductions + $deduction;
    // echo 'class = ' . $class . "<br>";
    // echo 'order-total = ' . $order_total . "<br>";
    // echo 'deduction = ' . $deduction . "<br>";
    }
    else
    {
    $GLOBALS[$class]->process();
    $GLOBALS[$class]->output = array();
    }
    }
    $calculatedOrderTotal = $order->info['total'];
    $order->info = $orderInfoSaved;
    // echo "orderTotal = {$order->info['total']}";
    // echo "TotalDeductions = {$total_deductions}";
    // do not set when Free Charger is being used
    $difference = $order->info['total'] - $total_deductions;
    if ( $difference <= 0.009 && $_SESSION['payment'] != 'freecharger') {
    $credit_covers = true;
    }
    if ($returnOrderTotalOnly == TRUE) return $calculatedOrderTotal;
    }
    }
    // this function is called in checkout process. it tests whether a decision was made at checkout payment to use
    // the credit amount be applied aginst the order. If so some action is taken. E.g. for a Gift voucher the account
    // is reduced the order total amount.
    //
    function apply_credit() {
    if (MODULE_ORDER_TOTAL_INSTALLED) {
    reset($this->modules);
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    if ( $GLOBALS[$class]->credit_class) {
    $GLOBALS[$class]->apply_credit();
    }
    }
    }
    }


    // Called in checkout process to clear session variables created by each credit class module.
    //
    function clear_posts() {
    global $_POST;
    if (MODULE_ORDER_TOTAL_INSTALLED) {
    reset($this->modules);
    while (list(, $value) = each($this->modules)) {
    $class = substr($value, 0, strrpos($value, '.'));
    if ( $GLOBALS[$class]->credit_class && method_exists($GLOBALS[$class], 'clear_posts')) {
    $GLOBALS[$class]->clear_posts();
    }
    }
    }
    }
    // Called at various times. This function calulates the total value of the order that the
    // credit will be applied against. This varies depending on whether the credit class applies
    // to shipping & tax
    //
    function get_order_total_main($class, $order_total) {
    global $credit, $order;
    // if ($GLOBALS[$class]->include_tax == 'false') $order_total=$order_total-$order->info['tax'];
    // if ($GLOBALS[$class]->include_shipping == 'false') $order_total=$order_total-$order->info['shipping_cost'];
    return $order_total;
    }
    }


    the block of code is present.....not sure what is wrong

  3. #3
    Join Date
    Apr 2007
    Posts
    40
    Plugin Contributions
    0

    Default Re: New Version: 1.2

    Ok,

    Looks like a left out a line of code from my merge file as above....

    added the following code //include(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/order_total/' . $value);
    and all is now working.

    Thanks for all you help.

  4. #4
    Join Date
    Feb 2012
    Location
    mostly harmless
    Posts
    1,809
    Plugin Contributions
    8

    Default Re: New Version: 1.2

    No problem, glad you were able to get everything working!
    The glass is not half full. The glass is not half empty. The glass is simply too big!
    Where are the Zen Cart Debug Logs? Where are the HTTP 500 / Server Error Logs?
    Zen Cart related projects maintained by lhûngîl : Plugin / Module Tracker

  5. #5
    Join Date
    Jun 2012
    Posts
    33
    Plugin Contributions
    1

    Default Re: New Version: 1.2

    On Zencart 1.5.0 with a working Edit order 4.0.3
    We are getting this error when clicking 'new order' from Admin Home -> Customers -> Customers :
    Server error
    The website encountered an error while retrieving http://localhost/XXXXXX/new_order.ph...222&action=new. It may be down for maintenance or configured incorrectly.
    Here are some suggestions:
    Reload this webpage later.
    HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.
    The link shown in the address bar is:

  6. #6
    Join Date
    Feb 2012
    Location
    mostly harmless
    Posts
    1,809
    Plugin Contributions
    8

    Default Re: New Version: 1.2

    Quote Originally Posted by relish View Post
    On Zencart 1.5.0 ... we are getting this error when clicking 'new order' from Admin Home -> Customers -> Customers ... The website encountered an error while retrieving ...
    What error message is recorded in the server logs as the cause of the "Internal Server Error"? What version of PHP is your web server running?

    Quote Originally Posted by relish View Post
    The link shown in the address bar is: "http://localhost/XXXXXX/new_order.php?cID=222&action=new"
    Can I safely assume your admin folder is named XXXXXX (or you masked the admin name with XXXXXX)? Are you running this on localhost (or masking a domain)?
    The glass is not half full. The glass is not half empty. The glass is simply too big!
    Where are the Zen Cart Debug Logs? Where are the HTTP 500 / Server Error Logs?
    Zen Cart related projects maintained by lhûngîl : Plugin / Module Tracker

  7. #7
    Join Date
    Jun 2012
    Posts
    33
    Plugin Contributions
    1

    Default Re: New Version: 1.2

    Quote Originally Posted by lhungil View Post
    What error message is recorded in the server logs as the cause of the "Internal Server Error"? What version of PHP is your web server running?

    Can I safely assume your admin folder is named XXXXXX (or you masked the admin name with XXXXXX)? Are you running this on localhost (or masking a domain)?
    I have masked the admin folder name with XXXXXX
    Running it on localhost XAMP
    Please see server info below
    Click image for larger version. 

Name:	Clipboard02.jpg 
Views:	194 
Size:	15.5 KB 
ID:	11384

  8. #8
    Join Date
    Apr 2012
    Posts
    10
    Plugin Contributions
    0

    Default Re: New Version: 1.2

    Working on Zen Cart 1.5 (had working Edit Order 4.03)

    I installed Admin New Order V1.2. Was getting the same error messages to the language files the Canvas 101 earlier. So, I uninstalled both Admin New Order and Edit Order to get back to a clean file. I am still getting the following text in my invoices after the Admin New Order is uninstalled.Click image for larger version. 

Name:	Capture.JPG 
Views:	61 
Size:	16.3 KB 
ID:	12569

    Could someone please tell me where/how to fix this for my invoices?

    Thanks.

  9. #9
    Join Date
    Feb 2012
    Location
    mostly harmless
    Posts
    1,809
    Plugin Contributions
    8

    Default Re: New Version: 1.2

    Quote Originally Posted by shamanicconnection View Post
    ...
    I installed Admin New Order V1.2. Was getting the same error messages to the language files the Canvas 101 earlier.
    ...
    If you are getting error messages when installing "Admin New Order", this means something was not installed correctly.

    If the messages were about missing / unable to load language files, most likely one of the merges was missed (98% of the time is the cause). Another possibility is your Zen Cart "/admin/includes/configure.php" may have some invalid or strange settings (2% of the time this is the cause).

    Quote Originally Posted by shamanicconnection View Post
    ...
    I uninstalled both Admin New Order and Edit Order ... Could someone please tell me where/how to fix this for my invoices?
    ...
    What exact page is that screen shot from? "/admin/invoices.php"? If so, something other than Edit Orders or Admin New Customer has modified the file (neither of these two plugins / modules touch the file). I repeat, neither of these modules make changes to "/admin/invoices.php".

    That said, you should be able to copy over a clean version of "/admin/invoices.php" (download a clean copy of Zen Cart's distribution zip file and extract the original file). Keep in mind whatever other modifications have been made in your Zen Cart installation to "/admin/invoice.php" will be lost.
    The glass is not half full. The glass is not half empty. The glass is simply too big!
    Where are the Zen Cart Debug Logs? Where are the HTTP 500 / Server Error Logs?
    Zen Cart related projects maintained by lhûngîl : Plugin / Module Tracker

  10. #10
    Join Date
    May 2006
    Location
    Chester, UK
    Posts
    99
    Plugin Contributions
    0

    Default Re: New Version: 1.2

    Hi

    Great Plugin By the Way! I installed as instructed (Installed 'Edit Orders' with no issues and then 'Admin New Order'). All seems to work but I've noticed that I'm not getting 'total' on the Edit Order Page. See ScreenShot Below:-

    Click image for larger version. 

Name:	AdminNewOrder.jpg 
Views:	64 
Size:	19.8 KB 
ID:	12577

    The only other plugin I've installed that may be conflicting with this plugin is:-

    http://www.zen-cart.com/downloads.php?do=file&id=597

    Not sure if anyone can help point out whats causing the issue with the order totals?

    Many thanks


    Mark

 

 
Page 1 of 2 12 LastLast

Similar Threads

  1. Hebrew Support - latest release [Support Thread]
    By eranariel in forum Addon Language Packs
    Replies: 22
    Last Post: 26 Jan 2026, 06:47 AM
  2. Order Delivery Date Support Thread
    By mrmeech in forum Managing Customers and Orders
    Replies: 543
    Last Post: 23 Jul 2025, 02:20 AM
  3. v150 Admin New Customer [Support Thread]
    By lhungil in forum All Other Contributions/Addons
    Replies: 34
    Last Post: 4 Nov 2016, 06:20 AM
  4. JK Order Exporter - Support Thread
    By eVelt in forum All Other Contributions/Addons
    Replies: 4
    Last Post: 26 Sep 2015, 07:06 AM
  5. Admin Simple Create Order [Support Thread]
    By ivan.kristianto in forum All Other Contributions/Addons
    Replies: 121
    Last Post: 15 Sep 2015, 03:08 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg