Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

1 Follower

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I did have a rewrite set up in .htaccess to catch links coming from mysupplier.com to send to the supplier product page in my online store. I recently found that it was no longer working (probably since the site migration from old to new host years ago). The problem is that the link to www.mysite.com.au from https://www.mysupplier.com/en/retailer/online-stores/australasia/ is ending up at http://www.mysite.com.au instead of being captured by mod-rewrite and being redirected to https://www.mysite.com.au/shop/supplier-stuff.html I can't see anything in .htaccess that would be pushing the link to http instead of https, even if the referrer is not being caught properly. Is there somewhere else in cPanel that might be pushing the referrer link to http before/over my rules in .htaccess? --- This is the section in .htaccess that should be working: RewriteEngine on ## Options +FollowSymLinks RewriteCond %{HTTP_REFERER} ^https://.*mysupplier.*$ [NC, OR] RewriteCond %{HTTP_REFERER} ^http(s)?://(www.)?mysupplier.*$ [NC] RewriteRule ^(.*)$ https://www.mysite.com.au/shop/supplier-stuff.html [R,L]
  2. It would help more people than just me if plugin release notes specified which version of CubeCart they were designed for (not just v6). It would also help if older plugins were still available rather than being redirected to a new version that may not be compatible with my store. Yes, I understand that keeping CubeCart bog standard makes things easier, but it doesn't meet every business need so my own upgrades are more difficult and spaced further apart. Back to my original question: Is the PayPal Commerce plugin only for UK, France, Italy, Spain - or is it going to work for all countries including Australia/New Zealand?
  3. Is this only for UK, France, Italy, Spain - or is it going to work for all countries including Australia/New Zealand? Is this only for Cubecart 6.2.9 and php 7.4.7, or will it work for older versions like 6.1.14 and php 7.0.33 (or older v6 cubecarts and php 5.6)? More generally, are plugin updates being recommended by cubecart always compatible with the version of cubecart and php that is currently installed?
  4. I need help thinking in MySQL - working in phpMyAdmin. I want to create a query to: join order_inventory to order_summary by the order number use all of the order_inventory columns but also add the status column from order_summary (where status = processing) filter the list to show only products that DO NOT contain 2021 in the product name
  5. Something like this under the filter on products.index.php <br><button onclick='window.location.search+="&q="+prompt("enter string:");'>Search</button> Not working for me though (because I had it inside the exisiting form). But the idea would be you filter for a category and then tweak the results by searching for an item in that category. Although I DID get it to work externally as a bookmarklet, so I'll use this for now: javascript:window.location.search+="&q="+prompt("enter string:"); It is messy because it keeps appending and appending and appending to the URL, but only the last value gets used so it does work. Also, I can search for multiple words in the same way as the search slide out box.
  6. Would a simple approach be to use a javascript prompt and append to the URL that way?
  7. I have been editing together the URL from the search and the filter to get a filtered search result. What about a simple javascript that takes a textbox value and adds it to the URL? window.location.search += 'q=searchboxtext';
  8. Is there an easy way to add a text box and submit button to (admin) products.index.php so that admin can search within a category for matching products? Just enough to change the submitted URL from admin_stuff.php?_g=products&cat_id=72 to admin_stuff.php?_g=products&q=searchtext&cat_id=72
  9. Is anyone using this successfully? Does anyone have advice or experience with this? How useful is it? What exactly does it do and not do? Does it help to track sales or just page visits? If it tracks sales, then does it work for all gateways?
  10. By 2018/2019 code, I'm just referring to when posts were added to this topic. And by "should be", I mean that the program should be robust enough to handle +/- as input, and also AND/NOT, like this example from 2001: https://evolt.org/Boolean_Fulltext_Searching_with_PHP_and_MySQL
  11. So, would that work for OR as well? In the 2018 changes above, OR still resulted in AND. If I make the 2019 changes above and I have links or adwords set to use AND, OR and NOT in searches, are they going to need to be changed to +/- or can this be handled in the search code? In my old version, I could use AND, OR and NOT to varying degrees. My search worked on parts of words, so I could filter results for a particular product code prefix, eg. PB, and then for an item name, then remove any unwanted results. So right now, I could search for: 2019 diaries NOT bronte which would bring up all remaining 2019 diaries but keep out the one journal which has text in the description that includes 2019 and that the Bronte sisters used to keep diaries.This is a section of old code (messy, and probably based on 6.0.12 or earlier) where you should see that AND OR and NOT were picked out using $usSearchTerm, and str_replace was used on the search string to cope with NOT / AND NOT. So maybe something similar in your 2018 code around: $like = ' AND ('.implode(' OR ', $regexp).' OR '.implode(' OR ', $regexp_desc).')'; $noKeys = count($searchArray); for ($i=0; $i<$noKeys; ++$i) { $ucSearchTerm = strtoupper($searchArray[$i]); if ( ($ucSearchTerm != 'AND') && ($ucSearchTerm != 'OR') && ($ucSearchTerm != 'NOT') && (strlen($ucSearchTerm) > 0) ) { $searchArray[$i] = str_replace(array('%','_'), array('\%','\_'), $searchArray[$i]); $regexp = '%'.$searchArray[$i].'%'; $rlike .= "(I.name LIKE '".$regexp."' OR I.description LIKE '".$regexp."' OR I.product_code LIKE '".$regexp."')"; // modified? $rlike = str_replace(array(')(',') NOT ('), array(') AND (',') AND NOT ('), $rlike); // add AND between words and cope with NOT // if($i+1 < $noKeys){$rlike .= " AND ";} // add AND between words } else { if(strlen($ucSearchTerm) > 0){ $rlike .= " ".$ucSearchTerm." "; } continue; } } $rlike .= " )"; In your 2019 code, if +robot -grumpy was a way to search, then robot NOT grumpy should also be acceptable/compatible.
  12. From what I can tell, this only seems to be working as an AND search. If I try "robot OR dog" what I'm getting is "robot AND dog". Can this be modified to work with AND, OR and NOT operators in the search, eg. robot AND dog, robot OR dog and robot NOT dog? Or a complex search like: robot red dog OR cat NOT plush - which would be treated as ((robot AND red) AND (dog OR cat)) NOT plush. Or even: robot dog OR grumpy cat NOT plush NOT small - ((robot AND dog) OR (grumpy AND cat)) NOT plush AND NOT small The purpose would be to show filtered search results only with no unwanted items. --- I'm sure I've posted similar long ago (and working code for 6.0.12), but can't see any of my comments in the forums before 2016. I can only glimpse a cached version in Google search results. In any case, having this working for 6.2.5 would be great. --- I'm also seeing errors like these in the System Error Log: File: [catalogue.class.php] Line: [1897] "SELECT COUNT(I.product_id) as count, MATCH (I.product_code,I.name,I.description) AGAINST('2019 DIARIES' IN BOOLEAN MODE) AS Relevance FROM CubeCart_inventory AS I LEFT JOIN (SELECT product_id, MAX(price) as price, MAX(sale_price) as sale_price FROM CubeCart_pricing_group WHERE group_id = 0 GROUP BY product_id) as G ON G.product_id = I.product_id WHERE I.product_id IN (SELECT product_id FROM `CubeCart_category_index` as CI INNER JOIN CubeCart_category as C where CI.cat_id = C.cat_id AND C.status = 1) AND I.status = 1 AND (MATCH (I.product_code,I.name,I.description) AGAINST('2019 DIARIES' IN BOOLEAN MODE)) >= 0.5 AND AND `live_from` < UNIX_TIMESTAMP() AND `live_from` < UNIX_TIMESTAMP() GROUP BY I.product_id ORDER BY `name` ASC " - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AND `live_from` < UNIX_TIMESTAMP() AND `live_from` < UNIX_TIMESTAMP() GROUP BY' at line 1 File: [catalogue.class.php] Line: [1997] "SELECT I.* FROM CubeCart_inventory AS I LEFT JOIN (SELECT product_id, MAX(price) as price, MAX(sale_price) as sale_price FROM CubeCart_pricing_group WHERE group_id = 0 GROUP BY product_id) as G ON G.product_id = I.product_id WHERE I.product_id IN (SELECT product_id FROM `CubeCart_category_index` as CI INNER JOIN CubeCart_category as C where CI.cat_id = C.cat_id AND C.status = 1) AND I.status = 1 AND AND `live_from` < UNIX_TIMESTAMP() AND `live_from` < UNIX_TIMESTAMP() AND ((I.name RLIKE '[[:<:]]2019[[:>:]]' AND I.name RLIKE '[[:<:]]DIARIES[[:>:]]') OR (I.product_code RLIKE '[[:<:]]2019[[:>:]]' AND I.product_code RLIKE '[[:<:]]DIARIES[[:>:]]') OR (I.seo_meta_keywords RLIKE '[[:<:]]2019[[:>:]]' AND I.seo_meta_keywords RLIKE '[[:<:]]DIARIES[[:>:]]') OR (I.description RLIKE '[[:<:]]2019[[:>:]]' AND I.description RLIKE '[[:<:]]DIARIES[[:>:]]')) ORDER BY `name` ASC LIMIT 18 OFFSET 0 " - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AND `live_from` < UNIX_TIMESTAMP() AND `live_from` < UNIX_TIMESTAMP() AND ((I.' at line 1 So I searched for this line: $query = $q2.' '.$order_string.' '.$limit; And added this before it: $q2 = str_replace("AND AND","AND", $q2); // fix AND AND
  13. I think you meant: * { white-space:normal!important; } So I tried this before the </head> tag in main.php, which did the trick: <style>.humm-main { white-space:normal!important; }</style> Thanks for your help! Problem solved.
  14. In Safari developer mode. I start with the category web page by selecting the widget fortnightly payments text and right click to inspect element. I have worked through different parts of the widget, and only the <span class="humm-main"> has any css that changes to how I want it to look, and that is by switching off "white-space:nowrap" for .humm-price-info-widget .humm-description .humm-main I have tried some parent nodes but I can't change the text wrapping of the widget. Not seeing anything else that would change the test wrapping. I am testing a category page with only one item though. This is the injected CSS if you want to search for nowrap - seems to support "humm-main" as the class responsible: .humm-more-info-widget{all:unset;display:-webkit-box;display:-ms-flexbox;display:flex;border:1px solid #a9a9a9;font-size:16px;color:#333;padding:8px 24px;overflow:hidden;text-decoration:none;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:proxima-nova,sans-serif;text-align:center;background-color:#f8faf7;position:relative}.humm-more-info-widget:hover{color:#333!important}.humm-more-info-widget .humm-inside{-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;max-width:900px;margin-left:auto;margin-right:auto}.humm-more-info-widget .humm-inside,.humm-more-info-widget .humm-inside .humm-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.humm-more-info-widget .humm-inside .humm-main{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.humm-more-info-widget .humm-inside .humm-main .humm-text-area{all:unset}.humm-more-info-widget .humm-inside .humm-main .humm-text-area .humm-title{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;font-size:35px;margin:26px 10px 26px 0;line-height:120%}.humm-more-info-widget .humm-inside .humm-main .humm-text-area .humm-title .humm-strong{font-weight:900}.humm-more-info-widget .humm-inside .humm-main .humm-text-area .humm-tandc{all:unset;display:block;text-align:center;font-size:10px;margin-top:-6px}.humm-more-info-widget .humm-inside .humm-logo{all:unset;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.humm-more-info-widget .humm-inside .humm-logo img{all:unset!important;height:85px!important}.humm-more-info-large-slices .humm-inside{padding-right:100px}.humm-more-info-large-slices .humm-inside img.humm-elephant{all:unset;height:160px!important;width:273px!important;margin-top:-8px;margin-bottom:-8px}.humm-more-info-large-slices .humm-inside .humm-logo{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.humm-more-info-large-slices .humm-inside .humm-logo img{all:unset;position:absolute!important;right:10px!important;bottom:10px!important;height:65px!important}@media screen and (max-width:665px){.humm-more-info-large-slices .humm-inside{padding-right:30px}.humm-more-info-large-slices .humm-inside .humm-main img.humm-elephant{margin-left:-24px!important;margin-right:-24px!important}.humm-more-info-large-slices .humm-inside .humm-main .humm-text-area .humm-title{font-size:30px}.humm-more-info-large-slices .humm-inside .humm-logo img{height:40px!important}.humm-more-info-small .humm-inside .humm-main .humm-text-area .humm-title{font-size:25px}}@media screen and (max-width:500px){.humm-more-info-large .humm-inside .humm-main .humm-text-area .humm-title{font-size:28px}.humm-more-info-large .humm-inside .humm-logo img{margin-left:-20px!important;height:70px!important}.humm-more-info-large-slices .humm-inside .humm-main{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.humm-more-info-large-slices .humm-inside .humm-main img.humm-elephant{margin-left:auto!important;margin-right:auto!important}.humm-more-info-large-slices .humm-inside .humm-main .humm-text-area .humm-title{margin-top:10px;margin-bottom:32px;font-size:35px}.humm-more-info-large-slices .humm-inside .humm-logo img{height:40px!important}}.humm-more-info-small .humm-inside{max-width:1200px;padding-right:60px}.humm-more-info-small .humm-inside .humm-main .humm-text-area .humm-title{margin:0}.humm-more-info-small .humm-inside .humm-main .humm-text-area .humm-title>div{display:inline!important}.humm-more-info-small .humm-inside .humm-main .humm-text-area .humm-title .humm-strong{font-weight:900}.humm-more-info-small .humm-inside .humm-main .humm-text-area .humm-tandc{text-align:center;font-size:10px;margin-top:0}.humm-more-info-small .humm-inside .humm-logo{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:50px!important;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.humm-more-info-small .humm-inside .humm-logo img{height:50px!important;position:absolute!important;right:10px!important}.humm-more-info-mini{width:auto;max-width:430px;margin-left:auto;margin-right:auto}.humm-more-info-mini img{height:90px!important;width:100%!important}.humm-price-info-widget{all:initial;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:5px 0;font-family:proxima-nova,sans-serif;line-height:20px;color:#3d4246!important;text-decoration:none!important;border-bottom:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;overflow:hidden}.humm-price-info-widget img.humm-widget-logo{all:unset;display:inline-block;margin-right:8px;height:15px!important;float:none!important;width:auto;vertical-align:baseline}.humm-price-info-widget .humm-description{display:inline-block;font-size:16px;font-weight:300;vertical-align:baseline}.humm-price-info-widget .humm-description .humm-main{margin-right:6px;white-space:nowrap}.humm-price-info-widget .humm-description .humm-main .humm-price{font-weight:600;font-size:16px!important;display:inline-block;vertical-align:baseline}.humm-price-info-widget .humm-description .humm-more-info{display:inline-block;margin-top:-3px;text-decoration:underline;font-size:.7em;vertical-align:middle;white-space:nowrap;line-height:1.23}.remodal-close{color:#666}.remodal-close:hover{color:#333}#humm-banner-top,#humm-more-info-general{display:flex;flex-direction:row;justify-content:space-around;align-items:stretch;border:1px solid #a9a9a9;font-size:16px;background:#fff;color:#333;padding:12px;overflow:hidden;text-decoration:none;box-sizing:border-box}#humm-banner-top .logo,#humm-more-info-general .logo{display:flex;flex:1 0 280px;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;border-right:1px solid #333}#humm-banner-top .logo img,#humm-more-info-general .logo img{max-width:180px}#humm-banner-top .title,#humm-more-info-general .title{display:flex;flex:2 1 auto;font-family:proxima-nova,sans-serif;font-weight:700;justify-content:center;flex-wrap:wrap;align-items:center;text-align:center;margin:0 0 0 20px;font-size:1.56em;line-height:135%}#humm-banner-top .title div,#humm-more-info-general .title div{display:inline-block;vertical-align:middle}#humm-banner-top .title #narrow-screen,#humm-more-info-general .title #narrow-screen{display:none}#humm-banner-top .title .light,#humm-more-info-general .title .light{font-family:proxima-nova,sans-serif}#humm-banner-top .orange-area,#humm-more-info-general .orange-area{display:flex;flex:1 0 256px;flex-direction:column;align-items:center;justify-content:center;width:176px;margin:0 auto}#humm-banner-top{max-width:1147px;margin-left:auto;margin-right:auto}#humm-banner-top .logo{flex:1 1 250px}#humm-banner-top .logo img{max-width:160px}#humm-banner-top .orange-area{flex:1 1 200px;width:176px}@media screen and (max-width:1100px){#humm-banner-top{font-size:12px}#humm-banner-top .orange-area{flex:1 1 200px;width:176px}}@media screen and (max-width:760px){#humm-banner-top .logo{flex:1 1 150px}#humm-banner-top .logo img{max-width:110px;margin-right:12px}#humm-banner-top .orange-area{display:none}}@media screen and (max-width:625px){#humm-banner-top{font-size:10.5px}#humm-banner-top .title{margin-left:8px}}@media screen and (min-width:596px)and (max-width:1196px){#humm-more-info-general{padding:32px}#humm-more-info-general .logo{width:50%;flex:1 1 auto}#humm-more-info-general .logo img{max-width:350px;margin-right:32px}#humm-more-info-general .placeholder{width:8%;flex:1 1 auto}#humm-more-info-general .title{display:block;width:42%;flex:1 1 auto;margin-left:0;text-align:left;font-size:30px}#humm-more-info-general .title div{display:block;white-space:nowrap}#humm-more-info-general .title #narrow-screen{display:block;margin-top:.5em}#humm-more-info-general #wide-screen{display:none}}@media screen and (max-width:595px){#humm-more-info-general{padding:32px;flex-direction:column;text-align:center;max-width:595px;min-width:300px;margin-left:auto;margin-right:auto}#humm-more-info-general #wide-screen{display:none}#humm-more-info-general #narrow-screen{display:block!important}#humm-more-info-general .logo{flex:0 0 auto;width:100%;padding:30px 0 50px;border-right:none;border-bottom:1px solid #333}#humm-more-info-general .logo img{width:90%;max-width:390px}#humm-more-info-general .title{display:block;font-size:32px;margin:3rem -15px 0}#humm-more-info-general .title div{display:block;margin:0 auto}#humm-more-info-general .title #narrow-screen{margin-top:1em;margin-bottom:.65em}}.more-info-btn{font-size:16px;font-family:proxima-nova,sans-serif;font-weight:700;color:#fff;background:#ff6c00;padding:0 2em;border-radius:15px;line-height:225%;display:inline-block;overflow:hidden;vertical-align:bottom}.remodal{background:transparent;padding:0;max-width:780px}#humm-modal-iframe,#humm-price-info-modal,#humm-price-info-more-modal{width:100%;height:500px;max-height:84vh;border:none}@media(max-width:500px){#humm-modal-iframe,#humm-price-info-modal,#humm-price-info-more-modal{height:84vh}}#humm-more-info-modal{width:100%;height:760px;max-height:84vh;border:none}@media(max-width:500px){#humm-more-info-modal{height:84vh}}a[data-remodal-target]{cursor:pointer}.humm-nowrap,.nowrap{white-space:nowrap}.humm-inline-block,.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:flex} The style sheet gets injected into the <head> before the meta classes.
  • Create New...