Jump to content

bsmither

Member
  • Posts

    17,980
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. The file /includes/global.inc.php is often set to be read-only. But you would have come across that obvious situation. I recall only one other instance similar to your description and it involved (I think) some sort of security application that prevents unauthorized changes to files. Both the admin.php script and /admin/ folder have custom hashes appended as an approach to security by obscurity. Of the two folders that start with 'admin_', one will be dated later than the other. Pick that one and change the corresponding value in globals.inc.php.
  2. Please make this check: in /includes/globals.inc.php, find the following statement, $glob['dbprefix'] = 'something'; where something could be anything, or nothing (leaving just two quote marks with nothing inside them). It could be the case where [[dbprefix]] is what is between the quote marks. What needs to happen is that the characters inside the quote marks must be the same as the actual characters in front of the database table names (as seen from your hosted account's control panel's database utility - phpMyAdmin, for example).
  3. Everything (well, 99.999% for CC6) that is viewed on the storefront is contained entirely in the named skin folder -- Foundation, for example. When wanting to experiment with how the skin looks, it is best to have CubeCart's "Cache" setting at 'Disabled' (admin, Store Settings, Advanced tab, Enable Caching). This will prevent CubeCart from combining and squeezing the javascript and CSS files into single, cached files. (Doing this minification makes it a pain to see changes.) No, these forums do not contain any organized instruction of CubeCart, nor how to construct a CC6 skin.
  4. It is still confounding that this "only started over the last week". Here are a couple of edits that were implemented in CC646 to fix an issue with CubeCart's "cart". This will likely not have any effect on your situation. In /controllers/controller.index.inc.php, near line 78, find: $GLOBALS['cart'] = Cart::getInstance(); On a new blank line after that, add: $GLOBALS['cart']->init(); In /classes/cart.class.php, near lines 94-95, find: final protected function __construct() { Change to: final protected function __construct() { } public function init() {
  5. If the customer is at PayPal, with a "spinning circle", I have no theory that this could have anything to do with the CubeCart code. Regarding getting bounced back to PayPal: The phrases CubeCart has are, most likely: "Sorry, but [product_name] is no longer available and has been removed from your basket," and less likely: "Sorry, you can't buy more than we have. We have automatically reduced your quantity to the maximum available." These phrases get displayed when the basket contents are 'updated', and that happens more frequently than you might imagine. But, again, it seems PayPal is sending the customer back to your store with bad info (the wrong querystring).
  6. Previously, you said: "Also to note I had already changed the store to reduce stock on processing." Is this still the case?
  7. Please bring up the extension for viewing the settings in admin, Extensions, find Card Capture and click the Edit icon. On the next page shown, what does the Description field show?
  8. In the admin skin templates folder, find the orders.print.php file. You can make edits there. However, CubeCart may have stored a copy of this file in the database, and will prefer to use this databased version if it is there. It is stored in the database table CubeCart_invoice_template. (Which asks an interesting question: why use a database table for only one record?)
  9. I would have a text editor open and ready on your computer. I would view the cPanel error log, select the last hundred lines (or however many you want), then Copy (using the clipboard), then Paste into the first text editor (so that the selection won't get lost). Then have cPanel delete the error log file. Have cPanel create a new file with the same name (assuming your site isn't so busy that the error log gets recreated right-away), then copy-paste the selection back into the new file. That is, if keeping the selected error messages locally is not something you want to do.
  10. What is the nature of the error log in cPanel? A text file viewable in a text editor? If so, what does "clear the log" refer to? Do you simply wish to delete the text file? Maybe you cannot edit the file (being so large), but cPanel should be able to delete it. If it is a simple error log file, whatever the code would be that logs messages to it will simply re-create it if it does not already exist. When you upgraded the PayPal Commerce extension, did you visit the extension's control panel and actually Save the settings - even if no changes were made? I see a new-ish ApplePay setting that will not become part of the extension's configuration details until the admin control panel is positively saved (and CubeCart's internal cache is cleared). Doing that should then stop PHP complaining about an undefined array key.
  11. This is the procedure for the latest versions of CubeCart where the administration section has an Invoice Editor tab in the Documents area. The Invoice Editor brings the Invoice's HTML code into an editor (set to Source Mode). There are no line numbers, so you will be looking for actual code to change: Find: {foreach from=$order.items item=item} Change to: {$running_count = 0}{foreach from=$order.items item=item}{$running_count = $running_count + $item.quantity} Find: <div class="total"><strong>{$LANG.basket.total_grand} {$order.total}</strong></div> Change to: <div class="total"><strong>Total Items: {$running_count}</strong></div> <div class="total"><strong>{$LANG.basket.total_grand} {$order.total}</strong></div> Then click the Save button and have CubeCart clear its internal cache.
  12. The trace indicated that: /aa/bb/public_html/modules/plugins/ebay_sales/cron/cron_ebaySales_processor.php is the culprit. HTML Templates are fully supported You can have as many HTML templates as you need HTML templates can be enabled/disabled at product level If you are not using a HTML template, the HTML code in your product description is your ebay product description HTML templates use "tags" which will be replaced with item specific information such as description/title/return policy HTML templates can be added/updated/deleted The one about using "tags" implies that the templates will be fed through Smarty. Thus, being a good idea to suppress errors, the publisher of Ebay Sales Plugin will need to make the edit to use Smarty v4 method call. (I am confident that cron_ebaySales_processor.php is not human-readable, and there may be more of this plugin's code that might need to be rewritten for Smarty v4.)
  13. Ok, let's also do this: In the file /includes/lib/smarty/sysplugins/smarty_internal_undefined.php, near line 59, find: public function __call($name, $args) { if (isset($this->class)) { throw new SmartyException("undefined extension class '{$this->class}'"); Change to: public function __call($name, $args) { if (isset($this->class)) { ob_start(); debug_print_backtrace(); $backtrace = ob_get_contents(); ob_end_clean(); throw new SmartyException("undefined extension class '{$this->class}'\n".$backtrace);
  14. Ugh! I was hoping for a few more lines. Like, what calls _callExternalMethod() and what calls that, all the way to index.php. Well, let's see what smarty_internal_data.php has to say.
  15. Please try these new statements (to replace the previous new statements): $backtrace = $e->getTrace(); //array_shift($backtrace); ob_start(); array_walk($backtrace, function($a){ if(!empty($a['line'])) {print $a['function']."() (".basename($a['file']).":".$a['line'].")\n";}}); $backtrace = ob_get_contents(); ob_end_clean(); if (empty($backtrace)) $backtrace = 'No Backtrace.'; $this->_writeErrorLog($message, 'Exception', $backtrace);
  16. Please reload this forum conversation. I made a mistake on the last line of the new code.
  17. OOps! Made a mistake. The last line above I just changed to what it should be.
  18. Ok, I wasn't recalling if Exceptions recorded the stack trace. It doesn't. So, let's make an edit so that it does: In /classes/debug.class.php, near line 504, find: $this->_writeErrorLog($message, 'Exception'); Change to: $backtrace = debug_backtrace(); array_shift($backtrace); ob_start(); array_walk($backtrace, function($a){ if(!empty($a['line'])) {print $a['function']."() (".basename($a['file']).":".$a['line'].")\n";}}); $backtrace = ob_get_contents(); ob_end_clean(); $this->_writeErrorLog($message, 'Exception', $backtrace); Next time an Exception gets logged, the stack trace should be there.
  19. If you see this in the System Error log, then maybe the stack trace is recorded. If so, hover the mouse cursor over the message column of the row in the list that has the error. If there is a stack trace, a "tooltip" will popup next to the cursor, the tooltip showing the functions and files that caused the error.
  20. If this is coming from an extension, it puzzles me why the extension would feel it necessary to do the same thing that is done in: /controllers/controller.admin.pre_session.inc.php (line 38) /controllers/controller.index.inc.php (line 44) where the earlier versions of CubeCart uses Smarty v3, and later versions of CubeCart uses Smarty v4. Smarty v3 uses the command muteExpectedErrors() and Smarty v4 uses the command muteUndefinedOrNullWarnings(). So, check those two files to see if there is a mismatch. But how recurring is it? If the fault is in the controller files, the exception would happen all the time, every time, CubeCart starts up.
  21. In admin, Export Catalogue, this allows to download a CSV that has more info than what you need. But if you have any basic skills with a spreadsheet, you can delete those columns you don't want, sort the remainder, and insert page/row breaks where the category changes. Other skills allow for creating a 'form' that will get populated with the rows of data. But if this is not your thing (nor a staff member's thing), we can try to create a plugin that will generate a printout.
  22. Yes, you can. Having different content implies having a distinct and separate database - or, at least a distinct table prefix (can be on the same database server).
  23. These are the names of hooks. Hooks are used to identify additional code (plugins and snippets) where such code can add, delete, and modify the data being worked on, or do any kind of other work. This additional code exists in files as part of plugins (plugin hooks are enumerated in the database table CubeCart_hooks), or stored in the database directly (CubeCart_code_snippets). If you deleted the code where these hooks are located, then there would be no Random/Featured Product to show. But to answer your question, the hook statements are in the /classes/gui.class.php file, in the function: /** * Display featured products box */ private function _displayRandomProduct()
×
×
  • Create New...