Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.


  • Content count

  • Joined

  • Last visited

Profile Information

  • Real Name
    Martin Robinson
  1. To Arachnia: One question I had was whether this occured for *EVERY* username. I can confirm it doesn't. Please feel free to delete the female customer 'eric wassit'. It's probably only for people who already have accounts, or have bought before using No Account. Something I think happens, since you have the Paypal IPN, is that the code to clear out the customer table once checkout is complete, isn't reached. To fix this I suggest you be brave and use SQL to tidy up the customer table. You can either visually look and check or just jump in. Suggestion (I can't go into teaching you how to use phpMySQL) 1) Backup entire database 2) Backup customer table into a file. 3) Enter this SQL: 'delete from customer where purchased_without_account =1;' This should fix the problem. In the longer term you will have to figure out whether the clearout code is being reached or not, and fix it. If you're not feeling brave enough to change the code, you can run the above on a regular basis. I think the problem is in the checkout_success.php script. The code // PWA: Added a check for a Guest checkout and cleared the session - 030411 v0.71 if (tep_session_is_registered('noaccount')) { $order_update = array('purchased_without_account' => '1'); tep_db_perform(TABLE_ORDERS, $order_update, 'update', "orders_id = '".$orders['orders_id']."'"); // tep_db_query("insert into " . TABLE_ORDERS . " (purchased_without_account) values ('1') where orders_id = '" . (int)$orders['orders_id'] . "'"); tep_db_query("delete from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . tep_db_input($customer_id) . "'"); tep_db_query("delete from " . TABLE_CUSTOMERS . " where customers_id = '" . tep_db_input($customer_id) . "'"); tep_db_query("delete from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . tep_db_input($customer_id) . "'"); tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . tep_db_input($customer_id) . "'"); tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . tep_db_input($customer_id) . "'"); tep_db_query("delete from " . TABLE_WHOS_ONLINE . " where customer_id = '" . tep_db_input($customer_id) . "'"); tep_session_destroy() is probably never reached as the Paypal code comes first: //begin PayPal_Shopping_Cart_IPN // ++PWA // tep_redirect(tep_href_link(FILENAME_DEFAULT, $notify_string)); // Added a check for a Guest checkout and cleared the session - 030411 if (tep_session_is_registered('noaccount')) { tep_session_destroy(); tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL')); } else { tep_redirect(tep_href_link(FILENAME_DEFAULT, $notify_string, 'SSL')); // --PWA } } else if ((isset($HTTP_GET_VARS['action']) && $HTTP_GET_VARS['action'] == 'success')) { PayPal_osC::reset_checkout_cart_session(); } //end PayPal_Shopping_Cart_IPN This means that customer are left in the database with an invalid password. Does this help?
  2. I have installed this Contribution and it works. It was difficult as I had PayPal IPN installed, which makes changes in much the same place as this contrib seems to. Comments: 1) The .patch file does not include reference to catalog/admin/orders.php 2) The Order_Info.php uses class="formArea" and "formAreaTitle" which are not present in my stylesheet. I replaced them with "main" and it looks fine. 3) the languages/english/login.php file includes <FONT SIZE=2> which makes the Checkout box look wrong. I removed this tag. 4) There is something seriously wierd around the State entry stuff. I have renamed this to County, as I'm in the UK and we don't have States. Yet. Even with a valid entry, it kept complaining 'Your County must have at least 2 letters' and presenting a pull down menu which contains only UK. I changed Order_Info_Process.php around line 126 in my version, $entry_state_has_zones = ($check_value['total'] > 0); to $entry_state_has_zones = ($check_value['total'] > 1); I'm not 100% sure I understand why this is correct. I hope this helps someone!
  3. This is just a thought, based on similar problems I have seen. You are aware that there are two configure.php files, one under /store/includes and one under /store/admin/includes? It is reallly annoying having to keep two files up to date, as I personally don't want the 'flexibilty' of being able to configure the store completely differently than the admin area. Sorry if this is rather basic, but it is often the simplest things that get overlooked. Martin
  4. Ir's worse than that. There is the HTMLAREA code which is also used by Ultrapics for its image upload stuff. This uses non-standard IE only features. It won't even work on the Internet Explorer for Mac, only IE for PC v6 and above. HTMLAREA is an external product. The version used in Ultrapics is version 2. There is also Version 3, which uses standard browser features and works properly in not only Firefox but also Safari. (Hint - I use a Mac). Unfortunately it isn't easy to just unplug V2 and insert V3 - I've tried. The interface changed quite a lot, and V2 has been modifed specifically for this contribution. That's the m,ain reason i still monitor this forum - hoping someone with significant coding skills cna update the contriubtion to use HTMLAREA V3. It does seem that MaxiDVD has other things to do right now, unfortunately. He hasn't been around for a while.
  5. Unfortunately the PHP interpreter is being as helpful as it can be. A parse error is where something that is required cannot be found. Very often this means quotes or brackets that do not match. In my version of configuration.php, line 1654 consists solely of }. This is the closing } of an if () { .. } else { ... } statement. If I got that message on that line, it would mean that the error is somewhere within the if () statemement. The interpreter will report an error on the line it has got to - the error can in fact start many lines before. Check, double check, triple check. There is something missing or extra. The interpreter needs all quotes, brackets and language constructs to be balanced. If you go around cutting and pasting code it is really really easy to get this sort of error. In fact you are lucky - my site does not report parse errors unless I run php from the command line on the page in question.
  6. Tom, not sure what to say. The code reads: if (($HTTP_GET_VARS['image'] ==0) && ($products['products_image_lrg'] != '')) { echo tep_image(DIR_WS_IMAGES . $products['products_image_lrg'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); } elseif ($HTTP_GET_VARS['image'] ==1) { echo tep_image(DIR_WS_IMAGES . $products['products_image_xl_1'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); } elseif ($HTTP_GET_VARS['image'] ==2) { echo tep_image(DIR_WS_IMAGES . $products['products_image_xl_2'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); } elseif ($HTTP_GET_VARS['image'] ==3) { echo tep_image(DIR_WS_IMAGES . $products['products_image_xl_3'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); } elseif ($HTTP_GET_VARS['image'] ==4) { echo tep_image(DIR_WS_IMAGES . $products['products_image_xl_4'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); } elseif ($HTTP_GET_VARS['image'] ==5) { echo tep_image(DIR_WS_IMAGES . $products['products_image_xl_5'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); } elseif ($HTTP_GET_VARS['image'] ==6) { echo tep_image(DIR_WS_IMAGES . $products['products_image_xl_6'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); } else echo tep_image(DIR_WS_IMAGES . $products['products_image'], "Click to Close window", LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); ?> So if your popup is being called with pID= and image=0 AND there is an entry in products_image_lrg, then it should display it! The size thing is interesting. You can see fudge-code to resize the window differently if your browser is Netscape: function resize() { if (navigator.appName == 'Netscape') i=40; if (document.images[0]) window.resizeTo(document.images[0].width +30, document.images[0].height+60-i); self.focus(); } Other than that, I'm not sure what's going on. But I would really, really check that you have entries in products_image_lrg not just products_image. Oops - that's my code, with the 'click to close window' ALT text. Yours won't say that. As an aside, I really don't like the way the additional 6 large and small images are hardcoded everywhere. It leads to massive code bloat and duplication. It must be possible to use a loop from 1 to 6 in most places. Still, this contribution is a lot better than anything I've coded so far.
  7. My, hasn't it been a busy day in here. Dunno where the guru is .. Dave, look like you've got it working over at bags4less. Care to tell us so we can all learn? The suggestion of removing IMAGE_LARGE_HEIGHT and IMAGE_LARGE_WIDTH means the popup window is far too small for the image displayed. Jenna, obviously the problem is that the SQL to add the row product_image_med didn't take. If as you say you are a newby at SQL this could be difficult. Let's hope there isn't any data in products. If this is the case you can drop and recreate the table, but I don't know where to begin describing how to do this. Do you know how to run some SQL that people send you? I could post a schema for a products table which has all the Ultrapics columns. People will say 'have you got a backup'? Player3612, the configuration settings are purely entries in the configuration table. See if you can make sense of this: mysql> select * from configuration where configuration_group_id=4; +------------------+-----------------------------+-------------------------------+---------------------+----------------------------------------------------------------------------+------------------------+------------+---------------------+---------------------+--------------+---------------------------------------------------+ | configuration_id | configuration_title | configuration_key | configuration_value | configuration_description | configuration_group_id | sort_order | last_modified | date_added | use_function | set_function | +------------------+-----------------------------+-------------------------------+---------------------+----------------------------------------------------------------------------+------------------------+------------+---------------------+---------------------+--------------+---------------------------------------------------+ | 54 | Small Image Width | SMALL_IMAGE_WIDTH | | The pixel width of small images | 4 | 1 | 2004-08-29 14:19:52 | 2004-08-29 12:43:32 | NULL | NULL | | 55 | Small Image Height | SMALL_IMAGE_HEIGHT | 120 | The pixel height of small images | 4 | 2 | 2004-08-29 14:20:02 | 2004-08-29 12:43:32 | NULL | NULL | | 56 | Heading Image Width | HEADING_IMAGE_WIDTH | 57 | The pixel width of heading images | 4 | 3 | NULL | 2004-08-29 12:43:32 | NULL | NULL | | 57 | Heading Image Height | HEADING_IMAGE_HEIGHT | 40 | The pixel height of heading images | 4 | 4 | NULL | 2004-08-29 12:43:32 | NULL | NULL | | 58 | Subcategory Image Width | SUBCATEGORY_IMAGE_WIDTH | 100 | The pixel width of subcategory images | 4 | 5 | NULL | 2004-08-29 12:43:32 | NULL | NULL | | 59 | Subcategory Image Height | SUBCATEGORY_IMAGE_HEIGHT | 57 | The pixel height of subcategory images | 4 | 6 | NULL | 2004-08-29 12:43:32 | NULL | NULL | | 60 | Calculate Image Size | CONFIG_CALCULATE_IMAGE_SIZE | true | Calculate the size of images? | 4 | 7 | NULL | 2004-08-29 12:43:32 | NULL | tep_cfg_select_option(array('true', 'false'), | | 61 | Image Required | IMAGE_REQUIRED | true | Enable to display broken images. Good for development. | 4 | 8 | NULL | 2004-08-29 12:43:32 | NULL | tep_cfg_select_option(array('true', 'false'), | | 168 | Enable Additional Images? | ULTIMATE_ADDITIONAL_IMAGES | Enable | Display Additional Images below Product Description? | 4 | 20 | 2004-09-05 17:02:40 | 2004-09-05 17:02:40 | NULL | tep_cfg_select_option(array('Enable', 'Disable'), | | 169 | Enable PHP Image Manager? | WYSIWYG_USE_PHP_IMAGE_MANAGER | Enable | Enable/Disable PHP Ultra-Image Manger? | 4 | 21 | 2004-09-05 17:02:40 | 2004-09-05 17:02:40 | NULL | tep_cfg_select_option(array('Enable', 'Disable'), | | 170 | Additional Thumb Width | ULT_THUMB_IMAGE_WIDTH | | The pixel width of additional thumb images | 4 | 23 | 2004-09-05 17:06:54 | 2004-09-05 17:02:40 | NULL | NULL | | 171 | Additional Thumb Height | ULT_THUMB_IMAGE_HEIGHT | 120 | The pixel height of additional thumb images | 4 | 25 | 2004-09-05 17:02:40 | 2004-09-05 17:02:40 | NULL | NULL | | 172 | Medium Image Width | MEDIUM_IMAGE_WIDTH | 200 | The pixel width of medium images | 4 | 28 | 2004-09-05 17:02:40 | 2004-09-05 17:02:40 | NULL | NULL | | 173 | Medium Image Height | MEDIUM_IMAGE_HEIGHT | 200 | The pixel height of medium images | 4 | 30 | 2004-09-05 17:02:40 | 2004-09-05 17:02:40 | NULL | NULL | | 174 | Large Image Width (Pop-up) | LARGE_IMAGE_WIDTH | | The pixel width of large images (Pop-up)<br>(Use 0 for non-specific size) | 4 | 32 | 2004-09-05 17:02:40 | 2004-09-05 17:02:40 | NULL | NULL | | 175 | Large Image Height (Pop-up) | LARGE_IMAGE_HEIGHT | | The pixel height of large images (Pop-up)<br>(Use 0 for non-specific size) | 4 | 35 | 2004-09-05 17:02:40 | 2004-09-05 17:02:40 | NULL | NULL | +------------------+-----------------------------+-------------------------------+---------------------+----------------------------------------------------------------------------+------------------------+------------+---------------------+---------------------+--------------+---------------------------------------------------+ 16 rows in set (0.01 sec)
  8. I had a similar problem. The values are defined on the Configuration page under Images. You will see entries for height and width for Small Image, Additional Thumb, Medium Image and Large Image. The way it works is that if an entry exists, the image will be resized to that value, otherwise the aimge will be shown whatever size it rreally is. When I say the image is resized, I mean it is simply displayed at a specific size using <img height= width=> values. So lets takes two cases 1) The image really is 100x100. You have Small Image Height = 200, large Image Height is not set. In this case your thumbnail is 200x200, put the popup large image is smaller at 100x100 2) The image really is 500x500. Here, the thumbnail will be 200x200 and the popup is 500x500 which is probably what you want. However, you have downloaded the large 500x500 image and displayed it smaller. This will result in really slow page loading times. This assumes you are using the same image for Small Image as for Large Image, which you won't be. It was just for example. The way I have set up my sizes is Small Image Width not set, Height = 120. Medium Image Width and Height both 200, and Large Image Height and Width not set. I have made sure that all my thumbnails are exactly 120 pixels high even though the width varies. This means I don't download bigger images than required. If I did set the Width to some value, the images would be distorted to fit, so I let the Width float to whatever it really is. The other thing to remember is the fall back route. The popup window looks to see if there is an entry in products_image_lrg, if not it uses products_image. It doesn't check to see if the file exists, just whether there is a database entry. In either case it uses Large Image height and width parameters. So if these values are set to small values, even a large image will be displayed small. Did that help?
  9. I don't think anything is wrong. Why are you expecting the image to be deleted? It would be possible to write code so that when a product is deleted, it checks to see if the image is in use by any other product, and if not, then deletes the image. But that code has not been written. It would also cause problems in some cases. I have a general purpose 'No image available' image. If I delete that image, I would have to upload it again next time I want to use it.
  10. Hmm, strange, It's not rocket science. I have made some changes to popup_image.php, so that any click closes the window. But the key part is this: tep_image(DIR_WS_IMAGES . $products['products_image_lrg'], So in includes/configure.php I have: define('DIR_WS_IMAGES', 'images/'); Note that is a relative reference as it doesn't start with a /. It assumes that images directory exists relative to popup_image.php. Due to a large number of stock images, I created a directory below images called stock. Therefore the entries in column products_image_lrg look like 'stock/item1.jpg'. It wouldn't hurt to change the title part to this for debugging purposes: <title> <?php echo DIR_WS_IMAGES . "${products['products_image_lrg']}"; ?> </title> So this will show the path it is looking for in the title bar of the popup window. Good luck
  11. Dave - I'm sure I saw something similar. The real gotcha is that vast amounts of stuff (like, alomst everything) is duplicated under admin. What happened to me was some changes to configure.php so it all worked well, until I went into admin. There's ALSO a configure.php under admin/includes as well as /includes.. You have the opposite problem - it works from admin but not from 'normal'. I'd check the filenames.php in both locations and popup_image.php in both locations. I'm not getting Javascript errors, but there's definitely no pop-up occurring! It's also unusual that you haven't installed stuff under /catalog/ on your site. You might just regret that later, as most contributions make that assumption. Martin
  12. Happy New Year! As I've finally got rid of my PC and got a shiny new iMac, I'm feeling pretty smug. Until I discovered it breaks the HTML Editor part of this superb contribution. As I understand it, it uses HTML Area V2 which uses nasty sneaky Internet Explorer 5.5 - only stuff. Since the only IE available on Mac is 5.2 (thank you SO MUCH, Microsoft!), I started digging. There is a good rule - when in hole, stop digging. Shame I didn't listen to myself. As most people in here have spotted, there is HTML Area V3 which works fine on Firefox/Mozilla (but not on Safari, the default Mac browser). Unfortunately, V3 is miles different than V2. Some people have started or tried to move this contribution to V3. I've got the HTMLArea working fine, except that the bodyStyle attribute does not exist, and the height and width attributes are no longer required. I'd be pleased to share my first stabs at getting this working with anyone who is interested, especially Lee. BUT - the Php Image Manager part is really broken. It wants to use InsertImageURL, which brings up the nice point/click image selector with upload/download. This doesn't exist in V3, there is only insertimage. Am I right in thinking that InsertImageURL was a serious bit of surgery done to V2 for the benefit of osC? Also, the insertImage function of V3 seems really primitive - just type in a URL. No point and click. I'd be happy to spend hours going down this route, but if someone is further along the path, it would be better to work together instead of blindly duplicating what's already been done. Anyone? Martin
  13. Problem for Spiders. I noticed I have lots of 404 NOT FOUND for requests like /catalog/images/x32.jpgℑ=0. Finally traced this down to a <noscript> tag around line 127 in products_info.php. I am being spidered, hopefully by Google, and the <noscript> section is incorrectly putting this image=0 bit on the end. It's there for the benefit of the pop-up 'Click To Enlarge' window when Javascript is enabled. <!-- // BOF MaxiDVD: Modified For Ultimate Images Pack! //--> <?php if ($product_info['products_image_med']!='') { $new_image = $product_info['products_image_med']; $image_width = MEDIUM_IMAGE_WIDTH; $image_height = MEDIUM_IMAGE_HEIGHT; } else { $new_image = $product_info['products_image']; $image_width = SMALL_IMAGE_WIDTH; $image_height = SMALL_IMAGE_HEIGHT;}?> <script language="javascript"><!-- document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id'] . 'ℑ=0') . '\\\')">' . tep_image(DIR_WS_IMAGES . $new_image, addslashes($product_info['products_name']), $image_width, $image_height, 'hspace="5" vspace="5"') . '<br>' . tep_image_button('image_enlarge.gif', TEXT_CLICK_TO_ENLARGE) . '</a>'; ?>'); //--></script> <noscript> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image_med']) . '">' . tep_image(DIR_WS_IMAGES . $new_image, addslashes($product_info['products_name']) . ℑ=0', $image_width, $image_height, 'hspace="5" vspace="5"') . '<br>' . tep_image_button('image_enlarge.gif', TEXT_CLICK_TO_ENLARGE) . '</a>'; ?> </noscript> <!-- // EOF MaxiDVD: Modified For Ultimate Images Pack! //--> I think the <noscript> bit should be like this: <noscript> <php> $image = $product_info['products_image_lrg']; if (!tep_not_null($image) { $image = $product_info['products_image_med'];} if (!tep_not_null($image) { $image = $product_info['products_image'];}echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $image) . '">' . tep_image(DIR_WS_IMAGES . $new_image, addslashes($product_info['products_name']), $image_width, $image_height, 'hspace="5" vspace="5"') . '<br>' . tep_image_button('image_enlarge.gif', TEXT_CLICK_TO_ENLARGE) . '</a>'; ?> </noscript> Martin
  14. Cyberdog

    Automatically send data feed to Froogle

    Hi! Nice contribution - does exactly what it say on the tin. Can I make a suggestion? The man script, catalog/admin/froogle.php, needs editting to insert the access details. Could you please insert require('includes/configure.php') and construct variables like $desintation_file, $Outfile, $product_url and $image_url from the defines made in their? I like to change my passwords about once a year, and if I have to make the change in this file as well, I'm going to forget!.. and then I'll be sorry. Things like the variables $home, $user, $password, $base are not required at all. $home is also misleadingly named, as for my ISP the MySQL server is completely different that my local host name. I could send you an editted version, but it probably just as quick for you to make the changes yourself - hopefully in the next version! I have things like if (!($link=mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD))) and $imageURL = HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES; $productURL = HTTP_SERVER . DIR_WS_HTTP_CATALOG . 'product_info.php?products_id='; Martin
  15. Cyberdog

    [CONTRIBUTION] Nochex APC Payment Module

    Thanks for the reply. So it seems the answer is in reply 80 - insert some $cart->reset() calls. Is this something that will be updated in the contribution in future? How come other peoples cart's don't need this additonal code? Oh BTW - I've changed 'cart' to 'basket' throughout as I'm English. Martin