Jump to content


  • Content count

  • Joined

  • Last visited

Profile Information

  • Real Name
  • Gender

Recent Profile Visitors

11,389 profile views
  1. trier

    Braintree Payment

    In case it’s of interest - I recently had a lot of trouble implementing Braintree payments (v2.27.2?), it constantly returned a fairly meaningless message: There has been an error processing your credit card Please try again and if problems persist, please try another payment method. Eventually, replacing the contents of includes/apps/braintree_cc/ssl/api_braintreegateway_com.ca.crt with the contents in https://github.com/braintree/braintree_ruby/blob/master/lib/ssl/api_braintreegateway_com.ca.crt seemed to solve the problem and payments now go through. Another small item of note (PHP 7.3.20) - includes/apps/braintree_cc/Braintree/Util.php - line 179 Function create_function() is deprecated. Presumably this should be either corrected or removed.
  2. trier

    PayPal Standard Issue?

    Phoenix (also in Couple of PayPal Standard issues? Don’t know they are of interest or have already been noted (assuming correct installation?): require(includes/languages/english/checkout_process.php): failed to open stream: no such file or directory in /ext/modules/payment/paypal/standard_ipn.php on line 25 Making payment with PayPal Standard: In checkout_confirmation.php after hitting payment button the following screen appears - Hitting ‘Try Again’ takes you to PayPal signin as expected.
  3. If this is incorrect and a waste of your time, please do not waste even more of your time by replying:- Phoenix Call to undefined function tep_ltrim_once() templates/default/includes/template.php on line 41
  4. trier

    Phoenix Trivia

    Are many (any?) of the entries in admin>includes>languages>english>images still used? I think the folder may now be redundant (?), possible a few older add-ons may use it. If the folder is redundant tep_image_submit in html_output.php may now be surplus to requirements?
  5. In case it's of interest - is there a minor error in admin>includes>boxes>customers.php? It throws up: Notice: Undefined index: title in /var/www/vhosts/aperfume.co.uk/ph1040.aperfume.co.uk/a19b0414zx/includes/column_left.php on line 47 Notice: Undefined index: link in /var/www/vhosts/aperfume.co.uk/ph1040.aperfume.co.uk/a19b0414zx/includes/column_left.php on line 64 Notice: Undefined index: title in /var/www/vhosts/aperfume.co.uk/ph1040.aperfume.co.uk/a19b0414zx/includes/column_left.php on line 64 Comparing customers.php to orders.php (which should be very similar?), customers.php has 2 extra lines (16 & 17) - “array (“ & “)”, removing these 2 clears the notices.
  6. When playing about with Phoenix version I created an admin hook (hook_admin_siteWide) to achieve the following on the Categories / Products page (after first checking for $PHP_SELF = ‘categories.php’): 1) listen_injectSiteStart a) Save $_GET & $_POST data to update new non-core product related table/items later 2) listen_injectSiteEnd a) action: ‘new_product’ output new product related table/items and generate jQuery code to display them where relevant on page b) action: 'copy_to' change the default copy_as - “link” to copy_as - “duplicate” c) action: 'new_product_preview' change to action 'new_product' (i.e. edit instead of preview) d) action = ‘delete_category_confirm’ action = ‘delete_product_confirm’ delete a new non-core product related table e) action = ‘copy_to_confirm’ copy new non-core product related table & product items f) action = ‘insert_product’ action = ‘update_product’ create/update new non-core table/product items using the $_POST data saved in injectSiteStart g) Category products list page (isset($_GET['cPath']) && strlen($_GET['cPath']) > 0) create hidden table of ids/models, generate jQuery to show id & model on each displayed product line copy the Back & New Category/Product buttons displayed at the bottom of the page to also display at the top Although I’ve got absolutely no idea what I’m doing, this seemed to achieve everything I wanted. However, by v1.0.3.0 injectSiteStart has been moved from application_top to template_top, as a result changes 1a/2f no longer work because there is no opportunity to capture the $_POST data (‘update_product’ redirects to the top before the first hook is executed). Using the hooks that are now available in v1.0.3.0 categories.php, I restructured the code for the new calls. The restructure is more elegant and solves the problem above, unfortunately a new problem is introduced – 2b 'copy_to' and 2g ‘Category products list page’ no longer work because output for the page is after the last available hook. Using a mix of the ‘siteWide’ & ‘categories’ hooks would be simple enough to achieve everything but splitting the changes over two different hook groups seems messy and a recipe for future problems/disaster. Questions: a) Is it possible to have a hook re-introduced into application-top (in order to use the original solution). The Shop side has a hook call in application_top, does the justification for it apply to Admin too? b) Is it possible to have a hook call at the end of categories.php? Perhaps every page that has hooks should have a call at top/bottom? For ‘non-hook’ pages, the hooks in template_top and template_bottom are available (for shop & admin), check against $PHP_SELF to apply to the correct page/script. I could obviously make these changes myself but it goes against “no core changes”. It would be simpler (short term) to insert all the changes into categories.php but it goes against “no core changes” and, to a degree, it defeats the object of hooks. P.S. A remarkable amount (almost anything?) can be achieved using hooks & javascript/jQuery instead of changing core code. Use the suck it & see approach – base the change on an existing hook and search the net for a javascript/jQuery solution to achieve the changes needed to the page after it is output. Keep playing about until you get what you want. On the Shop side, if you want the ability to turn on/off, use content/header-tag/etc. modules instead of a hook
  7. Apologies if this is obvious (but it can easily be overlooked and may be a posibility) - Do you ftp from your local m/c to the server before your install? If so (and you normally make changes locally): The install will update the config. files, the file you listed looks more like a pre-install config.? Don’t forget, after install you need to download the config. files from the server, they will be different to the local ones. If you change the admin folder name during the install, change the local folder name before doing anything else.
  8. Hi, Be warned, this content is tedious and triviality in the extreme, reading it may numb your brain, you may even lose the will to live. You have been warned (hopefully it is right): 1) includes/actions/update_product.php – if there are items in cart, some with attributes, some without attributes, updating qty will throw an error “Undefined offset: x” for each item without attributes (x = product_id). It executes correctly but any error is a tad unwelcome. 2) administrators table - user_name is defined with ‘collation = utf8_bin’ all other character type items seem to be defined with collation ‘utf8_unicode_ci’. Is there a reason? Does it matter? Does anyone care? 3) customers table - customers_dob is defined default = ‘1970-01-01 00:00:01’, I think it was defined as ‘NULL’ in previous versions (?). Is there a reason? Does it matter? Does anyone care? Should previous ‘null’ entries be changed to ‘1970-01-01 00:00:01’? 4) orders_status table - public_flag and downloads_flag are defined as int(11). Could they be defined as tinyint(1)? Does it matter? Does anyone care? (told you these were trivialities). 5) product_info.php Can line 38 $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id, p.products_gtin from products p, products_description pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); be moved to overwrite line 21 $product_check_query = tep_db_query("select count(*) as total from products p, products_description pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); and line 26 if ($product_check['total'] < 1) be changed to if (tep_db_num_rows($product_info_query)<1) $product_check['total'] is used elsewhere (maybe set $product_check['total'] = tep_db_num_rows($product_info_query)?). Very trivial, but it does save a database access (does it really matter any more?). Several other modules read product info details, could all details be prepared in a product_info header tag module so it is readily available to other modules? 6) includes/modules/navbar-modules/nb_home.php & nb_account.php These can both be placed in ‘Home’ portion of navbar, I don’t think ‘Home’ is designed for these ‘<li>’ type items? 7) Is it possible/worthwhile including a facility in application_top.php to output all errors to a file. Better still, the option output to screen and/or file and possibly the facility to set the error level? If an error occurs in a template module I don’t think is displays anywhere (?) so could go unnoticed for quite a while. 8) define('MODULE_NAVBAR_SHOPPING_CART_NO_CONTENTS', '<i class="fas fa-shopping-cart fa-fw"></i> 0 items'); is this used? 9) define(‘MODULE_NAVBAR_SHOPPING_CART_VIEW_CART’, 'View Cart'); is this used?
  9. @spooks: it’s been a while, welcome back. You, your help, your contributions, have all been missed.
  10. trier

    Tabbed Product Admin

    Hi, Sorry, ignore my previous message, I've addressed the wrong add-on, I think I meant the tabbed product add-on.
  11. trier

    Tabbed Product Admin

    Hi, Thank you for this excellent add-on. I believe I've installed it correctly(?), it seems to work as expected. Assuming that to be the case, there appears to be one very minor trivial PHP error - Undefined index: admin includes/classes/hooks.php line 56 Many Thanks
  12. Hi, Thank you for this very useful addon. A very trivial minor comment (doesn’t seem to affect anything) - does: $base_url used: in includes/modules/hooks/admin/orders_customer_tab.php line 64 $tab_link = substr(tep_href_link('orders.php', tep_get_all_get_params()), strlen($base_url)) . '#section_customer_orders'; need to be included as a global in the function? Many thanks
  13. @@Jack_mcs Hi, Thank you for the reply, I appreciate it. Are you able to replicate the problem? (If it exists) it may be a session problem and not an SEO URL problem (i.e. there may be other instances where a first/second page submit redirects to index.php). The full piece of code in tep_session_start() is - if ( isset($HTTP_GET_VARS[tep_session_name()]) ) { if ( (SESSION_FORCE_COOKIE_USE == 'True') || (preg_match('/^[a-zA-Z0-9,-]+$/', $HTTP_GET_VARS[tep_session_name()]) == false) ) { unset($HTTP_GET_VARS[tep_session_name()]); $sane_session_id = false; } } The “(SESSION_FORCE_COOKIE_USE == 'True') || “ seems to cause the problem, I don’t believe it existed in previous incarnations of session.php, removing it cures the problem. Should I raise the query again within the v2.4 support topic? Many thanks
  14. Hi, Further to my earlier query (#7144), in case it’s relevant - changing includes/functions/sessions.php in function tep_session_start() remove (SESSION_FORCE_COOKIE_USE == 'True') || from lines 65 & 73 (maybe just 65 may be sufficient?) seems to cure the problem I don’t know if it is OK to make this change or if there are any other issues, obviously the code is there for a reason? Is the issue to do with SEO URLs or v234bs sessions.php? Many thanks