Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Posts posted by GLWalker

  1. Hi everyone, thanks for the input thus far, I probably rushed into getting it ready for the BS Community edition, and overlooked a few things. If anyone is using the standard 2.3.XX download, use the first version I uploaded, should be fine.

    I'll make more changes and upload, I've been n the middle of a move, so this was my first chance back online since the last time I posted.

    As for the GitHub recommendation, I have been thinking of that too, so expect to see a repo soon.

    Existing order editing - this doesn't do that - but if there's enough interest it could.

  2. 3 hours ago, TITO4 said:

    · The file admin/includes/classes/http_client.php was missing. If I'm not wrong, it is not part of the last BS Edge version. Taken and added from previous Osc versions

    Just searched around on this file and it appears that it was only being used with USPS module, and it's outdated as well, so it was removed from the BS version.

  3. 13 minutes ago, TITO4 said:

    Hi G.L. Looks really nice. Thanks!
    Just installed and testing on BS Edge (August 2017), on Wamp Server. Issues I found:
    · I needed to change everywhere from DIR_WS_INCLUDES to "includes/.. etc.". The same with CLASSES, IMAGES, etc.
    · The file admin/includes/classes/http_client.php was missing. If I'm not wrong, it is not part of the last BS Edge version. Taken and added from previous Osc versions.
    · In php7 (v. 7.0.10), when clicking on Customers or Orders nothing happens, and the same when refreshing. It works if I delete in the URL the oscid (i.e ?osCsid=irl141pd59dngrhurivgsbh520). On the other hand, under php5 (v. 5.6.25) it works properly.
    · I remeber that I also had to change/correct something in Invoice and Packing Slip files. Sorry, but now I don't remember what.

    I'll continue testing it, and if you wnat, I'll be telling you what I find on it.

    Again, thanks!

    Ahhh, yes.. forgot about those changes for the BS edition - my most recent testing was on the standard download. I'll make changes and update. Thanks for the feedback.

  4. This is the support thread for the Customer Service Portal  https://apps.oscommerce.com/xihXD&customer-service-portal

    The primary goal of the Customer Support Portal is to allow osCommerce shop owners to allow their employees to work on order fulfillment and customer support inquiries without having to allow direct admin access. Additionally it serves as a full fledged order placement system that will work with a shops existing payment methods, as well as a couple of new payment modules that could be useful in case alternate means of payment processing are desired, or in person cash sales are needed.

    The Customer Support Portal also allows  a true guest checkout option. No customer is created if this option is used. All customer information is stored only in the actual order information. There is a quick link in the Customer Portal Header menu that allows guest orders to be viewed separately from the rest of the store orders. Please note that in the ht_customer_service module settings there is an email field to fill out, by default it uses the store owners set email address. This email is used for certain functions within the Customer Service Portal, such as a placeholder email in guest account creation. It will always be populated on the guest customers information field, just to skip the additional step of gathering an email address from a guest.

    Whenever done with guest accounts, or even logging into an existing customers account always go back to the dashboard. This resets the session for that particular customer. If you are in a customers account, then you have to take on a session allowing you to access their info, the dashboard kills any sessions that are not related directly to you the customer service agent.

    If you are using the cash payment option, you will need to adjust the sort order of you order total module sp that the order totals and cash back amounts are computed correctly.


    Helpful Videos:




    Known issues:

    This plugin has been used in working shops for a number of years and proven to be stable. There are howver 2 issues I am aware of.

    1) If a product in the cart has attributes, the update quantity field wont work properly. If a different quantity is desired, just delete it and add the correct quantity from the product listing itself.

    2) I have not noticed this until testing on PHP 7.0, when using the cash payment option, the update button needs to be clicked twice.


    Feel free to post with comments or suggestions.

  5. @@ArtcoInc


    Is it the text or onHover color that changes incorrectly, either way, have you just simply marked that particular element in the style as !important? Looks like maybe .dropdown-menu > .dropdown > a:after, .dropdown-submenu > a:after  may need something like color: #cccccc !important


    More than likely an existing rule in the Bootstrap CSS is overriding it, its probably a matter of targeting that specific selector, even if it means applying the rules all the way into a nested level.


    May need to list all levels in the css to get it, like:


    .navbar-nav > li > .dropdown-menu > li > a:hover {

    your rules here


    Or maybe just simpler with the Important rule:

    .dropdown-submenu > a:hover {

    your rules here !important;


  6. I set the random IDs to begin with 00, this way I think I can set up a search function to lookup only the guest orders using a match first two as 00 - as a real customer will never have an id that starts with 00.


    I should have known, you cannot use 0 as first character in a column that is INT - it just strips to the next whole number on insert - however - INT does allow - so the random customer_id is set to start with - followed by a few randomly generated and shuffled numbers.


    Looking in the database table it makes it very easy to see which are quest orders as the - is very easy to spot at a glance - and I like how it represents negative in the case of a non account holding customer.


    I did not realize that mySQL has built in regex checking, so it was very simple to create a search query using REGEXP  to find the customer_id starting with a  - . 






    all these hidden gems

  7. @@burt

    Ah yes, I remeber seeing your screenshot or video for that a few months ago :thumbsup:




    I have confimed a random generated customer_id will work with multiple "guest checkouts if we set the id VIA session key to  bypass any create account functions we can go to the address_book, dynamically add a session based email and phone number, then collect the standard address info - BAM! order complete, all info recorded, email updates can be sent out.


    So this bypasses any script that would want to update customer, customer_info tables, and prevents an anwanted welcome email, yet still allows for an order success email.


    I did 2 orders at the same time simutaniously running open windows of the same browser - no conflicts, 1 a COD order, the other using Stripes test CC numbbers which had to create a connection to process


    I set the random IDs to begin with 00, this way I think I can set up a search function to lookup only the guest orders using a match first two as 00 - as a real customer will never have an id that starts with 00.


    But thats not on a default install, but Im sure a little tweaking can get it there.


    Maybe next year it will see the light of day. If done correctly, it should port over to the next version with little adjustment :-

  8. Yes, you brought up a lot I overlooked on a regular customer account. For what I am building it is no problem becuase the files are all controlled within their own private area and I can bypass the update to customer info if it is a guest.


    Still though, it makes me think about better ways to achieve a guest checkout - making a temporary account is good, but Im looking into how to do it without hacking the core :)

  9. Both being on account at same time is possible, - but you did remind me of a very important aspect I overlooked - the shopping cart. Perhaps a customer_id could just be randomly generated and set by session.


    As for the customer data it is all stored in the orders table so the customer is still notified VIA any admin order updates. And of course a token for checking updates would work well.


    Overall - trying to put the concept of very little to no core updates into the process. Can it be done? I think so.


    But now I must recode my addon to try using a random ID in case 2 or more employess are taking strictly "guest" orders at the same time. +1

  10. Recently Ive been developing a very large addon for store owners to allow their employess to use without having to give them access to the store admin. A employee may view and process orders, email customers, create customer accounts, edit ordrs, and take orders over the phone using its own built in checkout process. Orders can be made for existing customers or strictly guest.


    Anyhow, while using the mod, it dawned on me that I had esencially created a method of making guest orders for customers that call in and do not want an account. Any order took this way goes into a customer account that is stricly owned by the store, and the address books can be set to a higher number than the regular customer accounts.


    So I was wondering, with the couple of guest checkouts available, - 1 deletes customer info after checkout, the other flags it as guest and allows the guest to become customer later. I think for guest you should not keep account data if you tell them they are a guest! 


    Why not create a simple flow for guest that is very unintrusive to the core code by:


    1) Have a select guest option - when initiated a session is set, lets call it guest_order. If guest_order is set, then the customer_id is the same as the stores customer account.


    2) After setting the session, the guest is then directed to the store's customer accounts address book process where they enter their address, with the session set there will also be two more fields in the address book, phone and email.


    3) After filling out complete address info, then two more sessions are set for phone and email, they would work very much like the comments session.


    4) Customer goes throught the checkout and when checkout_process is initiated it takes the session info for phone and email and inserts it rather than the stores defualt info. Then it clears the phone and email session. - Probably delete any address book entries made as well. But thats another area that would be handled by session assignment as well.


    5) On checkout success guest_order session is cleared, order is done, customer can move on.



    All the while the guest_order session is set certian things need to be disabled, such as access to account areas.


    Most of this could all be done using a header tag module. The checkout process would need some editing to tell it if guest_phone/guest_email exist then insert this else default. Unless it is possible to override it with a header tag module - but I dont think so.


    Overall a lot less code changes, no database changes, and orders page would have all the info needed for contacting customer. So far as I can figure in this scenario, - only  2 to 4 core files to change. Or 1 file, checkout_process, and then add new files for the address book/checkout new address selections.



  11. Ive been looking at this. @@Tsimi I downloaded your package, I like the screenshots showing how it looks. I only browsed the code and my initial thoughts were it could get better and be less intrusive.


    My thoughts :


    Most of the code that pulls the logic should be able to move into a header tag module




    All the code could be put into a content module and then place the markup to grab it in the shopping cart file.


    There's no need to show order totals, just shipping quotes. These type of things have to be as simple as possible, not necessarily because of all the different outcomes depending on totals, tax, weight, distance, etc; but as Gary mentioned "customers sometimes display a lack of common sense." That's a big time reason.

  12. Without looking it almost sounds as if a key is not uninstalling from the configuration table, I'll double check my code when I get a couple minutes.


    But to answer the question, only the wholesale login box should be installed - it will allow both retail and wholesale login. All it really does is set a session for wholesale user if the customers id exist in the wholesale customers table.

  13. Unless you modified the code in easy populate, there's no way it would have inserted the wholesale price into the wholesale table. I have not looked at easy populate in several years, but do believe it must be capable of inserting into the specials table.


    If you look at your specials table and products_to_wholesale table in phpMyAdmin, I think you will find the products_to_wholesale table empty, and specials table populated instead.


    If this is the case, then the data can still be ported from one table to the other, but will take some modifications.

  14. Just checked your site, you did not happen to use the specials form to add in your wholesale prices did you? :(


    Every product I see has the specials markup around the source. If so let me know in PM - I can help you convert the tables so you don't have to go through all that data entry again, looks like over 6000 products.

  15. I would double check the code in product_info.php to be sure it is checking that the wholesale session is there. It sounds like it is bypassing it, or perhaps your browser has the session set and you are always seeing the wholesale price, so I would also check the loggoff file to be sure the code for unregestering the session is in place.

  16. This is the help thread for Advanced TinyMCE. Though it is not a true addon in the sense of what an addon is, I see a lot of users that wish to integrate a WYSIWYG editor into various places of their shop.

    I have went over a lot of places you can use this, and created the various functions and TinyMCE toolbars for use in each area.


    If you can think of another area to use it in, let the ideas flow.


    Please note that this implementation makes use of a CDN to serve the TinyMCE script to your website. If you feel the need to host the TinyMCE files yourself, upload them to your catalog/ext/ directory and change the path to the script within template_top(s).


    Addon found here: http://addons.oscommerce.com/info/9124

  17. @@RMD27

    Well its always good practice to go with the latest versions, as with osCommerce when there is a new version its not a bunch of fluff, but actually beneficial changes.


    If you have too much put into your existing site and wish not to upgrade, the code that is located in the content module can be ported over without toooo much hassle. Its basically the check for a wholesale id. You can compare the content module code to the similar code inside login.php on and see where the query should go. All other files that are modified are pretty much the same in any 2.3 version.


    You will run into one other hickup with the database tables and module setting though. You could convert everything to a header_tag module and install that way, or create a new group in the configuration table and import the configuration values there, and then manually dump the 2 new tables as well.


    Let me know which way you want to proceed so I can be of more help.