Jump to content


  • Content count

  • Joined

  • Last visited

Everything posted by jbretel

  1. jbretel

    NEW! Complete Order Editing Tool!

    For anyone using Auctionblox with Order Editor Please see the following thread from the Auctionblox forums for fixing the classes issues: http://members.auctionblox.com/community/f...db5847c2892ccd4 This should help fo rthe majority of cases ! Regards, JB
  2. jbretel

    Wishlist 2.0 Support Thread

    Hi Lobotomia - see my previous fix and explanation for including the tep_href prefix - some pages back - or download the amended Product_info.php page from the contributions page ! Regards JB
  3. jbretel

    Margin Report v2.10

    Hi I have the QTPro Contribution installed - which keeps stock of all attributes separately - its unbelievably important if you have as many products and product options as we do ! It'd be great to have this margin report for the attributes as well, as there are huge variances in the option costs - ie 1 product - pack of ten - pack of fifty etc !! I guess it would have to be tied to the attributes id and a variable set to recognise whether that prod has attributes or not (as is with most other attribute sensitive cont's) Anyone ???
  4. jbretel

    Wishlist 2.0 Support Thread

    Ooops ! :blush: Sorry Dennis - V. tired and emotional :D Thanks again :thumbsup:
  5. jbretel

    Wishlist 2.0 Support Thread

    Great code David - Just for clarification - the second part of the code - // Added for wishlist.php if ($navigation->snapshot['page'] == FILENAME_WISHLIST) { $messageStack->add('login', TEXT_WISHLIST_ERROR); } //End add for wishlist.php Should go wherever you want it to appear in the Login.php file - am I coorrect - this is what I needed to do to make it appear when I was referred from the wishlist page. Many Thanks JB
  6. jbretel

    Wishlist 2.0 Support Thread

    Great code David - just for Clarification - the second part shoul go wherever you want it to appear in the Login.php file - am I coorrect - this is what I needed to do to make it appear when I was referred from the wishlist page. Many Thanks JB
  7. jbretel

    Wishlist 2.0 Support Thread

    Yes - strange that - the penny only dropped for me when my server was upgraded and all my old style poorly coded "Relative Pathway" links (ie a <href"\login.php">) started breaking sessions - very stressful as my modified quick search box (in a form) automatically logged the user out - not very cool for customer appreciation ! It just seemed to change overnight coz my server provider neglected to tell me about the upgrade !! Anyway using the tep_href_link() function is good programming so better to be a good coder than wing it ! The learning curve sometimes seems vertical, eh ! Regards JB
  8. jbretel

    Wishlist 2.0 Support Thread

    Sorry - I was a numpty just before and only just realised my gaff ! For the alternative login you do not need to change every reference in the newly copied / created login_wishlist.php file - just amend the the following in the header of that file: require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_LOGIN); to require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_LOGIN_WISHLIST); And copy the file in includes\languages\english\login.php and save it as login_wishlist.php in that same directory - ditto the other languages. Then add whatever text you need to that file in the languages folder - thats probably much easier !!
  9. jbretel

    Wishlist 2.0 Support Thread

    Hey - its great when a plan comes together - dahn dan dahn, dan dan dahn (The A Team anyone ?) Okay the default referal to the catalog\login.php page for all customers that are not already logged on, who try to "add to Wishlist" is like this - the Wishlist 2.3 contributions has two instances of the following code : if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } one in catalog\wishlist.php and the other in catalog\wishlist_email.php This simply diverts all non-logged users to the login.php prompting them to set up an account. I have reviewed the code in Mywishlist v1.01 and Wishlist 2.3 and they are quite different. Mywishlist V1.01 uses a replicated Shoppingcart Class and functions to allow non registered users to compile a wishlist and email to friends/family then merge when registered. But Wishlist V2.3 handles the wishlist quite differently and requires users to be registered before it will process the wishlist code. Both have their benefits - my preference is for non-logged users to be able to create wishlists and email to friends, but the code for Mywishlist V1.01 will not work in my site so I have concentrated on fixing this version (2.3) of the Wishlist. I guess that if they have to register then you at least manage to obtain another customer for promotional emails / specials etc (the best way to stimulate sales by the way!). The downside is you might lose potential referred sales and future customers - either the wishlist(er) or the recipient of the wishlist. Ahhh well - at least we're cooking with this contrib now eh ! Regards JB Just a thought regarding the confusion when customers are referred to the Login.php page (like, oh - whats happened here ?) I would suggest amending the text in the login.php file (under languages\english or spanish or Germ etc) to read at the top of the page :- "Welcome to www.blahdeeblah.com - Please login to use The Wishlist and Send Wishlist to a Friend feature" or something similar. I personally have changed the referral references mentioned in the above two files (wishlist.php and wishlist_email.php) where previously it read FILENAME_LOGIN it now reads read FILENAME_LOGIN_WISHLIST I then copied the login.php and renamed it login_wishlist.php Then added define('FILENAME_LOGIN_WISHLIST', 'login_wishlist.php'); in the catalog\includes\filenames file - Then Amended the login_wishlist.php file for all ref's like HEADING_NEW_CUSTOMER to HEADING_NEW_CUSTOMER_WISHLIST_LOGIN Then added additional text in the languages files under the references HEADING_NEW_CUSTOMER_WISHLIST_LOGIN and TEXT_NEW_CUSTOMER_WISHLIST_LOGIN and HEADING_RETURNING_CUSTOMERWISHLIST_LOGIN and so on - But this might be a bit of a headache for newbies so it'd be better if there were some smart code that recognised the referral from product_info.php which required or includes another define WISHLIST_LOGIN_REQUEST code etc - just a thought - any ideas anyone ? As always - backup your files first before playing, and preferably do it on a test server first !
  10. jbretel

    Wishlist 2.0 Support Thread

    Okay Guys and Gals - Here's the code fix for the problems with new sessions being created whenever "Add To Wishlist" is clicked in Version 2.3 (and coincidentally the Attributes Handler Add-on). Original Wishlist V2.3 Contribution Code in Products_info.php is this: <?php echo tep_draw_hidden_field('wishlist_action', 'add_wishlist') . tep_image_submit('button_wishlist.gif', IMAGE_BUTTON_ADD_WISHLIST, 'onClick="document.cart_quantity.action=\''. FILENAME_WISHLIST . '\';document.cart_quantity.submit();"'. ' action=add_wishlist'); ?> You need to change to this: <?php echo tep_draw_hidden_field('wishlist_action', 'add_wishlist') . tep_image_submit('button_wishlist.gif', IMAGE_BUTTON_ADD_WISHLIST, 'onClick="document.cart_quantity.action=\''. tep_href_link(FILENAME_WISHLIST) . '\';document.cart_quantity.submit();"'. ' action=add_wishlist'); ?> The solution is wrapping the FILENAME_WISHLIST in the tep_href_link() function - the default hyperlink function for passing all filenames in OSCommerce - please note for future when inserting any hyperlinks in your OSC stores they need this function to work properly. I hope this fixes everybody elses prob's with sessions being lost from the Hidden form submission. Just to note - this contribution defaults to log_in.php as default and you need to deprecate all instances of If Session is registered - not a small task for newbies like me. Regards, JB
  11. jbretel

    MyWishlist v1.0

    Hiya, This contrib is v good ! I've installed this contribution on a heavily modified MS2.2 with Lynda's - Shoppe Enhacement Controller Contribution, QTPro 2.1 Stock control for attributes, Auctionblox Ebay API Interface and many many others. I have no Templates installed as I reworked orig OSC code to refit our initial designs (the best and only way to optimize site performance and appearance and contribution compatibility ) The contribution works great with no problems with broken sessions, as suffered with the Wishlist V2.3 (the attributes submission code doesn't work for sites using sessions without cookies). I am, however, having problems with attributes in this contribution. My store relies heavily on identifying Attributes but this contrib does not seem to add these attributes to the Customer_Basket_Wishlist_Attributes Table in the database. I am unsure whether Lynda's heavily modified "add_cart" function in the "class shoppingCart" in Includes\Classes\Shopping_cart.php needs to be replicated in the duplicated "add_cart" function in the "class wishlist_class" included in the Mywishlist contribution install.txt (sorry if that sounds confusing). Does anyone have this contrib working on a vanilla version of OSC MS2.2 and do the attributes get passed to the database and then the shopping cart ? I turned on the - print "<pre>"; print_r($products); print "</pre>"; - test code in modules\wishlist_details.php and its shows no attributes being returned: - Array ( [0] => Array ( [id] => 268 [name] => Trimax - 17lb test [model] => TMVS17-59 [image] => Berkley_trimax_17lb_330yd_small.jpg [price] => 4.9500 [quantity] => 1 [weight] => 125.00 [final_price] => 4.95 [tax_class_id] => 0 [attributes] => ) So I checked the database customers_basket_wishlist_attributes and no entries (rows) existed - even though it had written to the customers_basket_wishlist successfully. So my question is - does this contribution work with attributes on a fresh OSC2.2 install ? Thanks - great contrib and idea - be really please when the attributes are sussed ! Regards JB
  12. jbretel

    Wishlist 2.0 Support Thread

    Hi I have the same problems with this contribution - once the product details are submitted through the "hidden form" link in Product_info.php a new session is created (check the osCid=*********** in the URL) which is why users are forwarded to the log-in page - beacause of this code in Catalog/Wishlist.php if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } I installed the Mywishlist v1.01 contribution (which uses the older tep_href function in the Product_info.php file to submit product details) and this works fine except that that contribution doesn't handle Product Attributes, and my store has 60% of all products with attributes. I think it is probably the way in which the sessions are being handled. Specifically: - when using the following code in Mywishlist V1.01 the sessions are handled fine <?php //if (tep_session_is_registered('customer_id')) echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_wishlist') . '">' . tep_image_button('button_wishlist.gif', IMAGE_BUTTON_ADD_WISHLIST) . '</a>'; ?> but when the following code is used to submit (through the form and tep_image_submit function) the session is broken and a new session is started: <?php echo tep_draw_hidden_field('wishlist_action', 'add_wishlist') . tep_image_submit('button_wishlist.gif', IMAGE_BUTTON_ADD_WISHLIST, 'onClick="document.cart_quantity.action=\''. FILENAME_WISHLIST . '\';document.cart_quantity.submit();"'. ' action=add_wishlist'); ?> This is the new submission form for the Product Attributes in WIshlist contribution. When I replace the new Submission form code with the old tep_href Code the session remains the same and customer is still logged on - but the details are not Posted or passed through to the Wishlist database tables. I'm unsure whether its easier to work on this contrib or the Mywishlist (as Mywishlist V1.01 allows non-logged users to use, and email, the Wishlist to others without the need to create an account, and then merges the wishlist when an account is created - which is a fantastic feature). Anyway - I hope this helps someone with a bit more talent than me to sort this out for all of us not using "cookies enabled" Regards JB
  13. jbretel

    Named anchor tags don't work?

    QUOTE(Red3D @ Nov 27 2004, 07:04 PM) PHP pages are dynamic and will reload unlike static HTML files - but you must consider sessions when you code links in OSCommerce - see the following:- Hi this is a reply to another post but may help you, I have just sussed a fix for my site using ancor tags and also using the session ID in the header. use the echo tep_href_link like this to link to a page in the static information pages (there is a function to ref to product pages but I'm unsure if it will accept the following code:- <?php echo tep_href_link( "reference_rigs5.php"); ?>#spinning NOTE - add the #anchor tag outside the php echo tep_href_link code and this will maintain the session ID whilst providing an HTML style anchor to wherever on the page you want the link to point to ! (in this case "#spinning") In OSC sessions it merely adds it after the OSCid and maintains the session. I tried many things to get this to work, but if like me you have avoided using cookies etc then this definitely works ! I'll be watching this thread so any comments or problems please feed back ! Regards Jeremy :D
  14. Steve, I do not know why your contribution is not deducting the stock, Mine is working fine after the one small modification I mentioned previously. Download the latest contribution - go to www.scootersoftware.com and download the free trial of the "Beyond Compare - software comparison tool" - you will end up buying it - it's invaluable. Compare the downloaded files to your files and amend any anomolies. After that there should be no rational reason why stock is not being automatically calculated ! Best of luck ! JB
  15. Hmm - works well on my store but I do have heaps of mods and contributions ! You must have deprecated the previous code if (tep_db_num_rows($q)>0) by putting two forward slashes in front of it like this : - // if (tep_db_num_rows($q)>0) and replace it with this if (tep_db_num_rows($q)>=0) alternatively just add the = to the formula like this if (tep_db_num_rows($q)>=0) If this fails I'm not sure what your store is doing that is different to mine. Does anyone else encounter problems like steve's after this mod ? Regards JB
  16. The mod is in the catalog/includes/functions/general.php Remember - deprecate old code rather than deleting it. And comment contributions and changes all the way ! I hope this works for you ! JB PS - get a copy of Beyond Compare from www.scootersoftware.com - its not free but its the best $30 you'll spend this year (compares contribution files to your shop files so you can see all changes to code !) - they have a 30 day trial for free so give it a whirl - I've no affiliation to the product or group but it makes life a whole lot simpler !
  17. Oh yes - and this hack also returns a "0" value for all attributes that are out of stock, in the admin - categories/products - product "Stock" screen. Whereas before the items just did not appear in the list, of individual attributes in or out of stock ! JB PS. Anybody watched "Young Adam" with Ewan Macgreggor yet ?? - whassallthataboutthen - a bit deep methinks !!! Ah well, off to take the medication !
  18. Firstly - thanks to all who have contributed to this feature - its awesome and should be a standard feature of MS3 - I've been waiting for a functional MS2 version for a while !! I had the problems discussed above except that it was totally sporadic - when logged in with the cart it showed out of stock and then didn't - then allowed checkout, then didn't - ditto when not logged in - showed O.O.S. then didn't -weeiiiiirdd !!! I've been reviewing the code for two days now and (crossing himself for fear of hexing the fix!) I have narrowed it down to the issue of minimum quantity for Zero attributes <=> 0 being recognised in the cart and tep_stock_check_new in general.php requesting out of stock response on multiple attribute items for less thanzero. I have tested the following hack twenty-twelve ways from Sunday and as far as i can see it deducts stock by attribute stock level correctly, shows out of stock when individual attribute product level is at zero, and will adapt when you increment the stock level in the cart (ie order more than the one final product left) and stops checkout process etc etc as its supposed to. I have a heavily modded SEC2.2 www.webmakers.com (thanks a mill Ajeh !!) with many, many additional attribute classes and functions and it works for all of them, regardless. I have not touched any other area of this contrib other than below, to fix it for me ! Deprecate the code as shown and Enter the following hack in general.php until Freezehell gets a chance to fix it proper-like ! If it works for you then great - If its a seriously bad code hack then please post here and call me a numpty ! Changes in Red Green & Blue below (Coz I'm a colorful type of guy !). // BOF: QTPro 2.1 - Amended for attributes inventory - JEB function tep_check_stock_new($products_id, $products_attibutes, $products_quantity) { global $languages_id; $products_id = tep_get_prid($products_id); $arr1=array(); // if (preg_match("/^(\d+)/",$products_id,$m)) $products_id=$m[1]; asort($products_attibutes); while(list($v1,$v2)=each($products_attibutes)) { $arr1[]=$v1; } $arr1=implode(",",$arr1); $q=tep_db_query("select products_options_id, special from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id in ($arr1) and language_id= '" . (int)$languages_id . "'"); while($rec=tep_db_fetch_array($q)) { $special[$rec[products_options_id]]=$rec[special]; } $attr=array(); reset($products_attibutes); while(list($v1,$v2)=each($products_attibutes)) { if (!$special[$v1]) $attr[]="$v1-$v2"; } $attr=implode(",",$attr); $q=tep_db_query("select products_stock_quantity as quantity from " . TABLE_PRODUCTS_STOCK . " where products_id='". (int)$products_id . "' and products_stock_attributes='$attr'"); // Old deprecated code - BOF: JEB hack for query to fix out of QTY in cart - if (tep_db_num_rows($q)>0) // New code establishing less than and equal to parameter for multiple attributes for out of stock calc in cart - if (tep_db_num_rows($q)>=0) // Eof Hack for cart out of stock fix - JEB { $rec=tep_db_fetch_array($q); $quantity=$rec[quantity]; } else { $quantity = tep_get_products_stock($products_id); } $stock_left=$quantity-$products_quantity; $out_of_stock = ''; if ($stock_left < 0) { $out_of_stock = '<span class="markProductOutOfStock">' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . '</span>'; } return $out_of_stock; } // EOF: QTPro 2.1 - Amended for attributes inventory - JEB Hope this works for everyone ! Really Great Contrib ! Good Luck !! Jeremy
  19. jbretel

    Customer Rewards/ Point System

    If only this were available. I have shopped at many sites with loyalty points and the incentive for me to return and shop is very high - you've got some free points - not quite enough for a free product - but you'll be damned before you let them go to waste - so you spend some more cash to get your freebie EVERYBODY likes the idea of something for nothing. This should be on the workboard (heh heh - like everyones not reeeeaaalllly busy !) If I had more advanced skills I'd be signing up to this one - I am looking at it with other PHP geeks so if we figure how to link the tables to the customer and a sound reimbursement system we'll have a crack ! Bascially you want a GV contrib that assigns baby gv's based on the shopping cart being processed at checkout ! Maybe need to have temp fields for Shopping baskets which validates when transaction is completed or deletes if session expires. Something to think about - job 1,023 on my list ! JB ;)