er_discount = 7000; break; } return $sale_maker_discount; } //// // look up discount in sale makers - attributes only can have discounts if set as percentages // this gets the discount amount this does not determin when to apply the discount function zen_get_products_sale_discount_type($product_id = false, $categories_id = false, $return_value = false) { global $currencies; global $db; /* 0 = flat amount off base price with a special 1 = Percentage off base price with a special 2 = New Price with a special 5 = No Sale or Skip Products with Special special options + option * 10 0 = Ignore special and apply to Price 1 = Skip Products with Specials switch to 5 2 = Apply to Special Price If a special exist * 10+9 0*100 + 0*10 = flat apply to price = 0 or 9 0*100 + 1*10 = flat skip Specials = 5 or 59 0*100 + 2*10 = flat apply to special = 20 or 209 1*100 + 0*10 = Percentage apply to price = 100 or 1009 1*100 + 1*10 = Percentage skip Specials = 110 or 1109 / 5 or 59 1*100 + 2*10 = Percentage apply to special = 120 or 1209 2*100 + 0*10 = New Price apply to price = 200 or 2009 2*100 + 1*10 = New Price skip Specials = 210 or 2109 / 5 or 59 2*100 + 2*10 = New Price apply to Special = 220 or 2209 */ // get products category if ($categories_id == true) { $check_category = $categories_id; } else { $check_category = zen_get_products_category_id($product_id); } /* $deduction_type_array = array(array('id' => '0', 'text' => DEDUCTION_TYPE_DROPDOWN_0), array('id' => '1', 'text' => DEDUCTION_TYPE_DROPDOWN_1), array('id' => '2', 'text' => DEDUCTION_TYPE_DROPDOWN_2)); */ $sale_exists = 'false'; $sale_maker_discount = ''; $sale_maker_special_condition = ''; $salemaker_sales = $db->Execute("select sale_id, sale_status, sale_name, sale_categories_all, sale_deduction_value, sale_deduction_type, sale_pricerange_from, sale_pricerange_to, sale_specials_condition, sale_categories_selected, sale_date_start, sale_date_end, sale_date_added, sale_date_last_modified, sale_date_status_change from " . TABLE_SALEMAKER_SALES . " where sale_status='1'"); while (!$salemaker_sales->EOF) { $categories = explode(',', $salemaker_sales->fields['sale_categories_all']); while (list($key,$value) = each($categories)) { if ($value == $check_category) { $sale_exists = 'true'; $sale_maker_discount = $salemaker_sales->fields['sale_deduction_value']; $sale_maker_special_condition = $salemaker_sales->fields['sale_specials_condition']; $sale_maker_discount_type = $salemaker_sales->fields['sale_deduction_type']; break; } } $salemaker_sales->MoveNext(); } $check_special = zen_get_products_special_price($product_id, true); if ($sale_exists == 'true' and $sale_maker_special_condition != 0) { $sale_maker_discount_type = (($sale_maker_discount_type * 100) + ($sale_maker_special_condition * 10)); } else { $sale_maker_discount_type = 5; } if (!$check_special) { // do nothing } else { $sale_maker_discount_type = ($sale_maker_discount_type * 10) + 9; } switch (true) { case (!$return_value): return $sale_maker_discount_type; break; case ($return_value == 'amount'): return $sale_maker_discount; break; default: return 'Unknown Request'; break; } } //// // look up discount in sale makers - attributes only can have discounts if set as percentages // this gets the discount amount this does not determin when to apply the discount function zen_get_products_sale_discount($product_id = false, $categories_id = false, $display_type = false) { global $currencies; global $db; // NOT USED echo '
' . 'I SHOULD use zen_get_discount_calc' . '
'; /* 0 = flat amount off base price with a special 1 = Percentage off base price with a special 2 = New Price with a special 5 = No Sale or Skip Products with Special special options + option * 10 0 = Ignore special and apply to Price 1 = Skip Products with Specials switch to 5 2 = Apply to Special Price If a special exist * 10 0+7 + 0+10 = flat apply to price = 17 or 170 0+7 + 1+10 = flat skip Specials = 5 or 50 0+7 + 2+10 = flat apply to special = 27 or 270 1+7 + 0+10 = Percentage apply to price = 18 or 180 1+7 + 1+10 = Percentage skip Specials = 5 or 50 1+7 + 2+10 = Percentage apply to special = 20 or 200 2+7 + 0+10 = New Price apply to price = 19 or 190 2+7 + 1+10 = New Price skip Specials = 5 or 50 2+7 + 2+10 = New Price apply to Special = 21 or 210 */ /* // get products category if ($categories_id == true) { $check_category = $categories_id; } else { $check_category = zen_get_products_category_id($product_id); } $deduction_type_array = array(array('id' => '0', 'text' => DEDUCTION_TYPE_DROPDOWN_0), array('id' => '1', 'text' => DEDUCTION_TYPE_DROPDOWN_1), array('id' => '2', 'text' => DEDUCTION_TYPE_DROPDOWN_2)); $sale_maker_discount = 0; $salemaker_sales = $db->Execute("select sale_id, sale_status, sale_name, sale_categories_all, sale_deduction_value, sale_deduction_type, sale_pricerange_from, sale_pricerange_to, sale_specials_condition, sale_categories_selected, sale_date_start, sale_date_end, sale_date_added, sale_date_last_modified, sale_date_status_change from " . TABLE_SALEMAKER_SALES . " where sale_status='1'"); while (!$salemaker_sales->EOF) { $categories = explode(',', $salemaker_sales->fields['sale_categories_all']); while (list($key,$value) = each($categories)) { if ($value == $check_category) { $sale_maker_discount = $salemaker_sales->fields['sale_deduction_value']; $sale_maker_discount_type = $salemaker_sales->fields['sale_deduction_type']; break; } } $salemaker_sales->MoveNext(); } switch(true) { // percentage discount only case ($sale_maker_discount_type == 1): $sale_maker_discount = (1 - ($sale_maker_discount / 100)); break; case ($sale_maker_discount_type == 0 and $display_type == true): $sale_maker_discount = $sale_maker_discount; break; case ($sale_maker_discount_type == 0 and $display_type == false): $sale_maker_discount = $sale_maker_discount; break; case ($sale_maker_discount_type == 2 and $display_type == true): $sale_maker_discount = $sale_maker_discount; break; default: $sale_maker_discount = 1; break; } if ($display_type == true) { if ($sale_maker_discount != 1 and $sale_maker_discount !=0) { switch(true) { case ($sale_maker_discount_type == 0): $sale_maker_discount = $currencies->format($sale_maker_discount) . ' ' . $deduction_type_array[$sale_maker_discount_type]['text']; break; case ($sale_maker_discount_type == 2): $sale_maker_discount = $currencies->format($sale_maker_discount) . ' ' . $deduction_type_array[$sale_maker_discount_type]['text']; break; case ($sale_maker_discount_type == 1): $sale_maker_discount = number_format( (1.00 - $sale_maker_discount),2,".","") . ' ' . $deduction_type_array[$sale_maker_discount_type]['text']; break; } } else { $sale_maker_discount = ''; } } return $sale_maker_discount; */ } //// // Actual Price Retail // Specials and Tax Included function zen_get_products_actual_price($products_id) { global $db, $currencies; $product_check = $db->Execute("select products_tax_class_id, products_price, products_priced_by_attribute, product_is_free, product_is_call from " . TABLE_PRODUCTS . " where products_id = '" . $products_id . "'" . " limit 1"); $show_display_price = ''; $display_normal_price = zen_get_products_base_price($products_id); $display_special_price = zen_get_products_special_price($products_id, true); $display_sale_price = zen_get_products_special_price($products_id, false); $products_actual_price = $display_normal_price; if ($display_special_price) { $products_actual_price = $display_special_price; } if ($display_sale_price) { $products_actual_price = $display_sale_price; } // If Free, Show it if ($product_check->fields['product_is_free'] == '1') { $products_actual_price = 0; } return $products_actual_price; } //// // return attributes_price_factor function zen_get_attributes_price_factor($price, $special, $factor, $offset) { if (ATTRIBUTES_PRICE_FACTOR_FROM_SPECIAL =='1' and $special) { // calculate from specials_new_products_price $calculated_price = $special * ($factor - $offset); } else { // calculate from products_price $calculated_price = $price * ($factor - $offset); } // return '$price ' . $price . ' $special ' . $special . ' $factor ' . $factor . ' $offset ' . $offset; return $calculated_price; } //// // return attributes_qty_prices or attributes_qty_prices_onetime based on qty function zen_get_attributes_qty_prices_onetime($string, $qty) { $attribute_qty = preg_split("[:,]" , $string); $new_price = 0; $size = sizeof($attribute_qty); // if an empty string is passed then $attributes_qty will consist of a 1 element array if ($size > 1) { for ($i=0, $n=$size; $i<$n; $i+=2) { $new_price = $attribute_qty[$i+1]; if ($qty <= $attribute_qty[$i]) { $new_price = $attribute_qty[$i+1]; break; } } } return $new_price; } //// // Check specific attributes_qty_prices or attributes_qty_prices_onetime for a given quantity price function zen_get_attributes_quantity_price($check_what, $check_for) { // $check_what='1:3.00,5:2.50,10:2.25,20:2.00'; // $check_for=50; $attribute_table_cost = split("[:,]" , $check_what); $size = sizeof($attribute_table_cost); for ($i=0, $n=$size; $i<$n; $i+=2) { if ($check_for >= $attribute_table_cost[$i]) { $attribute_quantity_check = $attribute_table_cost[$i]; $attribute_quantity_price = $attribute_table_cost[$i+1]; } } // echo '
Cost ' . $check_for . ' - ' . $attribute_quantity_check . ' x ' . $attribute_quantity_price; return $attribute_quantity_price; } //// // attributes final price function zen_get_attributes_price_final($attribute, $qty = 1, $pre_selected, $include_onetime = 'false') { global $db; global $cart; $attributes_price_final = 0; if ($pre_selected == '' or $attribute != $pre_selected->fields["products_attributes_id"]) { $pre_selected = $db->Execute("select pa.* from " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_attributes_id= '" . $attribute . "'"); } else { // use existing select } // normal attributes price if ($pre_selected->fields["price_prefix"] == '-') { $attributes_price_final -= $pre_selected->fields["options_values_price"]; } else { $attributes_price_final += $pre_selected->fields["options_values_price"]; } // qty discounts $attributes_price_final += zen_get_attributes_qty_prices_onetime($pre_selected->fields["attributes_qty_prices"], $qty); // price factor $display_normal_price = zen_get_products_actual_price($pre_selected->fields["products_id"]); $display_special_price = zen_get_products_special_price($pre_selected->fields["products_id"]); $attributes_price_final += zen_get_attributes_price_factor($display_normal_price, $display_special_price, $pre_selected->fields["attributes_price_factor"], $pre_selected->fields["attributes_price_factor_offset"]); // per word and letter charges if (zen_get_attributes_type($attribute) == PRODUCTS_OPTIONS_TYPE_TEXT) { // calc per word or per letter } // onetime charges if ($include_onetime == 'true') { $pre_selected_onetime = $pre_selected; $attributes_price_final += zen_get_attributes_price_final_onetime($pre_selected->fields["products_attributes_id"], 1, $pre_selected_onetime); } return $attributes_price_final; } //// // attributes final price onetime function zen_get_attributes_price_final_onetime($attribute, $qty= 1, $pre_selected_onetime) { global $db; global $cart; if ($pre_selected_onetime == '' or $attribute != $pre_selected_onetime->fields["products_attributes_id"]) { $pre_selected_onetime = $db->Execute("select pa.* from " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_attributes_id= '" . $attribute . "'"); } else { // use existing select } // one time charges // onetime charge $attributes_price_final_onetime += $pre_selected_onetime->fields["attributes_price_onetime"]; // price factor $display_normal_price = zen_get_products_actual_price($pre_selected_onetime->fields["products_id"]); $display_special_price = zen_get_products_special_price($pre_selected_onetime->fields["products_id"]); // price factor one time $attributes_price_final_onetime += zen_get_attributes_price_factor($display_normal_price, $display_special_price, $pre_selected_onetime->fields["attributes_price_factor_onetime"], $pre_selected_onetime->fields["attributes_price_factor_onetime_offset"]); // onetime charge qty price $attributes_price_final_onetime += zen_get_attributes_qty_prices_onetime($pre_selected_onetime->fields["attributes_qty_prices_onetime"], 1); return $attributes_price_final_onetime; } //// // get attributes type function zen_get_attributes_type($check_attribute) { global $db; $check_options_id_query = $db->Execute("select options_id from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_attributes_id='" . $check_attribute . "'"); $check_type_query = $db->Execute("select products_options_type from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id='" . $check_options_id_query->fields['options_id'] . "'"); return $check_type_query->fields['products_options_type']; } //// // calculate words function zen_get_word_count($string, $free=0) { if ($string != '') { while (strstr($string, ' ')) $string = str_replace(' ', ' ', $string); $string = trim($string); $word_count = substr_count($string, ' '); return (($word_count+1) - $free); } else { // nothing to count return 0; } } //// // calculate words price function zen_get_word_count_price($string, $free=0, $price) { $word_count = zen_get_word_count($string, $free); if ($word_count >= 1) { return ($word_count * $price); } else { return 0; } } //// // calculate letters function zen_get_letters_count($string, $free=0) { while (strstr($string, ' ')) $string = str_replace(' ', ' ', $string); $string = trim($string); if (TEXT_SPACES_FREE == '1') { $letters_count = strlen(str_replace(' ', '', $string)); } else { $letters_count = strlen($string); } if ($letters_count - $free >= 1) { return ($letters_count - $free); } else { return 0; } } //// // calculate letters price function zen_get_letters_count_price($string, $free=0, $price) { $letters_price = zen_get_letters_count($string, $free) * $price; if ($letters_price <= 0) { return 0; } else { return $letters_price; } } //// // compute discount based on qty function zen_get_products_discount_price_qty($product_id, $check_qty, $check_amount=0) { global $db, $cart; $new_qty = $_SESSION['cart']->in_cart_mixed_discount_quantity($product_id); // check for discount qty mix =============== removed by john ================== //if ($new_qty > $check_qty) { // $check_qty = $new_qty; //} $product_id = (int)$product_id; $products_query = $db->Execute("select products_discount_type, products_discount_type_from, products_priced_by_attribute from " . TABLE_PRODUCTS . " where products_id='" . $product_id . "'"); $products_discounts_query = $db->Execute("select * from " . TABLE_PRODUCTS_DISCOUNT_QUANTITY . " where products_id='" . $product_id . "' and discount_qty <='" . $check_qty . "' order by discount_qty desc"); $display_price = zen_get_products_base_price($product_id); $display_specials_price = zen_get_products_special_price($product_id, true); switch ($products_query->fields['products_discount_type']) { // none case ($products_discounts_query->EOF): //no discount applies $discounted_price = zen_get_products_actual_price($product_id); break; case '0': $discounted_price = zen_get_products_actual_price($product_id); break; // percentage discount case '1': if ($products_query->fields['products_discount_type_from'] == '0') { // priced by attributes if ($check_amount != 0) { $discounted_price = $check_amount - ($check_amount * ($products_discounts_query->fields['discount_price']/100)); //echo 'ID#' . $product_id . ' Amount is: ' . $check_amount . ' discount: ' . $discounted_price . '
'; //echo 'I SEE 2 for ' . $products_query->fields['products_discount_type'] . ' - ' . $products_query->fields['products_discount_type_from'] . ' - '. $check_amount . ' new: ' . $discounted_price . ' qty: ' . $check_qty; } else { $discounted_price = $display_price - ($display_price * ($products_discounts_query->fields['discount_price']/100)); } } else { if (!$display_specials_price) { // priced by attributes if ($check_amount != 0) { $discounted_price = $check_amount - ($check_amount * ($products_discounts_query->fields['discount_price']/100)); } else { $discounted_price = $display_price - ($display_price * ($products_discounts_query->fields['discount_price']/100)); } } else { $discounted_price = $display_specials_price - ($display_specials_price * ($products_discounts_query->fields['discount_price']/100)); } } break; // actual price case '2': if ($products_query->fields['products_discount_type_from'] == '0') { $discounted_price = $products_discounts_query->fields['discount_price']; } else { $discounted_price = $products_discounts_query->fields['discount_price']; } break; // amount offprice case '3': if ($products_query->fields['products_discount_type_from'] == '0') { $discounted_price = $display_price - $products_discounts_query->fields['discount_price']; } else { if (!$display_specials_price) { $discounted_price = $display_price - $products_discounts_query->fields['discount_price']; } else { $discounted_price = $display_specials_price - $products_discounts_query->fields['discount_price']; } } break; } return $discounted_price; } //// // are there discount quanties function zen_get_discount_qty($product_id, $check_qty) { global $db; $product_id = (int)$product_id; $discounts_qty_query = $db->Execute("select * from " . TABLE_PRODUCTS_DISCOUNT_QUANTITY . " where products_id='" . $product_id . "' and discount_qty != 0"); //echo 'zen_get_discount_qty: ' . $product_id . ' - ' . $check_qty . '
'; if ($discounts_qty_query->RecordCount() > 0 and $check_qty > 0) { return true; } else { return false; } } //// // set the products_price_sorter function zen_update_products_price_sorter($product_id) { global $db; $products_price_sorter = zen_get_products_actual_price($product_id); $db->Execute("update " . TABLE_PRODUCTS . " set products_price_sorter='" . zen_db_prepare_input($products_price_sorter) . "' where products_id='" . $product_id . "'"); } //// // salemaker categories array function zen_parse_salemaker_categories($clist) { $clist_array = explode(',', $clist); // make sure no duplicate category IDs exist which could lock the server in a loop $tmp_array = array(); $n = sizeof($clist_array); for ($i=0; $i<$n; $i++) { if (!in_array($clist_array[$i], $tmp_array)) { $tmp_array[] = $clist_array[$i]; } } return $tmp_array; } //// // update salemaker product prices per category per product function zen_update_salemaker_product_prices($salemaker_id) { global $db; $zv_categories = $db->Execute("select sale_categories_selected from " . TABLE_SALEMAKER_SALES . " where sale_id = '" . $salemaker_id . "'"); $za_salemaker_categories = zen_parse_salemaker_categories($zv_categories->fields['sale_categories_selected']); $n = sizeof($za_salemaker_categories); for ($i=0; $i<$n; $i++) { $update_products_price = $db->Execute("select products_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id='" . $za_salemaker_categories[$i] . "'"); while (!$update_products_price->EOF) { zen_update_products_price_sorter($update_products_price->fields['products_id']); $update_products_price->MoveNext(); } } } ?>
Warning: Cannot modify header information - headers already sent by (output started at /home/chocol5/public_html/includes/functions/functions_prices.php:568) in /home/chocol5/public_html/includes/init_includes/init_templates.php on line 78
FAQ - Choco Favors
ChocoFavors ChocoFavors

Free Shipping

on order above $ 250
FAQ

I am not computer savvy; Can you design a custom artwork for me?

Absolutely, we have Designer in house that will make your dreams come true, you just need to image it and we’ll make it happen. The best part is that we don’t charge extra for this service!

Top

What type of chocolate do you use?

We use the finest Belgian Chocolate in virtually all of our products.

Top

How long does it take to get my order?

All Standard non-personalized items will ship within 3 days, while custom orders will be ready for shipment in 2 weeks or less.

Top

How long will the chocolate last?

Our chocolate products have a shelf life of 8 months to 1 year. We do not recommend refrigeration. Simply store the product at room temperature (not over 74*) - keep away from direct sunlight and heating units..

Top

Is your chocolate Kosher?

Yes, products are OU-D certified Kosher Dairy. Parve chocolate available upon request for some products.

Top

What forms of payment do you accept?

Online orders must be placed using a credit card. We also accept purchase orders for orders over $250.00.

Top

How do I know my chocolate won’t melt?

We use gel ice packs and insulated boxes in the warm months to keep the product cold until delivery. 2-day or overnight shipping may be required during warm months.

Top

How do I send my photo or artwork?

You can email it to design@chocolatefavorstore.com. or mail it to:

Deligance Chocolates
24915 Garnet Shadow Ln
Katy, TX 77494

Top