Jump to content


  • Content count

  • Joined

  • Last visited

Profile Information

  • Real Name
    Matt Hartman
  • Gender
  • Location

Recent Profile Visitors

7,881 profile views
  1. fourmat

    warning Cookie sameSite

    I'm using PHP 7.3 and added this to the .htaccess to get my authorize.net SIM payment module to return customers to the checkout success page properly. <IfModule mod_headers.c> Header always edit Set-Cookie ^(.*)$ $1;SameSite=None;Secure </IfModule>
  2. I know this was a little while ago, but I just ran into this issue, and have a fix for it in case anyone else is looking. I had to add this to the .htaccess, and the orders that use the Authorize.net SIM system are working again. <IfModule mod_headers.c> Header always edit Set-Cookie ^(.*)$ $1;SameSite=None;Secure </IfModule>
  3. I'm going to throw my 2 cents in here also. We definitely need an updated module for the Accept Hosted Authorize.net service. Quite a few of the other services are falling out of spec/deprecated as well and are not approved by the processors. At this point, if anyone has a solution for this, I would be willing to pay, PM me. Thanks.
  4. fourmat

    Mail Manager

    Peper, I was wondering if you had ever made any headway on this. I have run into the same issue. I'm running php 5.6.37. But It's the same with later versions. I have removed the $xtra_headers and it seems to work ok, except for the issue you called out where there aren't any new lines, and comment lines aren't separated any more. I have changed the function implode($this->lf, $xtra_headers) to implode(" ", $xtra_headers), and it seems to work in the one scenario I tried. What I don't know is, whether the $xtra_headers will be populated with information that needs line breaks in certain scenarios, and then be rejected by the mail servers.
  5. fourmat

    The Feedmachine Solution

    DJ Viper, this is because you are probably running php 5.5 and there are deprecated functions in there. I have been working with this, but I'm still having a problem. I don;t know if it related to this particular issue or not: in feedmachine.php around line 335 you'll find this code: $mysqli = defined('MYSQL_EXTENSION') && MYSQL_EXTENSION == 'mysqli'; $i=0; $fields = array(); while( $i < ( $mysqli ? mysqli_num_fields($master_query) : mysql_num_fields($master_query) ) ) { ++$i; $cur_field = ( $mysqli ? mysqli_fetch_field($master_query) : mysql_fetch_field($master_query) ); $fields[] = $cur_field->name; } change it to read: $mysqli = defined('MYSQL_EXTENSION') && MYSQL_EXTENSION == 'mysqli'; $i=0; $fields = array(); $fields_cnt = mysqli_num_fields($master_query); while( $i < $fields_cnt ) { $fields[] = mysqli_fetch_field_direct($master_query, $i)->name; ++$i; } This won't if you don't have the mysqli extension enabled in PHP. Still have a problem where it won't list but 16 of the 10,000+ products I have, but at least it stopped that particular error. now have to debug the rest of the system.
  6. fourmat

    [Contribution] Database Manager

    I am having the same issue. This happened when we made the upgrade to php 5.5. Any ideas?
  7. fourmat

    Mail Manager

    Thanks! No wonder I missed it!. I wonder if it would be possible to modify the script and set up a cron job that could be accessed to run the sale_followup once a day. I have installed it and it works fine, but if we could automate it that would take away one more thing that someone has to remember to do.
  8. fourmat

    Mail Manager

    Hi All, I have probably missed this somewhere in the documentation, but I was wondering what triggers the sales_followup function once it has been enabled. Is it just someone going to the site and accessing a page, or does there need to be a cron job created to run this feature?
  9. I've been working on a lot of improvements to the SpecsPopulate code. I ran into a lot of bugs concerning the compatibility with Excel and how it handles quotes in the specifications values. I have been using a variation of EasyPopulate 2.76g with great success, and I went back through and built a whole new SpecsPopulate 1.3 based on that version of EP. These are the highlights: Again, this is stripped down to only focus on specs, but I did leave in the option to add fields from the products table like MPN and UPC in case you needed those as a cross reference. If you do not have those columns just remove them from the customer fields section in the code. Any changes to any of the fields will be uploaded and applied, so beware. This system will not add new products, and will skip rows with model numbers that are not currently in the database. I have added a Dummy row at the top of the export file which will also be ignored upon import. The system will only create an export file if a category is selected and there are specs applied to that category. You can still download all specs and products in one file by selecting the Top category, but if you have a lot of specs or products, I wouldn't recommend it. I have also included a utility to look at the specs that have been applied to a category. I changed the export file naming structure so that it would include the category name, and a more accurate time stamp so there aren't as many overwritten files. I made one other major modification to all of my specifications code, and some of that is included here. I had to build a special character translation and replace function that gets around problems with URL translation for values. If you would like to use this, just add it to your includes/general.php in both the admin and catalog side. (you will also need to modify a lot of other areas in your specs code to make this work also) function specs_special_char_replace($values_data){ $needles = array('ZslashZ', 'ZinchZ', 'ZcommaZ', 'ZfeetZ', 'ZpercentZ','ZquestionZ','ZpipeZ','ZampZ','ZexclamationZ','ZhashtagZ','ZdollarZ','ZasteriskZ','ZcolonZ','ZsemicolonZ','ZltZ','ZgtZ','ZatZ','ZcaretZ','ZtildeZ'); $haystack = array('/', '"', ',','\'','%','?','|','&','!','#','$','*',':',';','<','>','@','^','~'); $values_data_clean = str_replace($needles, $haystack, $values_data); return $values_data_clean; } function specs_special_char_reverse($values_data){ $needles = array('/', '"', ',','\'','%','?','|','&','!','#','$','*',':',';','<','>','@','^','~'); $haystack = array('ZslashZ', 'ZinchZ', 'ZcommaZ', 'ZfeetZ', 'ZpercentZ','ZquestionZ','ZpipeZ','ZampZ','ZexclamationZ','ZhashtagZ','ZdollarZ','ZasteriskZ','ZcolonZ','ZsemicolonZ','ZltZ','ZgtZ','ZatZ','ZcaretZ','ZtildeZ'); $values_data_clean = str_replace($needles, $haystack, $values_data); return $values_data_clean; } if you do not want to use this, just do a search within the SP file for specs_special_char_replace and specs_special_char_reverse and comment out the lines with those functions in them. SP should work fine without them. Another addition feature I have been using is the integration of the Select 2 jQuery dropdown plugin to help with searching for categories more easily. Go here to find out more: http://ivaynberg.github.io/select2/ Otherwise just remove the script codes to prevent any javascript errors in your installation. I hope this will help someone out. specspopulate.php
  10. Hello All, I have taken the easypopulate file that bruyndoncx so generously uploaded and stripped it down to just include the specifications. I'm calling it SpecsPopulate. I found it was much simpler to separate everything and to only focus on the specifications once the individual products, categories etc have been created. It seems to work very well, but the biggest hurdle that I have found is that it's difficult to determine what the specifications_value_id and the specifications_value pair actually are to be able to enter them into the spreadsheet. If the specification hasn't been assign to a product, the value doesn't show up in the column anywhere, and you are left to search out the spec value. My thought was to build the code that would add the id/value pair to the first row or last row in the SP spreadsheet. This row would be for reference only, and would not include a model number. Without the model number, the row would be skipped. By having the id/value pair on the sheet already, it would make it very easy to just copy the values down to the rows they are needed in. My problem I'm running into a coding mind block on how to make this happen. I'll upload my current version of the file and would welcome anyone to come along and add or modify it. specspopulate.php
  11. fourmat

    FedEx - Web Services v9

    I have a customer who is using all three services, FedEx, UPS (UPSXML) and USPS as choices for shipping. I have FedEx Web services 9.4.2 installed and working fine. One of the things that they have asked about was the ability to tack on insurance for the shipment for FedEx, like they can for the other 2 modules. I see that the WSDL has mentions of insurance, but not sure in what capacity. Would it be possible to add an insurance option to this module?
  12. fourmat

    FedEx - Web Services v9

    I have a question about Insurance using the FedEx Web Services v9 module. I see that there is code included in the module with an apparent defined constant: @[member='definedmedia']('MODULE_SHIPPING_FEDEX_WEB_SERVICES_INSURE', 0); and further down: function _setInsuranceValue($order_amount){ if ($order_amount > (float)MODULE_SHIPPING_FEDEX_WEB_SERVICES_INSURE) { $this->insurance = sprintf("%01.2f", $order_amount); } else { $this->insurance = 0; } } The _setInsuranceValue function is called in the module, but it doesn't appear that it changes the value of the returned quote when we change the package value or the value of the defined constant from 0 to any other number. In the previous module/API we were able to define the insurance amount that triggered insurance addition. Can someone confirm or deny that the insurance option is or isn't functioning with the v9 module?
  13. fourmat

    The Feedmachine Solution

    Love the feedmachine, but I have a configuration issue. I have another URL parameter that I have been using to track what particular item is being clicked to produce the click conversion. I have been using another feed generator and had coded it to return the additional URL parameter of &utm_term="model number" where model number is pulled from the $products['products_model'] in the database. How can I structure or modify FM to return that parameter? I have tried adding it to various locations in feedmachine.php where PRODUCTS_URL is generated, but it doesn't seem to be picking it up. I also tried creating a separate function in the configuration file, but it's not picking up the url parameters spec'd in the admin. Any help would be appreciated.
  14. fourmat

    [Development] Products Specifications

    I should clarify the previous post by saying that I have the MySQL error issue on the Filter Module or Box the public side.
  15. fourmat

    [Development] Products Specifications

    Thanks for the push in the right direction. I'm having another problem and I wonder if I found a bug. I have built a filter with a multi select box. Whenever I select multiple items within the same box, and submit I get the following SQL error. Is anyone else seeing this?