DATE: 2010-08-10; VERSION: 4.150 (JFS); ====================================================== Updated the country, credit type, shipping method, payment method, and state loops to use the colon_blow() function to grab the key/ value pairs rather than parsing the file myself. I didn't want to force all keys to be uppercase so I changed the explode_colon() function to not uppercase keys. Then I went through and uppercased the keys everywhere the explode_colon() funtion was being used. This change also improves the update messages that the user sees in the HAM when they update countries, credit types, etc. DATE: 2010-08-05; VERSION: 4.150 (JFS); ====================================================== Merged Changes in from Hazel 4.518 DATE: 2010-07-26; VERSION: 4.150 (JFS); ====================================================== Added a SORT option to the category loop. DATE: 2010-07-20; VERSION: 4.150 (JFS); ====================================================== Added a new kind of Loop, a category loop that loops through product categories. It looks for the GROUP field by default but you can specify what field(s) you want the loop to examine. DATE: 2010-07-15; VERSION: 4.150 (JFS); ====================================================== Updated mysql plugin to surround search criteria in backticks so that fields that are reserved mysql keywords will work. This is a really basic change that has been in the Hazel 4.5 plugin forever and is bugging me so I put it in the stable version as well. Bumped mysql plugin version to 1.933. DATE: 2010-07-15; VERSION: 4.150 (JFS); ====================================================== Restored copy_var() to just copy_vars as is without doing any encoding on DICT_SHOPPER. Instead loop through DICT_SHOPPER_RAW, encode the string, and stick it into DICT_SHOPPER. This is slower but works better on a 64 bit kernel for some reason. DATE: 2010-06-25; VERSION: 4.150 (JFS); ====================================================== Fixed hazel_strdup to work if you are not using the strdup() library function. DATE: 2010-06-25; VERSION: 4.149 (JFS); Rev. 4328 ====================================================== Final 4.149 release version for real this time. DATE: 2010-06-25; VERSION: 4.149 (JFS); ======================================== Found an obscure bug where somehow when building the cart cookie if you had a bad product in DICT_SELECTED it could cause Hazel to crash. I also made it so you could have both excptions in hazel.config and look for the NOCARTCOOKIE flag. DATE: 2010-06-23; VERSION: 4.149 (JFS); ======================================== The interpret_api_script_output() function in store.c has 2 improvements. First it recognizes HZR variables passed in from script outputs and sets the DICT_SHOPPER_RAW variable accordingly. Second and most importantly, when interpret_api_script_output() runs across either an HZE or HZR value is runs set_dict_shopper_safe() which sets the variable in both dicts and entifies the one that goes into HZE. DATE: 2010-06-10; VERSION: 4.149 (JFS); ======================================== Make sure that when set_dict_shopper_safe() gets called with a blank integer or float value, the value gets set to 0 and 0.0. DATE: 2010-06-09; VERSION: 4.149 (JFS); ======================================== Make sure that every time a variable gets copied into DICT_SHOPPER, it always gets copied into DICT_SHOPPER_RAW first without exception. When reading in from the userfile, first copy into DICT_SHOPPER_RAW, then copy the Var into DICT_SHOPPER while converting special chars into html entities. While fiddling with copy_var() I made it also copy LIST, TEXT, FILE, and BOOLEAN types. DATE: 2010-06-08; VERSION: 4.149 (JFS); ======================================== When data is copied from the user file into DICT_SHOPPER, also copy the data into DICT_SHOPPER_RAW. This will make %HZR variables accessible in more places. Also updated canonicalizeplugins.sh from the Hazel 4.5 version. DATE: 2010-04-09; VERSION: 4.149 (JFS); ======================================== You can exclude products from being added to the Hazel cart cookie by setting the NOCARTCOOKIE field in your products.txt to 1 for the product. DATE: 2010-04-09; VERSION: 4.149 (JFS); ======================================== reverted digest_cookie() back to pre-4.147 digest_cookie() in cgi.c Don't mess with the key or value, just take the cookies from HTTP_COOKIE and stick em' in DICT_COOKIES as is. From Hazel 4.147 to 4.148 the cookie was only added if the value of the cookie was not all uppercase. This was done to prevent HAZELCOOKIE and hazelcookie cookies from both being added to DICT_COOKIES, but instead of checking the key I checked if the value was all uppercase which is pointless. This broke the hazelcart cookie because the value of the hazelcart cookie consists of skuid's which are always all uppercase. If you are running Hazel 4.147 or Hazel 4.148 and are having problems with your cartcookie then upgrade to Hazel 4.149. I am always lowercasing the cookie names internally anyway so this should not have been a problem in the first place. Bottom line is, the old code was fine so we are going back to it. DATE: 2010-03-19; VERSION: 4.149 (JFS); ======================================== Changes to fix compilation errors on Sun Solaris 2.8 on SPARC. Also added alpha to the list of possible host's in configure.ac. Changed fcntl() to error when == -1 instead of < 0 in os.c DATE: 2010-03-09; VERSION: 4.149 (JFS); ======================================== On the FINISH Action I save a pending order before revalidating the fields. If an error occurs and a pending order has not already been created, a new one will get created. This is in a response to a bug found involving the PayPal Plugin. A required field can cancel the finish action without saving an invoice if the checkout step is skipped and there is a missing field at FINISH. Of course this normally never happens but in the case of PayPal Express Checkout the user can skip checkout and go right from the view page to the FINISH action without passing any intermediate steps. DATE: 2010-01-11; VERSION: 4.149 (JFS); ======================================== I changed HAM_HTML_enlist_values() to only enlist 100 lines since the output was getting cutoff if it was greater than that and the next button wasn't showing. (backported fix from 4.5) DATE: 2009-12-15; VERSION: 4.149 (JFS); ======================================== All file editing in HAM encodes and decodes html now. Code cleanups from H45. DATE: 2009-12-01; VERSION: 4.148 (JFS); ======================================== Added loop count variables for the new country, credit_type, payment_method, shipping_method, and state_loops. Hazel 4.148 is done. Updated template files. DATE: 2009-12-01; VERSION: 4.148 (JFS); ======================================== Disabled editing the products file from the HAM until further notice. It does not work if you products file is large. The textarea gets cutoff before the end of file is reached. It appears to be some problem rendering very large html documents hidden deep in the bowels of Hazel. Since this feature never appeared in a released version it should not be missed. DATE: 2009-11-24; VERSION: 4.148 (JFS); ======================================== Backported the country, credit_type, payment_method, shipping_method and state loops from Hazel 4.5. I did not include the portion that attaches to the database, just the part that reads in the loop files. This is so that the templates can be updated to use these new loops rather than rely on the file loop. This is part of an initiative to make the Hazel4->Hazel4.5 transition as easy as possible. Updated HAM to edit these files as well. In Hazel 4.146 I added payment method file editing to HAM, this allows the rest of the loops (shipping methods, credit types, etc) to be edited in HAM. DATE: 2009-11-19; VERSION: 4.148 (JFS); ======================================== You can now edit the products.txt file directly from the HAM. (No you can't, see above) This is to ensure that when the day comes that the product.txt file is no more, legacy (and by that I mean those not using the mysql db) customers will still have a way to edit their product.txt file from the HAM. Also a handy way to edit the products file since it uses the same backup capabilities as the regular method and has the bonus of not needing to go all the way to the webserver to manually edit your products file. DATE: 2009-10-28; VERSION: 4.148 (JFS); ======================================== The major feature of this release is the addition of html_special_chars_decode() so that html encoded strings can be decoded again and used. So > becomes <, etc. This is used in the HAM template editor to fix a bug where