Jump to content
Latest News: (loading..)

All Activity

This stream auto-updates     

  1. Today
  2. Yesterday
  3. Dan Cole

    version with php7.2

    While Gary won't mention it -- he is far to humble ๐Ÿ˜€, you can provide support by purchasing one or more of his excellent add-on modules. For details see his Club osC forum. Funds obtained in that way are ear marked by him, so he can to continue provide support for the community versions of osC. Dan
  4. Mr.Raiwa I do apologize I didn't know you were traveling, have a wonderful time and we'll touch base when you come back.
  5. Then please have again a look, there is a content module available. Iโ€™m traveling right now and canโ€™t check. See also the modular shopping cart add on.
  6. i am using edge 2.3.4 Discount Codes 4.2 BS
  7. Kevin, it seems there is a misunderstood. please tell us your exact coupon code version and store version. The coupon code Bs this thread is for DOES include the content module for shopping cart and does not require any additional coding. I just had a look on your code and it is for a very outdated oscommerce version. It uses filaname and path constants which the BS community version has removed since time.
  8. Mr.Raiwa I know it doesn't have it, i am building a ajax if you would like i can send you the code so you can improve the coupon code, that is if you would like.
  9. Hello Kevin, Please re-read this part of my answer: Of course, you need to install the content module and you need the BS version. Please believe me, I made this module.
  10. Hello Raiwa, thank you for getting back to me, however paypal express only work you have to go thru the full checkout meaning discount coupon can only apply in the checkout_payment, if i am in the shopping cart upon clicking paypal the code hasn't been implemented, not only that if you add another product you have to type the code again.
  11. Hello Kevin @Kevin.Dallas, It sounds pretty much that you are referring to another or older discount code version. This thread is for Discount Code BS which already does include a content module for shopping_cart.php where to enter the discount code. It works perfectly with PayPal express checkout. If your solution is for another version, please post it in the appropriate support thread. Best regards Rainer
  12. hello everyone, what comes to discount coupon: shopping_cart using paypal express don't have a place to input the coupon code, i am building a ajax so with paypal express from the shopping_cart will work also. 1. codes gets erased when i go thru the checkout again 2. code Discount Coupon ???? applied: doesn't show in shopping_cart.php ------------------------------------------------------------------ ------------------------------------------------------------------ if (!tep_session_unregister('coupon')) tep_session_register('coupon'); $coupon = tep_db_prepare_input($HTTP_POST_VARS['coupon']); if (is_array($payment_modules->modules)) { $payment_modules->pre_confirmation_check(); } if( tep_not_null( $coupon ) && is_object( $order->coupon ) ) { $order->coupon->verify_code(); if( MODULE_ORDER_TOTAL_DISCOUNT_COUPON_DEBUG != 'true' ) { if( !$order->coupon->is_errors() ) { //if we have passed all tests (no error message), make sure we still meet free shipping requirements, if any if( $order->coupon->is_recalc_shipping() ) tep_redirect( tep_href_link( FILENAME_CHECKOUT_SHIPPING, 'error_message=' . urlencode( ENTRY_DISCOUNT_COUPON_SHIPPING_CALC_ERROR ), 'SSL' ) ); } else { if( tep_session_unregister('coupon') ) tep_session_unregister('coupon'); tep_redirect( tep_href_link( FILENAME_SHOPPING_CART1, 'error_message=' . urlencode( implode( ' ', $order->coupon->get_messages() ) ), 'SSL' ) ); } } } else { if( tep_session_unregister('coupon') ) { tep_session_unregister('coupon'); require_once( DIR_WS_CLASSES.'discount_coupon.php' ); if( discount_coupon::is_recalc_shipping() ) tep_redirect( tep_href_link( FILENAME_SHOPPING_CART1, 'error_message=' . urlencode( ENTRY_DISCOUNT_COUPON_SHIPPING_CALC_ERROR ), 'SSL' ) ); } } ----------------------------------------------------------------- <?php if( MODULE_ORDER_TOTAL_DISCOUNT_COUPON_STATUS == 'false' ) { ?> <div class="shippingcoupon container"> <div class="text-left shipsmday"><?php echo ENTRY_SHIPSAMEDAY;?></div> <div class="shipcouon"> <span><?php echo ENTRY_DISCOUNT_COUPON;?></span> <?php echo tep_draw_input_fieldclear('coupon', 'if(this.value == &#39;Enter Promo Code Here&#39;) { this.value = &#39;&#39;; }','if(this.value == &#39;Enter Promo Code Here&#39;) { this.value = &#39;&#39;; }', ''.ENTRY_COUPONS.'', $coupon); ?> <?php echo tep_draw_couponcode(IMAGE_BUTTON_APPLY, 'submit', null, 'primary', null, ''); ?> </div> <?php } ?> <br> <div class="container"> <div class="text-rights"> <?php echo tep_draw_button(IMAGE_BUTTON_CHECKOUTS, 'triangle-1-e', null, 'primary'); ?> </div> <?php $initialize_checkout_methods = $payment_modules->checkout_initialization_method(); if (!empty($initialize_checkout_methods)) { ?> <div class="text-rights"><?php echo TEXT_ALTERNATIVE_CHECKOUT_METHODS; ?></div> <?php reset($initialize_checkout_methods); while (list(, $value) = each($initialize_checkout_methods)) { ?> <p class="text-right"><?php echo $value; ?></p> <?php } } ?> ----------------------------------------------------------------html------------------------------------------------------ //// // Output COUPON function tep_draw_couponcode($title = null, $icon = null, $link = null, $priority = null, $params = null, $style = null) { static $button_counter = 1; $types = array('coupon', 'button', 'reset'); if ( !isset($params['type']) ) { $params['name'] = 'coupon'; } if ( !in_array($params['name'], $types) ) { $params['name'] = 'coupon'; } if ( ($params['name'] == 'coupon') && isset($link) ) { $params['name'] = 'button'; } if (!isset($priority)) { $priority = 'secondary'; } $button = NULL; if ( ($params['name'] == 'button') && isset($link) ) { $button .= '<a href="' . $link . '"'; if ( isset($params['newwindow']) ) { $button .= ''; } } else { $button .= '<button'; $button .= ' name="' . tep_output_string($params['name']) . '"'; } if ( isset($params['params']) ) { $button .= ' ' . $params['params']; } $button .= 'type="button" onclick="ajaxFunction()" id="couponapplyajax" class="couponapply"'; $button .= 'value="apply">'; $button .= $title; if ( ($params['name'] == 'button') && isset($link) ) { $button .= '</a>'; } else { $button .= '</button>'; } $button_counter++; return $button; } // Rewview Button function tep_draw_reviews($title = null, $icon = null, $link = null, $priority = null, $params = null, $style = null) { static $button_counter = 1; $types = array('submit', 'button', 'reset'); if ( !isset($params['type']) ) { $params['type'] = 'submit'; } if ( !in_array($params['type'], $types) ) { $params['type'] = 'submit'; } if ( ($params['type'] == 'submit') && isset($link) ) { $params['type'] = 'button'; } if (!isset($priority)) { $priority = 'secondary'; } $button = NULL; if ( ($params['type'] == 'button') && isset($link) ) { $button .= '<a href="' . $link . '"'; if ( isset($params['newwindow']) ) { $button .= ' target="_blank"'; } } else { $button .= '<button '; $button .= ' type="' . tep_output_string($params['type']) . '"'; } if ( isset($params['params']) ) { $button .= ' ' . $params['params']; } $button .= ' class="btn '; $button .= (isset($style)) ? $style : 'btn-default'; $button .= '">'; if (isset($icon) && tep_not_null($icon)) { $button .= ' <span class="' . $icon . '"></span> '; } $button .= $title; if ( ($params['type'] == 'button') && isset($link) ) { $button .= '</a>'; } else { $button .= '</button>'; } $button_counter++; return $button; }
  13. @coelroy While you did say that the desire to not use hooks is a 'preference', as others have already stated, there is no benefit to not use them, but several disadvantages to not use them (such as not being able to use existing (and possibly future) add-ons, like the Paypal app, that do use them). Plus, as I understand it, hooks are used in the core code (at least in the Community Edition). So, unless you can provide a specific reason to not use them (other than just a 'preference'), I see no reason to include the option to turn them on or off in any future version of osC. M
  14. OK, I hope this is the correct area to ask this question. I have read the thread and I am confused. I have bootstrap and need to load csv files from many vendors. Will the plugin discussed it this topic work with what I have? I have added the addon easy csv import and it's not working.
  15. It's better to link to the cdn. The chances of the cdn being down is probably less than or the same as your site being down. And it's better for performance reasons. https://getbootstrap.com/docs/4.3/getting-started/introduction/ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  16. Most definitely yes. Thanks. Wouldn't it so much easier to modify add-ons you want to use, to use hooks (if necessary) rather than modifying the base store to be hookless? Noted, that can be done yes, but on the flip side, do you think in a future version there will be an option to activate or de-activate hooks?
  17. If you want your entire store to be under SSL, you need to change all the HTTP_ entries from http: to https:. It's not just the one Jack mentioned; there are several.
  18. Yes, if the customer's browser doesn't have that file cached, it could be ugly. You can always copy the file to your site, and modify the references to it in your store to point to your local copy. Bootstrap and "hooks" are two entirely separate things. The "CE"/Frozen/Edge versions have both, the official release has neither. Unfortunately, you'll be in for a bit of code editing to either put Bootstrap into the official release (a bad idea anyway, since it still leaves you at PHP 5.4 compatibility) or removing hooks from the CE version (I'm sure that's quite a bit of effort). Wouldn't it so much easier to modify add-ons you want to use, to use hooks (if necessary) rather than modifying the base store to be hookless?
  19. Chadduck

    UPS Choice 1.8.3

    Thanks Jack I did NOT believe it was just me - BUT strange things happen within the magical world of the internet. BJ
  20. Let me see if I understand this: Link to this: https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" So what if that server or website goes down, then your site looks ugly. Am I missing something here?
  21. Thank you very much! That fixed it.
  22. Jack_mcs

    UPS Choice 1.8.3

    I've received reports from several of my clients that UPS is not working. According to this site most of the US is having problems. But according to UPS, only Iowa is affected. I checked sites that are in Canada and UPS is working for them so it is only a problem with the US, as far as I can tell.
  23. 241

    Email queuing system

    @burt what are you using for your line breaks? content-type: text/plain "\n" - move cursor to next line "\r" - move curser to beginning of the line "\n\r" - produces 2 new lines whereas "\n", "\r" and "\r\n" give single lines content-type: text/html <br> - single line break HTML <br /> - single line break XHTML HTML5 allows both but prefers <br> nl2br($str, boolean) - replace \n with <br> or <br /> boolean - true/false default true nl2br($str, true) same as nl2br($str)
  24. DAVID3733

    Request Product Reviews

    Hello We have 2.3.4.1 CE BS4 running on php 7.2 plus Just to say this contribution is working on our set up, It was not straight out of the box but any changes that were needed were available in this thread to enable it to work, using php errors log on the server to pick out the issues made it easier Probably going to use the framework for other emails we send to clients after dispatch to when have more time, we always on a previous version used a autoresponder but could not find suitable alternative to work with PHP7 Have fun David
  25. Ken_Shea

    Alternatives to PayPal

    Hi all, Any one using a online payment method similiar to PayPal ? I.E. no credit card information entered on my site and then a transfer of that information to a processor gateways. Thanks Ken
  26. Chadduck

    UPS Choice 1.8.3

    Hello everyone - Before I begin the dreaded process of troubleshooting my UPS shipping issue I wanted to ask IF I am the only one that is having issues with UPS Choice 1.8.3. Shipping has been working fine for years. I received a phone call asking IF Priority Mail was the only method of shipping that we offered on Wednesday, April 17. 2019. Of course it was not, but it was the first time anyone had told me that there was no other option. Since the module is returning this error message (see image) We are unable to obtain a rate quote for UPS shipping. Please contact the store if no other alternative is shown I do NOT believe that the module is the issue HOWEVER I am of the opinion that UPS may have finally removed the cgi server since the module has this disclaimer in step 7 ------------------------------------ Disclaimer: This revision is based on ups.php v.1.54, which employs the UPS cgi method that has been deprecated for over a year and although it appears to remain functional is no longer officially supported by UPS. The currently supported UPS API requires XML requests through a secure socket layer, for which there is not yet an osC implementation. ------------------------------------ Is anyone else having this issue? Anyone have a suggestion for a similar module for replacement? BJ
  27. To copy a product to a differnt category or the same category, i still miss in every new version some important copy stuff ๐Ÿ˜ž If a product have attributes, there dosen't get copied. So here is my suggestion for to change that: start about line 340 in catalog/admin/categories.php change this: case 'copy_to_confirm': if (isset($_POST['products_id']) && isset($_POST['categories_id'])) { $products_id = tep_db_prepare_input($_POST['products_id']); $categories_id = tep_db_prepare_input($_POST['categories_id']); if ($_POST['copy_as'] == 'link') { if ($categories_id != $current_category_id) { $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$categories_id . "'"); $check = tep_db_fetch_array($check_query); if ($check['total'] < '1') { tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categories_id . "')"); } } else { $messageStack->add_session(ERROR_CANNOT_LINK_TO_SAME_CATEGORY, 'error'); } } elseif ($_POST['copy_as'] == 'duplicate') { $product_query = tep_db_query("select products_quantity, products_model, products_image, products_price, products_date_available, products_weight, products_tax_class_id, manufacturers_id, products_gtin from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); $product = tep_db_fetch_array($product_query); tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id, products_gtin) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "', now(), " . (empty($product['products_date_available']) ? "null" : "'" . tep_db_input($product['products_date_available']) . "'") . ", '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "', '" . tep_db_input($product['products_gtin']) . "')"); $dup_products_id = tep_db_insert_id(); $description_query = tep_db_query("select language_id, products_name, products_description, products_url, products_seo_title, products_seo_description, products_seo_keywords from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_id . "'"); while ($description = tep_db_fetch_array($description_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description, products_url, products_viewed, products_seo_title, products_seo_description, products_seo_keywords) values ('" . (int)$dup_products_id . "', '" . (int)$description['language_id'] . "', '" . tep_db_input($description['products_name']) . "', '" . tep_db_input($description['products_description']) . "', '" . tep_db_input($description['products_url']) . "', '0', '" . tep_db_input($description['products_seo_title']) . "', '" . tep_db_input($description['products_seo_description']) . "', '" . tep_db_input($description['products_seo_keywords']) . "')"); } $product_images_query = tep_db_query("select image, htmlcontent, sort_order from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . (int)$products_id . "'"); while ($product_images = tep_db_fetch_array($product_images_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_IMAGES . " (products_id, image, htmlcontent, sort_order) values ('" . (int)$dup_products_id . "', '" . tep_db_input($product_images['image']) . "', '" . tep_db_input($product_images['htmlcontent']) . "', '" . tep_db_input($product_images['sort_order']) . "')"); } tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$dup_products_id . "', '" . (int)$categories_id . "')"); $products_id = $dup_products_id; } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } } tep_redirect(tep_href_link('categories.php', 'cPath=' . $categories_id . '&pID=' . $products_id)); break; to this: case 'copy_to_confirm': if (isset($_POST['products_id']) && isset($_POST['categories_id'])) { $products_id = tep_db_prepare_input($_POST['products_id']); $categories_id = tep_db_prepare_input($_POST['categories_id']); if ($_POST['copy_as'] == 'link') { if ($categories_id != $current_category_id) { $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$categories_id . "'"); $check = tep_db_fetch_array($check_query); if ($check['total'] < '1') { tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categories_id . "')"); } } else { $messageStack->add_session(ERROR_CANNOT_LINK_TO_SAME_CATEGORY, 'error'); } } elseif ($_POST['copy_as'] == 'duplicate') { $product_query = tep_db_query("select products_quantity, products_model, products_image, products_price, products_date_available, products_weight, products_tax_class_id, manufacturers_id, products_gtin from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); $product = tep_db_fetch_array($product_query); tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id, products_gtin) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "', now(), " . (empty($product['products_date_available']) ? "null" : "'" . tep_db_input($product['products_date_available']) . "'") . ", '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "', '" . tep_db_input($product['products_gtin']) . "')"); $dup_products_id = tep_db_insert_id(); //BOC by McMannehan $attributes_query = tep_db_query("select products_attributes_id, options_id, options_values_id, options_values_price, price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = " . (int)$product_id); while ($attributes = tep_db_fetch_array($attributes_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " (products_id, options_id, options_values_id, options_values_price, price_prefix) values ('" . (int)$dup_products_id . "', '" . (int)$attributes['options_id'] . "', '" . (int)$attributes['options_values_id'] . "', '" . tep_db_input($attributes['options_values_price']) . "', '" . tep_db_input($attributes['price_prefix']) . "')"); } //EOC by McMannehan $description_query = tep_db_query("select language_id, products_name, products_description, products_url, products_seo_title, products_seo_description, products_seo_keywords from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_id . "'"); while ($description = tep_db_fetch_array($description_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description, products_url, products_viewed, products_seo_title, products_seo_description, products_seo_keywords) values ('" . (int)$dup_products_id . "', '" . (int)$description['language_id'] . "', '" . tep_db_input($description['products_name']) . "', '" . tep_db_input($description['products_description']) . "', '" . tep_db_input($description['products_url']) . "', '0', '" . tep_db_input($description['products_seo_title']) . "', '" . tep_db_input($description['products_seo_description']) . "', '" . tep_db_input($description['products_seo_keywords']) . "')"); } $product_images_query = tep_db_query("select image, htmlcontent, sort_order from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . (int)$products_id . "'"); while ($product_images = tep_db_fetch_array($product_images_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_IMAGES . " (products_id, image, htmlcontent, sort_order) values ('" . (int)$dup_products_id . "', '" . tep_db_input($product_images['image']) . "', '" . tep_db_input($product_images['htmlcontent']) . "', '" . tep_db_input($product_images['sort_order']) . "')"); } tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$dup_products_id . "', '" . (int)$categories_id . "')"); $products_id = $dup_products_id; } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } } tep_redirect(tep_href_link('categories.php', 'cPath=' . $categories_id . '&pID=' . $products_id)); break; now the attributes will be copy. This changes should really be in the core code. The example code above is used from @burt Boostrap 4 version.
  1. Load more activity
×