Jump to content

bsmither

Member
  • Posts

    17,976
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. Please code the search box to send the search terms in the GET request: www.mydomain.com/shop/index.php?_a=category&search[keywords]=XYZ
  2. I wonder if this has anything to do with an IBM Cloud center. (The Register)
  3. Yes, me too. I don't know when it started, but my development machine, which had no problems earlier, all of a sudden can't connect to the designated SMTP server. I'm looking at the traffic using Wireshark, and I see it connects, wants to do something with TLS at some other IP address, then nothing.
  4. Regarding the email issue: the code is suppose to add the admin's email address(es) as a BCC, not as a separate email, so if the BCC was added correctly, and the email was sent, then either the SMTP server that CubeCart's Mailer communicates with failed to send it, it did get sent but hasn't arrived yet, or it did arrive but got trashed as spam. I do not recall you mentioning that you have problems with emails being sent to your admin address, so we can assume that there is no problem there. Unfortunately, the email log only holds the To addresses, not the CC or BCC - although that might be an interesting enhancement. We can try to pin down whether the admin address(es) got added as BCC to the email. I have no answer regarding PayPal.
  5. This message indicates that CubeCart (actually, PHP) lost communication with the database very soon after having established a channel. That could be because the database server is overloaded, or there are other sites on the same computer where your site is located that are consuming all the connections - 'max_connections_per_ip` was exceeded. Your hosting provider will be able to find the exact cause of why PHP could no longer communicate with the database.
  6. I would say it is easy. How easy is related to how well the gallery package is implemented and documented, and how well-versed you are at getting stuff like this incorporated. CubeCart isn't all that complicated, but this is a 'skin' issue. The only connection between CubeCart and any given skin is the data passed over. The Foundation skin has a "slider" on its homepage document. Feel free to ask for a discussion on how that is incorporated.
  7. The images in the /language/flags folder are used by other processes. For the Foundation skin, there is a 'sprite' in the /skins/foundation/images/ folder. The skin code uses CSS rules to slide the sprite up and down so that the relevant part of the sprite appears in the area set to display, which is just one flag wide and tall. The process is this: There are a fine set of properly-sized flags in the latest downloadable package of the CC5 family. (I do not know why they were removed from the CC6 family, other than, I suppose, as you download and install other language packs, the flag will come with it.) Load the sprite into an image editor. Add the desired flags to the bottom of the sprite. In the file cubecart.css, near line 231, examine how each CSS rule offsets the span selector according to the flag that is wanting to show - each offset by X times 11 pixels. Maintain the scheme for the other two flags added. In the file templates/box.basket.php, the code need not be changed, but only to point out that enabled languages will be in the $LANGUAGES array.
  8. In the template content.checkout.php: Near line 17, find: <h2>{$LANG.checkout.your_basket}</h2> {include file='templates/content.checkout.medium-up.php'} {include file='templates/content.checkout.small.php'} Change to: <h2>{$LANG.checkout.your_basket}</h2> <h3>NOTE: Orders are not shipped until XX date</h3> {include file='templates/content.checkout.medium-up.php'} {include file='templates/content.checkout.small.php'}
  9. CubeCart uses templates, and the templates have language {$placeholders}. Each {$placeholder} is replaced by the appropriate phrase when the template is 'rendered'. This allows for the same template to be populated with different languages. So, you won't find the actual phrase that you see in your browser (as this is a final-rendered template). The 'key' to the phrase is as mentioned earlier: {$LANG.checkout.your_basket}. But you need to know that CubeCart "caches' a template at a step that is mid-point in the rendering process - repeating sections, if/else sections, etc. Therefore, you may be successfully editing a template, but the template rendering engine is still using the internally cached mid-render copy. Try this: in admin, Store Settings, Advanced tab, disable Caching. This should stop the rendering engine from using the cached templates, showing immediately the changes being made to the source templates. Re-enable the caching when finished.
  10. I just tried this and I am not seeing where the customer has the ability to make payment on an admin-created order. Are you sure this worked for you?
  11. There is this: https://forums.cubecart.com/topic/52330-how-to-add-admin-as-bcc-of-all-customers-order-status-emails/
  12. Try this. In /admin/sources/dashboard.index.inc.php: Lines 212-225: From: $this_year = date('Y'); $last_year = $this_year - 1; $chart_data['data'] = "['Month', '$this_year', '$last_year'],"; for ($month = 1; $month <= 12; $month++) { $m = date("M", mktime(0, 0, 0, $month, 10)); $last_year_month = (isset($data[$last_year][$m]) && $data[$last_year][$m]>0) ? $data[$last_year][$m] : 0; $this_year_month = (isset($data[$this_year][$m]) && $data[$this_year][$m]>0) ? $data[$this_year][$m] : 0; $chart_data['data'] .= "['$m', $this_year_month, $last_year_month],"; } $chart_data['title'] = $lang['dashboard']['title_sales_stats'].': '.$last_year.' - '.$this_year; $GLOBALS['smarty']->assign('CHART', $chart_data); To: // $this_year = date('Y'); // $last_year = $this_year - 1; ksort($data); $chart_data['data'] = "['Month', '"; $chart_data['data'] .= implode("', '", array_keys($data)); $chart_data['data'] .= "'],"; for ($month = 1; $month <= 12; $month++) { $m = date("M", mktime(0, 0, 0, $month, 10)); $chart_data['data'] .= "['$m'"; foreach (array_keys($data) as $year) { $year_month = (isset($data[$year][$m]) && $data[$year][$m]>0) ? $data[$year][$m] : 0; $chart_data['data'] .= ",".$year_month; } $chart_data['data'] .= "],"; } $chart_data['title'] = $lang['dashboard']['title_sales_stats'].': '.array_keys($data)[0].' - '.$this_year; $GLOBALS['smarty']->assign('CHART', $chart_data); Line 197: From: ## Statistics (Google Charts) To: ## Statistics (Google Charts) $years_to_show = 5; $last_year_start = mktime(0, 0, 0, '01', '01', $this_year - $years_to_show); Lines 167-174: From: $this_year = date('Y'); $this_month = date('m'); $this_month_start = mktime(0, 0, 0, $this_month, '01', $this_year); ## Work out prev month looks silly but should stop -1 month on 1st March returning January (28 Days in Feb) $last_month = date('m', strtotime("-1 month", mktime(12, 0, 0, $this_month, 15, $this_year))); $last_year = ($last_month < $this_month) ? $this_year : ($this_year - 1); $last_month_start = mktime(0, 0, 0, $last_month, '01', $last_year); $last_year_start = mktime(0, 0, 0, '01', '01', $this_year - 1); To: /* Not the best place for these. $this_year = date('Y'); $this_month = date('m'); $this_month_start = mktime(0, 0, 0, $this_month, '01', $this_year); ## Work out prev month looks silly but should stop -1 month on 1st March returning January (28 Days in Feb) $last_month = date('m', strtotime("-1 month", mktime(12, 0, 0, $this_month, 15, $this_year))); $last_year = ($last_month < $this_month) ? $this_year : ($this_year - 1); $last_month_start = mktime(0, 0, 0, $last_month, '01', $last_year); $last_year_start = mktime(0, 0, 0, '01', '01', $this_year - 1); */ Lines 158-159: From: $GLOBALS['main']->addTabControl($lang['dashboard']['title_dashboard'], 'dashboard'); ## Quick Stats To: $GLOBALS['main']->addTabControl($lang['dashboard']['title_dashboard'], 'dashboard'); $this_year = date('Y'); $this_month = date('m'); $this_month_start = mktime(0, 0, 0, $this_month, '01', $this_year); ## Work out prev month looks silly but should stop -1 month on 1st March returning January (28 Days in Feb) $last_month = date('m', strtotime("-1 month", mktime(12, 0, 0, $this_month, 15, $this_year))); $last_year = ($last_month < $this_month) ? $this_year : ($this_year - 1); // Not really last year - used to accurately work around the rollover from month 12 to month 1 at the next step $last_month_start = mktime(0, 0, 0, $last_month, '01', $last_year); $last_year_start = mktime(0, 0, 0, '01', '01', $this_year - 1); ## Quick Stats
  13. Looking at the CubeCart_coupons database table, examine these columns: 'cart_order_id', 'code'. If the 'cart_order_id' is anything other than null, as if having nothing at all, a zero, or an actual cart order number, then CubeCart may consider this coupon as a Gift Certificate. The database table viewer should show null as either an italicized null, or highlighted in some way. If the cell is empty, then there is something other than null, such as a zero-length string. It could be the case that CubeCart must see something other than null to consider this coupon as a gift cert, and if an actual null, then it is a coupon. But I will have to double-check the code.
  14. My search shows that only in reference to a button that will show "Unavailable" for the category, homepage, and the product call_to_action skin templates. And any plugins that want to use it - it is a 'common' phrase.
  15. If the ionCube Loader is accurately indicating v4.2.2, I believe it shouldn't run at all as it may not have the ability to work with PHP5.6 - but I am 100% not sure about that.
  16. I haven't tried this recently, but the admin can create a new order, and for the inventory item, enter an arbitrary phrase such as "Additional shipping costs for order 1234". Fill in the rest of the form. The customer should then see the order in their Order History and (this is where I do not know if this now actually works) be able to make payment. "allow customer to modify an existing order" With enough additions to the coding, CubeCart can be made to do it. I am not saying how this could be done, only that it can.
  17. Probably PHP is crashing, and the most likely reason after having installed one of Noodleman's mods is that the wrong ionCube-encoded version is used. Please verify that your hosting site has ionCube enabled and the Noodleman's mod is the correct version for the specific version of PHP and ionCube installed.
  18. Absolutely. But I think there are not the hooks to do it, so it would have to be code edits.
  19. FYI: this thread is more than a year old, but still makes a point.
  20. Does anyone want to help test a solution to Github Issue #1164? Scenario: A product has the SEO path of test-category-01/test-product-01. It gets released into the wild. Later, the path gets changed to tesa31. What to do about the earlier path?
  21. You can replace my suggested new line with exactly what you posted above.
  22. Try this: $words = preg_replace('/[^\p{Greek}a-zA-Z0-9\s.]+/u', '', $search_data['keywords']);
  23. CC618 will use the product's Short Description if it exists. If not, the product's Main Description will be used after stripping away all HTML tags. Whichever is used, if the description needs truncating, the first action is to decode entities, such as &#34; to a quote mark. But the use of this function employs the ENT_COMPAT filter which does not convert the apostrophe - &#39. The second action is to discard everything after the product precis limit. The third action is to re-encode all the entities. The use of this function will see &#39 and encode the ampersand - &amp;#39;. Thus, at the browser, after decoding &amp;, we still see &#39;. In the file /classes/catalogue.class.php, near line 218: Find: return htmlentities(substr(html_entity_decode($short_description, ENT_COMPAT, 'UTF-8'), 0, $product_precis), ENT_QUOTES, 'UTF-8').'&hellip;'; Change to: return htmlentities(substr(html_entity_decode($short_description, ENT_QUOTES, 'UTF-8'), 0, $product_precis), ENT_QUOTES, 'UTF-8').'&hellip;'; This will be fixed in CC619.
  24. I hope this is what you are wanting: https://www.cubecart.com/extensions/affiliate-trackers
  25. In the Foundation skin /templates/ directory, using a programmer's text editor, open for editing the file main.php. The simple approach is to: Find: <script src="{$STORE_URL}/skins/{$SKIN_FOLDER}/js/vendor/jquery.js"></script> Add after: <script src="{$STORE_URL}/skins/{$SKIN_FOLDER}/js/vendor/adsense.js"></script> This assumes your script is named adsense.js, and that it is located in the skin's /js/vendor/ folder. Having edited a skin template, you may need to have CubeCart clear its cache (admin, Maintenance, Rebuild tab, Clear Cache).
×
×
  • Create New...