Page 232 of 248 FirstFirst ... 132182222230231232233234242 ... LastLast
Results 2,311 to 2,320 of 2475
  1. #2311
    Join Date
    Nov 2007
    Posts
    57
    Plugin Contributions
    2

    Default Customers not receiving points

    I installed the latest version of the module on 1.5.0 and everything seems to work fine except customers never actually get their points. It shows them in the sidebox, but once the order is placed they don't actually get the points. They don't appear as pending or earned.

  2. #2312
    Join Date
    Jul 2007
    Posts
    2,169
    Plugin Contributions
    16

    Default Re: Customers not receiving points

    Quote Originally Posted by vmmeup View Post
    I installed the latest version of the module on 1.5.0 and everything seems to work fine except customers never actually get their points. It shows them in the sidebox, but once the order is placed they don't actually get the points. They don't appear as pending or earned.
    Please re-check your installation of Reward Points to see if all files has uploaded to the correct directories. Check the additional alterations to modified core files in reward points, it's likely one of those is the cause of the issue..
    Is your site Upgraded to the current version 1.5.4 Yet?
    zencart-upgrades-website-installation

  3. #2313
    Join Date
    May 2008
    Posts
    182
    Plugin Contributions
    0

    Default Re: Rounding problem when converting from points to $ in Total Order

    Quote Originally Posted by picandnix View Post
    Have you updated the status of their order? The system is most likely not awarding points until it is marked as 'paid'?
    The order status goes from
    pending [1]
    processing[2]
    posted[3]

    I update to posted when the item has been sent.
    I don't have a "paid"
    www.candlewithcare.co.uk
    Luxury Scented
    Candles at great prices!

  4. #2314
    Join Date
    Jul 2007
    Posts
    2,169
    Plugin Contributions
    16

    Default Re: Rounding problem when converting from points to $ in Total Order

    Quote Originally Posted by CandleMan View Post
    The order status goes from
    pending [1]
    processing[2]
    posted[3]

    I update to posted when the item has been sent.
    I don't have a "paid"
    You can create any status name you like, It doesn't matter when you change the status the points should transfer. Look under admin/Reward Points Configuration/ Reward Point Status Track and choose the advance settings. Set the order status items that will trigger a transfer of the reward points.
    Is your site Upgraded to the current version 1.5.4 Yet?
    zencart-upgrades-website-installation

  5. #2315
    Join Date
    Mar 2009
    Location
    Italy
    Posts
    155
    Plugin Contributions
    0

    Default Re: Rounding problem when converting from points to $ in Total Order

    Hi, I'm posting the solution to the problems addressed with Edit Order plugin.

    Eg. If You Edit and order when you hit the update button you get a blank page and an error log reporting a Call to undefined function GetRewardPoints()

    If You have installed both You need to add some function in the \admin\includes\functions\extra_functions\reward_points_functions.php
    Just before the /* at the end add:

    PHP Code:
    function GetRewardPoints($products)
    {
        
    $reward_points=0;
        if(
    REWARD_POINT_MODE=='0')
        {
            foreach(
    $products as $product)
             if(isset(
    $product['qty']))
              
    $reward_points+=GetProductRewardPoints($product['id'],$product['attributes'])*$product['qty'];
             else
              if(isset(
    $product['quantity']))
               
    $reward_points+=GetProductRewardPoints($product['id'],$product['attributes'])*$product['quantity'];
              else
               if(isset(
    $product['quantityField']))
                
    $reward_points+=GetProductRewardPoints($product['id'],$product['attributes'])*$product['quantityField'];
              else
               
    $reward_points="RP Error";
        }
        else
        {
            global 
    $order;
            
            
    $GlobalRewardPointRatio=GetGlobalRewardPointRatio();
            if(isset(
    $_SESSION['cart']))
             
    $reward_points=zen_round($_SESSION['cart']->show_total()*$GlobalRewardPointRatio-REWARD_POINTS_ROUNDING,0);
             
            if(isset(
    $order) && isset($order->info))
             if(
    REWARD_POINTS_ALLOW_TOTAL=='0' && isset($order->info['subtotal']))
              
    $reward_points=zen_round($order->info['subtotal']*$GlobalRewardPointRatio-REWARD_POINTS_ROUNDING,0);
             else
              if(isset(
    $order->info['total']))
               
    $reward_points=zen_round($order->info['total']*$GlobalRewardPointRatio-REWARD_POINTS_ROUNDING,0);
        }
        return 
    $reward_points;
    }

    function 
    GetProductRewardPoints($products_id,$attributes=null)
    {
        global 
    $db;
        
    $reward_price=0;
        
        if(
    zen_get_products_price_is_free($products_id)==false || REWARD_POINTS_ALLOW_ON_FREE=='1'// Allow RP on free items (Admin settable)
        
    {
            
    $sql "SELECT prp.point_ratio*p.products_price AS reward_points, prp.point_ratio, p.products_price, p.products_priced_by_attribute 
                    FROM "
    .TABLE_REWARD_MASTER." prp, ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c 
                    WHERE p.products_id='" 
    $products_id "'
                    AND p2c.products_id='" 
    $products_id "'
                    AND ((prp.scope_id=p.products_id AND prp.scope='"
    .SCOPE_PRODUCT."') 
                    OR (p.products_id=p2c.products_id AND prp.scope_id=p2c.categories_id AND prp.scope='"
    .SCOPE_CATEGORY."')
                    OR (prp.scope='"
    .SCOPE_GLOBAL."'))
                    ORDER BY prp.scope DESC LIMIT 1;"
    ;
        
            
    $result=$db->Execute($sql);
        
            if(
    $result)
            {
                if(
    zen_has_product_attributes($products_id,'false') && !$attributes)
                 
    $reward_price=zen_get_products_base_price($products_id);
                else
                 
    $reward_price=$result->fields['products_price'];
                 
                
    //echo '['.$reward_price.'=';
                //print_r($attributes);
                //echo ']';
                
                
    $special_price=zen_get_products_special_price($products_id);
                
                if(
    REWARD_POINTS_SPECIAL_ADJUST=='1' && $special_price && !$attributes)
                 
    $reward_price=$special_price;
            
                
    // Calculate attribute pricing
                //if($result->fields['products_priced_by_attribute']=='1' && $attributes!=null)
                
    if($attributes!=null)
                 if(isset(
    $attributes[0]['option_id']))
                  foreach(
    $attributes as $attribute)
                   
    $reward_price+=CalculateRewardPointsOnAttribute($products_id,$attribute['option_id'],$attribute['value_id']);
                 else
                  foreach(
    $attributes as $option_id => $value_id)
                   
    $reward_price+=CalculateRewardPointsOnAttribute($products_id,$option_id,$value_id);
            }
        }

        
    //echo '::'.$reward_price.', '.$result->fields['point_ratio'].', '.REWARD_POINTS_ROUNDING.'::';
        
    $reward_points=($reward_price*$result->fields['point_ratio'])-REWARD_POINTS_ROUNDING;
        if(
    $reward_points<0)
         
    $reward_points=0;
         
        return 
    zen_round($reward_points,0);
    }

    function 
    CalculateRewardPointsOnAttribute($products_id,$option_id,$value_id)
    {
        global 
    $db;
        
        if(
    $attribute=$db->Execute("SELECT products_attributes_id, attributes_discounted, options_values_price, price_prefix FROM ".TABLE_PRODUCTS_ATTRIBUTES." WHERE products_id='".$products_id."' AND options_id='".$option_id."' AND options_values_id='".$value_id."';"))
         if(
    REWARD_POINTS_SPECIAL_ADJUST=='1' && $attribute->fields['attributes_discounted']=='1')
          
    $new_attributes_price=zen_get_discount_calc($products_id,$attribute->fields['products_attributes_id'],$attribute->fields['options_values_price'],1);
         else 
          
    $new_attributes_price=$attribute->fields['options_values_price'];
          
        return (
    $attribute->fields['price_prefix']=='-'?-$new_attributes_price:$new_attributes_price);
    }

    function 
    GetRedeemRatio($customers_id)
    {
        global 
    $db;
        
        
    $sql "SELECT redeem_ratio 
                FROM "
    .TABLE_REWARD_MASTER." prp, ".TABLE_CUSTOMERS." as c
                LEFT JOIN("
    .TABLE_GROUP_PRICING." as gp) ON (gp.group_id=c.customers_group_pricing)
                WHERE c.customers_id='"
    .(int)$customers_id."'
                AND ((prp.scope_id='"
    .$customers_id."' AND prp.scope='".SCOPE_CUSTOMER."')
                OR (gp.group_id=c.customers_group_pricing AND prp.scope_id=gp.group_id AND scope='"
    .SCOPE_GROUP."')
                OR (prp.scope='"
    .SCOPE_GLOBAL."'))
                ORDER BY prp.scope DESC LIMIT 1;"


        
    $result=$db->Execute($sql);

        if(
    $result)
         return 
    $result->fields['redeem_ratio'];
        else
         return 
    0;
    }

    function 
    GetRewardPointsRedeemMaximum($order_total)
    {
        
    $redeem_ratio=GetRedeemRatio($_SESSION['customer_id']);
        
    $order_total_points=zen_round($order_total/$redeem_ratio,0);

        if((double)
    REWARD_POINTS_REDEEM_MAXIMUM>0)
         if(
    strpos(REWARD_POINTS_REDEEM_MAXIMUM,"%")!==false)
          return 
    zen_round($order_total_points*((double)REWARD_POINTS_REDEEM_MAXIMUM/100),0);
         else
          if(
    $order_total_points>REWARD_POINTS_REDEEM_MAXIMUM)
           return 
    zen_round(REWARD_POINTS_REDEEM_MAXIMUM,0);

        return 
    zen_round($order_total_points,0);
    }

    function 
    GetCustomersRewardPoints($customers_id)
    {
        
    $result=GetCustomerRewardPointsRecord($customers_id);
        if(
    $result)
         return (int)
    $result->fields['reward_points'];
        else
         return 
    0;
    }

    function 
    GetCustomersPendingPoints($customers_id)
    {
        
    $result=GetCustomerRewardPointsRecord($customers_id);
        if(
    $result)
         return (int)
    $result->fields['pending_points'];
        else
         return 
    0;
    }

    function 
    GetCustomersLastOrderID($customers_id)
    {
        global 
    $db;
        
        
    $orders_lookup_query="SELECT orders_id FROM ".TABLE_ORDERS." WHERE customers_id = '".(int)$customers_id."' ORDER BY orders_id DESC LIMIT 1";
        
    $orders_lookup $db->Execute($orders_lookup_query);
        if(isset(
    $orders_lookup->fields))
         return 
    $orders_lookup->fields['orders_id'];
        else
         return 
    0;
    }

    function 
    ExtractNumber($str)
    {
        if(
    preg_match("/^[0-9]*[\.]{1}[0-9-]+$/",$str,$match))
         return 
    floatval($match[0]);
        else
         return 
    floatval($str);    
    }

    function 
    GetOrderTotalsArray($called_by)
    {
        global 
    $order_total_modules;
        
        
    $order_total_array = array();
        
    $modules=$order_total_modules->modules;
        if(
    is_array($modules))
        {
            
    reset($modules);
            while (list(,
    $value)=each($modules)) 
            {
                
    $class=substr($value0strrpos($value'.'));
                if(
    $class!=$called_by && isset($GLOBALS[$class]))
                {
                    
    $output_backup=$GLOBALS[$class]->output;
                    if(
    sizeof($GLOBALS[$class]->output)==0)
                     
    $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);
                      
                    
    $GLOBALS[$class]->output=$output_backup;
                }
            }
        }
        return 
    $order_total_array;
    }

    function 
    GetRewardPointAdvancedCalculateValue()
    {
        
    $value=0;
        
        
    $module_list=GetRewardPointAdvancedCalculateTable();
        
        foreach(
    $module_list as $module)
         if(
    $module['action']=="Subtract")
          
    $value-=GetOrderTotalValue($module['module']);
         else
          
    $value+=GetOrderTotalValue($module['module']);
          
        return 
    $value;
    }

    function 
    GetOrderTotalValue($module)
    {
        global 
    $order;
        
    $value=0;
        
        if(isset(
    $GLOBALS[$module]) && isset($order->info))
        {
            
    //print_r($GLOBALS[$module]->output);
            //$output_backup=$GLOBALS[$module]->output;
            //$order_info_backup=$order->info;
            //if(sizeof($GLOBALS[$module]->output)==0)
             //$GLOBALS[$module]->process();
            
    for($loop=0;$loop<sizeof($GLOBALS[$module]->output);$loop++)
             if(
    zen_not_null($GLOBALS[$module]->output[$loop]['value']))
              
    $value+=$GLOBALS[$module]->output[$loop]['value'];
                      
            
    //$GLOBALS[$module]->output=$output_backup;
            //$order->info=$order_info_backup;
        
    }
        return 
    $value;

    It should work now

  6. #2316
    Join Date
    Mar 2009
    Location
    Italy
    Posts
    155
    Plugin Contributions
    0

    Default Re: Rounding problem when converting from points to $ in Total Order

    I've a question about how it works with attributes.
    I've products with attributes that change the price (i.e. Standard - Big (+10.00$) - etc. ) if I select different attributes the Rewarded points on the product pages don't change, yet if I add the product to cart, different attributes will change the price and the points in the cart will change as a result.

    Should the points displayed change "on the fly" when i select different attributes? Or am I wrong?
    If so, where should i look to find out why It doesen't work for me (i.e. which file care about the "on the fly" update?)?

    Thanks

  7. #2317
    Join Date
    Jul 2007
    Posts
    2,169
    Plugin Contributions
    16

    Default Re: Rounding problem when converting from points to $ in Total Order

    Quote Originally Posted by izar74 View Post
    I've a question about how it works with attributes.
    I've products with attributes that change the price (i.e. Standard - Big (+10.00$) - etc. ) if I select different attributes the Rewarded points on the product pages don't change, yet if I add the product to cart, different attributes will change the price and the points in the cart will change as a result.

    Should the points displayed change "on the fly" when i select different attributes? Or am I wrong?
    If so, where should i look to find out why It doesen't work for me (i.e. which file care about the "on the fly" update?)?

    Thanks
    Thanks for the code above. It will benefit a lot of people who has the same problem with edit orders.

    Your other problem I have no idea why it's not updating. I know there is a module Dynamic Price Updater that will update your price on the fly but it still will not change the points status when using attributes. if someone is inclined to find the problem they can update the module or share the code which adds the fixes, then it will be included..
    Last edited by countrycharm; 9 Nov 2013 at 09:01 PM.
    Is your site Upgraded to the current version 1.5.4 Yet?
    zencart-upgrades-website-installation

  8. #2318
    Join Date
    Mar 2009
    Location
    Italy
    Posts
    155
    Plugin Contributions
    0

    Default Re: Rounding problem when converting from points to $ in Total Order

    You are welcome countrycharm, the point is that i don't know if it shoud update automatically or not. In a poste i read tha it should.. but i'm not sure.
    As regards Dynamic Price Update It only take care of the price not of the Reward points, installing it or not doesn't chane anything.

  9. #2319
    Join Date
    Jul 2007
    Posts
    2,169
    Plugin Contributions
    16

    Default Re: Rounding problem when converting from points to $ in Total Order

    Quote Originally Posted by izar74 View Post
    You are welcome countrycharm, the point is that i don't know if it shoud update automatically or not. In a poste i read tha it should.. but i'm not sure.
    As regards Dynamic Price Update It only take care of the price not of the Reward points, installing it or not doesn't chane anything.
    That's what I said............
    Quote Originally Posted by countrycharm View Post
    Thanks for the code above. It will benefit a lot of people who has the same problem with edit orders.

    Your other problem I have no idea why it's not updating. I know there is a module Dynamic Price Updater that will update your price on the fly but it still will not change the points status when using attributes. if someone is inclined to find the problem they can update the module or share the code which adds the fixes, then it will be included..
    Maybe someone else will know or help. I haven't the time at the moment to investigate why.
    Is your site Upgraded to the current version 1.5.4 Yet?
    zencart-upgrades-website-installation

  10. #2320
    Join Date
    Jun 2012
    Posts
    50
    Plugin Contributions
    0

    Default Re: Rounding problem when converting from points to $ in Total Order

    quick question here: how can i NOT display the points on the product info page and only have the points calculate during the checkout?

    Thank you in advance.

 

 

Similar Threads

  1. v139h Reward Points module display order totals including reward points
    By irsarahbean in forum All Other Contributions/Addons
    Replies: 0
    Last Post: 23 Jun 2013, 01:19 AM
  2. Reward points module : 0 points earned
    By jonnyboy22 in forum Addon Payment Modules
    Replies: 5
    Last Post: 5 Jun 2012, 09:52 AM
  3. Reward Points module- points not calculated correctly
    By cpoet in forum All Other Contributions/Addons
    Replies: 0
    Last Post: 9 Sep 2010, 05:02 PM
  4. Reward Points Module - Hide message when 0 points offered
    By expresso in forum All Other Contributions/Addons
    Replies: 0
    Last Post: 11 Dec 2008, 06:58 PM
  5. Experimental Reward Points Module
    By precursor999 in forum Addon Payment Modules
    Replies: 7
    Last Post: 2 Apr 2007, 09:32 AM

Bookmarks

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
Zen-Cart, Internet Selling Services, Klamath Falls, OR