Posts filed under 'PHP & MySQL'
The Zen Cart & OSCommerce AJAX POS System is getting close to having a release ready. For more information on the OSCommerce POS or the Zen Cart POS - click here.
It works as an add-on module that hooks your OSC or Zen Database and still allows you to control attributes and information from inside OSC and Zen cart respectively. The fact that it is AJAX means you can do speedy real time lookups of customer information and orders. We have several brick and mortor stores who do millions in sales using the BETA of our system.
September 17th, 2008
After a very long development cycle, we now have custom modules for Zen-cart and Oscommerce that can calculate destination-based sales tax. Using a combination of address verification and data made available by your State you can become compliant in no time flat.
The modules calculate based on Zip +4 to break down the sales tax by zip code and the 4 digit code as well. If you tax rates change quarterly like our state, you can upload and parse the CSV file they make available to you in order to update the rates in bulk. For more information, contact us here.
September 17th, 2008
We’ve recently completed a new modification to a West-Coast Satellite Radio retailer - JJIElectronics.com that is working really well for them. We’ve added the ability to define the specials and featured products on a per-category basis.
Example #1 -XM Satellite Radios
For the admin, it really is as easy as assigning special or featured products with a few selection boxes and both the design styling and information shows up within the design template. Your clients do not have to mess with the description box or define_mainpage - it is that easy.
Zen Cart Feature - Displaying Zen-Cart Sub-categories in the Main Menu.
We’ve also built a dynamic menu system that displays all the the categories & sub-categories on the same menu - this is great for providing customers the ability to see all of the types of products you offer rather than force them to search. You can see the Zen Cart Dynamic Menu examples here. This helps your main page get spidered for all top-level keywords (which for an ecommerce site should start with your categories of products that you sell at the very least.
Zen Cart Feature - Multiple Shopping Feeds and “Referral Network” Integration.
Feedburner, Yahoo Shopping, Google Base / Froogle and Bizrate. We set up this Zen Cart build so it would detect the inbound referral and pop the correct survey box based on whether they came from BizRate, Shopping.com, etc. Most of these services give you their code to integrate and it really does nothing except pop the survey after you have successfully checked out. If you are a business as large as this client - and make use of several networks - then you either have to dynamically detect the referral and trigger the appropriate code - or you are stuck with popping all of the various surveys and letting the user fill out whichever one is relevant. Since JJIElectronics.com cares about their user’s experiences - they went with the auto-detect.
Additional Zen-Cart Modules
In addition to the stock build, we also added:
- Custom Shipping Tables & Rules
- Google Checkout & PayPal Express (that conforms to the above - just try that… we dare you.)
- An AJAX Sidebar Manager - to allow the various advertising, banners, buttons and tables they display throughout their site (ala DeepDiscountDVD.com & TigerDirect)
- A Zen-Cart to QuickBooks Exporter
- An advanced order manager that allowed batching of functions and printing.
- An advanced reporting module that allowed for reports to be generated on keywords and stock control.
- A total Zen Cart SEO overhaul.
- and Special Holiday Headers for a nice friendly touch!
All in all - a very effective website and relationship. For more information on our custom Zen Cart Developers & Zen Cart Development Services - just visit our website. Whether you need a Seattle Zen Cart Developer
or just want to outsource your problems to us - we are ready to help you. [We do not outsource ourselves, the buck stop here.]
March 14th, 2008
Symptom:
My client is using the new Google Checkout Module with Carrier Calculated Shipping, et al. (v1.4.5)
You can see the Google Checkout module for ZenCart here.
His freeoptions shipping module allows free shipping for orders greater than $50.00.
This is what his freeoptions shipping method options are:
Shipping Cost: 0.00
Handling Fee: 0
Total >= 50.00
Total <=
Weight >=
Weight <=
Item Count >=
Item Count <=
When you navigate to google checkout as a customer, it would not follow the pricing rules-- it would allow free shipping for any order regardless of price.
Here’s the Zen Cart Google Checkout Solution:
In the googlecheckout/gcheckout.php file, find these two lines: (line numbers 533 & 534)
$price = $quote[’methods’][0][’cost’];
$shipping_price = $currencies->get_value(DEFAULT_CURRENCY) * ($price>=0?$price:0);
replace them with:
if ($quote) {
$price = $quote[’methods’][0][’cost’];
$shipping_price = $currencies->get_value(DEFAULT_CURRENCY) * ($price>=0?$price:0);
}else{
unset($googlepayment->mc_shipping_methods[$key]) ;
continue ;
}
This should fix the other options in freeshipper as well - items, and weight, since it performs the same way (though I haven’t fully tested it in every possible combination or onfiguration). It should also fix any other shipping methods that just don’t show up based on some sort of option configuration.
Hope this helps someone else!
Kevin
November 27th, 2007
We’ve hired two new employees here at FDG Web. Jared & Blake.
Jared is a graphic designer fresh out of school (for the most part). You can see some of the great stuff he is working on for JJIElectronics.com (Special Christmas Zen-Cart Overlay). Jared is a designer. Did I happen to mention that? Photoshop, Illustrator, Vector Artwork, print work, etc - that is his area.
So, what you are seeing here is the result of our having put him next to the programmer’s pit here in the office.

[click to enlarge]
November 21st, 2007
Securing your servers & applications is always at the forefront of any “good” development group’s conscience.
If it is not, then heck, you are amateurs and your company deserves to whither and die because this is not a business where the”Fisher Price - My First Web Company” type of stuff cuts it.
This applies to the following people or companies:
- Web Freelancers who deploy open source or use community-grown contributions and freeware code for their clients.
- Companies & Developers who deploy or base customer-applications or tools off of open source or other frameworks.
- Companies and Freelancers who DO NOT watch to see if what they are deploying for their clients and customers later develops security flaws, exploits or other nasties.
- Web Hosts who run VPS or Dedicated Servers for their clients.
- Probably YOU - if you are still reading this.
Bottom line is that it is often a “company-ending” event when a server gets hacked and you are not prepared both legally (read that as you have strong contracts in place to protect you from these events) - and defensively to limit the damage.
IMPORTANT - If you are hosting web sites for your clients and letting them install any number of applications like Bulletin Boards (PHPBB), CMS’s (Mambo / Joomla), Shopping Carts (OSCommerce, Zen-Cart) or even Blogs like this one - AND - you do not understand any of what we are about to list off - then you should call us TODAY (877-239-3083) because you definitely need some quick and inexpensive help to secure your business.
For anyone who has even watched a company, client or server burn because a “guestbook” compromised their entire server - this is for you.
For anyone who lets their clients install applications via Fantastico or PLESK Application Vault - then this is for you.
For anyone who does not know what scripts & applications their clients are currently running on servers you are responsible for - then this is for you.
Kevin Huisman, our Development Manager and “server watchdog” recently posted the following:
For everyone interested in server security stuff, we thought we’d pass on a bit of info.
We had been using some home-grown rules to combat hack attempts, and decided to really do some research into finding a more comprehensive rule set. Sort-of a “why reinvent the wheel”…
There is a great site to become familiar with — http://www.gotroot.com that has a really comprehensive set of rules for multiple issues - IP and proxy black lists, known bad useragents, comment spam, etc.
Some of the rule sets make sense to use verbatim:
- Rule Exclusions
- Comment spam blacklist
- Compromised/Hacker boxes blacklist
- Anti-Proxy protection
- Bad UserAgents blocking
- Anti-Proxy protection
- “Google Hacks” signatures
- Known rootkits/worms
And so on…
There’s also a badips.conf file found in the “All in one” downloads that isn’t directly linked to from their list. It’s another set of IPs to ban, and it’s specifically for Apache 1.x / ModSecurity 1.9x, which usually fits the bill on most older versions. They retired it in Mod Security 2.x. rules, since there seems to be a better way of doing it in that version.
You should also look at what they call “Just in Time” protection, a set of rules that combat known vulnerabilities in specific open source web apps.
They have rules for squirrel mail, phpbb, formmail.cgi/pl, Coppermine, and a whole host of others.. You may not really need the bulk of the rules if you do not specifically run those web apps. You can just use those you need on each server.
It is recommended that rather than a wholesale deployment of all possible rules - you merely go through and whittle the list of rules down and remove those that do not apply to the web app versions you are using. Many times you simply find that even with these rulesets some of them maye .conf files are actually behind the versions of the web apps you’re using such as when specific files with specific known vulnerabilities that have been fixed since the rules were created. This is a bit of a lower priority at this time, since it probably doesn’t save much in the way of speed or processor.
As far as processing/speed goes, it’s a fairly big set of rules when you combine them all together, and we noticed that it takes a few beats longer to restart apache, but once it’s running, we haven’t seen any significant slowdowns.
Individual results may vary based on how many domains and traffic each of your servers or VPSs have.
July 13th, 2007
- Also know as - OSC POS, OSCommerce POS, POS Plugin for OSC
- POS System for OSCommerce
- Point of sale for OSCommerce

Figure 1 - posshot1.png - Creating POS Orders in OSCommerce.
This screenshot demonstrates the standard three-part sales order view. The very top bar indicates where in the system you currently are. You are logged in as a sales-rep - “Dan” and you are processing a new sale. Next will come the individual line items.
Basic product lines in this OSC Point of Sale (POS) example, including kilt types and belt types, are specified in the first dropdown. Each has a two-letter code. Once these codes are learned, you can enter them without having to click the drop-down.
There are two types of order as specified in “Product”. A stock item is usually scanned, which populates the entire line with the relevant data. But it can still be manipulated manually. Grabbing the drop downs in a Stock Order will indicate what options are available, based on what you have already chosen. Choosing added-cost options will cause the drop down to change color and an extra cost amount to appear in the Attributes pane.

Figure 2 - posshot2.png - Using SKUs in OSCommerce & access your OSC Database via the Point of Sale System.
The SKU field is what the scanner will populate. Each combination of options has a unique SKU, so scanning a tag will cause all of the dropdowns to automatically update. When manually configuring an order, the SKU field is not normally touched. Clicking “Clear” will clear the entire line.
Putting more than a few line items in this view will give the Items pane a scrollbar, but in the top right corner of the pane, you’ll see an Expand button. This will expand the Items pane to the entire visible browser window, moving the Customer and Payment elements below the fold. The scrollbar will transfer to the browser window itself, as is depicted in the next screenshot.

Figure 3 – posshot3.png - Accessing customer data (OSC) via the POS.
When the Customer field is visible, it can be used to enter a new customer as depicted in Figure 1, to search for customers as depicted in Figure 2, or to display or edit existing customers as depicted below.

Figure 4 – posshot4.png - POS & Payment information. Using a POS in OSC to fullfill payment and transaction.
This also showcases some of the Payment field functionality. Since this functionality is usually tied to your preferred Gateway / Payment processor, we will not go into detail on it. It serves to indicate at a glance what the payment method and details are.
This POS System for OScommerce & ZenCart is VERY robust and is not one of those things that just comes off the shelf. It is a custom install service we’re happy to offer. For more information - call us at 877-239-3063 or 425-482-7941 if you are in the Seattle-area.
Email us questions about our OSC POS!
October 10th, 2006
InviteDesigner.com is a “do-it-yourself” invitation (weddings, etc) website that allows you to build and customize entire sets of wedding & wedding related “stuff”. We say “stuff” simple because there is so much collateral related to weddings we are still realing from all the work. Colors like “Champagnique!” and “Crystophague” - who knew. Those were not in my box of crayolas.
You can check the site out here: http://www.invitedesigner.com
& their blog here: http://www.invitedesigner.com/blog - which talks about the business of weddings, creative ideas and, yes, probably the merits of using “Champagnique” colored something or other.
October 10th, 2006
Hi all.
We do a bit of php here and there. Well…. that’s a bit misleading. I don’t mean to brag, but the sign on my door says “PHP Deity, etc.” (that’s right, I said etcetera!)
So that in mind, we– (Myself and my compadres) are going to start writing about php stuff– how to do php stuff, where to get php stuff, what php is good at, and what it’s not.
So if you want to learn any stuff about php, keep checking back. Got a specific question? Drop us a line!
October 6th, 2006