Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bsmither

  1. Using phpMyAdmin (or whichever external database management utility you have access to as provided by your hosting provider), examine the database of your existing store. Somewhere in phpMyAdmin, you will be shown a way to back up (might be called 'Export') individual tables. Choose the two mentioned above. When executed, there will be a SQL file that can be downloaded. Then, view the CubeCart_config table. Find the row for AIOS. Copy the contents of the 'array' column and paste it to a waiting instance of a text editor. The column's contents will look like a random sequence of characters. That is what you want. Now examine the database of your new store. Somewhere in phpMyAdmin, you will be given a means to restore from a backup -- probably "Load or Run from SQL file". Upload the SQL backup file. Then, view the CubeCart_config table. If there is already a row for AIOS, simply replace the contents of the 'array' column. If not, add a new row where 'name' is "All_In_One_Shipping" and 'array' is the contents from the text editor. (I don't use phpMyAdmin, so I can't give explicit instructions.)
  2. You will want to copy CubeCart_shipping_rates and CubeCart_shipping_zones. You will also want to copy the one single record in CubeCart_config where 'name' is "All_In_One_Shipping".
  3. POST is easier to deal with, including having spaces in the values. But, somehow, the above doesn't look like a POST payload.
  4. I still think the process() method is being called, but there may be problems with the querystring. Also, your httpredir() should work. There are plenty of the same statement used elsewhere throughout the CubeCart code. For vads_cust_name, there is a space that must be encoded as a plus sign. Check the statement that concatenates the first name and last name such that the final concatenated result is urlencoded. For vads_ship_to_name, there is a space that must be encoded as a plus sign. For vads_bank_label, same. For vads_threeds_xid, vads_threeds_cavv, and signature, these are base64 encoded strings. Base64 encoded strings have disallowed characters (+/=) that must be dealt with. See the comments at: https://www.php.net/manual/en/function.base64-encode.php
  5. I see that the first GET is taking a whole second (which is a long time actually) before telling the browser to go back to index.php. That suggests some work is getting done. The process() method usually sends the browser to index.php?_a=complete: ## Redirect to _a=complete, and drop out unneeded variables httpredir(currentPage(array('_g', 'type', 'cmd', 'module'), array('_a' => 'complete'))); If your process() method logs anything to the Transactions database, see if there is anything for that order_id (I don't see enough of the query string to determine if the order_id was passed in).
  6. There is a new search function in CubeCart. In admin, Languages, click the Edit icon for the language you wish to modify. In the new search text field, enter Unfortunately and click the Go button. From the result listing, click the Key of the phrase you want to change (e.g., error_shipping). On the next page, again, click on the key (error_shipping). This will have javascript change the 'disabled' status of the text field to 'editable'. Change the phrase, and Save.
  7. You might be interested in this: Abandoned Carts https://www.cubecart.com/extensions/plugins/abandoned-carts-capture-missed-opportunities
  8. I did some scanning through a site called "PayPal Community" and there seems to be a lot of comments about accounts being "all of a sudden", "no reason for it" limited. Disclaimer: I have absolutely no way to determine if this amount of commentary/complaints is normal. Non-authoritative comments suggest a "technical glitch".
  9. In fact, there is code to show a 422 error's description, but it never gets executed. While waiting for the module to get updated, we can try this fix: In paypal.class.php, line 921, find: $GLOBALS['gui']->setError($value['description']); On a new line after that, add: trigger_error('Unprocessable entity reason: '.$value['description'], E_USER_WARNING); Line 913, find this part of the statement: array(200, 201, 202, 203, 204, 205, 206, 207, 208, 226))) { Change that part to this part: array(200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 422))) { This now should paint an error banner to the customer with the description of this problem, as well as now logging that description in CubeCart's System Error Log. Hopefully.
  10. This is something that is incredibly unhelpful is the "422 - Unprocessable Entity" response. At least one of these key:value pairs is not agreeable to PayPal. There is an open issue in the Github (#2896) that asks for a solution.
  11. The Request Log in admin may have an entry that could have a clue as to why the patch failed.
  12. The Github issue #2914 is still open, so I added this observation to that issue. However, why PayPal failed to update the order (patched) cannot be determined from these error messages.
  13. I will be happy to take a look at the module.
  14. Line 188 wants to iterate through a collection of $webhooks. That collection comes from a request being made to PayPal for a list of available webhooks. That request should be logged in CubeCart's admin, Request Log. Please examine the Request Log, find the appropriate logged Request/Response entries, and determine if the Response indicates what could be wrong.
  15. I don't recognize the name, but the error message says two things: 1. Your hosting provider switched from (probably) PHP5 to PHP7, 2. The module is quite old (you said 'many years'). Note: It is not beyond reason to think that CubeCart has programmed some modules without the assistance or recognition by the respective company. Running under PHP7 will require updating the module.
  16. The 'duplicate key indexes' might slow down the database server by a few microseconds, otherwise, it's just something to take care of at a much later time.
  17. The only other instance reported on the forums is when the PHP does not have a working 'session' location. In that instance, clicking Continue did "submit" the form, but brought back the same page. (Depending on your browser, it may show a cached copy of the page if the web server said nothing had changed.) You said that the prior installation was working fine. But did you also upgrade the version of PHP at the same time? Or was the prior CubeCart also running PHP7.3.33? Please view this page on your site: www.example.com/setup/info.php Scan the Session table for where PHP is storing the session data, if any. In that table, find session.save_handler and session.save_path. You might also look in the Core table to find where PHP is logging its error_log. Look at the log to see if there are any clues. I also notice that the suggested version of the database is 5.5 or later, yet PHP reports that the database server (actually the mysqlnd library for the PHP extension) is at 5.0.12. (Not sure if it makes a difference.) Please confirm this with your hosting provider. And this is not really checking the database server version. Just the version of the PHP extension that PHP uses to talk to the database server. I am running PHP 7.4.3 and the mysqlnd library version with it is at version 7.4.3.
  18. What seems to be the result when you click the [Continue >>] button at the lower-right? Note: The [Update] button at the upper-right is to update the choice of language to show during the installation/upgrade process, and will be the default language to use for the storefront and admin center after installation.
  19. The file with the css rule mentioned above is /skins/foundation/css/cubecart.css, near line 359. CubeCart gathers up all the css files and combines them into one file and caches it. So, to see the changed effect, have CubeCart clear its internal cache (admin, upper-right corner, Clear Cache button).
  20. Welcome HengleBengle! Glad to see you made it to the forums. The issue with this is (in my opinion) a less than 100% acceptable solution to the problem of the horizontally-displayed gallery of thumbnails below the main image area that will bounce up and down as the larger image changes across different heights. The solution was to have lavascript calculate the height of one of the images (I think the primary image) and set the displayable area to that height. Then, if a secondary image is taller, the height of the displayable image is not recalculated -- to prevent the bounce -- but ends up hiding part of the taller image. The solution, then, is to make sure all product images are 600x600 even if it means adding more pixels to the image to get those dimensions (expanding the canvas, so to speak, with a white background). Also, the height of the vertically-displayed thumbnails has a hard limit on the stack height: 350 pixels and the overflow is hidden. You might think about changing this in the css file to overflow:visible. (I will have to scan for this css rule to find the file it in.)
  21. The basic way to force customers to log in is in admin, Store Settings, Features tab, Misc section, "Hide prices until logged in". That, however, does not force the customer to create an entry in their addressbook. But, there is also a setting (same section) "Allow physical orders even if no shipping options are available" that should be un-checked. That should stop CubeCart from offering any method of shipping until CubeCart has been informed of a shipping address to use.
  22. I have no real experience with PayPal, but I understand that things won't go so well if, having put CubeCart's PayPal module in 'sandbox' mode, there are no accounts created for that sandbox at the merchant's PayPal center. That is, you say you have a 'live' account and used it to create other accounts. But would you say these other accounts might be considered 'live' as well? Did the merchant's control center give any indication of how to create sandboxed accounts?
  23. CubeCart allows for three scenarios for changing the skin from the storefront: 1. No one can change it. 2. Only a logged-in admin can change it. 3. Any one can change it. Apart from a design flaw in the skin (not likely), check the setting in admin, Store Settings, Layout tab, Skin Settings section.
  24. Save a backup copy of the existing file, then replace it with this one. This moves the small image gallery to just under the price (reduces blank space), and moves the product description to show across the width of the View Product's content area. content.product.php
  25. In content.product.php, find the following (call this selection A): {if $GALLERY} <div id="gallery_select"> {foreach from=$GALLERY item=image} <a href="{$image.large}" id="image_{$image.id}" class="colorbox gallery" rel="gallery"><img src="{$image.gallery}" alt="{$LANG.catalogue.click_enlarge}"/></a> {/foreach} </div> <script type="text/javascript"> var gallery_json = {$GALLERY_JSON} </script> {/if} Now, find the following (call this selection B): <div class="productDescription"> {$PRODUCT.description} </div> Now, find the following (call this selection C): <div class="price"> {if $PRODUCT.ctrl_sale} <span class="price_previous">{$PRODUCT.price}</span> <span class="price_sale">{$PRODUCT.sale_price}</span> {else} {$PRODUCT.price} {/if} </div> Now, find the following (call this selection D): </div> </form> {if $CTRL_REVIEW} <h2 class="tabbed">{$LANG.catalogue.customer_reviews}</h2> Put (A) immediately AFTER (C). Put (B) immediately BEFORE (D). If you wish, send me a copy of your Crosshatch content.product.php file as an attachment to a private message. I will make the appropriate edits and send it back for you to try.
  • Create New...