Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Claudia

  1. I think I have all the above sorted out, but now these are popping up in my admin system error log. There's more but you get the idea.  Also I keep getting logged out of admin.


                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/session.class.php:676 - strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated



                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/session.class.php:676 - htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated



    [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/debug.class.php:260 - strstr(): Passing null to parameter #1 ($haystack) of type string is deprecated



                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated


                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated



                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated


                [<strong>Deprecated</strong>] /home/xxxxx/public_html/classes/db/database.class.php:184 - strtolower(): Passing null to parameter #1 ($string) of type string is deprecated



                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated



    [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated


                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated



    [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated



                [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated



                Today, 14:20   [<strong>Deprecated</strong>] /home/xxxxxx/public_html/classes/cache/file.class.php:224 - preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated


  2. I have updated my store to 6.4.9 using the stock code downloaded from the CubeCart home page.  I've come across some issues.


    1.  My PHP version was downgrade to 7.4.3 from the 8.1.13 I was using.

    2.  My administrator for Ian (Havenswift) disappeared

    3.  The update to change the alt tag for photos in admin isn't there

    4.  Even though I have Venmo unchecked in the PayPal Commerce plugin it was checked after the upgrade and I had to manually uncheck it.


    I use a custom skin and went thru each file from the Foundation skin with stock 6.4.9 and made the appropriate changes.

    When I upgraded the image portion of the code in the content.products ( I merged the files ) I got a white screen and the following error.

    Note the extra ) here:  {$LANG.catalogue.click_enlarge}"{if isset($image.image_tags.title))}

    When I deleted it, it worked fine


      [<strong>Exception</strong>] /home/xxxxxxx/public_html/includes/lib/smarty/sysplugins/smarty_internal_templatecompilerbase.php:32 - Syntax error in template "file:/home/xxxxxxx/public_html/skins/xxxxxxx-1/templates/content.product.php" on line 32 "<li><a href="{$image.source}" class="th"><img src="{$image.small}" data-image-swap="{$image.medium}" data-caption="{$PRODUCT.name}{if !empty($image.description)}: {/if}{$image.description}" class="image-gallery" alt="{if isset($image.image_tags.alt) && !empty($image.image_tags.alt)}{$image.image_tags.alt}{else}{$image.name}{/if} - {$LANG.catalogue.click_enlarge}"{if isset($image.image_tags.title))} title="{$image.image_tags.title}"{/if}></a></li>" - Unexpected ")", expected one of: "}"

  3. I am assuming that if the above notification is checked or not Cubecart will always send a customer an email when an order is initially placed.  Correct?

    If so, how can I have this box checked by default. I don't want to send an email automatically thru Cubecart when the order is completed.

    Also the change password and cancel order emails will still be sent if needed, right?

    Thanks for any and all help

  4. Product Appearances

    Hi Brian,

    First off thank you for this - it is wonderful!  I've tweaked it a little to add columns that I use. I don't know if that has anything to do with the error I keep getting but I wanted you to be aware of it.  Also I didn't add any of my custom columns below because I really don't use the language/ definitions file much.  I have it hard coded in the product order index file.


    if ($existing_orders) {

                                        $product_orders_thead = array(

                                          'cart_order_id'   => $lang['orders']['order_number'],

                                          'cart_oid'   => $lang['common']['order_id'],

                                          'cart_customer' => $lang['orders']['customer_name'],

                                          'gateway_name' => $lang['orders']['gateway_name'],

                                          'shipping_date' => $lang['orders']['shipping_date'],

                                          'shipping_method' => $lang['orders']['shipping_method'],



    [20-Nov-2022 21:27:45 America/Louisville] PHP Warning:  count(): Parameter must be an array or an object that implements Countable in /home/xxxxxxx/public_html/modules/plugins/Product_Appearances/hooks/admin.product.tabs.php on line 22


    Line 22:

    $GLOBALS['main']->addTabControl($lang['orders']['title_orders'], 'orders',null,null,count($existing_orders),'_self',10);


    Also even if there are no orders for a product 1 in a red circle on the product / orders tab


    I'm not complaining, very thankful for this, just thought you might like to know


    PA Order Info.PNG

    PA Orders red.PNG

  5. "Create a custom product condition column in the database, use that to show to customers, and have the standard set of conditions provided by CubeCart for this markup file. "

    I did this many moons ago when you showed my how to create a SpecialData Tab

    I added this to the admin/ sources/product.index.inc file and in the definitions file

    // List Conditions
    $smarty_data['list_conditions'] = array (

    'nos' => $lang['catalogue']['condition_nos'],
        'new' => $lang['catalogue']['condition_new'],
           'vintage' => $lang['catalogue']['condition_vintage'],
        'antique' => $lang['catalogue']['condition_antique'],

        'used' => $lang['catalogue']['condition_used'],
        'refurbished' => $lang['catalogue']['condition_refurbished'],
        'damaged' => $lang['catalogue']['condition_damaged']

    And added this to my custom admin product.index file:

     <div><label for="condition">{$LANG.catalogue.condition}</label>
                <select name="condition" id="condition" class="textbox" type="text">
                {foreach from=$CONDITIONS item=condition}
                   <option value="{$condition@key}"{if $PRODUCT.condition == $condition@key} selected="selected"{/if}>{$condition}</option>

    Do you think this will work ok?

  6. Hi,

    I'm getting this from Google, for my new site,  on the "Pages" in search console.  They haven't indexed any of my pages.  Any help is appreciated.  If it means anything I don't use the stock conditions in CC.  I've made my own. I also don't use the gtin,etc. because most of my items are vintage

    Search Console has identified that your site is affected by 2 Merchant listings structured data issue(s). The following issues were found on your site.

    *Critical issues prevent your page or feature from appearing in Search results.

  7. I have Semper fis plugin but it doesn't work anymore.  I'm talking about my site based on foundation.  I made my own template for it and put it in content.main


    <div class="row {$SECTION_NAME}_wrapper marg-bottom">
               <div class="medium-3 large-3 columns show-for-medium-up marg-bottom thinmarg-top" id="sidebar_left">
               {include file='templates/content.vertical_menu_small_only.php'}
      {include file='templates/content.vertical_menu_medium_up.php'}
                   <div class="small-12 medium-9 large-9 columns" id="main_content">

    TEMPLATE in Part

     <div style="background-color:#C0C0C0; border-width: 1px; border-style: solid; border-color: #C0C0C0;border-top-left-radius:3px; border-top-right-radius:3px; text-align:center">Categories</div>
     <div class="vmenu">
     <div class="vm-div"><a class="vm-ebay-txt" href="/listed-only-on-ebay">Listed only on eBay</a></div>
     <div class="vm-div"><a class="vm-etsy-txt" href="/listed-only-on-etsy">Listed only on Etsy</a></div>
     <div class="vm-div"><a class="vm-link-txt" href="/ashtrays">Ashtrays </a><span class="pad-left"> &#187;</span></div>
     <div class="vm-div"><a class="vm-link-txt" href="/beer-and-liquor">Beer and Liquor<span class="pad-left"> &#187;</span></div>

     <div class="vm-div"><a class="vm-txt" href="/books">Books</a></div>



    That looks like what I want, but how do I set it up to work with Foundation. Do I make at template with everything in it?  Or where do I put the script?  I have tried this on and off for years and could never get it to work.  Are there any other files I need to upload, and if so where do I put them.  I won't be using the category names per CubeCart per s, I'll code it all aout manually.  I'll use the correct URL just might change the category wording

    Looking closer that jqueryui isn't exactly what I want.

    I don't need paragraphs - just lists with no bullets I guess something like this

    <li><a href="#">Item 2</a></li>
      <li><a href="#">Item 3</a></li>
      <li><a href="#">Item 4</a></li>

    See this - I don't know how to get it to work with cubecart though.

    Foundation Vertical Menu

  8. I have tried stock code, I have changed my code around and this still happens.  Only on the product page.  The category page does not show the buy button - it shows my availability button.  But on the product page the quantity does not change until I clear the cache in admin.  Is this the way it's always been and I'm just now noticing it?  If so, what happens if someone buys something and I'm not around to clear the cache.  Can they buy over the inventory I have.  I've probably done something stupid that I haven't found yet.  I just don't know.  No code snippets or plugins I use could cause this.  I use AIOS, PayPal, Store Health Check (Daren) and a couple of snippets Brian made for me.

  9. "Main stock level as matrix stock level summary".  unchecked

    I don't use options

    Not sure what you mean by stale stock level.  Here is my code for the content.product in my skin FYI:  I have all my product code in this file.  I don't use call to action, horizonal, vertical

    <div class="row collapse">
       {if $PRODUCT.available <= 0}
        <div class="small-12 columns">
                      <div class="font13"> </div>   

     <div class="prodprice" style="border-top:1px dotted #C0C0C0;">
                   {if $PRODUCT.ctrl_sale}
                   <span class="old_price" id="fbp"{if !$CTRL_HIDE_PRICES} data-price="{$PRODUCT.full_base_price}"{/if}>{$PRODUCT.price}</span>
                   <span class="sale_price" id="ptp"{if !$CTRL_HIDE_PRICES} data-price="{$PRODUCT.price_to_pay}"{/if}>{$PRODUCT.sale_price}</span>
                   <span class="ptp" {if !$CTRL_HIDE_PRICES} data-price="{$PRODUCT.price_to_pay}"{/if}>{$PRODUCT.price}</span>
                 <div class="row collapse">
                <div class="small-2 medium-3 columns">
          <input type="text" name="quantity" value="1" maxlength="3" class="quantity required text-center" >
          <input type="hidden" name="add" value="{$PRODUCT.product_id}">

       <div  class="small-10 medium-9 columns">
          <link itemprop="availability" href="http://schema.org/InStock" />
          <button type="submit" value="Add to Basket" class="nopad button greenb postfix expand ">Add to Basket</button>
       {if $CTRL_HIDE_PRICES}
    <p class="buy_button"><strong>{$LANG.catalogue.login_to_view}</strong></p>
       {else if $CTRL_OUT_OF_STOCK}
       <link itemprop="availability" href="http://schema.org/OutOfStock" />
       <div class="font13  pad-top ">Not available for purchase thru this store </div>

     {if $PRODUCT.stock_level}
      <div class="row collapse">
      <div class="small-12 medium-11 large-11 columns">
      <div class="font14 bold pad-top ">{$PRODUCT.stock_level}&nbsp;&nbsp;Available thru this Store</div>   

      <div class="row collapse">
      <div class="small-12 medium-12 large-12 columns">
      <div class="font12">Place quantity to purchase in the box - up to the available limit</div>   
     </div> </div>



  10. This is the only code change in that file - Line 755

    // START My do not show product on Cat Page if Sold    
    $where = " AND INV.available = '1'";
            $where2 = $this->outOfStockWhere(false, 'INV', true);
            if (($result = $GLOBALS['db']->query('SELECT I.product_id FROM `'.$GLOBALS['config']->get('config', 'dbprefix').'CubeCart_category_index` as I,  `'.$GLOBALS['config']->get('config', 'dbprefix').'CubeCart_inventory` as INV WHERE I.cat_id = '.$category_id.' AND I.product_id = INV.product_id AND INV.status = 1'.$where.$where2)) !== false) {
              // END My do not show product on Cat Page if Sold Make sure this is on its own line
                $this->_category_count = $GLOBALS['db']->numrows();
                if (isset($_GET['sort']) && is_array($_GET['sort'])) {
                    foreach ($_GET['sort'] as $field => $direction) {
                        $order[$field] = (strtolower($direction) == 'asc') ? 'ASC' : 'DESC';


    This is my code starting at Line 1385.  Stock CC6.4.7

    public function getProductStock($product_id = null, $options_identifier_string = null, $return_max = false, $check_existing = false, $quantity = false)
            // Choose option combination specific stock
            if (is_numeric($product_id) && (!empty($options_identifier_string) || $return_max == true)) {
                if ($return_max) {
                    $rows = 'MAX(stock_level) AS `stock_level`';
                    $where = array('product_id' => (int)$product_id, 'status' => 1, 'use_stock' => 1);
                } else {
                    $rows = array('stock_level', 'restock_note');
                    $where = array('product_id' => (int)$product_id, 'options_identifier' => $options_identifier_string, 'status' => 1, 'use_stock' => 1);
                if($products_matrix = $GLOBALS['db']->select('CubeCart_option_matrix', $rows, $where, false, 1, false, false)) {
                    if (is_numeric($products_matrix[0]['stock_level'])) {
                        if (!empty($products_matrix[0]['restock_note'])) {
                            $GLOBALS['session']->set('restock_note', $products_matrix[0]['restock_note']);
                        return $products_matrix[0]['stock_level'];

            // Fall back to traditional stock check if there are no results for the combination or it is not used
            if (is_numeric($product_id) && ($products = $GLOBALS['db']->select('CubeCart_inventory', array('stock_level'), array('product_id' => (int)$product_id), false, 1, false, false)) !== false) {
                // Check this product id isn't already in the cart with different options identifier
                if ($check_existing) {
                    if (is_array($check_existing)) {
                        foreach ($check_existing as $key => $value) {
                            if ($value['id'] == $product_id) {
                                $products[0]['stock_level'] -=     $quantity;

                return $products[0]['stock_level'];

            return false;



  • Create New...