WC_Cart: Uncouple add_to_cart checks from add_to_cart function.

This is a rough proposal - basically food for thought. The supplied
code has NOT been tested.

In some cases, we may need to do the checking part on multiple products
before giving permission to actually add them all to the cart. The
reason is that if any product check fails (e.g., out of stock), then no
product should be added to the cart and a product-specific error
message should be returned, like so: "Product X: The product is out of
stock", instead of a vague "The product is out of stock". This is esp
useful for Product Bundles, which at the moment handles this by reusing
parts of existing code.

Things would be more elegant if an add_to_cart_check function existed.
I am not sure if the add_to_cart_check call should exist within
add_to_cart, or if there should be 2 separate calls, one for
add_to_cart_check and one for add_to_cart, throughout the core codebase.

The supplied woocommerce_add_to_cart_error_message filters would be
useful for manipulating the messages to include product-specific info.

Finally, the woocommerce_add_to_cart_…_halt filters would be useful in
cases where these checks should not return false. I can image some
cases, esp related to bundling.

Note - This is not required for 'Product Bundles' to work, but it's
always a good idea to make the core code a bit more flexible.
add_to_cart_url filter added in loop/add-to-cart.php

Needed by Product Bundles to get rid of the last template file override.
Put changed file back in place. Sorry about that.
Revert "Put changed file back in place. Sorry about that."

This reverts commit 98f945a58f132deca05d5ca899d576caee86549a.
Revert "add_to_cart_url filter added in loop/add-to-cart.php"

This reverts commit 174ccfadd2973c52e6c39c63ee68e94cbbdae93e.
Revert "WC_Cart: Uncouple add_to_cart checks from add_to_cart function."

This reverts commit 41a5b1f3e7d7daaca3a811ea6b19e37ef2686f70.
add_to_cart filter added in loop/add-to-cart.php

Needed by Product Bundles extension to avoid overriding this file.
Finally, no templates files are overridden.
Merge branch 'master' of git://github.com/woothemes/woocommerce
PK
Conflict
chmod
Merge branch 'master' of https://github.com/woothemes/woocommerce
Add action hook before sending customer invoice

This is the only notification type that can't be hooked before starting
to compile the message.

One good reason for hooking there is to switch e-mail languages
according to a stored order language. Other people might find other
uses for these hooks, but, bottom line is, no hook exists in this case.
Latest
chmod
Merge branch 'master' of https://github.com/woothemes/woocommerce
added hooks to support analytics plugins

successful ajax add to cart : woocommerce_ajax_added_to_cart,
$product_id

added valid coupon: woocommerce_applied_coupon, $coupon_code

reorded : woocommerce_ordered_again, $order->id

tracked order : woocommerce_track_order, $order->id

calculated shipping on cart : woocommerce_calculated_shipping
Revert "Replaced graphics with font on orders / products"

This reverts commit df23d2ddd9eb9f6198fcc895014a257a217f680f.
Revert "using font for tab icons"

This reverts commit 7d9e754cd465790e9580bcd92b5502cb67ebd64f.
.svg icons for tabs